From 771235017d5519724b8194848b9c040f747af876 Mon Sep 17 00:00:00 2001
From: neo <cossu@post.kek.jp>
Date: Fri, 19 Feb 2016 15:30:41 +0900
Subject: [PATCH 001/295] Adding smearing routines (development)

---
 lib/qcd/action/fermion/FermionOperatorImpl.h |  4 +-
 lib/qcd/action/gauge/GaugeImpl.h             |  1 -
 lib/qcd/hmc/HMC.h                            |  2 +-
 lib/qcd/hmc/HmcRunner.h                      |  6 +-
 lib/qcd/smearing/GaugeConfiguration.h        | 96 ++++++++++++++++++++
 5 files changed, 102 insertions(+), 7 deletions(-)
 create mode 100644 lib/qcd/smearing/GaugeConfiguration.h

diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 05994a39..312a8e41 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -75,7 +75,7 @@ namespace Grid {
     //
     //
     // template<class Impl>
-    // class MyOp : pubic<Impl> { 
+    // class MyOp : public<Impl> { 
     // public:
     //
     //    INHERIT_ALL_IMPL_TYPES(Impl);
@@ -110,7 +110,7 @@ namespace Grid {
     // Single flavour four spinors with colour index
     ///////
     template<class S,int Nrepresentation=Nc>
-    class WilsonImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { 
+    class WilsonImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S, Nrepresentation> > { 
     public:
 
       typedef PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > Gimpl;
diff --git a/lib/qcd/action/gauge/GaugeImpl.h b/lib/qcd/action/gauge/GaugeImpl.h
index 51a4675e..02a8017b 100644
--- a/lib/qcd/action/gauge/GaugeImpl.h
+++ b/lib/qcd/action/gauge/GaugeImpl.h
@@ -44,7 +44,6 @@ template<class Gimpl> class WilsonLoops;
     typedef typename GImpl::GaugeLinkField       GaugeLinkField;\
     typedef typename GImpl::GaugeField               GaugeField;	
 
-
     // 
     template<class S,int Nrepresentation=Nc>
     class GaugeImplTypes { 
diff --git a/lib/qcd/hmc/HMC.h b/lib/qcd/hmc/HMC.h
index 9e762832..0b87b03e 100644
--- a/lib/qcd/hmc/HMC.h
+++ b/lib/qcd/hmc/HMC.h
@@ -44,7 +44,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 namespace Grid{
   namespace QCD{
-    
+     
 
     struct HMCparameters{
 
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index 4d8bb2dd..ce92b1d2 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -47,7 +47,7 @@ public:
   GridRedBlackCartesian * UrbGrid ;
   GridRedBlackCartesian * FrbGrid ;
 
-  virtual void BuildTheAction (int argc, char **argv) = 0;
+  virtual void BuildTheAction (int argc, char **argv) = 0; // necessary?
 
   
   void Run (int argc, char  **argv){
@@ -96,7 +96,7 @@ public:
     
     GridSerialRNG    sRNG;
     GridParallelRNG  pRNG(UGrid);
-    LatticeGaugeField  U(UGrid);
+    LatticeGaugeField  U(UGrid); // change this to an extended field (smearing class)
 
     std::vector<int> SerSeed({1,2,3,4,5});
     std::vector<int> ParSeed({6,7,8,9,10});
@@ -129,7 +129,7 @@ public:
       Checkpoint.CheckpointRestore(StartTraj, U, sRNG, pRNG);
     }
 
-    HybridMonteCarlo<GaugeField,IntegratorType>  HMC(HMCpar, MDynamics,sRNG,pRNG,U);
+    HybridMonteCarlo<GaugeField,IntegratorType>  HMC(HMCpar, MDynamics,sRNG,pRNG,U); // pass the extended field
     HMC.AddObservable(&Checkpoint);
     HMC.AddObservable(&PlaqLog);
     
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
new file mode 100644
index 00000000..d040b739
--- /dev/null
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -0,0 +1,96 @@
+/*!
+  @file GaugeConfiguration.h
+
+  @brief Declares the GaugeConfiguration class
+*/
+#ifndef GAUGE_CONFIG_
+#define GAUGE_CONFIG_
+
+namespace Grid {
+  
+  namespace QCD {
+    
+    /*!
+      @brief Smeared configuration container
+      
+      It will behave like a configuration from the point of view of
+      the HMC update and integrators.
+      An "advanced configuration" object that can provide not only the 
+      data to store the gauge configuration but also operations to manipulate
+      it like smearing.
+      
+      It stores a list of smeared configurations.
+    */
+    template <class Gimpl>
+    class GaugeConfiguration {
+    public:
+      INHERIT_GIMPL_TYPES(Gimpl)
+      private:
+      const unsigned int smearingLevels;
+      Smear_Stout StoutSmearing;
+      std::vector<GaugeField> SmearedSet;
+      
+      // Member functions
+      void fill_smearedSet();
+      GaugeField AnalyticSmearedForce(const GaugeField&, 
+				      const GaugeField&) const;
+      const GaugeField& get_smeared_conf(int) const;
+      
+      void set_iLambda(GaugeField& iLambda, 
+		       GaugeField& e_iQ,
+		       const GaugeField& iQ, 
+		       const GaugeField& Sigmap,
+		       const GaugeField& U)const;
+      
+      /* Check these types (do I need to pass iQ1,2 ? )
+      void set_uw(RealD& u, RealD& w,
+		  const SUNmat& iQ1, const SUNmat& iQ2)const ;
+      void set_fj(ComplexD& f0, ComplexD& f1,
+		  CompledD& f2, const RealD& u,
+		  const RealD& w)const;
+      */
+      
+      RealD func_xi0(RealD w)const;
+      RealD func_xi1(RealD w)const; 
+      
+    public:
+      GaugeField* ThinLinks;      /*!< @brief Pointer to the thin 
+				    links configuration */
+      
+      /*! @brief Standard constructor */
+      GaugeConfiguration(GridCartesian * UGrid,
+			 unsigned int Nsmear, 
+			 Smear_Stout& Stout):
+	smearingLevels(Nsmear),
+	StoutSmearing(Stout),
+	ThinLinks(new GaugeField){
+	for (unsigned int i=0; i< smearingLevels; ++i)
+	  SmearedSet.push_back(*(new GaugeField(UGrid)));
+      }
+      
+      /*! For just thin links */
+      GaugeConfiguration(GridCartesian * UGrid):
+	smearingLevels(0),
+	StoutSmearing(),
+	SmearedSet(0),
+	ThinLinks(new GaugeField(UGrid)){}
+      
+      void set_GaugeField(){ fill_smearedSet(); }
+      void smeared_force(GaugeField&) const;
+      GaugeField& get_current_conf() const;
+      GaugeField& select_conf(bool smeared) const {
+	if (smeared){
+	  if (smearingLevels) return get_current_conf();
+	  else           	  return ThinLinks;
+	}
+	else return ThinLinks;
+      }
+      
+    };
+    
+    
+  }
+
+}
+
+#endif

From c1b1b89d17e8fb06bb81e61691356071bf2afe77 Mon Sep 17 00:00:00 2001
From: neo <cossu@post.kek.jp>
Date: Fri, 19 Feb 2016 17:15:27 +0900
Subject: [PATCH 002/295] More on smearing routines, writing APEsmear (dev)

---
 lib/qcd/smearing/APEsmearing.h        | 150 ++++++++++++++++++++++++++
 lib/qcd/smearing/BaseSmearing.h       |  17 +++
 lib/qcd/smearing/GaugeConfiguration.h |  16 ++-
 lib/qcd/smearing/StoutSmearing.h      |  32 ++++++
 lib/qcd/utils/WilsonLoops.h           |  83 ++++++++++++++
 5 files changed, 294 insertions(+), 4 deletions(-)
 create mode 100644 lib/qcd/smearing/APEsmearing.h
 create mode 100644 lib/qcd/smearing/BaseSmearing.h
 create mode 100644 lib/qcd/smearing/StoutSmearing.h

diff --git a/lib/qcd/smearing/APEsmearing.h b/lib/qcd/smearing/APEsmearing.h
new file mode 100644
index 00000000..e2a52b56
--- /dev/null
+++ b/lib/qcd/smearing/APEsmearing.h
@@ -0,0 +1,150 @@
+/*!
+  @brief Declaration of Smear_APE class for APE smearing
+*/
+
+#ifndef APE_SMEAR_
+#define APE_SMEAR_
+
+/*!  @brief APE type smearing of link variables. */
+
+template <class Gimpl> 
+class Smear_APE: public Smear<Gimpl>{
+private:
+  const std::vector<double> rho;/*!< Array of weights */
+
+  //This member must be private - we do not want to control from outside 
+  std::vector<double> set_rho(const double)const {
+    std::vector<double> res;
+    
+    for(int mn=0; mn<Nd*Nd; ++mn) res.push_back(common_rho);
+    for(int mu=0; mu<Nd; ++mu) res[mu + mu*Nd] = 0.0;
+    return res;
+  }
+
+public:
+  INHERIT_GIMPL_TYPES(Gimpl)
+
+  Smear_APE(const std::vector<double>& rho_):rho(rho_){}
+  Smear_APE(double rho_val):rho(set_rho(rho_val)){}
+  Smear_APE():rho(set_rho(1.0)){}
+  ~Smear_APE(){}
+
+  void smear(GaugeField& u_smr, const GaugeField& U)const{
+    double d_rho;
+    GaugeLinkField Cup, tmp_stpl;
+    WilsonLoops<Gimpl> WL;
+    u_smr = zero;
+
+    for(int mu=0; mu<Nd; ++mu){
+      Cup = zero;
+      for(int nu=0; nu<Nd; ++nu){
+	d_rho = rho[mu + Nd * nu];
+	WL.Staple(tmp_stpl, U, mu, nu);
+	Cup += tmp_stpl*d_rho;
+      }
+      pokeLorentz(u_smr, Cup, mu);
+    }
+  }
+
+  void derivative(GaugeField& SigmaTerm,
+		  const GaugeField& iLambda,
+		  const GaugeField& U)const{
+
+    /*
+
+
+    WilsonLoops<Gimpl> WL;
+    GaugeLinkField staple, u_tmp, iLambda_mu, iLambda_nu;
+    GaugeLinkField U_mu, U_nu;
+    GaugeLinkField sh_field ;
+    GaugeLinkField temp_Sigma;
+
+    SU<N>::Matrix temp_mat, temp_mat2;
+    Real rho_munu, rho_numu;
+    
+    // to be completed 
+    int Nvol = CommonPrms::instance()->Nvol();
+    
+    for(int mu = 0; mu < Nd; ++mu){
+      U_mu       = PeekIndex<LorentzIndex>(      U, mu);
+      iLambda_mu = PeekIndex<LorentzIndex>(iLambda, mu);
+      
+      
+      for(int nu = 0; nu < Nd; ++nu){
+	if(nu==mu) continue;
+	U_nu       = PeekIndex<LorentzIndex>(      U, nu);
+	iLambda_nu = PeekIndex<LorentzIndex>(iLambda, nu);
+	
+	rho_munu = rho[mu + Nd * nu];
+	rho_numu = rho[nu + Nd * mu];
+	
+	WL.StapleUpper(staple, U, mu, nu);
+	
+	temp_Sigma = adj(staple)*iLambda_nu;
+	temp_Sigma *= - rho_numu;
+	//-r_numu*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)*Lambda_nu(x)
+	SigmaTerm .................
+
+	for (int site = 0; site < Nvol; ++site){
+	  temp_mat = mat_dag(staple,site) * mat(iLambda_nu,site);
+	  temp_mat *= - rho_numu;
+	  AddMat(SigmaTerm, temp_mat, site, mu);
+	}
+	sh_field = shiftField(iLambda_nu, mu, Forward());
+	
+	for (int site = 0; site < Nvol; ++site){
+	  temp_mat = mat(sh_field,site) * mat_dag(staple,site);
+	  temp_mat *= rho_numu;
+	  AddMat(SigmaTerm, temp_mat, site, mu);
+	}//r_numu*Lambda_nu(mu)*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)
+	
+	sh_field = shiftField(iLambda_mu, nu, Forward());
+	
+	for (int site = 0; site < Nvol; ++site){
+	  temp_mat = mat(U_nu,site) * mat(sh_field,site) * mat_dag(U_nu,site);
+	  temp_mat = mat_dag(staple,site) * temp_mat;
+	  temp_mat *= - rho_munu;
+	  AddMat(SigmaTerm, temp_mat, site, mu);
+	}//-r_munu*U_nu(x+mu)*Udag_mu(x+nu)*Lambda_mu(x+nu)*Udag_nu(x)
+	
+	staple = 0.0;
+	sh_field = shiftField(U_nu, mu, Forward());
+	
+	for (int site = 0; site < Nvol; ++site){
+	  temp_mat2 = mat_dag(sh_field,site) * mat_dag(U_mu,site);
+	  temp_mat = temp_mat2  * mat(iLambda_mu,site) * mat(U_nu,site);
+	  temp_mat *= - rho_munu;
+	  AddMat(staple, temp_mat, site);
+	  temp_mat = temp_mat2 * mat(iLambda_nu,site) * mat(U_nu,site);
+	  temp_mat *= rho_numu;
+	  AddMat(staple, temp_mat, site);
+	} 
+	
+	for (int site = 0; site < Nvol; ++site){
+	  temp_mat = mat_dag(U_nu,site) * mat(iLambda_nu,site);
+	  SetMat(u_tmp, temp_mat, site);
+	}
+	
+	sh_field = shiftField(u_tmp, mu, Forward()); 
+	
+	for (int site = 0; site < Nvol; ++site){
+	  temp_mat = mat(sh_field,site) * mat_dag(U_mu,site) * mat(U_nu,site);
+	  temp_mat *= - rho_numu;
+	  AddMat(staple, temp_mat, site);
+	}   
+	
+	sh_field = shiftField(staple, nu, Backward());
+	
+	AddSlice(SigmaTerm, sh_field, mu);
+      }
+    }
+
+    */
+  }
+
+
+
+
+};
+
+#endif  
diff --git a/lib/qcd/smearing/BaseSmearing.h b/lib/qcd/smearing/BaseSmearing.h
new file mode 100644
index 00000000..377bcbc9
--- /dev/null
+++ b/lib/qcd/smearing/BaseSmearing.h
@@ -0,0 +1,17 @@
+/*
+  @brief Declares base smearing class Smear
+ */
+#ifndef BASE_SMEAR_
+#define BASE_SMEAR_
+
+template <class Gimpl> 
+class Smear{
+public:
+  INHERIT_GIMPL_TYPES(Gimpl)
+
+  virtual ~Smear(){}
+  virtual void smear     (GaugeField&,const GaugeField&)const = 0;
+  virtual void derivative(GaugeField&,
+			  const GaugeField&,const GaugeField&) const = 0;
+};
+#endif
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index d040b739..5da5d8fa 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -77,11 +77,15 @@ namespace Grid {
       
       void set_GaugeField(){ fill_smearedSet(); }
       void smeared_force(GaugeField&) const;
-      GaugeField& get_current_conf() const;
-      GaugeField& select_conf(bool smeared) const {
+      GaugeField* get_SmearedU() const{ 
+	return const_cast<GaugeField*>(&(SmearedSet[smearingLevels-1]));
+      }
+
+      GaugeField* get_U(bool smeared=false) const { 
+	// get the config, thin links by default
 	if (smeared){
-	  if (smearingLevels) return get_current_conf();
-	  else           	  return ThinLinks;
+	  if (smearingLevels) return get_SmearedU();
+	  else                return ThinLinks;
 	}
 	else return ThinLinks;
       }
@@ -93,4 +97,8 @@ namespace Grid {
 
 }
 
+
+
+
+
 #endif
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
new file mode 100644
index 00000000..4b372d64
--- /dev/null
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -0,0 +1,32 @@
+/*
+  @file stoutSmear.hpp
+  @brief Declares Stout smearing class
+*/
+#ifndef STOUT_SMEAR_
+#define STOUT_SMEAR_
+
+/*!  @brief Stout smearing of link variable. */
+template <class Gimpl> 
+class Smear_Stout: public Smear<Gimpl> {
+private:
+  const std::valarray<double> d_rho;
+  const Smear* SmearBase;
+
+  double func_xi0(double w) const;
+public:
+  INHERIT_GIMPL_TYPES(Gimpl)
+  Smear_Stout(Smear* base):SmearBase(base){}
+
+  /*! Default constructor */
+  Smear_Stout():SmearBase(new Smear_APE()){}
+
+  ~Smear_Stout(){}
+
+  void smear(GaugeField&,const GaugeField&) const;
+  void BaseSmear(GaugeField&, const GaugeField&) const;
+  void derivative(GaugeField&, const GaugeField&, const GaugeField&) const;
+  void exponentiate_iQ(GaugeField&, const GaugeField&) const;
+
+};
+
+#endif  
diff --git a/lib/qcd/utils/WilsonLoops.h b/lib/qcd/utils/WilsonLoops.h
index bab6dec9..8272f1dc 100644
--- a/lib/qcd/utils/WilsonLoops.h
+++ b/lib/qcd/utils/WilsonLoops.h
@@ -171,6 +171,89 @@ public:
     }
   }
 
+  //////////////////////////////////////////////////
+  // the sum over all staples on each site in direction mu,nu
+  //////////////////////////////////////////////////
+  static void Staple(GaugeMat &staple,const GaugeLorentz &Umu,int mu, in nu){
+
+    GridBase *grid = Umu._grid;
+
+    std::vector<GaugeMat> U(4,grid);
+    for(int d=0;d<Nd;d++){
+      U[d] = PeekIndex<LorentzIndex>(Umu,d);
+    }
+    staple = zero;
+    GaugeMat tmp(grid);
+
+    
+    if(nu != mu) {
+      
+      // mu
+      // ^
+      // |__>  nu
+      
+      //    __ 
+      //      |
+      //    __|
+      //
+
+	staple+=Gimpl::ShiftStaple(
+	        Gimpl::CovShiftForward (U[nu],nu, 
+		Gimpl::CovShiftBackward(U[mu],mu,
+		Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
+
+      //  __ 
+      // |   
+      // |__ 
+      //
+      //
+	staple+=Gimpl::ShiftStaple(  
+                Gimpl::CovShiftBackward(U[nu],nu,		  		  
+		Gimpl::CovShiftBackward(U[mu],mu,U[nu])),mu);
+      
+    }
+  }
+
+
+  //////////////////////////////////////////////////
+  // the sum over all staples on each site in direction mu,nu, upper part
+  //////////////////////////////////////////////////
+  static void StapleUpper(GaugeMat &staple,const GaugeLorentz &Umu,int mu, in nu){
+
+    GridBase *grid = Umu._grid;
+
+    std::vector<GaugeMat> U(4,grid);
+    for(int d=0;d<Nd;d++){
+      U[d] = PeekIndex<LorentzIndex>(Umu,d);
+    }
+    staple = zero;
+    GaugeMat tmp(grid);
+
+    
+    if(nu != mu) {
+      
+      // mu
+      // ^
+      // |__>  nu
+      
+      //    __ 
+      //      |
+      //    __|
+      //
+
+	staple+=Gimpl::ShiftStaple(
+	        Gimpl::CovShiftForward (U[nu],nu, 
+		Gimpl::CovShiftBackward(U[mu],mu,
+		Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
+
+     }
+  }
+
+
+
+
+
+
   //////////////////////////////////////////////////////
   // Similar to above for rectangle is required
   //////////////////////////////////////////////////////

From a7251f28c71b7e64d5b85aa0aa465cdeddd5cd3d Mon Sep 17 00:00:00 2001
From: Guido Cossu <gcossu.work@gmail.com>
Date: Wed, 24 Feb 2016 03:16:50 +0900
Subject: [PATCH 003/295] Stout smearing compiles (untested)

---
 configure                             |  13 +-
 lib/Make.inc                          |   4 +-
 lib/lattice/Lattice_ET.h              |  56 +-
 lib/qcd/QCD.h                         |   1 +
 lib/qcd/action/gauge/GaugeImpl.h      |   9 +
 lib/qcd/smearing/APEsmearing.h        | 228 ++++----
 lib/qcd/smearing/GaugeConfiguration.h |   6 +-
 lib/qcd/smearing/Smearing.h           |   9 +
 lib/qcd/smearing/StoutSmearing.h      | 140 ++++-
 lib/qcd/utils/WilsonLoops.h           | 790 +++++++++++++-------------
 lib/simd/Grid_vector_types.h          |   3 +
 lib/simd/Grid_vector_unops.h          |  20 +
 scripts/Make.inc                      |   4 +
 tests/Make.inc                        |  22 +-
 tests/Test_main.cc                    |   5 +
 15 files changed, 721 insertions(+), 589 deletions(-)
 create mode 100644 lib/qcd/smearing/Smearing.h
 create mode 100644 scripts/Make.inc

diff --git a/configure b/configure
index 1ab3998e..ed5915d6 100755
--- a/configure
+++ b/configure
@@ -2569,7 +2569,7 @@ test -n "$target_alias" &&
     NONENONEs,x,x, &&
   program_prefix=${target_alias}-
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2741,8 +2741,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2761,7 +2761,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3089,8 +3089,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -3149,6 +3149,7 @@ END
 fi
 
 
+
 ac_config_headers="$ac_config_headers lib/Config.h"
 
 # Check whether --enable-silent-rules was given.
diff --git a/lib/Make.inc b/lib/Make.inc
index 73d13eb5..638006fa 100644
--- a/lib/Make.inc
+++ b/lib/Make.inc
@@ -1,4 +1,4 @@
 
-HFILES=./algorithms/approx/bigfloat.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/Francis.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/SparseMatrix.h ./Algorithms.h ./AlignedAllocator.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./Cartesian.h ./communicator/Communicator_base.h ./Communicator.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./Cshift.h ./Grid.h ./Init.h ./lattice/Lattice_arith.h ./lattice/Lattice_base.h ./lattice/Lattice_comparison.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_conformable.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_ET.h ./lattice/Lattice_local.h ./lattice/Lattice_overload.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_reality.h ./lattice/Lattice_reduction.h ./lattice/Lattice_rng.h ./lattice/Lattice_trace.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./Lattice.h ./Log.h ./Old/Tensor_peek.h ./Old/Tensor_poke.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./PerfCount.h ./pugixml/pugixml.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/hmc/HMC.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/NerscCheckpointer.h ./qcd/QCD.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./serialisation/BaseIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/XmlIO.h ./simd/Avx512Asm.h ./simd/Grid_avx.h ./simd/Grid_avx512.h ./simd/Grid_empty.h ./simd/Grid_imci.h ./simd/Grid_neon.h ./simd/Grid_qpx.h ./simd/Grid_sse4.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./Simd.h ./stencil/Lebesgue.h ./Stencil.h ./tensors/Tensor_arith.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_class.h ./tensors/Tensor_determinant.h ./tensors/Tensor_exp.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_index.h ./tensors/Tensor_inner.h ./tensors/Tensor_logical.h ./tensors/Tensor_outer.h ./tensors/Tensor_reality.h ./tensors/Tensor_Ta.h ./tensors/Tensor_trace.h ./tensors/Tensor_traits.h ./tensors/Tensor_transpose.h ./tensors/Tensor_unary.h ./Tensors.h ./Threads.h ./Timer.h
+HFILES=./serialisation/MacroMagic.h ./serialisation/XmlIO.h ./serialisation/BaseIO.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/BinaryIO.h ./Log.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Stencil.h ./Lattice.h ./Tensors.h ./Communicator.h ./Cartesian.h ./Grid.h ./Simd.h ./pugixml/pugixml.h ./PerfCount.h ./Old/Tensor_poke.h ./Old/Tensor_peek.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_reality.h ./lattice/Lattice_rng.h ./lattice/Lattice_overload.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reduction.h ./lattice/Lattice_conformable.h ./lattice/Lattice_arith.h ./lattice/Lattice_unary.h ./lattice/Lattice_ET.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_trace.h ./lattice/Lattice_base.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_where.h ./Threads.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_reality.h ./tensors/Tensor_outer.h ./tensors/Tensor_unary.h ./tensors/Tensor_determinant.h ./tensors/Tensor_arith.h ./tensors/Tensor_index.h ./tensors/Tensor_trace.h ./tensors/Tensor_logical.h ./tensors/Tensor_traits.h ./tensors/Tensor_class.h ./tensors/Tensor_exp.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_arith_mac.h ./AlignedAllocator.h ./simd/Grid_qpx.h ./simd/Grid_vector_unops.h ./simd/Grid_empty.h ./simd/Grid_neon.h ./simd/Avx512Asm.h ./simd/Grid_sse4.h ./simd/Grid_imci.h ./simd/Grid_avx512.h ./simd/Grid_avx.h ./simd/Grid_vector_types.h ./Config.h ./communicator/Communicator_base.h ./Timer.h ./Init.h ./stencil/Lebesgue.h ./qcd/QCD.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./qcd/utils/SpaceTimeGrid.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./Cshift.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/Francis.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/SparseMatrix.h ./algorithms/Preconditioner.h ./algorithms/approx/Remez.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/bigfloat_double.h ./algorithms/LinearOperator.h ./Algorithms.h ./cshift/Cshift_mpi.h ./cshift/Cshift_common.h ./cshift/Cshift_none.h
 
-CCFILES=./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./Init.cc ./Log.cc ./PerfCount.cc ./pugixml/pugixml.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/hmc/HMC.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./serialisation/BinaryIO.cc ./serialisation/TextIO.cc ./serialisation/XmlIO.cc ./stencil/Lebesgue.cc ./stencil/Stencil_common.cc
+CCFILES=./serialisation/XmlIO.cc ./serialisation/BinaryIO.cc ./serialisation/TextIO.cc ./pugixml/pugixml.cc ./Init.cc ./Log.cc ./stencil/Lebesgue.cc ./stencil/Stencil_common.cc ./qcd/utils/SpaceTimeGrid.cc ./qcd/spin/Dirac.cc ./qcd/hmc/HMC.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Zolotarev.cc ./algorithms/approx/Remez.cc ./PerfCount.cc
diff --git a/lib/lattice/Lattice_ET.h b/lib/lattice/Lattice_ET.h
index 7644f9da..742c4537 100644
--- a/lib/lattice/Lattice_ET.h
+++ b/lib/lattice/Lattice_ET.h
@@ -195,31 +195,34 @@ inline void CBFromExpression( int &cb,const LatticeTrinaryExpression<Op,T1,T2,T3
 // Unary operators and funcs
 ////////////////////////////////////////////
 #define GridUnopClass(name,ret)\
-template <class arg> struct name\
-{\
-  static auto inline func(const arg a)-> decltype(ret) { return ret; } \
-};
-
-GridUnopClass(UnarySub,-a);
-GridUnopClass(UnaryNot,Not(a));
-GridUnopClass(UnaryAdj,adj(a));
-GridUnopClass(UnaryConj,conjugate(a));
-GridUnopClass(UnaryTrace,trace(a));
-GridUnopClass(UnaryTranspose,transpose(a));
-GridUnopClass(UnaryTa,Ta(a));
-GridUnopClass(UnaryProjectOnGroup,ProjectOnGroup(a));
-GridUnopClass(UnaryReal,real(a));
-GridUnopClass(UnaryImag,imag(a));
-GridUnopClass(UnaryToReal,toReal(a));
-GridUnopClass(UnaryToComplex,toComplex(a));
-GridUnopClass(UnaryAbs,abs(a));
-GridUnopClass(UnarySqrt,sqrt(a));
-GridUnopClass(UnaryRsqrt,rsqrt(a));
-GridUnopClass(UnarySin,sin(a));
-GridUnopClass(UnaryCos,cos(a));
-GridUnopClass(UnaryLog,log(a));
-GridUnopClass(UnaryExp,exp(a));
-
+  template <class arg> struct name		\
+    {								       \
+      static auto inline func(const arg a)-> decltype(ret) { return ret; } \
+    };
+ 
+ GridUnopClass(UnarySub,-a);
+ GridUnopClass(UnaryNot,Not(a));
+ GridUnopClass(UnaryAdj,adj(a));
+ GridUnopClass(UnaryConj,conjugate(a));
+ GridUnopClass(UnaryTrace,trace(a));
+ GridUnopClass(UnaryTranspose,transpose(a));
+ GridUnopClass(UnaryTa,Ta(a));
+ GridUnopClass(UnaryProjectOnGroup,ProjectOnGroup(a));
+ GridUnopClass(UnaryReal,real(a));
+ GridUnopClass(UnaryImag,imag(a));
+ GridUnopClass(UnaryToReal,toReal(a));
+ GridUnopClass(UnaryToComplex,toComplex(a));
+ GridUnopClass(UnaryTimesI,timesI(a));
+ GridUnopClass(UnaryAbs,abs(a));
+ GridUnopClass(UnarySqrt,sqrt(a));
+ GridUnopClass(UnaryRsqrt,rsqrt(a));
+ GridUnopClass(UnarySin,sin(a));
+ GridUnopClass(UnaryCos,cos(a));
+ GridUnopClass(UnaryAsin,sin(a));
+ GridUnopClass(UnaryAcos,cos(a));
+ GridUnopClass(UnaryLog,log(a));
+ GridUnopClass(UnaryExp,exp(a));
+ 
 ////////////////////////////////////////////
 // Binary operators
 ////////////////////////////////////////////
@@ -325,11 +328,14 @@ GRID_DEF_UNOP(real,UnaryReal);
 GRID_DEF_UNOP(imag,UnaryImag);
 GRID_DEF_UNOP(toReal,UnaryToReal);
 GRID_DEF_UNOP(toComplex,UnaryToComplex);
+GRID_DEF_UNOP(timesI,UnaryTimesI);
 GRID_DEF_UNOP(abs  ,UnaryAbs); //abs overloaded in cmath C++98; DON'T do the abs-fabs-dabs-labs thing
 GRID_DEF_UNOP(sqrt ,UnarySqrt);
 GRID_DEF_UNOP(rsqrt,UnaryRsqrt);
 GRID_DEF_UNOP(sin  ,UnarySin);
 GRID_DEF_UNOP(cos  ,UnaryCos);
+GRID_DEF_UNOP(asin  ,UnaryAsin);
+GRID_DEF_UNOP(acos  ,UnaryAcos);
 GRID_DEF_UNOP(log  ,UnaryLog);
 GRID_DEF_UNOP(exp  ,UnaryExp);
 
diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index b819f69c..ffb6268a 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -462,5 +462,6 @@ namespace QCD {
 #include <qcd/hmc/integrators/Integrator_algorithm.h>
 #include <qcd/hmc/HMC.h>
 
+#include <qcd/smearing/Smearing.h>
 
 #endif
diff --git a/lib/qcd/action/gauge/GaugeImpl.h b/lib/qcd/action/gauge/GaugeImpl.h
index 02a8017b..2181ec6a 100644
--- a/lib/qcd/action/gauge/GaugeImpl.h
+++ b/lib/qcd/action/gauge/GaugeImpl.h
@@ -60,6 +60,15 @@ template<class Gimpl> class WilsonLoops;
       typedef Lattice<SiteGaugeLink>                GaugeLinkField; // bit ugly naming; polarised gauge field, lorentz... all ugly
       typedef Lattice<SiteGaugeField>                   GaugeField;
 
+    // Move this elsewhere?
+    void AddGaugeLink(GaugeField& U, GaugeLinkField& W, int mu){  // U[mu] += W 
+PARALLEL_FOR_LOOP
+      for(auto ss=0;ss<U._grid->oSites();ss++){
+	U._odata[ss]._internal[mu] = U._odata[ss]._internal[mu] + W._odata[ss]._internal;
+        }  
+    }
+    
+      
     };
 
     // Composition with smeared link, bc's etc.. probably need multiple inheritance
diff --git a/lib/qcd/smearing/APEsmearing.h b/lib/qcd/smearing/APEsmearing.h
index e2a52b56..24ac4b96 100644
--- a/lib/qcd/smearing/APEsmearing.h
+++ b/lib/qcd/smearing/APEsmearing.h
@@ -5,146 +5,120 @@
 #ifndef APE_SMEAR_
 #define APE_SMEAR_
 
-/*!  @brief APE type smearing of link variables. */
+namespace Grid {
+  namespace QCD {
 
-template <class Gimpl> 
-class Smear_APE: public Smear<Gimpl>{
-private:
-  const std::vector<double> rho;/*!< Array of weights */
 
-  //This member must be private - we do not want to control from outside 
-  std::vector<double> set_rho(const double)const {
-    std::vector<double> res;
+    /*!  @brief APE type smearing of link variables. */
+    template <class Gimpl> 
+    class Smear_APE: public Smear<Gimpl>{
+    private:
+      const std::vector<double> rho;/*!< Array of weights */
+
+      //This member must be private - we do not want to control from outside 
+      std::vector<double> set_rho(const double common_rho)const {
+	std::vector<double> res;
     
-    for(int mn=0; mn<Nd*Nd; ++mn) res.push_back(common_rho);
-    for(int mu=0; mu<Nd; ++mu) res[mu + mu*Nd] = 0.0;
-    return res;
-  }
-
-public:
-  INHERIT_GIMPL_TYPES(Gimpl)
-
-  Smear_APE(const std::vector<double>& rho_):rho(rho_){}
-  Smear_APE(double rho_val):rho(set_rho(rho_val)){}
-  Smear_APE():rho(set_rho(1.0)){}
-  ~Smear_APE(){}
-
-  void smear(GaugeField& u_smr, const GaugeField& U)const{
-    double d_rho;
-    GaugeLinkField Cup, tmp_stpl;
-    WilsonLoops<Gimpl> WL;
-    u_smr = zero;
-
-    for(int mu=0; mu<Nd; ++mu){
-      Cup = zero;
-      for(int nu=0; nu<Nd; ++nu){
-	d_rho = rho[mu + Nd * nu];
-	WL.Staple(tmp_stpl, U, mu, nu);
-	Cup += tmp_stpl*d_rho;
+	for(int mn=0; mn<Nd*Nd; ++mn) res.push_back(common_rho);
+	for(int mu=0; mu<Nd; ++mu) res[mu + mu*Nd] = 0.0;
+	return res;
       }
-      pokeLorentz(u_smr, Cup, mu);
-    }
-  }
 
-  void derivative(GaugeField& SigmaTerm,
-		  const GaugeField& iLambda,
-		  const GaugeField& U)const{
+    public:
+      // Defines the gauge field types
+      INHERIT_GIMPL_TYPES(Gimpl)
 
-    /*
+  
+      // Constructors and destructors
+      Smear_APE(const std::vector<double>& rho_):rho(rho_){}
+      Smear_APE(double rho_val):rho(set_rho(rho_val)){}
+      Smear_APE():rho(set_rho(1.0)){}
+      ~Smear_APE(){}
 
 
-    WilsonLoops<Gimpl> WL;
-    GaugeLinkField staple, u_tmp, iLambda_mu, iLambda_nu;
-    GaugeLinkField U_mu, U_nu;
-    GaugeLinkField sh_field ;
-    GaugeLinkField temp_Sigma;
+      void smear(GaugeField& u_smr, const GaugeField& U)const{
+	GridBase *grid = U._grid;
+	double d_rho;
+	GaugeLinkField Cup(grid), tmp_stpl(grid);
+	WilsonLoops<Gimpl> WL;
+	u_smr = zero; // probably unecessary
 
-    SU<N>::Matrix temp_mat, temp_mat2;
-    Real rho_munu, rho_numu;
-    
-    // to be completed 
-    int Nvol = CommonPrms::instance()->Nvol();
-    
-    for(int mu = 0; mu < Nd; ++mu){
-      U_mu       = PeekIndex<LorentzIndex>(      U, mu);
-      iLambda_mu = PeekIndex<LorentzIndex>(iLambda, mu);
-      
-      
-      for(int nu = 0; nu < Nd; ++nu){
-	if(nu==mu) continue;
-	U_nu       = PeekIndex<LorentzIndex>(      U, nu);
-	iLambda_nu = PeekIndex<LorentzIndex>(iLambda, nu);
-	
-	rho_munu = rho[mu + Nd * nu];
-	rho_numu = rho[nu + Nd * mu];
-	
-	WL.StapleUpper(staple, U, mu, nu);
-	
-	temp_Sigma = adj(staple)*iLambda_nu;
-	temp_Sigma *= - rho_numu;
-	//-r_numu*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)*Lambda_nu(x)
-	SigmaTerm .................
-
-	for (int site = 0; site < Nvol; ++site){
-	  temp_mat = mat_dag(staple,site) * mat(iLambda_nu,site);
-	  temp_mat *= - rho_numu;
-	  AddMat(SigmaTerm, temp_mat, site, mu);
+	for(int mu=0; mu<Nd; ++mu){
+	  Cup = zero;
+	  for(int nu=0; nu<Nd; ++nu){
+	    d_rho = rho[mu + Nd * nu];
+	    WL.Staple(tmp_stpl, U, mu, nu);  //nb staple conventions of IroIro and Grid differ by a dag
+	    Cup += tmp_stpl*d_rho;
+	  }
+	  pokeLorentz(u_smr, adj(Cup), mu); // u_smr[mu] = Cup^dag
 	}
-	sh_field = shiftField(iLambda_nu, mu, Forward());
-	
-	for (int site = 0; site < Nvol; ++site){
-	  temp_mat = mat(sh_field,site) * mat_dag(staple,site);
-	  temp_mat *= rho_numu;
-	  AddMat(SigmaTerm, temp_mat, site, mu);
-	}//r_numu*Lambda_nu(mu)*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)
-	
-	sh_field = shiftField(iLambda_mu, nu, Forward());
-	
-	for (int site = 0; site < Nvol; ++site){
-	  temp_mat = mat(U_nu,site) * mat(sh_field,site) * mat_dag(U_nu,site);
-	  temp_mat = mat_dag(staple,site) * temp_mat;
-	  temp_mat *= - rho_munu;
-	  AddMat(SigmaTerm, temp_mat, site, mu);
-	}//-r_munu*U_nu(x+mu)*Udag_mu(x+nu)*Lambda_mu(x+nu)*Udag_nu(x)
-	
-	staple = 0.0;
-	sh_field = shiftField(U_nu, mu, Forward());
-	
-	for (int site = 0; site < Nvol; ++site){
-	  temp_mat2 = mat_dag(sh_field,site) * mat_dag(U_mu,site);
-	  temp_mat = temp_mat2  * mat(iLambda_mu,site) * mat(U_nu,site);
-	  temp_mat *= - rho_munu;
-	  AddMat(staple, temp_mat, site);
-	  temp_mat = temp_mat2 * mat(iLambda_nu,site) * mat(U_nu,site);
-	  temp_mat *= rho_numu;
-	  AddMat(staple, temp_mat, site);
-	} 
-	
-	for (int site = 0; site < Nvol; ++site){
-	  temp_mat = mat_dag(U_nu,site) * mat(iLambda_nu,site);
-	  SetMat(u_tmp, temp_mat, site);
-	}
-	
-	sh_field = shiftField(u_tmp, mu, Forward()); 
-	
-	for (int site = 0; site < Nvol; ++site){
-	  temp_mat = mat(sh_field,site) * mat_dag(U_mu,site) * mat(U_nu,site);
-	  temp_mat *= - rho_numu;
-	  AddMat(staple, temp_mat, site);
-	}   
-	
-	sh_field = shiftField(staple, nu, Backward());
-	
-	AddSlice(SigmaTerm, sh_field, mu);
       }
-    }
 
-    */
-  }
+      void derivative(GaugeField& SigmaTerm,
+		      const GaugeField& iLambda,
+		      const GaugeField& U)const{
+    
+	// Reference 
+	// Morningstar, Peardon, Phys.Rev.D69,054501(2004)
+	// Equation 75
+
+    	GridBase *grid = U._grid;
+	int vol = U._grid->gSites();
+	
+	WilsonLoops<Gimpl> WL;
+	GaugeLinkField staple(grid), u_tmp(grid), iLambda_mu(grid), iLambda_nu(grid);
+	GaugeLinkField U_mu(grid), U_nu(grid), sh_field(grid), temp_Sigma(grid);
+	Real rho_munu, rho_numu;
+    
+	for(int mu = 0; mu < Nd; ++mu){
+	  U_mu       = PeekIndex<LorentzIndex>(      U, mu);
+	  iLambda_mu = PeekIndex<LorentzIndex>(iLambda, mu);
+      
+	  for(int nu = 0; nu < Nd; ++nu){
+	    if(nu==mu) continue;
+	    U_nu       = PeekIndex<LorentzIndex>(      U, nu);
+	    iLambda_nu = PeekIndex<LorentzIndex>(iLambda, nu);
+	
+	    rho_munu = rho[mu + Nd * nu];
+	    rho_numu = rho[nu + Nd * mu];
+	
+	    WL.StapleUpper(staple, U, mu, nu);
+
+	    temp_Sigma = -rho_numu*staple*iLambda_nu;
+	    //-r_numu*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)*Lambda_nu(x)
+	    AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+
+	    sh_field = Cshift(iLambda_nu, mu, 1);// general also for Gparity?
+	
+	    temp_Sigma = rho_numu*sh_field*staple;
+	    //r_numu*Lambda_nu(mu)*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)
+	    AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+
+	    sh_field = Cshift(iLambda_mu, nu, 1);
+
+	    temp_Sigma = -rho_munu*staple*U_nu*sh_field*adj(U_nu);
+	    //-r_munu*U_nu(x+mu)*Udag_mu(x+nu)*Lambda_mu(x+nu)*Udag_nu(x)
+	    AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+
+	    staple = zero;
+	    sh_field = Cshift(U_nu, mu, 1);
+
+	    temp_Sigma = -rho_munu*adj(sh_field)*adj(U_mu)*iLambda_mu*U_nu;
+	    temp_Sigma += rho_numu*adj(sh_field)*adj(U_mu)*iLambda_nu*U_nu;
+
+	    u_tmp = adj(U_nu)*iLambda_nu;
+	    sh_field = Cshift(u_tmp, mu, 1);
+	    temp_Sigma += -rho_numu*sh_field*adj(U_mu)*U_nu;
+	    sh_field = Cshift(temp_Sigma, nu, -1);
+	    AddGaugeLink(SigmaTerm, sh_field, mu);
+	    
+	  }
+	}
+      }
+    };
 
 
 
-
-};
-
+  }// namespace QCD
+}//namespace Grid
 #endif  
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index 5da5d8fa..f38af279 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -22,7 +22,7 @@ namespace Grid {
       It stores a list of smeared configurations.
     */
     template <class Gimpl>
-    class GaugeConfiguration {
+    class SmearedConfiguration {
     public:
       INHERIT_GIMPL_TYPES(Gimpl)
       private:
@@ -58,7 +58,7 @@ namespace Grid {
 				    links configuration */
       
       /*! @brief Standard constructor */
-      GaugeConfiguration(GridCartesian * UGrid,
+      SmearedConfiguration(GridCartesian * UGrid,
 			 unsigned int Nsmear, 
 			 Smear_Stout& Stout):
 	smearingLevels(Nsmear),
@@ -69,7 +69,7 @@ namespace Grid {
       }
       
       /*! For just thin links */
-      GaugeConfiguration(GridCartesian * UGrid):
+      SmearedConfiguration(GridCartesian * UGrid):
 	smearingLevels(0),
 	StoutSmearing(),
 	SmearedSet(0),
diff --git a/lib/qcd/smearing/Smearing.h b/lib/qcd/smearing/Smearing.h
new file mode 100644
index 00000000..76d7d935
--- /dev/null
+++ b/lib/qcd/smearing/Smearing.h
@@ -0,0 +1,9 @@
+#ifndef GRID_QCD_SMEARING_H
+#define GRID_QCD_SMEARING_H
+
+#include <qcd/smearing/BaseSmearing.h>
+#include <qcd/smearing/APEsmearing.h>
+#include <qcd/smearing/StoutSmearing.h>
+
+
+#endif
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index 4b372d64..a9faed23 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -5,28 +5,132 @@
 #ifndef STOUT_SMEAR_
 #define STOUT_SMEAR_
 
-/*!  @brief Stout smearing of link variable. */
-template <class Gimpl> 
-class Smear_Stout: public Smear<Gimpl> {
-private:
-  const std::valarray<double> d_rho;
-  const Smear* SmearBase;
+namespace Grid {
+  namespace QCD {
 
-  double func_xi0(double w) const;
-public:
-  INHERIT_GIMPL_TYPES(Gimpl)
-  Smear_Stout(Smear* base):SmearBase(base){}
+    /*!  @brief Stout smearing of link variable. */
+    template <class Gimpl> 
+    class Smear_Stout: public Smear<Gimpl> {
+    private:
+      const std::vector<double> d_rho;
+      const Smear < Gimpl > * SmearBase;
+      
+      LatticeReal func_xi0(LatticeReal w) const{
+	// Define a function to do the check
+	//if( w < 1e-4 ) std::cout << GridLogWarning << "[Smear_stout] w too small: "<< w <<"\n";
+	return  sin(w)/w;
+      }
+      
+    public:
+      INHERIT_GIMPL_TYPES(Gimpl)
+      
+      Smear_Stout(Smear < Gimpl >* base):SmearBase(base){}
+      
+      /*! Default constructor */
+      Smear_Stout():SmearBase(new Smear_APE < Gimpl > ()){}
+      
+      ~Smear_Stout(){}
+      
+      void smear(GaugeField& u_smr,const GaugeField& U) const{
+	long double timing;
+	
+	GaugeField u_tmp1, q_mu;
+	
+	std::cout<< GridLogDebug << "Stout smearing started\n";
+	
+	//Smear the configurations
+	SmearBase->smear(u_tmp1, U);
+	
+	q_mu = Ta(u_tmp1*adj(u_tmp1)); // q_mu = Ta(Omega_mu)
+	
+	exponentiate_iQ(u_tmp1, q_mu);
 
-  /*! Default constructor */
-  Smear_Stout():SmearBase(new Smear_APE()){}
+	u_smr = u_tmp1*U;
+	
+	std::cout<< GridLogDebug << "Stout smearing completed\n";
+      }
+      void derivative(GaugeField& SigmaTerm,
+		      const GaugeField& iLambda,
+		      const GaugeField& Gauge) const{
+	SmearBase->derivative(SigmaTerm, iLambda, Gauge);
+      }
+      
+      
+      void BaseSmear(GaugeField& C,
+		     const GaugeField& U) const{
+	SmearBase->smear(C, U);
+      }
+      
+      void exponentiate_iQ(GaugeField& e_iQ,
+			   const GaugeField& iQ) const{
+	// Put this outside 
+	// only valid for SU(3) matrices
 
-  ~Smear_Stout(){}
+	GridBase *grid = iQ._grid;
+	Real one_over_three = 1.0/3.0;
+	Real one_over_two = 1.0/2.0;
 
-  void smear(GaugeField&,const GaugeField&) const;
-  void BaseSmear(GaugeField&, const GaugeField&) const;
-  void derivative(GaugeField&, const GaugeField&, const GaugeField&) const;
-  void exponentiate_iQ(GaugeField&, const GaugeField&) const;
+	GaugeField unity;
+	GaugeLinkField Umu(iQ._grid);
+	Umu=1.0;
+	for(int mu=0;mu<Nd;mu++){
+	  pokeLorentz(unity,Umu,mu);
+	}
 
-};
+	
+	GaugeField iQ2, iQ3;
+	LatticeReal c0(grid), c1(grid), c0max(grid), u_val(grid), tmp(grid);
+	LatticeReal w(grid), theta(grid), xi0(grid), u2(grid), w2(grid), cosw(grid);
+	LatticeComplex fden(grid);
+	LatticeComplex f0(grid), f1(grid), f2(grid), h0(grid), h1(grid), h2(grid);
+	LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
+
+	iQ2 = iQ * iQ;
+	iQ3 = iQ * iQ2;
+
+	c0    = - imag(trace(iQ3)) * one_over_three;
+	c1    = - real(trace(iQ2)) * one_over_two;
+	tmp   = c1 * one_over_three;
+    	c0max = 2.0 * pow(tmp, 1.5);
+
+	theta = acos(c0/c0max);
+
+	u_val = sqrt(tmp) * cos( theta * one_over_three);
+	w     = sqrt(c1) * sin ( theta * one_over_three);
+	xi0   = func_xi0(w);
+	u2    = u_val * u_val;
+	w2    = w * w;
+	cosw  = cos(w);
+
+	ixi0  = timesI(toComplex(xi0));
+	emiu  = toComplex(cos(u_val)) - timesI(toComplex(u_val));
+	e2iu  = toComplex(cos(2.0*u_val)) + timesI(toComplex(2.0*u_val));
+	
+	h0    = e2iu * toComplex(u2 - w2) + emiu *( toComplex(8.0*u2*cosw) +
+						    toComplex(2.0*u_val*(3.0*u2 + w2))*ixi0);
+	
+	h1    = toComplex(2.0*u_val) * e2iu - emiu*( toComplex(2.0*u_val*cosw) -
+						     toComplex(3.0*u2-w2)*ixi0);
+	
+	h2    = e2iu - emiu * (toComplex(cosw) + toComplex(3.0*u_val)*ixi0);
+
+	
+	tmp   = 9.0*u2 - w2;
+	fden  = toComplex(pow(tmp, -1.0));
+	f0    = h0 * fden;
+	f1    = h1 * fden;
+	f2    = h2 * fden;
+
+	
+	e_iQ = f0*unity + f1 * timesMinusI(iQ) - f2 * iQ2;
+	
+	
+	
+      };
+      
+    };
+
+  }
+}
 
 #endif  
diff --git a/lib/qcd/utils/WilsonLoops.h b/lib/qcd/utils/WilsonLoops.h
index 8272f1dc..9f1d5e19 100644
--- a/lib/qcd/utils/WilsonLoops.h
+++ b/lib/qcd/utils/WilsonLoops.h
@@ -1,4 +1,4 @@
-    /*************************************************************************************
+/*************************************************************************************
 
     Grid physics library, www.github.com/paboyle/Grid 
 
@@ -26,473 +26,469 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
     See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef QCD_UTILS_WILSON_LOOPS_H
 #define QCD_UTILS_WILSON_LOOPS_H
 namespace Grid {
-namespace QCD {
-
-// Common wilson loop observables
-template<class Gimpl>
-class WilsonLoops : public Gimpl {
-public:
-  
-  INHERIT_GIMPL_TYPES(Gimpl);
-
-  typedef typename Gimpl::GaugeLinkField GaugeMat;
-  typedef typename Gimpl::GaugeField     GaugeLorentz;
-
-  //////////////////////////////////////////////////
-  // directed plaquette oriented in mu,nu plane
-  //////////////////////////////////////////////////
-  static void dirPlaquette(GaugeMat &plaq,const std::vector<GaugeMat> &U, const int mu, const int nu)
-  {
-    // Annoyingly, must use either scope resolution to find dependent base class, 
-    // or this-> ; there is no "this" in a static method. This forces explicit Gimpl scope
-    // resolution throughout the usage in this file, and rather defeats the purpose of deriving
-    // from Gimpl.
-    plaq= Gimpl::CovShiftBackward(U[mu],mu,
-	  Gimpl::CovShiftBackward(U[nu],nu,
-          Gimpl::CovShiftForward (U[mu],mu,U[nu])));
-  }
-  //////////////////////////////////////////////////
-  // trace of directed plaquette oriented in mu,nu plane
-  //////////////////////////////////////////////////
-  static void traceDirPlaquette(LatticeComplex &plaq, const std::vector<GaugeMat> &U, const int mu, const int nu)
-  {
-    GaugeMat sp(U[0]._grid);
-    dirPlaquette(sp,U,mu,nu);
-    plaq=trace(sp);
-  }
-  //////////////////////////////////////////////////
-  // sum over all planes of plaquette
-  //////////////////////////////////////////////////
-  static void sitePlaquette(LatticeComplex &Plaq,const std::vector<GaugeMat> &U)
-  {
-    LatticeComplex sitePlaq(U[0]._grid);
-    Plaq=zero;
-    for(int mu=1;mu<Nd;mu++){
-      for(int nu=0;nu<mu;nu++){
-	traceDirPlaquette(sitePlaq,U,mu,nu);
-	Plaq = Plaq + sitePlaq;
+  namespace QCD {
+    
+    // Common wilson loop observables
+    template<class Gimpl>
+      class WilsonLoops : public Gimpl {
+    public:
+      
+      INHERIT_GIMPL_TYPES(Gimpl);
+      
+      typedef typename Gimpl::GaugeLinkField GaugeMat;
+      typedef typename Gimpl::GaugeField     GaugeLorentz;
+      
+      //////////////////////////////////////////////////
+      // directed plaquette oriented in mu,nu plane
+      //////////////////////////////////////////////////
+      static void dirPlaquette(GaugeMat &plaq,const std::vector<GaugeMat> &U, const int mu, const int nu)
+      {
+	// Annoyingly, must use either scope resolution to find dependent base class, 
+	// or this-> ; there is no "this" in a static method. This forces explicit Gimpl scope
+	// resolution throughout the usage in this file, and rather defeats the purpose of deriving
+	// from Gimpl.
+	plaq= Gimpl::CovShiftBackward(U[mu],mu,
+				      Gimpl::CovShiftBackward(U[nu],nu,
+							      Gimpl::CovShiftForward (U[mu],mu,U[nu])));
       }
-    }
-  }
-  //////////////////////////////////////////////////
-  // sum over all x,y,z,t and over all planes of plaquette
-  //////////////////////////////////////////////////
-  static RealD sumPlaquette(const GaugeLorentz &Umu){
-    std::vector<GaugeMat> U(4,Umu._grid);
-
-    for(int mu=0;mu<Nd;mu++){
-      U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
-    }
-
-    LatticeComplex Plaq(Umu._grid);
-    
-    sitePlaquette(Plaq,U);
-    
-    TComplex Tp = sum(Plaq);
-    Complex p  = TensorRemove(Tp);
-    return p.real();
-  }
-  //////////////////////////////////////////////////
-  // average over all x,y,z,t and over all planes of plaquette
-  //////////////////////////////////////////////////
-  static RealD avgPlaquette(const GaugeLorentz &Umu){
-
-    RealD sumplaq = sumPlaquette(Umu);
-    
-    double vol = Umu._grid->gSites();
-    
-    double faces = (1.0*Nd*(Nd-1))/2.0;
-    
-    return sumplaq/vol/faces/Nc; // Nd , Nc dependent... FIXME
-  }
-  static RealD linkTrace(const GaugeLorentz &Umu){
-    std::vector<GaugeMat> U(4,Umu._grid);
-
-    LatticeComplex Tr(Umu._grid); Tr=zero;
-    for(int mu=0;mu<Nd;mu++){
-      U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
-      Tr = Tr+trace(U[mu]);
-    }
-    
-    TComplex Tp = sum(Tr);
-    Complex p  = TensorRemove(Tp);
-
-    double vol = Umu._grid->gSites();
-
-    return p.real()/vol/4.0/3.0;
-  };
-  //////////////////////////////////////////////////
-  // the sum over all staples on each site
-  //////////////////////////////////////////////////
-  static void Staple(GaugeMat &staple,const GaugeLorentz &Umu,int mu){
-
-    GridBase *grid = Umu._grid;
-
-    std::vector<GaugeMat> U(4,grid);
-    for(int d=0;d<Nd;d++){
-      U[d] = PeekIndex<LorentzIndex>(Umu,d);
-    }
-    staple = zero;
-    GaugeMat tmp(grid);
-
-    
-    for(int nu=0;nu<Nd;nu++){
-
-      if(nu != mu) {
-
-      // mu
-      // ^
-      // |__>  nu
-
-      //    __ 
-      //      |
-      //    __|
-      //
-
-	staple+=Gimpl::ShiftStaple(
-	        Gimpl::CovShiftForward (U[nu],nu, 
-		Gimpl::CovShiftBackward(U[mu],mu,
-		Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
-
-      //  __ 
-      // |   
-      // |__ 
-      //
-      //
-	staple+=Gimpl::ShiftStaple(  
-                Gimpl::CovShiftBackward(U[nu],nu,		  		  
-		Gimpl::CovShiftBackward(U[mu],mu,U[nu])),mu);
+      //////////////////////////////////////////////////
+      // trace of directed plaquette oriented in mu,nu plane
+      //////////////////////////////////////////////////
+      static void traceDirPlaquette(LatticeComplex &plaq, const std::vector<GaugeMat> &U, const int mu, const int nu)
+      {
+	GaugeMat sp(U[0]._grid);
+	dirPlaquette(sp,U,mu,nu);
+	plaq=trace(sp);
       }
-    }
-  }
+      //////////////////////////////////////////////////
+      // sum over all planes of plaquette
+      //////////////////////////////////////////////////
+      static void sitePlaquette(LatticeComplex &Plaq,const std::vector<GaugeMat> &U)
+      {
+	LatticeComplex sitePlaq(U[0]._grid);
+	Plaq=zero;
+	for(int mu=1;mu<Nd;mu++){
+	  for(int nu=0;nu<mu;nu++){
+	    traceDirPlaquette(sitePlaq,U,mu,nu);
+	    Plaq = Plaq + sitePlaq;
+	  }
+	}
+      }
+      //////////////////////////////////////////////////
+      // sum over all x,y,z,t and over all planes of plaquette
+      //////////////////////////////////////////////////
+      static RealD sumPlaquette(const GaugeLorentz &Umu){
+	std::vector<GaugeMat> U(4,Umu._grid);
+	
+	for(int mu=0;mu<Nd;mu++){
+	  U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
+	}
+	
+	LatticeComplex Plaq(Umu._grid);
+	
+	sitePlaquette(Plaq,U);
+	
+	TComplex Tp = sum(Plaq);
+	Complex p  = TensorRemove(Tp);
+	return p.real();
+      }
+      //////////////////////////////////////////////////
+      // average over all x,y,z,t and over all planes of plaquette
+      //////////////////////////////////////////////////
+      static RealD avgPlaquette(const GaugeLorentz &Umu){
+	
+	RealD sumplaq = sumPlaquette(Umu);
+	
+	double vol = Umu._grid->gSites();
+	
+	double faces = (1.0*Nd*(Nd-1))/2.0;
+	
+	return sumplaq/vol/faces/Nc; // Nd , Nc dependent... FIXME
+      }
+      static RealD linkTrace(const GaugeLorentz &Umu){
+	std::vector<GaugeMat> U(4,Umu._grid);
+	
+	LatticeComplex Tr(Umu._grid); Tr=zero;
+	for(int mu=0;mu<Nd;mu++){
+	  U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
+	  Tr = Tr+trace(U[mu]);
+	}
+	
+	TComplex Tp = sum(Tr);
+	Complex p  = TensorRemove(Tp);
+	
+	double vol = Umu._grid->gSites();
+	
+	return p.real()/vol/4.0/3.0;
+      };
+      //////////////////////////////////////////////////
+      // the sum over all staples on each site
+      //////////////////////////////////////////////////
+      static void Staple(GaugeMat &staple,const GaugeLorentz &Umu,int mu){
+	
+	GridBase *grid = Umu._grid;
+	
+	std::vector<GaugeMat> U(4,grid);
+	for(int d=0;d<Nd;d++){
+	  U[d] = PeekIndex<LorentzIndex>(Umu,d);
+	}
+	staple = zero;
+		
+	
+	for(int nu=0;nu<Nd;nu++){
+	  
+	  if(nu != mu) {
+	    
+	    // mu
+	    // ^
+	    // |__>  nu
+	    
+	    //    __ 
+	    //      |
+	    //    __|
+	    //
+	    
+	    staple+=Gimpl::ShiftStaple(Gimpl::CovShiftForward (U[nu],nu, 
+							       Gimpl::CovShiftBackward(U[mu],mu,
+										       Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
+	    
+	    //  __ 
+	    // |   
+	    // |__ 
+	    //
+	    //
+	    staple+=Gimpl::ShiftStaple(Gimpl::CovShiftBackward(U[nu],nu,		  		  
+							       Gimpl::CovShiftBackward(U[mu],mu,U[nu])),mu);
+	  }
+	}
+      }
+      
+      //////////////////////////////////////////////////
+      // the sum over all staples on each site in direction mu,nu
+      //////////////////////////////////////////////////
+      static void Staple(GaugeMat &staple,const GaugeLorentz &Umu,int mu, int nu){
 
-  //////////////////////////////////////////////////
-  // the sum over all staples on each site in direction mu,nu
-  //////////////////////////////////////////////////
-  static void Staple(GaugeMat &staple,const GaugeLorentz &Umu,int mu, in nu){
+	GridBase *grid = Umu._grid;
+	
+	std::vector<GaugeMat> U(4,grid);
+	for(int d=0;d<Nd;d++){
+	  U[d] = PeekIndex<LorentzIndex>(Umu,d);
+	}
+	staple = zero;
+	
+	
+	if(nu != mu) {
+	  
+	  // mu
+	  // ^
+	  // |__>  nu
+	  
+	  //    __ 
+	  //      |
+	  //    __|
+	  //
 
-    GridBase *grid = Umu._grid;
+	  staple+=Gimpl::ShiftStaple(
+				     Gimpl::CovShiftForward (U[nu],nu, 
+							     Gimpl::CovShiftBackward(U[mu],mu,
+										     Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
+
+	  //  __ 
+	  // |   
+	  // |__ 
+	  //
+	  //
+	  staple+=Gimpl::ShiftStaple(  
+				     Gimpl::CovShiftBackward(U[nu],nu,		  		  
+							     Gimpl::CovShiftBackward(U[mu],mu,U[nu])),mu);
+      
+	}
+      }
+
+
+      //////////////////////////////////////////////////
+      // the sum over all staples on each site in direction mu,nu, upper part
+      //////////////////////////////////////////////////
+      static void StapleUpper(GaugeMat &staple,const GaugeLorentz &Umu,int mu, int nu){
+
+	GridBase *grid = Umu._grid;
+
+	std::vector<GaugeMat> U(4,grid);
+	for(int d=0;d<Nd;d++){
+	  U[d] = PeekIndex<LorentzIndex>(Umu,d);
+	}
+	staple = zero;
 
-    std::vector<GaugeMat> U(4,grid);
-    for(int d=0;d<Nd;d++){
-      U[d] = PeekIndex<LorentzIndex>(Umu,d);
-    }
-    staple = zero;
-    GaugeMat tmp(grid);
 
     
-    if(nu != mu) {
+	if(nu != mu) {
       
-      // mu
-      // ^
-      // |__>  nu
+	  // mu
+	  // ^
+	  // |__>  nu
       
-      //    __ 
-      //      |
-      //    __|
-      //
+	  //    __ 
+	  //      |
+	  //    __|
+	  //
 
-	staple+=Gimpl::ShiftStaple(
-	        Gimpl::CovShiftForward (U[nu],nu, 
-		Gimpl::CovShiftBackward(U[mu],mu,
-		Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
+	  staple+=Gimpl::ShiftStaple(
+				     Gimpl::CovShiftForward (U[nu],nu, 
+							     Gimpl::CovShiftBackward(U[mu],mu,
+										     Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
 
-      //  __ 
-      // |   
-      // |__ 
-      //
-      //
-	staple+=Gimpl::ShiftStaple(  
-                Gimpl::CovShiftBackward(U[nu],nu,		  		  
-		Gimpl::CovShiftBackward(U[mu],mu,U[nu])),mu);
-      
-    }
-  }
-
-
-  //////////////////////////////////////////////////
-  // the sum over all staples on each site in direction mu,nu, upper part
-  //////////////////////////////////////////////////
-  static void StapleUpper(GaugeMat &staple,const GaugeLorentz &Umu,int mu, in nu){
-
-    GridBase *grid = Umu._grid;
-
-    std::vector<GaugeMat> U(4,grid);
-    for(int d=0;d<Nd;d++){
-      U[d] = PeekIndex<LorentzIndex>(Umu,d);
-    }
-    staple = zero;
-    GaugeMat tmp(grid);
-
-    
-    if(nu != mu) {
-      
-      // mu
-      // ^
-      // |__>  nu
-      
-      //    __ 
-      //      |
-      //    __|
-      //
-
-	staple+=Gimpl::ShiftStaple(
-	        Gimpl::CovShiftForward (U[nu],nu, 
-		Gimpl::CovShiftBackward(U[mu],mu,
-		Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
-
-     }
-  }
+	}
+      }
 
 
 
 
 
 
-  //////////////////////////////////////////////////////
-  // Similar to above for rectangle is required
-  //////////////////////////////////////////////////////
-  static void dirRectangle(GaugeMat &rect,const std::vector<GaugeMat> &U, const int mu, const int nu)
-  {
-    rect =  Gimpl::CovShiftForward(U[mu],mu,Gimpl::CovShiftForward(U[mu],mu,U[nu]))* // ->->|
-	adj(Gimpl::CovShiftForward(U[nu],nu,Gimpl::CovShiftForward(U[mu],mu,U[mu]))) ;
-    rect = rect + 
+      //////////////////////////////////////////////////////
+      // Similar to above for rectangle is required
+      //////////////////////////////////////////////////////
+      static void dirRectangle(GaugeMat &rect,const std::vector<GaugeMat> &U, const int mu, const int nu)
+      {
+	rect =  Gimpl::CovShiftForward(U[mu],mu,Gimpl::CovShiftForward(U[mu],mu,U[nu]))* // ->->|
+	  adj(Gimpl::CovShiftForward(U[nu],nu,Gimpl::CovShiftForward(U[mu],mu,U[mu]))) ;
+	rect = rect + 
           Gimpl::CovShiftForward(U[mu],mu,Gimpl::CovShiftForward(U[nu],nu,U[nu]))* // ->||
-      adj(Gimpl::CovShiftForward(U[nu],nu,Gimpl::CovShiftForward(U[nu],nu,U[mu]))) ;
-  }
-  static void traceDirRectangle(LatticeComplex &rect, const std::vector<GaugeMat> &U, const int mu, const int nu)
-  {
-    GaugeMat sp(U[0]._grid);
-    dirRectangle(sp,U,mu,nu);
-    rect=trace(sp);
-  }
-  static void siteRectangle(LatticeComplex &Rect,const std::vector<GaugeMat> &U)
-  {
-    LatticeComplex siteRect(U[0]._grid);
-    Rect=zero;
-    for(int mu=1;mu<Nd;mu++){
-      for(int nu=0;nu<mu;nu++){
-	traceDirRectangle(siteRect,U,mu,nu);
-	Rect = Rect + siteRect;
+	  adj(Gimpl::CovShiftForward(U[nu],nu,Gimpl::CovShiftForward(U[nu],nu,U[mu]))) ;
       }
-    }
-  }
-  //////////////////////////////////////////////////
-  // sum over all x,y,z,t and over all planes of plaquette
-  //////////////////////////////////////////////////
-  static RealD sumRectangle(const GaugeLorentz &Umu){
-    std::vector<GaugeMat> U(4,Umu._grid);
+      static void traceDirRectangle(LatticeComplex &rect, const std::vector<GaugeMat> &U, const int mu, const int nu)
+      {
+	GaugeMat sp(U[0]._grid);
+	dirRectangle(sp,U,mu,nu);
+	rect=trace(sp);
+      }
+      static void siteRectangle(LatticeComplex &Rect,const std::vector<GaugeMat> &U)
+      {
+	LatticeComplex siteRect(U[0]._grid);
+	Rect=zero;
+	for(int mu=1;mu<Nd;mu++){
+	  for(int nu=0;nu<mu;nu++){
+	    traceDirRectangle(siteRect,U,mu,nu);
+	    Rect = Rect + siteRect;
+	  }
+	}
+      }
+      //////////////////////////////////////////////////
+      // sum over all x,y,z,t and over all planes of plaquette
+      //////////////////////////////////////////////////
+      static RealD sumRectangle(const GaugeLorentz &Umu){
+	std::vector<GaugeMat> U(4,Umu._grid);
 
-    for(int mu=0;mu<Nd;mu++){
-      U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
-    }
+	for(int mu=0;mu<Nd;mu++){
+	  U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
+	}
 
-    LatticeComplex Rect(Umu._grid);
+	LatticeComplex Rect(Umu._grid);
     
-    siteRectangle(Rect,U);
+	siteRectangle(Rect,U);
     
-    TComplex Tp = sum(Rect);
-    Complex p  = TensorRemove(Tp);
-    return p.real();
-  }
-  //////////////////////////////////////////////////
-  // average over all x,y,z,t and over all planes of plaquette
-  //////////////////////////////////////////////////
-  static RealD avgRectangle(const GaugeLorentz &Umu){
+	TComplex Tp = sum(Rect);
+	Complex p  = TensorRemove(Tp);
+	return p.real();
+      }
+      //////////////////////////////////////////////////
+      // average over all x,y,z,t and over all planes of plaquette
+      //////////////////////////////////////////////////
+      static RealD avgRectangle(const GaugeLorentz &Umu){
 
-    RealD sumrect = sumRectangle(Umu);
+	RealD sumrect = sumRectangle(Umu);
     
-    double vol = Umu._grid->gSites();
+	double vol = Umu._grid->gSites();
     
-    double faces = (1.0*Nd*(Nd-1)); // 2 distinct orientations summed
+	double faces = (1.0*Nd*(Nd-1)); // 2 distinct orientations summed
     
-    return sumrect/vol/faces/Nc; // Nd , Nc dependent... FIXME
-  }
+	return sumrect/vol/faces/Nc; // Nd , Nc dependent... FIXME
+      }
 
-  //////////////////////////////////////////////////
-  // the sum over all staples on each site
-  //////////////////////////////////////////////////
-  static void RectStapleDouble(GaugeMat &U2,const GaugeMat & U,int mu){
-    U2 = U * Cshift(U,mu,1);
-  }
+      //////////////////////////////////////////////////
+      // the sum over all staples on each site
+      //////////////////////////////////////////////////
+      static void RectStapleDouble(GaugeMat &U2,const GaugeMat & U,int mu){
+	U2 = U * Cshift(U,mu,1);
+      }
 
-  ////////////////////////////////////////////////////////////////////////////
-  // Hop by two optimisation strategy does not work nicely with Gparity. (could do,
-  // but need to track two deep where cross boundary and apply a conjugation).
-  // Must differentiate this in Gimpl, and use Gimpl::isPeriodicGaugeField to do so .
-  ////////////////////////////////////////////////////////////////////////////
-  static void RectStapleOptimised(GaugeMat &Stap,std::vector<GaugeMat> &U2,std::vector<GaugeMat> &U,int mu){
+      ////////////////////////////////////////////////////////////////////////////
+      // Hop by two optimisation strategy does not work nicely with Gparity. (could do,
+      // but need to track two deep where cross boundary and apply a conjugation).
+      // Must differentiate this in Gimpl, and use Gimpl::isPeriodicGaugeField to do so .
+      ////////////////////////////////////////////////////////////////////////////
+      static void RectStapleOptimised(GaugeMat &Stap,std::vector<GaugeMat> &U2,std::vector<GaugeMat> &U,int mu){
 
-    Stap = zero;
+	Stap = zero;
 
-    GridBase *grid = U[0]._grid;
+	GridBase *grid = U[0]._grid;
 
-    GaugeMat Staple2x1 (grid);
-    GaugeMat tmp (grid);
+	GaugeMat Staple2x1 (grid);
+	GaugeMat tmp (grid);
 
-    for(int nu=0;nu<Nd;nu++){
-      if ( nu!=mu) {
+	for(int nu=0;nu<Nd;nu++){
+	  if ( nu!=mu) {
 
-	// Up staple    ___ ___ 
-	//             |       |
-	tmp = Cshift(adj(U[nu]),nu,-1); 
-	tmp = adj(U2[mu])*tmp;
-	tmp = Cshift(tmp,mu,-2);
+	    // Up staple    ___ ___ 
+	    //             |       |
+	    tmp = Cshift(adj(U[nu]),nu,-1); 
+	    tmp = adj(U2[mu])*tmp;
+	    tmp = Cshift(tmp,mu,-2);
 
-	Staple2x1 = Gimpl::CovShiftForward (U[nu],nu,tmp);
+	    Staple2x1 = Gimpl::CovShiftForward (U[nu],nu,tmp);
 
 
-	// Down staple
-	//             |___ ___|
-	//
-	tmp = adj(U2[mu])*U[nu];
-	Staple2x1+= Gimpl::CovShiftBackward(U[nu],nu,Cshift(tmp,mu,-2));
+	    // Down staple
+	    //             |___ ___|
+	    //
+	    tmp = adj(U2[mu])*U[nu];
+	    Staple2x1+= Gimpl::CovShiftBackward(U[nu],nu,Cshift(tmp,mu,-2));
 
 
-	//              ___ ___
-	//             |    ___|
-	//             |___ ___|
-	//
+	    //              ___ ___
+	    //             |    ___|
+	    //             |___ ___|
+	    //
 
-	Stap+= Cshift(Gimpl::CovShiftForward (U[mu],mu,Staple2x1),mu,1);
+	    Stap+= Cshift(Gimpl::CovShiftForward (U[mu],mu,Staple2x1),mu,1);
 
-	//              ___ ___
-	//             |___    |
-	//             |___ ___|
-	//
+	    //              ___ ___
+	    //             |___    |
+	    //             |___ ___|
+	    //
 
-	//	tmp= Staple2x1* Cshift(U[mu],mu,-2);
-	//	Stap+= Cshift(tmp,mu,1) ;
-	Stap+= Cshift(Staple2x1,mu,1)*Cshift(U[mu],mu,-1); ;
+	    //	tmp= Staple2x1* Cshift(U[mu],mu,-2);
+	    //	Stap+= Cshift(tmp,mu,1) ;
+	    Stap+= Cshift(Staple2x1,mu,1)*Cshift(U[mu],mu,-1); ;
 
-	//       --    
-	//      |  |              
-	//          
-	//      |  | 
+	    //       --    
+	    //      |  |              
+	    //          
+	    //      |  | 
 	
-	tmp = Cshift(adj(U2[nu]),nu,-2);
-	tmp = Gimpl::CovShiftBackward(U[mu],mu,tmp);
-	tmp = U2[nu]*Cshift(tmp,nu,2);
-	Stap+= Cshift(tmp, mu, 1);
+	    tmp = Cshift(adj(U2[nu]),nu,-2);
+	    tmp = Gimpl::CovShiftBackward(U[mu],mu,tmp);
+	    tmp = U2[nu]*Cshift(tmp,nu,2);
+	    Stap+= Cshift(tmp, mu, 1);
 
-	//      |  |              
-	//          
-	//      |  | 
-	//       -- 
+	    //      |  |              
+	    //          
+	    //      |  | 
+	    //       -- 
 	
-	tmp = Gimpl::CovShiftBackward(U[mu],mu,U2[nu]);
-	tmp = adj(U2[nu])*tmp;
-	tmp = Cshift(tmp,nu,-2);
-	Stap+=Cshift(tmp, mu, 1);
-    }}
+	    tmp = Gimpl::CovShiftBackward(U[mu],mu,U2[nu]);
+	    tmp = adj(U2[nu])*tmp;
+	    tmp = Cshift(tmp,nu,-2);
+	    Stap+=Cshift(tmp, mu, 1);
+	  }}
 
 
-  }
+      }
 
-  static void RectStaple(GaugeMat &Stap,const GaugeLorentz & Umu,int mu)
-  {
-    RectStapleUnoptimised(Stap,Umu,mu);
-  }
-  static void RectStaple(const GaugeLorentz & Umu,GaugeMat &Stap,
-			 std::vector<GaugeMat> &U2,
-			 std::vector<GaugeMat> &U, int mu)
-  {
-    if ( Gimpl::isPeriodicGaugeField() ){ 
-      RectStapleOptimised(Stap,U2,U,mu);
-    } else {
-      RectStapleUnoptimised(Stap,Umu,mu);
-    }
-  }
+      static void RectStaple(GaugeMat &Stap,const GaugeLorentz & Umu,int mu)
+      {
+	RectStapleUnoptimised(Stap,Umu,mu);
+      }
+      static void RectStaple(const GaugeLorentz & Umu,GaugeMat &Stap,
+			     std::vector<GaugeMat> &U2,
+			     std::vector<GaugeMat> &U, int mu)
+      {
+	if ( Gimpl::isPeriodicGaugeField() ){ 
+	  RectStapleOptimised(Stap,U2,U,mu);
+	} else {
+	  RectStapleUnoptimised(Stap,Umu,mu);
+	}
+      }
 
-  static void RectStapleUnoptimised(GaugeMat &Stap,const GaugeLorentz &Umu,int mu){
-    GridBase *grid = Umu._grid;
+      static void RectStapleUnoptimised(GaugeMat &Stap,const GaugeLorentz &Umu,int mu){
+	GridBase *grid = Umu._grid;
 
-    std::vector<GaugeMat> U(4,grid);
-    for(int d=0;d<Nd;d++){
-      U[d] = PeekIndex<LorentzIndex>(Umu,d);
-    }
+	std::vector<GaugeMat> U(4,grid);
+	for(int d=0;d<Nd;d++){
+	  U[d] = PeekIndex<LorentzIndex>(Umu,d);
+	}
 
-    Stap=zero;
+	Stap=zero;
 
-    for(int nu=0;nu<Nd;nu++){
-      if ( nu!=mu) {
-    //           __ ___ 
-    //          |    __ |
-    //
-    Stap+= Gimpl::ShiftStaple(
-		  Gimpl::CovShiftForward (U[mu],mu,
-		  Gimpl::CovShiftForward (U[nu],nu,
-		  Gimpl::CovShiftBackward(U[mu],mu,
-                  Gimpl::CovShiftBackward(U[mu],mu,
-		  Gimpl::CovShiftIdentityBackward(U[nu],nu))))) , mu);
+	for(int nu=0;nu<Nd;nu++){
+	  if ( nu!=mu) {
+	    //           __ ___ 
+	    //          |    __ |
+	    //
+	    Stap+= Gimpl::ShiftStaple(
+				      Gimpl::CovShiftForward (U[mu],mu,
+							      Gimpl::CovShiftForward (U[nu],nu,
+										      Gimpl::CovShiftBackward(U[mu],mu,
+													      Gimpl::CovShiftBackward(U[mu],mu,
+																      Gimpl::CovShiftIdentityBackward(U[nu],nu))))) , mu);
 
-    //              __ 
-    //          |__ __ |
+	    //              __ 
+	    //          |__ __ |
 
-    Stap+= Gimpl::ShiftStaple(
-                  Gimpl::CovShiftForward (U[mu],mu,
-		  Gimpl::CovShiftBackward(U[nu],nu,
-		  Gimpl::CovShiftBackward(U[mu],mu,
-                  Gimpl::CovShiftBackward(U[mu],mu, U[nu])))) , mu);
+	    Stap+= Gimpl::ShiftStaple(
+				      Gimpl::CovShiftForward (U[mu],mu,
+							      Gimpl::CovShiftBackward(U[nu],nu,
+										      Gimpl::CovShiftBackward(U[mu],mu,
+													      Gimpl::CovShiftBackward(U[mu],mu, U[nu])))) , mu);
 
-    //           __ 
-    //          |__ __ |
+	    //           __ 
+	    //          |__ __ |
 
-    Stap+= Gimpl::ShiftStaple(
-		  Gimpl::CovShiftBackward(U[nu],nu,
-		  Gimpl::CovShiftBackward(U[mu],mu,
-		  Gimpl::CovShiftBackward(U[mu],mu,
-		  Gimpl::CovShiftForward(U[nu],nu,U[mu])))) , mu);
+	    Stap+= Gimpl::ShiftStaple(
+				      Gimpl::CovShiftBackward(U[nu],nu,
+							      Gimpl::CovShiftBackward(U[mu],mu,
+										      Gimpl::CovShiftBackward(U[mu],mu,
+													      Gimpl::CovShiftForward(U[nu],nu,U[mu])))) , mu);
 
-    //           __ ___ 
-    //          |__    |
+	    //           __ ___ 
+	    //          |__    |
 
-    Stap+= Gimpl::ShiftStaple(
-		   Gimpl::CovShiftForward (U[nu],nu,
-	           Gimpl::CovShiftBackward(U[mu],mu,
-                   Gimpl::CovShiftBackward(U[mu],mu,
-                   Gimpl::CovShiftBackward(U[nu],nu,U[mu])))) , mu);
+	    Stap+= Gimpl::ShiftStaple(
+				      Gimpl::CovShiftForward (U[nu],nu,
+							      Gimpl::CovShiftBackward(U[mu],mu,
+										      Gimpl::CovShiftBackward(U[mu],mu,
+													      Gimpl::CovShiftBackward(U[nu],nu,U[mu])))) , mu);
 
-     //       --    
-     //      |  |              
-     //          
-     //      |  | 
+	    //       --    
+	    //      |  |              
+	    //          
+	    //      |  | 
      
-    Stap+= Gimpl::ShiftStaple(
-		   Gimpl::CovShiftForward(U[nu],nu,
-		   Gimpl::CovShiftForward(U[nu],nu,
-                   Gimpl::CovShiftBackward(U[mu],mu,
-                   Gimpl::CovShiftBackward(U[nu],nu,
-		   Gimpl::CovShiftIdentityBackward(U[nu],nu))))) , mu);
+	    Stap+= Gimpl::ShiftStaple(
+				      Gimpl::CovShiftForward(U[nu],nu,
+							     Gimpl::CovShiftForward(U[nu],nu,
+										    Gimpl::CovShiftBackward(U[mu],mu,
+													    Gimpl::CovShiftBackward(U[nu],nu,
+																    Gimpl::CovShiftIdentityBackward(U[nu],nu))))) , mu);
 
 
-     //      |  |              
-     //          
-     //      |  | 
-     //       -- 
+	    //      |  |              
+	    //          
+	    //      |  | 
+	    //       -- 
      
-    Stap+= Gimpl::ShiftStaple(
-		   Gimpl::CovShiftBackward(U[nu],nu,
-		   Gimpl::CovShiftBackward(U[nu],nu,
-                   Gimpl::CovShiftBackward(U[mu],mu,
-                   Gimpl::CovShiftForward (U[nu],nu,U[nu])))) , mu);
-    }}
-  }
+	    Stap+= Gimpl::ShiftStaple(
+				      Gimpl::CovShiftBackward(U[nu],nu,
+							      Gimpl::CovShiftBackward(U[nu],nu,
+										      Gimpl::CovShiftBackward(U[mu],mu,
+													      Gimpl::CovShiftForward (U[nu],nu,U[nu])))) , mu);
+	  }}
+      }
 
 
-};
+    };
 
 
- typedef WilsonLoops<PeriodicGimplR> ColourWilsonLoops;
- typedef WilsonLoops<PeriodicGimplR> U1WilsonLoops;
- typedef WilsonLoops<PeriodicGimplR> SU2WilsonLoops;
- typedef WilsonLoops<PeriodicGimplR> SU3WilsonLoops;
+    typedef WilsonLoops<PeriodicGimplR> ColourWilsonLoops;
+    typedef WilsonLoops<PeriodicGimplR> U1WilsonLoops;
+    typedef WilsonLoops<PeriodicGimplR> SU2WilsonLoops;
+    typedef WilsonLoops<PeriodicGimplR> SU3WilsonLoops;
 
-}}
+  }}
 
 #endif
diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index c247f15d..52836336 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -517,6 +517,9 @@ namespace Grid {
     return ret;
   }
 
+
+
+  
   ///////////////////////////////
   // Define available types
   ///////////////////////////////
diff --git a/lib/simd/Grid_vector_unops.h b/lib/simd/Grid_vector_unops.h
index dd523817..bb3c44b0 100644
--- a/lib/simd/Grid_vector_unops.h
+++ b/lib/simd/Grid_vector_unops.h
@@ -59,6 +59,18 @@ namespace Grid {
     }
   };
 
+  template<class scalar> struct AcosRealFunctor {
+    scalar operator()(const scalar &a)  const {
+      return acos(real(a));
+    }
+  };
+
+  template<class scalar> struct AsinRealFunctor {
+    scalar operator()(const scalar &a)  const {
+      return asin(real(a));
+    }
+  };
+
   template<class scalar> struct LogRealFunctor {
     scalar operator()(const scalar &a)  const {
       return log(real(a));
@@ -146,6 +158,14 @@ namespace Grid {
     return SimdApply(SinRealFunctor<S>(),r);
   }
   template < class S, class V > 
+  inline Grid_simd<S,V> acos(const Grid_simd<S,V> &r) {
+    return SimdApply(AcosRealFunctor<S>(),r);
+  }
+  template < class S, class V > 
+  inline Grid_simd<S,V> asin(const Grid_simd<S,V> &r) {
+    return SimdApply(AsinRealFunctor<S>(),r);
+  }
+  template < class S, class V > 
   inline Grid_simd<S,V> log(const Grid_simd<S,V> &r) {
     return SimdApply(LogRealFunctor<S>(),r);
   }
diff --git a/scripts/Make.inc b/scripts/Make.inc
new file mode 100644
index 00000000..e1b03d56
--- /dev/null
+++ b/scripts/Make.inc
@@ -0,0 +1,4 @@
+
+HFILES=
+
+CCFILES=
diff --git a/tests/Make.inc b/tests/Make.inc
index f7c83671..ef9681cd 100644
--- a/tests/Make.inc
+++ b/tests/Make.inc
@@ -1,13 +1,5 @@
 
-bin_PROGRAMS = Test_GaugeAction Test_RectPlaq Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cf_coarsen_support Test_cf_cr_unprec Test_cheby Test_contfrac_cg Test_contfrac_even_odd Test_contfrac_force Test_cshift Test_cshift_red_black Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_even_odd Test_dwf_force Test_dwf_fpgcr Test_dwf_gpforce Test_dwf_hdcr Test_dwf_lanczos Test_gamma Test_gp_rect_force Test_gparity Test_gpdwf_force Test_gpwilson_even_odd Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_lie_generators Test_main Test_multishift_sqrt Test_nersc_io Test_partfrac_force Test_quenched_update Test_rect_force Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio Test_rng Test_rng_fixed Test_serialisation Test_simd Test_stencil Test_synthetic_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec Test_wilson_even_odd Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi Test_wilson_tm_even_odd 
-
-
-Test_GaugeAction_SOURCES=Test_GaugeAction.cc
-Test_GaugeAction_LDADD=-lGrid
-
-
-Test_RectPlaq_SOURCES=Test_RectPlaq.cc
-Test_RectPlaq_LDADD=-lGrid
+bin_PROGRAMS = Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cf_coarsen_support Test_cf_cr_unprec Test_cheby Test_contfrac_cg Test_contfrac_even_odd Test_contfrac_force Test_cshift Test_cshift_red_black Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_even_odd Test_dwf_force Test_dwf_fpgcr Test_dwf_gpforce Test_dwf_hdcr Test_dwf_lanczos Test_gamma Test_GaugeAction Test_gparity Test_gpdwf_force Test_gp_rect_force Test_gpwilson_even_odd Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_lie_generators Test_main Test_multishift_sqrt Test_nersc_io Test_partfrac_force Test_quenched_update Test_rect_force Test_RectPlaq Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio Test_rng Test_rng_fixed Test_serialisation Test_simd Test_stencil Test_synthetic_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec Test_wilson_even_odd Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi Test_wilson_tm_even_odd 
 
 
 Test_cayley_cg_SOURCES=Test_cayley_cg.cc
@@ -102,8 +94,8 @@ Test_gamma_SOURCES=Test_gamma.cc
 Test_gamma_LDADD=-lGrid
 
 
-Test_gp_rect_force_SOURCES=Test_gp_rect_force.cc
-Test_gp_rect_force_LDADD=-lGrid
+Test_GaugeAction_SOURCES=Test_GaugeAction.cc
+Test_GaugeAction_LDADD=-lGrid
 
 
 Test_gparity_SOURCES=Test_gparity.cc
@@ -114,6 +106,10 @@ Test_gpdwf_force_SOURCES=Test_gpdwf_force.cc
 Test_gpdwf_force_LDADD=-lGrid
 
 
+Test_gp_rect_force_SOURCES=Test_gp_rect_force.cc
+Test_gp_rect_force_LDADD=-lGrid
+
+
 Test_gpwilson_even_odd_SOURCES=Test_gpwilson_even_odd.cc
 Test_gpwilson_even_odd_LDADD=-lGrid
 
@@ -190,6 +186,10 @@ Test_rect_force_SOURCES=Test_rect_force.cc
 Test_rect_force_LDADD=-lGrid
 
 
+Test_RectPlaq_SOURCES=Test_RectPlaq.cc
+Test_RectPlaq_LDADD=-lGrid
+
+
 Test_remez_SOURCES=Test_remez.cc
 Test_remez_LDADD=-lGrid
 
diff --git a/tests/Test_main.cc b/tests/Test_main.cc
index b178d1a3..7904ff21 100644
--- a/tests/Test_main.cc
+++ b/tests/Test_main.cc
@@ -607,6 +607,11 @@ int main (int argc, char ** argv)
  } // loop for omp
 
 
+
+ // Testing Smearing routine compilation
+ Smear_APE< PeriodicGimplR > APEsmearing; // periodic gauge implemetation
+ 
+ 
  std::cout<<GridLogMessage << sizeof(vComplexF) << std::endl;
  
  Grid_finalize();

From 2d8bb356e3f99a88935c22116ba567e2e0bf75a8 Mon Sep 17 00:00:00 2001
From: Guido Cossu <gcossu.work@gmail.com>
Date: Thu, 25 Feb 2016 02:43:59 +0900
Subject: [PATCH 004/295] Smearing routines compile (still untested)

---
 lib/lattice/Lattice_ET.h              |   2 +
 lib/qcd/action/gauge/GaugeImpl.h      |   2 +-
 lib/qcd/smearing/APEsmearing.h        |   8 +-
 lib/qcd/smearing/GaugeConfiguration.h | 188 ++++++++++++++++++++++----
 lib/qcd/smearing/Smearing.h           |   2 +-
 lib/qcd/smearing/StoutSmearing.h      | 127 +++++++++--------
 lib/simd/Grid_vector_unops.h          |   8 +-
 tests/Test_main.cc                    |   4 +-
 8 files changed, 249 insertions(+), 92 deletions(-)

diff --git a/lib/lattice/Lattice_ET.h b/lib/lattice/Lattice_ET.h
index 742c4537..77e0ce5d 100644
--- a/lib/lattice/Lattice_ET.h
+++ b/lib/lattice/Lattice_ET.h
@@ -213,6 +213,7 @@ inline void CBFromExpression( int &cb,const LatticeTrinaryExpression<Op,T1,T2,T3
  GridUnopClass(UnaryToReal,toReal(a));
  GridUnopClass(UnaryToComplex,toComplex(a));
  GridUnopClass(UnaryTimesI,timesI(a));
+ GridUnopClass(UnaryTimesMinusI,timesMinusI(a));
  GridUnopClass(UnaryAbs,abs(a));
  GridUnopClass(UnarySqrt,sqrt(a));
  GridUnopClass(UnaryRsqrt,rsqrt(a));
@@ -329,6 +330,7 @@ GRID_DEF_UNOP(imag,UnaryImag);
 GRID_DEF_UNOP(toReal,UnaryToReal);
 GRID_DEF_UNOP(toComplex,UnaryToComplex);
 GRID_DEF_UNOP(timesI,UnaryTimesI);
+GRID_DEF_UNOP(timesMinusI,UnaryTimesMinusI);
 GRID_DEF_UNOP(abs  ,UnaryAbs); //abs overloaded in cmath C++98; DON'T do the abs-fabs-dabs-labs thing
 GRID_DEF_UNOP(sqrt ,UnarySqrt);
 GRID_DEF_UNOP(rsqrt,UnaryRsqrt);
diff --git a/lib/qcd/action/gauge/GaugeImpl.h b/lib/qcd/action/gauge/GaugeImpl.h
index 2181ec6a..808feca2 100644
--- a/lib/qcd/action/gauge/GaugeImpl.h
+++ b/lib/qcd/action/gauge/GaugeImpl.h
@@ -61,7 +61,7 @@ template<class Gimpl> class WilsonLoops;
       typedef Lattice<SiteGaugeField>                   GaugeField;
 
     // Move this elsewhere?
-    void AddGaugeLink(GaugeField& U, GaugeLinkField& W, int mu){  // U[mu] += W 
+    static inline void AddGaugeLink(GaugeField& U, GaugeLinkField& W, int mu){  // U[mu] += W 
 PARALLEL_FOR_LOOP
       for(auto ss=0;ss<U._grid->oSites();ss++){
 	U._odata[ss]._internal[mu] = U._odata[ss]._internal[mu] + W._odata[ss]._internal;
diff --git a/lib/qcd/smearing/APEsmearing.h b/lib/qcd/smearing/APEsmearing.h
index 24ac4b96..2580d296 100644
--- a/lib/qcd/smearing/APEsmearing.h
+++ b/lib/qcd/smearing/APEsmearing.h
@@ -86,19 +86,19 @@ namespace Grid {
 
 	    temp_Sigma = -rho_numu*staple*iLambda_nu;
 	    //-r_numu*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)*Lambda_nu(x)
-	    AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+	    Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
 
 	    sh_field = Cshift(iLambda_nu, mu, 1);// general also for Gparity?
 	
 	    temp_Sigma = rho_numu*sh_field*staple;
 	    //r_numu*Lambda_nu(mu)*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)
-	    AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+	    Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
 
 	    sh_field = Cshift(iLambda_mu, nu, 1);
 
 	    temp_Sigma = -rho_munu*staple*U_nu*sh_field*adj(U_nu);
 	    //-r_munu*U_nu(x+mu)*Udag_mu(x+nu)*Lambda_mu(x+nu)*Udag_nu(x)
-	    AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+	    Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
 
 	    staple = zero;
 	    sh_field = Cshift(U_nu, mu, 1);
@@ -110,7 +110,7 @@ namespace Grid {
 	    sh_field = Cshift(u_tmp, mu, 1);
 	    temp_Sigma += -rho_numu*sh_field*adj(U_mu)*U_nu;
 	    sh_field = Cshift(temp_Sigma, nu, -1);
-	    AddGaugeLink(SigmaTerm, sh_field, mu);
+	    Gimpl::AddGaugeLink(SigmaTerm, sh_field, mu);
 	    
 	  }
 	}
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index f38af279..42baced8 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -24,34 +24,149 @@ namespace Grid {
     template <class Gimpl>
     class SmearedConfiguration {
     public:
-      INHERIT_GIMPL_TYPES(Gimpl)
-      private:
+      INHERIT_GIMPL_TYPES(Gimpl) ;
+      
+    private:
       const unsigned int smearingLevels;
-      Smear_Stout StoutSmearing;
+      Smear_Stout<Gimpl> StoutSmearing;
       std::vector<GaugeField> SmearedSet;
       
       // Member functions
-      void fill_smearedSet();
-      GaugeField AnalyticSmearedForce(const GaugeField&, 
-				      const GaugeField&) const;
-      const GaugeField& get_smeared_conf(int) const;
+      //====================================================================
+      void fill_smearedSet(){
+	GaugeField previous_u;
+	
+	std::cout<< GridLogDebug << "[SmearedConfiguration] Filling SmearedSet\n";
+	
+	previous_u = *ThinLinks;
+	for(int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl){
+	  StoutSmearing.smear(SmearedSet[smearLvl],previous_u);
+	  previous_u = SmearedSet[smearLvl];
+	}
+	
+      }
+      //====================================================================
+      GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime, 
+				      const GaugeField& GaugeK) const{
+	GridBase *grid = GaugeK._grid;
+	GaugeField C(grid), SigmaK(grid), iLambda(grid);
+	GaugeLinkField iLambda_mu(grid);
+	GaugeLinkField iQ(grid), e_iQ(grid);
+	GaugeLinkField SigmaKPrime_mu(grid);
+	GaugeLinkField GaugeKmu(grid), Cmu(grid);
+
+	StoutSmearing.BaseSmear(C, GaugeK);
+
+	for (int mu = 0; mu < Nd; mu++){
+	  Cmu            = peekLorentz(     C,mu);
+	  GaugeKmu       = peekLorentz(GaugeK,mu);
+	  SigmaKPrime_mu = peekLorentz(SigmaKPrime,mu);
+	  iQ = Ta(Cmu*adj(GaugeKmu));
+	  set_iLambda(iLambda_mu, e_iQ, iQ, SigmaKPrime_mu, GaugeKmu);
+	  pokeLorentz(SigmaK, SigmaKPrime_mu*e_iQ + adj(Cmu)*iLambda_mu, mu);
+	  pokeLorentz(iLambda, iLambda_mu, mu);
+	}
+	StoutSmearing.derivative(SigmaK, iLambda, GaugeK);
+	return SigmaK;
+      }
+      /*! @brief Returns smeared configuration at level 'Level' */
+      const GaugeField& get_smeared_conf(int Level) const{
+	return SmearedSet[Level];
+      }
       
-      void set_iLambda(GaugeField& iLambda, 
-		       GaugeField& e_iQ,
-		       const GaugeField& iQ, 
-		       const GaugeField& Sigmap,
-		       const GaugeField& U)const;
-      
-      /* Check these types (do I need to pass iQ1,2 ? )
-      void set_uw(RealD& u, RealD& w,
-		  const SUNmat& iQ1, const SUNmat& iQ2)const ;
-      void set_fj(ComplexD& f0, ComplexD& f1,
-		  CompledD& f2, const RealD& u,
-		  const RealD& w)const;
-      */
-      
-      RealD func_xi0(RealD w)const;
-      RealD func_xi1(RealD w)const; 
+      void set_iLambda(GaugeLinkField& iLambda, 
+		       GaugeLinkField& e_iQ,
+		       const GaugeLinkField& iQ, 
+		       const GaugeLinkField& Sigmap,
+		       const GaugeLinkField& GaugeK)const{
+	GridBase *grid = iQ._grid;
+	GaugeLinkField iQ2(grid), iQ3(grid), B1(grid), B2(grid), USigmap(grid);
+	GaugeLinkField unity(grid);
+	unity=1.0;
+	
+	LatticeReal u(grid), w(grid);
+	LatticeComplex f0(grid), f1(grid), f2(grid);
+	LatticeReal xi0(grid), xi1(grid), fden(grid), tmp(grid);
+	LatticeReal u2(grid), w2(grid), cosw(grid);
+	LatticeComplex emiu(grid), e2iu(grid), qt(grid);
+	LatticeComplex r01(grid), r11(grid), r21(grid), r02(grid), r12(grid);
+	LatticeComplex r22(grid), tr1(grid), tr2(grid);
+	LatticeComplex b10(grid), b11(grid), b12(grid), b20(grid), b21(grid), b22(grid);
+	LatticeReal unitReal(grid);
+
+	unitReal = 1.0;
+	
+	// Exponential
+	iQ2 = iQ * iQ;
+	iQ3 = iQ * iQ2;
+	StoutSmearing.set_uw(u,w,iQ2,iQ3);
+	StoutSmearing.set_fj(f0,f1,f2,u,w);
+	e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
+
+	// Getting B1, B2, Gamma and Lambda
+	xi0 = StoutSmearing.func_xi0(w);
+	xi1 = StoutSmearing.func_xi1(w);
+	u2 = u * u;
+	w2 = w * w;
+	cosw = cos(w);
+	
+	emiu = toComplex(cos(u)) - timesI(toComplex(u));
+	e2iu = toComplex(cos(2.0*u)) + timesI(toComplex(2.0*u));
+
+	r01 = (toComplex(2.0*u) + timesI(toComplex(2.0*(u2-w2)))) * e2iu
+	  + emiu * (toComplex(16.0*u*cosw + 2.0*u*(3.0*u2+w2)*xi0) +
+		    timesI(toComplex(-8.0*u2*cosw + 2.0*(9.0*u2+w2)*xi0)));
+	
+	r11 = (toComplex(2.0*unitReal) + timesI(toComplex(4.0*u)))* e2iu
+	  + emiu * (toComplex(-2.0*cosw + (3.0*u2-w2)*xi0) +
+		    timesI(toComplex(2.0*u*cosw + 6.0*u*xi0)));
+
+	r21 = timesI(toComplex(2.0*unitReal)) * e2iu
+	  + emiu * (toComplex(-3.0*u*xi0) + timesI(toComplex(cosw - 3.0*xi0)));
+
+	
+	r02 = -2.0 * e2iu + emiu * (toComplex(-8.0*u2*xi0) +
+				    timesI(toComplex(2.0*u*(cosw + xi0 + 3.0*u2*xi1))));
+
+	r12 = emiu * (toComplex(2.0*u*xi0) + timesI(toComplex(-cosw - xi0 + 3.0*u2*xi1)));
+
+	r22 = emiu * (toComplex(xi0) - timesI(toComplex(3.0*u*xi1)));
+
+	tmp = (2.0*(9.0*u2-w2)*(9.0*u2-w2));
+	fden = toComplex(pow(tmp, -1.0));  // 1/tmp
+
+	b10 = toComplex(2.0*u) * r01 + toComplex(3.0*u2 - w2)*r02 - toComplex(30.0*u2 + 2.0*w2)*f0;
+	b11 = toComplex(2.0*u) * r11 + toComplex(3.0*u2 - w2)*r12 - toComplex(30.0*u2 + 2.0*w2)*f1;
+	b12 = toComplex(2.0*u) * r21 + toComplex(3.0*u2 - w2)*r22 - toComplex(30.0*u2 + 2.0*w2)*f2;
+
+	b20 = r01 - toComplex(3.0*u)*r02 - toComplex(24.0*u)*f0;
+	b21 = r11 - toComplex(3.0*u)*r12 - toComplex(24.0*u)*f1;
+	b22 = r21 - toComplex(3.0*u)*r22 - toComplex(24.0*u)*f2;
+
+	b10 *= fden;
+	b11 *= fden;
+	b12 *= fden;
+	b20 *= fden;
+	b21 *= fden;
+	b22 *= fden;
+	
+	B1 = b10*unity + timesMinusI(b11) * iQ - b12 * iQ2;
+	B2 = b20*unity + timesMinusI(b21) * iQ - b22 * iQ2;
+	USigmap = GaugeK * Sigmap;
+
+	tr1 = trace(USigmap*B1);
+	tr2 = trace(USigmap*B2);
+
+	GaugeLinkField QUS = timesMinusI(iQ) * USigmap;
+	GaugeLinkField USQ = USigmap * timesMinusI(iQ);
+
+	GaugeLinkField iGamma = tr1 * timesMinusI(iQ) - tr2 * iQ2 +
+	  f1 * USigmap + f2 * QUS + f2 * USQ;
+
+	iLambda = Ta(iGamma);
+	
+		
+      }
       
     public:
       GaugeField* ThinLinks;      /*!< @brief Pointer to the thin 
@@ -59,11 +174,11 @@ namespace Grid {
       
       /*! @brief Standard constructor */
       SmearedConfiguration(GridCartesian * UGrid,
-			 unsigned int Nsmear, 
-			 Smear_Stout& Stout):
+			   unsigned int Nsmear, 
+			   Smear_Stout<Gimpl>& Stout):
 	smearingLevels(Nsmear),
 	StoutSmearing(Stout),
-	ThinLinks(new GaugeField){
+	ThinLinks(new GaugeField(UGrid)){
 	for (unsigned int i=0; i< smearingLevels; ++i)
 	  SmearedSet.push_back(*(new GaugeField(UGrid)));
       }
@@ -76,7 +191,26 @@ namespace Grid {
 	ThinLinks(new GaugeField(UGrid)){}
       
       void set_GaugeField(){ fill_smearedSet(); }
-      void smeared_force(GaugeField&) const;
+      void smeared_force(GaugeField& SigmaTilde) const{
+	GaugeField force = SigmaTilde;//actually = U*SigmaTilde, check this for Grid
+	GaugeLinkField tmp_mu(SigmaTilde._grid);
+	
+	for (int mu = 0; mu < Nd; mu++){
+	  tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
+	  pokeLorentz(force, tmp_mu, mu);
+	}
+	for(int ismr = smearingLevels - 1; ismr > 0; --ismr)
+	  force = AnalyticSmearedForce(force,get_smeared_conf(ismr-1));
+
+	force = AnalyticSmearedForce(force,*ThinLinks);
+
+	for (int mu = 0; mu < Nd; mu++){
+	  tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
+	  pokeLorentz(SigmaTilde, tmp_mu, mu);
+	}
+      }
+
+
       GaugeField* get_SmearedU() const{ 
 	return const_cast<GaugeField*>(&(SmearedSet[smearingLevels-1]));
       }
diff --git a/lib/qcd/smearing/Smearing.h b/lib/qcd/smearing/Smearing.h
index 76d7d935..89842c80 100644
--- a/lib/qcd/smearing/Smearing.h
+++ b/lib/qcd/smearing/Smearing.h
@@ -4,6 +4,6 @@
 #include <qcd/smearing/BaseSmearing.h>
 #include <qcd/smearing/APEsmearing.h>
 #include <qcd/smearing/StoutSmearing.h>
-
+#include <qcd/smearing/GaugeConfiguration.h>
 
 #endif
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index a9faed23..3538417a 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -15,11 +15,7 @@ namespace Grid {
       const std::vector<double> d_rho;
       const Smear < Gimpl > * SmearBase;
       
-      LatticeReal func_xi0(LatticeReal w) const{
-	// Define a function to do the check
-	//if( w < 1e-4 ) std::cout << GridLogWarning << "[Smear_stout] w too small: "<< w <<"\n";
-	return  sin(w)/w;
-      }
+
       
     public:
       INHERIT_GIMPL_TYPES(Gimpl)
@@ -32,20 +28,20 @@ namespace Grid {
       ~Smear_Stout(){}
       
       void smear(GaugeField& u_smr,const GaugeField& U) const{
-	long double timing;
-	
-	GaugeField u_tmp1, q_mu;
+	GaugeField C(U._grid);
+	GaugeLinkField tmp(U._grid), q_mu(U._grid), Umu(U._grid);
 	
 	std::cout<< GridLogDebug << "Stout smearing started\n";
 	
 	//Smear the configurations
-	SmearBase->smear(u_tmp1, U);
-	
-	q_mu = Ta(u_tmp1*adj(u_tmp1)); // q_mu = Ta(Omega_mu)
-	
-	exponentiate_iQ(u_tmp1, q_mu);
-
-	u_smr = u_tmp1*U;
+	SmearBase->smear(C, U);
+	for (int mu = 0; mu<Nd; mu++){
+	  tmp = peekLorentz(C,mu);
+	  Umu = peekLorentz(U,mu);
+	  q_mu = Ta(tmp * adj(Umu)); // q_mu = Ta(Omega_mu)
+	  exponentiate_iQ(tmp, q_mu);  
+	  pokeLorentz(u_smr, tmp*Umu, mu);// u_smr = exp(iQ_mu)*U_mu
+	}
 	
 	std::cout<< GridLogDebug << "Stout smearing completed\n";
       }
@@ -61,72 +57,95 @@ namespace Grid {
 	SmearBase->smear(C, U);
       }
       
-      void exponentiate_iQ(GaugeField& e_iQ,
-			   const GaugeField& iQ) const{
+      void exponentiate_iQ(GaugeLinkField& e_iQ,
+			   const GaugeLinkField& iQ) const{
 	// Put this outside 
 	// only valid for SU(3) matrices
 
+	// only one Lorentz direction at a time 
+
 	GridBase *grid = iQ._grid;
-	Real one_over_three = 1.0/3.0;
-	Real one_over_two = 1.0/2.0;
+	GaugeLinkField unity(grid);
+	unity=1.0;
 
-	GaugeField unity;
-	GaugeLinkField Umu(iQ._grid);
-	Umu=1.0;
-	for(int mu=0;mu<Nd;mu++){
-	  pokeLorentz(unity,Umu,mu);
-	}
-
-	
-	GaugeField iQ2, iQ3;
-	LatticeReal c0(grid), c1(grid), c0max(grid), u_val(grid), tmp(grid);
-	LatticeReal w(grid), theta(grid), xi0(grid), u2(grid), w2(grid), cosw(grid);
-	LatticeComplex fden(grid);
-	LatticeComplex f0(grid), f1(grid), f2(grid), h0(grid), h1(grid), h2(grid);
-	LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
+	GaugeLinkField iQ2(grid), iQ3(grid);
+	LatticeReal u(grid), w(grid);
+	LatticeComplex f0(grid), f1(grid), f2(grid);
 
 	iQ2 = iQ * iQ;
 	iQ3 = iQ * iQ2;
 
-	c0    = - imag(trace(iQ3)) * one_over_three;
-	c1    = - real(trace(iQ2)) * one_over_two;
+	set_uw(u, w, iQ2, iQ3);
+	set_fj(f0, f1, f2, u, w);
+	e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
+      };
+
+
+      void set_uw(LatticeReal& u, LatticeReal& w,
+		  GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
+	Real one_over_three = 1.0/3.0;
+	Real one_over_two = 1.0/2.0;
+
+	GridBase *grid = u._grid;
+	LatticeReal c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
+	
+	
+	c0    = - toReal(imag(trace(iQ3))) * one_over_three;
+	c1    = - toReal(real(trace(iQ2))) * one_over_two;
 	tmp   = c1 * one_over_three;
     	c0max = 2.0 * pow(tmp, 1.5);
-
+	
 	theta = acos(c0/c0max);
+	u = sqrt(tmp) * cos( theta * one_over_three);
+	w = sqrt(c1) * sin ( theta * one_over_three);
+      }
 
-	u_val = sqrt(tmp) * cos( theta * one_over_three);
-	w     = sqrt(c1) * sin ( theta * one_over_three);
+      void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
+		  const LatticeReal& u, const LatticeReal& w) const{
+
+	GridBase *grid = u._grid;
+	LatticeReal xi0(grid), u2(grid), w2(grid), cosw(grid), tmp(grid);
+	LatticeComplex fden(grid);
+	LatticeComplex h0(grid), h1(grid), h2(grid);
+	LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
+	
 	xi0   = func_xi0(w);
-	u2    = u_val * u_val;
+	u2    = u * u;
 	w2    = w * w;
 	cosw  = cos(w);
-
+	
 	ixi0  = timesI(toComplex(xi0));
-	emiu  = toComplex(cos(u_val)) - timesI(toComplex(u_val));
-	e2iu  = toComplex(cos(2.0*u_val)) + timesI(toComplex(2.0*u_val));
+	emiu  = toComplex(cos(u)) - timesI(toComplex(u));
+	e2iu  = toComplex(cos(2.0*u)) + timesI(toComplex(2.0*u));
 	
 	h0    = e2iu * toComplex(u2 - w2) + emiu *( toComplex(8.0*u2*cosw) +
-						    toComplex(2.0*u_val*(3.0*u2 + w2))*ixi0);
+						    toComplex(2.0*u*(3.0*u2 + w2))*ixi0);
 	
-	h1    = toComplex(2.0*u_val) * e2iu - emiu*( toComplex(2.0*u_val*cosw) -
-						     toComplex(3.0*u2-w2)*ixi0);
+	h1    = toComplex(2.0*u) * e2iu - emiu*( toComplex(2.0*u*cosw) -
+						 toComplex(3.0*u2-w2)*ixi0);
+	
+	h2    = e2iu - emiu * (toComplex(cosw) + toComplex(3.0*u)*ixi0);
 	
-	h2    = e2iu - emiu * (toComplex(cosw) + toComplex(3.0*u_val)*ixi0);
-
 	
 	tmp   = 9.0*u2 - w2;
 	fden  = toComplex(pow(tmp, -1.0));
 	f0    = h0 * fden;
 	f1    = h1 * fden;
-	f2    = h2 * fden;
+	f2    = h2 * fden;	
+      }
 
-	
-	e_iQ = f0*unity + f1 * timesMinusI(iQ) - f2 * iQ2;
-	
-	
-	
-      };
+
+      LatticeReal func_xi0(LatticeReal w) const{
+	// Define a function to do the check
+	//if( w < 1e-4 ) std::cout << GridLogWarning<< "[Smear_stout] w too small: "<< w <<"\n";
+	return  sin(w)/w;
+      }
+
+      LatticeReal func_xi1(LatticeReal w) const{
+	// Define a function to do the check
+	//if( w < 1e-4 ) std::cout << GridLogWarning << "[Smear_stout] w too small: "<< w <<"\n";
+	return  cos(w)/(w*w) - sin(w)/(w*w*w);
+      }
       
     };
 
diff --git a/lib/simd/Grid_vector_unops.h b/lib/simd/Grid_vector_unops.h
index bb3c44b0..2ce8590d 100644
--- a/lib/simd/Grid_vector_unops.h
+++ b/lib/simd/Grid_vector_unops.h
@@ -118,21 +118,21 @@ namespace Grid {
   };
 
   template<class scalar> struct RealFunctor {
-    scalar operator()(const scalar &a)  const {
+    scalar operator()(const std::complex<scalar> &a)  const {
       return real(a);
     }
   };
   template<class scalar> struct ImagFunctor {
-    scalar operator()(const scalar &a)  const {
+    scalar operator()(const std::complex<scalar> &a)  const {
       return imag(a);
     }
   };
   template < class S, class V > 
-  inline Grid_simd<S,V> real(const Grid_simd<S,V> &r) {
+    inline Grid_simd<S,V> real(const Grid_simd<S,V> &r) {
     return SimdApply(RealFunctor<S>(),r);
   }
   template < class S, class V > 
-  inline Grid_simd<S,V> imag(const Grid_simd<S,V> &r) {
+    inline Grid_simd<S,V> imag(const Grid_simd<S,V> &r) {
     return SimdApply(ImagFunctor<S>(),r);
   }
 
diff --git a/tests/Test_main.cc b/tests/Test_main.cc
index 7904ff21..467c8a5e 100644
--- a/tests/Test_main.cc
+++ b/tests/Test_main.cc
@@ -609,8 +609,10 @@ int main (int argc, char ** argv)
 
 
  // Testing Smearing routine compilation
+ GridCartesian           Fine(latt_size,simd_layout,mpi_layout);
  Smear_APE< PeriodicGimplR > APEsmearing; // periodic gauge implemetation
- 
+ Smear_Stout< PeriodicGimplR > StoutSmearing(&APEsmearing);
+ SmearedConfiguration< PeriodicGimplR > SmartConf(&Fine, 3, StoutSmearing);
  
  std::cout<<GridLogMessage << sizeof(vComplexF) << std::endl;
  

From 4b1cf580e076c0a7f96e32d531dbeab0e7e02c52 Mon Sep 17 00:00:00 2001
From: Guido Cossu <gcossu.work@gmail.com>
Date: Tue, 5 Apr 2016 16:19:30 +0900
Subject: [PATCH 005/295] Debugging the Smearing routines

---
 lib/qcd/action/ActionBase.h                   |  1 +
 lib/qcd/hmc/HMC.h                             |  2 +-
 lib/qcd/hmc/HmcRunner.h                       | 31 +++++---
 lib/qcd/hmc/integrators/Integrator.h          | 27 +++++--
 .../hmc/integrators/Integrator_algorithm.h    | 23 ++++--
 lib/qcd/smearing/APEsmearing.h                | 11 ++-
 lib/qcd/smearing/BaseSmearing.h               |  2 +-
 lib/qcd/smearing/GaugeConfiguration.h         | 78 +++++++++++--------
 lib/qcd/smearing/StoutSmearing.h              |  8 +-
 tests/Test_main.cc                            |  2 +-
 10 files changed, 118 insertions(+), 67 deletions(-)

diff --git a/lib/qcd/action/ActionBase.h b/lib/qcd/action/ActionBase.h
index 8b91fb79..7c9f6f1c 100644
--- a/lib/qcd/action/ActionBase.h
+++ b/lib/qcd/action/ActionBase.h
@@ -35,6 +35,7 @@ template<class GaugeField>
 class Action { 
 
  public:
+  bool is_smeared = false;
   // Boundary conditions? // Heatbath?
   virtual void  refresh(const GaugeField &U, GridParallelRNG& pRNG) = 0;// refresh pseudofermions
   virtual RealD S    (const GaugeField &U)                        = 0;  // evaluate the action
diff --git a/lib/qcd/hmc/HMC.h b/lib/qcd/hmc/HMC.h
index 0b87b03e..b471eb3a 100644
--- a/lib/qcd/hmc/HMC.h
+++ b/lib/qcd/hmc/HMC.h
@@ -160,7 +160,7 @@ namespace Grid{
       /////////////////////////////////////////
       // Constructor
       /////////////////////////////////////////
-      HybridMonteCarlo(HMCparameters Pms,  IntegratorType &_Int, GridSerialRNG &_sRNG, GridParallelRNG &_pRNG, GaugeField &_U ) :
+      HybridMonteCarlo(HMCparameters Pms,  IntegratorType &_Int, GridSerialRNG &_sRNG, GridParallelRNG &_pRNG, GaugeField &_U) :
         Params(Pms), 
 	TheIntegrator(_Int), 
 	sRNG(_sRNG),
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index ce92b1d2..6dac0d53 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -81,11 +81,22 @@ public:
       NumTraj = ivec[0];
     }
 
-    // Create integrator
-    typedef MinimumNorm2<GaugeField>  IntegratorType;// change here to change the algorithm
-    IntegratorParameters MDpar(20);
-    IntegratorType MDynamics(UGrid,MDpar, TheAction);
 
+    GridSerialRNG    sRNG;
+    GridParallelRNG  pRNG(UGrid);
+    LatticeGaugeField  U(UGrid); // change this to an extended field (smearing class)
+
+    std::vector<int> SerSeed({1,2,3,4,5});
+    std::vector<int> ParSeed({6,7,8,9,10});
+
+    
+    // Create integrator, including the smearing policy
+    SmearedConfiguration<Gimpl> SmearingPolicy; // simplest empty smearer, construct here more complex smearers
+    typedef MinimumNorm2<GaugeField, SmearedConfiguration<Gimpl> >  IntegratorType;// change here to change the algorithm
+    IntegratorParameters MDpar(20);
+    IntegratorType MDynamics(UGrid, MDpar, TheAction, SmearingPolicy);
+
+    
     // Checkpoint strategy
     NerscHmcCheckpointer<Gimpl> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
     PlaquetteLogger<Gimpl>      PlaqLog(std::string("plaq"));
@@ -94,12 +105,6 @@ public:
     HMCpar.StartTrajectory = StartTraj;
     HMCpar.Trajectories    = NumTraj;
     
-    GridSerialRNG    sRNG;
-    GridParallelRNG  pRNG(UGrid);
-    LatticeGaugeField  U(UGrid); // change this to an extended field (smearing class)
-
-    std::vector<int> SerSeed({1,2,3,4,5});
-    std::vector<int> ParSeed({6,7,8,9,10});
 
     if ( StartType == HotStart ) {
       // Hot start
@@ -129,7 +134,11 @@ public:
       Checkpoint.CheckpointRestore(StartTraj, U, sRNG, pRNG);
     }
 
-    HybridMonteCarlo<GaugeField,IntegratorType>  HMC(HMCpar, MDynamics,sRNG,pRNG,U); // pass the extended field
+    // Attach the gauge field to the smearing Policy and create the fill the smeared set
+    // notice that the unit configuration is singular in this procedure
+    SmearingPolicy.set_GaugeField(U);
+    
+    HybridMonteCarlo<GaugeField,IntegratorType>  HMC(HMCpar, MDynamics,sRNG,pRNG,U); 
     HMC.AddObservable(&Checkpoint);
     HMC.AddObservable(&PlaqLog);
     
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index e6f6c1cd..5a70a1ec 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -68,7 +68,7 @@ namespace Grid{
     };
 
     /*! @brief Class for Molecular Dynamics management */   
-    template<class GaugeField>
+    template<class GaugeField, class SmearingPolicy>
     class Integrator {
 
     protected:
@@ -85,6 +85,8 @@ namespace Grid{
 
       GaugeField P;
 
+      SmearingPolicy &Smearer;
+      
       // Should match any legal (SU(n)) gauge field
       // Need to use this template to match Ncol to pass to SU<N> class
       template<int Ncol,class vec> void generate_momenta(Lattice< iVector< iScalar< iMatrix<vec,Ncol> >, Nd> > & P,GridParallelRNG& pRNG){
@@ -113,7 +115,9 @@ namespace Grid{
       void update_P(GaugeField &Mom,GaugeField&U, int level,double ep){
 	for(int a=0; a<as[level].actions.size(); ++a){
 	  GaugeField force(U._grid);
-	  as[level].actions.at(a)->deriv(U,force);
+	  as[level].actions.at(a)->deriv(U,force); // deriv should not include Ta
+	  if (as[level].actions.at(a)->is_smeared) Smearer.smeared_force(force);
+	  force = Ta(force);
 	  Mom = Mom - force*ep;
 	}
       }
@@ -137,6 +141,8 @@ namespace Grid{
 	  ProjectOnGroup(Umu);
 	  PokeIndex<LorentzIndex>(U, Umu, mu);
 	}
+	// Update the smeared fields, can be implemented as observer
+	Smearer.set_GaugeField(U);
       }
       
       virtual void step (GaugeField& U,int level, int first,int last)=0;
@@ -145,14 +151,17 @@ namespace Grid{
 
       Integrator(GridBase* grid, 
 		 IntegratorParameters Par,
-		 ActionSet<GaugeField> & Aset):
+		 ActionSet<GaugeField> & Aset,
+		 SmearingPolicy &Sm):
           Params(Par),
     	  as(Aset),
 	  P(grid),
-	  levels(Aset.size())
+	  levels(Aset.size()),
+	  Smearer(Sm)
       {
 	t_P.resize(levels,0.0);
 	t_U=0.0;
+	// initialization of smearer delegated outside of Integrator
       };
       
       virtual ~Integrator(){}
@@ -163,7 +172,10 @@ namespace Grid{
 	generate_momenta(P,pRNG);
 	for(int level=0; level< as.size(); ++level){
 	  for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
-	    as[level].actions.at(actionID)->refresh(U, pRNG);
+	    // get gauge field from the SmearingPolicy and
+	    // based on the boolean is_smeared in actionID
+	    GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
+	    as[level].actions.at(actionID)->refresh(Us, pRNG);
 	  }
 	}
       }
@@ -186,7 +198,10 @@ namespace Grid{
 	// Actions
 	for(int level=0; level<as.size(); ++level){
 	  for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
-	    Hterm = as[level].actions.at(actionID)->S(U);
+	    // get gauge field from the SmearingPolicy and
+	    // based on the boolean is_smeared in actionID
+	    GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
+	    Hterm = as[level].actions.at(actionID)->S(Us);
 	    std::cout<<GridLogMessage << "Level "<<level<<" term "<<actionID<<" H = "<<Hterm<<std::endl;
 	    H += Hterm;
 	  }
diff --git a/lib/qcd/hmc/integrators/Integrator_algorithm.h b/lib/qcd/hmc/integrators/Integrator_algorithm.h
index eb1b30ad..66390742 100644
--- a/lib/qcd/hmc/integrators/Integrator_algorithm.h
+++ b/lib/qcd/hmc/integrators/Integrator_algorithm.h
@@ -91,14 +91,17 @@ namespace Grid{
     *  P 1/2                            P 1/2
     */    
 
-    template<class GaugeField> class LeapFrog : public Integrator<GaugeField> {
+    template<class GaugeField, class SmearingPolicy> class LeapFrog :
+      public Integrator<GaugeField, SmearingPolicy> {
     public:
 
-      typedef LeapFrog<GaugeField> Algorithm;
+      typedef LeapFrog<GaugeField, SmearingPolicy> Algorithm;
 
       LeapFrog(GridBase* grid, 
 	       IntegratorParameters Par,
-	       ActionSet<GaugeField> & Aset): Integrator<GaugeField>(grid,Par,Aset) {};
+	       ActionSet<GaugeField> & Aset,
+	       SmearingPolicy & Sm):
+	Integrator<GaugeField, SmearingPolicy>(grid,Par,Aset,Sm) {};
 
 
       void step (GaugeField& U, int level,int _first, int _last){
@@ -135,7 +138,8 @@ namespace Grid{
       }
     };
 
-    template<class GaugeField> class MinimumNorm2 : public Integrator<GaugeField> {
+    template<class GaugeField, class SmearingPolicy> class MinimumNorm2 :
+      public Integrator<GaugeField, SmearingPolicy> {
     private:
       const RealD lambda = 0.1931833275037836;
 
@@ -143,7 +147,9 @@ namespace Grid{
 
       MinimumNorm2(GridBase* grid, 
 		   IntegratorParameters Par,
-		   ActionSet<GaugeField> & Aset): Integrator<GaugeField>(grid,Par,Aset) {};
+		   ActionSet<GaugeField> & Aset,
+		   SmearingPolicy& Sm):
+	Integrator<GaugeField, SmearingPolicy>(grid,Par,Aset,Sm) {};
 
       void step (GaugeField& U, int level, int _first,int _last){
 
@@ -191,7 +197,8 @@ namespace Grid{
     };
 
 
-    template<class GaugeField> class ForceGradient : public Integrator<GaugeField> {
+    template<class GaugeField, class SmearingPolicy> class ForceGradient :
+      public Integrator<GaugeField, SmearingPolicy> {
     private:
       const RealD lambda = 1.0/6.0;;
       const RealD chi    = 1.0/72.0;
@@ -202,7 +209,9 @@ namespace Grid{
       // Looks like dH scales as dt^4. tested wilson/wilson 2 level.
     ForceGradient(GridBase* grid, 
 		  IntegratorParameters Par,
-		  ActionSet<GaugeField> & Aset): Integrator<GaugeField>(grid,Par,Aset) {};
+		  ActionSet<GaugeField> & Aset,
+		  SmearingPolicy &Sm):
+      Integrator<GaugeField, SmearingPolicy>(grid,Par,Aset, Sm) {};
 
 
       void FG_update_P(GaugeField&U, int level,double fg_dt,double ep){
diff --git a/lib/qcd/smearing/APEsmearing.h b/lib/qcd/smearing/APEsmearing.h
index 2580d296..0636fc2c 100644
--- a/lib/qcd/smearing/APEsmearing.h
+++ b/lib/qcd/smearing/APEsmearing.h
@@ -35,21 +35,22 @@ namespace Grid {
       Smear_APE():rho(set_rho(1.0)){}
       ~Smear_APE(){}
 
-
       void smear(GaugeField& u_smr, const GaugeField& U)const{
 	GridBase *grid = U._grid;
 	double d_rho;
 	GaugeLinkField Cup(grid), tmp_stpl(grid);
 	WilsonLoops<Gimpl> WL;
-	u_smr = zero; // probably unecessary
+	u_smr = zero; 
 
 	for(int mu=0; mu<Nd; ++mu){
 	  Cup = zero;
 	  for(int nu=0; nu<Nd; ++nu){
 	    d_rho = rho[mu + Nd * nu];
+	    // get the staple in direction mu, nu
 	    WL.Staple(tmp_stpl, U, mu, nu);  //nb staple conventions of IroIro and Grid differ by a dag
 	    Cup += tmp_stpl*d_rho;
 	  }
+	  // save the Cup link-field on the u_smr gauge-field
 	  pokeLorentz(u_smr, adj(Cup), mu); // u_smr[mu] = Cup^dag
 	}
       }
@@ -66,8 +67,10 @@ namespace Grid {
 	int vol = U._grid->gSites();
 	
 	WilsonLoops<Gimpl> WL;
-	GaugeLinkField staple(grid), u_tmp(grid), iLambda_mu(grid), iLambda_nu(grid);
-	GaugeLinkField U_mu(grid), U_nu(grid), sh_field(grid), temp_Sigma(grid);
+	GaugeLinkField staple(grid), u_tmp(grid);
+	GaugeLinkField iLambda_mu(grid), iLambda_nu(grid);
+	GaugeLinkField U_mu(grid), U_nu(grid);
+	GaugeLinkField sh_field(grid), temp_Sigma(grid);
 	Real rho_munu, rho_numu;
     
 	for(int mu = 0; mu < Nd; ++mu){
diff --git a/lib/qcd/smearing/BaseSmearing.h b/lib/qcd/smearing/BaseSmearing.h
index 377bcbc9..40e82faa 100644
--- a/lib/qcd/smearing/BaseSmearing.h
+++ b/lib/qcd/smearing/BaseSmearing.h
@@ -7,7 +7,7 @@
 template <class Gimpl> 
 class Smear{
 public:
-  INHERIT_GIMPL_TYPES(Gimpl)
+  INHERIT_GIMPL_TYPES(Gimpl) // inherits the types for the gauge fields
 
   virtual ~Smear(){}
   virtual void smear     (GaugeField&,const GaugeField&)const = 0;
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index 42baced8..efb5c34d 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -22,7 +22,7 @@ namespace Grid {
       It stores a list of smeared configurations.
     */
     template <class Gimpl>
-    class SmearedConfiguration {
+      class SmearedConfiguration {
     public:
       INHERIT_GIMPL_TYPES(Gimpl) ;
       
@@ -33,17 +33,23 @@ namespace Grid {
       
       // Member functions
       //====================================================================
-      void fill_smearedSet(){
-	GaugeField previous_u;
+      void fill_smearedSet(GaugeField& U){
+	ThinLinks = &U; //attach the smearing routine to the field U
+	//check that the pointer is not null
+	if (ThinLinks==NULL) 
+	  std::cout << GridLogError << "[SmearedConfiguration] Error in ThinLinks pointer\n";
 	
-	std::cout<< GridLogDebug << "[SmearedConfiguration] Filling SmearedSet\n";
-	
-	previous_u = *ThinLinks;
-	for(int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl){
-	  StoutSmearing.smear(SmearedSet[smearLvl],previous_u);
-	  previous_u = SmearedSet[smearLvl];
+	if (smearingLevels > 0){
+	  GaugeField previous_u(U._grid);
+	  std::cout<< GridLogDebug << "[SmearedConfiguration] Filling SmearedSet\n";
+	  
+	  previous_u = *ThinLinks;
+	  for(int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl){
+	    StoutSmearing.smear(SmearedSet[smearLvl],previous_u);
+	    previous_u = SmearedSet[smearLvl];
+	  }
+
 	}
-	
       }
       //====================================================================
       GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime, 
@@ -86,9 +92,9 @@ namespace Grid {
 	
 	LatticeReal u(grid), w(grid);
 	LatticeComplex f0(grid), f1(grid), f2(grid);
-	LatticeReal xi0(grid), xi1(grid), fden(grid), tmp(grid);
+	LatticeReal xi0(grid), xi1(grid), tmp(grid);
 	LatticeReal u2(grid), w2(grid), cosw(grid);
-	LatticeComplex emiu(grid), e2iu(grid), qt(grid);
+	LatticeComplex emiu(grid), e2iu(grid), qt(grid), fden(grid);
 	LatticeComplex r01(grid), r11(grid), r21(grid), r02(grid), r12(grid);
 	LatticeComplex r22(grid), tr1(grid), tr2(grid);
 	LatticeComplex b10(grid), b11(grid), b12(grid), b20(grid), b21(grid), b22(grid);
@@ -173,66 +179,70 @@ namespace Grid {
 				    links configuration */
       
       /*! @brief Standard constructor */
-      SmearedConfiguration(GridCartesian * UGrid,
-			   unsigned int Nsmear, 
-			   Smear_Stout<Gimpl>& Stout):
-	smearingLevels(Nsmear),
+    SmearedConfiguration(GridCartesian * UGrid,
+			 unsigned int Nsmear, 
+			 Smear_Stout<Gimpl>& Stout):
+      smearingLevels(Nsmear),
 	StoutSmearing(Stout),
-	ThinLinks(new GaugeField(UGrid)){
+	ThinLinks(NULL){
 	for (unsigned int i=0; i< smearingLevels; ++i)
 	  SmearedSet.push_back(*(new GaugeField(UGrid)));
       }
       
       /*! For just thin links */
-      SmearedConfiguration(GridCartesian * UGrid):
-	smearingLevels(0),
+    SmearedConfiguration():
+      smearingLevels(0),
 	StoutSmearing(),
-	SmearedSet(0),
-	ThinLinks(new GaugeField(UGrid)){}
+	SmearedSet(),
+	ThinLinks(NULL){}
+      
+      
+      // attach the smeared routines to the thin links U and fill the smeared set
+      void set_GaugeField(GaugeField& U){ fill_smearedSet(U);}
       
-      void set_GaugeField(){ fill_smearedSet(); }
       void smeared_force(GaugeField& SigmaTilde) const{
 	GaugeField force = SigmaTilde;//actually = U*SigmaTilde, check this for Grid
 	GaugeLinkField tmp_mu(SigmaTilde._grid);
 	
 	for (int mu = 0; mu < Nd; mu++){
 	  tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
-	  pokeLorentz(force, tmp_mu, mu);
+	    pokeLorentz(force, tmp_mu, mu);
 	}
 	for(int ismr = smearingLevels - 1; ismr > 0; --ismr)
 	  force = AnalyticSmearedForce(force,get_smeared_conf(ismr-1));
-
+	
 	force = AnalyticSmearedForce(force,*ThinLinks);
-
+	
 	for (int mu = 0; mu < Nd; mu++){
 	  tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
 	  pokeLorentz(SigmaTilde, tmp_mu, mu);
 	}
       }
-
-
-      GaugeField* get_SmearedU() const{ 
-	return const_cast<GaugeField*>(&(SmearedSet[smearingLevels-1]));
+      
+      
+      GaugeField& get_SmearedU(){ 
+	return SmearedSet[smearingLevels-1];
       }
-
-      GaugeField* get_U(bool smeared=false) const { 
+      
+      GaugeField& get_U(bool smeared=false) { 
 	// get the config, thin links by default
 	if (smeared){
 	  if (smearingLevels) return get_SmearedU();
-	  else                return ThinLinks;
+	  else                return *ThinLinks;
 	}
-	else return ThinLinks;
+	else return *ThinLinks;
       }
       
     };
     
     
   }
-
+  
 }
 
 
 
 
 
+
 #endif
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index 3538417a..dc4b29be 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -20,10 +20,14 @@ namespace Grid {
     public:
       INHERIT_GIMPL_TYPES(Gimpl)
       
-      Smear_Stout(Smear < Gimpl >* base):SmearBase(base){}
+      Smear_Stout(Smear < Gimpl >* base):SmearBase(base){
+	static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
+      }
       
       /*! Default constructor */
-      Smear_Stout():SmearBase(new Smear_APE < Gimpl > ()){}
+      Smear_Stout():SmearBase(new Smear_APE < Gimpl > ()){
+	static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
+      }
       
       ~Smear_Stout(){}
       
diff --git a/tests/Test_main.cc b/tests/Test_main.cc
index 467c8a5e..9236fae1 100644
--- a/tests/Test_main.cc
+++ b/tests/Test_main.cc
@@ -608,7 +608,7 @@ int main (int argc, char ** argv)
 
 
 
- // Testing Smearing routine compilation
+ // Testing Smearing routine compilation, separate in a different file
  GridCartesian           Fine(latt_size,simd_layout,mpi_layout);
  Smear_APE< PeriodicGimplR > APEsmearing; // periodic gauge implemetation
  Smear_Stout< PeriodicGimplR > StoutSmearing(&APEsmearing);

From 7c7ea35ffb7439d1028ab7937844849e1322d66d Mon Sep 17 00:00:00 2001
From: Guido Cossu <gcossu.work@gmail.com>
Date: Tue, 5 Apr 2016 16:28:09 +0900
Subject: [PATCH 006/295] Putting the Traceless Antihermitian part outside the
 deriv in pseudofermion actions

---
 lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h     | 2 +-
 .../action/pseudofermion/OneFlavourEvenOddRationalRatio.h    | 2 +-
 lib/qcd/action/pseudofermion/OneFlavourRational.h            | 2 +-
 lib/qcd/action/pseudofermion/OneFlavourRationalRatio.h       | 2 +-
 lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h             | 2 +-
 lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h        | 5 +++--
 6 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h b/lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h
index d7d08516..1b836b4c 100644
--- a/lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h
+++ b/lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h
@@ -201,7 +201,7 @@ namespace Grid{
 
 	}
 
-	dSdU = Ta(dSdU);
+	//dSdU = Ta(dSdU);
 
       };
     };
diff --git a/lib/qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h b/lib/qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h
index 8c8bd7a7..735cb284 100644
--- a/lib/qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h
+++ b/lib/qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h
@@ -256,7 +256,7 @@ namespace Grid{
 
 	}
 
-	dSdU = Ta(dSdU);
+	//dSdU = Ta(dSdU);
 
       };
     };
diff --git a/lib/qcd/action/pseudofermion/OneFlavourRational.h b/lib/qcd/action/pseudofermion/OneFlavourRational.h
index cb3a96d7..65a99afa 100644
--- a/lib/qcd/action/pseudofermion/OneFlavourRational.h
+++ b/lib/qcd/action/pseudofermion/OneFlavourRational.h
@@ -186,7 +186,7 @@ namespace Grid{
 
 	}
 
-	dSdU = Ta(dSdU);
+	//dSdU = Ta(dSdU);
 
       };
     };
diff --git a/lib/qcd/action/pseudofermion/OneFlavourRationalRatio.h b/lib/qcd/action/pseudofermion/OneFlavourRationalRatio.h
index e6533d15..2207e119 100644
--- a/lib/qcd/action/pseudofermion/OneFlavourRationalRatio.h
+++ b/lib/qcd/action/pseudofermion/OneFlavourRationalRatio.h
@@ -242,7 +242,7 @@ namespace Grid{
 
 	}
 
-	dSdU = Ta(dSdU);
+	//dSdU = Ta(dSdU);
 
       };
     };
diff --git a/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h b/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
index e3ac2b2e..601bf9ec 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
@@ -173,7 +173,7 @@ namespace Grid{
 	FermOp.MeeDeriv(tmp , X, Y,DaggerYes);  dSdU=dSdU+tmp;
 	*/
 	
-	dSdU = Ta(dSdU);
+	//dSdU = Ta(dSdU);
 
       };
 
diff --git a/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h b/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h
index b1d73a7c..b2ae4d21 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h
@@ -188,8 +188,9 @@ namespace Grid{
 	assert(NumOp.ConstEE() == 1);
 	assert(DenOp.ConstEE() == 1);
 
-	dSdU = -Ta(dSdU);
-
+	//dSdU = -Ta(dSdU);
+	dSDu = -dSdU;
+	
       };
     };
   }

From 97d0d56bcbdfe8f93354046d029eca202035c091 Mon Sep 17 00:00:00 2001
From: Guido Cossu <gcossu.work@gmail.com>
Date: Wed, 6 Apr 2016 17:58:43 +0900
Subject: [PATCH 007/295] Debugging Smearing routines (set_fj)

---
 .../pseudofermion/TwoFlavourEvenOddRatio.h    |  2 +-
 lib/qcd/hmc/HmcRunner.h                       | 11 ++++-
 lib/qcd/hmc/integrators/Integrator.h          |  7 +++-
 lib/qcd/smearing/GaugeConfiguration.h         | 40 +++++++++++--------
 lib/qcd/smearing/StoutSmearing.h              | 11 +++--
 tests/Test_hmc_EOWilsonFermionGauge.cc        |  4 +-
 6 files changed, 51 insertions(+), 24 deletions(-)

diff --git a/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h b/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h
index b2ae4d21..edb6beaa 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h
@@ -189,7 +189,7 @@ namespace Grid{
 	assert(DenOp.ConstEE() == 1);
 
 	//dSdU = -Ta(dSdU);
-	dSDu = -dSdU;
+	dSdU = -dSdU;
 	
       };
     };
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index 6dac0d53..cb3428b4 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -91,7 +91,15 @@ public:
 
     
     // Create integrator, including the smearing policy
-    SmearedConfiguration<Gimpl> SmearingPolicy; // simplest empty smearer, construct here more complex smearers
+    // Smearing policy
+    std::cout << GridLogMessage << " Creating the Stout class\n";
+    double rho = 0.1; // smearing parameter
+    int Nsmear = 3;   // number of smearing levels
+    Smear_Stout<Gimpl> Stout(rho);
+    std::cout << GridLogMessage << " Creating the SmearedConfiguration class\n";
+    SmearedConfiguration<Gimpl> SmearingPolicy(UGrid, Nsmear, Stout);
+    std::cout << GridLogMessage << " done\n";
+    //////////////
     typedef MinimumNorm2<GaugeField, SmearedConfiguration<Gimpl> >  IntegratorType;// change here to change the algorithm
     IntegratorParameters MDpar(20);
     IntegratorType MDynamics(UGrid, MDpar, TheAction, SmearingPolicy);
@@ -136,6 +144,7 @@ public:
 
     // Attach the gauge field to the smearing Policy and create the fill the smeared set
     // notice that the unit configuration is singular in this procedure
+    std::cout << GridLogMessage << " Filling the smeared set\n";
     SmearingPolicy.set_GaugeField(U);
     
     HybridMonteCarlo<GaugeField,IntegratorType>  HMC(HMCpar, MDynamics,sRNG,pRNG,U); 
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index 5a70a1ec..0a6fb9c7 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -116,6 +116,8 @@ namespace Grid{
 	for(int a=0; a<as[level].actions.size(); ++a){
 	  GaugeField force(U._grid);
 	  as[level].actions.at(a)->deriv(U,force); // deriv should not include Ta
+	  std::cout<<GridLogMessage<< "P Level: "<< level<< " action: "<<a<< " Smeared: "
+		   <<as[level].actions.at(a)->is_smeared <<std::endl;
 	  if (as[level].actions.at(a)->is_smeared) Smearer.smeared_force(force);
 	  force = Ta(force);
 	  Mom = Mom - force*ep;
@@ -174,6 +176,9 @@ namespace Grid{
 	  for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
 	    // get gauge field from the SmearingPolicy and
 	    // based on the boolean is_smeared in actionID
+	    std::cout<<GridLogMessage<< "Refresh Level: "<< level<< " action: "<<actionID<< " Smeared: "
+		     <<as[level].actions.at(actionID)->is_smeared <<std::endl;
+
 	    GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
 	    as[level].actions.at(actionID)->refresh(Us, pRNG);
 	  }
@@ -201,8 +206,8 @@ namespace Grid{
 	    // get gauge field from the SmearingPolicy and
 	    // based on the boolean is_smeared in actionID
 	    GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
+	    std::cout<<GridLogMessage << "S Level "<<level<<" term "<<actionID<<" H = "<<Hterm<<std::endl;
 	    Hterm = as[level].actions.at(actionID)->S(Us);
-	    std::cout<<GridLogMessage << "Level "<<level<<" term "<<actionID<<" H = "<<Hterm<<std::endl;
 	    H += Hterm;
 	  }
 	}
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index efb5c34d..7c9e8f50 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -35,17 +35,21 @@ namespace Grid {
       //====================================================================
       void fill_smearedSet(GaugeField& U){
 	ThinLinks = &U; //attach the smearing routine to the field U
-	//check that the pointer is not null
+
+	//check the pointer is not null
 	if (ThinLinks==NULL) 
 	  std::cout << GridLogError << "[SmearedConfiguration] Error in ThinLinks pointer\n";
 	
 	if (smearingLevels > 0){
-	  GaugeField previous_u(U._grid);
 	  std::cout<< GridLogDebug << "[SmearedConfiguration] Filling SmearedSet\n";
+	  GaugeField previous_u(ThinLinks->_grid);
+	  std::cout<< GridLogDebug << "[SmearedConfiguration] Loop\n";
 	  
 	  previous_u = *ThinLinks;
 	  for(int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl){
+	    std::cout<< GridLogDebug << "[SmearedConfiguration] Loop: "<< smearLvl << "\n";
 	    StoutSmearing.smear(SmearedSet[smearLvl],previous_u);
+	    std::cout<< GridLogDebug << "[SmearedConfiguration] Loop assign: "<< smearLvl << "\n";
 	    previous_u = SmearedSet[smearLvl];
 	  }
 
@@ -201,22 +205,24 @@ namespace Grid {
       void set_GaugeField(GaugeField& U){ fill_smearedSet(U);}
       
       void smeared_force(GaugeField& SigmaTilde) const{
-	GaugeField force = SigmaTilde;//actually = U*SigmaTilde, check this for Grid
-	GaugeLinkField tmp_mu(SigmaTilde._grid);
-	
-	for (int mu = 0; mu < Nd; mu++){
-	  tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
+	if (smearingLevels > 0){
+	  GaugeField force = SigmaTilde;//actually = U*SigmaTilde, check this for Grid
+	  GaugeLinkField tmp_mu(SigmaTilde._grid);
+	  
+	  for (int mu = 0; mu < Nd; mu++){
+	    tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
 	    pokeLorentz(force, tmp_mu, mu);
-	}
-	for(int ismr = smearingLevels - 1; ismr > 0; --ismr)
-	  force = AnalyticSmearedForce(force,get_smeared_conf(ismr-1));
-	
-	force = AnalyticSmearedForce(force,*ThinLinks);
-	
-	for (int mu = 0; mu < Nd; mu++){
-	  tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
-	  pokeLorentz(SigmaTilde, tmp_mu, mu);
-	}
+	  }
+	  for(int ismr = smearingLevels - 1; ismr > 0; --ismr)
+	    force = AnalyticSmearedForce(force,get_smeared_conf(ismr-1));
+	  
+	  force = AnalyticSmearedForce(force,*ThinLinks);
+	  
+	  for (int mu = 0; mu < Nd; mu++){
+	    tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
+	    pokeLorentz(SigmaTilde, tmp_mu, mu);
+	  }
+	}// if smearingLevels = 0 do nothing
       }
       
       
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index dc4b29be..940dee1b 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -25,7 +25,7 @@ namespace Grid {
       }
       
       /*! Default constructor */
-      Smear_Stout():SmearBase(new Smear_APE < Gimpl > ()){
+      Smear_Stout(double rho = 1.0):SmearBase(new Smear_APE < Gimpl > (rho)){
 	static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
       }
       
@@ -68,6 +68,7 @@ namespace Grid {
 
 	// only one Lorentz direction at a time 
 
+	std::cout<< GridLogDebug << "Stout smearing exponentiate iQ\n";
 	GridBase *grid = iQ._grid;
 	GaugeLinkField unity(grid);
 	unity=1.0;
@@ -92,7 +93,8 @@ namespace Grid {
 
 	GridBase *grid = u._grid;
 	LatticeReal c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
-	
+
+	std::cout<< GridLogDebug << "Stout smearing set uw\n";
 	
 	c0    = - toReal(imag(trace(iQ3))) * one_over_three;
 	c1    = - toReal(real(trace(iQ2))) * one_over_two;
@@ -107,6 +109,7 @@ namespace Grid {
       void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
 		  const LatticeReal& u, const LatticeReal& w) const{
 
+	std::cout<< GridLogDebug << "Stout smearing set fj\n";
 	GridBase *grid = u._grid;
 	LatticeReal xi0(grid), u2(grid), w2(grid), cosw(grid), tmp(grid);
 	LatticeComplex fden(grid);
@@ -117,8 +120,10 @@ namespace Grid {
 	u2    = u * u;
 	w2    = w * w;
 	cosw  = cos(w);
-	
+
+	std::cout<< GridLogDebug << "Stout smearing first toComplex\n";
 	ixi0  = timesI(toComplex(xi0));
+	std::cout<< GridLogDebug << "Stout smearing others toComplex\n";
 	emiu  = toComplex(cos(u)) - timesI(toComplex(u));
 	e2iu  = toComplex(cos(2.0*u)) + timesI(toComplex(2.0*u));
 	
diff --git a/tests/Test_hmc_EOWilsonFermionGauge.cc b/tests/Test_hmc_EOWilsonFermionGauge.cc
index c7f2d534..d9634666 100644
--- a/tests/Test_hmc_EOWilsonFermionGauge.cc
+++ b/tests/Test_hmc_EOWilsonFermionGauge.cc
@@ -65,7 +65,9 @@ public:
     ConjugateGradient<FermionField>  CG(1.0e-8,10000);
 
     TwoFlavourEvenOddPseudoFermionAction<ImplPolicy> Nf2(FermOp,CG,CG);
-  
+
+    Nf2.is_smeared=true;
+    
     //Collect actions
     ActionLevel<LatticeGaugeField> Level1(1);
     Level1.push_back(&Nf2);

From a87b744621b434e53028f8d54b315dfba61621ea Mon Sep 17 00:00:00 2001
From: neo <cossu@post.kek.jp>
Date: Thu, 7 Apr 2016 16:45:11 +0900
Subject: [PATCH 008/295] HMC runs but does not accept with smearing on

---
 configure                              | 13 ++++++-------
 lib/qcd/hmc/integrators/Integrator.h   |  8 ++------
 lib/qcd/smearing/GaugeConfiguration.h  |  3 ---
 lib/qcd/smearing/StoutSmearing.h       | 11 +++--------
 tests/Test_hmc_EOWilsonFermionGauge.cc |  2 +-
 5 files changed, 12 insertions(+), 25 deletions(-)

diff --git a/configure b/configure
index ed5915d6..1ab3998e 100755
--- a/configure
+++ b/configure
@@ -2569,7 +2569,7 @@ test -n "$target_alias" &&
     NONENONEs,x,x, &&
   program_prefix=${target_alias}-
 
-am__api_version='1.15'
+am__api_version='1.14'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2741,8 +2741,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2761,7 +2761,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh+set}" != xset; then
+if test x"${install_sh}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3089,8 +3089,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target (and possibly the TAP driver).  The
-# system "awk" is bad on some platforms.
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -3149,7 +3149,6 @@ END
 fi
 
 
-
 ac_config_headers="$ac_config_headers lib/Config.h"
 
 # Check whether --enable-silent-rules was given.
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index 0a6fb9c7..eb1eeb3a 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -116,8 +116,7 @@ namespace Grid{
 	for(int a=0; a<as[level].actions.size(); ++a){
 	  GaugeField force(U._grid);
 	  as[level].actions.at(a)->deriv(U,force); // deriv should not include Ta
-	  std::cout<<GridLogMessage<< "P Level: "<< level<< " action: "<<a<< " Smeared: "
-		   <<as[level].actions.at(a)->is_smeared <<std::endl;
+	  std::cout<<GridLogIntegrator<< "Smearing (on/off): "<<as[level].actions.at(a)->is_smeared <<std::endl;
 	  if (as[level].actions.at(a)->is_smeared) Smearer.smeared_force(force);
 	  force = Ta(force);
 	  Mom = Mom - force*ep;
@@ -176,9 +175,6 @@ namespace Grid{
 	  for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
 	    // get gauge field from the SmearingPolicy and
 	    // based on the boolean is_smeared in actionID
-	    std::cout<<GridLogMessage<< "Refresh Level: "<< level<< " action: "<<actionID<< " Smeared: "
-		     <<as[level].actions.at(actionID)->is_smeared <<std::endl;
-
 	    GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
 	    as[level].actions.at(actionID)->refresh(Us, pRNG);
 	  }
@@ -206,8 +202,8 @@ namespace Grid{
 	    // get gauge field from the SmearingPolicy and
 	    // based on the boolean is_smeared in actionID
 	    GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
-	    std::cout<<GridLogMessage << "S Level "<<level<<" term "<<actionID<<" H = "<<Hterm<<std::endl;
 	    Hterm = as[level].actions.at(actionID)->S(Us);
+	    std::cout<<GridLogMessage << "S Level "<<level<<" term "<<actionID<<" H = "<<Hterm<<std::endl;
 	    H += Hterm;
 	  }
 	}
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index 7c9e8f50..99f278e8 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -43,13 +43,10 @@ namespace Grid {
 	if (smearingLevels > 0){
 	  std::cout<< GridLogDebug << "[SmearedConfiguration] Filling SmearedSet\n";
 	  GaugeField previous_u(ThinLinks->_grid);
-	  std::cout<< GridLogDebug << "[SmearedConfiguration] Loop\n";
 	  
 	  previous_u = *ThinLinks;
 	  for(int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl){
-	    std::cout<< GridLogDebug << "[SmearedConfiguration] Loop: "<< smearLvl << "\n";
 	    StoutSmearing.smear(SmearedSet[smearLvl],previous_u);
-	    std::cout<< GridLogDebug << "[SmearedConfiguration] Loop assign: "<< smearLvl << "\n";
 	    previous_u = SmearedSet[smearLvl];
 	  }
 
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index 940dee1b..ede204c3 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -68,7 +68,7 @@ namespace Grid {
 
 	// only one Lorentz direction at a time 
 
-	std::cout<< GridLogDebug << "Stout smearing exponentiate iQ\n";
+
 	GridBase *grid = iQ._grid;
 	GaugeLinkField unity(grid);
 	unity=1.0;
@@ -94,8 +94,6 @@ namespace Grid {
 	GridBase *grid = u._grid;
 	LatticeReal c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
 
-	std::cout<< GridLogDebug << "Stout smearing set uw\n";
-	
 	c0    = - toReal(imag(trace(iQ3))) * one_over_three;
 	c1    = - toReal(real(trace(iQ2))) * one_over_two;
 	tmp   = c1 * one_over_three;
@@ -109,7 +107,6 @@ namespace Grid {
       void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
 		  const LatticeReal& u, const LatticeReal& w) const{
 
-	std::cout<< GridLogDebug << "Stout smearing set fj\n";
 	GridBase *grid = u._grid;
 	LatticeReal xi0(grid), u2(grid), w2(grid), cosw(grid), tmp(grid);
 	LatticeComplex fden(grid);
@@ -121,9 +118,7 @@ namespace Grid {
 	w2    = w * w;
 	cosw  = cos(w);
 
-	std::cout<< GridLogDebug << "Stout smearing first toComplex\n";
 	ixi0  = timesI(toComplex(xi0));
-	std::cout<< GridLogDebug << "Stout smearing others toComplex\n";
 	emiu  = toComplex(cos(u)) - timesI(toComplex(u));
 	e2iu  = toComplex(cos(2.0*u)) + timesI(toComplex(2.0*u));
 	
@@ -144,13 +139,13 @@ namespace Grid {
       }
 
 
-      LatticeReal func_xi0(LatticeReal w) const{
+      LatticeReal func_xi0(const LatticeReal& w) const{
 	// Define a function to do the check
 	//if( w < 1e-4 ) std::cout << GridLogWarning<< "[Smear_stout] w too small: "<< w <<"\n";
 	return  sin(w)/w;
       }
 
-      LatticeReal func_xi1(LatticeReal w) const{
+      LatticeReal func_xi1(const LatticeReal& w) const{
 	// Define a function to do the check
 	//if( w < 1e-4 ) std::cout << GridLogWarning << "[Smear_stout] w too small: "<< w <<"\n";
 	return  cos(w)/(w*w) - sin(w)/(w*w*w);
diff --git a/tests/Test_hmc_EOWilsonFermionGauge.cc b/tests/Test_hmc_EOWilsonFermionGauge.cc
index d9634666..13828c51 100644
--- a/tests/Test_hmc_EOWilsonFermionGauge.cc
+++ b/tests/Test_hmc_EOWilsonFermionGauge.cc
@@ -66,7 +66,7 @@ public:
 
     TwoFlavourEvenOddPseudoFermionAction<ImplPolicy> Nf2(FermOp,CG,CG);
 
-    Nf2.is_smeared=true;
+    Nf2.is_smeared=false;
     
     //Collect actions
     ActionLevel<LatticeGaugeField> Level1(1);

From 339be37dbad38de7423ff2488719f01764fd0196 Mon Sep 17 00:00:00 2001
From: neo <cossu@post.kek.jp>
Date: Wed, 13 Apr 2016 17:00:14 +0900
Subject: [PATCH 009/295] Debugging smeared HMC

---
 .../action/pseudofermion/TwoFlavourEvenOdd.h  |  2 +-
 lib/qcd/hmc/HmcRunner.h                       |  4 +-
 lib/qcd/hmc/integrators/Integrator.h          |  4 +-
 lib/qcd/smearing/APEsmearing.h                | 12 ++++--
 lib/qcd/smearing/GaugeConfiguration.h         | 39 ++++++++++++++-----
 lib/qcd/smearing/StoutSmearing.h              | 13 +++++--
 lib/qcd/utils/WilsonLoops.h                   | 22 +++++------
 tests/Test_hmc_EOWilsonFermionGauge.cc        |  2 +-
 8 files changed, 63 insertions(+), 35 deletions(-)

diff --git a/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h b/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
index 601bf9ec..16b2d814 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
@@ -100,7 +100,7 @@ namespace Grid{
 
 	PhiOdd =PhiOdd*scale;
 	PhiEven=PhiEven*scale;
-	
+
       };
 
       //////////////////////////////////////////////////////
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index cb3428b4..b30da24b 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -94,7 +94,7 @@ public:
     // Smearing policy
     std::cout << GridLogMessage << " Creating the Stout class\n";
     double rho = 0.1; // smearing parameter
-    int Nsmear = 3;   // number of smearing levels
+    int Nsmear = 1;   // number of smearing levels
     Smear_Stout<Gimpl> Stout(rho);
     std::cout << GridLogMessage << " Creating the SmearedConfiguration class\n";
     SmearedConfiguration<Gimpl> SmearingPolicy(UGrid, Nsmear, Stout);
@@ -144,7 +144,7 @@ public:
 
     // Attach the gauge field to the smearing Policy and create the fill the smeared set
     // notice that the unit configuration is singular in this procedure
-    std::cout << GridLogMessage << " Filling the smeared set\n";
+    std::cout << GridLogMessage << "Filling the smeared set\n";
     SmearingPolicy.set_GaugeField(U);
     
     HybridMonteCarlo<GaugeField,IntegratorType>  HMC(HMCpar, MDynamics,sRNG,pRNG,U); 
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index eb1eeb3a..e8950f22 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -115,10 +115,12 @@ namespace Grid{
       void update_P(GaugeField &Mom,GaugeField&U, int level,double ep){
 	for(int a=0; a<as[level].actions.size(); ++a){
 	  GaugeField force(U._grid);
-	  as[level].actions.at(a)->deriv(U,force); // deriv should not include Ta
+	  GaugeField& Us = Smearer.get_U(as[level].actions.at(a)->is_smeared);
+	  as[level].actions.at(a)->deriv(Us,force); // deriv should not include Ta
 	  std::cout<<GridLogIntegrator<< "Smearing (on/off): "<<as[level].actions.at(a)->is_smeared <<std::endl;
 	  if (as[level].actions.at(a)->is_smeared) Smearer.smeared_force(force);
 	  force = Ta(force);
+	  std::cout<<GridLogIntegrator<< "Force average: "<< norm2(force)/(U._grid->gSites()) <<std::endl;
 	  Mom = Mom - force*ep;
 	}
       }
diff --git a/lib/qcd/smearing/APEsmearing.h b/lib/qcd/smearing/APEsmearing.h
index 0636fc2c..30418616 100644
--- a/lib/qcd/smearing/APEsmearing.h
+++ b/lib/qcd/smearing/APEsmearing.h
@@ -35,6 +35,7 @@ namespace Grid {
       Smear_APE():rho(set_rho(1.0)){}
       ~Smear_APE(){}
 
+      ///////////////////////////////////////////////////////////////////////////////
       void smear(GaugeField& u_smr, const GaugeField& U)const{
 	GridBase *grid = U._grid;
 	double d_rho;
@@ -45,16 +46,19 @@ namespace Grid {
 	for(int mu=0; mu<Nd; ++mu){
 	  Cup = zero;
 	  for(int nu=0; nu<Nd; ++nu){
-	    d_rho = rho[mu + Nd * nu];
-	    // get the staple in direction mu, nu
-	    WL.Staple(tmp_stpl, U, mu, nu);  //nb staple conventions of IroIro and Grid differ by a dag
-	    Cup += tmp_stpl*d_rho;
+	    if (nu != mu) {
+	      d_rho = rho[mu + Nd * nu];
+	      // get the staple in direction mu, nu
+	      WL.Staple(tmp_stpl, U, mu, nu);  //nb staple conventions of IroIro and Grid differ by a dagger
+	      Cup += tmp_stpl*d_rho;
+	    }
 	  }
 	  // save the Cup link-field on the u_smr gauge-field
 	  pokeLorentz(u_smr, adj(Cup), mu); // u_smr[mu] = Cup^dag
 	}
       }
 
+      ////////////////////////////////////////////////////////////////////////////////
       void derivative(GaugeField& SigmaTerm,
 		      const GaugeField& iLambda,
 		      const GaugeField& U)const{
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index 99f278e8..a87a7ef4 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -48,6 +48,10 @@ namespace Grid {
 	  for(int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl){
 	    StoutSmearing.smear(SmearedSet[smearLvl],previous_u);
 	    previous_u = SmearedSet[smearLvl];
+
+	    RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(previous_u);
+	    std::cout<< GridLogDebug << "[SmearedConfiguration] Plaq: " << impl_plaq<< std::endl;
+
 	  }
 
 	}
@@ -73,14 +77,14 @@ namespace Grid {
 	  pokeLorentz(SigmaK, SigmaKPrime_mu*e_iQ + adj(Cmu)*iLambda_mu, mu);
 	  pokeLorentz(iLambda, iLambda_mu, mu);
 	}
-	StoutSmearing.derivative(SigmaK, iLambda, GaugeK);
+	StoutSmearing.derivative(SigmaK, iLambda, GaugeK);// derivative of SmearBase
 	return SigmaK;
       }
       /*! @brief Returns smeared configuration at level 'Level' */
       const GaugeField& get_smeared_conf(int Level) const{
 	return SmearedSet[Level];
       }
-      
+      //====================================================================
       void set_iLambda(GaugeLinkField& iLambda, 
 		       GaugeLinkField& e_iQ,
 		       const GaugeLinkField& iQ, 
@@ -117,8 +121,8 @@ namespace Grid {
 	w2 = w * w;
 	cosw = cos(w);
 	
-	emiu = toComplex(cos(u)) - timesI(toComplex(u));
-	e2iu = toComplex(cos(2.0*u)) + timesI(toComplex(2.0*u));
+	emiu = toComplex(cos(u)) - timesI(toComplex(sin(u)));
+	e2iu = toComplex(cos(2.0*u)) + timesI(toComplex(sin(2.0*u)));
 
 	r01 = (toComplex(2.0*u) + timesI(toComplex(2.0*(u2-w2)))) * e2iu
 	  + emiu * (toComplex(16.0*u*cosw + 2.0*u*(3.0*u2+w2)*xi0) +
@@ -174,7 +178,7 @@ namespace Grid {
 	
 		
       }
-      
+     //==================================================================== 
     public:
       GaugeField* ThinLinks;      /*!< @brief Pointer to the thin 
 				    links configuration */
@@ -201,12 +205,14 @@ namespace Grid {
       // attach the smeared routines to the thin links U and fill the smeared set
       void set_GaugeField(GaugeField& U){ fill_smearedSet(U);}
       
+      //====================================================================
       void smeared_force(GaugeField& SigmaTilde) const{
 	if (smearingLevels > 0){
-	  GaugeField force = SigmaTilde;//actually = U*SigmaTilde, check this for Grid
+	  GaugeField force = SigmaTilde;//actually = U*SigmaTilde
 	  GaugeLinkField tmp_mu(SigmaTilde._grid);
 	  
 	  for (int mu = 0; mu < Nd; mu++){
+	    // to get SigmaTilde
 	    tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
 	    pokeLorentz(force, tmp_mu, mu);
 	  }
@@ -221,7 +227,8 @@ namespace Grid {
 	  }
 	}// if smearingLevels = 0 do nothing
       }
-      
+      //====================================================================
+
       
       GaugeField& get_SmearedU(){ 
 	return SmearedSet[smearingLevels-1];
@@ -230,10 +237,22 @@ namespace Grid {
       GaugeField& get_U(bool smeared=false) { 
 	// get the config, thin links by default
 	if (smeared){
-	  if (smearingLevels) return get_SmearedU();
-	  else                return *ThinLinks;
+	  if (smearingLevels){ 
+	    RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(SmearedSet[smearingLevels-1]);
+	    std::cout<< GridLogDebug << "getting U Plaq: " << impl_plaq<< std::endl;
+	    return get_SmearedU();
+	    
+	  }
+	  else  {
+	    RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
+	    std::cout<< GridLogDebug << "getting Thin Plaq: " << impl_plaq<< std::endl;
+              return *ThinLinks;
+	  }
 	}
-	else return *ThinLinks;
+	else{
+	    RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
+	    std::cout<< GridLogDebug << "getting Thin Plaq: " << impl_plaq<< std::endl;
+	    return *ThinLinks;}
       }
       
     };
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index ede204c3..5b5e4ba3 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -33,7 +33,7 @@ namespace Grid {
       
       void smear(GaugeField& u_smr,const GaugeField& U) const{
 	GaugeField C(U._grid);
-	GaugeLinkField tmp(U._grid), q_mu(U._grid), Umu(U._grid);
+	GaugeLinkField tmp(U._grid), iq_mu(U._grid), Umu(U._grid);
 	
 	std::cout<< GridLogDebug << "Stout smearing started\n";
 	
@@ -42,8 +42,8 @@ namespace Grid {
 	for (int mu = 0; mu<Nd; mu++){
 	  tmp = peekLorentz(C,mu);
 	  Umu = peekLorentz(U,mu);
-	  q_mu = Ta(tmp * adj(Umu)); // q_mu = Ta(Omega_mu)
-	  exponentiate_iQ(tmp, q_mu);  
+	  iq_mu = Ta(tmp * adj(Umu)); // iq_mu = Ta(Omega_mu) to match the signs with the paper
+	  exponentiate_iQ(tmp, iq_mu);  
 	  pokeLorentz(u_smr, tmp*Umu, mu);// u_smr = exp(iQ_mu)*U_mu
 	}
 	
@@ -68,6 +68,10 @@ namespace Grid {
 
 	// only one Lorentz direction at a time 
 
+	// notice that it actually computes
+	// exp ( input matrix )  
+	// the i sign is coming from outside
+	// input matrix is anti-hermitian NOT hermitian
 
 	GridBase *grid = iQ._grid;
 	GaugeLinkField unity(grid);
@@ -94,6 +98,7 @@ namespace Grid {
 	GridBase *grid = u._grid;
 	LatticeReal c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
 
+	// sign in c0 from the conventions on the Ta
 	c0    = - toReal(imag(trace(iQ3))) * one_over_three;
 	c1    = - toReal(real(trace(iQ2))) * one_over_two;
 	tmp   = c1 * one_over_three;
@@ -101,7 +106,7 @@ namespace Grid {
 	
 	theta = acos(c0/c0max);
 	u = sqrt(tmp) * cos( theta * one_over_three);
-	w = sqrt(c1) * sin ( theta * one_over_three);
+	w = sqrt(c1)  * sin( theta * one_over_three);
       }
 
       void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
diff --git a/lib/qcd/utils/WilsonLoops.h b/lib/qcd/utils/WilsonLoops.h
index 9f1d5e19..93da5e44 100644
--- a/lib/qcd/utils/WilsonLoops.h
+++ b/lib/qcd/utils/WilsonLoops.h
@@ -197,7 +197,7 @@ namespace Grid {
 				     Gimpl::CovShiftForward (U[nu],nu, 
 							     Gimpl::CovShiftBackward(U[mu],mu,
 										     Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
-
+  
 	  //  __ 
 	  // |   
 	  // |__ 
@@ -216,27 +216,25 @@ namespace Grid {
       //////////////////////////////////////////////////
       static void StapleUpper(GaugeMat &staple,const GaugeLorentz &Umu,int mu, int nu){
 
-	GridBase *grid = Umu._grid;
-
-	std::vector<GaugeMat> U(4,grid);
-	for(int d=0;d<Nd;d++){
-	  U[d] = PeekIndex<LorentzIndex>(Umu,d);
-	}
 	staple = zero;
 
-
-    
 	if(nu != mu) {
-      
+	  GridBase *grid = Umu._grid;
+	  
+	  std::vector<GaugeMat> U(4,grid);
+	  for(int d=0;d<Nd;d++){
+	    U[d] = PeekIndex<LorentzIndex>(Umu,d);
+	  }
+	  
 	  // mu
 	  // ^
 	  // |__>  nu
-      
+	  
 	  //    __ 
 	  //      |
 	  //    __|
 	  //
-
+	  
 	  staple+=Gimpl::ShiftStaple(
 				     Gimpl::CovShiftForward (U[nu],nu, 
 							     Gimpl::CovShiftBackward(U[mu],mu,
diff --git a/tests/Test_hmc_EOWilsonFermionGauge.cc b/tests/Test_hmc_EOWilsonFermionGauge.cc
index 13828c51..d9634666 100644
--- a/tests/Test_hmc_EOWilsonFermionGauge.cc
+++ b/tests/Test_hmc_EOWilsonFermionGauge.cc
@@ -66,7 +66,7 @@ public:
 
     TwoFlavourEvenOddPseudoFermionAction<ImplPolicy> Nf2(FermOp,CG,CG);
 
-    Nf2.is_smeared=false;
+    Nf2.is_smeared=true;
     
     //Collect actions
     ActionLevel<LatticeGaugeField> Level1(1);

From 565e9329bab1db137f8502a84e5e25007aef0073 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Thu, 30 Jun 2016 16:51:03 +0100
Subject: [PATCH 010/295] Changed the colouring classes

---
 benchmarks/Benchmark_dwf_ntpf                | Bin 0 -> 1129544 bytes
 benchmarks/Benchmark_zmm                     | Bin 0 -> 1112672 bytes
 configure                                    |  27 +++--
 lib/.dirstamp                                |   0
 lib/Init.cc                                  |  41 ++++---
 lib/Log.cc                                   |  35 +++---
 lib/Log.h                                    | 120 +++++++++++++------
 lib/algorithms/approx/.dirstamp              |   0
 lib/communicator/.dirstamp                   |   0
 lib/pugixml/.dirstamp                        |   0
 lib/qcd/action/fermion/.dirstamp             |   0
 lib/qcd/action/fermion/FermionOperatorImpl.h |   2 +-
 lib/qcd/hmc/.dirstamp                        |   0
 lib/qcd/spin/.dirstamp                       |   0
 lib/qcd/utils/.dirstamp                      |   0
 lib/serialisation/.dirstamp                  |   0
 lib/stamp-h1                                 |   1 -
 lib/stencil/.dirstamp                        |   0
 tests/Test_main.cc                           |   4 +-
 19 files changed, 149 insertions(+), 81 deletions(-)
 create mode 100755 benchmarks/Benchmark_dwf_ntpf
 create mode 100755 benchmarks/Benchmark_zmm
 delete mode 100644 lib/.dirstamp
 delete mode 100644 lib/algorithms/approx/.dirstamp
 delete mode 100644 lib/communicator/.dirstamp
 delete mode 100644 lib/pugixml/.dirstamp
 delete mode 100644 lib/qcd/action/fermion/.dirstamp
 delete mode 100644 lib/qcd/hmc/.dirstamp
 delete mode 100644 lib/qcd/spin/.dirstamp
 delete mode 100644 lib/qcd/utils/.dirstamp
 delete mode 100644 lib/serialisation/.dirstamp
 delete mode 100644 lib/stamp-h1
 delete mode 100644 lib/stencil/.dirstamp

diff --git a/benchmarks/Benchmark_dwf_ntpf b/benchmarks/Benchmark_dwf_ntpf
new file mode 100755
index 0000000000000000000000000000000000000000..ab9999c95d78f292549bb20fb7a0f7b6d3eca177
GIT binary patch
literal 1129544
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%0DC@4nsV2UvRj4LO
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

literal 0
HcmV?d00001

diff --git a/benchmarks/Benchmark_zmm b/benchmarks/Benchmark_zmm
new file mode 100755
index 0000000000000000000000000000000000000000..c7eebe18622ea923315eac68287860abbbe95ecd
GIT binary patch
literal 1112672
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
S^#0>tA^dIK!@mIf`~M%hmFf`y

literal 0
HcmV?d00001

diff --git a/configure b/configure
index 1ab3998e..7b484b67 100755
--- a/configure
+++ b/configure
@@ -721,6 +721,7 @@ infodir
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -802,6 +803,7 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1054,6 +1056,15 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1191,7 +1202,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
+		libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1344,6 +1355,7 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -2569,7 +2581,7 @@ test -n "$target_alias" &&
     NONENONEs,x,x, &&
   program_prefix=${target_alias}-
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2741,8 +2753,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2761,7 +2773,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3089,8 +3101,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -3149,6 +3161,7 @@ END
 fi
 
 
+
 ac_config_headers="$ac_config_headers lib/Config.h"
 
 # Check whether --enable-silent-rules was given.
diff --git a/lib/.dirstamp b/lib/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/lib/Init.cc b/lib/Init.cc
index 1d3fe642..1757e519 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -237,24 +237,33 @@ void Grid_init(int *argc,char ***argv)
     std::cout<<GridLogMessage<<"\tvComplexD      : "<<sizeof(vComplexD)*8 <<"bits ; " <<GridCmdVectorIntToString(GridDefaultSimd(4,vComplexD::Nsimd()))<<std::endl;
   }
 
+  std::string COL_RED    = GridLogColours.colour["RED"];
+  std::string COL_PURPLE = GridLogColours.colour["PURPLE"];
+  std::string COL_BLACK  = GridLogColours.colour["BLACK"];
+  std::string COL_GREEN  = GridLogColours.colour["GREEN"];
+  std::string COL_BLUE   = GridLogColours.colour["BLUE"];
+  std::string COL_YELLOW = GridLogColours.colour["YELLOW"];
+  std::string COL_BACKGROUND = GridLogColours.colour["NORMAL"];
+
+  
   std::cout <<std::endl;
-  std::cout <<Logger::RED  << "__|__|__|__|__"<<             "|__|__|_"<<Logger::PURPLE<<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
-  std::cout <<Logger::RED  << "__|__|__|__|__"<<             "|__|__|_"<<Logger::PURPLE<<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
-  std::cout <<Logger::RED  << "__|__|  |  |  "<<             "|  |  | "<<Logger::PURPLE<<" |  |  |"<<                "  |  |  | _|__"<<std::endl; 
-  std::cout <<Logger::RED  << "__|__         "<<             "        "<<Logger::PURPLE<<"        "<<                "          _|__"<<std::endl; 
-  std::cout <<Logger::RED  << "__|_  "<<Logger::GREEN<<" GGGG   "<<Logger::RED<<" RRRR   "<<Logger::BLUE  <<" III    "<<Logger::PURPLE<<"DDDD  "<<Logger::PURPLE<<"    _|__"<<std::endl;
-  std::cout <<Logger::RED  << "__|_  "<<Logger::GREEN<<"G       "<<Logger::RED<<" R   R  "<<Logger::BLUE  <<"  I     "<<Logger::PURPLE<<"D   D "<<Logger::PURPLE<<"    _|__"<<std::endl;
-  std::cout <<Logger::RED  << "__|_  "<<Logger::GREEN<<"G       "<<Logger::RED<<" R   R  "<<Logger::BLUE  <<"  I     "<<Logger::PURPLE<<"D    D"<<Logger::PURPLE<<"    _|__"<<std::endl;
-  std::cout <<Logger::BLUE << "__|_  "<<Logger::GREEN<<"G  GG   "<<Logger::RED<<" RRRR   "<<Logger::BLUE  <<"  I     "<<Logger::PURPLE<<"D    D"<<Logger::GREEN <<"    _|__"<<std::endl;
-  std::cout <<Logger::BLUE << "__|_  "<<Logger::GREEN<<"G   G   "<<Logger::RED<<" R  R   "<<Logger::BLUE  <<"  I     "<<Logger::PURPLE<<"D   D "<<Logger::GREEN <<"    _|__"<<std::endl;
-  std::cout <<Logger::BLUE << "__|_  "<<Logger::GREEN<<" GGGG   "<<Logger::RED<<" R   R  "<<Logger::BLUE  <<" III    "<<Logger::PURPLE<<"DDDD  "<<Logger::GREEN <<"    _|__"<<std::endl;
-  std::cout <<Logger::BLUE << "__|__         "<<             "        "<<Logger::GREEN <<"        "<<                "          _|__"<<std::endl; 
-  std::cout <<Logger::BLUE << "__|__|__|__|__"<<             "|__|__|_"<<Logger::GREEN <<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
-  std::cout <<Logger::BLUE << "__|__|__|__|__"<<             "|__|__|_"<<Logger::GREEN <<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
-  std::cout <<Logger::BLUE << "  |  |  |  |  "<<             "|  |  | "<<Logger::GREEN <<" |  |  |"<<                "  |  |  |  |  "<<std::endl; 
+  std::cout <<COL_RED  << "__|__|__|__|__"<<             "|__|__|_"<<COL_PURPLE<<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
+  std::cout <<COL_RED  << "__|__|__|__|__"<<             "|__|__|_"<<COL_PURPLE<<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
+  std::cout <<COL_RED  << "__|__|  |  |  "<<             "|  |  | "<<COL_PURPLE<<" |  |  |"<<                "  |  |  | _|__"<<std::endl; 
+  std::cout <<COL_RED  << "__|__         "<<             "        "<<COL_PURPLE<<"        "<<                "          _|__"<<std::endl; 
+  std::cout <<COL_RED  << "__|_  "<<COL_GREEN<<" GGGG   "<<COL_RED<<" RRRR   "<<COL_BLUE  <<" III    "<<COL_PURPLE<<"DDDD  "<<COL_PURPLE<<"    _|__"<<std::endl;
+  std::cout <<COL_RED  << "__|_  "<<COL_GREEN<<"G       "<<COL_RED<<" R   R  "<<COL_BLUE  <<"  I     "<<COL_PURPLE<<"D   D "<<COL_PURPLE<<"    _|__"<<std::endl;
+  std::cout <<COL_RED  << "__|_  "<<COL_GREEN<<"G       "<<COL_RED<<" R   R  "<<COL_BLUE  <<"  I     "<<COL_PURPLE<<"D    D"<<COL_PURPLE<<"    _|__"<<std::endl;
+  std::cout <<COL_BLUE << "__|_  "<<COL_GREEN<<"G  GG   "<<COL_RED<<" RRRR   "<<COL_BLUE  <<"  I     "<<COL_PURPLE<<"D    D"<<COL_GREEN <<"    _|__"<<std::endl;
+  std::cout <<COL_BLUE << "__|_  "<<COL_GREEN<<"G   G   "<<COL_RED<<" R  R   "<<COL_BLUE  <<"  I     "<<COL_PURPLE<<"D   D "<<COL_GREEN <<"    _|__"<<std::endl;
+  std::cout <<COL_BLUE << "__|_  "<<COL_GREEN<<" GGGG   "<<COL_RED<<" R   R  "<<COL_BLUE  <<" III    "<<COL_PURPLE<<"DDDD  "<<COL_GREEN <<"    _|__"<<std::endl;
+  std::cout <<COL_BLUE << "__|__         "<<             "        "<<COL_GREEN <<"        "<<                "          _|__"<<std::endl; 
+  std::cout <<COL_BLUE << "__|__|__|__|__"<<             "|__|__|_"<<COL_GREEN <<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
+  std::cout <<COL_BLUE << "__|__|__|__|__"<<             "|__|__|_"<<COL_GREEN <<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
+  std::cout <<COL_BLUE << "  |  |  |  |  "<<             "|  |  | "<<COL_GREEN <<" |  |  |"<<                "  |  |  |  |  "<<std::endl; 
   std::cout << std::endl;
   std::cout << std::endl;
-  std::cout <<Logger::YELLOW<< std::endl;
+  std::cout <<COL_YELLOW<< std::endl;
   std::cout << "Copyright (C) 2015 Peter Boyle, Azusa Yamaguchi, Guido Cossu, Antonin Portelli and other authors"<<std::endl;
   std::cout << "Colours by Tadahito Boyle "<<std::endl;
   std::cout << std::endl;
@@ -267,7 +276,7 @@ void Grid_init(int *argc,char ***argv)
   std::cout << "but WITHOUT ANY WARRANTY; without even the implied warranty of"<<std::endl;
   std::cout << "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the"<<std::endl;
   std::cout << "GNU General Public License for more details."<<std::endl;
-  std::cout << Logger::BLACK <<std::endl;
+  std::cout << COL_BACKGROUND <<std::endl;
 }
 
   
diff --git a/lib/Log.cc b/lib/Log.cc
index 911ab0d0..e801bbf7 100644
--- a/lib/Log.cc
+++ b/lib/Log.cc
@@ -31,26 +31,18 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #include <Grid.h>
 
 namespace Grid {
-
-GridStopWatch Logger::StopWatch;
-std::ostream  Logger::devnull(0);
-std::string Logger::BLACK("\033[30m");
-std::string Logger::RED("\033[31m");
-std::string Logger::GREEN("\033[32m");
-std::string Logger::YELLOW("\033[33m");
-std::string Logger::BLUE("\033[34m");
-std::string Logger::PURPLE("\033[35m");
-std::string Logger::CYAN("\033[36m");
-std::string Logger::WHITE("\033[37m");
-std::string Logger::NORMAL("\033[0;39m");
-
-  GridLogger GridLogError      (1,"Error",Logger::RED);
-  GridLogger GridLogWarning    (1,"Warning",Logger::YELLOW);
-  GridLogger GridLogMessage    (1,"Message",Logger::BLACK);
-  GridLogger GridLogDebug      (1,"Debug",Logger::PURPLE);
-  GridLogger GridLogPerformance(1,"Performance",Logger::GREEN);
-  GridLogger GridLogIterative  (1,"Iterative",Logger::BLUE);
-  GridLogger GridLogIntegrator (1,"Integrator",Logger::BLUE);
+  
+  GridStopWatch Logger::StopWatch;
+  std::ostream  Logger::devnull(0);
+  
+  Colours    GridLogColours    (0);
+  GridLogger GridLogError      (1,"Error",GridLogColours, "RED");
+  GridLogger GridLogWarning    (1,"Warning",GridLogColours, "YELLOW");
+  GridLogger GridLogMessage    (1,"Message",GridLogColours, "NORMAL");
+  GridLogger GridLogDebug      (1,"Debug",GridLogColours, "PURPLE");
+  GridLogger GridLogPerformance(1,"Performance",GridLogColours, "GREEN");
+  GridLogger GridLogIterative  (1,"Iterative",GridLogColours, "BLUE");
+  GridLogger GridLogIntegrator (1,"Integrator",GridLogColours, "BLUE");
 
 void GridLogConfigure(std::vector<std::string> &logstreams)
 {
@@ -61,6 +53,7 @@ void GridLogConfigure(std::vector<std::string> &logstreams)
   GridLogDebug.Active(0);
   GridLogPerformance.Active(0);
   GridLogIntegrator.Active(0);
+  GridLogColours.Active(0);
 
   for(int i=0;i<logstreams.size();i++){
     if ( logstreams[i]== std::string("Error")       ) GridLogError.Active(1);
@@ -70,6 +63,8 @@ void GridLogConfigure(std::vector<std::string> &logstreams)
     if ( logstreams[i]== std::string("Debug")       ) GridLogDebug.Active(1);
     if ( logstreams[i]== std::string("Performance") ) GridLogPerformance.Active(1);
     if ( logstreams[i]== std::string("Integrator" ) ) GridLogIntegrator.Active(1);
+    if ( logstreams[i]== std::string("Colours" )    ) GridLogColours.Active(1);
+     
   }
 }
 
diff --git a/lib/Log.h b/lib/Log.h
index 9119cc4f..9f721d33 100644
--- a/lib/Log.h
+++ b/lib/Log.h
@@ -27,45 +27,94 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
+
+#include <map>
+
 #ifndef GRID_LOG_H
 #define GRID_LOG_H
 namespace Grid {
-
-// Dress the output; use std::chrono for time stamping via the StopWatch class
+  
+  // Dress the output; use std::chrono for time stamping via the StopWatch class
 
 
-class Logger {
-protected:
+  class Colours{
+  protected:
+    bool is_active;
+  public:
+    std::map<std::string, std::string> colour;
+    
+   
+    Colours(bool activate=false){
+      Active(activate);
+    };
+
+    
+    void Active(bool activate){
+      is_active=activate;
+      
+      if (is_active){
+	colour["BLACK"]  ="\033[30m";
+	colour["RED"]    ="\033[31m";
+	colour["GREEN"]  ="\033[32m";
+	colour["YELLOW"] ="\033[33m";
+	colour["BLUE"]   ="\033[34m";
+	colour["PURPLE"] ="\033[35m";
+	colour["CYAN"]   ="\033[36m";
+	colour["WHITE"]  ="\033[37m";
+	colour["NORMAL"] ="\033[0;39m";
+      } else {
+	std::cout << "Switching off colours\n";
+      colour["BLACK"] ="";
+      colour["RED"]   ="";
+      colour["GREEN"] ="";
+      colour["YELLOW"]="";
+      colour["BLUE"]  ="";
+      colour["PURPLE"]="";
+      colour["CYAN"]  ="";
+      colour["WHITE"] ="";
+      colour["NORMAL"]="";
+      }
+
+      
+    };
+    
+  };
+    
+  
+  class Logger {
+  protected:
+    Colours &Painter;
     int active;
-    std::string name, topName, COLOUR;
-public:
+    std::string name, topName;
+    std::string COLOUR;
+
+  public:
     static GridStopWatch StopWatch;
     static std::ostream devnull;
-
-    static std::string BLACK;
-    static std::string RED  ;
-    static std::string GREEN;
-    static std::string YELLOW;
-    static std::string BLUE  ;
-    static std::string PURPLE;
-    static std::string CYAN  ;
-    static std::string WHITE ;
-    static std::string NORMAL;
     
- Logger(std::string topNm, int on, std::string nm,std::string col)
-   : active(on), name(nm), topName(topNm), COLOUR(col) {};
+    std::string background() {return Painter.colour["NORMAL"];}
+    std::string evidence() {return Painter.colour["YELLOW"];}
+    std::string colour() {return Painter.colour[COLOUR];}
     
-    void Active(int on) {active = on;};
-    int  isActive(void) {return active;};
-    
-    friend std::ostream& operator<< (std::ostream& stream, const Logger& log){
-        if ( log.active ) {
+    Logger(std::string topNm, int on, std::string nm, Colours& col_class, std::string col)
+      : active(on),
+	name(nm),
+	topName(topNm),
+	Painter(col_class),
+	COLOUR(col){} ;
+  
+  void Active(int on) {active = on;};
+  int  isActive(void) {return active;};
+  
+  friend std::ostream& operator<< (std::ostream& stream, Logger& log){
+      
+    if ( log.active ) {
             StopWatch.Stop();
             GridTime now = StopWatch.Elapsed();
             StopWatch.Start();
-            stream << BLACK<< log.topName << BLACK<< " : ";
-            stream << log.COLOUR <<std::setw(10) << std::left << log.name << BLACK << " : ";
-            stream << YELLOW<< now <<BLACK << " : " << log.COLOUR;
+            stream << log.background()<< log.topName << log.background()<< " : ";
+            stream << log.colour() <<std::setw(10) << std::left << log.name << log.background() << " : ";
+            stream << log.evidence()<< now << log.background() << " : " << log.colour();
             return stream;
         } else { 
             return devnull;
@@ -76,18 +125,21 @@ public:
     
 class GridLogger: public Logger {
 public:
- GridLogger(int on, std::string nm, std::string col = Logger::BLACK): Logger("Grid", on, nm, col){};
+  GridLogger(int on, std::string nm, Colours&col_class, std::string col_key = "NORMAL"):
+    Logger("Grid", on, nm, col_class, col_key){};
 };
 
 void GridLogConfigure(std::vector<std::string> &logstreams);
 
-extern GridLogger GridLogError;
-extern GridLogger GridLogWarning;
-extern GridLogger GridLogMessage;
-extern GridLogger GridLogDebug  ;
-extern GridLogger GridLogPerformance;
-extern GridLogger GridLogIterative  ;
-extern GridLogger GridLogIntegrator  ;
+  extern GridLogger GridLogError;
+  extern GridLogger GridLogWarning;
+  extern GridLogger GridLogMessage;
+  extern GridLogger GridLogDebug  ;
+  extern GridLogger GridLogPerformance;
+  extern GridLogger GridLogIterative  ;
+  extern GridLogger GridLogIntegrator  ;
+  extern Colours    GridLogColours;
 
+  
 }
 #endif
diff --git a/lib/algorithms/approx/.dirstamp b/lib/algorithms/approx/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/lib/communicator/.dirstamp b/lib/communicator/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/lib/pugixml/.dirstamp b/lib/pugixml/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/lib/qcd/action/fermion/.dirstamp b/lib/qcd/action/fermion/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 312a8e41..d4a6557b 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -99,7 +99,7 @@ namespace Grid {
     typedef typename Impl::SiteSpinor               SiteSpinor;		\
     typedef typename Impl::SiteHalfSpinor       SiteHalfSpinor;		\
     typedef typename Impl::Compressor               Compressor;		\
-    typedef typename Impl::StencilImpl              StencilImpl;	\
+    typedef typename Impl::StencilImpl             StencilImpl;	  \
     typedef typename Impl::ImplParams ImplParams;
 
 #define INHERIT_IMPL_TYPES(Base) \
diff --git a/lib/qcd/hmc/.dirstamp b/lib/qcd/hmc/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/lib/qcd/spin/.dirstamp b/lib/qcd/spin/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/lib/qcd/utils/.dirstamp b/lib/qcd/utils/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/lib/serialisation/.dirstamp b/lib/serialisation/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/lib/stamp-h1 b/lib/stamp-h1
deleted file mode 100644
index 1b3b5f4c..00000000
--- a/lib/stamp-h1
+++ /dev/null
@@ -1 +0,0 @@
-timestamp for lib/Config.h
diff --git a/lib/stencil/.dirstamp b/lib/stencil/.dirstamp
deleted file mode 100644
index e69de29b..00000000
diff --git a/tests/Test_main.cc b/tests/Test_main.cc
index 9236fae1..3cbe5229 100644
--- a/tests/Test_main.cc
+++ b/tests/Test_main.cc
@@ -607,7 +607,7 @@ int main (int argc, char ** argv)
  } // loop for omp
 
 
-
+ /*
  // Testing Smearing routine compilation, separate in a different file
  GridCartesian           Fine(latt_size,simd_layout,mpi_layout);
  Smear_APE< PeriodicGimplR > APEsmearing; // periodic gauge implemetation
@@ -615,6 +615,6 @@ int main (int argc, char ** argv)
  SmearedConfiguration< PeriodicGimplR > SmartConf(&Fine, 3, StoutSmearing);
  
  std::cout<<GridLogMessage << sizeof(vComplexF) << std::endl;
- 
+ */
  Grid_finalize();
 }

From 092fa0d8dab94f5d177ac36ab6a36a07e80c1990 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 1 Jul 2016 16:06:20 +0100
Subject: [PATCH 011/295] Debugged set_fj, to be fixed: BUG in imag()

---
 lib/Log.h                             |   1 -
 lib/qcd/hmc/integrators/Integrator.h  |   6 +-
 lib/qcd/smearing/APEsmearing.h        | 116 +++++++--------
 lib/qcd/smearing/GaugeConfiguration.h | 203 +++++++++++++-------------
 lib/qcd/smearing/StoutSmearing.h      | 135 ++++++++---------
 5 files changed, 233 insertions(+), 228 deletions(-)

diff --git a/lib/Log.h b/lib/Log.h
index 9f721d33..c7fde889 100644
--- a/lib/Log.h
+++ b/lib/Log.h
@@ -63,7 +63,6 @@ namespace Grid {
 	colour["WHITE"]  ="\033[37m";
 	colour["NORMAL"] ="\033[0;39m";
       } else {
-	std::cout << "Switching off colours\n";
       colour["BLACK"] ="";
       colour["RED"]   ="";
       colour["GREEN"] ="";
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index e8950f22..58e1f585 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -117,10 +117,10 @@ namespace Grid{
 	  GaugeField force(U._grid);
 	  GaugeField& Us = Smearer.get_U(as[level].actions.at(a)->is_smeared);
 	  as[level].actions.at(a)->deriv(Us,force); // deriv should not include Ta
-	  std::cout<<GridLogIntegrator<< "Smearing (on/off): "<<as[level].actions.at(a)->is_smeared <<std::endl;
+	  std::cout<< GridLogIntegrator << "Smearing (on/off): "<<as[level].actions.at(a)->is_smeared <<std::endl;
 	  if (as[level].actions.at(a)->is_smeared) Smearer.smeared_force(force);
 	  force = Ta(force);
-	  std::cout<<GridLogIntegrator<< "Force average: "<< norm2(force)/(U._grid->gSites()) <<std::endl;
+	  std::cout<< GridLogIntegrator << "Force average: "<< norm2(force)/(U._grid->gSites()) <<std::endl;
 	  Mom = Mom - force*ep;
 	}
       }
@@ -130,7 +130,7 @@ namespace Grid{
 
 	t_U+=ep;
 	int fl = levels-1;
-	std::cout<<GridLogIntegrator<<"   "<<"["<<fl<<"] U " << " dt "<< ep <<" : t_U "<< t_U <<std::endl;
+	std::cout<< GridLogIntegrator <<"   "<<"["<<fl<<"] U " << " dt "<< ep <<" : t_U "<< t_U <<std::endl;
 
       }
       void update_U(GaugeField &Mom, GaugeField&U, double ep){
diff --git a/lib/qcd/smearing/APEsmearing.h b/lib/qcd/smearing/APEsmearing.h
index 30418616..894350af 100644
--- a/lib/qcd/smearing/APEsmearing.h
+++ b/lib/qcd/smearing/APEsmearing.h
@@ -5,69 +5,71 @@
 #ifndef APE_SMEAR_
 #define APE_SMEAR_
 
-namespace Grid {
-  namespace QCD {
+  namespace Grid {
+  	namespace QCD {
 
 
     /*!  @brief APE type smearing of link variables. */
     template <class Gimpl> 
-    class Smear_APE: public Smear<Gimpl>{
-    private:
+  		class Smear_APE: public Smear<Gimpl>{
+  		private:
       const std::vector<double> rho;/*!< Array of weights */
 
       //This member must be private - we do not want to control from outside 
-      std::vector<double> set_rho(const double common_rho)const {
-	std::vector<double> res;
-    
-	for(int mn=0; mn<Nd*Nd; ++mn) res.push_back(common_rho);
-	for(int mu=0; mu<Nd; ++mu) res[mu + mu*Nd] = 0.0;
-	return res;
-      }
+  			std::vector<double> set_rho(const double common_rho)const {
+  				std::vector<double> res;
 
-    public:
+  				for(int mn=0; mn<Nd*Nd; ++mn) res.push_back(common_rho);
+  					for(int mu=0; mu<Nd; ++mu) res[mu + mu*Nd] = 0.0;
+  						return res;
+  				}
+
+  			public:
       // Defines the gauge field types
-      INHERIT_GIMPL_TYPES(Gimpl)
+  				INHERIT_GIMPL_TYPES(Gimpl)
+
 
-  
       // Constructors and destructors
-      Smear_APE(const std::vector<double>& rho_):rho(rho_){}
-      Smear_APE(double rho_val):rho(set_rho(rho_val)){}
-      Smear_APE():rho(set_rho(1.0)){}
-      ~Smear_APE(){}
+  				Smear_APE(const std::vector<double>& rho_):rho(rho_){}
+  				Smear_APE(double rho_val):rho(set_rho(rho_val)){}
+  				Smear_APE():rho(set_rho(1.0)){}
+  				~Smear_APE(){}
 
       ///////////////////////////////////////////////////////////////////////////////
-      void smear(GaugeField& u_smr, const GaugeField& U)const{
-	GridBase *grid = U._grid;
-	double d_rho;
-	GaugeLinkField Cup(grid), tmp_stpl(grid);
-	WilsonLoops<Gimpl> WL;
-	u_smr = zero; 
+  				void smear(GaugeField& u_smr, const GaugeField& U)const{
+  					GridBase *grid = U._grid;
+  					double d_rho;
+  					GaugeLinkField Cup(grid), tmp_stpl(grid);
+  					WilsonLoops<Gimpl> WL;
+  					u_smr = zero; 
 
-	for(int mu=0; mu<Nd; ++mu){
-	  Cup = zero;
-	  for(int nu=0; nu<Nd; ++nu){
-	    if (nu != mu) {
-	      d_rho = rho[mu + Nd * nu];
+  					for(int mu=0; mu<Nd; ++mu){
+  						Cup = zero;
+  						for(int nu=0; nu<Nd; ++nu){
+  							if (nu != mu) {
+  								d_rho = rho[mu + Nd * nu];
 	      // get the staple in direction mu, nu
 	      WL.Staple(tmp_stpl, U, mu, nu);  //nb staple conventions of IroIro and Grid differ by a dagger
 	      Cup += tmp_stpl*d_rho;
-	    }
 	  }
+	}
 	  // save the Cup link-field on the u_smr gauge-field
 	  pokeLorentz(u_smr, adj(Cup), mu); // u_smr[mu] = Cup^dag
 	}
-      }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void derivative(GaugeField& SigmaTerm,
+	const GaugeField& iLambda,
+	const GaugeField& U)const{
 
-      ////////////////////////////////////////////////////////////////////////////////
-      void derivative(GaugeField& SigmaTerm,
-		      const GaugeField& iLambda,
-		      const GaugeField& U)const{
-    
 	// Reference 
 	// Morningstar, Peardon, Phys.Rev.D69,054501(2004)
 	// Equation 75
+    // Computing Sigma_mu, derivative of S[fat links] with respect to the thin links
+    // Output SigmaTerm
 
-    	GridBase *grid = U._grid;
+	GridBase *grid = U._grid;
 	int vol = U._grid->gSites();
 	
 	WilsonLoops<Gimpl> WL;
@@ -76,27 +78,27 @@ namespace Grid {
 	GaugeLinkField U_mu(grid), U_nu(grid);
 	GaugeLinkField sh_field(grid), temp_Sigma(grid);
 	Real rho_munu, rho_numu;
-    
-	for(int mu = 0; mu < Nd; ++mu){
-	  U_mu       = PeekIndex<LorentzIndex>(      U, mu);
-	  iLambda_mu = PeekIndex<LorentzIndex>(iLambda, mu);
-      
-	  for(int nu = 0; nu < Nd; ++nu){
-	    if(nu==mu) continue;
-	    U_nu       = PeekIndex<LorentzIndex>(      U, nu);
-	    iLambda_nu = PeekIndex<LorentzIndex>(iLambda, nu);
-	
-	    rho_munu = rho[mu + Nd * nu];
-	    rho_numu = rho[nu + Nd * mu];
-	
-	    WL.StapleUpper(staple, U, mu, nu);
 
-	    temp_Sigma = -rho_numu*staple*iLambda_nu;
+	for(int mu = 0; mu < Nd; ++mu){
+		U_mu       = PeekIndex<LorentzIndex>(      U, mu);
+		iLambda_mu = PeekIndex<LorentzIndex>(iLambda, mu);
+
+		for(int nu = 0; nu < Nd; ++nu){
+			if(nu==mu) continue;
+			U_nu       = PeekIndex<LorentzIndex>(      U, nu);
+			iLambda_nu = PeekIndex<LorentzIndex>(iLambda, nu);
+
+			rho_munu = rho[mu + Nd * nu];
+			rho_numu = rho[nu + Nd * mu];
+
+			WL.StapleUpper(staple, U, mu, nu);
+
+			temp_Sigma = -rho_numu*staple*iLambda_nu;
 	    //-r_numu*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)*Lambda_nu(x)
-	    Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+			Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
 
 	    sh_field = Cshift(iLambda_nu, mu, 1);// general also for Gparity?
-	
+
 	    temp_Sigma = rho_numu*sh_field*staple;
 	    //r_numu*Lambda_nu(mu)*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)
 	    Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
@@ -119,10 +121,10 @@ namespace Grid {
 	    sh_field = Cshift(temp_Sigma, nu, -1);
 	    Gimpl::AddGaugeLink(SigmaTerm, sh_field, mu);
 	    
-	  }
 	}
-      }
-    };
+}
+}
+};
 
 
 
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index a87a7ef4..2202d545 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -6,10 +6,10 @@
 #ifndef GAUGE_CONFIG_
 #define GAUGE_CONFIG_
 
-namespace Grid {
-  
-  namespace QCD {
-    
+  namespace Grid {
+
+  	namespace QCD {
+
     /*!
       @brief Smeared configuration container
       
@@ -23,42 +23,43 @@ namespace Grid {
     */
     template <class Gimpl>
       class SmearedConfiguration {
-    public:
-      INHERIT_GIMPL_TYPES(Gimpl) ;
-      
-    private:
-      const unsigned int smearingLevels;
-      Smear_Stout<Gimpl> StoutSmearing;
-      std::vector<GaugeField> SmearedSet;
-      
+      public:
+      	INHERIT_GIMPL_TYPES(Gimpl) ;
+
+      private:
+      	const unsigned int smearingLevels;
+      	Smear_Stout<Gimpl> StoutSmearing;
+      	std::vector<GaugeField> SmearedSet;
+
       // Member functions
       //====================================================================
-      void fill_smearedSet(GaugeField& U){
+      	void fill_smearedSet(GaugeField& U){
 	ThinLinks = &U; //attach the smearing routine to the field U
 
 	//check the pointer is not null
 	if (ThinLinks==NULL) 
-	  std::cout << GridLogError << "[SmearedConfiguration] Error in ThinLinks pointer\n";
+		std::cout << GridLogError << "[SmearedConfiguration] Error in ThinLinks pointer\n";
 	
 	if (smearingLevels > 0){
-	  std::cout<< GridLogDebug << "[SmearedConfiguration] Filling SmearedSet\n";
-	  GaugeField previous_u(ThinLinks->_grid);
-	  
-	  previous_u = *ThinLinks;
-	  for(int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl){
-	    StoutSmearing.smear(SmearedSet[smearLvl],previous_u);
-	    previous_u = SmearedSet[smearLvl];
+		std::cout<< GridLogDebug << "[SmearedConfiguration] Filling SmearedSet\n";
+		GaugeField previous_u(ThinLinks->_grid);
 
-	    RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(previous_u);
-	    std::cout<< GridLogDebug << "[SmearedConfiguration] Plaq: " << impl_plaq<< std::endl;
+		previous_u = *ThinLinks;
+		for(int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl){
+			StoutSmearing.smear(SmearedSet[smearLvl],previous_u);
+			previous_u = SmearedSet[smearLvl];
 
-	  }
+	    // For debug purposes
+			RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(previous_u);
+			std::cout<< GridLogDebug << "[SmearedConfiguration] Plaq: " << impl_plaq<< std::endl;
+
+		}
 
 	}
-      }
+}
       //====================================================================
-      GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime, 
-				      const GaugeField& GaugeK) const{
+GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime, 
+	const GaugeField& GaugeK) const{
 	GridBase *grid = GaugeK._grid;
 	GaugeField C(grid), SigmaK(grid), iLambda(grid);
 	GaugeLinkField iLambda_mu(grid);
@@ -69,27 +70,27 @@ namespace Grid {
 	StoutSmearing.BaseSmear(C, GaugeK);
 
 	for (int mu = 0; mu < Nd; mu++){
-	  Cmu            = peekLorentz(     C,mu);
-	  GaugeKmu       = peekLorentz(GaugeK,mu);
-	  SigmaKPrime_mu = peekLorentz(SigmaKPrime,mu);
-	  iQ = Ta(Cmu*adj(GaugeKmu));
-	  set_iLambda(iLambda_mu, e_iQ, iQ, SigmaKPrime_mu, GaugeKmu);
-	  pokeLorentz(SigmaK, SigmaKPrime_mu*e_iQ + adj(Cmu)*iLambda_mu, mu);
-	  pokeLorentz(iLambda, iLambda_mu, mu);
+		Cmu            = peekLorentz(     C,mu);
+		GaugeKmu       = peekLorentz(GaugeK,mu);
+		SigmaKPrime_mu = peekLorentz(SigmaKPrime,mu);
+		iQ = Ta(Cmu*adj(GaugeKmu));
+		set_iLambda(iLambda_mu, e_iQ, iQ, SigmaKPrime_mu, GaugeKmu);
+		pokeLorentz(SigmaK, SigmaKPrime_mu*e_iQ + adj(Cmu)*iLambda_mu, mu);
+		pokeLorentz(iLambda, iLambda_mu, mu);
 	}
 	StoutSmearing.derivative(SigmaK, iLambda, GaugeK);// derivative of SmearBase
 	return SigmaK;
-      }
+}
       /*! @brief Returns smeared configuration at level 'Level' */
-      const GaugeField& get_smeared_conf(int Level) const{
+const GaugeField& get_smeared_conf(int Level) const{
 	return SmearedSet[Level];
-      }
+}
       //====================================================================
-      void set_iLambda(GaugeLinkField& iLambda, 
-		       GaugeLinkField& e_iQ,
-		       const GaugeLinkField& iQ, 
-		       const GaugeLinkField& Sigmap,
-		       const GaugeLinkField& GaugeK)const{
+void set_iLambda(GaugeLinkField& iLambda, 
+	GaugeLinkField& e_iQ,
+	const GaugeLinkField& iQ, 
+	const GaugeLinkField& Sigmap,
+	const GaugeLinkField& GaugeK)const{
 	GridBase *grid = iQ._grid;
 	GaugeLinkField iQ2(grid), iQ3(grid), B1(grid), B2(grid), USigmap(grid);
 	GaugeLinkField unity(grid);
@@ -103,9 +104,9 @@ namespace Grid {
 	LatticeComplex r01(grid), r11(grid), r21(grid), r02(grid), r12(grid);
 	LatticeComplex r22(grid), tr1(grid), tr2(grid);
 	LatticeComplex b10(grid), b11(grid), b12(grid), b20(grid), b21(grid), b22(grid);
-	LatticeReal unitReal(grid);
+	LatticeReal LatticeUnitReal(grid);
 
-	unitReal = 1.0;
+	LatticeUnitReal = 1.0;
 	
 	// Exponential
 	iQ2 = iQ * iQ;
@@ -125,19 +126,19 @@ namespace Grid {
 	e2iu = toComplex(cos(2.0*u)) + timesI(toComplex(sin(2.0*u)));
 
 	r01 = (toComplex(2.0*u) + timesI(toComplex(2.0*(u2-w2)))) * e2iu
-	  + emiu * (toComplex(16.0*u*cosw + 2.0*u*(3.0*u2+w2)*xi0) +
-		    timesI(toComplex(-8.0*u2*cosw + 2.0*(9.0*u2+w2)*xi0)));
+	+ emiu * (toComplex(16.0*u*cosw + 2.0*u*(3.0*u2+w2)*xi0) +
+		timesI(toComplex(-8.0*u2*cosw + 2.0*(9.0*u2+w2)*xi0)));
 	
-	r11 = (toComplex(2.0*unitReal) + timesI(toComplex(4.0*u)))* e2iu
-	  + emiu * (toComplex(-2.0*cosw + (3.0*u2-w2)*xi0) +
-		    timesI(toComplex(2.0*u*cosw + 6.0*u*xi0)));
+	r11 = (toComplex(2.0*LatticeUnitReal) + timesI(toComplex(4.0*u)))* e2iu
+	+ emiu * (toComplex(-2.0*cosw + (3.0*u2-w2)*xi0) +
+		timesI(toComplex(2.0*u*cosw + 6.0*u*xi0)));
 
-	r21 = timesI(toComplex(2.0*unitReal)) * e2iu
-	  + emiu * (toComplex(-3.0*u*xi0) + timesI(toComplex(cosw - 3.0*xi0)));
+	r21 = 2.0*timesI(e2iu)
+	+ emiu * (toComplex(-3.0*u*xi0) + timesI(toComplex(cosw - 3.0*xi0)));
 
 	
 	r02 = -2.0 * e2iu + emiu * (toComplex(-8.0*u2*xi0) +
-				    timesI(toComplex(2.0*u*(cosw + xi0 + 3.0*u2*xi1))));
+		timesI(toComplex(2.0*u*(cosw + xi0 + 3.0*u2*xi1))));
 
 	r12 = emiu * (toComplex(2.0*u*xi0) + timesI(toComplex(-cosw - xi0 + 3.0*u2*xi1)));
 
@@ -172,34 +173,34 @@ namespace Grid {
 	GaugeLinkField USQ = USigmap * timesMinusI(iQ);
 
 	GaugeLinkField iGamma = tr1 * timesMinusI(iQ) - tr2 * iQ2 +
-	  f1 * USigmap + f2 * QUS + f2 * USQ;
+	f1 * USigmap + f2 * QUS + f2 * USQ;
 
 	iLambda = Ta(iGamma);
 	
-		
-      }
+
+}
      //==================================================================== 
-    public:
+public:
       GaugeField* ThinLinks;      /*!< @brief Pointer to the thin 
 				    links configuration */
       
       /*! @brief Standard constructor */
-    SmearedConfiguration(GridCartesian * UGrid,
-			 unsigned int Nsmear, 
-			 Smear_Stout<Gimpl>& Stout):
+      SmearedConfiguration(GridCartesian * UGrid,
+      	unsigned int Nsmear, 
+      	Smear_Stout<Gimpl>& Stout):
       smearingLevels(Nsmear),
-	StoutSmearing(Stout),
-	ThinLinks(NULL){
-	for (unsigned int i=0; i< smearingLevels; ++i)
-	  SmearedSet.push_back(*(new GaugeField(UGrid)));
+      StoutSmearing(Stout),
+      ThinLinks(NULL){
+      	for (unsigned int i=0; i< smearingLevels; ++i)
+      		SmearedSet.push_back(*(new GaugeField(UGrid)));
       }
       
       /*! For just thin links */
-    SmearedConfiguration():
+      SmearedConfiguration():
       smearingLevels(0),
-	StoutSmearing(),
-	SmearedSet(),
-	ThinLinks(NULL){}
+      StoutSmearing(),
+      SmearedSet(),
+      ThinLinks(NULL){}
       
       
       // attach the smeared routines to the thin links U and fill the smeared set
@@ -207,59 +208,59 @@ namespace Grid {
       
       //====================================================================
       void smeared_force(GaugeField& SigmaTilde) const{
-	if (smearingLevels > 0){
+      	if (smearingLevels > 0){
 	  GaugeField force = SigmaTilde;//actually = U*SigmaTilde
 	  GaugeLinkField tmp_mu(SigmaTilde._grid);
 	  
-	  for (int mu = 0; mu < Nd; mu++){
+	for (int mu = 0; mu < Nd; mu++){
 	    // to get SigmaTilde
-	    tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
-	    pokeLorentz(force, tmp_mu, mu);
+	  	tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
+	  	pokeLorentz(force, tmp_mu, mu);
 	  }
 	  for(int ismr = smearingLevels - 1; ismr > 0; --ismr)
-	    force = AnalyticSmearedForce(force,get_smeared_conf(ismr-1));
+	  	force = AnalyticSmearedForce(force,get_smeared_conf(ismr-1));
 	  
 	  force = AnalyticSmearedForce(force,*ThinLinks);
 	  
 	  for (int mu = 0; mu < Nd; mu++){
-	    tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
-	    pokeLorentz(SigmaTilde, tmp_mu, mu);
+	  	tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
+	  	pokeLorentz(SigmaTilde, tmp_mu, mu);
 	  }
 	}// if smearingLevels = 0 do nothing
-      }
+}
       //====================================================================
 
-      
-      GaugeField& get_SmearedU(){ 
+
+GaugeField& get_SmearedU(){ 
 	return SmearedSet[smearingLevels-1];
-      }
-      
-      GaugeField& get_U(bool smeared=false) { 
+}
+
+GaugeField& get_U(bool smeared=false) { 
 	// get the config, thin links by default
 	if (smeared){
-	  if (smearingLevels){ 
-	    RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(SmearedSet[smearingLevels-1]);
-	    std::cout<< GridLogDebug << "getting U Plaq: " << impl_plaq<< std::endl;
-	    return get_SmearedU();
-	    
-	  }
-	  else  {
-	    RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
-	    std::cout<< GridLogDebug << "getting Thin Plaq: " << impl_plaq<< std::endl;
-              return *ThinLinks;
-	  }
+		if (smearingLevels){ 
+			RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(SmearedSet[smearingLevels-1]);
+			std::cout<< GridLogDebug << "getting U Plaq: " << impl_plaq<< std::endl;
+			return get_SmearedU();
+
+		}
+		else  {
+			RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
+			std::cout<< GridLogDebug << "getting Thin Plaq: " << impl_plaq<< std::endl;
+			return *ThinLinks;
+		}
 	}
 	else{
-	    RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
-	    std::cout<< GridLogDebug << "getting Thin Plaq: " << impl_plaq<< std::endl;
-	    return *ThinLinks;}
-      }
-      
-    };
-    
-    
-  }
-  
+		RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
+		std::cout<< GridLogDebug << "getting Thin Plaq: " << impl_plaq<< std::endl;
+		return *ThinLinks;}
+	}
+
+};
+
+
+}
+
 }
 
 
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index 5b5e4ba3..ff7a1cb8 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -5,64 +5,64 @@
 #ifndef STOUT_SMEAR_
 #define STOUT_SMEAR_
 
-namespace Grid {
-  namespace QCD {
+  namespace Grid {
+  	namespace QCD {
 
     /*!  @brief Stout smearing of link variable. */
     template <class Gimpl> 
-    class Smear_Stout: public Smear<Gimpl> {
-    private:
-      const std::vector<double> d_rho;
-      const Smear < Gimpl > * SmearBase;
-      
+  		class Smear_Stout: public Smear<Gimpl> {
+  		private:
+  			const std::vector<double> d_rho;
+  			const Smear < Gimpl > * SmearBase;
+
+
+
+  		public:
+  			INHERIT_GIMPL_TYPES(Gimpl)
+
+  			Smear_Stout(Smear < Gimpl >* base):SmearBase(base){
+  				static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
+  			}
 
-      
-    public:
-      INHERIT_GIMPL_TYPES(Gimpl)
-      
-      Smear_Stout(Smear < Gimpl >* base):SmearBase(base){
-	static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
-      }
-      
       /*! Default constructor */
-      Smear_Stout(double rho = 1.0):SmearBase(new Smear_APE < Gimpl > (rho)){
-	static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
-      }
-      
-      ~Smear_Stout(){}
-      
-      void smear(GaugeField& u_smr,const GaugeField& U) const{
-	GaugeField C(U._grid);
-	GaugeLinkField tmp(U._grid), iq_mu(U._grid), Umu(U._grid);
-	
-	std::cout<< GridLogDebug << "Stout smearing started\n";
-	
+  			Smear_Stout(double rho = 1.0):SmearBase(new Smear_APE < Gimpl > (rho)){
+  				static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
+  			}
+
+  			~Smear_Stout(){}
+
+  			void smear(GaugeField& u_smr,const GaugeField& U) const{
+  				GaugeField C(U._grid);
+  				GaugeLinkField tmp(U._grid), iq_mu(U._grid), Umu(U._grid);
+
+  				std::cout<< GridLogDebug << "Stout smearing started\n";
+
 	//Smear the configurations
-	SmearBase->smear(C, U);
-	for (int mu = 0; mu<Nd; mu++){
-	  tmp = peekLorentz(C,mu);
-	  Umu = peekLorentz(U,mu);
+  				SmearBase->smear(C, U);
+  				for (int mu = 0; mu<Nd; mu++){
+  					tmp = peekLorentz(C,mu);
+  					Umu = peekLorentz(U,mu);
 	  iq_mu = Ta(tmp * adj(Umu)); // iq_mu = Ta(Omega_mu) to match the signs with the paper
 	  exponentiate_iQ(tmp, iq_mu);  
 	  pokeLorentz(u_smr, tmp*Umu, mu);// u_smr = exp(iQ_mu)*U_mu
 	}
 	
 	std::cout<< GridLogDebug << "Stout smearing completed\n";
-      }
-      void derivative(GaugeField& SigmaTerm,
-		      const GaugeField& iLambda,
-		      const GaugeField& Gauge) const{
+}
+void derivative(GaugeField& SigmaTerm,
+	const GaugeField& iLambda,
+	const GaugeField& Gauge) const{
 	SmearBase->derivative(SigmaTerm, iLambda, Gauge);
-      }
-      
-      
-      void BaseSmear(GaugeField& C,
-		     const GaugeField& U) const{
+}
+
+
+void BaseSmear(GaugeField& C,
+	const GaugeField& U) const{
 	SmearBase->smear(C, U);
-      }
-      
-      void exponentiate_iQ(GaugeLinkField& e_iQ,
-			   const GaugeLinkField& iQ) const{
+}
+
+void exponentiate_iQ(GaugeLinkField& e_iQ,
+	const GaugeLinkField& iQ) const{
 	// Put this outside 
 	// only valid for SU(3) matrices
 
@@ -87,11 +87,11 @@ namespace Grid {
 	set_uw(u, w, iQ2, iQ3);
 	set_fj(f0, f1, f2, u, w);
 	e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
-      };
+};
 
 
-      void set_uw(LatticeReal& u, LatticeReal& w,
-		  GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
+void set_uw(LatticeReal& u, LatticeReal& w,
+	GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
 	Real one_over_three = 1.0/3.0;
 	Real one_over_two = 1.0/2.0;
 
@@ -99,18 +99,20 @@ namespace Grid {
 	LatticeReal c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
 
 	// sign in c0 from the conventions on the Ta
-	c0    = - toReal(imag(trace(iQ3))) * one_over_three;
+//	c0    = - toReal(imag(trace(iQ3))) * one_over_three;
+	c0    = - toReal(real(timesMinusI(trace(iQ3)))) * one_over_three; //temporary, FIX the bug in imag
 	c1    = - toReal(real(trace(iQ2))) * one_over_two;
 	tmp   = c1 * one_over_three;
-    	c0max = 2.0 * pow(tmp, 1.5);
+	c0max = 2.0 * pow(tmp, 1.5);
 	
 	theta = acos(c0/c0max);
 	u = sqrt(tmp) * cos( theta * one_over_three);
 	w = sqrt(c1)  * sin( theta * one_over_three);
-      }
 
-      void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
-		  const LatticeReal& u, const LatticeReal& w) const{
+}
+
+void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
+	const LatticeReal& u, const LatticeReal& w) const{
 
 	GridBase *grid = u._grid;
 	LatticeReal xi0(grid), u2(grid), w2(grid), cosw(grid), tmp(grid);
@@ -124,41 +126,42 @@ namespace Grid {
 	cosw  = cos(w);
 
 	ixi0  = timesI(toComplex(xi0));
-	emiu  = toComplex(cos(u)) - timesI(toComplex(u));
-	e2iu  = toComplex(cos(2.0*u)) + timesI(toComplex(2.0*u));
+	emiu  = toComplex(cos(u)) - timesI(toComplex(sin(u)));
+	e2iu  = toComplex(cos(2.0*u)) + timesI(toComplex(sin(2.0*u)));
 	
 	h0    = e2iu * toComplex(u2 - w2) + emiu *( toComplex(8.0*u2*cosw) +
-						    toComplex(2.0*u*(3.0*u2 + w2))*ixi0);
-	
+			toComplex(2.0*u*(3.0*u2 + w2))*ixi0);
+
 	h1    = toComplex(2.0*u) * e2iu - emiu*( toComplex(2.0*u*cosw) -
-						 toComplex(3.0*u2-w2)*ixi0);
+		toComplex(3.0*u2-w2)*ixi0);
 	
 	h2    = e2iu - emiu * (toComplex(cosw) + toComplex(3.0*u)*ixi0);
 	
-	
 	tmp   = 9.0*u2 - w2;
 	fden  = toComplex(pow(tmp, -1.0));
 	f0    = h0 * fden;
 	f1    = h1 * fden;
 	f2    = h2 * fden;	
-      }
+
+	
+}
 
 
-      LatticeReal func_xi0(const LatticeReal& w) const{
+LatticeReal func_xi0(const LatticeReal& w) const{
 	// Define a function to do the check
 	//if( w < 1e-4 ) std::cout << GridLogWarning<< "[Smear_stout] w too small: "<< w <<"\n";
 	return  sin(w)/w;
-      }
+}
 
-      LatticeReal func_xi1(const LatticeReal& w) const{
+LatticeReal func_xi1(const LatticeReal& w) const{
 	// Define a function to do the check
 	//if( w < 1e-4 ) std::cout << GridLogWarning << "[Smear_stout] w too small: "<< w <<"\n";
 	return  cos(w)/(w*w) - sin(w)/(w*w*w);
-      }
-      
-    };
+}
 
-  }
+};
+
+}
 }
 
 #endif  

From fc4a043663752cd1a299426cb0b059c7f9442a18 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Sat, 2 Jul 2016 16:15:38 +0100
Subject: [PATCH 012/295] Colors and banner clean up

---
 lib/Init.cc | 33 ++++++++++++++++-----------------
 1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/lib/Init.cc b/lib/Init.cc
index 6ab8e7b7..3b413177 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -235,25 +235,24 @@ void Grid_init(int *argc,char ***argv)
   }
 
   std::cout <<std::endl;
-  std::cout <<Logger::RED  << "__|__|__|__|__"<<             "|__|__|_"<<Logger::PURPLE<<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
-  std::cout <<Logger::RED  << "__|__|__|__|__"<<             "|__|__|_"<<Logger::PURPLE<<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
-  std::cout <<Logger::RED  << "__|__|  |  |  "<<             "|  |  | "<<Logger::PURPLE<<" |  |  |"<<                "  |  |  | _|__"<<std::endl; 
-  std::cout <<Logger::RED  << "__|__         "<<             "        "<<Logger::PURPLE<<"        "<<                "          _|__"<<std::endl; 
-  std::cout <<Logger::RED  << "__|_  "<<Logger::GREEN<<" GGGG   "<<Logger::RED<<" RRRR   "<<Logger::BLUE  <<" III    "<<Logger::PURPLE<<"DDDD  "<<Logger::PURPLE<<"    _|__"<<std::endl;
-  std::cout <<Logger::RED  << "__|_  "<<Logger::GREEN<<"G       "<<Logger::RED<<" R   R  "<<Logger::BLUE  <<"  I     "<<Logger::PURPLE<<"D   D "<<Logger::PURPLE<<"    _|__"<<std::endl;
-  std::cout <<Logger::RED  << "__|_  "<<Logger::GREEN<<"G       "<<Logger::RED<<" R   R  "<<Logger::BLUE  <<"  I     "<<Logger::PURPLE<<"D    D"<<Logger::PURPLE<<"    _|__"<<std::endl;
-  std::cout <<Logger::BLUE << "__|_  "<<Logger::GREEN<<"G  GG   "<<Logger::RED<<" RRRR   "<<Logger::BLUE  <<"  I     "<<Logger::PURPLE<<"D    D"<<Logger::GREEN <<"    _|__"<<std::endl;
-  std::cout <<Logger::BLUE << "__|_  "<<Logger::GREEN<<"G   G   "<<Logger::RED<<" R  R   "<<Logger::BLUE  <<"  I     "<<Logger::PURPLE<<"D   D "<<Logger::GREEN <<"    _|__"<<std::endl;
-  std::cout <<Logger::BLUE << "__|_  "<<Logger::GREEN<<" GGGG   "<<Logger::RED<<" R   R  "<<Logger::BLUE  <<" III    "<<Logger::PURPLE<<"DDDD  "<<Logger::GREEN <<"    _|__"<<std::endl;
-  std::cout <<Logger::BLUE << "__|__         "<<             "        "<<Logger::GREEN <<"        "<<                "          _|__"<<std::endl; 
-  std::cout <<Logger::BLUE << "__|__|__|__|__"<<             "|__|__|_"<<Logger::GREEN <<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
-  std::cout <<Logger::BLUE << "__|__|__|__|__"<<             "|__|__|_"<<Logger::GREEN <<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
-  std::cout <<Logger::BLUE << "  |  |  |  |  "<<             "|  |  | "<<Logger::GREEN <<" |  |  |"<<                "  |  |  |  |  "<<std::endl; 
+  std::cout << "__|__|__|__|__|__|__|__|__|__|__|__|__|__|__"<<std::endl; 
+  std::cout << "__|__|__|__|__|__|__|__|__|__|__|__|__|__|__"<<std::endl; 
+  std::cout << "__|_ |  |  |  |  |  |  |  |  |  |  |  | _|__"<<std::endl; 
+  std::cout << "__|_                                    _|__"<<std::endl; 
+  std::cout << "__|_    GGGG    RRRR    III    DDDD     _|__"<<std::endl;
+  std::cout << "__|_   G        R   R    I     D   D    _|__"<<std::endl;
+  std::cout << "__|_   G        R   R    I     D    D   _|__"<<std::endl;
+  std::cout << "__|_   G  GG    RRRR     I     D    D   _|__"<<std::endl;
+  std::cout << "__|_   G   G    R  R     I     D   D    _|__"<<std::endl;
+  std::cout << "__|_    GGGG    R   R   III    DDDD     _|__"<<std::endl;
+  std::cout << "__|_                                    _|__"<<std::endl; 
+  std::cout << "__|__|__|__|__|__|__|__|__|__|__|__|__|__|__"<<std::endl; 
+  std::cout << "__|__|__|__|__|__|__|__|__|__|__|__|__|__|__"<<std::endl; 
+  std::cout << "  |  |  |  |  |  |  |  |  |  |  |  |  |  |  "<<std::endl; 
+  std::cout << std::endl;
   std::cout << std::endl;
   std::cout << std::endl;
-  std::cout <<Logger::YELLOW<< std::endl;
   std::cout << "Copyright (C) 2015 Peter Boyle, Azusa Yamaguchi, Guido Cossu, Antonin Portelli and other authors"<<std::endl;
-  std::cout << "Colours by Tadahito Boyle "<<std::endl;
   std::cout << std::endl;
   std::cout << "This program is free software; you can redistribute it and/or modify"<<std::endl;
   std::cout << "it under the terms of the GNU General Public License as published by"<<std::endl;
@@ -264,7 +263,7 @@ void Grid_init(int *argc,char ***argv)
   std::cout << "but WITHOUT ANY WARRANTY; without even the implied warranty of"<<std::endl;
   std::cout << "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the"<<std::endl;
   std::cout << "GNU General Public License for more details."<<std::endl;
-  std::cout << Logger::BLACK <<std::endl;
+  std::cout << std::endl;
 }
 
   

From 1a6d65c6a42e0f142b5ba7dad7ee5816a633663c Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Sun, 3 Jul 2016 10:27:43 +0100
Subject: [PATCH 013/295] Converted set_uw and set_fj to all complex functions

---
 lib/qcd/smearing/GaugeConfiguration.h |  14 +-
 lib/qcd/smearing/StoutSmearing.h      | 284 ++++++++++++++++----------
 lib/simd/Grid_vector_types.h          |   2 +-
 3 files changed, 185 insertions(+), 115 deletions(-)

diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index 2202d545..717763c2 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -81,11 +81,16 @@ GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime,
 	StoutSmearing.derivative(SigmaK, iLambda, GaugeK);// derivative of SmearBase
 	return SigmaK;
 }
-      /*! @brief Returns smeared configuration at level 'Level' */
+     
+
+
+/*! @brief Returns smeared configuration at level 'Level' */
 const GaugeField& get_smeared_conf(int Level) const{
 	return SmearedSet[Level];
 }
-      //====================================================================
+      
+
+//====================================================================
 void set_iLambda(GaugeLinkField& iLambda, 
 	GaugeLinkField& e_iQ,
 	const GaugeLinkField& iQ, 
@@ -179,10 +184,11 @@ void set_iLambda(GaugeLinkField& iLambda,
 	
 
 }
-     //==================================================================== 
+     
+//==================================================================== 
 public:
       GaugeField* ThinLinks;      /*!< @brief Pointer to the thin 
-				    links configuration */
+				    					links configuration */
       
       /*! @brief Standard constructor */
       SmearedConfiguration(GridCartesian * UGrid,
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index ff7a1cb8..6a061bac 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -15,8 +15,6 @@
   			const std::vector<double> d_rho;
   			const Smear < Gimpl > * SmearBase;
 
-
-
   		public:
   			INHERIT_GIMPL_TYPES(Gimpl)
 
@@ -39,129 +37,195 @@
 
 	//Smear the configurations
   				SmearBase->smear(C, U);
-  				for (int mu = 0; mu<Nd; mu++){
+  				for (int mu = 0; mu<Nd; mu++)
+  				{
   					tmp = peekLorentz(C,mu);
   					Umu = peekLorentz(U,mu);
-	  iq_mu = Ta(tmp * adj(Umu)); // iq_mu = Ta(Omega_mu) to match the signs with the paper
-	  exponentiate_iQ(tmp, iq_mu);  
-	  pokeLorentz(u_smr, tmp*Umu, mu);// u_smr = exp(iQ_mu)*U_mu
-	}
-	
-	std::cout<< GridLogDebug << "Stout smearing completed\n";
-}
-void derivative(GaugeField& SigmaTerm,
-	const GaugeField& iLambda,
-	const GaugeField& Gauge) const{
-	SmearBase->derivative(SigmaTerm, iLambda, Gauge);
-}
+		  			iq_mu = Ta(tmp * adj(Umu)); // iq_mu = Ta(Omega_mu) to match the signs with the paper
+		  			exponentiate_iQ(tmp, iq_mu);  
+		  			GaugeLinkField check = adj(tmp) * tmp - 1.0;
+					pokeLorentz(u_smr, tmp*Umu, mu);// u_smr = exp(iQ_mu)*U_mu
+		  		}
+
+		  		std::cout<< GridLogDebug << "Stout smearing completed\n";
 
 
-void BaseSmear(GaugeField& C,
-	const GaugeField& U) const{
-	SmearBase->smear(C, U);
-}
-
-void exponentiate_iQ(GaugeLinkField& e_iQ,
-	const GaugeLinkField& iQ) const{
-	// Put this outside 
-	// only valid for SU(3) matrices
-
-	// only one Lorentz direction at a time 
-
-	// notice that it actually computes
-	// exp ( input matrix )  
-	// the i sign is coming from outside
-	// input matrix is anti-hermitian NOT hermitian
-
-	GridBase *grid = iQ._grid;
-	GaugeLinkField unity(grid);
-	unity=1.0;
-
-	GaugeLinkField iQ2(grid), iQ3(grid);
-	LatticeReal u(grid), w(grid);
-	LatticeComplex f0(grid), f1(grid), f2(grid);
-
-	iQ2 = iQ * iQ;
-	iQ3 = iQ * iQ2;
-
-	set_uw(u, w, iQ2, iQ3);
-	set_fj(f0, f1, f2, u, w);
-	e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
-};
+		  	};
 
 
-void set_uw(LatticeReal& u, LatticeReal& w,
-	GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
-	Real one_over_three = 1.0/3.0;
-	Real one_over_two = 1.0/2.0;
-
-	GridBase *grid = u._grid;
-	LatticeReal c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
-
-	// sign in c0 from the conventions on the Ta
-//	c0    = - toReal(imag(trace(iQ3))) * one_over_three;
-	c0    = - toReal(real(timesMinusI(trace(iQ3)))) * one_over_three; //temporary, FIX the bug in imag
-	c1    = - toReal(real(trace(iQ2))) * one_over_two;
-	tmp   = c1 * one_over_three;
-	c0max = 2.0 * pow(tmp, 1.5);
-	
-	theta = acos(c0/c0max);
-	u = sqrt(tmp) * cos( theta * one_over_three);
-	w = sqrt(c1)  * sin( theta * one_over_three);
-
-}
-
-void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
-	const LatticeReal& u, const LatticeReal& w) const{
-
-	GridBase *grid = u._grid;
-	LatticeReal xi0(grid), u2(grid), w2(grid), cosw(grid), tmp(grid);
-	LatticeComplex fden(grid);
-	LatticeComplex h0(grid), h1(grid), h2(grid);
-	LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
-	
-	xi0   = func_xi0(w);
-	u2    = u * u;
-	w2    = w * w;
-	cosw  = cos(w);
-
-	ixi0  = timesI(toComplex(xi0));
-	emiu  = toComplex(cos(u)) - timesI(toComplex(sin(u)));
-	e2iu  = toComplex(cos(2.0*u)) + timesI(toComplex(sin(2.0*u)));
-	
-	h0    = e2iu * toComplex(u2 - w2) + emiu *( toComplex(8.0*u2*cosw) +
-			toComplex(2.0*u*(3.0*u2 + w2))*ixi0);
-
-	h1    = toComplex(2.0*u) * e2iu - emiu*( toComplex(2.0*u*cosw) -
-		toComplex(3.0*u2-w2)*ixi0);
-	
-	h2    = e2iu - emiu * (toComplex(cosw) + toComplex(3.0*u)*ixi0);
-	
-	tmp   = 9.0*u2 - w2;
-	fden  = toComplex(pow(tmp, -1.0));
-	f0    = h0 * fden;
-	f1    = h1 * fden;
-	f2    = h2 * fden;	
-
-	
-}
+		  	void derivative(GaugeField& SigmaTerm,
+		  		const GaugeField& iLambda,
+		  		const GaugeField& Gauge) const{
+		  		SmearBase->derivative(SigmaTerm, iLambda, Gauge);
+		  	};
 
 
-LatticeReal func_xi0(const LatticeReal& w) const{
+		  	void BaseSmear(GaugeField& C,
+		  		const GaugeField& U) const{
+		  		SmearBase->smear(C, U);
+		  	};
+
+		  	void exponentiate_iQ(GaugeLinkField& e_iQ,
+		  		const GaugeLinkField& iQ) const{
+		// Put this outside 
+		// only valid for SU(3) matrices
+
+		// only one Lorentz direction at a time 
+
+		// notice that it actually computes
+		// exp ( input matrix )  
+		// the i sign is coming from outside
+		// input matrix is anti-hermitian NOT hermitian
+
+		  		GridBase *grid = iQ._grid;
+		  		GaugeLinkField unity(grid);
+		  		unity=1.0;
+
+		  		GaugeLinkField iQ2(grid), iQ3(grid);
+		  		LatticeComplex u(grid), w(grid);
+		  		LatticeComplex f0(grid), f1(grid), f2(grid);
+
+		  		iQ2 = iQ * iQ;
+		  		iQ3 = iQ * iQ2;
+
+		  		set_uw_complex(u, w, iQ2, iQ3);
+		  		set_fj_complex(f0, f1, f2, u, w);
+		  		
+
+		  		e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
+		  	};
+
+
+		  	void set_uw(LatticeReal& u, LatticeReal& w,
+		  		GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
+		  		Real one_over_three = 1.0/3.0;
+		  		Real one_over_two = 1.0/2.0;
+
+		  		GridBase *grid = u._grid;
+		  		LatticeReal c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
+
+				// sign in c0 from the conventions on the Ta
+				//	c0    = - toReal(imag(trace(iQ3))) * one_over_three;
+				c0    = - toReal(real(timesMinusI(trace(iQ3)))) * one_over_three; //slow and temporary, FIX the bug in imag
+				c1    = - toReal(real(trace(iQ2))) * one_over_two;
+				tmp   = c1 * one_over_three;
+				c0max = 2.0 * pow(tmp, 1.5);
+
+				theta = acos(c0/c0max);
+				u = sqrt(tmp) * cos( theta * one_over_three);
+				w = sqrt(c1)  * sin( theta * one_over_three);
+
+			}
+
+			void set_uw_complex(LatticeComplex& u, LatticeComplex& w,
+		  		GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
+		  		Complex one_over_three = 1.0/3.0;
+		  		Complex one_over_two = 1.0/2.0;
+
+		  		GridBase *grid = u._grid;
+		  		LatticeComplex c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
+
+				// sign in c0 from the conventions on the Ta
+				c0    = - real(timesMinusI(trace(iQ3))) * one_over_three; //temporary hack 
+				c1    = - real(trace(iQ2)) * one_over_two;
+				tmp   = c1 * one_over_three;
+				c0max = 2.0 * pow(tmp, 1.5);
+
+				theta = acos(c0/c0max);
+				u = sqrt(tmp) * cos( theta * one_over_three);
+				w = sqrt(c1)  * sin( theta * one_over_three);
+
+			}
+
+
+			void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
+				const LatticeReal& u, const LatticeReal& w) const{
+
+				GridBase *grid = u._grid;
+				LatticeReal xi0(grid), u2(grid), w2(grid), cosw(grid), tmp(grid);
+				LatticeComplex fden(grid);
+				LatticeComplex h0(grid), h1(grid), h2(grid);
+				LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
+
+				xi0   = func_xi0(w);
+				u2    = u * u;
+				w2    = w * w;
+				cosw  = cos(w);
+
+				ixi0  = timesI(toComplex(xi0));
+				emiu  = toComplex(cos(u)) - timesI(toComplex(sin(u)));
+				e2iu  = toComplex(cos(2.0*u)) + timesI(toComplex(sin(2.0*u)));
+
+				h0    = e2iu * toComplex(u2 - w2) + emiu *( toComplex(8.0*u2*cosw) +
+					toComplex(2.0*u*(3.0*u2 + w2))*ixi0);
+
+				h1    = toComplex(2.0*u) * e2iu - emiu*( toComplex(2.0*u*cosw) -
+					toComplex(3.0*u2-w2)*ixi0);
+
+				h2    = e2iu - emiu * (toComplex(cosw) + toComplex(3.0*u)*ixi0);
+
+				tmp   = 9.0*u2 - w2;
+				fden  = toComplex(pow(tmp, -1.0));
+				f0    = h0 * fden;
+				f1    = h1 * fden;
+				f2    = h2 * fden;	
+
+
+			}
+
+			void set_fj_complex(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
+				const LatticeComplex& u, const LatticeComplex& w) const{
+
+				GridBase *grid = u._grid;
+				LatticeComplex xi0(grid), u2(grid), w2(grid), cosw(grid), tmp(grid);
+				LatticeComplex fden(grid);
+				LatticeComplex h0(grid), h1(grid), h2(grid);
+				LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
+
+				xi0   = sin(w)/w;//func_xi0(w);
+				u2    = u * u;
+				w2    = w * w;
+				cosw  = cos(w);
+
+				ixi0  = timesI(xi0);
+				emiu  = cos(u) - timesI(sin(u));
+				e2iu  = cos(2.0*u) + timesI(sin(2.0*u));
+
+				h0    = e2iu * (u2 - w2) + emiu *( (8.0*u2*cosw) +
+					(2.0*u*(3.0*u2 + w2)*ixi0));
+
+				h1    = (2.0*u) * e2iu - emiu*( (2.0*u*cosw) -
+					(3.0*u2-w2)*ixi0);
+
+				h2    = e2iu - emiu * (cosw + (3.0*u)*ixi0);
+
+				tmp   = 9.0*u2 - w2;
+				fden  = pow(tmp, -1.0);
+				f0    = h0 * fden;
+				f1    = h1 * fden;
+				f2    = h2 * fden;	
+
+
+			}
+
+
+
+
+			LatticeReal func_xi0(const LatticeReal& w) const{
 	// Define a function to do the check
 	//if( w < 1e-4 ) std::cout << GridLogWarning<< "[Smear_stout] w too small: "<< w <<"\n";
-	return  sin(w)/w;
-}
+				return  sin(w)/w;
+			}
 
-LatticeReal func_xi1(const LatticeReal& w) const{
+			LatticeReal func_xi1(const LatticeReal& w) const{
 	// Define a function to do the check
 	//if( w < 1e-4 ) std::cout << GridLogWarning << "[Smear_stout] w too small: "<< w <<"\n";
-	return  cos(w)/(w*w) - sin(w)/(w*w*w);
-}
+				return  cos(w)/(w*w) - sin(w)/(w*w*w);
+			}
 
-};
+		};
 
-}
+	}
 }
 
 #endif  
diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index 52836336..dde64729 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -490,7 +490,7 @@ namespace Grid {
     typedef Grid_simd<S,V> simd;
     simd ret;
     typename simd::conv_t conv;
-    conv.v = in.v;
+    conv.v = in.v; // copy the vector content (bytewise)
     for(int i=0;i<simd::Nsimd();i+=2){
       conv.s[i+1]=conv.s[i];    // duplicate (r,r);(r,r);(r,r); etc...
     }

From 8dd099267d657735bd45582d63f8a567806606c4 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Sun, 3 Jul 2016 12:28:25 +0100
Subject: [PATCH 014/295] Corrected a bug in the Expression Templates (acso and
 asin were wrong)

---
 lib/lattice/Lattice_ET.h         |  4 +--
 lib/qcd/smearing/StoutSmearing.h | 61 +++++++++++++++++++++++++-------
 lib/tensors/Tensor_unary.h       |  2 ++
 3 files changed, 52 insertions(+), 15 deletions(-)

diff --git a/lib/lattice/Lattice_ET.h b/lib/lattice/Lattice_ET.h
index 77e0ce5d..98c38e96 100644
--- a/lib/lattice/Lattice_ET.h
+++ b/lib/lattice/Lattice_ET.h
@@ -219,8 +219,8 @@ inline void CBFromExpression( int &cb,const LatticeTrinaryExpression<Op,T1,T2,T3
  GridUnopClass(UnaryRsqrt,rsqrt(a));
  GridUnopClass(UnarySin,sin(a));
  GridUnopClass(UnaryCos,cos(a));
- GridUnopClass(UnaryAsin,sin(a));
- GridUnopClass(UnaryAcos,cos(a));
+ GridUnopClass(UnaryAsin,asin(a));
+ GridUnopClass(UnaryAcos,acos(a));
  GridUnopClass(UnaryLog,log(a));
  GridUnopClass(UnaryExp,exp(a));
  
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index 6a061bac..3c323c47 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -30,6 +30,8 @@
   			~Smear_Stout(){}
 
   			void smear(GaugeField& u_smr,const GaugeField& U) const{
+
+
   				GaugeField C(U._grid);
   				GaugeLinkField tmp(U._grid), iq_mu(U._grid), Umu(U._grid);
 
@@ -41,9 +43,14 @@
   				{
   					tmp = peekLorentz(C,mu);
   					Umu = peekLorentz(U,mu);
+		  			std::cout << "source matrix " << Umu << std::endl;	
+
 		  			iq_mu = Ta(tmp * adj(Umu)); // iq_mu = Ta(Omega_mu) to match the signs with the paper
+
 		  			exponentiate_iQ(tmp, iq_mu);  
+		  			//Debug check
 		  			GaugeLinkField check = adj(tmp) * tmp - 1.0;
+		  			std::cout << "check " << check << std::endl;
 					pokeLorentz(u_smr, tmp*Umu, mu);// u_smr = exp(iQ_mu)*U_mu
 		  		}
 
@@ -90,9 +97,16 @@
 
 		  		set_uw_complex(u, w, iQ2, iQ3);
 		  		set_fj_complex(f0, f1, f2, u, w);
-		  		
+
+		  		std::cout << "f0 " << f0 << std::endl;
+		  		std::cout << "f1 " << f1 << std::endl;
+		  		std::cout << "f2 " << f2 << std::endl;
+	  			std::cout << "iQ " << iQ << std::endl;	
+	  			std::cout << "iQ2 " << iQ2 << std::endl;	
 
 		  		e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
+
+
 		  	};
 
 
@@ -128,13 +142,27 @@
 				// sign in c0 from the conventions on the Ta
 				c0    = - real(timesMinusI(trace(iQ3))) * one_over_three; //temporary hack 
 				c1    = - real(trace(iQ2)) * one_over_two;
+
+				//Cayley Hamilton checks to machine precision, tested
+
+				std::cout << "c0 " << c0 << std::endl;
+				std::cout << "c1 " << c1 << std::endl;
+
 				tmp   = c1 * one_over_three;
 				c0max = 2.0 * pow(tmp, 1.5);
 
-				theta = acos(c0/c0max);
+				std::cout << "c0max " << c0max << std::endl;
+				LatticeComplex tempratio = c0/c0max;
+				std::cout << "ratio c0/c0max " << tempratio << std::endl;
+				theta = acos(c0/c0max); // divide by three here, now leave as it is
+				std::cout << "theta " << theta << std::endl;
+
 				u = sqrt(tmp) * cos( theta * one_over_three);
 				w = sqrt(c1)  * sin( theta * one_over_three);
 
+				std::cout << "u " << u << std::endl;
+				std::cout << "w " << w << std::endl;
+
 			}
 
 
@@ -177,35 +205,42 @@
 				const LatticeComplex& u, const LatticeComplex& w) const{
 
 				GridBase *grid = u._grid;
-				LatticeComplex xi0(grid), u2(grid), w2(grid), cosw(grid), tmp(grid);
+				LatticeComplex xi0(grid), u2(grid), w2(grid), cosw(grid);
 				LatticeComplex fden(grid);
 				LatticeComplex h0(grid), h1(grid), h2(grid);
 				LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
+				LatticeComplex unity(grid);
+				unity = 1.0;
 
 				xi0   = sin(w)/w;//func_xi0(w);
+				std::cout << "xi0 " << xi0 << std::endl;
 				u2    = u * u;
+				std::cout << "u2 " << u2 << std::endl;
 				w2    = w * w;
+				std::cout << "w2 " << w2 << std::endl;
 				cosw  = cos(w);
+				std::cout << "cosw " << cosw << std::endl;
 
 				ixi0  = timesI(xi0);
-				emiu  = cos(u) - timesI(sin(u));
+				emiu  = cos(u)     - timesI(sin(u));
 				e2iu  = cos(2.0*u) + timesI(sin(2.0*u));
+				std::cout << "emiu " << emiu << std::endl;
+				std::cout << "e2iu " << e2iu << std::endl;
 
-				h0    = e2iu * (u2 - w2) + emiu *( (8.0*u2*cosw) +
-					(2.0*u*(3.0*u2 + w2)*ixi0));
+				h0    = e2iu * (u2 - w2) + emiu * ( (8.0*u2*cosw) + (2.0*u*(3.0*u2 + w2)*ixi0));
+				h1    = e2iu * (2.0 * u) - emiu * ( (2.0*u*cosw) - (3.0*u2-w2)*ixi0);
+				h2    = e2iu             - emiu * ( cosw + (3.0*u)*ixi0);
 
-				h1    = (2.0*u) * e2iu - emiu*( (2.0*u*cosw) -
-					(3.0*u2-w2)*ixi0);
+				std::cout << "h0 " << h0 << std::endl;
+				std::cout << "h1 " << h1 << std::endl;
+				std::cout << "h2 " << h2 << std::endl;
 
-				h2    = e2iu - emiu * (cosw + (3.0*u)*ixi0);
-
-				tmp   = 9.0*u2 - w2;
-				fden  = pow(tmp, -1.0);
+				fden   = unity/(9.0*u2 - w2);// reals
+				std::cout << "fden " << fden << std::endl;
 				f0    = h0 * fden;
 				f1    = h1 * fden;
 				f2    = h2 * fden;	
 
-
 			}
 
 
diff --git a/lib/tensors/Tensor_unary.h b/lib/tensors/Tensor_unary.h
index 1e1f09c0..dd05a4a7 100644
--- a/lib/tensors/Tensor_unary.h
+++ b/lib/tensors/Tensor_unary.h
@@ -86,6 +86,8 @@ UNARY(sqrt);
 UNARY(rsqrt);
 UNARY(sin);
 UNARY(cos);
+UNARY(asin);
+UNARY(acos);
 UNARY(log);
 UNARY(exp);
 UNARY(abs);

From 0fa66e8f3ca4d7321224d2246d29acf3919b0c4e Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 4 Jul 2016 15:35:37 +0100
Subject: [PATCH 015/295] Debugged smearing for EOWilson, accepts

---
 lib/qcd/hmc/integrators/Integrator.h  | 238 +++++++++++++-------------
 lib/qcd/smearing/APEsmearing.h        | 121 +++++++------
 lib/qcd/smearing/GaugeConfiguration.h | 163 +++++++++---------
 lib/qcd/smearing/StoutSmearing.h      | 183 +++++---------------
 4 files changed, 305 insertions(+), 400 deletions(-)

diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index 58e1f585..db61b114 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -44,40 +44,40 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #include <memory>
 
-namespace Grid{
-  namespace QCD{
+ namespace Grid{
+ 	namespace QCD{
 
-    struct IntegratorParameters{
+ 		struct IntegratorParameters{
 
-      int Nexp;
+ 			int Nexp;
       int MDsteps;  // number of outer steps
       RealD trajL;  // trajectory length 
       RealD stepsize;
 
       IntegratorParameters(int MDsteps_, 
-			   RealD trajL_=1.0,
-			   int Nexp_=12):
-        Nexp(Nexp_),
-	MDsteps(MDsteps_),
-	trajL(trajL_),
-	stepsize(trajL/MDsteps)
-        {
+      	RealD trajL_=1.0,
+      	int Nexp_=12):
+      Nexp(Nexp_),
+      MDsteps(MDsteps_),
+      trajL(trajL_),
+      stepsize(trajL/MDsteps)
+      {
 	  // empty body constructor
-	};
+      };
 
-    };
+  };
 
     /*! @brief Class for Molecular Dynamics management */   
     template<class GaugeField, class SmearingPolicy>
-    class Integrator {
+  class Integrator {
 
-    protected:
+  protected:
 
-      typedef IntegratorParameters ParameterType;
+  	typedef IntegratorParameters ParameterType;
 
-      IntegratorParameters Params;
+  	IntegratorParameters Params;
 
-      const ActionSet<GaugeField> as;
+  	const ActionSet<GaugeField> as;
 
       int levels;              //
       double t_U;              // Track time passing on each level and for U and for P
@@ -90,14 +90,14 @@ namespace Grid{
       // Should match any legal (SU(n)) gauge field
       // Need to use this template to match Ncol to pass to SU<N> class
       template<int Ncol,class vec> void generate_momenta(Lattice< iVector< iScalar< iMatrix<vec,Ncol> >, Nd> > & P,GridParallelRNG& pRNG){
-	typedef Lattice< iScalar< iScalar< iMatrix<vec,Ncol> > > > GaugeLinkField;
-	GaugeLinkField Pmu(P._grid);
-	Pmu = zero;
-	for(int mu=0;mu<Nd;mu++){
-	  SU<Ncol>::GaussianLieAlgebraMatrix(pRNG, Pmu);
-	  PokeIndex<LorentzIndex>(P, Pmu, mu);
-	}
+      typedef Lattice< iScalar< iScalar< iMatrix<vec,Ncol> > > > GaugeLinkField;
+      GaugeLinkField Pmu(P._grid);
+      Pmu = zero;
+      for(int mu=0;mu<Nd;mu++){
+      	SU<Ncol>::GaussianLieAlgebraMatrix(pRNG, Pmu);
+      	PokeIndex<LorentzIndex>(P, Pmu, mu);
       }
+  }
 
 
       //ObserverList observers; // not yet
@@ -105,126 +105,128 @@ namespace Grid{
       //      void register_observers();
       //      void notify_observers();
 
-      void update_P(GaugeField&U, int level,double ep){
-	t_P[level]+=ep;
-	update_P(P,U,level,ep);
+  void update_P(GaugeField&U, int level, double ep){
+  	t_P[level]+=ep;
+  	update_P(P,U,level,ep);
 
-	std::cout<<GridLogIntegrator<<"["<<level<<"] P " << " dt "<< ep <<" : t_P "<< t_P[level] <<std::endl;
-      }
+  	std::cout<<GridLogIntegrator<<"["<<level<<"] P " << " dt "<< ep <<" : t_P "<< t_P[level] <<std::endl;
+  }
 
-      void update_P(GaugeField &Mom,GaugeField&U, int level,double ep){
-	for(int a=0; a<as[level].actions.size(); ++a){
-	  GaugeField force(U._grid);
-	  GaugeField& Us = Smearer.get_U(as[level].actions.at(a)->is_smeared);
-	  as[level].actions.at(a)->deriv(Us,force); // deriv should not include Ta
-	  std::cout<< GridLogIntegrator << "Smearing (on/off): "<<as[level].actions.at(a)->is_smeared <<std::endl;
-	  if (as[level].actions.at(a)->is_smeared) Smearer.smeared_force(force);
-	  force = Ta(force);
-	  std::cout<< GridLogIntegrator << "Force average: "<< norm2(force)/(U._grid->gSites()) <<std::endl;
-	  Mom = Mom - force*ep;
+  void update_P(GaugeField &Mom,GaugeField&U, int level,double ep){
+  	// input U actually not used... 
+  	for(int a=0; a<as[level].actions.size(); ++a){
+  		GaugeField force(U._grid);
+  		GaugeField& Us = Smearer.get_U(as[level].actions.at(a)->is_smeared);
+  		as[level].actions.at(a)->deriv(Us,force); // deriv should NOT include Ta
+
+	  	std::cout<< GridLogIntegrator << "Smearing (on/off): "<<as[level].actions.at(a)->is_smeared <<std::endl;
+	  	if (as[level].actions.at(a)->is_smeared) Smearer.smeared_force(force);
+	  	force = Ta(force);
+	  	std::cout<< GridLogIntegrator << "Force average: "<< norm2(force)/(U._grid->gSites()) <<std::endl;
+	  	Mom -= force*ep;
+	  }
 	}
-      }
 
-      void update_U(GaugeField&U, double ep){
-	update_U(P,U,ep);
+	void update_U(GaugeField&U, double ep){
+		update_U(P,U,ep);
 
-	t_U+=ep;
-	int fl = levels-1;
-	std::cout<< GridLogIntegrator <<"   "<<"["<<fl<<"] U " << " dt "<< ep <<" : t_U "<< t_U <<std::endl;
+		t_U+=ep;
+		int fl = levels-1;
+		std::cout<< GridLogIntegrator <<"   "<<"["<<fl<<"] U " << " dt "<< ep <<" : t_U "<< t_U <<std::endl;
 
-      }
-      void update_U(GaugeField &Mom, GaugeField&U, double ep){
+	}
+	void update_U(GaugeField &Mom, GaugeField&U, double ep){
 	//rewrite exponential to deal automatically  with the lorentz index?
 	//	GaugeLinkField Umu(U._grid);
 	//	GaugeLinkField Pmu(U._grid);
-	for (int mu = 0; mu < Nd; mu++){
-	  auto Umu=PeekIndex<LorentzIndex>(U, mu);
-	  auto Pmu=PeekIndex<LorentzIndex>(Mom, mu);
-	  Umu = expMat(Pmu, ep, Params.Nexp)*Umu;
-	  ProjectOnGroup(Umu);
-	  PokeIndex<LorentzIndex>(U, Umu, mu);
-	}
+		for (int mu = 0; mu < Nd; mu++){
+			auto Umu=PeekIndex<LorentzIndex>(U, mu);
+			auto Pmu=PeekIndex<LorentzIndex>(Mom, mu);
+			Umu = expMat(Pmu, ep, Params.Nexp)*Umu;
+			ProjectOnGroup(Umu);
+			PokeIndex<LorentzIndex>(U, Umu, mu);
+		}
 	// Update the smeared fields, can be implemented as observer
-	Smearer.set_GaugeField(U);
-      }
-      
-      virtual void step (GaugeField& U,int level, int first,int last)=0;
+		Smearer.set_GaugeField(U);
+	}
 
-    public:
+	virtual void step (GaugeField& U,int level, int first,int last)=0;
 
-      Integrator(GridBase* grid, 
-		 IntegratorParameters Par,
-		 ActionSet<GaugeField> & Aset,
-		 SmearingPolicy &Sm):
-          Params(Par),
-    	  as(Aset),
-	  P(grid),
-	  levels(Aset.size()),
-	  Smearer(Sm)
-      {
-	t_P.resize(levels,0.0);
-	t_U=0.0;
+public:
+
+	Integrator(GridBase* grid, 
+		IntegratorParameters Par,
+		ActionSet<GaugeField> & Aset,
+		SmearingPolicy &Sm):
+	Params(Par),
+	as(Aset),
+	P(grid),
+	levels(Aset.size()),
+	Smearer(Sm)
+	{
+		t_P.resize(levels,0.0);
+		t_U=0.0;
 	// initialization of smearer delegated outside of Integrator
-      };
-      
-      virtual ~Integrator(){}
+	};
+
+	virtual ~Integrator(){}
 
       //Initialization of momenta and actions
-      void refresh(GaugeField& U,GridParallelRNG &pRNG){
-	std::cout<<GridLogIntegrator<< "Integrator refresh\n";
-	generate_momenta(P,pRNG);
-	for(int level=0; level< as.size(); ++level){
-	  for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
+	void refresh(GaugeField& U,GridParallelRNG &pRNG){
+		std::cout<<GridLogIntegrator<< "Integrator refresh\n";
+		generate_momenta(P,pRNG);
+		for(int level=0; level< as.size(); ++level){
+			for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
 	    // get gauge field from the SmearingPolicy and
 	    // based on the boolean is_smeared in actionID
-	    GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
-	    as[level].actions.at(actionID)->refresh(Us, pRNG);
-	  }
+				GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
+				as[level].actions.at(actionID)->refresh(Us, pRNG);
+			}
+		}
 	}
-      }
 
       // Calculate action
-      RealD S(GaugeField& U){
+	RealD S(GaugeField& U){// here also U not used
 
-	LatticeComplex Hloc(U._grid);	Hloc = zero;
+		LatticeComplex Hloc(U._grid);	Hloc = zero;
 	// Momenta
-	for (int mu=0; mu <Nd; mu++){
-	  auto Pmu = PeekIndex<LorentzIndex>(P, mu);
-	  Hloc -= trace(Pmu*Pmu);
-	}
-	Complex Hsum = sum(Hloc);
-	
-	RealD H = Hsum.real();
-	RealD Hterm;
-	std::cout<<GridLogMessage << "Momentum action H_p = "<< H << "\n";
+		for (int mu=0; mu <Nd; mu++){
+			auto Pmu = PeekIndex<LorentzIndex>(P, mu);
+			Hloc -= trace(Pmu*Pmu);
+		}
+		Complex Hsum = sum(Hloc);
+
+		RealD H = Hsum.real();
+		RealD Hterm;
+		std::cout<<GridLogMessage << "Momentum action H_p = "<< H << "\n";
 
 	// Actions
-	for(int level=0; level<as.size(); ++level){
-	  for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
+		for(int level=0; level<as.size(); ++level){
+			for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
 	    // get gauge field from the SmearingPolicy and
 	    // based on the boolean is_smeared in actionID
-	    GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
-	    Hterm = as[level].actions.at(actionID)->S(Us);
-	    std::cout<<GridLogMessage << "S Level "<<level<<" term "<<actionID<<" H = "<<Hterm<<std::endl;
-	    H += Hterm;
-	  }
-	}
-	
-	return H;
-      }
+				GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
+				Hterm = as[level].actions.at(actionID)->S(Us);
+				std::cout<<GridLogMessage << "S Level "<<level<<" term "<<actionID<<" H = "<<Hterm<<std::endl;
+				H += Hterm;
+			}
+		}
 
-      void integrate(GaugeField& U){
+		return H;
+	}
+
+	void integrate(GaugeField& U){
 
 	// reset the clocks
-	t_U=0;
-	for(int level=0; level<as.size(); ++level){
-	  t_P[level]=0;
-	}	
+		t_U=0;
+		for(int level=0; level<as.size(); ++level){
+			t_P[level]=0;
+		}	
 
 	for(int step=0; step< Params.MDsteps; ++step){   // MD step
-	  int first_step = (step==0);
-	  int  last_step = (step==Params.MDsteps-1);
-	  this->step(U,0,first_step,last_step);
+		int first_step = (step==0);
+		int  last_step = (step==Params.MDsteps-1);
+		this->step(U,0,first_step,last_step);
 	}
 
 	// Check the clocks all match on all levels
@@ -237,9 +239,9 @@ namespace Grid{
 	assert(fabs(t_U-Params.trajL) < 1.0e-6);
 
 
-      }
-    };
-    
-  }
+}
+};
+
+}
 }
 #endif//INTEGRATOR_INCLUDED
diff --git a/lib/qcd/smearing/APEsmearing.h b/lib/qcd/smearing/APEsmearing.h
index 894350af..4db11338 100644
--- a/lib/qcd/smearing/APEsmearing.h
+++ b/lib/qcd/smearing/APEsmearing.h
@@ -13,10 +13,10 @@
     template <class Gimpl> 
   		class Smear_APE: public Smear<Gimpl>{
   		private:
-      const std::vector<double> rho;/*!< Array of weights */
+      	const std::vector<double> rho;/*!< Array of weights */
 
-      //This member must be private - we do not want to control from outside 
-  			std::vector<double> set_rho(const double common_rho)const {
+//This member must be private - we do not want to control from outside 
+  			std::vector<double> set_rho(const double common_rho) const {
   				std::vector<double> res;
 
   				for(int mn=0; mn<Nd*Nd; ++mn) res.push_back(common_rho);
@@ -30,7 +30,7 @@
 
 
       // Constructors and destructors
-  				Smear_APE(const std::vector<double>& rho_):rho(rho_){}
+  				Smear_APE(const std::vector<double>& rho_):rho(rho_){} // check vector size
   				Smear_APE(double rho_val):rho(set_rho(rho_val)){}
   				Smear_APE():rho(set_rho(1.0)){}
   				~Smear_APE(){}
@@ -38,7 +38,6 @@
       ///////////////////////////////////////////////////////////////////////////////
   				void smear(GaugeField& u_smr, const GaugeField& U)const{
   					GridBase *grid = U._grid;
-  					double d_rho;
   					GaugeLinkField Cup(grid), tmp_stpl(grid);
   					WilsonLoops<Gimpl> WL;
   					u_smr = zero; 
@@ -47,21 +46,20 @@
   						Cup = zero;
   						for(int nu=0; nu<Nd; ++nu){
   							if (nu != mu) {
-  								d_rho = rho[mu + Nd * nu];
-	      // get the staple in direction mu, nu
-	      WL.Staple(tmp_stpl, U, mu, nu);  //nb staple conventions of IroIro and Grid differ by a dagger
-	      Cup += tmp_stpl*d_rho;
-	  }
-	}
-	  // save the Cup link-field on the u_smr gauge-field
-	  pokeLorentz(u_smr, adj(Cup), mu); // u_smr[mu] = Cup^dag
-	}
-}
+  								// get the staple in direction mu, nu
+	      						WL.Staple(tmp_stpl, U, mu, nu);  //nb staple conventions of IroIro and Grid differ by a dagger
+	      						Cup += tmp_stpl*rho[mu + Nd * nu];
+	      					}
+	      				}
+	  					// save the Cup link-field on the u_smr gauge-field
+	  					pokeLorentz(u_smr, adj(Cup), mu); // u_smr[mu] = Cup^dag   see conventions for Staple
+	  				}
+	  			}
 
 ////////////////////////////////////////////////////////////////////////////////
-void derivative(GaugeField& SigmaTerm,
-	const GaugeField& iLambda,
-	const GaugeField& U)const{
+	  			void derivative(GaugeField& SigmaTerm,
+	  				const GaugeField& iLambda,
+	  				const GaugeField& U)const{
 
 	// Reference 
 	// Morningstar, Peardon, Phys.Rev.D69,054501(2004)
@@ -69,62 +67,61 @@ void derivative(GaugeField& SigmaTerm,
     // Computing Sigma_mu, derivative of S[fat links] with respect to the thin links
     // Output SigmaTerm
 
-	GridBase *grid = U._grid;
-	int vol = U._grid->gSites();
-	
-	WilsonLoops<Gimpl> WL;
-	GaugeLinkField staple(grid), u_tmp(grid);
-	GaugeLinkField iLambda_mu(grid), iLambda_nu(grid);
-	GaugeLinkField U_mu(grid), U_nu(grid);
-	GaugeLinkField sh_field(grid), temp_Sigma(grid);
-	Real rho_munu, rho_numu;
+	  				GridBase *grid = U._grid;
 
-	for(int mu = 0; mu < Nd; ++mu){
-		U_mu       = PeekIndex<LorentzIndex>(      U, mu);
-		iLambda_mu = PeekIndex<LorentzIndex>(iLambda, mu);
+	  				WilsonLoops<Gimpl> WL;
+	  				GaugeLinkField staple(grid), u_tmp(grid);
+	  				GaugeLinkField iLambda_mu(grid), iLambda_nu(grid);
+	  				GaugeLinkField U_mu(grid), U_nu(grid);
+	  				GaugeLinkField sh_field(grid), temp_Sigma(grid);
+	  				Real rho_munu, rho_numu;
 
-		for(int nu = 0; nu < Nd; ++nu){
-			if(nu==mu) continue;
-			U_nu       = PeekIndex<LorentzIndex>(      U, nu);
-			iLambda_nu = PeekIndex<LorentzIndex>(iLambda, nu);
+	  				for(int mu = 0; mu < Nd; ++mu){
+	  					U_mu       = peekLorentz(      U, mu);
+	  					iLambda_mu = peekLorentz(iLambda, mu);
 
-			rho_munu = rho[mu + Nd * nu];
-			rho_numu = rho[nu + Nd * mu];
+	  					for(int nu = 0; nu < Nd; ++nu){
+	  						if(nu==mu) continue;
+	  						U_nu       = peekLorentz(      U, nu);
+	  						iLambda_nu = peekLorentz(iLambda, nu);
 
-			WL.StapleUpper(staple, U, mu, nu);
+	  						rho_munu = rho[mu + Nd * nu];
+	  						rho_numu = rho[nu + Nd * mu];
 
-			temp_Sigma = -rho_numu*staple*iLambda_nu;
-	    //-r_numu*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)*Lambda_nu(x)
-			Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+	  						WL.StapleUpper(staple, U, mu, nu);
 
-	    sh_field = Cshift(iLambda_nu, mu, 1);// general also for Gparity?
+	  						temp_Sigma = -rho_numu*staple*iLambda_nu;  //ok
+	        				//-r_numu*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)*Lambda_nu(x)
+	  						Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
 
-	    temp_Sigma = rho_numu*sh_field*staple;
-	    //r_numu*Lambda_nu(mu)*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)
-	    Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+	    					sh_field = Cshift(iLambda_nu, mu, 1);// general also for Gparity?
 
-	    sh_field = Cshift(iLambda_mu, nu, 1);
+	    					temp_Sigma = rho_numu*sh_field*staple; //ok
+	    					//r_numu*Lambda_nu(mu)*U_nu(x+mu)*Udag_mu(x+nu)*Udag_nu(x)
+	    					Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
 
-	    temp_Sigma = -rho_munu*staple*U_nu*sh_field*adj(U_nu);
-	    //-r_munu*U_nu(x+mu)*Udag_mu(x+nu)*Lambda_mu(x+nu)*Udag_nu(x)
-	    Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
+	    					sh_field = Cshift(iLambda_mu, nu, 1);
 
-	    staple = zero;
-	    sh_field = Cshift(U_nu, mu, 1);
+	    					temp_Sigma = -rho_munu*staple*U_nu*sh_field*adj(U_nu); //ok
+	    					//-r_munu*U_nu(x+mu)*Udag_mu(x+nu)*Lambda_mu(x+nu)*Udag_nu(x)
+	    					Gimpl::AddGaugeLink(SigmaTerm, temp_Sigma, mu);
 
-	    temp_Sigma = -rho_munu*adj(sh_field)*adj(U_mu)*iLambda_mu*U_nu;
-	    temp_Sigma += rho_numu*adj(sh_field)*adj(U_mu)*iLambda_nu*U_nu;
+	    					staple = zero;
+	    					sh_field = Cshift(U_nu, mu, 1);
 
-	    u_tmp = adj(U_nu)*iLambda_nu;
-	    sh_field = Cshift(u_tmp, mu, 1);
-	    temp_Sigma += -rho_numu*sh_field*adj(U_mu)*U_nu;
-	    sh_field = Cshift(temp_Sigma, nu, -1);
-	    Gimpl::AddGaugeLink(SigmaTerm, sh_field, mu);
-	    
-	}
-}
-}
-};
+	    					temp_Sigma = -rho_munu*adj(sh_field)*adj(U_mu)*iLambda_mu*U_nu;
+	    					temp_Sigma += rho_numu*adj(sh_field)*adj(U_mu)*iLambda_nu*U_nu;
+
+	    					u_tmp = adj(U_nu)*iLambda_nu;
+	    					sh_field = Cshift(u_tmp, mu, 1);
+	    					temp_Sigma += -rho_numu*sh_field*adj(U_mu)*U_nu;
+	    					sh_field = Cshift(temp_Sigma, nu, -1);
+	    					Gimpl::AddGaugeLink(SigmaTerm, sh_field, mu);
+
+	    				}
+	    			}
+	    		}
+	    	};
 
 
 
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index 717763c2..369eed72 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -17,7 +17,7 @@
       the HMC update and integrators.
       An "advanced configuration" object that can provide not only the 
       data to store the gauge configuration but also operations to manipulate
-      it like smearing.
+      it, like smearing.
       
       It stores a list of smeared configurations.
     */
@@ -57,7 +57,7 @@
 
 	}
 }
-      //====================================================================
+//====================================================================
 GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime, 
 	const GaugeField& GaugeK) const{
 	GridBase *grid = GaugeK._grid;
@@ -68,12 +68,14 @@ GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime,
 	GaugeLinkField GaugeKmu(grid), Cmu(grid);
 
 	StoutSmearing.BaseSmear(C, GaugeK);
+	SigmaK = zero;
+	iLambda = zero;
 
 	for (int mu = 0; mu < Nd; mu++){
 		Cmu            = peekLorentz(     C,mu);
 		GaugeKmu       = peekLorentz(GaugeK,mu);
 		SigmaKPrime_mu = peekLorentz(SigmaKPrime,mu);
-		iQ = Ta(Cmu*adj(GaugeKmu));
+		iQ = Ta(Cmu*adj(GaugeKmu));	
 		set_iLambda(iLambda_mu, e_iQ, iQ, SigmaKPrime_mu, GaugeKmu);
 		pokeLorentz(SigmaK, SigmaKPrime_mu*e_iQ + adj(Cmu)*iLambda_mu, mu);
 		pokeLorentz(iLambda, iLambda_mu, mu);
@@ -81,14 +83,14 @@ GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime,
 	StoutSmearing.derivative(SigmaK, iLambda, GaugeK);// derivative of SmearBase
 	return SigmaK;
 }
-     
+
 
 
 /*! @brief Returns smeared configuration at level 'Level' */
 const GaugeField& get_smeared_conf(int Level) const{
 	return SmearedSet[Level];
 }
-      
+
 
 //====================================================================
 void set_iLambda(GaugeLinkField& iLambda, 
@@ -101,17 +103,17 @@ void set_iLambda(GaugeLinkField& iLambda,
 	GaugeLinkField unity(grid);
 	unity=1.0;
 	
-	LatticeReal u(grid), w(grid);
+	LatticeComplex u(grid), w(grid);
 	LatticeComplex f0(grid), f1(grid), f2(grid);
-	LatticeReal xi0(grid), xi1(grid), tmp(grid);
-	LatticeReal u2(grid), w2(grid), cosw(grid);
+	LatticeComplex xi0(grid), xi1(grid), tmp(grid);
+	LatticeComplex u2(grid), w2(grid), cosw(grid);
 	LatticeComplex emiu(grid), e2iu(grid), qt(grid), fden(grid);
 	LatticeComplex r01(grid), r11(grid), r21(grid), r02(grid), r12(grid);
 	LatticeComplex r22(grid), tr1(grid), tr2(grid);
 	LatticeComplex b10(grid), b11(grid), b12(grid), b20(grid), b21(grid), b22(grid);
-	LatticeReal LatticeUnitReal(grid);
+	LatticeComplex LatticeUnitComplex(grid);
 
-	LatticeUnitReal = 1.0;
+	LatticeUnitComplex = 1.0;
 	
 	// Exponential
 	iQ2 = iQ * iQ;
@@ -121,44 +123,44 @@ void set_iLambda(GaugeLinkField& iLambda,
 	e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
 
 	// Getting B1, B2, Gamma and Lambda
+	// simplify this part, reduntant calculations in set_fj
 	xi0 = StoutSmearing.func_xi0(w);
 	xi1 = StoutSmearing.func_xi1(w);
 	u2 = u * u;
 	w2 = w * w;
 	cosw = cos(w);
-	
-	emiu = toComplex(cos(u)) - timesI(toComplex(sin(u)));
-	e2iu = toComplex(cos(2.0*u)) + timesI(toComplex(sin(2.0*u)));
 
-	r01 = (toComplex(2.0*u) + timesI(toComplex(2.0*(u2-w2)))) * e2iu
-	+ emiu * (toComplex(16.0*u*cosw + 2.0*u*(3.0*u2+w2)*xi0) +
-		timesI(toComplex(-8.0*u2*cosw + 2.0*(9.0*u2+w2)*xi0)));
+	emiu = cos(u) - timesI(sin(u));
+	e2iu = cos(2.0*u) + timesI(sin(2.0*u));
+
+	r01 = (2.0*u + timesI(2.0*(u2-w2))) * e2iu
+	+ emiu * ((16.0*u*cosw + 2.0*u*(3.0*u2+w2)*xi0) +
+		timesI(-8.0*u2*cosw + 2.0*(9.0*u2+w2)*xi0));
 	
-	r11 = (toComplex(2.0*LatticeUnitReal) + timesI(toComplex(4.0*u)))* e2iu
-	+ emiu * (toComplex(-2.0*cosw + (3.0*u2-w2)*xi0) +
-		timesI(toComplex(2.0*u*cosw + 6.0*u*xi0)));
+	r11 = (2.0*LatticeUnitComplex + timesI(4.0*u))* e2iu
+	+ emiu * ((-2.0*cosw + (3.0*u2-w2)*xi0) +
+		timesI((2.0*u*cosw + 6.0*u*xi0)));
 
 	r21 = 2.0*timesI(e2iu)
-	+ emiu * (toComplex(-3.0*u*xi0) + timesI(toComplex(cosw - 3.0*xi0)));
+	+ emiu * (-3.0*u*xi0 + timesI(cosw - 3.0*xi0));
 
 	
-	r02 = -2.0 * e2iu + emiu * (toComplex(-8.0*u2*xi0) +
-		timesI(toComplex(2.0*u*(cosw + xi0 + 3.0*u2*xi1))));
+	r02 = -2.0 * e2iu + emiu * (-8.0*u2*xi0 +
+		timesI(2.0*u*(cosw + xi0 + 3.0*u2*xi1)));
 
-	r12 = emiu * (toComplex(2.0*u*xi0) + timesI(toComplex(-cosw - xi0 + 3.0*u2*xi1)));
+	r12 = emiu * (2.0*u*xi0 + timesI(-cosw - xi0 + 3.0*u2*xi1));
 
-	r22 = emiu * (toComplex(xi0) - timesI(toComplex(3.0*u*xi1)));
+	r22 = emiu * (xi0 - timesI(3.0*u*xi1));
 
-	tmp = (2.0*(9.0*u2-w2)*(9.0*u2-w2));
-	fden = toComplex(pow(tmp, -1.0));  // 1/tmp
+	fden = LatticeUnitComplex/(2.0*(9.0*u2-w2)*(9.0*u2-w2));
+	
+	b10 = 2.0 * u * r01 + (3.0* u2 - w2)*r02 - (30.0 * u2 + 2.0 * w2)*f0;
+	b11 = 2.0 * u * r11 + (3.0* u2 - w2)*r12 - (30.0 * u2 + 2.0 * w2)*f1;
+	b12 = 2.0 * u * r21 + (3.0* u2 - w2)*r22 - (30.0 * u2 + 2.0 * w2)*f2;
 
-	b10 = toComplex(2.0*u) * r01 + toComplex(3.0*u2 - w2)*r02 - toComplex(30.0*u2 + 2.0*w2)*f0;
-	b11 = toComplex(2.0*u) * r11 + toComplex(3.0*u2 - w2)*r12 - toComplex(30.0*u2 + 2.0*w2)*f1;
-	b12 = toComplex(2.0*u) * r21 + toComplex(3.0*u2 - w2)*r22 - toComplex(30.0*u2 + 2.0*w2)*f2;
-
-	b20 = r01 - toComplex(3.0*u)*r02 - toComplex(24.0*u)*f0;
-	b21 = r11 - toComplex(3.0*u)*r12 - toComplex(24.0*u)*f1;
-	b22 = r21 - toComplex(3.0*u)*r22 - toComplex(24.0*u)*f2;
+	b20 = r01 - (3.0*u)*r02 - (24.0*u)*f0;
+	b21 = r11 - (3.0*u)*r12 - (24.0*u)*f1;
+	b22 = r21 - (3.0*u)*r22 - (24.0*u)*f2;
 
 	b10 *= fden;
 	b11 *= fden;
@@ -166,7 +168,8 @@ void set_iLambda(GaugeLinkField& iLambda,
 	b20 *= fden;
 	b21 *= fden;
 	b22 *= fden;
-	
+
+
 	B1 = b10*unity + timesMinusI(b11) * iQ - b12 * iQ2;
 	B2 = b20*unity + timesMinusI(b21) * iQ - b22 * iQ2;
 	USigmap = GaugeK * Sigmap;
@@ -180,58 +183,60 @@ void set_iLambda(GaugeLinkField& iLambda,
 	GaugeLinkField iGamma = tr1 * timesMinusI(iQ) - tr2 * iQ2 +
 	f1 * USigmap + f2 * QUS + f2 * USQ;
 
-	iLambda = Ta(iGamma);
-	
+	iLambda = Ta(timesI(iGamma));
 
 }
-     
+
 //==================================================================== 
 public:
-      GaugeField* ThinLinks;      /*!< @brief Pointer to the thin 
+    GaugeField* ThinLinks;      /*!< @brief Pointer to the thin 
 				    					links configuration */
-      
+
       /*! @brief Standard constructor */
-      SmearedConfiguration(GridCartesian * UGrid,
-      	unsigned int Nsmear, 
-      	Smear_Stout<Gimpl>& Stout):
-      smearingLevels(Nsmear),
-      StoutSmearing(Stout),
-      ThinLinks(NULL){
-      	for (unsigned int i=0; i< smearingLevels; ++i)
-      		SmearedSet.push_back(*(new GaugeField(UGrid)));
-      }
-      
+    SmearedConfiguration(GridCartesian * UGrid,
+    	unsigned int Nsmear, 
+    	Smear_Stout<Gimpl>& Stout):
+    smearingLevels(Nsmear),
+    StoutSmearing(Stout),
+    ThinLinks(NULL){
+    	for (unsigned int i=0; i< smearingLevels; ++i)
+    		SmearedSet.push_back(*(new GaugeField(UGrid)));
+    }
+
       /*! For just thin links */
-      SmearedConfiguration():
-      smearingLevels(0),
-      StoutSmearing(),
-      SmearedSet(),
-      ThinLinks(NULL){}
-      
-      
+    SmearedConfiguration():
+    smearingLevels(0),
+    StoutSmearing(),
+    SmearedSet(),
+    ThinLinks(NULL){}
+
+
       // attach the smeared routines to the thin links U and fill the smeared set
-      void set_GaugeField(GaugeField& U){ fill_smearedSet(U);}
-      
-      //====================================================================
-      void smeared_force(GaugeField& SigmaTilde) const{
-      	if (smearingLevels > 0){
-	  GaugeField force = SigmaTilde;//actually = U*SigmaTilde
-	  GaugeLinkField tmp_mu(SigmaTilde._grid);
-	  
-	for (int mu = 0; mu < Nd; mu++){
-	    // to get SigmaTilde
-	  	tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
-	  	pokeLorentz(force, tmp_mu, mu);
-	  }
-	  for(int ismr = smearingLevels - 1; ismr > 0; --ismr)
-	  	force = AnalyticSmearedForce(force,get_smeared_conf(ismr-1));
-	  
-	  force = AnalyticSmearedForce(force,*ThinLinks);
-	  
-	  for (int mu = 0; mu < Nd; mu++){
-	  	tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
-	  	pokeLorentz(SigmaTilde, tmp_mu, mu);
-	  }
+    void set_GaugeField(GaugeField& U){ fill_smearedSet(U);}
+
+//====================================================================
+    void smeared_force(GaugeField& SigmaTilde) const{
+
+    	if (smearingLevels > 0){
+    		GaugeField     force(SigmaTilde._grid); 
+    		GaugeLinkField tmp_mu(SigmaTilde._grid);
+	  		force = SigmaTilde;//actually = U*SigmaTilde
+
+	  		for (int mu = 0; mu < Nd; mu++){
+		    	// to get just SigmaTilde
+	  			tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
+	  			pokeLorentz(force, tmp_mu, mu);
+	  		}
+
+	  		for(int ismr = smearingLevels - 1; ismr > 0; --ismr)
+	  			force = AnalyticSmearedForce(force,get_smeared_conf(ismr-1));
+
+	  		force = AnalyticSmearedForce(force,*ThinLinks);
+	  		
+	  		for (int mu = 0; mu < Nd; mu++){
+	  			tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
+	  			pokeLorentz(SigmaTilde, tmp_mu, mu);
+	  		}
 	}// if smearingLevels = 0 do nothing
 }
       //====================================================================
@@ -246,7 +251,7 @@ GaugeField& get_U(bool smeared=false) {
 	if (smeared){
 		if (smearingLevels){ 
 			RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(SmearedSet[smearingLevels-1]);
-			std::cout<< GridLogDebug << "getting U Plaq: " << impl_plaq<< std::endl;
+			std::cout<< GridLogDebug << "getting Usmr Plaq: " << impl_plaq<< std::endl;
 			return get_SmearedU();
 
 		}
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index 3c323c47..511a5c29 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -12,7 +12,6 @@
     template <class Gimpl> 
   		class Smear_Stout: public Smear<Gimpl> {
   		private:
-  			const std::vector<double> d_rho;
   			const Smear < Gimpl > * SmearBase;
 
   		public:
@@ -22,58 +21,48 @@
   				static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
   			}
 
-      /*! Default constructor */
+			/*! Default constructor */
   			Smear_Stout(double rho = 1.0):SmearBase(new Smear_APE < Gimpl > (rho)){
   				static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
   			}
 
-  			~Smear_Stout(){}
+  			~Smear_Stout(){} //delete SmearBase...
 
   			void smear(GaugeField& u_smr,const GaugeField& U) const{
-
-
   				GaugeField C(U._grid);
   				GaugeLinkField tmp(U._grid), iq_mu(U._grid), Umu(U._grid);
 
   				std::cout<< GridLogDebug << "Stout smearing started\n";
 
-	//Smear the configurations
+				//Smear the configurations
   				SmearBase->smear(C, U);
+
   				for (int mu = 0; mu<Nd; mu++)
   				{
   					tmp = peekLorentz(C,mu);
   					Umu = peekLorentz(U,mu);
-		  			std::cout << "source matrix " << Umu << std::endl;	
-
 		  			iq_mu = Ta(tmp * adj(Umu)); // iq_mu = Ta(Omega_mu) to match the signs with the paper
-
 		  			exponentiate_iQ(tmp, iq_mu);  
-		  			//Debug check
-		  			GaugeLinkField check = adj(tmp) * tmp - 1.0;
-		  			std::cout << "check " << check << std::endl;
 					pokeLorentz(u_smr, tmp*Umu, mu);// u_smr = exp(iQ_mu)*U_mu
-		  		}
-
-		  		std::cout<< GridLogDebug << "Stout smearing completed\n";
+				}
+				std::cout<< GridLogDebug << "Stout smearing completed\n";
+			};
 
 
-		  	};
+			void derivative(GaugeField& SigmaTerm,
+				const GaugeField& iLambda,
+				const GaugeField& Gauge) const{
+				SmearBase->derivative(SigmaTerm, iLambda, Gauge);
+			};
 
 
-		  	void derivative(GaugeField& SigmaTerm,
-		  		const GaugeField& iLambda,
-		  		const GaugeField& Gauge) const{
-		  		SmearBase->derivative(SigmaTerm, iLambda, Gauge);
-		  	};
+			void BaseSmear(GaugeField& C,
+				const GaugeField& U) const{
+				SmearBase->smear(C, U);
+			};
 
-
-		  	void BaseSmear(GaugeField& C,
-		  		const GaugeField& U) const{
-		  		SmearBase->smear(C, U);
-		  	};
-
-		  	void exponentiate_iQ(GaugeLinkField& e_iQ,
-		  		const GaugeLinkField& iQ) const{
+			void exponentiate_iQ(GaugeLinkField& e_iQ,
+				const GaugeLinkField& iQ) const{
 		// Put this outside 
 		// only valid for SU(3) matrices
 
@@ -84,124 +73,48 @@
 		// the i sign is coming from outside
 		// input matrix is anti-hermitian NOT hermitian
 
-		  		GridBase *grid = iQ._grid;
-		  		GaugeLinkField unity(grid);
-		  		unity=1.0;
+				GridBase *grid = iQ._grid;
+				GaugeLinkField unity(grid);
+				unity=1.0;
 
-		  		GaugeLinkField iQ2(grid), iQ3(grid);
-		  		LatticeComplex u(grid), w(grid);
-		  		LatticeComplex f0(grid), f1(grid), f2(grid);
+				GaugeLinkField iQ2(grid), iQ3(grid);
+				LatticeComplex u(grid), w(grid);
+				LatticeComplex f0(grid), f1(grid), f2(grid);
 
-		  		iQ2 = iQ * iQ;
-		  		iQ3 = iQ * iQ2;
+				iQ2 = iQ * iQ;
+				iQ3 = iQ * iQ2;
 
-		  		set_uw_complex(u, w, iQ2, iQ3);
-		  		set_fj_complex(f0, f1, f2, u, w);
+				set_uw(u, w, iQ2, iQ3);
+				set_fj(f0, f1, f2, u, w);
 
-		  		std::cout << "f0 " << f0 << std::endl;
-		  		std::cout << "f1 " << f1 << std::endl;
-		  		std::cout << "f2 " << f2 << std::endl;
-	  			std::cout << "iQ " << iQ << std::endl;	
-	  			std::cout << "iQ2 " << iQ2 << std::endl;	
-
-		  		e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
+				e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
 
 
-		  	};
+			};
 
 
-		  	void set_uw(LatticeReal& u, LatticeReal& w,
-		  		GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
-		  		Real one_over_three = 1.0/3.0;
-		  		Real one_over_two = 1.0/2.0;
+			void set_uw(LatticeComplex& u, LatticeComplex& w,
+				GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
+				Complex one_over_three = 1.0/3.0;
+				Complex one_over_two = 1.0/2.0;
 
-		  		GridBase *grid = u._grid;
-		  		LatticeReal c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
-
-				// sign in c0 from the conventions on the Ta
-				//	c0    = - toReal(imag(trace(iQ3))) * one_over_three;
-				c0    = - toReal(real(timesMinusI(trace(iQ3)))) * one_over_three; //slow and temporary, FIX the bug in imag
-				c1    = - toReal(real(trace(iQ2))) * one_over_two;
-				tmp   = c1 * one_over_three;
-				c0max = 2.0 * pow(tmp, 1.5);
-
-				theta = acos(c0/c0max);
-				u = sqrt(tmp) * cos( theta * one_over_three);
-				w = sqrt(c1)  * sin( theta * one_over_three);
-
-			}
-
-			void set_uw_complex(LatticeComplex& u, LatticeComplex& w,
-		  		GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
-		  		Complex one_over_three = 1.0/3.0;
-		  		Complex one_over_two = 1.0/2.0;
-
-		  		GridBase *grid = u._grid;
-		  		LatticeComplex c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
+				GridBase *grid = u._grid;
+				LatticeComplex c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
 
 				// sign in c0 from the conventions on the Ta
 				c0    = - real(timesMinusI(trace(iQ3))) * one_over_three; //temporary hack 
 				c1    = - real(trace(iQ2)) * one_over_two;
 
 				//Cayley Hamilton checks to machine precision, tested
-
-				std::cout << "c0 " << c0 << std::endl;
-				std::cout << "c1 " << c1 << std::endl;
-
 				tmp   = c1 * one_over_three;
 				c0max = 2.0 * pow(tmp, 1.5);
 
-				std::cout << "c0max " << c0max << std::endl;
-				LatticeComplex tempratio = c0/c0max;
-				std::cout << "ratio c0/c0max " << tempratio << std::endl;
-				theta = acos(c0/c0max); // divide by three here, now leave as it is
-				std::cout << "theta " << theta << std::endl;
-
-				u = sqrt(tmp) * cos( theta * one_over_three);
-				w = sqrt(c1)  * sin( theta * one_over_three);
-
-				std::cout << "u " << u << std::endl;
-				std::cout << "w " << w << std::endl;
-
+				theta = acos(c0/c0max)*one_over_three; // divide by three here, now leave as it is
+				u = sqrt(tmp) * cos( theta );
+				w = sqrt(c1)  * sin( theta );
 			}
 
-
 			void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
-				const LatticeReal& u, const LatticeReal& w) const{
-
-				GridBase *grid = u._grid;
-				LatticeReal xi0(grid), u2(grid), w2(grid), cosw(grid), tmp(grid);
-				LatticeComplex fden(grid);
-				LatticeComplex h0(grid), h1(grid), h2(grid);
-				LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
-
-				xi0   = func_xi0(w);
-				u2    = u * u;
-				w2    = w * w;
-				cosw  = cos(w);
-
-				ixi0  = timesI(toComplex(xi0));
-				emiu  = toComplex(cos(u)) - timesI(toComplex(sin(u)));
-				e2iu  = toComplex(cos(2.0*u)) + timesI(toComplex(sin(2.0*u)));
-
-				h0    = e2iu * toComplex(u2 - w2) + emiu *( toComplex(8.0*u2*cosw) +
-					toComplex(2.0*u*(3.0*u2 + w2))*ixi0);
-
-				h1    = toComplex(2.0*u) * e2iu - emiu*( toComplex(2.0*u*cosw) -
-					toComplex(3.0*u2-w2)*ixi0);
-
-				h2    = e2iu - emiu * (toComplex(cosw) + toComplex(3.0*u)*ixi0);
-
-				tmp   = 9.0*u2 - w2;
-				fden  = toComplex(pow(tmp, -1.0));
-				f0    = h0 * fden;
-				f1    = h1 * fden;
-				f2    = h2 * fden;	
-
-
-			}
-
-			void set_fj_complex(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
 				const LatticeComplex& u, const LatticeComplex& w) const{
 
 				GridBase *grid = u._grid;
@@ -212,47 +125,35 @@
 				LatticeComplex unity(grid);
 				unity = 1.0;
 
-				xi0   = sin(w)/w;//func_xi0(w);
-				std::cout << "xi0 " << xi0 << std::endl;
+				xi0   = func_xi0(w);
 				u2    = u * u;
-				std::cout << "u2 " << u2 << std::endl;
 				w2    = w * w;
-				std::cout << "w2 " << w2 << std::endl;
 				cosw  = cos(w);
-				std::cout << "cosw " << cosw << std::endl;
 
 				ixi0  = timesI(xi0);
 				emiu  = cos(u)     - timesI(sin(u));
 				e2iu  = cos(2.0*u) + timesI(sin(2.0*u));
-				std::cout << "emiu " << emiu << std::endl;
-				std::cout << "e2iu " << e2iu << std::endl;
 
 				h0    = e2iu * (u2 - w2) + emiu * ( (8.0*u2*cosw) + (2.0*u*(3.0*u2 + w2)*ixi0));
 				h1    = e2iu * (2.0 * u) - emiu * ( (2.0*u*cosw) - (3.0*u2-w2)*ixi0);
 				h2    = e2iu             - emiu * ( cosw + (3.0*u)*ixi0);
 
-				std::cout << "h0 " << h0 << std::endl;
-				std::cout << "h1 " << h1 << std::endl;
-				std::cout << "h2 " << h2 << std::endl;
-
 				fden   = unity/(9.0*u2 - w2);// reals
-				std::cout << "fden " << fden << std::endl;
 				f0    = h0 * fden;
 				f1    = h1 * fden;
 				f2    = h2 * fden;	
-
 			}
 
 
 
 
-			LatticeReal func_xi0(const LatticeReal& w) const{
+			LatticeComplex func_xi0(const LatticeComplex& w) const{
 	// Define a function to do the check
 	//if( w < 1e-4 ) std::cout << GridLogWarning<< "[Smear_stout] w too small: "<< w <<"\n";
 				return  sin(w)/w;
 			}
 
-			LatticeReal func_xi1(const LatticeReal& w) const{
+			LatticeComplex func_xi1(const LatticeComplex& w) const{
 	// Define a function to do the check
 	//if( w < 1e-4 ) std::cout << GridLogWarning << "[Smear_stout] w too small: "<< w <<"\n";
 				return  cos(w)/(w*w) - sin(w)/(w*w*w);

From cd8ee270807ef603020543dd869bbf3fc8a4aeae Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 4 Jul 2016 16:02:57 +0100
Subject: [PATCH 016/295] Simple change in iGamma for smearing

---
 lib/qcd/smearing/GaugeConfiguration.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index 369eed72..d9b3402f 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -177,13 +177,13 @@ void set_iLambda(GaugeLinkField& iLambda,
 	tr1 = trace(USigmap*B1);
 	tr2 = trace(USigmap*B2);
 
-	GaugeLinkField QUS = timesMinusI(iQ) * USigmap;
-	GaugeLinkField USQ = USigmap * timesMinusI(iQ);
+	GaugeLinkField QUS = iQ * USigmap;
+	GaugeLinkField USQ = USigmap * iQ;
 
-	GaugeLinkField iGamma = tr1 * timesMinusI(iQ) - tr2 * iQ2 +
-	f1 * USigmap + f2 * QUS + f2 * USQ;
+	GaugeLinkField iGamma = tr1 * iQ - timesI(tr2) * iQ2 +
+	timesI(f1) * USigmap + f2 * QUS + f2 * USQ;
 
-	iLambda = Ta(timesI(iGamma));
+	iLambda = Ta(iGamma);
 
 }
 

From 149f8266014394746dcac0cbf57799ce724eb968 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 4 Jul 2016 16:09:19 +0100
Subject: [PATCH 017/295] Tested smearing for Nf2 WilsonFermionAction, non EO:
 accepts

---
 lib/qcd/action/pseudofermion/TwoFlavour.h | 2 +-
 tests/Test_hmc_EOWilsonFermionGauge.cc    | 1 +
 tests/Test_hmc_WilsonFermionGauge.cc      | 4 ++++
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/qcd/action/pseudofermion/TwoFlavour.h b/lib/qcd/action/pseudofermion/TwoFlavour.h
index 433cf294..21d23853 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavour.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavour.h
@@ -137,7 +137,7 @@ namespace Grid{
 	FermOp.MDeriv(tmp , Y, X,DaggerNo );  dSdU=tmp;
 	FermOp.MDeriv(tmp , X, Y,DaggerYes);  dSdU=dSdU+tmp;
 	
-	dSdU = Ta(dSdU);
+	//dSdU = Ta(dSdU);
 
       };
 
diff --git a/tests/Test_hmc_EOWilsonFermionGauge.cc b/tests/Test_hmc_EOWilsonFermionGauge.cc
index d9634666..6065884a 100644
--- a/tests/Test_hmc_EOWilsonFermionGauge.cc
+++ b/tests/Test_hmc_EOWilsonFermionGauge.cc
@@ -66,6 +66,7 @@ public:
 
     TwoFlavourEvenOddPseudoFermionAction<ImplPolicy> Nf2(FermOp,CG,CG);
 
+    //Set smearing (true/false), default: false
     Nf2.is_smeared=true;
     
     //Collect actions
diff --git a/tests/Test_hmc_WilsonFermionGauge.cc b/tests/Test_hmc_WilsonFermionGauge.cc
index 21200a6a..a6fc7ae2 100644
--- a/tests/Test_hmc_WilsonFermionGauge.cc
+++ b/tests/Test_hmc_WilsonFermionGauge.cc
@@ -67,6 +67,10 @@ public:
 
     TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp,CG,CG);
   
+    //Set smearing (true/false), default: false
+    Nf2.is_smeared = true;
+
+
     //Collect actions
     ActionLevel<LatticeGaugeField> Level1(1);
     Level1.push_back(&Nf2);

From 2daffdf95d5695dda8b6b5af5f052042ffa03076 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 4 Jul 2016 16:17:28 +0100
Subject: [PATCH 018/295] Tested smeared WilsonRatio action, accepts

---
 lib/qcd/action/pseudofermion/TwoFlavourRatio.h | 3 ++-
 tests/Test_hmc_WilsonRatio.cc                  | 3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/qcd/action/pseudofermion/TwoFlavourRatio.h b/lib/qcd/action/pseudofermion/TwoFlavourRatio.h
index 8a28f3b0..26d21094 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavourRatio.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavourRatio.h
@@ -155,7 +155,8 @@ namespace Grid{
 	DenOp.MDeriv(force,Y,X,DaggerNo);   dSdU=dSdU-force;
 	DenOp.MDeriv(force,X,Y,DaggerYes);  dSdU=dSdU-force;
 
-	dSdU = - Ta(dSdU);
+	dSdU *= -1.0;
+	//dSdU = - Ta(dSdU);
 
       };
     };
diff --git a/tests/Test_hmc_WilsonRatio.cc b/tests/Test_hmc_WilsonRatio.cc
index 000a8913..098d5a06 100644
--- a/tests/Test_hmc_WilsonRatio.cc
+++ b/tests/Test_hmc_WilsonRatio.cc
@@ -65,6 +65,9 @@ public:
   
     ConjugateGradient<FermionField>  CG(1.0e-8,10000);
     TwoFlavourRatioPseudoFermionAction<ImplPolicy> Nf2(NumOp, DenOp,CG,CG);
+
+    //Set smearing (true/false), default: false
+    Nf2.is_smeared=true;
   
     //Collect actions
     ActionLevel<LatticeGaugeField> Level1;

From 17ca5240f7f5102790ce4a548198f84554bce88f Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 4 Jul 2016 16:25:15 +0100
Subject: [PATCH 019/295] Testet smeared EOWilsonRatio, accepts

---
 tests/Test_hmc_EOWilsonRatio.cc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/Test_hmc_EOWilsonRatio.cc b/tests/Test_hmc_EOWilsonRatio.cc
index e8723d06..d4c44e29 100644
--- a/tests/Test_hmc_EOWilsonRatio.cc
+++ b/tests/Test_hmc_EOWilsonRatio.cc
@@ -66,6 +66,9 @@ public:
     ConjugateGradient<FermionField>  CG(1.0e-8,10000);
     TwoFlavourEvenOddRatioPseudoFermionAction<ImplPolicy> Nf2(NumOp, DenOp,CG,CG);
   
+    //Set smearing (true/false), default: false
+    Nf2.is_smeared=true;
+  
     //Collect actions
     ActionLevel<LatticeGaugeField> Level1;
     Level1.push_back(&Nf2);

From 6ce174cd6099995b28350d6f62f80c32970129f7 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 4 Jul 2016 16:36:49 +0100
Subject: [PATCH 020/295] Testing smearing for RHMC routines

---
 tests/Test_rhmc_Wilson1p1.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tests/Test_rhmc_Wilson1p1.cc b/tests/Test_rhmc_Wilson1p1.cc
index 60306412..8f8bddb4 100644
--- a/tests/Test_rhmc_Wilson1p1.cc
+++ b/tests/Test_rhmc_Wilson1p1.cc
@@ -66,6 +66,10 @@ public:
     OneFlavourRationalPseudoFermionAction<WilsonImplR> WilsonNf1a(FermOp,Params);
     OneFlavourRationalPseudoFermionAction<WilsonImplR> WilsonNf1b(FermOp,Params);
 
+    //Set smearing (true/false), default: false
+    WilsonNf1a.is_smeared=false;
+    WilsonNf1b.is_smeared=false;
+
     //Collect actions
     ActionLevel<LatticeGaugeField> Level1;
     Level1.push_back(&WilsonNf1a);

From 3e80947c2bb61bf71002a84430d3384819d9cda3 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 5 Jul 2016 12:03:54 +0100
Subject: [PATCH 021/295] Cleaned up HMC output. Tested smeared HMCs for single
 precision (OK)

---
 lib/Log.cc                       | 101 ++--
 lib/Log.h                        |   7 +-
 lib/qcd/action/gauge/GaugeImpl.h | 331 +++++++------
 lib/qcd/hmc/HMC.h                | 348 +++++++------
 lib/qcd/hmc/HmcRunner.h          |  17 +-
 lib/qcd/utils/WilsonLoops.h      | 821 ++++++++++++++++---------------
 6 files changed, 838 insertions(+), 787 deletions(-)

diff --git a/lib/Log.cc b/lib/Log.cc
index 438d2c97..02d2942d 100644
--- a/lib/Log.cc
+++ b/lib/Log.cc
@@ -1,51 +1,51 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/Log.cc
+Source file: ./lib/Log.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Antonin Portelli <antonin.portelli@me.com>
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include <Grid.h>
 
 namespace Grid {
-  
-  GridStopWatch Logger::StopWatch;
-  std::ostream  Logger::devnull(0);
-  
-  Colours    GridLogColours    (0);
-  GridLogger GridLogError      (1,"Error",GridLogColours, "RED");
-  GridLogger GridLogWarning    (1,"Warning",GridLogColours, "YELLOW");
-  GridLogger GridLogMessage    (1,"Message",GridLogColours, "NORMAL");
-  GridLogger GridLogDebug      (1,"Debug",GridLogColours, "PURPLE");
-  GridLogger GridLogPerformance(1,"Performance",GridLogColours, "GREEN");
-  GridLogger GridLogIterative  (1,"Iterative",GridLogColours, "BLUE");
-  GridLogger GridLogIntegrator (1,"Integrator",GridLogColours, "BLUE");
 
-void GridLogConfigure(std::vector<std::string> &logstreams)
-{
+GridStopWatch Logger::StopWatch;
+std::ostream Logger::devnull(0);
+
+Colours GridLogColours(0);
+GridLogger GridLogError(1, "Error", GridLogColours, "RED");
+GridLogger GridLogWarning(1, "Warning", GridLogColours, "YELLOW");
+GridLogger GridLogMessage(1, "Message", GridLogColours, "NORMAL");
+GridLogger GridLogDebug(1, "Debug", GridLogColours, "PURPLE");
+GridLogger GridLogPerformance(1, "Performance", GridLogColours, "GREEN");
+GridLogger GridLogIterative(1, "Iterative", GridLogColours, "BLUE");
+GridLogger GridLogIntegrator(1, "Integrator", GridLogColours, "BLUE");
+
+void GridLogConfigure(std::vector<std::string> &logstreams) {
   GridLogError.Active(0);
   GridLogWarning.Active(0);
   GridLogMessage.Active(0);
@@ -55,43 +55,38 @@ void GridLogConfigure(std::vector<std::string> &logstreams)
   GridLogIntegrator.Active(0);
   GridLogColours.Active(0);
 
-  for(int i=0;i<logstreams.size();i++){
-    if ( logstreams[i]== std::string("Error")       ) GridLogError.Active(1);
-    if ( logstreams[i]== std::string("Warning")     ) GridLogWarning.Active(1);
-    if ( logstreams[i]== std::string("Message")     ) GridLogMessage.Active(1);
-    if ( logstreams[i]== std::string("Iterative")   ) GridLogIterative.Active(1);
-    if ( logstreams[i]== std::string("Debug")       ) GridLogDebug.Active(1);
-    if ( logstreams[i]== std::string("Performance") ) GridLogPerformance.Active(1);
-    if ( logstreams[i]== std::string("Integrator" ) ) GridLogIntegrator.Active(1);
-    if ( logstreams[i]== std::string("Colours" )    ) GridLogColours.Active(1);
-     
+  for (int i = 0; i < logstreams.size(); i++) {
+    if (logstreams[i] == std::string("Error")) GridLogError.Active(1);
+    if (logstreams[i] == std::string("Warning")) GridLogWarning.Active(1);
+    if (logstreams[i] == std::string("Message")) GridLogMessage.Active(1);
+    if (logstreams[i] == std::string("Iterative")) GridLogIterative.Active(1);
+    if (logstreams[i] == std::string("Debug")) GridLogDebug.Active(1);
+    if (logstreams[i] == std::string("Performance"))
+      GridLogPerformance.Active(1);
+    if (logstreams[i] == std::string("Integrator")) GridLogIntegrator.Active(1);
+    if (logstreams[i] == std::string("Colours")) GridLogColours.Active(1);
   }
 }
 
 ////////////////////////////////////////////////////////////
 // Verbose limiter on MPI tasks
 ////////////////////////////////////////////////////////////
-void Grid_quiesce_nodes(void)
-{
-  int me=0;
+void Grid_quiesce_nodes(void) {
+  int me = 0;
 #ifdef GRID_COMMS_MPI
-  MPI_Comm_rank(MPI_COMM_WORLD,&me);
+  MPI_Comm_rank(MPI_COMM_WORLD, &me);
 #endif
 #ifdef GRID_COMMS_SHMEM
   me = shmem_my_pe();
 #endif
-  if ( me ) { 
+  if (me) {
     std::cout.setstate(std::ios::badbit);
   }
 }
 
-void Grid_unquiesce_nodes(void)
-{
+void Grid_unquiesce_nodes(void) {
 #ifdef GRID_COMMS_MPI
-    std::cout.clear();
+  std::cout.clear();
 #endif
 }
-
-
 }
-
diff --git a/lib/Log.h b/lib/Log.h
index fa0d5ada..887c9750 100644
--- a/lib/Log.h
+++ b/lib/Log.h
@@ -6,9 +6,9 @@
 
     Copyright (C) 2015
 
-Author: Antonin Portelli <antonin.portelli@me.com>
-Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
-Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+    Author: Antonin Portelli <antonin.portelli@me.com>
+    Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
+    Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -49,7 +49,6 @@ protected:
 public:
   std::map<std::string, std::string> colour;
 
-
   Colours(bool activate=false){
     Active(activate);
   };
diff --git a/lib/qcd/action/gauge/GaugeImpl.h b/lib/qcd/action/gauge/GaugeImpl.h
index 19e2f6da..691d25f1 100644
--- a/lib/qcd/action/gauge/GaugeImpl.h
+++ b/lib/qcd/action/gauge/GaugeImpl.h
@@ -1,189 +1,188 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/gauge/GaugeImpl.h
+Source file: ./lib/qcd/action/gauge/GaugeImpl.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
-#ifndef  GRID_QCD_GAUGE_IMPL_H
-#define  GRID_QCD_GAUGE_IMPL_H
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
+#ifndef GRID_QCD_GAUGE_IMPL_H
+#define GRID_QCD_GAUGE_IMPL_H
 
 namespace Grid {
 
-  namespace QCD {
+namespace QCD {
 
-    
-    ////////////////////////////////////////////////////////////////////////
-    // Implementation dependent gauge types
-    ////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+// Implementation dependent gauge types
+////////////////////////////////////////////////////////////////////////
 
-template<class Gimpl> class WilsonLoops;
+template <class Gimpl> class WilsonLoops;
 
-#define INHERIT_GIMPL_TYPES(GImpl) \
-    typedef typename GImpl::Simd                           Simd;\
-    typedef typename GImpl::GaugeLinkField       GaugeLinkField;\
-    typedef typename GImpl::GaugeField               GaugeField;\
-    typedef typename GImpl::SiteGaugeField       SiteGaugeField;\
-    typedef typename GImpl::SiteGaugeLink         SiteGaugeLink;
+#define INHERIT_GIMPL_TYPES(GImpl)                                             \
+  typedef typename GImpl::Simd Simd;                                           \
+  typedef typename GImpl::GaugeLinkField GaugeLinkField;                       \
+  typedef typename GImpl::GaugeField GaugeField;                               \
+  typedef typename GImpl::SiteGaugeField SiteGaugeField;                       \
+  typedef typename GImpl::SiteGaugeLink SiteGaugeLink;
 
-    // 
-    template<class S,int Nrepresentation=Nc>
-    class GaugeImplTypes { 
-    public:
-    
-      typedef S Simd;
-    
-      template<typename vtype> using iImplGaugeLink          = iScalar<iScalar<iMatrix<vtype, Nrepresentation> > >;
-      template<typename vtype> using iImplGaugeField         = iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nd  >;
-    
-      typedef iImplGaugeLink    <Simd>           SiteGaugeLink;
-      typedef iImplGaugeField   <Simd>           SiteGaugeField;
-    
-      typedef Lattice<SiteGaugeLink>                GaugeLinkField; // bit ugly naming; polarised gauge field, lorentz... all ugly
-      typedef Lattice<SiteGaugeField>                   GaugeField;
+//
+template <class S, int Nrepresentation = Nc> class GaugeImplTypes {
+public:
+  typedef S Simd;
 
-    // Move this elsewhere?
-    static inline void AddGaugeLink(GaugeField& U, GaugeLinkField& W, int mu){  // U[mu] += W 
+  template <typename vtype>
+  using iImplGaugeLink = iScalar<iScalar<iMatrix<vtype, Nrepresentation>>>;
+  template <typename vtype>
+  using iImplGaugeField = iVector<iScalar<iMatrix<vtype, Nrepresentation>>, Nd>;
+
+  typedef iImplGaugeLink<Simd> SiteGaugeLink;
+  typedef iImplGaugeField<Simd> SiteGaugeField;
+
+  typedef Lattice<SiteGaugeLink> GaugeLinkField; // bit ugly naming; polarised
+                                                 // gauge field, lorentz... all
+                                                 // ugly
+  typedef Lattice<SiteGaugeField> GaugeField;
+
+  // Move this elsewhere?
+  static inline void AddGaugeLink(GaugeField &U, GaugeLinkField &W,
+                                  int mu) { // U[mu] += W
     PARALLEL_FOR_LOOP
-      for(auto ss=0;ss<U._grid->oSites();ss++){
-	         U._odata[ss]._internal[mu] = U._odata[ss]._internal[mu] + W._odata[ss]._internal;
-        }  
+    for (auto ss = 0; ss < U._grid->oSites(); ss++) {
+      U._odata[ss]._internal[mu] =
+          U._odata[ss]._internal[mu] + W._odata[ss]._internal;
     }
-    
-      
-    };
-
-    // Composition with smeared link, bc's etc.. probably need multiple inheritance
-    // Variable precision "S" and variable Nc
-    template<class GimplTypes>
-    class PeriodicGaugeImpl : public GimplTypes  { 
-    public:
-
-    INHERIT_GIMPL_TYPES(GimplTypes);
-
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Support needed for the assembly of loops including all boundary condition effects such as conjugate bcs
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    
-      template<class covariant>  static inline
-      Lattice<covariant> CovShiftForward (const GaugeLinkField &Link, int mu, const Lattice<covariant> &field) {
-	return PeriodicBC::CovShiftForward(Link,mu,field);
-      }
-
-      template<class covariant> static inline
-      Lattice<covariant> CovShiftBackward(const GaugeLinkField &Link, int mu,const Lattice<covariant> &field) {
-	return PeriodicBC::CovShiftBackward(Link,mu,field);
-      }
-      static inline
-      GaugeLinkField CovShiftIdentityBackward(const GaugeLinkField &Link, int mu) {
-	return Cshift(adj(Link),mu,-1);
-      }
-      static inline
-      GaugeLinkField CovShiftIdentityForward(const GaugeLinkField &Link, int mu) {
-	return Link;
-      }
-      static inline
-      GaugeLinkField ShiftStaple(const GaugeLinkField &Link, int mu) {
-	return Cshift(Link,mu,1);
-      }
-
-      static inline bool isPeriodicGaugeField(void) {
-	return true;
-      }
-
-    };
-
-    
-    // Composition with smeared link, bc's etc.. probably need multiple inheritance
-    // Variable precision "S" and variable Nc
-    template<class GimplTypes>
-    class ConjugateGaugeImpl : public GimplTypes { 
-    public:
-
-      INHERIT_GIMPL_TYPES(GimplTypes);
-
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Support needed for the assembly of loops including all boundary condition effects such as Gparity.
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    template<class covariant>  static
-    Lattice<covariant> CovShiftForward (const GaugeLinkField &Link, int mu, const Lattice<covariant> &field) {
-      return ConjugateBC::CovShiftForward(Link,mu,field);
-    }
-
-    template<class covariant> static
-    Lattice<covariant> CovShiftBackward(const GaugeLinkField &Link, int mu,const Lattice<covariant> &field) {
-      return ConjugateBC::CovShiftBackward(Link,mu,field);
-    }
-
-    static inline
-    GaugeLinkField CovShiftIdentityBackward(const GaugeLinkField &Link, int mu) {
-      GridBase *grid = Link._grid;
-      int Lmu = grid->GlobalDimensions()[mu]-1;
-      
-      Lattice<iScalar<vInteger> > coor(grid);    LatticeCoordinate(coor,mu);
-
-      GaugeLinkField tmp (grid);
-      tmp=adj(Link);
-      tmp = where(coor==Lmu,conjugate(tmp),tmp);
-      return Cshift(tmp,mu,-1);// moves towards positive mu
-    }
-    static inline
-    GaugeLinkField CovShiftIdentityForward(const GaugeLinkField &Link, int mu) {
-      return Link;
-    }
-
-    static inline
-    GaugeLinkField ShiftStaple(const GaugeLinkField &Link, int mu) {
-      GridBase *grid = Link._grid;
-      int Lmu = grid->GlobalDimensions()[mu]-1;
-      
-      Lattice<iScalar<vInteger> > coor(grid);    LatticeCoordinate(coor,mu);
-
-      GaugeLinkField tmp (grid);
-      tmp=Cshift(Link,mu,1);
-      tmp=where(coor==Lmu,conjugate(tmp),tmp);
-      return tmp;
-    }
-
-    static inline bool isPeriodicGaugeField(void) {
-      return false;
-    }
-    
-    };
-
-    typedef GaugeImplTypes<vComplex,Nc>     GimplTypesR;
-    typedef GaugeImplTypes<vComplexF,Nc>    GimplTypesF;
-    typedef GaugeImplTypes<vComplexD,Nc>    GimplTypesD;
-
-    typedef PeriodicGaugeImpl<GimplTypesR> PeriodicGimplR; // Real.. whichever prec
-    typedef PeriodicGaugeImpl<GimplTypesF> PeriodicGimplF; // Float
-    typedef PeriodicGaugeImpl<GimplTypesD> PeriodicGimplD; // Double
-
-    typedef ConjugateGaugeImpl<GimplTypesR> ConjugateGimplR; // Real.. whichever prec
-    typedef ConjugateGaugeImpl<GimplTypesF> ConjugateGimplF; // Float
-    typedef ConjugateGaugeImpl<GimplTypesD> ConjugateGimplD; // Double
-
   }
+};
+
+// Composition with smeared link, bc's etc.. probably need multiple inheritance
+// Variable precision "S" and variable Nc
+template <class GimplTypes> class PeriodicGaugeImpl : public GimplTypes {
+public:
+  INHERIT_GIMPL_TYPES(GimplTypes);
+
+  ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // Support needed for the assembly of loops including all boundary condition
+  // effects such as conjugate bcs
+  ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+  template <class covariant>
+  static inline Lattice<covariant>
+  CovShiftForward(const GaugeLinkField &Link, int mu,
+                  const Lattice<covariant> &field) {
+    return PeriodicBC::CovShiftForward(Link, mu, field);
+  }
+
+  template <class covariant>
+  static inline Lattice<covariant>
+  CovShiftBackward(const GaugeLinkField &Link, int mu,
+                   const Lattice<covariant> &field) {
+    return PeriodicBC::CovShiftBackward(Link, mu, field);
+  }
+  static inline GaugeLinkField
+  CovShiftIdentityBackward(const GaugeLinkField &Link, int mu) {
+    return Cshift(adj(Link), mu, -1);
+  }
+  static inline GaugeLinkField
+  CovShiftIdentityForward(const GaugeLinkField &Link, int mu) {
+    return Link;
+  }
+  static inline GaugeLinkField ShiftStaple(const GaugeLinkField &Link, int mu) {
+    return Cshift(Link, mu, 1);
+  }
+
+  static inline bool isPeriodicGaugeField(void) { return true; }
+};
+
+// Composition with smeared link, bc's etc.. probably need multiple inheritance
+// Variable precision "S" and variable Nc
+template <class GimplTypes> class ConjugateGaugeImpl : public GimplTypes {
+public:
+  INHERIT_GIMPL_TYPES(GimplTypes);
+
+  ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // Support needed for the assembly of loops including all boundary condition
+  // effects such as Gparity.
+  ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+  template <class covariant>
+  static Lattice<covariant> CovShiftForward(const GaugeLinkField &Link, int mu,
+                                            const Lattice<covariant> &field) {
+    return ConjugateBC::CovShiftForward(Link, mu, field);
+  }
+
+  template <class covariant>
+  static Lattice<covariant> CovShiftBackward(const GaugeLinkField &Link, int mu,
+                                             const Lattice<covariant> &field) {
+    return ConjugateBC::CovShiftBackward(Link, mu, field);
+  }
+
+  static inline GaugeLinkField
+  CovShiftIdentityBackward(const GaugeLinkField &Link, int mu) {
+    GridBase *grid = Link._grid;
+    int Lmu = grid->GlobalDimensions()[mu] - 1;
+
+    Lattice<iScalar<vInteger>> coor(grid);
+    LatticeCoordinate(coor, mu);
+
+    GaugeLinkField tmp(grid);
+    tmp = adj(Link);
+    tmp = where(coor == Lmu, conjugate(tmp), tmp);
+    return Cshift(tmp, mu, -1); // moves towards positive mu
+  }
+  static inline GaugeLinkField
+  CovShiftIdentityForward(const GaugeLinkField &Link, int mu) {
+    return Link;
+  }
+
+  static inline GaugeLinkField ShiftStaple(const GaugeLinkField &Link, int mu) {
+    GridBase *grid = Link._grid;
+    int Lmu = grid->GlobalDimensions()[mu] - 1;
+
+    Lattice<iScalar<vInteger>> coor(grid);
+    LatticeCoordinate(coor, mu);
+
+    GaugeLinkField tmp(grid);
+    tmp = Cshift(Link, mu, 1);
+    tmp = where(coor == Lmu, conjugate(tmp), tmp);
+    return tmp;
+  }
+
+  static inline bool isPeriodicGaugeField(void) { return false; }
+};
+
+typedef GaugeImplTypes<vComplex, Nc> GimplTypesR;
+typedef GaugeImplTypes<vComplexF, Nc> GimplTypesF;
+typedef GaugeImplTypes<vComplexD, Nc> GimplTypesD;
+
+typedef PeriodicGaugeImpl<GimplTypesR> PeriodicGimplR; // Real.. whichever prec
+typedef PeriodicGaugeImpl<GimplTypesF> PeriodicGimplF; // Float
+typedef PeriodicGaugeImpl<GimplTypesD> PeriodicGimplD; // Double
+
+typedef ConjugateGaugeImpl<GimplTypesR>
+    ConjugateGimplR; // Real.. whichever prec
+typedef ConjugateGaugeImpl<GimplTypesF> ConjugateGimplF; // Float
+typedef ConjugateGaugeImpl<GimplTypesD> ConjugateGimplD; // Double
+}
 }
 
 #endif
diff --git a/lib/qcd/hmc/HMC.h b/lib/qcd/hmc/HMC.h
index b471eb3a..05838349 100644
--- a/lib/qcd/hmc/HMC.h
+++ b/lib/qcd/hmc/HMC.h
@@ -1,33 +1,34 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/hmc/HMC.h
+Source file: ./lib/qcd/hmc/HMC.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 //--------------------------------------------------------------------
 /*! @file HMC.h
  * @brief Classes for Hybrid Monte Carlo update
@@ -41,172 +42,195 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #include <string>
 
+namespace Grid {
+namespace QCD {
 
-namespace Grid{
-  namespace QCD{
-     
+struct HMCparameters {
+  Integer StartTrajectory;
+  Integer Trajectories; /* @brief Number of sweeps in this run */
+  bool MetropolisTest;
+  Integer NoMetropolisUntil;
 
-    struct HMCparameters{
+  HMCparameters() {
+    ////////////////////////////// Default values
+    MetropolisTest = true;
+    NoMetropolisUntil = 10;
+    StartTrajectory = 0;
+    Trajectories = 200;
+    /////////////////////////////////
+  }
 
-      Integer StartTrajectory;
-      Integer Trajectories; /* @brief Number of sweeps in this run */
-      bool    MetropolisTest;
-      Integer NoMetropolisUntil;
+  void print() const {
+    std::cout << GridLogMessage << "[HMC parameter] Trajectories            : " << Trajectories << "\n";
+    std::cout << GridLogMessage << "[HMC parameter] Start trajectory        : " << StartTrajectory << "\n";
+    std::cout << GridLogMessage << "[HMC parameter] Metropolis test (on/off): " << MetropolisTest << "\n";
+    std::cout << GridLogMessage << "[HMC parameter] Thermalization trajs    : " << NoMetropolisUntil << "\n";
+  }
+  
+};
 
-      HMCparameters(){
-	////////////////////////////// Default values
-	MetropolisTest      = true;
-	NoMetropolisUntil   = 10;
-	StartTrajectory     = 0;
-	Trajectories        = 200;
-	/////////////////////////////////
-      }
-    };
+template <class GaugeField>
+class HmcObservable {
+ public:
+  virtual void TrajectoryComplete(int traj, GaugeField &U, GridSerialRNG &sRNG,
+                                  GridParallelRNG &pRNG) = 0;
+};
 
-    template<class GaugeField> 
-    class HmcObservable {
-    public:
-      virtual void TrajectoryComplete (int traj, GaugeField &U, GridSerialRNG &sRNG, GridParallelRNG & pRNG )=0;
-    };
+template <class Gimpl>
+class PlaquetteLogger : public HmcObservable<typename Gimpl::GaugeField> {
+ private:
+  std::string Stem;
 
-    template<class Gimpl> 
-    class PlaquetteLogger : public HmcObservable<typename Gimpl::GaugeField> {
-    private:
-      std::string Stem;
-    public:
-      INHERIT_GIMPL_TYPES(Gimpl);
-      PlaquetteLogger(std::string cf) {
-        Stem  = cf;
-      };
+ public:
+  INHERIT_GIMPL_TYPES(Gimpl);
+  PlaquetteLogger(std::string cf) { Stem = cf; };
 
-      void TrajectoryComplete(int traj, GaugeField &U, GridSerialRNG &sRNG, GridParallelRNG & pRNG )
-      {
-	  std::string file;   { std::ostringstream os; os << Stem     <<"."<< traj; file = os.str(); }
-	  std::ofstream of(file);
+  void TrajectoryComplete(int traj, GaugeField &U, GridSerialRNG &sRNG,
+                          GridParallelRNG &pRNG) {
+    std::string file;
+    {
+      std::ostringstream os;
+      os << Stem << "." << traj;
+      file = os.str();
+    }
+    std::ofstream of(file);
 
-	  RealD peri_plaq = WilsonLoops<PeriodicGimplR>::avgPlaquette(U);
-	  RealD peri_rect = WilsonLoops<PeriodicGimplR>::avgRectangle(U);
+    RealD peri_plaq = WilsonLoops<PeriodicGimplR>::avgPlaquette(U);
+    RealD peri_rect = WilsonLoops<PeriodicGimplR>::avgRectangle(U);
 
-	  RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(U);
-	  RealD impl_rect = WilsonLoops<Gimpl>::avgRectangle(U);
+    RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(U);
+    RealD impl_rect = WilsonLoops<Gimpl>::avgRectangle(U);
 
-	  of << traj<<" "<< impl_plaq << " " << impl_rect << "  "<< peri_plaq<<" "<<peri_rect<<std::endl;
-	  std::cout<< GridLogMessage<< "traj"<<" "<< "plaq " << " " << " rect  " << "  "<< "peri_plaq" <<" "<<"peri_rect"<<std::endl;
-	  std::cout<< GridLogMessage<< traj<<" "<< impl_plaq << " " << impl_rect << "  "<< peri_plaq<<" "<<peri_rect<<std::endl;
-      }
-    };
+    of << traj << " " << impl_plaq << " " << impl_rect << "  " << peri_plaq
+       << " " << peri_rect << std::endl;
+    std::cout << GridLogMessage << "traj"
+              << " "
+              << "plaq "
+              << " "
+              << " rect  "
+              << "  "
+              << "peri_plaq"
+              << " "
+              << "peri_rect" << std::endl;
+    std::cout << GridLogMessage << traj << " " << impl_plaq << " " << impl_rect
+              << "  " << peri_plaq << " " << peri_rect << std::endl;
+  }
+};
 
-    //    template <class GaugeField, class Integrator, class Smearer, class Boundary> 
-    template <class GaugeField, class IntegratorType>
-    class HybridMonteCarlo {
-    private:
+//    template <class GaugeField, class Integrator, class Smearer, class
+//    Boundary>
+template <class GaugeField, class IntegratorType>
+class HybridMonteCarlo {
+ private:
+  const HMCparameters Params;
 
-      const HMCparameters Params;
-      
-      GridSerialRNG   &sRNG; // Fixme: need a RNG management strategy.
-      GridParallelRNG &pRNG; // Fixme: need a RNG management strategy.
-      GaugeField      & Ucur;
+  GridSerialRNG &sRNG;    // Fixme: need a RNG management strategy.
+  GridParallelRNG &pRNG;  // Fixme: need a RNG management strategy.
+  GaugeField &Ucur;
 
-      IntegratorType &TheIntegrator;
-      std::vector<HmcObservable<GaugeField> *> Observables;
+  IntegratorType &TheIntegrator;
+  std::vector<HmcObservable<GaugeField> *> Observables;
 
-      /////////////////////////////////////////////////////////
-      // Metropolis step
-      /////////////////////////////////////////////////////////
-      bool metropolis_test(const RealD DeltaH){
+  /////////////////////////////////////////////////////////
+  // Metropolis step
+  /////////////////////////////////////////////////////////
+  bool metropolis_test(const RealD DeltaH) {
+    RealD rn_test;
 
-	RealD rn_test;
+    RealD prob = std::exp(-DeltaH);
 
-	RealD prob = std::exp(-DeltaH);
+    random(sRNG, rn_test);
 
-	random(sRNG,rn_test);
-      
-	std::cout<<GridLogMessage<< "--------------------------------------------\n";
-	std::cout<<GridLogMessage<< "dH = "<<DeltaH << "  Random = "<< rn_test <<"\n";
-	std::cout<<GridLogMessage<< "Acc. Probability = " << ((prob<1.0)? prob: 1.0)<< "   ";
-      
-	if((prob >1.0) || (rn_test <= prob)){       // accepted
-	  std::cout<<GridLogMessage <<"-- ACCEPTED\n";
-	  return true;
-	} else {                               // rejected
-	  std::cout<<GridLogMessage <<"-- REJECTED\n";
-	  return false;
-	}
+    std::cout << GridLogMessage
+              << "--------------------------------------------------\n";
+    std::cout << GridLogMessage << "exp(-dH) = " << prob
+              << "  Random = " << rn_test << "\n";
+    std::cout << GridLogMessage
+              << "Acc. Probability = " << ((prob < 1.0) ? prob : 1.0) << "\n";
 
+    if ((prob > 1.0) || (rn_test <= prob)) {  // accepted
+      std::cout << GridLogMessage << "Metropolis_test -- ACCEPTED\n";
+      std::cout << GridLogMessage
+                << "--------------------------------------------------\n";
+      return true;
+    } else {  // rejected
+      std::cout << GridLogMessage << "Metropolis_test -- REJECTED\n";
+      std::cout << GridLogMessage
+                << "--------------------------------------------------\n";
+      return false;
+    }
+  }
+
+  /////////////////////////////////////////////////////////
+  // Evolution
+  /////////////////////////////////////////////////////////
+  RealD evolve_step(GaugeField &U) {
+    TheIntegrator.refresh(U, pRNG);  // set U and initialize P and phi's
+
+    RealD H0 = TheIntegrator.S(U);  // initial state action
+
+    std::streamsize current_precision = std::cout.precision();
+    std::cout.precision(17);
+    std::cout << GridLogMessage << "Total H before trajectory = " << H0 << "\n";
+    std::cout.precision(current_precision);
+
+    TheIntegrator.integrate(U);
+
+    RealD H1 = TheIntegrator.S(U);  // updated state action
+
+    std::cout.precision(17);
+    std::cout << GridLogMessage << "Total H after trajectory  = " << H1
+              << "  dH = " << H1 - H0 << "\n";
+    std::cout.precision(current_precision);
+
+    return (H1 - H0);
+  }
+
+ public:
+  /////////////////////////////////////////
+  // Constructor
+  /////////////////////////////////////////
+  HybridMonteCarlo(HMCparameters Pams, IntegratorType &_Int,
+                   GridSerialRNG &_sRNG, GridParallelRNG &_pRNG, GaugeField &_U)
+      : Params(Pams), TheIntegrator(_Int), sRNG(_sRNG), pRNG(_pRNG), Ucur(_U) {}
+  ~HybridMonteCarlo(){};
+
+  void AddObservable(HmcObservable<GaugeField> *obs) {
+    Observables.push_back(obs);
+  }
+
+  void evolve(void) {
+    Real DeltaH;
+
+    GaugeField Ucopy(Ucur._grid);
+
+    Params.print();
+
+    // Actual updates (evolve a copy Ucopy then copy back eventually)
+    for (int traj = Params.StartTrajectory;
+         traj < Params.Trajectories + Params.StartTrajectory; ++traj) {
+      std::cout << GridLogMessage << "-- # Trajectory = " << traj << "\n";
+      Ucopy = Ucur;
+
+      DeltaH = evolve_step(Ucopy);
+
+      bool accept = true;
+      if (traj >= Params.NoMetropolisUntil) {
+        accept = metropolis_test(DeltaH);
       }
 
-      /////////////////////////////////////////////////////////
-      // Evolution
-      /////////////////////////////////////////////////////////
-      RealD evolve_step(GaugeField& U){
-
-	TheIntegrator.refresh(U,pRNG); // set U and initialize P and phi's 
-
-	RealD H0 = TheIntegrator.S(U); // initial state action  
-
-	std::cout<<GridLogMessage<<"Total H before = "<< H0 << "\n";
-
-	TheIntegrator.integrate(U);
-      
-	RealD H1 = TheIntegrator.S(U); // updated state action            
-
-	std::cout<<GridLogMessage<<"Total H after = "<< H1 << "\n";
-
-	return (H1-H0);
-      }
-      
-    public:
-
-      /////////////////////////////////////////
-      // Constructor
-      /////////////////////////////////////////
-      HybridMonteCarlo(HMCparameters Pms,  IntegratorType &_Int, GridSerialRNG &_sRNG, GridParallelRNG &_pRNG, GaugeField &_U) :
-        Params(Pms), 
-	TheIntegrator(_Int), 
-	sRNG(_sRNG),
-	pRNG(_pRNG),
-	Ucur(_U)
-      {
-      }
-      ~HybridMonteCarlo(){};
-
-      void AddObservable(HmcObservable<GaugeField> *obs) {
-	Observables.push_back(obs);
+      if (accept) {
+        Ucur = Ucopy;
       }
 
-      void evolve(void){
-
-	Real DeltaH;
-
-	GaugeField Ucopy(Ucur._grid);
-	
-	// Actual updates (evolve a copy Ucopy then copy back eventually)
-	for(int traj=Params.StartTrajectory; traj < Params.Trajectories+Params.StartTrajectory; ++traj){
-
-	  std::cout<<GridLogMessage << "-- # Trajectory = "<< traj <<  "\n";
-	  Ucopy = Ucur;
-
-	  DeltaH = evolve_step(Ucopy);
-
-	  bool accept = true;
-	  if ( traj > Params.NoMetropolisUntil) { 
-	    accept = metropolis_test(DeltaH);
-	  }
-	  
-	  if ( accept ) {
-	    Ucur = Ucopy;
-	  }
-
-	  for(int obs = 0;obs<Observables.size();obs++){
-	    Observables[obs]->TrajectoryComplete (traj+1,Ucur,sRNG,pRNG);
-	  }
-
-	}
+      for (int obs = 0; obs < Observables.size(); obs++) {
+        Observables[obs]->TrajectoryComplete(traj + 1, Ucur, sRNG, pRNG);
       }
-    };
-    
-  }// QCD
-}// Grid
+    }
+  }
+};
 
+}  // QCD
+}  // Grid
 
-#endif 
+#endif
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index 17e3b443..5616582f 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -81,6 +81,14 @@ public:
       NumTraj = ivec[0];
     }
 
+    int NumThermalizations = 10;
+    if( GridCmdOptionExists(argv,argv+argc,"--Thermalizations") ){
+      arg= GridCmdOptionPayload(argv,argv+argc,"--Thermalizations");
+      std::vector<int> ivec(0);
+      GridCmdOptionIntVector(arg,ivec);
+      NumThermalizations = ivec[0];
+    }
+
 
     GridSerialRNG    sRNG;
     GridParallelRNG  pRNG(UGrid);
@@ -110,33 +118,30 @@ public:
     PlaquetteLogger<Gimpl>      PlaqLog(std::string("plaq"));
 
     HMCparameters HMCpar;
-    HMCpar.StartTrajectory = StartTraj;
-    HMCpar.Trajectories    = NumTraj;
+    HMCpar.StartTrajectory   = StartTraj;
+    HMCpar.Trajectories      = NumTraj;
+    HMCpar.NoMetropolisUntil = NumThermalizations;
     
 
     if ( StartType == HotStart ) {
       // Hot start
-      HMCpar.NoMetropolisUntil =10;
       HMCpar.MetropolisTest = true;
       sRNG.SeedFixedIntegers(SerSeed);
       pRNG.SeedFixedIntegers(ParSeed);
       SU3::HotConfiguration(pRNG, U);
     } else if ( StartType == ColdStart ) { 
       // Cold start
-      HMCpar.NoMetropolisUntil =10;
       HMCpar.MetropolisTest = true;
       sRNG.SeedFixedIntegers(SerSeed);
       pRNG.SeedFixedIntegers(ParSeed);
       SU3::ColdConfiguration(pRNG, U);
     } else if ( StartType == TepidStart ) {       
       // Tepid start
-      HMCpar.NoMetropolisUntil =10;
       HMCpar.MetropolisTest = true;
       sRNG.SeedFixedIntegers(SerSeed);
       pRNG.SeedFixedIntegers(ParSeed);
       SU3::TepidConfiguration(pRNG, U);
     } else if ( StartType == CheckpointStart ) { 
-      HMCpar.NoMetropolisUntil =10;
       HMCpar.MetropolisTest = true;
       // CheckpointRestart
       Checkpoint.CheckpointRestore(StartTraj, U, sRNG, pRNG);
diff --git a/lib/qcd/utils/WilsonLoops.h b/lib/qcd/utils/WilsonLoops.h
index 55fd5b7e..10022f50 100644
--- a/lib/qcd/utils/WilsonLoops.h
+++ b/lib/qcd/utils/WilsonLoops.h
@@ -1,6 +1,6 @@
 /*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+    Grid physics library, www.github.com/paboyle/Grid
 
     Source file: ./lib/qcd/utils/WilsonLoops.h
 
@@ -25,472 +25,501 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     with this program; if not, write to the Free Software Foundation, Inc.,
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
+    See the full license in the file "LICENSE" in the top level distribution
+directory
 *************************************************************************************/
 /*  END LEGAL */
 #ifndef QCD_UTILS_WILSON_LOOPS_H
 #define QCD_UTILS_WILSON_LOOPS_H
 namespace Grid {
-  namespace QCD {
-    
-    // Common wilson loop observables
-    template<class Gimpl>
-      class WilsonLoops : public Gimpl {
-    public:
-      
-      INHERIT_GIMPL_TYPES(Gimpl);
-      
-      typedef typename Gimpl::GaugeLinkField GaugeMat;
-      typedef typename Gimpl::GaugeField     GaugeLorentz;
-      
-      //////////////////////////////////////////////////
-      // directed plaquette oriented in mu,nu plane
-      //////////////////////////////////////////////////
-      static void dirPlaquette(GaugeMat &plaq,const std::vector<GaugeMat> &U, const int mu, const int nu)
-      {
-	// Annoyingly, must use either scope resolution to find dependent base class, 
-	// or this-> ; there is no "this" in a static method. This forces explicit Gimpl scope
-	// resolution throughout the usage in this file, and rather defeats the purpose of deriving
-	// from Gimpl.
-	plaq = Gimpl::CovShiftBackward(U[mu],mu,
-		   Gimpl::CovShiftBackward(U[nu],nu,
-		   Gimpl::CovShiftForward (U[mu],mu,U[nu])));
-      }
-      //////////////////////////////////////////////////
-      // trace of directed plaquette oriented in mu,nu plane
-      //////////////////////////////////////////////////
-      static void traceDirPlaquette(LatticeComplex &plaq, const std::vector<GaugeMat> &U, const int mu, const int nu)
-      {
-	GaugeMat sp(U[0]._grid);
-	dirPlaquette(sp,U,mu,nu);
-	plaq=trace(sp);
-      }
-      //////////////////////////////////////////////////
-      // sum over all planes of plaquette
-      //////////////////////////////////////////////////
-      static void sitePlaquette(LatticeComplex &Plaq,const std::vector<GaugeMat> &U)
-      {
-	LatticeComplex sitePlaq(U[0]._grid);
-	Plaq=zero;
-	for(int mu=1;mu<Nd;mu++){
-	  for(int nu=0;nu<mu;nu++){
-	    traceDirPlaquette(sitePlaq,U,mu,nu);
-	    Plaq = Plaq + sitePlaq;
-	  }
-	}
-      }
-      //////////////////////////////////////////////////
-      // sum over all x,y,z,t and over all planes of plaquette
-      //////////////////////////////////////////////////
-      static RealD sumPlaquette(const GaugeLorentz &Umu){
-	std::vector<GaugeMat> U(4,Umu._grid);
-	
-	for(int mu=0;mu<Nd;mu++){
-	  U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
-	}
-	
-	LatticeComplex Plaq(Umu._grid);
-	
-	sitePlaquette(Plaq,U);
-	
-	TComplex Tp = sum(Plaq);
-	Complex p  = TensorRemove(Tp);
-	return p.real();
-      }
-      //////////////////////////////////////////////////
-      // average over all x,y,z,t and over all planes of plaquette
-      //////////////////////////////////////////////////
-	static RealD avgPlaquette(const GaugeLorentz &Umu){
-		RealD sumplaq = sumPlaquette(Umu);
-		double vol = Umu._grid->gSites();
-		double faces = (1.0*Nd*(Nd-1))/2.0;
-		return sumplaq/vol/faces/Nc; // Nd , Nc dependent... FIXME
-   	}
+namespace QCD {
 
-      //////////////////////////////////////////////////
-      // average over traced single links
-      //////////////////////////////////////////////////
-      static RealD linkTrace(const GaugeLorentz &Umu){
-	std::vector<GaugeMat> U(4,Umu._grid);
-	
-	LatticeComplex Tr(Umu._grid); Tr=zero;
-	for(int mu=0;mu<Nd;mu++){
-	  U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
-	  Tr = Tr+trace(U[mu]);
-	}
-	
-	TComplex Tp = sum(Tr);
-	Complex p  = TensorRemove(Tp);
-	
-	double vol = Umu._grid->gSites();
-	
-	return p.real()/vol/4.0/3.0;
-      };
-      
-      //////////////////////////////////////////////////
-      // the sum over all staples on each site in direction mu,nu
-      //////////////////////////////////////////////////
-      static void Staple(GaugeMat &staple,const GaugeLorentz &Umu,int mu, int nu){
+// Common wilson loop observables
+template <class Gimpl> class WilsonLoops : public Gimpl {
+public:
+  INHERIT_GIMPL_TYPES(Gimpl);
 
-	GridBase *grid = Umu._grid;
-	
-	std::vector<GaugeMat> U(4,grid);
-	for(int d=0;d<Nd;d++){
-	  U[d] = PeekIndex<LorentzIndex>(Umu,d);
-	}
-	staple = zero;
-	
-	
-	if(nu != mu) {
-	  
-	  // mu
-	  // ^
-	  // |__>  nu
-	  
-	  //    __ 
-	  //      |
-	  //    __|
-	  //
+  typedef typename Gimpl::GaugeLinkField GaugeMat;
+  typedef typename Gimpl::GaugeField GaugeLorentz;
 
-	  staple+=Gimpl::ShiftStaple(
-				     Gimpl::CovShiftForward (U[nu],nu, 
-							     Gimpl::CovShiftBackward(U[mu],mu,
-										     Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
-  
-	  //  __ 
-	  // |   
-	  // |__ 
-	  //
-	  //
-	  staple+=Gimpl::ShiftStaple(  
-				     Gimpl::CovShiftBackward(U[nu],nu,		  		  
-							     Gimpl::CovShiftBackward(U[mu],mu,U[nu])),mu);
-      
-	}
-      }
-
-//////////////////////////////////////////////////
-// the sum over all staples on each site
-//////////////////////////////////////////////////
-  static void Staple(GaugeMat &staple,const GaugeLorentz &Umu,int mu){
-
-    GridBase *grid = Umu._grid;
-
-    std::vector<GaugeMat> U(Nd,grid);
-    for(int d=0;d<Nd;d++){
-      U[d] = PeekIndex<LorentzIndex>(Umu,d);
-    }
-    staple = zero;
-    GaugeMat tmp(grid);
-
-    
-    for(int nu=0;nu<Nd;nu++){
-
-      if(nu != mu) {
-
-      // mu
-      // ^
-      // |__>  nu
-
-      //    __ 
-      //      |
-      //    __|
-      //
-
-	staple+=Gimpl::ShiftStaple(
-	        Gimpl::CovShiftForward (U[nu],nu, 
-		Gimpl::CovShiftBackward(U[mu],mu,
-		Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
-
-      //  __ 
-      // |   
-      // |__ 
-      //
-      //
-	staple+=Gimpl::ShiftStaple(  
-                Gimpl::CovShiftBackward(U[nu],nu,		  		  
-		Gimpl::CovShiftBackward(U[mu],mu,U[nu])),mu);
-      }
-    }
+  //////////////////////////////////////////////////
+  // directed plaquette oriented in mu,nu plane
+  //////////////////////////////////////////////////
+  static void dirPlaquette(GaugeMat &plaq, const std::vector<GaugeMat> &U,
+                           const int mu, const int nu) {
+    // Annoyingly, must use either scope resolution to find dependent base
+    // class,
+    // or this-> ; there is no "this" in a static method. This forces explicit
+    // Gimpl scope
+    // resolution throughout the usage in this file, and rather defeats the
+    // purpose of deriving
+    // from Gimpl.
+    plaq = Gimpl::CovShiftBackward(
+        U[mu], mu, Gimpl::CovShiftBackward(
+                       U[nu], nu, Gimpl::CovShiftForward(U[mu], mu, U[nu])));
   }
-
-
-      //////////////////////////////////////////////////
-      // the sum over all staples on each site in direction mu,nu, upper part
-      //////////////////////////////////////////////////
-      static void StapleUpper(GaugeMat &staple,const GaugeLorentz &Umu,int mu, int nu){
-
-	staple = zero;
-
-	if(nu != mu) {
-	  GridBase *grid = Umu._grid;
-	  
-	  std::vector<GaugeMat> U(4,grid);
-	  for(int d=0;d<Nd;d++){
-	    U[d] = PeekIndex<LorentzIndex>(Umu,d);
-	  }
-	  
-	  // mu
-	  // ^
-	  // |__>  nu
-	  
-	  //    __ 
-	  //      |
-	  //    __|
-	  //
-	  
-	  staple+=Gimpl::ShiftStaple(
-				     Gimpl::CovShiftForward (U[nu],nu, 
-							     Gimpl::CovShiftBackward(U[mu],mu,
-										     Gimpl::CovShiftIdentityBackward(U[nu],nu))),mu);
-
-	}
-      }
-
-
-
-
-
-  //////////////////////////////////////////////////////
-  // Similar to above for rectangle is required
-  //////////////////////////////////////////////////////
-  static void dirRectangle(GaugeMat &rect,const std::vector<GaugeMat> &U, const int mu, const int nu)
-  {
-    rect =  Gimpl::CovShiftForward(U[mu],mu,Gimpl::CovShiftForward(U[mu],mu,U[nu]))* // ->->|
-	adj(Gimpl::CovShiftForward(U[nu],nu,Gimpl::CovShiftForward(U[mu],mu,U[mu]))) ;
-    rect = rect + 
-          Gimpl::CovShiftForward(U[mu],mu,Gimpl::CovShiftForward(U[nu],nu,U[nu]))* // ->||
-      adj(Gimpl::CovShiftForward(U[nu],nu,Gimpl::CovShiftForward(U[nu],nu,U[mu]))) ;
-  }
-  static void traceDirRectangle(LatticeComplex &rect, const std::vector<GaugeMat> &U, const int mu, const int nu)
-  {
+  //////////////////////////////////////////////////
+  // trace of directed plaquette oriented in mu,nu plane
+  //////////////////////////////////////////////////
+  static void traceDirPlaquette(LatticeComplex &plaq,
+                                const std::vector<GaugeMat> &U, const int mu,
+                                const int nu) {
     GaugeMat sp(U[0]._grid);
-    dirRectangle(sp,U,mu,nu);
-    rect=trace(sp);
+    dirPlaquette(sp, U, mu, nu);
+    plaq = trace(sp);
   }
-  static void siteRectangle(LatticeComplex &Rect,const std::vector<GaugeMat> &U)
-  {
-    LatticeComplex siteRect(U[0]._grid);
-    Rect=zero;
-    for(int mu=1;mu<Nd;mu++){
-      for(int nu=0;nu<mu;nu++){
-	traceDirRectangle(siteRect,U,mu,nu);
-	Rect = Rect + siteRect;
+  //////////////////////////////////////////////////
+  // sum over all planes of plaquette
+  //////////////////////////////////////////////////
+  static void sitePlaquette(LatticeComplex &Plaq,
+                            const std::vector<GaugeMat> &U) {
+    LatticeComplex sitePlaq(U[0]._grid);
+    Plaq = zero;
+    for (int mu = 1; mu < Nd; mu++) {
+      for (int nu = 0; nu < mu; nu++) {
+        traceDirPlaquette(sitePlaq, U, mu, nu);
+        Plaq = Plaq + sitePlaq;
       }
     }
   }
-
- //////////////////////////////////////////////////
+  //////////////////////////////////////////////////
   // sum over all x,y,z,t and over all planes of plaquette
   //////////////////////////////////////////////////
-  static RealD sumRectangle(const GaugeLorentz &Umu){
-    std::vector<GaugeMat> U(Nd,Umu._grid);
+  static RealD sumPlaquette(const GaugeLorentz &Umu) {
+    std::vector<GaugeMat> U(4, Umu._grid);
 
-    for(int mu=0;mu<Nd;mu++){
-      U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
+    for (int mu = 0; mu < Nd; mu++) {
+      U[mu] = PeekIndex<LorentzIndex>(Umu, mu);
     }
 
-    LatticeComplex Rect(Umu._grid);
-    
-    siteRectangle(Rect,U);
-    
-    TComplex Tp = sum(Rect);
-    Complex p  = TensorRemove(Tp);
+    LatticeComplex Plaq(Umu._grid);
+
+    sitePlaquette(Plaq, U);
+
+    TComplex Tp = sum(Plaq);
+    Complex p = TensorRemove(Tp);
     return p.real();
   }
   //////////////////////////////////////////////////
   // average over all x,y,z,t and over all planes of plaquette
   //////////////////////////////////////////////////
-  static RealD avgRectangle(const GaugeLorentz &Umu){
-
-    RealD sumrect = sumRectangle(Umu);
-    
+  static RealD avgPlaquette(const GaugeLorentz &Umu) {
+    RealD sumplaq = sumPlaquette(Umu);
     double vol = Umu._grid->gSites();
-    
-    double faces = (1.0*Nd*(Nd-1)); // 2 distinct orientations summed
-    
-    return sumrect/vol/faces/Nc; // Nd , Nc dependent... FIXME
+    double faces = (1.0 * Nd * (Nd - 1)) / 2.0;
+    return sumplaq / vol / faces / Nc; // Nd , Nc dependent... FIXME
+  }
+
+  //////////////////////////////////////////////////
+  // average over traced single links
+  //////////////////////////////////////////////////
+  static RealD linkTrace(const GaugeLorentz &Umu) {
+    std::vector<GaugeMat> U(4, Umu._grid);
+
+    LatticeComplex Tr(Umu._grid);
+    Tr = zero;
+    for (int mu = 0; mu < Nd; mu++) {
+      U[mu] = PeekIndex<LorentzIndex>(Umu, mu);
+      Tr = Tr + trace(U[mu]);
+    }
+
+    TComplex Tp = sum(Tr);
+    Complex p = TensorRemove(Tp);
+
+    double vol = Umu._grid->gSites();
+
+    return p.real() / vol / 4.0 / 3.0;
+  };
+
+  //////////////////////////////////////////////////
+  // the sum over all staples on each site in direction mu,nu
+  //////////////////////////////////////////////////
+  static void Staple(GaugeMat &staple, const GaugeLorentz &Umu, int mu,
+                     int nu) {
+
+    GridBase *grid = Umu._grid;
+
+    std::vector<GaugeMat> U(4, grid);
+    for (int d = 0; d < Nd; d++) {
+      U[d] = PeekIndex<LorentzIndex>(Umu, d);
+    }
+    staple = zero;
+
+    if (nu != mu) {
+
+      // mu
+      // ^
+      // |__>  nu
+
+      //    __
+      //      |
+      //    __|
+      //
+
+      staple += Gimpl::ShiftStaple(
+          Gimpl::CovShiftForward(
+              U[nu], nu,
+              Gimpl::CovShiftBackward(
+                  U[mu], mu, Gimpl::CovShiftIdentityBackward(U[nu], nu))),
+          mu);
+
+      //  __
+      // |
+      // |__
+      //
+      //
+      staple += Gimpl::ShiftStaple(
+          Gimpl::CovShiftBackward(U[nu], nu,
+                                  Gimpl::CovShiftBackward(U[mu], mu, U[nu])),
+          mu);
+    }
   }
 
   //////////////////////////////////////////////////
   // the sum over all staples on each site
   //////////////////////////////////////////////////
-  static void RectStapleDouble(GaugeMat &U2,const GaugeMat & U,int mu){
-    U2 = U * Cshift(U,mu,1);
+  static void Staple(GaugeMat &staple, const GaugeLorentz &Umu, int mu) {
+
+    GridBase *grid = Umu._grid;
+
+    std::vector<GaugeMat> U(Nd, grid);
+    for (int d = 0; d < Nd; d++) {
+      U[d] = PeekIndex<LorentzIndex>(Umu, d);
+    }
+    staple = zero;
+    GaugeMat tmp(grid);
+
+    for (int nu = 0; nu < Nd; nu++) {
+
+      if (nu != mu) {
+
+        // mu
+        // ^
+        // |__>  nu
+
+        //    __
+        //      |
+        //    __|
+        //
+
+        staple += Gimpl::ShiftStaple(
+            Gimpl::CovShiftForward(
+                U[nu], nu,
+                Gimpl::CovShiftBackward(
+                    U[mu], mu, Gimpl::CovShiftIdentityBackward(U[nu], nu))),
+            mu);
+
+        //  __
+        // |
+        // |__
+        //
+        //
+        staple += Gimpl::ShiftStaple(
+            Gimpl::CovShiftBackward(U[nu], nu,
+                                    Gimpl::CovShiftBackward(U[mu], mu, U[nu])),
+            mu);
+      }
+    }
+  }
+
+  //////////////////////////////////////////////////
+  // the sum over all staples on each site in direction mu,nu, upper part
+  //////////////////////////////////////////////////
+  static void StapleUpper(GaugeMat &staple, const GaugeLorentz &Umu, int mu,
+                          int nu) {
+
+    staple = zero;
+
+    if (nu != mu) {
+      GridBase *grid = Umu._grid;
+
+      std::vector<GaugeMat> U(4, grid);
+      for (int d = 0; d < Nd; d++) {
+        U[d] = PeekIndex<LorentzIndex>(Umu, d);
+      }
+
+      // mu
+      // ^
+      // |__>  nu
+
+      //    __
+      //      |
+      //    __|
+      //
+
+      staple += Gimpl::ShiftStaple(
+          Gimpl::CovShiftForward(
+              U[nu], nu,
+              Gimpl::CovShiftBackward(
+                  U[mu], mu, Gimpl::CovShiftIdentityBackward(U[nu], nu))),
+          mu);
+    }
+  }
+
+  //////////////////////////////////////////////////////
+  // Similar to above for rectangle is required
+  //////////////////////////////////////////////////////
+  static void dirRectangle(GaugeMat &rect, const std::vector<GaugeMat> &U,
+                           const int mu, const int nu) {
+    rect = Gimpl::CovShiftForward(
+               U[mu], mu, Gimpl::CovShiftForward(U[mu], mu, U[nu])) * // ->->|
+           adj(Gimpl::CovShiftForward(
+               U[nu], nu, Gimpl::CovShiftForward(U[mu], mu, U[mu])));
+    rect = rect +
+           Gimpl::CovShiftForward(
+               U[mu], mu, Gimpl::CovShiftForward(U[nu], nu, U[nu])) * // ->||
+               adj(Gimpl::CovShiftForward(
+                   U[nu], nu, Gimpl::CovShiftForward(U[nu], nu, U[mu])));
+  }
+  static void traceDirRectangle(LatticeComplex &rect,
+                                const std::vector<GaugeMat> &U, const int mu,
+                                const int nu) {
+    GaugeMat sp(U[0]._grid);
+    dirRectangle(sp, U, mu, nu);
+    rect = trace(sp);
+  }
+  static void siteRectangle(LatticeComplex &Rect,
+                            const std::vector<GaugeMat> &U) {
+    LatticeComplex siteRect(U[0]._grid);
+    Rect = zero;
+    for (int mu = 1; mu < Nd; mu++) {
+      for (int nu = 0; nu < mu; nu++) {
+        traceDirRectangle(siteRect, U, mu, nu);
+        Rect = Rect + siteRect;
+      }
+    }
+  }
+
+  //////////////////////////////////////////////////
+  // sum over all x,y,z,t and over all planes of plaquette
+  //////////////////////////////////////////////////
+  static RealD sumRectangle(const GaugeLorentz &Umu) {
+    std::vector<GaugeMat> U(Nd, Umu._grid);
+
+    for (int mu = 0; mu < Nd; mu++) {
+      U[mu] = PeekIndex<LorentzIndex>(Umu, mu);
+    }
+
+    LatticeComplex Rect(Umu._grid);
+
+    siteRectangle(Rect, U);
+
+    TComplex Tp = sum(Rect);
+    Complex p = TensorRemove(Tp);
+    return p.real();
+  }
+  //////////////////////////////////////////////////
+  // average over all x,y,z,t and over all planes of plaquette
+  //////////////////////////////////////////////////
+  static RealD avgRectangle(const GaugeLorentz &Umu) {
+
+    RealD sumrect = sumRectangle(Umu);
+
+    double vol = Umu._grid->gSites();
+
+    double faces = (1.0 * Nd * (Nd - 1)); // 2 distinct orientations summed
+
+    return sumrect / vol / faces / Nc; // Nd , Nc dependent... FIXME
+  }
+
+  //////////////////////////////////////////////////
+  // the sum over all staples on each site
+  //////////////////////////////////////////////////
+  static void RectStapleDouble(GaugeMat &U2, const GaugeMat &U, int mu) {
+    U2 = U * Cshift(U, mu, 1);
   }
 
   ////////////////////////////////////////////////////////////////////////////
-  // Hop by two optimisation strategy does not work nicely with Gparity. (could do,
+  // Hop by two optimisation strategy does not work nicely with Gparity. (could
+  // do,
   // but need to track two deep where cross boundary and apply a conjugation).
-  // Must differentiate this in Gimpl, and use Gimpl::isPeriodicGaugeField to do so .
+  // Must differentiate this in Gimpl, and use Gimpl::isPeriodicGaugeField to do
+  // so .
   ////////////////////////////////////////////////////////////////////////////
-  static void RectStapleOptimised(GaugeMat &Stap,std::vector<GaugeMat> &U2,std::vector<GaugeMat> &U,int mu){
+  static void RectStapleOptimised(GaugeMat &Stap, std::vector<GaugeMat> &U2,
+                                  std::vector<GaugeMat> &U, int mu) {
 
     Stap = zero;
 
     GridBase *grid = U[0]._grid;
 
-    GaugeMat Staple2x1 (grid);
-    GaugeMat tmp (grid);
+    GaugeMat Staple2x1(grid);
+    GaugeMat tmp(grid);
 
-    for(int nu=0;nu<Nd;nu++){
-      if ( nu!=mu) {
+    for (int nu = 0; nu < Nd; nu++) {
+      if (nu != mu) {
 
-	// Up staple    ___ ___ 
-	//             |       |
-	tmp = Cshift(adj(U[nu]),nu,-1); 
-	tmp = adj(U2[mu])*tmp;
-	tmp = Cshift(tmp,mu,-2);
+        // Up staple    ___ ___
+        //             |       |
+        tmp = Cshift(adj(U[nu]), nu, -1);
+        tmp = adj(U2[mu]) * tmp;
+        tmp = Cshift(tmp, mu, -2);
 
-	Staple2x1 = Gimpl::CovShiftForward (U[nu],nu,tmp);
+        Staple2x1 = Gimpl::CovShiftForward(U[nu], nu, tmp);
 
+        // Down staple
+        //             |___ ___|
+        //
+        tmp = adj(U2[mu]) * U[nu];
+        Staple2x1 += Gimpl::CovShiftBackward(U[nu], nu, Cshift(tmp, mu, -2));
 
-	// Down staple
-	//             |___ ___|
-	//
-	tmp = adj(U2[mu])*U[nu];
-	Staple2x1+= Gimpl::CovShiftBackward(U[nu],nu,Cshift(tmp,mu,-2));
+        //              ___ ___
+        //             |    ___|
+        //             |___ ___|
+        //
 
+        Stap += Cshift(Gimpl::CovShiftForward(U[mu], mu, Staple2x1), mu, 1);
 
-	//              ___ ___
-	//             |    ___|
-	//             |___ ___|
-	//
+        //              ___ ___
+        //             |___    |
+        //             |___ ___|
+        //
 
-	Stap+= Cshift(Gimpl::CovShiftForward (U[mu],mu,Staple2x1),mu,1);
+        //	tmp= Staple2x1* Cshift(U[mu],mu,-2);
+        //	Stap+= Cshift(tmp,mu,1) ;
+        Stap += Cshift(Staple2x1, mu, 1) * Cshift(U[mu], mu, -1);
+        ;
 
-	//              ___ ___
-	//             |___    |
-	//             |___ ___|
-	//
+        //       --
+        //      |  |
+        //
+        //      |  |
 
-	//	tmp= Staple2x1* Cshift(U[mu],mu,-2);
-	//	Stap+= Cshift(tmp,mu,1) ;
-	Stap+= Cshift(Staple2x1,mu,1)*Cshift(U[mu],mu,-1); ;
+        tmp = Cshift(adj(U2[nu]), nu, -2);
+        tmp = Gimpl::CovShiftBackward(U[mu], mu, tmp);
+        tmp = U2[nu] * Cshift(tmp, nu, 2);
+        Stap += Cshift(tmp, mu, 1);
 
-	//       --    
-	//      |  |              
-	//          
-	//      |  | 
-	
-	tmp = Cshift(adj(U2[nu]),nu,-2);
-	tmp = Gimpl::CovShiftBackward(U[mu],mu,tmp);
-	tmp = U2[nu]*Cshift(tmp,nu,2);
-	Stap+= Cshift(tmp, mu, 1);
+        //      |  |
+        //
+        //      |  |
+        //       --
 
-	//      |  |              
-	//          
-	//      |  | 
-	//       -- 
-	
-	tmp = Gimpl::CovShiftBackward(U[mu],mu,U2[nu]);
-	tmp = adj(U2[nu])*tmp;
-	tmp = Cshift(tmp,nu,-2);
-	Stap+=Cshift(tmp, mu, 1);
-    }}
-
-
-  }
-
-  static void RectStaple(GaugeMat &Stap,const GaugeLorentz & Umu,int mu)
-  {
-    RectStapleUnoptimised(Stap,Umu,mu);
-  }
-  static void RectStaple(const GaugeLorentz & Umu,GaugeMat &Stap,
-			 std::vector<GaugeMat> &U2,
-			 std::vector<GaugeMat> &U, int mu)
-  {
-    if ( Gimpl::isPeriodicGaugeField() ){ 
-      RectStapleOptimised(Stap,U2,U,mu);
-    } else {
-      RectStapleUnoptimised(Stap,Umu,mu);
+        tmp = Gimpl::CovShiftBackward(U[mu], mu, U2[nu]);
+        tmp = adj(U2[nu]) * tmp;
+        tmp = Cshift(tmp, nu, -2);
+        Stap += Cshift(tmp, mu, 1);
+      }
     }
   }
 
-  static void RectStapleUnoptimised(GaugeMat &Stap,const GaugeLorentz &Umu,int mu){
+  static void RectStaple(GaugeMat &Stap, const GaugeLorentz &Umu, int mu) {
+    RectStapleUnoptimised(Stap, Umu, mu);
+  }
+  static void RectStaple(const GaugeLorentz &Umu, GaugeMat &Stap,
+                         std::vector<GaugeMat> &U2, std::vector<GaugeMat> &U,
+                         int mu) {
+    if (Gimpl::isPeriodicGaugeField()) {
+      RectStapleOptimised(Stap, U2, U, mu);
+    } else {
+      RectStapleUnoptimised(Stap, Umu, mu);
+    }
+  }
+
+  static void RectStapleUnoptimised(GaugeMat &Stap, const GaugeLorentz &Umu,
+                                    int mu) {
     GridBase *grid = Umu._grid;
 
-    std::vector<GaugeMat> U(Nd,grid);
-    for(int d=0;d<Nd;d++){
-      U[d] = PeekIndex<LorentzIndex>(Umu,d);
+    std::vector<GaugeMat> U(Nd, grid);
+    for (int d = 0; d < Nd; d++) {
+      U[d] = PeekIndex<LorentzIndex>(Umu, d);
     }
 
-    Stap=zero;
+    Stap = zero;
 
-    for(int nu=0;nu<Nd;nu++){
-      if ( nu!=mu) {
-    //           __ ___ 
-    //          |    __ |
-    //
-    Stap+= Gimpl::ShiftStaple(
-		  Gimpl::CovShiftForward (U[mu],mu,
-		  Gimpl::CovShiftForward (U[nu],nu,
-		  Gimpl::CovShiftBackward(U[mu],mu,
-                  Gimpl::CovShiftBackward(U[mu],mu,
-		  Gimpl::CovShiftIdentityBackward(U[nu],nu))))) , mu);
+    for (int nu = 0; nu < Nd; nu++) {
+      if (nu != mu) {
+        //           __ ___
+        //          |    __ |
+        //
+        Stap += Gimpl::ShiftStaple(
+            Gimpl::CovShiftForward(
+                U[mu], mu,
+                Gimpl::CovShiftForward(
+                    U[nu], nu,
+                    Gimpl::CovShiftBackward(
+                        U[mu], mu,
+                        Gimpl::CovShiftBackward(
+                            U[mu], mu,
+                            Gimpl::CovShiftIdentityBackward(U[nu], nu))))),
+            mu);
 
-    //              __ 
-    //          |__ __ |
+        //              __
+        //          |__ __ |
 
-    Stap+= Gimpl::ShiftStaple(
-                  Gimpl::CovShiftForward (U[mu],mu,
-		  Gimpl::CovShiftBackward(U[nu],nu,
-		  Gimpl::CovShiftBackward(U[mu],mu,
-                  Gimpl::CovShiftBackward(U[mu],mu, U[nu])))) , mu);
+        Stap += Gimpl::ShiftStaple(
+            Gimpl::CovShiftForward(
+                U[mu], mu,
+                Gimpl::CovShiftBackward(
+                    U[nu], nu,
+                    Gimpl::CovShiftBackward(
+                        U[mu], mu, Gimpl::CovShiftBackward(U[mu], mu, U[nu])))),
+            mu);
 
-    //           __ 
-    //          |__ __ |
+        //           __
+        //          |__ __ |
 
-    Stap+= Gimpl::ShiftStaple(
-		  Gimpl::CovShiftBackward(U[nu],nu,
-		  Gimpl::CovShiftBackward(U[mu],mu,
-		  Gimpl::CovShiftBackward(U[mu],mu,
-		  Gimpl::CovShiftForward(U[nu],nu,U[mu])))) , mu);
+        Stap += Gimpl::ShiftStaple(
+            Gimpl::CovShiftBackward(
+                U[nu], nu,
+                Gimpl::CovShiftBackward(
+                    U[mu], mu,
+                    Gimpl::CovShiftBackward(
+                        U[mu], mu, Gimpl::CovShiftForward(U[nu], nu, U[mu])))),
+            mu);
 
-    //           __ ___ 
-    //          |__    |
+        //           __ ___
+        //          |__    |
 
-    Stap+= Gimpl::ShiftStaple(
-		   Gimpl::CovShiftForward (U[nu],nu,
-	           Gimpl::CovShiftBackward(U[mu],mu,
-                   Gimpl::CovShiftBackward(U[mu],mu,
-                   Gimpl::CovShiftBackward(U[nu],nu,U[mu])))) , mu);
+        Stap += Gimpl::ShiftStaple(
+            Gimpl::CovShiftForward(
+                U[nu], nu,
+                Gimpl::CovShiftBackward(
+                    U[mu], mu,
+                    Gimpl::CovShiftBackward(
+                        U[mu], mu, Gimpl::CovShiftBackward(U[nu], nu, U[mu])))),
+            mu);
 
-     //       --    
-     //      |  |              
-     //          
-     //      |  | 
-     
-    Stap+= Gimpl::ShiftStaple(
-		   Gimpl::CovShiftForward(U[nu],nu,
-		   Gimpl::CovShiftForward(U[nu],nu,
-                   Gimpl::CovShiftBackward(U[mu],mu,
-                   Gimpl::CovShiftBackward(U[nu],nu,
-		   Gimpl::CovShiftIdentityBackward(U[nu],nu))))) , mu);
+        //       --
+        //      |  |
+        //
+        //      |  |
 
+        Stap += Gimpl::ShiftStaple(
+            Gimpl::CovShiftForward(
+                U[nu], nu,
+                Gimpl::CovShiftForward(
+                    U[nu], nu,
+                    Gimpl::CovShiftBackward(
+                        U[mu], mu,
+                        Gimpl::CovShiftBackward(
+                            U[nu], nu,
+                            Gimpl::CovShiftIdentityBackward(U[nu], nu))))),
+            mu);
 
-     //      |  |              
-     //          
-     //      |  | 
-     //       -- 
-     
-    Stap+= Gimpl::ShiftStaple(
-		   Gimpl::CovShiftBackward(U[nu],nu,
-		   Gimpl::CovShiftBackward(U[nu],nu,
-                   Gimpl::CovShiftBackward(U[mu],mu,
-                   Gimpl::CovShiftForward (U[nu],nu,U[nu])))) , mu);
-    }}
+        //      |  |
+        //
+        //      |  |
+        //       --
+
+        Stap += Gimpl::ShiftStaple(
+            Gimpl::CovShiftBackward(
+                U[nu], nu,
+                Gimpl::CovShiftBackward(
+                    U[nu], nu,
+                    Gimpl::CovShiftBackward(
+                        U[mu], mu, Gimpl::CovShiftForward(U[nu], nu, U[nu])))),
+            mu);
+      }
+    }
   }
-
-
 };
 
-
- typedef WilsonLoops<PeriodicGimplR> ColourWilsonLoops;
- typedef WilsonLoops<PeriodicGimplR> U1WilsonLoops;
- typedef WilsonLoops<PeriodicGimplR> SU2WilsonLoops;
- typedef WilsonLoops<PeriodicGimplR> SU3WilsonLoops;
-
-}}
+typedef WilsonLoops<PeriodicGimplR> ColourWilsonLoops;
+typedef WilsonLoops<PeriodicGimplR> U1WilsonLoops;
+typedef WilsonLoops<PeriodicGimplR> SU2WilsonLoops;
+typedef WilsonLoops<PeriodicGimplR> SU3WilsonLoops;
+}
+}
 
 #endif
\ No newline at end of file

From 3e3b367aa9208b2cc36fe0564b77846cd590d4f3 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 5 Jul 2016 15:05:28 +0100
Subject: [PATCH 022/295] Small changes in the Log files

---
 lib/Log.cc                             | 4 ++--
 lib/Log.h                              | 2 +-
 tests/Test_hmc_EOWilsonFermionGauge.cc | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/Log.cc b/lib/Log.cc
index 02d2942d..2082570d 100644
--- a/lib/Log.cc
+++ b/lib/Log.cc
@@ -48,7 +48,7 @@ GridLogger GridLogIntegrator(1, "Integrator", GridLogColours, "BLUE");
 void GridLogConfigure(std::vector<std::string> &logstreams) {
   GridLogError.Active(0);
   GridLogWarning.Active(0);
-  GridLogMessage.Active(0);
+  GridLogMessage.Active(1); // at least the messages should be always on
   GridLogIterative.Active(0);
   GridLogDebug.Active(0);
   GridLogPerformance.Active(0);
@@ -58,7 +58,7 @@ void GridLogConfigure(std::vector<std::string> &logstreams) {
   for (int i = 0; i < logstreams.size(); i++) {
     if (logstreams[i] == std::string("Error")) GridLogError.Active(1);
     if (logstreams[i] == std::string("Warning")) GridLogWarning.Active(1);
-    if (logstreams[i] == std::string("Message")) GridLogMessage.Active(1);
+    if (logstreams[i] == std::string("NoMessage")) GridLogMessage.Active(0);
     if (logstreams[i] == std::string("Iterative")) GridLogIterative.Active(1);
     if (logstreams[i] == std::string("Debug")) GridLogDebug.Active(1);
     if (logstreams[i] == std::string("Performance"))
diff --git a/lib/Log.h b/lib/Log.h
index 887c9750..156f52ee 100644
--- a/lib/Log.h
+++ b/lib/Log.h
@@ -116,7 +116,7 @@ public:
       GridTime now = StopWatch.Elapsed();
       StopWatch.Start();
       stream << log.background()<< log.topName << log.background()<< " : ";
-      stream << log.colour() <<std::setw(10) << std::left << log.name << log.background() << " : ";
+      stream << log.colour() <<std::setw(14) << std::left << log.name << log.background() << " : ";
       stream << log.evidence()<< now << log.background() << " : " << log.colour();
       return stream;
     } else { 
diff --git a/tests/Test_hmc_EOWilsonFermionGauge.cc b/tests/Test_hmc_EOWilsonFermionGauge.cc
index 6065884a..a322fa2d 100644
--- a/tests/Test_hmc_EOWilsonFermionGauge.cc
+++ b/tests/Test_hmc_EOWilsonFermionGauge.cc
@@ -67,7 +67,7 @@ public:
     TwoFlavourEvenOddPseudoFermionAction<ImplPolicy> Nf2(FermOp,CG,CG);
 
     //Set smearing (true/false), default: false
-    Nf2.is_smeared=true;
+    Nf2.is_smeared=false;
     
     //Collect actions
     ActionLevel<LatticeGaugeField> Level1(1);

From ffedeb1c58eefb6dc2931633bc4f3060fb331a89 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Wed, 6 Jul 2016 11:41:27 +0100
Subject: [PATCH 023/295] Minor modifications

---
 lib/qcd/action/fermion/FermionOperatorImpl.h  | 958 +++++++++---------
 lib/qcd/action/fermion/WilsonFermion.cc       | 580 ++++++-----
 lib/qcd/action/fermion/WilsonFermion.h        | 242 +++--
 .../action/pseudofermion/TwoFlavourEvenOdd.h  | 274 +++--
 4 files changed, 1029 insertions(+), 1025 deletions(-)

diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 399c780b..5d4e5b42 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -1,490 +1,514 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/fermion/FermionOperatorImpl.h
+Source file: ./lib/qcd/action/fermion/FermionOperatorImpl.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: Peter Boyle <peterboyle@Peters-MacBook-Pro-2.local>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
-#ifndef  GRID_QCD_FERMION_OPERATOR_IMPL_H
-#define  GRID_QCD_FERMION_OPERATOR_IMPL_H
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
+#ifndef GRID_QCD_FERMION_OPERATOR_IMPL_H
+#define GRID_QCD_FERMION_OPERATOR_IMPL_H
 
 namespace Grid {
 
-  namespace QCD {
+namespace QCD {
 
+//////////////////////////////////////////////
+// Template parameter class constructs to package
+// externally control Fermion implementations
+// in orthogonal directions
+//
+// Ultimately need Impl to always define types where XXX is opaque
+//
+//    typedef typename XXX               Simd;
+//    typedef typename XXX     GaugeLinkField;
+//    typedef typename XXX         GaugeField;
+//    typedef typename XXX      GaugeActField;
+//    typedef typename XXX       FermionField;
+//    typedef typename XXX  DoubledGaugeField;
+//    typedef typename XXX         SiteSpinor;
+//    typedef typename XXX     SiteHalfSpinor;
+//    typedef typename XXX         Compressor;
+//
+// and Methods:
+//    void ImportGauge(GridBase *GaugeGrid,DoubledGaugeField &Uds,const
+//    GaugeField &Umu)
+//    void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const
+//    GaugeField &Umu)
+//    void multLink(SiteHalfSpinor &phi,const SiteDoubledGaugeField &U,const
+//    SiteHalfSpinor &chi,int mu,StencilEntry *SE,StencilImpl &St)
+//    void InsertForce4D(GaugeField &mat,const FermionField &Btilde,const
+//    FermionField &A,int mu)
+//    void InsertForce5D(GaugeField &mat,const FermionField &Btilde,const
+//    FermionField &A,int mu)
+//
+//
+// To acquire the typedefs from "Base" (either a base class or template param)
+// use:
+//
+// INHERIT_GIMPL_TYPES(Base)
+// INHERIT_FIMPL_TYPES(Base)
+// INHERIT_IMPL_TYPES(Base)
+//
+// The Fermion operators will do the following:
+//
+// struct MyOpParams {
+//   RealD mass;
+// };
+//
+//
+// template<class Impl>
+// class MyOp : pubic<Impl> {
+// public:
+//
+//    INHERIT_ALL_IMPL_TYPES(Impl);
+//
+//    MyOp(MyOpParams Myparm, ImplParams &ImplParam) :  Impl(ImplParam)
+//    {
+//
+//    };
+//
+//  }
+//////////////////////////////////////////////
 
-    //////////////////////////////////////////////
-    // Template parameter class constructs to package
-    // externally control Fermion implementations
-    // in orthogonal directions
-    //
-    // Ultimately need Impl to always define types where XXX is opaque
-    //
-    //    typedef typename XXX               Simd;
-    //    typedef typename XXX     GaugeLinkField;	
-    //    typedef typename XXX         GaugeField;
-    //    typedef typename XXX      GaugeActField;
-    //    typedef typename XXX       FermionField;
-    //    typedef typename XXX  DoubledGaugeField;
-    //    typedef typename XXX         SiteSpinor;
-    //    typedef typename XXX     SiteHalfSpinor;	
-    //    typedef typename XXX         Compressor;	
-    //
-    // and Methods:
-    //    void ImportGauge(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
-    //    void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
-    //    void multLink(SiteHalfSpinor &phi,const SiteDoubledGaugeField &U,const SiteHalfSpinor &chi,int mu,StencilEntry *SE,StencilImpl &St)
-    //    void InsertForce4D(GaugeField &mat,const FermionField &Btilde,const FermionField &A,int mu)
-    //    void InsertForce5D(GaugeField &mat,const FermionField &Btilde,const FermionField &A,int mu)
-    //
-    //
-    // To acquire the typedefs from "Base" (either a base class or template param) use:
-    //
-    // INHERIT_GIMPL_TYPES(Base)
-    // INHERIT_FIMPL_TYPES(Base)
-    // INHERIT_IMPL_TYPES(Base)
-    //
-    // The Fermion operators will do the following:
-    //
-    // struct MyOpParams { 
-    //   RealD mass;
-    // };
-    //
-    //
-    // template<class Impl>
-    // class MyOp : pubic<Impl> { 
-    // public:
-    //
-    //    INHERIT_ALL_IMPL_TYPES(Impl);
-    //
-    //    MyOp(MyOpParams Myparm, ImplParams &ImplParam) :  Impl(ImplParam)
-    //    {
-    //
-    //    };
-    //    
-    //  }
-    //////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+// Implementation dependent fermion types
+////////////////////////////////////////////////////////////////////////
 
-
-    ////////////////////////////////////////////////////////////////////////
-    // Implementation dependent fermion types
-    ////////////////////////////////////////////////////////////////////////
-
-#define INHERIT_FIMPL_TYPES(Impl)\
-    typedef typename Impl::FermionField           FermionField;		\
-    typedef typename Impl::DoubledGaugeField DoubledGaugeField;		\
-    typedef typename Impl::SiteSpinor               SiteSpinor;		\
-    typedef typename Impl::SiteHalfSpinor       SiteHalfSpinor;		\
-    typedef typename Impl::Compressor               Compressor;		\
-    typedef typename Impl::StencilImpl              StencilImpl;	\
-    typedef typename Impl::ImplParams ImplParams;
+#define INHERIT_FIMPL_TYPES(Impl)                             \
+  typedef typename Impl::FermionField FermionField;           \
+  typedef typename Impl::DoubledGaugeField DoubledGaugeField; \
+  typedef typename Impl::SiteSpinor SiteSpinor;               \
+  typedef typename Impl::SiteHalfSpinor SiteHalfSpinor;       \
+  typedef typename Impl::Compressor Compressor;               \
+  typedef typename Impl::StencilImpl StencilImpl;             \
+  typedef typename Impl::ImplParams ImplParams;
 
 #define INHERIT_IMPL_TYPES(Base) \
-    INHERIT_GIMPL_TYPES(Base)\
-    INHERIT_FIMPL_TYPES(Base)
-
-    ///////
-    // Single flavour four spinors with colour index
-    ///////
-    template<class S,int Nrepresentation=Nc>
-    class WilsonImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { 
-    public:
-
-      typedef PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > Gimpl;
-
-      INHERIT_GIMPL_TYPES(Gimpl);
-
-      template<typename vtype> using iImplSpinor             = iScalar<iVector<iVector<vtype, Nrepresentation>, Ns> >;
-      template<typename vtype> using iImplHalfSpinor         = iScalar<iVector<iVector<vtype, Nrepresentation>, Nhs> >;
-      template<typename vtype> using iImplDoubledGaugeField  = iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds >;
-    
-      typedef iImplSpinor    <Simd>           SiteSpinor;
-      typedef iImplHalfSpinor<Simd>           SiteHalfSpinor;
-      typedef iImplDoubledGaugeField<Simd>    SiteDoubledGaugeField;
-
-      typedef Lattice<SiteSpinor>                 FermionField;
-      typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
-
-      typedef WilsonCompressor<SiteHalfSpinor,SiteSpinor> Compressor;
-      typedef WilsonImplParams ImplParams;
-      typedef WilsonStencil<SiteSpinor,SiteHalfSpinor> StencilImpl;
-
-      ImplParams Params;
-
-      WilsonImpl(const ImplParams &p= ImplParams()) : Params(p) {}; 
-
-      bool overlapCommsCompute(void) { return Params.overlapCommsCompute; };
-    
-      inline void multLink(SiteHalfSpinor &phi,const SiteDoubledGaugeField &U,const SiteHalfSpinor &chi,int mu,StencilEntry *SE,StencilImpl &St){
-        mult(&phi(),&U(mu),&chi());
-      }
-
-      template<class ref>
-      inline void loadLinkElement(Simd & reg,ref &memory){
-	reg = memory;
-      }
-      inline void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
-      {
-        conformable(Uds._grid,GaugeGrid);
-        conformable(Umu._grid,GaugeGrid);
-        GaugeLinkField U(GaugeGrid);
-        for(int mu=0;mu<Nd;mu++){
-  	  U = PeekIndex<LorentzIndex>(Umu,mu);
-	  PokeIndex<LorentzIndex>(Uds,U,mu);
-	  U = adj(Cshift(U,mu,-1));
-	  PokeIndex<LorentzIndex>(Uds,U,mu+4);
-	}
-      }
-      
-      inline void InsertForce4D(GaugeField &mat, FermionField &Btilde, FermionField &A,int mu){
-	GaugeLinkField link(mat._grid);
-	link = TraceIndex<SpinIndex>(outerProduct(Btilde,A)); 
-	PokeIndex<LorentzIndex>(mat,link,mu);
-      }   
-
-      inline void InsertForce5D(GaugeField &mat, FermionField &Btilde, FermionField &Atilde,int mu){
-
-	int Ls=Btilde._grid->_fdimensions[0];
-
-	GaugeLinkField tmp(mat._grid);
-	tmp = zero;
-PARALLEL_FOR_LOOP
-	for(int sss=0;sss<tmp._grid->oSites();sss++){
-	  int sU=sss;
-	  for(int s=0;s<Ls;s++){
-	    int sF = s+Ls*sU;
-	    tmp[sU] = tmp[sU]+ traceIndex<SpinIndex>(outerProduct(Btilde[sF],Atilde[sF])); // ordering here
-	  }
-	}
-	PokeIndex<LorentzIndex>(mat,tmp,mu);
-	
-      }
-
-    };
-
-
-
-    ///////
-    // Single flavour four spinors with colour index, 5d redblack
-    ///////
-    template<class S,int Nrepresentation=Nc>
-    class DomainWallRedBlack5dImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { 
-    public:
-
-      typedef PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > Gimpl;
-
-      INHERIT_GIMPL_TYPES(Gimpl);
-      
-      template<typename vtype> using iImplSpinor             = iScalar<iVector<iVector<vtype, Nrepresentation>, Ns> >;
-      template<typename vtype> using iImplHalfSpinor         = iScalar<iVector<iVector<vtype, Nrepresentation>, Nhs> >;
-      template<typename vtype> using iImplDoubledGaugeField  = iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds >;
-      template<typename vtype> using iImplGaugeField         = iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nd >;
-      template<typename vtype> using iImplGaugeLink          = iScalar<iScalar<iMatrix<vtype, Nrepresentation> > >;
-    
-      typedef iImplSpinor    <Simd>           SiteSpinor;
-      typedef iImplHalfSpinor<Simd>           SiteHalfSpinor;
-      typedef Lattice<SiteSpinor>             FermionField;
-
-      // Make the doubled gauge field a *scalar*
-      typedef iImplDoubledGaugeField<typename Simd::scalar_type>    SiteDoubledGaugeField; // This is a scalar
-      typedef iImplGaugeField<typename Simd::scalar_type>           SiteScalarGaugeField;  // scalar
-      typedef iImplGaugeLink <typename Simd::scalar_type>           SiteScalarGaugeLink;   // scalar
-
-      typedef Lattice<SiteDoubledGaugeField>                  DoubledGaugeField;
-
-      typedef WilsonCompressor<SiteHalfSpinor,SiteSpinor> Compressor;
-      typedef WilsonImplParams ImplParams;
-      typedef WilsonStencil<SiteSpinor,SiteHalfSpinor> StencilImpl;
-
-      ImplParams Params;
-
-      DomainWallRedBlack5dImpl(const ImplParams &p= ImplParams()) : Params(p) {}; 
-
-      bool overlapCommsCompute(void) { return false; };
-    
-      template<class ref>
-      inline void loadLinkElement(Simd & reg,ref &memory){
-	vsplat(reg,memory);
-      }
-      inline void multLink(SiteHalfSpinor &phi,const SiteDoubledGaugeField &U,const SiteHalfSpinor &chi,int mu,StencilEntry *SE,StencilImpl &St)
-      {
-	SiteGaugeLink UU;
-	for(int i=0;i<Nrepresentation;i++){
-	  for(int j=0;j<Nrepresentation;j++){
-	    vsplat(UU()()(i,j),U(mu)()(i,j));
-	  }
-	}
-        mult(&phi(),&UU(),&chi());
-      }
-
-      inline void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
-      {
-	SiteScalarGaugeField  ScalarUmu;
-	SiteDoubledGaugeField ScalarUds;
-
-        GaugeLinkField U   (Umu._grid);
-	GaugeField     Uadj(Umu._grid);
-        for(int mu=0;mu<Nd;mu++){
-  	  U = PeekIndex<LorentzIndex>(Umu,mu);
-	  U = adj(Cshift(U,mu,-1));
-	  PokeIndex<LorentzIndex>(Uadj,U,mu);
-	}
-
-	for(int lidx=0;lidx<GaugeGrid->lSites();lidx++){
-	  std::vector<int> lcoor;
-	  GaugeGrid->LocalIndexToLocalCoor(lidx,lcoor);
-
-	  peekLocalSite(ScalarUmu,Umu,lcoor);
-	  for(int mu=0;mu<4;mu++) ScalarUds(mu) = ScalarUmu(mu);
-
-	  peekLocalSite(ScalarUmu,Uadj,lcoor);
-	  for(int mu=0;mu<4;mu++) ScalarUds(mu+4) = ScalarUmu(mu);
-
-	  pokeLocalSite(ScalarUds,Uds,lcoor);
-	}
-
-      }
-	
-      inline void InsertForce4D(GaugeField &mat, FermionField &Btilde, FermionField &A,int mu){
-	assert(0);
-      }   
-
-      inline void InsertForce5D(GaugeField &mat, FermionField &Btilde, FermionField &Atilde,int mu){
-	assert(0);
-      }
-
-    };
-
-
-    ////////////////////////////////////////////////////////////////////////////////////////
-    // Flavour doubled spinors; is Gparity the only? what about C*?
-    ////////////////////////////////////////////////////////////////////////////////////////
-
-    template<class S,int Nrepresentation>
-    class GparityWilsonImpl : public ConjugateGaugeImpl< GaugeImplTypes<S,Nrepresentation> >{ 
-    public:
-
-      typedef ConjugateGaugeImpl< GaugeImplTypes<S,Nrepresentation> > Gimpl;
-
-      INHERIT_GIMPL_TYPES(Gimpl);
-
-      template<typename vtype> using iImplSpinor             = iVector<iVector<iVector<vtype, Nrepresentation>, Ns>, Ngp >;
-      template<typename vtype> using iImplHalfSpinor         = iVector<iVector<iVector<vtype, Nrepresentation>, Nhs>, Ngp >;
-      template<typename vtype> using iImplDoubledGaugeField  = iVector<iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds >, Ngp >;
-    
-      typedef iImplSpinor    <Simd>           SiteSpinor;
-      typedef iImplHalfSpinor<Simd>           SiteHalfSpinor;
-      typedef iImplDoubledGaugeField<Simd>    SiteDoubledGaugeField;
-
-      typedef Lattice<SiteSpinor>                 FermionField;
-      typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
-
-      typedef WilsonCompressor<SiteHalfSpinor,SiteSpinor> Compressor;
-      typedef WilsonStencil<SiteSpinor,SiteHalfSpinor> StencilImpl;
-
-      typedef GparityWilsonImplParams ImplParams;
-
-      ImplParams Params;
-
-      GparityWilsonImpl(const ImplParams &p= ImplParams()) : Params(p) {}; 
-      
-      bool overlapCommsCompute(void) { return Params.overlapCommsCompute; };
-
-      // provide the multiply by link that is differentiated between Gparity (with flavour index) and non-Gparity
-      inline void multLink(SiteHalfSpinor &phi,const SiteDoubledGaugeField &U,const SiteHalfSpinor &chi,int mu,StencilEntry *SE,StencilImpl &St){
-
-	typedef SiteHalfSpinor vobj;
-	typedef typename SiteHalfSpinor::scalar_object sobj;
-
-	vobj vtmp;
-	sobj stmp;
-	
-	GridBase *grid = St._grid;
-      
-	const int Nsimd = grid->Nsimd();
-	
-	int direction    = St._directions[mu];
-	int distance     = St._distances[mu];
-	int ptype        = St._permute_type[mu]; 
-	int sl           = St._grid->_simd_layout[direction];
-
-	// Fixme X.Y.Z.T hardcode in stencil
-	int mmu          = mu % Nd;
-
-	// assert our assumptions
-	assert((distance==1)||(distance==-1)); // nearest neighbour stencil hard code
-	assert((sl==1)||(sl==2));
-	
-	std::vector<int> icoor;
-      
-	if ( SE->_around_the_world && Params.twists[mmu] ) {
-
-	  if ( sl == 2 ) {
-
-	    std::vector<sobj> vals(Nsimd);
-
-	    extract(chi,vals);
-	    for(int s=0;s<Nsimd;s++){
-
-	      grid->iCoorFromIindex(icoor,s);
-	      
-	      assert((icoor[direction]==0)||(icoor[direction]==1));
-	      
-	      int permute_lane;
-	      if ( distance == 1) {
-		permute_lane = icoor[direction]?1:0;
-	      } else {
-		permute_lane = icoor[direction]?0:1;
-	      }
-	      
-	      if ( permute_lane ) { 
-		stmp(0) = vals[s](1);
-		stmp(1) = vals[s](0);
-		vals[s] = stmp;
-	      }
-	    }
-	    merge(vtmp,vals);
-
-	  } else { 
-	    vtmp(0) = chi(1);
-	    vtmp(1) = chi(0);
-	  }
-	  mult(&phi(0),&U(0)(mu),&vtmp(0));
-	  mult(&phi(1),&U(1)(mu),&vtmp(1));
-	  
-	} else { 
-	  mult(&phi(0),&U(0)(mu),&chi(0));
-	  mult(&phi(1),&U(1)(mu),&chi(1));
-	}
-	
-      }
-
-      inline void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
-      {
-	
-	conformable(Uds._grid,GaugeGrid);
-	conformable(Umu._grid,GaugeGrid);
-	
-	GaugeLinkField Utmp (GaugeGrid);
-	GaugeLinkField U    (GaugeGrid);
-	GaugeLinkField Uconj(GaugeGrid);
-	
-	Lattice<iScalar<vInteger> > coor(GaugeGrid);
-
-	
-	for(int mu=0;mu<Nd;mu++){
-	  
-	  LatticeCoordinate(coor,mu);
-	  
-	  U     = PeekIndex<LorentzIndex>(Umu,mu);
-	  Uconj = conjugate(U);
-
-	  // This phase could come from a simple bc 1,1,-1,1 ..
-	  int neglink = GaugeGrid->GlobalDimensions()[mu]-1;
-	  if ( Params.twists[mu] ) { 
-	    Uconj = where(coor==neglink,-Uconj,Uconj);
-	  }
-
-	  
-PARALLEL_FOR_LOOP
-	  for(auto ss=U.begin();ss<U.end();ss++){
-	    Uds[ss](0)(mu) = U[ss]();
-	    Uds[ss](1)(mu) = Uconj[ss]();
-	  }
-	  
-	  U     = adj(Cshift(U    ,mu,-1));      // correct except for spanning the boundary
-	  Uconj = adj(Cshift(Uconj,mu,-1));
-	  
-	  Utmp = U;
-	  if ( Params.twists[mu] ) { 
-	    Utmp = where(coor==0,Uconj,Utmp);
-	  }
-	  
-PARALLEL_FOR_LOOP
-	  for(auto ss=U.begin();ss<U.end();ss++){
-	    Uds[ss](0)(mu+4) = Utmp[ss]();
-	  }
-	  
-	  Utmp = Uconj;
-	  if ( Params.twists[mu] ) { 
-	    Utmp = where(coor==0,U,Utmp);
-	  }
-	  
-PARALLEL_FOR_LOOP
-	  for(auto ss=U.begin();ss<U.end();ss++){
-	    Uds[ss](1)(mu+4) = Utmp[ss]();
-	  }
-	  
-	}
-      }
-
-      inline void InsertForce4D(GaugeField &mat, FermionField &Btilde, FermionField &A,int mu){
-	
-	// DhopDir provides U or Uconj depending on coor/flavour.
-	GaugeLinkField link(mat._grid);
-	// use lorentz for flavour as hack.
-	auto tmp = TraceIndex<SpinIndex>(outerProduct(Btilde,A));  
-PARALLEL_FOR_LOOP
-        for(auto ss=tmp.begin();ss<tmp.end();ss++){
-	  link[ss]() = tmp[ss](0,0) - conjugate(tmp[ss](1,1)) ;
-	}
-	PokeIndex<LorentzIndex>(mat,link,mu);
-	return;
-      }
-      inline void InsertForce5D(GaugeField &mat, FermionField &Btilde, FermionField &Atilde,int mu){
-
-	int Ls=Btilde._grid->_fdimensions[0];
-
-	GaugeLinkField tmp(mat._grid);
-	tmp = zero;
-PARALLEL_FOR_LOOP
-	for(int ss=0;ss<tmp._grid->oSites();ss++){
-	  for(int s=0;s<Ls;s++){
-	    int sF = s+Ls*ss;
-	    auto ttmp = traceIndex<SpinIndex>(outerProduct(Btilde[sF],Atilde[sF]));
-	    tmp[ss]() = tmp[ss]()+ ttmp(0,0) + conjugate(ttmp(1,1));
-	  }
-	}
-	PokeIndex<LorentzIndex>(mat,tmp,mu);
-	return;
-      }
-    };
-
-    typedef WilsonImpl<vComplex ,Nc> WilsonImplR; // Real.. whichever prec
-    typedef WilsonImpl<vComplexF,Nc> WilsonImplF; // Float
-    typedef WilsonImpl<vComplexD,Nc> WilsonImplD; // Double
-
-    typedef DomainWallRedBlack5dImpl<vComplex ,Nc> DomainWallRedBlack5dImplR; // Real.. whichever prec
-    typedef DomainWallRedBlack5dImpl<vComplexF,Nc> DomainWallRedBlack5dImplF; // Float
-    typedef DomainWallRedBlack5dImpl<vComplexD,Nc> DomainWallRedBlack5dImplD; // Double
-
-    typedef GparityWilsonImpl<vComplex ,Nc> GparityWilsonImplR; // Real.. whichever prec
-    typedef GparityWilsonImpl<vComplexF,Nc> GparityWilsonImplF; // Float
-    typedef GparityWilsonImpl<vComplexD,Nc> GparityWilsonImplD; // Double
-
+  INHERIT_GIMPL_TYPES(Base)      \
+  INHERIT_FIMPL_TYPES(Base)
+
+///////
+// Single flavour four spinors with colour index
+///////
+template <class S, int Nrepresentation = Nc>
+class WilsonImpl
+    : public PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > {
+ public:
+  typedef PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > Gimpl;
+
+  INHERIT_GIMPL_TYPES(Gimpl);
+
+  template <typename vtype>
+  using iImplSpinor = iScalar<iVector<iVector<vtype, Nrepresentation>, Ns> >;
+  template <typename vtype>
+  using iImplHalfSpinor =
+      iScalar<iVector<iVector<vtype, Nrepresentation>, Nhs> >;
+  template <typename vtype>
+  using iImplDoubledGaugeField =
+      iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds>;
+
+  typedef iImplSpinor<Simd> SiteSpinor;
+  typedef iImplHalfSpinor<Simd> SiteHalfSpinor;
+  typedef iImplDoubledGaugeField<Simd> SiteDoubledGaugeField;
+
+  typedef Lattice<SiteSpinor> FermionField;
+  typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
+
+  typedef WilsonCompressor<SiteHalfSpinor, SiteSpinor> Compressor;
+  typedef WilsonImplParams ImplParams;
+  typedef WilsonStencil<SiteSpinor, SiteHalfSpinor> StencilImpl;
+
+  ImplParams Params;
+
+  WilsonImpl(const ImplParams &p = ImplParams()) : Params(p){};
+
+  bool overlapCommsCompute(void) { return Params.overlapCommsCompute; };
+
+  inline void multLink(SiteHalfSpinor &phi, const SiteDoubledGaugeField &U,
+                       const SiteHalfSpinor &chi, int mu, StencilEntry *SE,
+                       StencilImpl &St) {
+    mult(&phi(), &U(mu), &chi());
   }
+
+  template <class ref>
+  inline void loadLinkElement(Simd &reg, ref &memory) {
+    reg = memory;
+  }
+  inline void DoubleStore(GridBase *GaugeGrid, DoubledGaugeField &Uds,
+                          const GaugeField &Umu) {
+    conformable(Uds._grid, GaugeGrid);
+    conformable(Umu._grid, GaugeGrid);
+    GaugeLinkField U(GaugeGrid);
+    for (int mu = 0; mu < Nd; mu++) {
+      U = PeekIndex<LorentzIndex>(Umu, mu);
+      PokeIndex<LorentzIndex>(Uds, U, mu);
+      U = adj(Cshift(U, mu, -1));
+      PokeIndex<LorentzIndex>(Uds, U, mu + 4);
+    }
+  }
+
+  inline void InsertForce4D(GaugeField &mat, FermionField &Btilde,
+                            FermionField &A, int mu) {
+    GaugeLinkField link(mat._grid);
+    link = TraceIndex<SpinIndex>(outerProduct(Btilde, A));
+    PokeIndex<LorentzIndex>(mat, link, mu);
+  }
+
+  inline void InsertForce5D(GaugeField &mat, FermionField &Btilde,
+                            FermionField &Atilde, int mu) {
+    int Ls = Btilde._grid->_fdimensions[0];
+
+    GaugeLinkField tmp(mat._grid);
+    tmp = zero;
+    PARALLEL_FOR_LOOP
+    for (int sss = 0; sss < tmp._grid->oSites(); sss++) {
+      int sU = sss;
+      for (int s = 0; s < Ls; s++) {
+        int sF = s + Ls * sU;
+        tmp[sU] = tmp[sU] + traceIndex<SpinIndex>(outerProduct(
+                                Btilde[sF], Atilde[sF]));  // ordering here
+      }
+    }
+    PokeIndex<LorentzIndex>(mat, tmp, mu);
+  }
+};
+
+///////
+// Single flavour four spinors with colour index, 5d redblack
+///////
+template <class S, int Nrepresentation = Nc>
+class DomainWallRedBlack5dImpl
+    : public PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > {
+ public:
+  typedef PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > Gimpl;
+
+  INHERIT_GIMPL_TYPES(Gimpl);
+
+  template <typename vtype>
+  using iImplSpinor = iScalar<iVector<iVector<vtype, Nrepresentation>, Ns> >;
+  template <typename vtype>
+  using iImplHalfSpinor =
+      iScalar<iVector<iVector<vtype, Nrepresentation>, Nhs> >;
+  template <typename vtype>
+  using iImplDoubledGaugeField =
+      iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds>;
+  template <typename vtype>
+  using iImplGaugeField =
+      iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nd>;
+  template <typename vtype>
+  using iImplGaugeLink = iScalar<iScalar<iMatrix<vtype, Nrepresentation> > >;
+
+  typedef iImplSpinor<Simd> SiteSpinor;
+  typedef iImplHalfSpinor<Simd> SiteHalfSpinor;
+  typedef Lattice<SiteSpinor> FermionField;
+
+  // Make the doubled gauge field a *scalar*
+  typedef iImplDoubledGaugeField<typename Simd::scalar_type>
+      SiteDoubledGaugeField;  // This is a scalar
+  typedef iImplGaugeField<typename Simd::scalar_type>
+      SiteScalarGaugeField;  // scalar
+  typedef iImplGaugeLink<typename Simd::scalar_type>
+      SiteScalarGaugeLink;  // scalar
+
+  typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
+
+  typedef WilsonCompressor<SiteHalfSpinor, SiteSpinor> Compressor;
+  typedef WilsonImplParams ImplParams;
+  typedef WilsonStencil<SiteSpinor, SiteHalfSpinor> StencilImpl;
+
+  ImplParams Params;
+
+  DomainWallRedBlack5dImpl(const ImplParams &p = ImplParams()) : Params(p){};
+
+  bool overlapCommsCompute(void) { return false; };
+
+  template <class ref>
+  inline void loadLinkElement(Simd &reg, ref &memory) {
+    vsplat(reg, memory);
+  }
+  inline void multLink(SiteHalfSpinor &phi, const SiteDoubledGaugeField &U,
+                       const SiteHalfSpinor &chi, int mu, StencilEntry *SE,
+                       StencilImpl &St) {
+    SiteGaugeLink UU;
+    for (int i = 0; i < Nrepresentation; i++) {
+      for (int j = 0; j < Nrepresentation; j++) {
+        vsplat(UU()()(i, j), U(mu)()(i, j));
+      }
+    }
+    mult(&phi(), &UU(), &chi());
+  }
+
+  inline void DoubleStore(GridBase *GaugeGrid, DoubledGaugeField &Uds,
+                          const GaugeField &Umu) {
+    SiteScalarGaugeField ScalarUmu;
+    SiteDoubledGaugeField ScalarUds;
+
+    GaugeLinkField U(Umu._grid);
+    GaugeField Uadj(Umu._grid);
+    for (int mu = 0; mu < Nd; mu++) {
+      U = PeekIndex<LorentzIndex>(Umu, mu);
+      U = adj(Cshift(U, mu, -1));
+      PokeIndex<LorentzIndex>(Uadj, U, mu);
+    }
+
+    for (int lidx = 0; lidx < GaugeGrid->lSites(); lidx++) {
+      std::vector<int> lcoor;
+      GaugeGrid->LocalIndexToLocalCoor(lidx, lcoor);
+
+      peekLocalSite(ScalarUmu, Umu, lcoor);
+      for (int mu = 0; mu < 4; mu++) ScalarUds(mu) = ScalarUmu(mu);
+
+      peekLocalSite(ScalarUmu, Uadj, lcoor);
+      for (int mu = 0; mu < 4; mu++) ScalarUds(mu + 4) = ScalarUmu(mu);
+
+      pokeLocalSite(ScalarUds, Uds, lcoor);
+    }
+  }
+
+  inline void InsertForce4D(GaugeField &mat, FermionField &Btilde,
+                            FermionField &A, int mu) {
+    assert(0);
+  }
+
+  inline void InsertForce5D(GaugeField &mat, FermionField &Btilde,
+                            FermionField &Atilde, int mu) {
+    assert(0);
+  }
+};
+
+////////////////////////////////////////////////////////////////////////////////////////
+// Flavour doubled spinors; is Gparity the only? what about C*?
+////////////////////////////////////////////////////////////////////////////////////////
+
+template <class S, int Nrepresentation>
+class GparityWilsonImpl
+    : public ConjugateGaugeImpl<GaugeImplTypes<S, Nrepresentation> > {
+ public:
+  typedef ConjugateGaugeImpl<GaugeImplTypes<S, Nrepresentation> > Gimpl;
+
+  INHERIT_GIMPL_TYPES(Gimpl);
+
+  template <typename vtype>
+  using iImplSpinor =
+      iVector<iVector<iVector<vtype, Nrepresentation>, Ns>, Ngp>;
+  template <typename vtype>
+  using iImplHalfSpinor =
+      iVector<iVector<iVector<vtype, Nrepresentation>, Nhs>, Ngp>;
+  template <typename vtype>
+  using iImplDoubledGaugeField =
+      iVector<iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds>, Ngp>;
+
+  typedef iImplSpinor<Simd> SiteSpinor;
+  typedef iImplHalfSpinor<Simd> SiteHalfSpinor;
+  typedef iImplDoubledGaugeField<Simd> SiteDoubledGaugeField;
+
+  typedef Lattice<SiteSpinor> FermionField;
+  typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
+
+  typedef WilsonCompressor<SiteHalfSpinor, SiteSpinor> Compressor;
+  typedef WilsonStencil<SiteSpinor, SiteHalfSpinor> StencilImpl;
+
+  typedef GparityWilsonImplParams ImplParams;
+
+  ImplParams Params;
+
+  GparityWilsonImpl(const ImplParams &p = ImplParams()) : Params(p){};
+
+  bool overlapCommsCompute(void) { return Params.overlapCommsCompute; };
+
+  // provide the multiply by link that is differentiated between Gparity (with
+  // flavour index) and non-Gparity
+  inline void multLink(SiteHalfSpinor &phi, const SiteDoubledGaugeField &U,
+                       const SiteHalfSpinor &chi, int mu, StencilEntry *SE,
+                       StencilImpl &St) {
+    typedef SiteHalfSpinor vobj;
+    typedef typename SiteHalfSpinor::scalar_object sobj;
+
+    vobj vtmp;
+    sobj stmp;
+
+    GridBase *grid = St._grid;
+
+    const int Nsimd = grid->Nsimd();
+
+    int direction = St._directions[mu];
+    int distance = St._distances[mu];
+    int ptype = St._permute_type[mu];
+    int sl = St._grid->_simd_layout[direction];
+
+    // Fixme X.Y.Z.T hardcode in stencil
+    int mmu = mu % Nd;
+
+    // assert our assumptions
+    assert((distance == 1) ||
+           (distance == -1));  // nearest neighbour stencil hard code
+    assert((sl == 1) || (sl == 2));
+
+    std::vector<int> icoor;
+
+    if (SE->_around_the_world && Params.twists[mmu]) {
+      if (sl == 2) {
+        std::vector<sobj> vals(Nsimd);
+
+        extract(chi, vals);
+        for (int s = 0; s < Nsimd; s++) {
+          grid->iCoorFromIindex(icoor, s);
+
+          assert((icoor[direction] == 0) || (icoor[direction] == 1));
+
+          int permute_lane;
+          if (distance == 1) {
+            permute_lane = icoor[direction] ? 1 : 0;
+          } else {
+            permute_lane = icoor[direction] ? 0 : 1;
+          }
+
+          if (permute_lane) {
+            stmp(0) = vals[s](1);
+            stmp(1) = vals[s](0);
+            vals[s] = stmp;
+          }
+        }
+        merge(vtmp, vals);
+
+      } else {
+        vtmp(0) = chi(1);
+        vtmp(1) = chi(0);
+      }
+      mult(&phi(0), &U(0)(mu), &vtmp(0));
+      mult(&phi(1), &U(1)(mu), &vtmp(1));
+
+    } else {
+      mult(&phi(0), &U(0)(mu), &chi(0));
+      mult(&phi(1), &U(1)(mu), &chi(1));
+    }
+  }
+
+  inline void DoubleStore(GridBase *GaugeGrid, DoubledGaugeField &Uds,
+                          const GaugeField &Umu) {
+    conformable(Uds._grid, GaugeGrid);
+    conformable(Umu._grid, GaugeGrid);
+
+    GaugeLinkField Utmp(GaugeGrid);
+    GaugeLinkField U(GaugeGrid);
+    GaugeLinkField Uconj(GaugeGrid);
+
+    Lattice<iScalar<vInteger> > coor(GaugeGrid);
+
+    for (int mu = 0; mu < Nd; mu++) {
+      LatticeCoordinate(coor, mu);
+
+      U = PeekIndex<LorentzIndex>(Umu, mu);
+      Uconj = conjugate(U);
+
+      // This phase could come from a simple bc 1,1,-1,1 ..
+      int neglink = GaugeGrid->GlobalDimensions()[mu] - 1;
+      if (Params.twists[mu]) {
+        Uconj = where(coor == neglink, -Uconj, Uconj);
+      }
+
+      PARALLEL_FOR_LOOP
+      for (auto ss = U.begin(); ss < U.end(); ss++) {
+        Uds[ss](0)(mu) = U[ss]();
+        Uds[ss](1)(mu) = Uconj[ss]();
+      }
+
+      U = adj(Cshift(U, mu, -1));  // correct except for spanning the boundary
+      Uconj = adj(Cshift(Uconj, mu, -1));
+
+      Utmp = U;
+      if (Params.twists[mu]) {
+        Utmp = where(coor == 0, Uconj, Utmp);
+      }
+
+      PARALLEL_FOR_LOOP
+      for (auto ss = U.begin(); ss < U.end(); ss++) {
+        Uds[ss](0)(mu + 4) = Utmp[ss]();
+      }
+
+      Utmp = Uconj;
+      if (Params.twists[mu]) {
+        Utmp = where(coor == 0, U, Utmp);
+      }
+
+      PARALLEL_FOR_LOOP
+      for (auto ss = U.begin(); ss < U.end(); ss++) {
+        Uds[ss](1)(mu + 4) = Utmp[ss]();
+      }
+    }
+  }
+
+  inline void InsertForce4D(GaugeField &mat, FermionField &Btilde,
+                            FermionField &A, int mu) {
+    // DhopDir provides U or Uconj depending on coor/flavour.
+    GaugeLinkField link(mat._grid);
+    // use lorentz for flavour as hack.
+    auto tmp = TraceIndex<SpinIndex>(outerProduct(Btilde, A));
+    PARALLEL_FOR_LOOP
+    for (auto ss = tmp.begin(); ss < tmp.end(); ss++) {
+      link[ss]() = tmp[ss](0, 0) - conjugate(tmp[ss](1, 1));
+    }
+    PokeIndex<LorentzIndex>(mat, link, mu);
+    return;
+  }
+  inline void InsertForce5D(GaugeField &mat, FermionField &Btilde,
+                            FermionField &Atilde, int mu) {
+    int Ls = Btilde._grid->_fdimensions[0];
+
+    GaugeLinkField tmp(mat._grid);
+    tmp = zero;
+    PARALLEL_FOR_LOOP
+    for (int ss = 0; ss < tmp._grid->oSites(); ss++) {
+      for (int s = 0; s < Ls; s++) {
+        int sF = s + Ls * ss;
+        auto ttmp = traceIndex<SpinIndex>(outerProduct(Btilde[sF], Atilde[sF]));
+        tmp[ss]() = tmp[ss]() + ttmp(0, 0) + conjugate(ttmp(1, 1));
+      }
+    }
+    PokeIndex<LorentzIndex>(mat, tmp, mu);
+    return;
+  }
+};
+
+typedef WilsonImpl<vComplex, Nc> WilsonImplR;   // Real.. whichever prec
+typedef WilsonImpl<vComplexF, Nc> WilsonImplF;  // Float
+typedef WilsonImpl<vComplexD, Nc> WilsonImplD;  // Double
+
+typedef DomainWallRedBlack5dImpl<vComplex, Nc>
+    DomainWallRedBlack5dImplR;  // Real.. whichever prec
+typedef DomainWallRedBlack5dImpl<vComplexF, Nc>
+    DomainWallRedBlack5dImplF;  // Float
+typedef DomainWallRedBlack5dImpl<vComplexD, Nc>
+    DomainWallRedBlack5dImplD;  // Double
+
+typedef GparityWilsonImpl<vComplex, Nc>
+    GparityWilsonImplR;  // Real.. whichever prec
+typedef GparityWilsonImpl<vComplexF, Nc> GparityWilsonImplF;  // Float
+typedef GparityWilsonImpl<vComplexD, Nc> GparityWilsonImplD;  // Double
+}
 }
 #endif
diff --git a/lib/qcd/action/fermion/WilsonFermion.cc b/lib/qcd/action/fermion/WilsonFermion.cc
index 59632409..0992559b 100644
--- a/lib/qcd/action/fermion/WilsonFermion.cc
+++ b/lib/qcd/action/fermion/WilsonFermion.cc
@@ -1,319 +1,313 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/fermion/WilsonFermion.cc
+Source file: ./lib/qcd/action/fermion/WilsonFermion.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: Peter Boyle <peterboyle@Peters-MacBook-Pro-2.local>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include <Grid.h>
 
 namespace Grid {
 namespace QCD {
 
-  const std::vector<int> WilsonFermionStatic::directions   ({0,1,2,3, 0, 1, 2, 3});
-  const std::vector<int> WilsonFermionStatic::displacements({1,1,1,1,-1,-1,-1,-1});
-  int WilsonFermionStatic::HandOptDslash;
+const std::vector<int> WilsonFermionStatic::directions({0, 1, 2, 3, 0, 1, 2,
+                                                        3});
+const std::vector<int> WilsonFermionStatic::displacements({1, 1, 1, 1, -1, -1,
+                                                           -1, -1});
+int WilsonFermionStatic::HandOptDslash;
 
-  /////////////////////////////////
-  // Constructor and gauge import
-  /////////////////////////////////
+/////////////////////////////////
+// Constructor and gauge import
+/////////////////////////////////
 
-  template<class Impl>
-  WilsonFermion<Impl>::WilsonFermion(GaugeField &_Umu,
-				     GridCartesian         &Fgrid,
-				     GridRedBlackCartesian &Hgrid, 
-				     RealD _mass,const ImplParams &p) :
-        Kernels(p),
-        _grid(&Fgrid),
-	_cbgrid(&Hgrid),
-	Stencil    (&Fgrid,npoint,Even,directions,displacements),
-	StencilEven(&Hgrid,npoint,Even,directions,displacements), // source is Even
-	StencilOdd (&Hgrid,npoint,Odd ,directions,displacements), // source is Odd
-	mass(_mass),
-	Lebesgue(_grid),
-	LebesgueEvenOdd(_cbgrid),
-	Umu(&Fgrid),
-	UmuEven(&Hgrid),
-	UmuOdd (&Hgrid) 
-  {
-    // Allocate the required comms buffer
-    ImportGauge(_Umu);
+template <class Impl>
+WilsonFermion<Impl>::WilsonFermion(GaugeField &_Umu, GridCartesian &Fgrid,
+                                   GridRedBlackCartesian &Hgrid, RealD _mass,
+                                   const ImplParams &p)
+    : Kernels(p),
+      _grid(&Fgrid),
+      _cbgrid(&Hgrid),
+      Stencil(&Fgrid, npoint, Even, directions, displacements),
+      StencilEven(&Hgrid, npoint, Even, directions,
+                  displacements),  // source is Even
+      StencilOdd(&Hgrid, npoint, Odd, directions,
+                 displacements),  // source is Odd
+      mass(_mass),
+      Lebesgue(_grid),
+      LebesgueEvenOdd(_cbgrid),
+      Umu(&Fgrid),
+      UmuEven(&Hgrid),
+      UmuOdd(&Hgrid) {
+  // Allocate the required comms buffer
+  ImportGauge(_Umu);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::ImportGauge(const GaugeField &_Umu) {
+  GaugeField HUmu(_Umu._grid);
+  HUmu = _Umu * (-0.5);
+  Impl::DoubleStore(GaugeGrid(), Umu, HUmu);
+  pickCheckerboard(Even, UmuEven, Umu);
+  pickCheckerboard(Odd, UmuOdd, Umu);
+}
+
+/////////////////////////////
+// Implement the interface
+/////////////////////////////
+
+template <class Impl>
+RealD WilsonFermion<Impl>::M(const FermionField &in, FermionField &out) {
+  out.checkerboard = in.checkerboard;
+  Dhop(in, out, DaggerNo);
+  return axpy_norm(out, 4 + mass, in, out);
+}
+
+template <class Impl>
+RealD WilsonFermion<Impl>::Mdag(const FermionField &in, FermionField &out) {
+  out.checkerboard = in.checkerboard;
+  Dhop(in, out, DaggerYes);
+  return axpy_norm(out, 4 + mass, in, out);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::Meooe(const FermionField &in, FermionField &out) {
+  if (in.checkerboard == Odd) {
+    DhopEO(in, out, DaggerNo);
+  } else {
+    DhopOE(in, out, DaggerNo);
   }
-
-  template<class Impl>
-  void WilsonFermion<Impl>::ImportGauge(const GaugeField &_Umu)
-  {
-    GaugeField HUmu(_Umu._grid);
-    HUmu = _Umu*(-0.5);
-    Impl::DoubleStore(GaugeGrid(),Umu,HUmu);
-    pickCheckerboard(Even,UmuEven,Umu);
-    pickCheckerboard(Odd ,UmuOdd,Umu);
-  }
-  
-  /////////////////////////////
-  // Implement the interface
-  /////////////////////////////
-      
-  template<class Impl>
-  RealD WilsonFermion<Impl>::M(const FermionField &in, FermionField &out) 
-  {
-    out.checkerboard=in.checkerboard;
-    Dhop(in,out,DaggerNo);
-    return axpy_norm(out,4+mass,in,out);
+}
+template <class Impl>
+void WilsonFermion<Impl>::MeooeDag(const FermionField &in, FermionField &out) {
+  if (in.checkerboard == Odd) {
+    DhopEO(in, out, DaggerYes);
+  } else {
+    DhopOE(in, out, DaggerYes);
   }
+}
 
-  template<class Impl>
-  RealD WilsonFermion<Impl>::Mdag(const FermionField &in, FermionField &out) 
-  {
-    out.checkerboard=in.checkerboard;
-    Dhop(in,out,DaggerYes);
-    return axpy_norm(out,4+mass,in,out);
-  }
+template <class Impl>
+void WilsonFermion<Impl>::Mooee(const FermionField &in, FermionField &out) {
+  out.checkerboard = in.checkerboard;
+  typename FermionField::scalar_type scal(4.0 + mass);
+  out = scal * in;
+}
 
-  template<class Impl>
-  void WilsonFermion<Impl>::Meooe(const FermionField &in, FermionField &out) 
-  {
-    if ( in.checkerboard == Odd ) {
-      DhopEO(in,out,DaggerNo);
-    } else {
-      DhopOE(in,out,DaggerNo);
-    }
-  }
-  template<class Impl>
-  void WilsonFermion<Impl>::MeooeDag(const FermionField &in, FermionField &out) 
-  {
-    if ( in.checkerboard == Odd ) {
-      DhopEO(in,out,DaggerYes);
-    } else {
-      DhopOE(in,out,DaggerYes);
+template <class Impl>
+void WilsonFermion<Impl>::MooeeDag(const FermionField &in, FermionField &out) {
+  out.checkerboard = in.checkerboard;
+  Mooee(in, out);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::MooeeInv(const FermionField &in, FermionField &out) {
+  out.checkerboard = in.checkerboard;
+  out = (1.0 / (4.0 + mass)) * in;
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::MooeeInvDag(const FermionField &in,
+                                      FermionField &out) {
+  out.checkerboard = in.checkerboard;
+  MooeeInv(in, out);
+}
+
+///////////////////////////////////
+// Internal
+///////////////////////////////////
+
+template <class Impl>
+void WilsonFermion<Impl>::DerivInternal(StencilImpl &st, DoubledGaugeField &U,
+                                        GaugeField &mat, const FermionField &A,
+                                        const FermionField &B, int dag) {
+  assert((dag == DaggerNo) || (dag == DaggerYes));
+
+  Compressor compressor(dag);
+
+  FermionField Btilde(B._grid);
+  FermionField Atilde(B._grid);
+  Atilde = A;
+
+  st.HaloExchange(B, compressor);
+
+  for (int mu = 0; mu < Nd; mu++) {
+    ////////////////////////////////////////////////////////////////////////
+    // Flip gamma (1+g)<->(1-g) if dag
+    ////////////////////////////////////////////////////////////////////////
+    int gamma = mu;
+    if (!dag) gamma += Nd;
+
+    ////////////////////////
+    // Call the single hop
+    ////////////////////////
+    PARALLEL_FOR_LOOP
+    for (int sss = 0; sss < B._grid->oSites(); sss++) {
+      Kernels::DiracOptDhopDir(st, U, st.comm_buf, sss, sss, B, Btilde, mu,
+                               gamma);
+    }
+
+    //////////////////////////////////////////////////
+    // spin trace outer product
+    //////////////////////////////////////////////////
+    Impl::InsertForce4D(mat, Btilde, Atilde, mu);
+  }
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::DhopDeriv(GaugeField &mat, const FermionField &U,
+                                    const FermionField &V, int dag) {
+  conformable(U._grid, _grid);
+  conformable(U._grid, V._grid);
+  conformable(U._grid, mat._grid);
+
+  mat.checkerboard = U.checkerboard;
+
+  DerivInternal(Stencil, Umu, mat, U, V, dag);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::DhopDerivOE(GaugeField &mat, const FermionField &U,
+                                      const FermionField &V, int dag) {
+  conformable(U._grid, _cbgrid);
+  conformable(U._grid, V._grid);
+  conformable(U._grid, mat._grid);
+
+  assert(V.checkerboard == Even);
+  assert(U.checkerboard == Odd);
+  mat.checkerboard = Odd;
+
+  DerivInternal(StencilEven, UmuOdd, mat, U, V, dag);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::DhopDerivEO(GaugeField &mat, const FermionField &U,
+                                      const FermionField &V, int dag) {
+  conformable(U._grid, _cbgrid);
+  conformable(U._grid, V._grid);
+  conformable(U._grid, mat._grid);
+
+  assert(V.checkerboard == Odd);
+  assert(U.checkerboard == Even);
+  mat.checkerboard = Even;
+
+  DerivInternal(StencilOdd, UmuEven, mat, U, V, dag);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::Dhop(const FermionField &in, FermionField &out,
+                               int dag) {
+  conformable(in._grid, _grid);  // verifies full grid
+  conformable(in._grid, out._grid);
+
+  out.checkerboard = in.checkerboard;
+
+  DhopInternal(Stencil, Lebesgue, Umu, in, out, dag);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::DhopOE(const FermionField &in, FermionField &out,
+                                 int dag) {
+  conformable(in._grid, _cbgrid);    // verifies half grid
+  conformable(in._grid, out._grid);  // drops the cb check
+
+  assert(in.checkerboard == Even);
+  out.checkerboard = Odd;
+
+  DhopInternal(StencilEven, LebesgueEvenOdd, UmuOdd, in, out, dag);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::DhopEO(const FermionField &in, FermionField &out,
+                                 int dag) {
+  conformable(in._grid, _cbgrid);    // verifies half grid
+  conformable(in._grid, out._grid);  // drops the cb check
+
+  assert(in.checkerboard == Odd);
+  out.checkerboard = Even;
+
+  DhopInternal(StencilOdd, LebesgueEvenOdd, UmuEven, in, out, dag);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::Mdir(const FermionField &in, FermionField &out,
+                               int dir, int disp) {
+  DhopDir(in, out, dir, disp);
+}
+
+template <class Impl>
+void WilsonFermion<Impl>::DhopDir(const FermionField &in, FermionField &out,
+                                  int dir, int disp) {
+  int skip = (disp == 1) ? 0 : 1;
+  int dirdisp = dir + skip * 4;
+  int gamma = dir + (1 - skip) * 4;
+
+  DhopDirDisp(in, out, dirdisp, gamma, DaggerNo);
+};
+
+template <class Impl>
+void WilsonFermion<Impl>::DhopDirDisp(const FermionField &in, FermionField &out,
+                                      int dirdisp, int gamma, int dag) {
+  Compressor compressor(dag);
+
+  Stencil.HaloExchange(in, compressor);
+
+  PARALLEL_FOR_LOOP
+  for (int sss = 0; sss < in._grid->oSites(); sss++) {
+    Kernels::DiracOptDhopDir(Stencil, Umu, Stencil.comm_buf, sss, sss, in, out,
+                             dirdisp, gamma);
+  }
+};
+
+template <class Impl>
+void WilsonFermion<Impl>::DhopInternal(StencilImpl &st, LebesgueOrder &lo,
+                                       DoubledGaugeField &U,
+                                       const FermionField &in,
+                                       FermionField &out, int dag) {
+  assert((dag == DaggerNo) || (dag == DaggerYes));
+
+  Compressor compressor(dag);
+  st.HaloExchange(in, compressor);
+
+  if (dag == DaggerYes) {
+    PARALLEL_FOR_LOOP
+    for (int sss = 0; sss < in._grid->oSites(); sss++) {
+      Kernels::DiracOptDhopSiteDag(st, lo, U, st.comm_buf, sss, sss, 1, 1, in,
+                                   out);
+    }
+  } else {
+    PARALLEL_FOR_LOOP
+    for (int sss = 0; sss < in._grid->oSites(); sss++) {
+      Kernels::DiracOptDhopSite(st, lo, U, st.comm_buf, sss, sss, 1, 1, in,
+                                out);
     }
   }
+};
 
-  template<class Impl>
-  void WilsonFermion<Impl>::Mooee(const FermionField &in, FermionField &out) {
-    out.checkerboard = in.checkerboard;
-    typename FermionField::scalar_type scal(4.0+mass);
-    out = scal*in;
-  }
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::MooeeDag(const FermionField &in, FermionField &out) {
-    out.checkerboard = in.checkerboard;
-    Mooee(in,out);
-  }
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::MooeeInv(const FermionField &in, FermionField &out) {
-    out.checkerboard = in.checkerboard;
-    out = (1.0/(4.0+mass))*in;
-  }
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::MooeeInvDag(const FermionField &in, FermionField &out) {
-    out.checkerboard = in.checkerboard;
-    MooeeInv(in,out);
-  }
-  
-  ///////////////////////////////////
-  // Internal
-  ///////////////////////////////////
-
-  template<class Impl>
-  void WilsonFermion<Impl>::DerivInternal(StencilImpl & st,
-					  DoubledGaugeField & U,
-					  GaugeField &mat,
-					  const FermionField &A,
-					  const FermionField &B,int dag) {
-	
-    assert((dag==DaggerNo) ||(dag==DaggerYes));
-    
-    Compressor compressor(dag);
-    
-    FermionField Btilde(B._grid);
-    FermionField Atilde(B._grid);
-    Atilde = A;
-
-    st.HaloExchange(B,compressor);
-    
-    for(int mu=0;mu<Nd;mu++){
-      
-      ////////////////////////////////////////////////////////////////////////
-      // Flip gamma (1+g)<->(1-g) if dag
-      ////////////////////////////////////////////////////////////////////////
-      int gamma = mu;
-      if ( !dag ) gamma+= Nd;
-      
-      ////////////////////////
-      // Call the single hop
-      ////////////////////////
-PARALLEL_FOR_LOOP
-	for(int sss=0;sss<B._grid->oSites();sss++){
-	  Kernels::DiracOptDhopDir(st,U,st.comm_buf,sss,sss,B,Btilde,mu,gamma);
-	}
-      
-      //////////////////////////////////////////////////
-      // spin trace outer product
-      //////////////////////////////////////////////////
-      Impl::InsertForce4D(mat,Btilde,Atilde,mu);
-
-    }
-  }
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::DhopDeriv(GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
-  {
-    conformable(U._grid,_grid);  
-    conformable(U._grid,V._grid);
-    conformable(U._grid,mat._grid);
-    
-    mat.checkerboard = U.checkerboard;
-    
-    DerivInternal(Stencil,Umu,mat,U,V,dag);
-  }
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::DhopDerivOE(GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
-  {
-    conformable(U._grid,_cbgrid);  
-    conformable(U._grid,V._grid);
-    conformable(U._grid,mat._grid);
-    
-    assert(V.checkerboard==Even);
-    assert(U.checkerboard==Odd);
-    mat.checkerboard = Odd;
-    
-    DerivInternal(StencilEven,UmuOdd,mat,U,V,dag);
-  }
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::DhopDerivEO(GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
-  {
-    conformable(U._grid,_cbgrid);  
-    conformable(U._grid,V._grid);
-    conformable(U._grid,mat._grid);
-	
-    assert(V.checkerboard==Odd);
-    assert(U.checkerboard==Even);
-    mat.checkerboard = Even;
-	
-    DerivInternal(StencilOdd,UmuEven,mat,U,V,dag);
-  }
-  
-
-  template<class Impl>
-  void WilsonFermion<Impl>::Dhop(const FermionField &in, FermionField &out,int dag) {
-    conformable(in._grid,_grid); // verifies full grid
-    conformable(in._grid,out._grid);
-    
-    out.checkerboard = in.checkerboard;
-    
-    DhopInternal(Stencil,Lebesgue,Umu,in,out,dag);
-  }
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::DhopOE(const FermionField &in, FermionField &out,int dag) {
-    conformable(in._grid,_cbgrid);    // verifies half grid
-    conformable(in._grid,out._grid); // drops the cb check
-    
-    assert(in.checkerboard==Even);
-    out.checkerboard = Odd;
-    
-    DhopInternal(StencilEven,LebesgueEvenOdd,UmuOdd,in,out,dag);
-  }
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::DhopEO(const FermionField &in, FermionField &out,int dag) {
-    conformable(in._grid,_cbgrid);    // verifies half grid
-    conformable(in._grid,out._grid); // drops the cb check
-    
-    assert(in.checkerboard==Odd);
-    out.checkerboard = Even;
-    
-    DhopInternal(StencilOdd,LebesgueEvenOdd,UmuEven,in,out,dag);
-  }
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::Mdir (const FermionField &in, FermionField &out,int dir,int disp) {
-    DhopDir(in,out,dir,disp);
-  }
-  
-
-  template<class Impl>
-  void WilsonFermion<Impl>::DhopDir(const FermionField &in, FermionField &out,int dir,int disp){
-    
-    int skip = (disp==1) ? 0 : 1;
-    int dirdisp  = dir+skip*4;
-    int gamma    = dir+(1-skip)*4;
-    
-    DhopDirDisp(in,out,dirdisp,gamma,DaggerNo);
-    
-  };
-  
-  template<class Impl>
-  void WilsonFermion<Impl>::DhopDirDisp(const FermionField &in, FermionField &out,int dirdisp,int gamma,int dag) {
-    
-    Compressor compressor(dag);
-    
-    Stencil.HaloExchange(in,compressor);
-    
-PARALLEL_FOR_LOOP
-      for(int sss=0;sss<in._grid->oSites();sss++){
-	Kernels::DiracOptDhopDir(Stencil,Umu,Stencil.comm_buf,sss,sss,in,out,dirdisp,gamma);
-      }
-    
-  };
-
-  template<class Impl>
-  void WilsonFermion<Impl>::DhopInternal(StencilImpl & st,LebesgueOrder& lo,DoubledGaugeField & U,
-					 const FermionField &in, FermionField &out,int dag) 
-  {
-    assert((dag==DaggerNo) ||(dag==DaggerYes));
-
-    Compressor compressor(dag);
-    st.HaloExchange(in,compressor);
-    
-    if ( dag == DaggerYes ) {
-PARALLEL_FOR_LOOP
-      for(int sss=0;sss<in._grid->oSites();sss++){
-	Kernels::DiracOptDhopSiteDag(st,lo,U,st.comm_buf,sss,sss,1,1,in,out);
-      }
-    } else {
-PARALLEL_FOR_LOOP
-      for(int sss=0;sss<in._grid->oSites();sss++){
-	Kernels::DiracOptDhopSite(st,lo,U,st.comm_buf,sss,sss,1,1,in,out);
-      }
-    }
-  };
-
- 
-  FermOpTemplateInstantiate(WilsonFermion);
-  GparityFermOpTemplateInstantiate(WilsonFermion);
-
-
-}}
-
-
-
+FermOpTemplateInstantiate(WilsonFermion);
+GparityFermOpTemplateInstantiate(WilsonFermion);
+}
+}
diff --git a/lib/qcd/action/fermion/WilsonFermion.h b/lib/qcd/action/fermion/WilsonFermion.h
index 3de2cac4..c6dad97c 100644
--- a/lib/qcd/action/fermion/WilsonFermion.h
+++ b/lib/qcd/action/fermion/WilsonFermion.h
@@ -1,161 +1,153 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/fermion/WilsonFermion.h
+Source file: ./lib/qcd/action/fermion/WilsonFermion.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
-#ifndef  GRID_QCD_WILSON_FERMION_H
-#define  GRID_QCD_WILSON_FERMION_H
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
+#ifndef GRID_QCD_WILSON_FERMION_H
+#define GRID_QCD_WILSON_FERMION_H
 
 namespace Grid {
 
-  namespace QCD {
+namespace QCD {
 
-    class WilsonFermionStatic {
-    public:
-      static int HandOptDslash; // these are a temporary hack
-      static int MortonOrder;
-      static const std::vector<int> directions   ;
-      static const std::vector<int> displacements;
-      static const int npoint=8;
-    };
+class WilsonFermionStatic {
+ public:
+  static int HandOptDslash;  // these are a temporary hack
+  static int MortonOrder;
+  static const std::vector<int> directions;
+  static const std::vector<int> displacements;
+  static const int npoint = 8;
+};
 
-    template<class Impl>
-    class WilsonFermion : public WilsonKernels<Impl>, public WilsonFermionStatic
-    {
-    public:
-    INHERIT_IMPL_TYPES(Impl);
-    typedef WilsonKernels<Impl> Kernels;
+template <class Impl>
+class WilsonFermion : public WilsonKernels<Impl>, public WilsonFermionStatic {
+ public:
+  INHERIT_IMPL_TYPES(Impl);
+  typedef WilsonKernels<Impl> Kernels;
 
-      ///////////////////////////////////////////////////////////////
-      // Implement the abstract base
-      ///////////////////////////////////////////////////////////////
-      GridBase *GaugeGrid(void)              { return _grid ;}
-      GridBase *GaugeRedBlackGrid(void)      { return _cbgrid ;}
-      GridBase *FermionGrid(void)            { return _grid;}
-      GridBase *FermionRedBlackGrid(void)    { return _cbgrid;}
+  ///////////////////////////////////////////////////////////////
+  // Implement the abstract base
+  ///////////////////////////////////////////////////////////////
+  GridBase *GaugeGrid(void) { return _grid; }
+  GridBase *GaugeRedBlackGrid(void) { return _cbgrid; }
+  GridBase *FermionGrid(void) { return _grid; }
+  GridBase *FermionRedBlackGrid(void) { return _cbgrid; }
 
-      //////////////////////////////////////////////////////////////////
-      // override multiply; cut number routines if pass dagger argument
-      // and also make interface more uniformly consistent
-      //////////////////////////////////////////////////////////////////
-      RealD M(const FermionField &in, FermionField &out);
-      RealD Mdag(const FermionField &in, FermionField &out);
+  //////////////////////////////////////////////////////////////////
+  // override multiply; cut number routines if pass dagger argument
+  // and also make interface more uniformly consistent
+  //////////////////////////////////////////////////////////////////
+  RealD M(const FermionField &in, FermionField &out);
+  RealD Mdag(const FermionField &in, FermionField &out);
 
-      /////////////////////////////////////////////////////////
-      // half checkerboard operations
-      // could remain virtual so we  can derive Clover from Wilson base
-      /////////////////////////////////////////////////////////
-      void Meooe(const FermionField &in, FermionField &out) ;
-      void MeooeDag(const FermionField &in, FermionField &out) ;
+  /////////////////////////////////////////////////////////
+  // half checkerboard operations
+  // could remain virtual so we  can derive Clover from Wilson base
+  /////////////////////////////////////////////////////////
+  void Meooe(const FermionField &in, FermionField &out);
+  void MeooeDag(const FermionField &in, FermionField &out);
 
-      // allow override for twisted mass and clover
-      virtual void Mooee(const FermionField &in, FermionField &out) ;
-      virtual void MooeeDag(const FermionField &in, FermionField &out) ;
-      virtual void MooeeInv(const FermionField &in, FermionField &out) ;
-      virtual void MooeeInvDag(const FermionField &in, FermionField &out) ;
+  // allow override for twisted mass and clover
+  virtual void Mooee(const FermionField &in, FermionField &out);
+  virtual void MooeeDag(const FermionField &in, FermionField &out);
+  virtual void MooeeInv(const FermionField &in, FermionField &out);
+  virtual void MooeeInvDag(const FermionField &in, FermionField &out);
 
-      ////////////////////////
-      // Derivative interface
-      ////////////////////////
-      // Interface calls an internal routine
-      void DhopDeriv(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
-      void DhopDerivOE(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
-      void DhopDerivEO(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
+  ////////////////////////
+  // Derivative interface
+  ////////////////////////
+  // Interface calls an internal routine
+  void DhopDeriv(GaugeField &mat, const FermionField &U, const FermionField &V,
+                 int dag);
+  void DhopDerivOE(GaugeField &mat, const FermionField &U,
+                   const FermionField &V, int dag);
+  void DhopDerivEO(GaugeField &mat, const FermionField &U,
+                   const FermionField &V, int dag);
 
+  ///////////////////////////////////////////////////////////////
+  // non-hermitian hopping term; half cb or both
+  ///////////////////////////////////////////////////////////////
+  void Dhop(const FermionField &in, FermionField &out, int dag);
+  void DhopOE(const FermionField &in, FermionField &out, int dag);
+  void DhopEO(const FermionField &in, FermionField &out, int dag);
 
-      ///////////////////////////////////////////////////////////////
-      // non-hermitian hopping term; half cb or both
-      ///////////////////////////////////////////////////////////////
-      void Dhop(const FermionField &in, FermionField &out,int dag) ;
-      void DhopOE(const FermionField &in, FermionField &out,int dag) ;
-      void DhopEO(const FermionField &in, FermionField &out,int dag) ;
+  ///////////////////////////////////////////////////////////////
+  // Multigrid assistance; force term uses too
+  ///////////////////////////////////////////////////////////////
+  void Mdir(const FermionField &in, FermionField &out, int dir, int disp);
+  void DhopDir(const FermionField &in, FermionField &out, int dir, int disp);
+  void DhopDirDisp(const FermionField &in, FermionField &out, int dirdisp,
+                   int gamma, int dag);
 
-      ///////////////////////////////////////////////////////////////
-      // Multigrid assistance; force term uses too
-      ///////////////////////////////////////////////////////////////
-      void Mdir (const FermionField &in, FermionField &out,int dir,int disp) ;
-      void DhopDir(const FermionField &in, FermionField &out,int dir,int disp);
-      void DhopDirDisp(const FermionField &in, FermionField &out,int dirdisp,int gamma,int dag) ;
+  ///////////////////////////////////////////////////////////////
+  // Extra methods added by derived
+  ///////////////////////////////////////////////////////////////
+  void DerivInternal(StencilImpl &st, DoubledGaugeField &U, GaugeField &mat,
+                     const FermionField &A, const FermionField &B, int dag);
 
-      ///////////////////////////////////////////////////////////////
-      // Extra methods added by derived
-      ///////////////////////////////////////////////////////////////
-      void DerivInternal(StencilImpl & st,
-			 DoubledGaugeField & U,
-			 GaugeField &mat,
-			 const FermionField &A,
-			 const FermionField &B,
-			 int dag);
+  void DhopInternal(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+                    const FermionField &in, FermionField &out, int dag);
 
-      void DhopInternal(StencilImpl & st,LebesgueOrder & lo,DoubledGaugeField & U,
-			const FermionField &in, FermionField &out,int dag) ;
+  // Constructor
+  WilsonFermion(GaugeField &_Umu, GridCartesian &Fgrid,
+                GridRedBlackCartesian &Hgrid, RealD _mass,
+                const ImplParams &p = ImplParams());
 
-      // Constructor
-      WilsonFermion(GaugeField &_Umu,
-		    GridCartesian         &Fgrid,
-		    GridRedBlackCartesian &Hgrid, 
-		    RealD _mass,
-		    const ImplParams &p= ImplParams()
-		    ) ;
+  // DoubleStore impl dependent
+  void ImportGauge(const GaugeField &_Umu);
 
-      // DoubleStore impl dependent
-      void ImportGauge(const GaugeField &_Umu);
+  ///////////////////////////////////////////////////////////////
+  // Data members require to support the functionality
+  ///////////////////////////////////////////////////////////////
 
-      ///////////////////////////////////////////////////////////////
-      // Data members require to support the functionality
-      ///////////////////////////////////////////////////////////////
+  //    protected:
+ public:
+  RealD mass;
 
-      //    protected:
-    public:
+  GridBase *_grid;
+  GridBase *_cbgrid;
 
-      RealD                        mass;
+  // Defines the stencils for even and odd
+  StencilImpl Stencil;
+  StencilImpl StencilEven;
+  StencilImpl StencilOdd;
 
-      GridBase                     *    _grid; 
-      GridBase                     *  _cbgrid;
+  // Copy of the gauge field , with even and odd subsets
+  DoubledGaugeField Umu;
+  DoubledGaugeField UmuEven;
+  DoubledGaugeField UmuOdd;
 
-      //Defines the stencils for even and odd
-      StencilImpl Stencil; 
-      StencilImpl StencilEven; 
-      StencilImpl StencilOdd; 
+  LebesgueOrder Lebesgue;
+  LebesgueOrder LebesgueEvenOdd;
+};
 
-      // Copy of the gauge field , with even and odd subsets
-      DoubledGaugeField Umu;
-      DoubledGaugeField UmuEven;
-      DoubledGaugeField UmuOdd;
-
-      LebesgueOrder Lebesgue;
-      LebesgueOrder LebesgueEvenOdd;
-
-      
-    };
-
-    typedef WilsonFermion<WilsonImplF> WilsonFermionF;
-    typedef WilsonFermion<WilsonImplD> WilsonFermionD;
-
-  }
+typedef WilsonFermion<WilsonImplF> WilsonFermionF;
+typedef WilsonFermion<WilsonImplD> WilsonFermionD;
+}
 }
 #endif
diff --git a/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h b/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
index e3ac2b2e..43ba1296 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
@@ -1,185 +1,179 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
+Source file: ./lib/qcd/action/pseudofermion/TwoFlavourEvenOdd.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef QCD_PSEUDOFERMION_TWO_FLAVOUR_EVEN_ODD_H
 #define QCD_PSEUDOFERMION_TWO_FLAVOUR_EVEN_ODD_H
 
-namespace Grid{
-  namespace QCD{
+namespace Grid {
+namespace QCD {
 
+////////////////////////////////////////////////////////////////////////
+// Two flavour pseudofermion action for any EO prec dop
+////////////////////////////////////////////////////////////////////////
+template <class Impl>
+class TwoFlavourEvenOddPseudoFermionAction
+    : public Action<typename Impl::GaugeField> {
+ public:
+  INHERIT_IMPL_TYPES(Impl);
 
+ private:
+  FermionOperator<Impl> &FermOp;  // the basic operator
 
-    ////////////////////////////////////////////////////////////////////////
-    // Two flavour pseudofermion action for any EO prec dop
-    ////////////////////////////////////////////////////////////////////////
-    template<class Impl>
-    class TwoFlavourEvenOddPseudoFermionAction : public Action<typename Impl::GaugeField> {
+  OperatorFunction<FermionField> &DerivativeSolver;
+  OperatorFunction<FermionField> &ActionSolver;
 
-    public:
+  FermionField PhiOdd;   // the pseudo fermion field for this trajectory
+  FermionField PhiEven;  // the pseudo fermion field for this trajectory
 
-      INHERIT_IMPL_TYPES(Impl);
-
-    private:
-      
-      FermionOperator<Impl> & FermOp;// the basic operator
-
-      OperatorFunction<FermionField> &DerivativeSolver;
-      OperatorFunction<FermionField> &ActionSolver;
-
-      FermionField PhiOdd;   // the pseudo fermion field for this trajectory
-      FermionField PhiEven;  // the pseudo fermion field for this trajectory
-
-    public:
-      /////////////////////////////////////////////////
-      // Pass in required objects.
-      /////////////////////////////////////////////////
-      TwoFlavourEvenOddPseudoFermionAction(FermionOperator<Impl>  &Op, 
-					 OperatorFunction<FermionField> & DS,
-					 OperatorFunction<FermionField> & AS
-					   ) : 
-        FermOp(Op), 
-	DerivativeSolver(DS), 
-	ActionSolver(AS), 
+ public:
+  /////////////////////////////////////////////////
+  // Pass in required objects.
+  /////////////////////////////////////////////////
+  TwoFlavourEvenOddPseudoFermionAction(FermionOperator<Impl> &Op,
+                                       OperatorFunction<FermionField> &DS,
+                                       OperatorFunction<FermionField> &AS)
+      : FermOp(Op),
+        DerivativeSolver(DS),
+        ActionSolver(AS),
         PhiEven(Op.FermionRedBlackGrid()),
-	PhiOdd(Op.FermionRedBlackGrid())
-		  {};
-      
-      //////////////////////////////////////////////////////////////////////////////////////
-      // Push the gauge field in to the dops. Assume any BC's and smearing already applied
-      //////////////////////////////////////////////////////////////////////////////////////
-      virtual void refresh(const GaugeField &U, GridParallelRNG& pRNG) {
+        PhiOdd(Op.FermionRedBlackGrid()){};
 
-	// P(phi) = e^{- phi^dag (MpcdagMpc)^-1 phi}
-	// Phi = McpDag eta 
-	// P(eta) = e^{- eta^dag eta}
-	//
-	// e^{x^2/2 sig^2} => sig^2 = 0.5.
+  //////////////////////////////////////////////////////////////////////////////////////
+  // Push the gauge field in to the dops. Assume any BC's and smearing already
+  // applied
+  //////////////////////////////////////////////////////////////////////////////////////
+  virtual void refresh(const GaugeField &U, GridParallelRNG &pRNG) {
+    // P(phi) = e^{- phi^dag (MpcdagMpc)^-1 phi}
+    // Phi = McpDag eta
+    // P(eta) = e^{- eta^dag eta}
+    //
+    // e^{x^2/2 sig^2} => sig^2 = 0.5.
 
-	RealD scale = std::sqrt(0.5);
+    RealD scale = std::sqrt(0.5);
 
-	FermionField eta    (FermOp.FermionGrid());
-	FermionField etaOdd (FermOp.FermionRedBlackGrid());
-	FermionField etaEven(FermOp.FermionRedBlackGrid());
+    FermionField eta(FermOp.FermionGrid());
+    FermionField etaOdd(FermOp.FermionRedBlackGrid());
+    FermionField etaEven(FermOp.FermionRedBlackGrid());
 
-	gaussian(pRNG,eta);
-	pickCheckerboard(Even,etaEven,eta);
-	pickCheckerboard(Odd,etaOdd,eta);
+     gaussian(pRNG, eta);
+    pickCheckerboard(Even, etaEven, eta);
+    pickCheckerboard(Odd, etaOdd, eta);
 
-	FermOp.ImportGauge(U);
-	SchurDifferentiableOperator<Impl> PCop(FermOp);
-	
+    FermOp.ImportGauge(U);
+    SchurDifferentiableOperator<Impl> PCop(FermOp);
 
-	PCop.MpcDag(etaOdd,PhiOdd);
+    PCop.MpcDag(etaOdd, PhiOdd);
 
-	FermOp.MooeeDag(etaEven,PhiEven);
+    FermOp.MooeeDag(etaEven, PhiEven);
 
-	PhiOdd =PhiOdd*scale;
-	PhiEven=PhiEven*scale;
-	
-      };
+    PhiOdd = PhiOdd * scale;
+    PhiEven = PhiEven * scale;
+  };
 
-      //////////////////////////////////////////////////////
-      // S = phi^dag (Mdag M)^-1 phi  (odd)
-      //   + phi^dag (Mdag M)^-1 phi  (even)
-      //////////////////////////////////////////////////////
-      virtual RealD S(const GaugeField &U) {
+  //////////////////////////////////////////////////////
+  // S = phi^dag (Mdag M)^-1 phi  (odd)
+  //   + phi^dag (Mdag M)^-1 phi  (even)
+  //////////////////////////////////////////////////////
+  virtual RealD S(const GaugeField &U) {
+    FermOp.ImportGauge(U);
 
-	FermOp.ImportGauge(U);
+    FermionField X(FermOp.FermionRedBlackGrid());
+    FermionField Y(FermOp.FermionRedBlackGrid());
 
-	FermionField X(FermOp.FermionRedBlackGrid());
-	FermionField Y(FermOp.FermionRedBlackGrid());
-	
-	SchurDifferentiableOperator<Impl> PCop(FermOp);
+    SchurDifferentiableOperator<Impl> PCop(FermOp);
 
-	X=zero;
-	ActionSolver(PCop,PhiOdd,X);
-	PCop.Op(X,Y);
-	RealD action = norm2(Y);
+    X = zero;
+    ActionSolver(PCop, PhiOdd, X);
+    PCop.Op(X, Y);
+    RealD action = norm2(Y);
 
-	// The EE factorised block; normally can replace with zero if det is constant (gauge field indept)
-	// Only really clover term that creates this.
-	FermOp.MooeeInvDag(PhiEven,Y);
-	action = action + norm2(Y);
+    // The EE factorised block; normally can replace with zero if det is
+    // constant (gauge field indept)
+    // Only really clover term that creates this.
+    FermOp.MooeeInvDag(PhiEven, Y);
+    action = action + norm2(Y);
 
-	std::cout << GridLogMessage << "Pseudofermion EO action "<<action<<std::endl;
-	return action;
-      };
+    std::cout << GridLogMessage << "Pseudofermion EO action " << action
+              << std::endl;
+    return action;
+  };
 
-      //////////////////////////////////////////////////////
-      //
-      // dS/du = - phi^dag  (Mdag M)^-1 [ Mdag dM + dMdag M ]  (Mdag M)^-1 phi
-      //       = - phi^dag M^-1 dM (MdagM)^-1 phi -  phi^dag (MdagM)^-1 dMdag dM (Mdag)^-1 phi 
-      //
-      //       = - Ydag dM X  - Xdag dMdag Y
-      //
-      //////////////////////////////////////////////////////
-      virtual void deriv(const GaugeField &U,GaugeField & dSdU) {
+  //////////////////////////////////////////////////////
+  //
+  // dS/du = - phi^dag  (Mdag M)^-1 [ Mdag dM + dMdag M ]  (Mdag M)^-1 phi
+  //       = - phi^dag M^-1 dM (MdagM)^-1 phi -  phi^dag (MdagM)^-1 dMdag dM
+  //       (Mdag)^-1 phi
+  //
+  //       = - Ydag dM X  - Xdag dMdag Y
+  //
+  //////////////////////////////////////////////////////
+  virtual void deriv(const GaugeField &U, GaugeField &dSdU) {
+    FermOp.ImportGauge(U);
 
-	FermOp.ImportGauge(U);
+    FermionField X(FermOp.FermionRedBlackGrid());
+    FermionField Y(FermOp.FermionRedBlackGrid());
+    GaugeField tmp(FermOp.GaugeGrid());
 
-	FermionField X(FermOp.FermionRedBlackGrid());
-	FermionField Y(FermOp.FermionRedBlackGrid());
-	GaugeField tmp(FermOp.GaugeGrid());
+    SchurDifferentiableOperator<Impl> Mpc(FermOp);
 
-	SchurDifferentiableOperator<Impl> Mpc(FermOp);
+    // Our conventions really make this UdSdU; We do not differentiate wrt Udag
+    // here.
+    // So must take dSdU - adj(dSdU) and left multiply by mom to get dS/dt.
 
-	// Our conventions really make this UdSdU; We do not differentiate wrt Udag here.
-	// So must take dSdU - adj(dSdU) and left multiply by mom to get dS/dt.
+    X = zero;
+    DerivativeSolver(Mpc, PhiOdd, X);
+    Mpc.Mpc(X, Y);
+    Mpc.MpcDeriv(tmp, Y, X);
+    dSdU = tmp;
+    Mpc.MpcDagDeriv(tmp, X, Y);
+    dSdU = dSdU + tmp;
 
-	X=zero;
-	DerivativeSolver(Mpc,PhiOdd,X);
-	Mpc.Mpc(X,Y);
-  	Mpc.MpcDeriv(tmp , Y, X );    dSdU=tmp;
-	Mpc.MpcDagDeriv(tmp , X, Y);  dSdU=dSdU+tmp;
+    // Treat the EE case. (MdagM)^-1 = Minv Minvdag
+    // Deriv defaults to zero.
+    //        FermOp.MooeeInvDag(PhiOdd,Y);
+    //      FermOp.MooeeInv(Y,X);
+    //  FermOp.MeeDeriv(tmp , Y, X,DaggerNo );    dSdU=tmp;
+    //  FermOp.MeeDeriv(tmp , X, Y,DaggerYes);  dSdU=dSdU+tmp;
 
-	// Treat the EE case. (MdagM)^-1 = Minv Minvdag
-	// Deriv defaults to zero.
-	//        FermOp.MooeeInvDag(PhiOdd,Y);
-	//      FermOp.MooeeInv(Y,X);
-	//	FermOp.MeeDeriv(tmp , Y, X,DaggerNo );    dSdU=tmp;
-	//  FermOp.MeeDeriv(tmp , X, Y,DaggerYes);  dSdU=dSdU+tmp;
+    assert(FermOp.ConstEE() == 1);
 
-	assert(FermOp.ConstEE() == 1);
+    /*
+    FermOp.MooeeInvDag(PhiOdd,Y);
+    FermOp.MooeeInv(Y,X);
+    FermOp.MeeDeriv(tmp , Y, X,DaggerNo );    dSdU=tmp;
+    FermOp.MeeDeriv(tmp , X, Y,DaggerYes);  dSdU=dSdU+tmp;
+    */
 
-	/*
-        FermOp.MooeeInvDag(PhiOdd,Y);
-        FermOp.MooeeInv(Y,X);
-  	FermOp.MeeDeriv(tmp , Y, X,DaggerNo );    dSdU=tmp;
-	FermOp.MeeDeriv(tmp , X, Y,DaggerYes);  dSdU=dSdU+tmp;
-	*/
-	
-	dSdU = Ta(dSdU);
-
-      };
-
-    };
-    
-  }
+    dSdU = Ta(dSdU);
+  };
+};
+}
 }
 
 #endif

From e3d53194704ea052968379660c1e7589440e5a05 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Wed, 6 Jul 2016 14:16:03 +0100
Subject: [PATCH 024/295] Debugged the real() and imag() functions and added
 tests to Test_Simd

---
 lib/Simd.h                       |   45 +-
 lib/lattice/Lattice_reduction.h  |    2 +-
 lib/qcd/smearing/StoutSmearing.h |  247 ++++---
 lib/simd/Grid_vector_types.h     | 1080 +++++++++++++++++-------------
 lib/simd/Grid_vector_unops.h     |  415 ++++++------
 tests/Test_simd.cc               |   77 ++-
 6 files changed, 999 insertions(+), 867 deletions(-)

diff --git a/lib/Simd.h b/lib/Simd.h
index de49cca7..6a812e5e 100644
--- a/lib/Simd.h
+++ b/lib/Simd.h
@@ -1,32 +1,33 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/Simd.h
+Source file: ./lib/Simd.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef GRID_SIMD_H
 #define GRID_SIMD_H
 
@@ -118,6 +119,14 @@ namespace Grid {
   inline ComplexD timesI(const ComplexD &r)     { return(r*ComplexD(0.0,1.0));}
   inline ComplexF timesMinusI(const ComplexF &r){ return(r*ComplexF(0.0,-1.0));}
   inline ComplexD timesMinusI(const ComplexD &r){ return(r*ComplexD(0.0,-1.0));}
+
+  // define projections to real and imaginay parts
+  inline ComplexF projReal(const ComplexF &r){return( ComplexF(std::real(r), 0.0));}
+  inline ComplexD projReal(const ComplexD &r){return( ComplexD(std::real(r), 0.0));}
+  inline ComplexF projImag(const ComplexF &r){return (ComplexF(std::imag(r), 0.0 ));}
+  inline ComplexD projImag(const ComplexD &r){return (ComplexD(std::imag(r), 0.0));}
+
+  // define auxiliary functions for complex computations
   inline void timesI(ComplexF &ret,const ComplexF &r)     { ret = timesI(r);}
   inline void timesI(ComplexD &ret,const ComplexD &r)     { ret = timesI(r);}
   inline void timesMinusI(ComplexF &ret,const ComplexF &r){ ret = timesMinusI(r);}
diff --git a/lib/lattice/Lattice_reduction.h b/lib/lattice/Lattice_reduction.h
index 4599f2f9..2615af48 100644
--- a/lib/lattice/Lattice_reduction.h
+++ b/lib/lattice/Lattice_reduction.h
@@ -40,7 +40,7 @@ namespace Grid {
     ////////////////////////////////////////////////////////////////////////////////////////////////////
   template<class vobj> inline RealD norm2(const Lattice<vobj> &arg){
     ComplexD nrm = innerProduct(arg,arg);
-    return real(nrm); 
+    return std::real(nrm); 
   }
 
     template<class vobj>
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index 511a5c29..50a09972 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -5,163 +5,156 @@
 #ifndef STOUT_SMEAR_
 #define STOUT_SMEAR_
 
-  namespace Grid {
-  	namespace QCD {
+namespace Grid {
+namespace QCD {
 
-    /*!  @brief Stout smearing of link variable. */
-    template <class Gimpl> 
-  		class Smear_Stout: public Smear<Gimpl> {
-  		private:
-  			const Smear < Gimpl > * SmearBase;
+/*!  @brief Stout smearing of link variable. */
+template <class Gimpl>
+class Smear_Stout : public Smear<Gimpl> {
+ private:
+  const Smear<Gimpl>* SmearBase;
 
-  		public:
-  			INHERIT_GIMPL_TYPES(Gimpl)
+ public:
+  INHERIT_GIMPL_TYPES(Gimpl)
 
-  			Smear_Stout(Smear < Gimpl >* base):SmearBase(base){
-  				static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
-  			}
+  Smear_Stout(Smear<Gimpl>* base) : SmearBase(base) {
+    static_assert(Nc == 3,
+                  "Stout smearing currently implemented only for Nc==3");
+  }
 
-			/*! Default constructor */
-  			Smear_Stout(double rho = 1.0):SmearBase(new Smear_APE < Gimpl > (rho)){
-  				static_assert(Nc==3, "Stout smearing currently implemented only for Nc==3");
-  			}
+  /*! Default constructor */
+  Smear_Stout(double rho = 1.0) : SmearBase(new Smear_APE<Gimpl>(rho)) {
+    static_assert(Nc == 3,
+                  "Stout smearing currently implemented only for Nc==3");
+  }
 
-  			~Smear_Stout(){} //delete SmearBase...
+  ~Smear_Stout() {}  // delete SmearBase...
 
-  			void smear(GaugeField& u_smr,const GaugeField& U) const{
-  				GaugeField C(U._grid);
-  				GaugeLinkField tmp(U._grid), iq_mu(U._grid), Umu(U._grid);
+  void smear(GaugeField& u_smr, const GaugeField& U) const {
+    GaugeField C(U._grid);
+    GaugeLinkField tmp(U._grid), iq_mu(U._grid), Umu(U._grid);
 
-  				std::cout<< GridLogDebug << "Stout smearing started\n";
+    std::cout << GridLogDebug << "Stout smearing started\n";
 
-				//Smear the configurations
-  				SmearBase->smear(C, U);
+    // Smear the configurations
+    SmearBase->smear(C, U);
 
-  				for (int mu = 0; mu<Nd; mu++)
-  				{
-  					tmp = peekLorentz(C,mu);
-  					Umu = peekLorentz(U,mu);
-		  			iq_mu = Ta(tmp * adj(Umu)); // iq_mu = Ta(Omega_mu) to match the signs with the paper
-		  			exponentiate_iQ(tmp, iq_mu);  
-					pokeLorentz(u_smr, tmp*Umu, mu);// u_smr = exp(iQ_mu)*U_mu
-				}
-				std::cout<< GridLogDebug << "Stout smearing completed\n";
-			};
+    for (int mu = 0; mu < Nd; mu++) {
+      tmp = peekLorentz(C, mu);
+      Umu = peekLorentz(U, mu);
+      iq_mu = Ta(
+          tmp *
+          adj(Umu));  // iq_mu = Ta(Omega_mu) to match the signs with the paper
+      exponentiate_iQ(tmp, iq_mu);
+      pokeLorentz(u_smr, tmp * Umu, mu);  // u_smr = exp(iQ_mu)*U_mu
+    }
+    std::cout << GridLogDebug << "Stout smearing completed\n";
+  };
 
+  void derivative(GaugeField& SigmaTerm, const GaugeField& iLambda,
+                  const GaugeField& Gauge) const {
+    SmearBase->derivative(SigmaTerm, iLambda, Gauge);
+  };
 
-			void derivative(GaugeField& SigmaTerm,
-				const GaugeField& iLambda,
-				const GaugeField& Gauge) const{
-				SmearBase->derivative(SigmaTerm, iLambda, Gauge);
-			};
+  void BaseSmear(GaugeField& C, const GaugeField& U) const {
+    SmearBase->smear(C, U);
+  };
 
+  void exponentiate_iQ(GaugeLinkField& e_iQ, const GaugeLinkField& iQ) const {
+    // Put this outside
+    // only valid for SU(3) matrices
 
-			void BaseSmear(GaugeField& C,
-				const GaugeField& U) const{
-				SmearBase->smear(C, U);
-			};
+    // only one Lorentz direction at a time
 
-			void exponentiate_iQ(GaugeLinkField& e_iQ,
-				const GaugeLinkField& iQ) const{
-		// Put this outside 
-		// only valid for SU(3) matrices
+    // notice that it actually computes
+    // exp ( input matrix )
+    // the i sign is coming from outside
+    // input matrix is anti-hermitian NOT hermitian
 
-		// only one Lorentz direction at a time 
+    GridBase* grid = iQ._grid;
+    GaugeLinkField unity(grid);
+    unity = 1.0;
 
-		// notice that it actually computes
-		// exp ( input matrix )  
-		// the i sign is coming from outside
-		// input matrix is anti-hermitian NOT hermitian
+    GaugeLinkField iQ2(grid), iQ3(grid);
+    LatticeComplex u(grid), w(grid);
+    LatticeComplex f0(grid), f1(grid), f2(grid);
 
-				GridBase *grid = iQ._grid;
-				GaugeLinkField unity(grid);
-				unity=1.0;
+    iQ2 = iQ * iQ;
+    iQ3 = iQ * iQ2;
 
-				GaugeLinkField iQ2(grid), iQ3(grid);
-				LatticeComplex u(grid), w(grid);
-				LatticeComplex f0(grid), f1(grid), f2(grid);
+    set_uw(u, w, iQ2, iQ3);
+    set_fj(f0, f1, f2, u, w);
 
-				iQ2 = iQ * iQ;
-				iQ3 = iQ * iQ2;
+    e_iQ = f0 * unity + timesMinusI(f1) * iQ - f2 * iQ2;
+  };
 
-				set_uw(u, w, iQ2, iQ3);
-				set_fj(f0, f1, f2, u, w);
+  void set_uw(LatticeComplex& u, LatticeComplex& w, GaugeLinkField& iQ2,
+              GaugeLinkField& iQ3) const {
+    Complex one_over_three = 1.0 / 3.0;
+    Complex one_over_two = 1.0 / 2.0;
 
-				e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
+    GridBase* grid = u._grid;
+    LatticeComplex c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
 
+    // sign in c0 from the conventions on the Ta
+    c0 = -imag(trace(iQ3)) * one_over_three;  
+    c1 = -real(trace(iQ2)) * one_over_two;
 
-			};
+    // Cayley Hamilton checks to machine precision, tested
+    tmp = c1 * one_over_three;
+    c0max = 2.0 * pow(tmp, 1.5);
 
+    theta = acos(c0 / c0max) *
+            one_over_three;  // divide by three here, now leave as it is
+    u = sqrt(tmp) * cos(theta);
+    w = sqrt(c1) * sin(theta);
+  }
 
-			void set_uw(LatticeComplex& u, LatticeComplex& w,
-				GaugeLinkField& iQ2, GaugeLinkField& iQ3) const{
-				Complex one_over_three = 1.0/3.0;
-				Complex one_over_two = 1.0/2.0;
+  void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
+              const LatticeComplex& u, const LatticeComplex& w) const {
+    GridBase* grid = u._grid;
+    LatticeComplex xi0(grid), u2(grid), w2(grid), cosw(grid);
+    LatticeComplex fden(grid);
+    LatticeComplex h0(grid), h1(grid), h2(grid);
+    LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
+    LatticeComplex unity(grid);
+    unity = 1.0;
 
-				GridBase *grid = u._grid;
-				LatticeComplex c0(grid), c1(grid), tmp(grid), c0max(grid), theta(grid);
+    xi0 = func_xi0(w);
+    u2 = u * u;
+    w2 = w * w;
+    cosw = cos(w);
 
-				// sign in c0 from the conventions on the Ta
-				c0    = - real(timesMinusI(trace(iQ3))) * one_over_three; //temporary hack 
-				c1    = - real(trace(iQ2)) * one_over_two;
+    ixi0 = timesI(xi0);
+    emiu = cos(u) - timesI(sin(u));
+    e2iu = cos(2.0 * u) + timesI(sin(2.0 * u));
 
-				//Cayley Hamilton checks to machine precision, tested
-				tmp   = c1 * one_over_three;
-				c0max = 2.0 * pow(tmp, 1.5);
+    h0 = e2iu * (u2 - w2) +
+         emiu * ((8.0 * u2 * cosw) + (2.0 * u * (3.0 * u2 + w2) * ixi0));
+    h1 = e2iu * (2.0 * u) - emiu * ((2.0 * u * cosw) - (3.0 * u2 - w2) * ixi0);
+    h2 = e2iu - emiu * (cosw + (3.0 * u) * ixi0);
 
-				theta = acos(c0/c0max)*one_over_three; // divide by three here, now leave as it is
-				u = sqrt(tmp) * cos( theta );
-				w = sqrt(c1)  * sin( theta );
-			}
+    fden = unity / (9.0 * u2 - w2);  // reals
+    f0 = h0 * fden;
+    f1 = h1 * fden;
+    f2 = h2 * fden;
+  }
 
-			void set_fj(LatticeComplex& f0, LatticeComplex& f1, LatticeComplex& f2,
-				const LatticeComplex& u, const LatticeComplex& w) const{
+  LatticeComplex func_xi0(const LatticeComplex& w) const {
+    // Define a function to do the check
+    // if( w < 1e-4 ) std::cout << GridLogWarning<< "[Smear_stout] w too small:
+    // "<< w <<"\n";
+    return sin(w) / w;
+  }
 
-				GridBase *grid = u._grid;
-				LatticeComplex xi0(grid), u2(grid), w2(grid), cosw(grid);
-				LatticeComplex fden(grid);
-				LatticeComplex h0(grid), h1(grid), h2(grid);
-				LatticeComplex e2iu(grid), emiu(grid), ixi0(grid), qt(grid);
-				LatticeComplex unity(grid);
-				unity = 1.0;
-
-				xi0   = func_xi0(w);
-				u2    = u * u;
-				w2    = w * w;
-				cosw  = cos(w);
-
-				ixi0  = timesI(xi0);
-				emiu  = cos(u)     - timesI(sin(u));
-				e2iu  = cos(2.0*u) + timesI(sin(2.0*u));
-
-				h0    = e2iu * (u2 - w2) + emiu * ( (8.0*u2*cosw) + (2.0*u*(3.0*u2 + w2)*ixi0));
-				h1    = e2iu * (2.0 * u) - emiu * ( (2.0*u*cosw) - (3.0*u2-w2)*ixi0);
-				h2    = e2iu             - emiu * ( cosw + (3.0*u)*ixi0);
-
-				fden   = unity/(9.0*u2 - w2);// reals
-				f0    = h0 * fden;
-				f1    = h1 * fden;
-				f2    = h2 * fden;	
-			}
-
-
-
-
-			LatticeComplex func_xi0(const LatticeComplex& w) const{
-	// Define a function to do the check
-	//if( w < 1e-4 ) std::cout << GridLogWarning<< "[Smear_stout] w too small: "<< w <<"\n";
-				return  sin(w)/w;
-			}
-
-			LatticeComplex func_xi1(const LatticeComplex& w) const{
-	// Define a function to do the check
-	//if( w < 1e-4 ) std::cout << GridLogWarning << "[Smear_stout] w too small: "<< w <<"\n";
-				return  cos(w)/(w*w) - sin(w)/(w*w*w);
-			}
-
-		};
-
-	}
+  LatticeComplex func_xi1(const LatticeComplex& w) const {
+    // Define a function to do the check
+    // if( w < 1e-4 ) std::cout << GridLogWarning << "[Smear_stout] w too small:
+    // "<< w <<"\n";
+    return cos(w) / (w * w) - sin(w) / (w * w * w);
+  }
+};
+}
 }
 
-#endif  
+#endif
diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index b9f7169e..0b2b6728 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -1,33 +1,34 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/simd/Grid_vector_types.h
+Source file: ./lib/simd/Grid_vector_types.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Guido Cossu <cossu@iroiro-pc.kek.jp>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 //---------------------------------------------------------------------------
 /*! @file Grid_vector_types.h
   @brief Defines templated class Grid_simd to deal with inner vector types
@@ -43,7 +44,7 @@ Author: neo <cossu@post.kek.jp>
 #ifdef SSE4
 #include "Grid_sse4.h"
 #endif
-#if defined (AVX1)|| defined (AVX2) || defined (AVXFMA4)
+#if defined(AVX1) || defined(AVX2) || defined(AVXFMA4)
 #include "Grid_avx.h"
 #endif
 #if defined AVX512
@@ -61,518 +62,635 @@ Author: neo <cossu@post.kek.jp>
 
 namespace Grid {
 
-  //////////////////////////////////////
-  // To take the floating point type of real/complex type
-  //////////////////////////////////////
-  template <typename T> struct RealPart {
-    typedef T type;
-  };
-  template <typename T> struct RealPart< std::complex<T> >{
-    typedef T type;
-  };
-  
-  //////////////////////////////////////
-  // demote a vector to real type
-  //////////////////////////////////////
+//////////////////////////////////////
+// To take the floating point type of real/complex type
+//////////////////////////////////////
+template <typename T>
+struct RealPart {
+  typedef T type;
+};
+template <typename T>
+struct RealPart<std::complex<T> > {
+  typedef T type;
+};
 
-  // type alias used to simplify the syntax of std::enable_if
-  template <typename T> using Invoke                                  =  typename T::type;
-  template <typename Condition, typename ReturnType> using EnableIf   =  Invoke<std::enable_if<Condition::value, ReturnType> >;
-  template <typename Condition, typename ReturnType> using NotEnableIf=  Invoke<std::enable_if<!Condition::value, ReturnType> >;
+//////////////////////////////////////
+// demote a vector to real type
+//////////////////////////////////////
 
+// type alias used to simplify the syntax of std::enable_if
+template <typename T>
+using Invoke = typename T::type;
+template <typename Condition, typename ReturnType>
+using EnableIf = Invoke<std::enable_if<Condition::value, ReturnType> >;
+template <typename Condition, typename ReturnType>
+using NotEnableIf = Invoke<std::enable_if<!Condition::value, ReturnType> >;
 
-  ////////////////////////////////////////////////////////
-  // Check for complexity with type traits
-  template <typename T>   struct is_complex : public std::false_type {};
-  template <> struct is_complex<std::complex<double> >: public std::true_type {};
-  template <> struct is_complex<std::complex<float> > : public std::true_type {};
+////////////////////////////////////////////////////////
+// Check for complexity with type traits
+template <typename T>
+struct is_complex : public std::false_type {};
+template <>
+struct is_complex<std::complex<double> > : public std::true_type {};
+template <>
+struct is_complex<std::complex<float> > : public std::true_type {};
 
-  template <typename T> using IfReal    = Invoke<std::enable_if<std::is_floating_point<T>::value,int> > ;
-  template <typename T> using IfComplex = Invoke<std::enable_if<is_complex<T>::value,int> > ;
-  template <typename T> using IfInteger = Invoke<std::enable_if<std::is_integral<T>::value,int> > ;
+template <typename T>
+using IfReal = Invoke<std::enable_if<std::is_floating_point<T>::value, int> >;
+template <typename T>
+using IfComplex = Invoke<std::enable_if<is_complex<T>::value, int> >;
+template <typename T>
+using IfInteger = Invoke<std::enable_if<std::is_integral<T>::value, int> >;
 
-  template <typename T> using IfNotReal    = Invoke<std::enable_if<!std::is_floating_point<T>::value,int> > ;
-  template <typename T> using IfNotComplex = Invoke<std::enable_if<!is_complex<T>::value,int> > ;
-  template <typename T> using IfNotInteger = Invoke<std::enable_if<!std::is_integral<T>::value,int> > ;
+template <typename T>
+using IfNotReal =
+    Invoke<std::enable_if<!std::is_floating_point<T>::value, int> >;
+template <typename T>
+using IfNotComplex = Invoke<std::enable_if<!is_complex<T>::value, int> >;
+template <typename T>
+using IfNotInteger = Invoke<std::enable_if<!std::is_integral<T>::value, int> >;
 
-  ////////////////////////////////////////////////////////
-  // Define the operation templates functors
-  // general forms to allow for vsplat syntax
-  // need explicit declaration of types when used since
-  // clang cannot automatically determine the output type sometimes
-  template < class Out, class Input1, class Input2, class Operation > 
-    Out binary(Input1 src_1, Input2 src_2, Operation op){
-    return op(src_1, src_2);
-  } 
+////////////////////////////////////////////////////////
+// Define the operation templates functors
+// general forms to allow for vsplat syntax
+// need explicit declaration of types when used since
+// clang cannot automatically determine the output type sometimes
+template <class Out, class Input1, class Input2, class Operation>
+Out binary(Input1 src_1, Input2 src_2, Operation op) {
+  return op(src_1, src_2);
+}
 
-  template < class Out, class Input, class Operation > 
-    Out unary(Input src, Operation op){
-    return op(src);
-  } 
-  ///////////////////////////////////////////////
+template <class Out, class Input, class Operation>
+Out unary(Input src, Operation op) {
+  return op(src);
+}
+///////////////////////////////////////////////
 
+/*
+  @brief Grid_simd class for the SIMD vector type operations
+ */
+template <class Scalar_type, class Vector_type>
+class Grid_simd {
+ public:
+  typedef typename RealPart<Scalar_type>::type Real;
+  typedef Vector_type vector_type;
+  typedef Scalar_type scalar_type;
 
-
-  /*
-    @brief Grid_simd class for the SIMD vector type operations
-   */
-  template < class Scalar_type, class Vector_type > 
-    class Grid_simd {
-    
-  public:
-    typedef typename RealPart < Scalar_type >::type Real; 
-    typedef Vector_type     vector_type;
-    typedef Scalar_type     scalar_type;
-
-
-    typedef union conv_t_union {
-	Vector_type v;
-	Scalar_type s[sizeof(Vector_type)/sizeof(Scalar_type)];
-      conv_t_union(){};
-    } conv_t;
-    
-   
+  typedef union conv_t_union {
     Vector_type v;
-    
-    static inline int Nsimd(void) { return sizeof(Vector_type)/sizeof(Scalar_type);}
-    
-    Grid_simd& operator=(const Grid_simd&& rhs){v=rhs.v;return *this;};
-    Grid_simd& operator=(const Grid_simd& rhs){v=rhs.v;return *this;}; //faster than not declaring it and leaving to the compiler
-    Grid_simd()=default; 
-    Grid_simd(const Grid_simd& rhs) :v(rhs.v){};    //compiles in movaps
-    Grid_simd(const Grid_simd&& rhs):v(rhs.v){};  
+    Scalar_type s[sizeof(Vector_type) / sizeof(Scalar_type)];
+    conv_t_union(){};
+  } conv_t;
 
-    /////////////////////////////
-    // Constructors
-    /////////////////////////////
-    Grid_simd & operator = ( Zero & z){
-      vzero(*this);
-      return (*this);
-    }
-  
-    //Enable if complex type
-    template < typename S = Scalar_type > 
-    Grid_simd(const typename std::enable_if< is_complex < S >::value, S>::type a){
-      vsplat(*this,a);
-    };
+  Vector_type v;
 
-    Grid_simd(const Real a){
-      vsplat(*this,Scalar_type(a));
-    };
-       
-    ///////////////////////////////////////////////
-    // mac, mult, sub, add, adj
-    ///////////////////////////////////////////////
-
-    // FIXME -- alias this to an inline MAC struct.
-    friend inline void mac (Grid_simd * __restrict__ y,const Grid_simd * __restrict__ a,const Grid_simd *__restrict__ x){ *y = (*a)*(*x)+(*y); };
-
-
-    friend inline void mult(Grid_simd * __restrict__ y,const Grid_simd * __restrict__ l,const Grid_simd *__restrict__ r){ *y = (*l) * (*r); }
-    friend inline void sub (Grid_simd * __restrict__ y,const Grid_simd * __restrict__ l,const Grid_simd *__restrict__ r){ *y = (*l) - (*r); }
-    friend inline void add (Grid_simd * __restrict__ y,const Grid_simd * __restrict__ l,const Grid_simd *__restrict__ r){ *y = (*l) + (*r); }
-
-    friend inline void mac (Grid_simd *__restrict__ y,const Scalar_type *__restrict__ a,const Grid_simd   *__restrict__ x){ *y = (*a)*(*x)+(*y); };
-    friend inline void mult(Grid_simd *__restrict__ y,const Scalar_type *__restrict__ l,const Grid_simd   *__restrict__ r){ *y = (*l) * (*r); }
-    friend inline void sub (Grid_simd *__restrict__ y,const Scalar_type *__restrict__ l,const Grid_simd   *__restrict__ r){ *y = (*l) - (*r); }
-    friend inline void add (Grid_simd *__restrict__ y,const Scalar_type *__restrict__ l,const Grid_simd   *__restrict__ r){ *y = (*l) + (*r); }
-
-    friend inline void mac (Grid_simd *__restrict__ y,const Grid_simd   *__restrict__ a,const Scalar_type *__restrict__ x){ *y = (*a)*(*x)+(*y); };
-    friend inline void mult(Grid_simd *__restrict__ y,const Grid_simd   *__restrict__ l,const Scalar_type *__restrict__ r){ *y = (*l) * (*r); }
-    friend inline void sub (Grid_simd *__restrict__ y,const Grid_simd   *__restrict__ l,const Scalar_type *__restrict__ r){ *y = (*l) - (*r); }
-    friend inline void add (Grid_simd *__restrict__ y,const Grid_simd   *__restrict__ l,const Scalar_type *__restrict__ r){ *y = (*l) + (*r); }
-
-    ////////////////////////////////////////////////////////////////////////
-    // FIXME:  gonna remove these load/store, get, set, prefetch
-    ////////////////////////////////////////////////////////////////////////
-    friend inline void vset(Grid_simd &ret, Scalar_type *a){
-      ret.v = unary<Vector_type>(a, VsetSIMD());
-    }
-        
-    ///////////////////////
-    // Vstore
-    ///////////////////////
-    friend inline void vstore(const Grid_simd &ret, Scalar_type *a){
-      binary<void>(ret.v, (Real*)a, VstoreSIMD());
-    }
-
-    ///////////////////////
-    // Vprefetch
-    ///////////////////////
-    friend inline void vprefetch(const Grid_simd &v)
-    {
-      prefetch_HINT_T0((const char*)&v.v);
-    }
-
-    ///////////////////////
-    // Reduce
-    ///////////////////////
-    friend inline Scalar_type Reduce(const Grid_simd & in)
-    {
-      return unary<Scalar_type>(in.v, ReduceSIMD<Scalar_type, Vector_type>());
-    }
-
-    ////////////////////////////
-    // opreator scalar * simd
-    ////////////////////////////
-    friend inline Grid_simd operator * (const Scalar_type &a, Grid_simd b){
-      Grid_simd va;
-      vsplat(va,a);
-      return va*b;
-    }
-    friend inline Grid_simd operator * (Grid_simd b,const Scalar_type &a){
-      return a*b;
-    }
-
-    ///////////////////////
-    // Unary negation
-    ///////////////////////
-    friend inline Grid_simd operator -(const Grid_simd &r) {
-      Grid_simd ret;
-      vzero(ret);
-      ret = ret - r;
-      return ret;
-    }
-    // *=,+=,-= operators
-    inline Grid_simd &operator *=(const Grid_simd &r) {
-      *this = (*this)*r;
-      return *this;
-      // return (*this)*r; ?
-    }
-    inline Grid_simd &operator +=(const Grid_simd &r) {
-      *this = *this+r;
-      return *this;
-    }
-    inline Grid_simd &operator -=(const Grid_simd &r) {
-      *this = *this-r;
-      return *this;
-    }
-
-    ///////////////////////////////////////
-    // Not all functions are supported
-    // through SIMD and must breakout to 
-    // scalar type and back again. This
-    // provides support
-    ///////////////////////////////////////
-
-    template<class functor> friend inline Grid_simd SimdApply (const functor &func,const Grid_simd &v) {
-      Grid_simd ret;
-      Grid_simd::conv_t conv;
-
-      conv.v = v.v;
-      for(int i=0;i<Nsimd();i++){
-	conv.s[i]=func(conv.s[i]);
-      }
-      ret.v = conv.v;
-      return ret;
-    }
-    template<class functor> friend inline Grid_simd SimdApplyBinop (const functor &func,const Grid_simd &x,const Grid_simd &y) {
-      Grid_simd ret;
-      Grid_simd::conv_t cx;
-      Grid_simd::conv_t cy;
-
-      cx.v = x.v;
-      cy.v = y.v;
-      for(int i=0;i<Nsimd();i++){
-	cx.s[i]=func(cx.s[i],cy.s[i]);
-      }
-      ret.v = cx.v;
-      return ret;
-    }
-
-    ////////////////////////////////////////////////////////////////////
-    // General permute; assumes vector length is same across 
-    // all subtypes; may not be a good assumption, but could
-    // add the vector width as a template param for BG/Q for example
-    ////////////////////////////////////////////////////////////////////
-    friend inline void permute0(Grid_simd &y,Grid_simd b){
-      y.v = Optimization::Permute::Permute0(b.v);
-    }
-    friend inline void permute1(Grid_simd &y,Grid_simd b){
-      y.v = Optimization::Permute::Permute1(b.v);
-    }
-    friend inline void permute2(Grid_simd &y,Grid_simd b){
-      y.v = Optimization::Permute::Permute2(b.v);
-    }
-    friend inline void permute3(Grid_simd &y,Grid_simd b){
-      y.v = Optimization::Permute::Permute3(b.v);
-    }
-    friend inline void permute(Grid_simd &y,Grid_simd b,int perm)
-    {
-      if ( perm & RotateBit ) {
-	int dist = perm&0xF;
-        y=rotate(b,dist);
-	return;
-      }
-      switch(perm){
-      case 3: permute3(y,b); break;
-      case 2: permute2(y,b); break;
-      case 1: permute1(y,b); break;
-      case 0: permute0(y,b); break;
-      default: assert(0);
-      }
-    }
-    
-  };// end of Grid_simd class definition 
-
-  ////////////////////////////////////////////////////////////////////
-  // General rotate
-  ////////////////////////////////////////////////////////////////////
-  template <class S, class V, IfNotComplex<S> =0> 
-  inline Grid_simd<S,V> rotate(Grid_simd<S,V> b,int nrot)
-  {
-    nrot = nrot % Grid_simd<S,V>::Nsimd();
-    Grid_simd<S,V> ret;
-    //    std::cout << "Rotate Real by "<<nrot<<std::endl;
-    ret.v = Optimization::Rotate::rotate(b.v,nrot);
-    return ret;
-  }
-  template <class S, class V, IfComplex<S> =0> 
-  inline Grid_simd<S,V> rotate(Grid_simd<S,V> b,int nrot)
-  {
-    nrot = nrot % Grid_simd<S,V>::Nsimd();
-    Grid_simd<S,V> ret;
-    //    std::cout << "Rotate Complex by "<<nrot<<std::endl;
-    ret.v = Optimization::Rotate::rotate(b.v,2*nrot);
-    return ret;
+  static inline int Nsimd(void) {
+    return sizeof(Vector_type) / sizeof(Scalar_type);
   }
 
-  ///////////////////////
-  // Splat
-  ///////////////////////
-  
-  // this is only for the complex version
-  template <class S, class V, IfComplex<S> =0, class ABtype> 
-  inline void vsplat(Grid_simd<S,V> &ret,ABtype a, ABtype b){
-    ret.v = binary<V>(a, b, VsplatSIMD());
-  }    
+  Grid_simd &operator=(const Grid_simd &&rhs) {
+    v = rhs.v;
+    return *this;
+  };
+  Grid_simd &operator=(const Grid_simd &rhs) {
+    v = rhs.v;
+    return *this;
+  };  // faster than not declaring it and leaving to the compiler
+  Grid_simd() = default;
+  Grid_simd(const Grid_simd &rhs) : v(rhs.v){};  // compiles in movaps
+  Grid_simd(const Grid_simd &&rhs) : v(rhs.v){};
 
-  // overload if complex
-  template <class S,class V> inline void vsplat(Grid_simd<S,V> &ret, EnableIf<is_complex < S >, S> c) {
-    vsplat(ret,real(c),imag(c));
+  /////////////////////////////
+  // Constructors
+  /////////////////////////////
+  Grid_simd &operator=(Zero &z) {
+    vzero(*this);
+    return (*this);
   }
 
-  //if real fill with a, if complex fill with a in the real part (first function above)
-  template <class S,class V>
-    inline void vsplat(Grid_simd<S,V> &ret,NotEnableIf<is_complex< S>,S> a){
-    ret.v = unary<V>(a, VsplatSIMD());
-  }    
-  //////////////////////////
+  // Enable if complex type
+  template <typename S = Scalar_type>
+  Grid_simd(const typename std::enable_if<is_complex<S>::value, S>::type a) {
+    vsplat(*this, a);
+  };
+
+  Grid_simd(const Real a) { vsplat(*this, Scalar_type(a)); };
 
   ///////////////////////////////////////////////
-  // Initialise to 1,0,i for the correct types
+  // mac, mult, sub, add, adj
   ///////////////////////////////////////////////
-  // For complex types
-  template <class S,class V, IfComplex<S> = 0 > inline void vone(Grid_simd<S,V>  &ret)     { vsplat(ret,S(1.0,0.0)); }
-  template <class S,class V, IfComplex<S> = 0 > inline void vzero(Grid_simd<S,V> &ret)     { vsplat(ret,S(0.0,0.0)); }// use xor?
-  template <class S,class V, IfComplex<S> = 0 > inline void vcomplex_i(Grid_simd<S,V> &ret){ vsplat(ret,S(0.0,1.0));} 
 
-  template <class S,class V, IfComplex<S> = 0 > inline void visign(Grid_simd<S,V> &ret){ vsplat(ret,S(1.0,-1.0));} 
-  template <class S,class V, IfComplex<S> = 0 > inline void vrsign(Grid_simd<S,V> &ret){ vsplat(ret,S(-1.0,1.0));} 
-
-  // if not complex overload here 
-  template <class S,class V, IfReal<S> = 0 > inline void vone (Grid_simd<S,V> &ret){ vsplat(ret,S(1.0)); }
-  template <class S,class V, IfReal<S> = 0 > inline void vzero(Grid_simd<S,V> &ret){ vsplat(ret,S(0.0)); }
-   
-  // For integral types
-  template <class S,class V,IfInteger<S> = 0 > inline void vone(Grid_simd<S,V> &ret)  {vsplat(ret,1); }
-  template <class S,class V,IfInteger<S> = 0 > inline void vzero(Grid_simd<S,V> &ret) {vsplat(ret,0); }
-  template <class S,class V,IfInteger<S> = 0 > inline void vtrue (Grid_simd<S,V> &ret){vsplat(ret,0xFFFFFFFF);}
-  template <class S,class V,IfInteger<S> = 0 > inline void vfalse(Grid_simd<S,V> &ret){vsplat(ret,0);}
-
-  template<class S,class V> inline void zeroit(Grid_simd<S,V> &z){ vzero(z);}
-
-  ///////////////////////
-  // Vstream
-  ///////////////////////
-  template <class S,class V, IfReal<S> = 0 > 
-  inline void vstream(Grid_simd<S,V> &out,const Grid_simd<S,V> &in){
-    binary<void>((S *)&out.v, in.v, VstreamSIMD());
-  }
-  template <class S,class V, IfComplex<S> = 0 > 
-  inline void vstream(Grid_simd<S,V> &out,const Grid_simd<S,V> &in){
-    typedef typename S::value_type T;
-    binary<void>((T *)&out.v, in.v, VstreamSIMD());
-  }
-
-  template <class S,class V, IfInteger<S> = 0 > 
-  inline void vstream(Grid_simd<S,V> &out,const Grid_simd<S,V> &in){
-    out=in;
-  }
-
-  ////////////////////////////////////
-  // Arithmetic operator overloads +,-,*
-  ////////////////////////////////////
-  template<class S,class V> inline Grid_simd<S,V> operator + (Grid_simd<S,V> a, Grid_simd<S,V> b) {
-    Grid_simd<S,V> ret;
-    ret.v = binary<V>(a.v, b.v, SumSIMD());
-    return ret;
-  };
-        
-  template<class S,class V> inline Grid_simd<S,V> operator - (Grid_simd<S,V> a, Grid_simd<S,V> b) {
-    Grid_simd<S,V> ret;
-    ret.v = binary<V>(a.v, b.v, SubSIMD());
-    return ret;
-  };
-        
-  // Distinguish between complex types and others
-  template<class S,class V, IfComplex<S> = 0 > inline Grid_simd<S,V> operator * (Grid_simd<S,V> a, Grid_simd<S,V> b) {
-    Grid_simd<S,V> ret;
-    ret.v = binary<V>(a.v,b.v, MultComplexSIMD());
-    return ret;
+  // FIXME -- alias this to an inline MAC struct.
+  friend inline void mac(Grid_simd *__restrict__ y,
+                         const Grid_simd *__restrict__ a,
+                         const Grid_simd *__restrict__ x) {
+    *y = (*a) * (*x) + (*y);
   };
 
-    // Real/Integer types
-  template<class S,class V, IfNotComplex<S> = 0 > inline Grid_simd<S,V> operator * (Grid_simd<S,V> a, Grid_simd<S,V> b) {
-    Grid_simd<S,V> ret;
-    ret.v = binary<V>(a.v,b.v, MultSIMD());
-    return ret;
+  friend inline void mult(Grid_simd *__restrict__ y,
+                          const Grid_simd *__restrict__ l,
+                          const Grid_simd *__restrict__ r) {
+    *y = (*l) * (*r);
+  }
+  friend inline void sub(Grid_simd *__restrict__ y,
+                         const Grid_simd *__restrict__ l,
+                         const Grid_simd *__restrict__ r) {
+    *y = (*l) - (*r);
+  }
+  friend inline void add(Grid_simd *__restrict__ y,
+                         const Grid_simd *__restrict__ l,
+                         const Grid_simd *__restrict__ r) {
+    *y = (*l) + (*r);
+  }
+
+  friend inline void mac(Grid_simd *__restrict__ y,
+                         const Scalar_type *__restrict__ a,
+                         const Grid_simd *__restrict__ x) {
+    *y = (*a) * (*x) + (*y);
   };
-  
-
-    ///////////////////////
-    // Conjugate
-    ///////////////////////
-  template <class S,class V, IfComplex<S> = 0 > 
-    inline Grid_simd<S,V> conjugate(const Grid_simd<S,V>  &in){
-    Grid_simd<S,V>  ret ; 
-    ret.v = unary<V>(in.v, ConjSIMD());
-    return ret;
+  friend inline void mult(Grid_simd *__restrict__ y,
+                          const Scalar_type *__restrict__ l,
+                          const Grid_simd *__restrict__ r) {
+    *y = (*l) * (*r);
   }
-  template <class S,class V, IfNotComplex<S> = 0 > inline Grid_simd<S,V> conjugate(const Grid_simd<S,V>  &in){
-    return in; // for real objects
+  friend inline void sub(Grid_simd *__restrict__ y,
+                         const Scalar_type *__restrict__ l,
+                         const Grid_simd *__restrict__ r) {
+    *y = (*l) - (*r);
+  }
+  friend inline void add(Grid_simd *__restrict__ y,
+                         const Scalar_type *__restrict__ l,
+                         const Grid_simd *__restrict__ r) {
+    *y = (*l) + (*r);
+  }
+
+  friend inline void mac(Grid_simd *__restrict__ y,
+                         const Grid_simd *__restrict__ a,
+                         const Scalar_type *__restrict__ x) {
+    *y = (*a) * (*x) + (*y);
+  };
+  friend inline void mult(Grid_simd *__restrict__ y,
+                          const Grid_simd *__restrict__ l,
+                          const Scalar_type *__restrict__ r) {
+    *y = (*l) * (*r);
+  }
+  friend inline void sub(Grid_simd *__restrict__ y,
+                         const Grid_simd *__restrict__ l,
+                         const Scalar_type *__restrict__ r) {
+    *y = (*l) - (*r);
+  }
+  friend inline void add(Grid_simd *__restrict__ y,
+                         const Grid_simd *__restrict__ l,
+                         const Scalar_type *__restrict__ r) {
+    *y = (*l) + (*r);
+  }
+
+  ////////////////////////////////////////////////////////////////////////
+  // FIXME:  gonna remove these load/store, get, set, prefetch
+  ////////////////////////////////////////////////////////////////////////
+  friend inline void vset(Grid_simd &ret, Scalar_type *a) {
+    ret.v = unary<Vector_type>(a, VsetSIMD());
   }
 
-  //Suppress adj for integer types... // odd; why conjugate above but not adj??
-  template < class S, class V, IfNotInteger<S> = 0 > 
-    inline Grid_simd<S,V> adj(const Grid_simd<S,V> &in){ return conjugate(in); }
-  
   ///////////////////////
-  // timesMinusI
+  // Vstore
   ///////////////////////
-  template<class S,class V,IfComplex<S> = 0 > 
-    inline void timesMinusI( Grid_simd<S,V> &ret,const Grid_simd<S,V> &in){
-    ret.v = binary<V>(in.v, ret.v, TimesMinusISIMD());
+  friend inline void vstore(const Grid_simd &ret, Scalar_type *a) {
+    binary<void>(ret.v, (Real *)a, VstoreSIMD());
   }
 
-  template<class S,class V,IfComplex<S> = 0 > 
-    inline Grid_simd<S,V> timesMinusI(const Grid_simd<S,V> &in){
-    Grid_simd<S,V> ret; 
-    timesMinusI(ret,in);
+  ///////////////////////
+  // Vprefetch
+  ///////////////////////
+  friend inline void vprefetch(const Grid_simd &v) {
+    prefetch_HINT_T0((const char *)&v.v);
+  }
+
+  ///////////////////////
+  // Reduce
+  ///////////////////////
+  friend inline Scalar_type Reduce(const Grid_simd &in) {
+    return unary<Scalar_type>(in.v, ReduceSIMD<Scalar_type, Vector_type>());
+  }
+
+  ////////////////////////////
+  // opreator scalar * simd
+  ////////////////////////////
+  friend inline Grid_simd operator*(const Scalar_type &a, Grid_simd b) {
+    Grid_simd va;
+    vsplat(va, a);
+    return va * b;
+  }
+  friend inline Grid_simd operator*(Grid_simd b, const Scalar_type &a) {
+    return a * b;
+  }
+
+  ///////////////////////
+  // Unary negation
+  ///////////////////////
+  friend inline Grid_simd operator-(const Grid_simd &r) {
+    Grid_simd ret;
+    vzero(ret);
+    ret = ret - r;
     return ret;
   }
-
-  template<class S,class V,IfNotComplex<S> = 0 > 
-    inline Grid_simd<S,V> timesMinusI(const Grid_simd<S,V> &in){
-    return in;
+  // *=,+=,-= operators
+  inline Grid_simd &operator*=(const Grid_simd &r) {
+    *this = (*this) * r;
+    return *this;
+    // return (*this)*r; ?
+  }
+  inline Grid_simd &operator+=(const Grid_simd &r) {
+    *this = *this + r;
+    return *this;
+  }
+  inline Grid_simd &operator-=(const Grid_simd &r) {
+    *this = *this - r;
+    return *this;
   }
 
-    ///////////////////////
-    // timesI
-    ///////////////////////
-  template<class S,class V,IfComplex<S> = 0 > 
-    inline void timesI(Grid_simd<S,V> &ret,const Grid_simd<S,V> &in){
-    ret.v =   binary<V>(in.v, ret.v, TimesISIMD());     
-  }
-        
-  template<class S,class V,IfComplex<S> = 0 > 
-    inline Grid_simd<S,V> timesI(const Grid_simd<S,V> &in){
-    Grid_simd<S,V> ret; 
-    timesI(ret,in);
-    return ret;
-  }
+  ///////////////////////////////////////
+  // Not all functions are supported
+  // through SIMD and must breakout to
+  // scalar type and back again. This
+  // provides support
+  ///////////////////////////////////////
 
-  template<class S,class V,IfNotComplex<S> = 0 > 
-    inline Grid_simd<S,V> timesI(const Grid_simd<S,V> &in){
-    return in;
-  }
+  template <class functor>
+  friend inline Grid_simd SimdApply(const functor &func, const Grid_simd &v) {
+    Grid_simd ret;
+    Grid_simd::conv_t conv;
 
-  /////////////////////
-  // Inner, outer
-  /////////////////////
-
-  template<class S, class V > 
-    inline Grid_simd< S, V>  innerProduct(const Grid_simd< S, V> & l, const Grid_simd< S, V> & r) 
-  {
-    return conjugate(l)*r; 
-  }
-
-  template<class S, class V >
-  inline Grid_simd< S, V> outerProduct(const Grid_simd< S, V> &l, const Grid_simd< S, V> & r)
-  {
-    return l*conjugate(r);
-  }
-
-  template<class S, class V >
-  inline Grid_simd< S, V> trace(const Grid_simd< S, V> &arg){
-    return arg;
-  }
-
-
-  ////////////////////////////////////////////////////////////
-  // copy/splat complex real parts into real;
-  // insert real into complex and zero imag;
-  ////////////////////////////////////////////////////////////
-
-  //real = toReal( complex )
-  template<class S,class V,IfReal<S>  = 0>	
-  inline Grid_simd<S,V> toReal(const Grid_simd<std::complex<S>,V> &in)
-  {
-    typedef Grid_simd<S,V> simd;
-    simd ret;
-    typename simd::conv_t conv;
-    conv.v = in.v; // copy the vector content (bytewise)
-    for(int i=0;i<simd::Nsimd();i+=2){
-      conv.s[i+1]=conv.s[i];    // duplicate (r,r);(r,r);(r,r); etc...
+    conv.v = v.v;
+    for (int i = 0; i < Nsimd(); i++) {
+      conv.s[i] = func(conv.s[i]);
     }
     ret.v = conv.v;
     return ret;
   }
-  
-  //complex = toComplex( real )
-  template<class R,class V,IfReal<R> = 0 >	// must be a real arg
-  inline Grid_simd<std::complex<R>,V> toComplex (const Grid_simd<R,V> &in)
-  {
-    typedef Grid_simd<R,V> Rsimd;
-    typedef Grid_simd<std::complex<R>,V> Csimd;
-    typename Rsimd::conv_t conv;// address as real
-    
-    conv.v = in.v;
-    for(int i=0;i<Rsimd::Nsimd();i+=2){
-      assert(conv.s[i+1]==conv.s[i]); // trap any cases where real was not duplicated 
-      // indicating the SIMD grids of real and imag assignment did not correctly match
-      conv.s[i+1]=0.0;                // zero imaginary parts
+  template <class functor>
+  friend inline Grid_simd SimdApplyBinop(const functor &func,
+                                         const Grid_simd &x,
+                                         const Grid_simd &y) {
+    Grid_simd ret;
+    Grid_simd::conv_t cx;
+    Grid_simd::conv_t cy;
+
+    cx.v = x.v;
+    cy.v = y.v;
+    for (int i = 0; i < Nsimd(); i++) {
+      cx.s[i] = func(cx.s[i], cy.s[i]);
     }
-    Csimd ret;
-    ret.v = conv.v;
+    ret.v = cx.v;
     return ret;
   }
 
+  ////////////////////////////////////////////////////////////////////
+  // General permute; assumes vector length is same across
+  // all subtypes; may not be a good assumption, but could
+  // add the vector width as a template param for BG/Q for example
+  ////////////////////////////////////////////////////////////////////
+  friend inline void permute0(Grid_simd &y, Grid_simd b) {
+    y.v = Optimization::Permute::Permute0(b.v);
+  }
+  friend inline void permute1(Grid_simd &y, Grid_simd b) {
+    y.v = Optimization::Permute::Permute1(b.v);
+  }
+  friend inline void permute2(Grid_simd &y, Grid_simd b) {
+    y.v = Optimization::Permute::Permute2(b.v);
+  }
+  friend inline void permute3(Grid_simd &y, Grid_simd b) {
+    y.v = Optimization::Permute::Permute3(b.v);
+  }
+  friend inline void permute(Grid_simd &y, Grid_simd b, int perm) {
+    if (perm & RotateBit) {
+      int dist = perm & 0xF;
+      y = rotate(b, dist);
+      return;
+    }
+    switch (perm) {
+      case 3:
+        permute3(y, b);
+        break;
+      case 2:
+        permute2(y, b);
+        break;
+      case 1:
+        permute1(y, b);
+        break;
+      case 0:
+        permute0(y, b);
+        break;
+      default:
+        assert(0);
+    }
+  }
 
+};  // end of Grid_simd class definition
 
-  
-  ///////////////////////////////
-  // Define available types
-  ///////////////////////////////
-  typedef Grid_simd< float                 , SIMD_Ftype > vRealF;
-  typedef Grid_simd< double                , SIMD_Dtype > vRealD;
-  typedef Grid_simd< std::complex< float > , SIMD_Ftype > vComplexF;
-  typedef Grid_simd< std::complex< double >, SIMD_Dtype > vComplexD;
-  typedef Grid_simd< Integer               , SIMD_Itype > vInteger;
+////////////////////////////////////////////////////////////////////
+// General rotate
+////////////////////////////////////////////////////////////////////
+template <class S, class V, IfNotComplex<S> = 0>
+inline Grid_simd<S, V> rotate(Grid_simd<S, V> b, int nrot) {
+  nrot = nrot % Grid_simd<S, V>::Nsimd();
+  Grid_simd<S, V> ret;
+  //    std::cout << "Rotate Real by "<<nrot<<std::endl;
+  ret.v = Optimization::Rotate::rotate(b.v, nrot);
+  return ret;
+}
+template <class S, class V, IfComplex<S> = 0>
+inline Grid_simd<S, V> rotate(Grid_simd<S, V> b, int nrot) {
+  nrot = nrot % Grid_simd<S, V>::Nsimd();
+  Grid_simd<S, V> ret;
+  //    std::cout << "Rotate Complex by "<<nrot<<std::endl;
+  ret.v = Optimization::Rotate::rotate(b.v, 2 * nrot);
+  return ret;
+}
 
-  /////////////////////////////////////////
-  // Some traits to recognise the types
-  /////////////////////////////////////////
-  template <typename T> struct is_simd : public std::false_type{};
-  template <> struct is_simd<vRealF>   : public std::true_type {};
-  template <> struct is_simd<vRealD>   : public std::true_type {};
-  template <> struct is_simd<vComplexF>: public std::true_type {};
-  template <> struct is_simd<vComplexD>: public std::true_type {};
-  template <> struct is_simd<vInteger> : public std::true_type {};
+///////////////////////
+// Splat
+///////////////////////
 
-  template <typename T> using IfSimd     = Invoke<std::enable_if< is_simd<T>::value,int> > ;
-  template <typename T> using IfNotSimd  = Invoke<std::enable_if<!is_simd<T>::value,unsigned> > ;
+// this is only for the complex version
+template <class S, class V, IfComplex<S> = 0, class ABtype>
+inline void vsplat(Grid_simd<S, V> &ret, ABtype a, ABtype b) {
+  ret.v = binary<V>(a, b, VsplatSIMD());
+}
 
+// overload if complex
+template <class S, class V>
+inline void vsplat(Grid_simd<S, V> &ret, EnableIf<is_complex<S>, S> c) {
+  vsplat(ret, real(c), imag(c));
+}
+
+// if real fill with a, if complex fill with a in the real part (first function
+// above)
+template <class S, class V>
+inline void vsplat(Grid_simd<S, V> &ret, NotEnableIf<is_complex<S>, S> a) {
+  ret.v = unary<V>(a, VsplatSIMD());
+}
+//////////////////////////
+
+///////////////////////////////////////////////
+// Initialise to 1,0,i for the correct types
+///////////////////////////////////////////////
+// For complex types
+template <class S, class V, IfComplex<S> = 0>
+inline void vone(Grid_simd<S, V> &ret) {
+  vsplat(ret, S(1.0, 0.0));
+}
+template <class S, class V, IfComplex<S> = 0>
+inline void vzero(Grid_simd<S, V> &ret) {
+  vsplat(ret, S(0.0, 0.0));
+}  // use xor?
+template <class S, class V, IfComplex<S> = 0>
+inline void vcomplex_i(Grid_simd<S, V> &ret) {
+  vsplat(ret, S(0.0, 1.0));
+}
+
+template <class S, class V, IfComplex<S> = 0>
+inline void visign(Grid_simd<S, V> &ret) {
+  vsplat(ret, S(1.0, -1.0));
+}
+template <class S, class V, IfComplex<S> = 0>
+inline void vrsign(Grid_simd<S, V> &ret) {
+  vsplat(ret, S(-1.0, 1.0));
+}
+
+// if not complex overload here
+template <class S, class V, IfReal<S> = 0>
+inline void vone(Grid_simd<S, V> &ret) {
+  vsplat(ret, S(1.0));
+}
+template <class S, class V, IfReal<S> = 0>
+inline void vzero(Grid_simd<S, V> &ret) {
+  vsplat(ret, S(0.0));
+}
+
+// For integral types
+template <class S, class V, IfInteger<S> = 0>
+inline void vone(Grid_simd<S, V> &ret) {
+  vsplat(ret, 1);
+}
+template <class S, class V, IfInteger<S> = 0>
+inline void vzero(Grid_simd<S, V> &ret) {
+  vsplat(ret, 0);
+}
+template <class S, class V, IfInteger<S> = 0>
+inline void vtrue(Grid_simd<S, V> &ret) {
+  vsplat(ret, 0xFFFFFFFF);
+}
+template <class S, class V, IfInteger<S> = 0>
+inline void vfalse(Grid_simd<S, V> &ret) {
+  vsplat(ret, 0);
+}
+
+template <class S, class V>
+inline void zeroit(Grid_simd<S, V> &z) {
+  vzero(z);
+}
+
+///////////////////////
+// Vstream
+///////////////////////
+template <class S, class V, IfReal<S> = 0>
+inline void vstream(Grid_simd<S, V> &out, const Grid_simd<S, V> &in) {
+  binary<void>((S *)&out.v, in.v, VstreamSIMD());
+}
+template <class S, class V, IfComplex<S> = 0>
+inline void vstream(Grid_simd<S, V> &out, const Grid_simd<S, V> &in) {
+  typedef typename S::value_type T;
+  binary<void>((T *)&out.v, in.v, VstreamSIMD());
+}
+
+template <class S, class V, IfInteger<S> = 0>
+inline void vstream(Grid_simd<S, V> &out, const Grid_simd<S, V> &in) {
+  out = in;
+}
+
+////////////////////////////////////
+// Arithmetic operator overloads +,-,*
+////////////////////////////////////
+template <class S, class V>
+inline Grid_simd<S, V> operator+(Grid_simd<S, V> a, Grid_simd<S, V> b) {
+  Grid_simd<S, V> ret;
+  ret.v = binary<V>(a.v, b.v, SumSIMD());
+  return ret;
+};
+
+template <class S, class V>
+inline Grid_simd<S, V> operator-(Grid_simd<S, V> a, Grid_simd<S, V> b) {
+  Grid_simd<S, V> ret;
+  ret.v = binary<V>(a.v, b.v, SubSIMD());
+  return ret;
+};
+
+// Distinguish between complex types and others
+template <class S, class V, IfComplex<S> = 0>
+inline Grid_simd<S, V> operator*(Grid_simd<S, V> a, Grid_simd<S, V> b) {
+  Grid_simd<S, V> ret;
+  ret.v = binary<V>(a.v, b.v, MultComplexSIMD());
+  return ret;
+};
+
+// Real/Integer types
+template <class S, class V, IfNotComplex<S> = 0>
+inline Grid_simd<S, V> operator*(Grid_simd<S, V> a, Grid_simd<S, V> b) {
+  Grid_simd<S, V> ret;
+  ret.v = binary<V>(a.v, b.v, MultSIMD());
+  return ret;
+};
+
+///////////////////////
+// Conjugate
+///////////////////////
+template <class S, class V, IfComplex<S> = 0>
+inline Grid_simd<S, V> conjugate(const Grid_simd<S, V> &in) {
+  Grid_simd<S, V> ret;
+  ret.v = unary<V>(in.v, ConjSIMD());
+  return ret;
+}
+template <class S, class V, IfNotComplex<S> = 0>
+inline Grid_simd<S, V> conjugate(const Grid_simd<S, V> &in) {
+  return in;  // for real objects
+}
+
+// Suppress adj for integer types... // odd; why conjugate above but not adj??
+template <class S, class V, IfNotInteger<S> = 0>
+inline Grid_simd<S, V> adj(const Grid_simd<S, V> &in) {
+  return conjugate(in);
+}
+
+///////////////////////
+// timesMinusI
+///////////////////////
+template <class S, class V, IfComplex<S> = 0>
+inline void timesMinusI(Grid_simd<S, V> &ret, const Grid_simd<S, V> &in) {
+  ret.v = binary<V>(in.v, ret.v, TimesMinusISIMD());
+}
+
+template <class S, class V, IfComplex<S> = 0>
+inline Grid_simd<S, V> timesMinusI(const Grid_simd<S, V> &in) {
+  Grid_simd<S, V> ret;
+  timesMinusI(ret, in);
+  return ret;
+}
+
+template <class S, class V, IfNotComplex<S> = 0>
+inline Grid_simd<S, V> timesMinusI(const Grid_simd<S, V> &in) {
+  return in;
+}
+
+///////////////////////
+// timesI
+///////////////////////
+template <class S, class V, IfComplex<S> = 0>
+inline void timesI(Grid_simd<S, V> &ret, const Grid_simd<S, V> &in) {
+  ret.v = binary<V>(in.v, ret.v, TimesISIMD());
+}
+
+template <class S, class V, IfComplex<S> = 0>
+inline Grid_simd<S, V> timesI(const Grid_simd<S, V> &in) {
+  Grid_simd<S, V> ret;
+  timesI(ret, in);
+  return ret;
+}
+
+template <class S, class V, IfNotComplex<S> = 0>
+inline Grid_simd<S, V> timesI(const Grid_simd<S, V> &in) {
+  return in;
+}
+
+/////////////////////
+// Inner, outer
+/////////////////////
+
+template <class S, class V>
+inline Grid_simd<S, V> innerProduct(const Grid_simd<S, V> &l,
+                                    const Grid_simd<S, V> &r) {
+  return conjugate(l) * r;
+}
+
+template <class S, class V>
+inline Grid_simd<S, V> outerProduct(const Grid_simd<S, V> &l,
+                                    const Grid_simd<S, V> &r) {
+  return l * conjugate(r);
+}
+
+template <class S, class V>
+inline Grid_simd<S, V> trace(const Grid_simd<S, V> &arg) {
+  return arg;
+}
+
+////////////////////////////////////////////////////////////
+// copy/splat complex real parts into real;
+// insert real into complex and zero imag;
+////////////////////////////////////////////////////////////
+
+// real = toReal( complex )
+template <class S, class V, IfReal<S> = 0>
+inline Grid_simd<S, V> toReal(const Grid_simd<std::complex<S>, V> &in) {
+  typedef Grid_simd<S, V> simd;
+  simd ret;
+  typename simd::conv_t conv;
+  conv.v = in.v;  // copy the vector content (bytewise)
+  for (int i = 0; i < simd::Nsimd(); i += 2) {
+    conv.s[i + 1] = conv.s[i];  // duplicate (r,r);(r,r);(r,r); etc...
+  }
+  ret.v = conv.v;
+  return ret;
+}
+
+// complex = toComplex( real )
+template <class R, class V, IfReal<R> = 0>  // must be a real arg
+inline Grid_simd<std::complex<R>, V> toComplex(const Grid_simd<R, V> &in) {
+  typedef Grid_simd<R, V> Rsimd;
+  typedef Grid_simd<std::complex<R>, V> Csimd;
+  typename Rsimd::conv_t conv;  // address as real
+
+  conv.v = in.v;
+  for (int i = 0; i < Rsimd::Nsimd(); i += 2) {
+    assert(conv.s[i + 1] ==
+           conv.s[i]);  // trap any cases where real was not duplicated
+    // indicating the SIMD grids of real and imag assignment did not correctly
+    // match
+    conv.s[i + 1] = 0.0;  // zero imaginary parts
+  }
+  Csimd ret;
+  ret.v = conv.v;
+  return ret;
+}
+
+///////////////////////////////
+// Define available types
+///////////////////////////////
+typedef Grid_simd<float, SIMD_Ftype> vRealF;
+typedef Grid_simd<double, SIMD_Dtype> vRealD;
+typedef Grid_simd<std::complex<float>, SIMD_Ftype> vComplexF;
+typedef Grid_simd<std::complex<double>, SIMD_Dtype> vComplexD;
+typedef Grid_simd<Integer, SIMD_Itype> vInteger;
+
+/////////////////////////////////////////
+// Some traits to recognise the types
+/////////////////////////////////////////
+template <typename T>
+struct is_simd : public std::false_type {};
+template <>
+struct is_simd<vRealF> : public std::true_type {};
+template <>
+struct is_simd<vRealD> : public std::true_type {};
+template <>
+struct is_simd<vComplexF> : public std::true_type {};
+template <>
+struct is_simd<vComplexD> : public std::true_type {};
+template <>
+struct is_simd<vInteger> : public std::true_type {};
+
+template <typename T>
+using IfSimd = Invoke<std::enable_if<is_simd<T>::value, int> >;
+template <typename T>
+using IfNotSimd = Invoke<std::enable_if<!is_simd<T>::value, unsigned> >;
 }
 
 #endif
diff --git a/lib/simd/Grid_vector_unops.h b/lib/simd/Grid_vector_unops.h
index 2ce8590d..a67f4e7d 100644
--- a/lib/simd/Grid_vector_unops.h
+++ b/lib/simd/Grid_vector_unops.h
@@ -1,247 +1,234 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/simd/Grid_vector_unops.h
+Source file: ./lib/simd/Grid_vector_unops.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef GRID_VECTOR_UNOPS
 #define GRID_VECTOR_UNOPS
 
 #include <cmath>
 
-namespace Grid { 
+namespace Grid {
 
-  template<class scalar> struct SqrtRealFunctor {
-    scalar operator()(const scalar &a) const {
-      return sqrt(real(a));
-    }
-  };
+template <class scalar>
+struct SqrtRealFunctor {
+  scalar operator()(const scalar &a) const { return sqrt(real(a)); }
+};
 
-  template<class scalar> struct RSqrtRealFunctor {
-    scalar operator()(const scalar &a)  const {
-      return scalar(1.0/sqrt(real(a)));
-    }
-  };
+template <class scalar>
+struct RSqrtRealFunctor {
+  scalar operator()(const scalar &a) const {
+    return scalar(1.0 / sqrt(real(a)));
+  }
+};
 
-  template<class scalar> struct CosRealFunctor {
-    scalar operator()(const scalar &a)  const {
-      return cos(real(a));
-    }
-  };
+template <class scalar>
+struct CosRealFunctor {
+  scalar operator()(const scalar &a) const { return cos(real(a)); }
+};
 
-  template<class scalar> struct SinRealFunctor {
-    scalar operator()(const scalar &a)  const {
-      return sin(real(a));
-    }
-  };
+template <class scalar>
+struct SinRealFunctor {
+  scalar operator()(const scalar &a) const { return sin(real(a)); }
+};
 
-  template<class scalar> struct AcosRealFunctor {
-    scalar operator()(const scalar &a)  const {
-      return acos(real(a));
-    }
-  };
+template <class scalar>
+struct AcosRealFunctor {
+  scalar operator()(const scalar &a) const { return acos(real(a)); }
+};
 
-  template<class scalar> struct AsinRealFunctor {
-    scalar operator()(const scalar &a)  const {
-      return asin(real(a));
-    }
-  };
+template <class scalar>
+struct AsinRealFunctor {
+  scalar operator()(const scalar &a) const { return asin(real(a)); }
+};
 
-  template<class scalar> struct LogRealFunctor {
-    scalar operator()(const scalar &a)  const {
-      return log(real(a));
-    }
-  };
+template <class scalar>
+struct LogRealFunctor {
+  scalar operator()(const scalar &a) const { return log(real(a)); }
+};
 
-  template<class scalar> struct ExpRealFunctor {
-    scalar operator()(const scalar &a)  const {
-      return exp(real(a));
-    }
-  };
-  template<class scalar> struct NotFunctor {
-    scalar operator()(const scalar &a)  const {
-      return (!a);
-    }
-  };
-  template<class scalar> struct AbsRealFunctor {
-    scalar operator()(const scalar &a)  const {
-      return std::abs(real(a));
-    }
-  };
+template <class scalar>
+struct ExpRealFunctor {
+  scalar operator()(const scalar &a) const { return exp(real(a)); }
+};
+template <class scalar>
+struct NotFunctor {
+  scalar operator()(const scalar &a) const { return (!a); }
+};
+template <class scalar>
+struct AbsRealFunctor {
+  scalar operator()(const scalar &a) const { return std::abs(real(a)); }
+};
 
-  template<class scalar> struct PowRealFunctor {
-    double y;
-  PowRealFunctor(double _y) : y(_y) {};
-    scalar operator()(const scalar &a)  const {
-      return pow(real(a),y);
-    }
-  };
+template <class scalar>
+struct PowRealFunctor {
+  double y;
+  PowRealFunctor(double _y) : y(_y){};
+  scalar operator()(const scalar &a) const { return pow(real(a), y); }
+};
 
-  template<class scalar> struct ModIntFunctor {
-    Integer y;
-  ModIntFunctor(Integer _y) : y(_y) {};
-    scalar operator()(const scalar &a)  const {
-      return Integer(a)%y;
-    }
-  };
+template <class scalar>
+struct ModIntFunctor {
+  Integer y;
+  ModIntFunctor(Integer _y) : y(_y){};
+  scalar operator()(const scalar &a) const { return Integer(a) % y; }
+};
 
-  template<class scalar> struct DivIntFunctor {
-    Integer y;
-  DivIntFunctor(Integer _y) : y(_y) {};
-    scalar operator()(const scalar &a)  const {
-      return Integer(a)/y;
-    }
-  };
+template <class scalar>
+struct DivIntFunctor {
+  Integer y;
+  DivIntFunctor(Integer _y) : y(_y){};
+  scalar operator()(const scalar &a) const { return Integer(a) / y; }
+};
 
-  template<class scalar> struct RealFunctor {
-    scalar operator()(const std::complex<scalar> &a)  const {
-      return real(a);
-    }
-  };
-  template<class scalar> struct ImagFunctor {
-    scalar operator()(const std::complex<scalar> &a)  const {
-      return imag(a);
-    }
-  };
-  template < class S, class V > 
-    inline Grid_simd<S,V> real(const Grid_simd<S,V> &r) {
-    return SimdApply(RealFunctor<S>(),r);
-  }
-  template < class S, class V > 
-    inline Grid_simd<S,V> imag(const Grid_simd<S,V> &r) {
-    return SimdApply(ImagFunctor<S>(),r);
-  }
+template <class scalar>
+struct RealFunctor {
+  scalar operator()(const scalar &a) const { return std::real(a); }
+};
+template <class scalar>
+struct ImagFunctor {
+  scalar operator()(const scalar &a) const { return std::imag(a); }
+};
+template <class S, class V>
+inline Grid_simd<S, V> real(const Grid_simd<S, V> &r) {
+  return SimdApply(RealFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> imag(const Grid_simd<S, V> &r) {
+  return SimdApply(ImagFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> sqrt(const Grid_simd<S, V> &r) {
+  return SimdApply(SqrtRealFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> rsqrt(const Grid_simd<S, V> &r) {
+  return SimdApply(RSqrtRealFunctor<S>(), r);
+}
+template <class Scalar>
+inline Scalar rsqrt(const Scalar &r) {
+  return (RSqrtRealFunctor<Scalar>(), r);
+}
 
-  template < class S, class V > 
-  inline Grid_simd<S,V> sqrt(const Grid_simd<S,V> &r) {
-    return SimdApply(SqrtRealFunctor<S>(),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> rsqrt(const Grid_simd<S,V> &r) {
-    return SimdApply(RSqrtRealFunctor<S>(),r);
-  }
-  template < class Scalar > 
-  inline Scalar rsqrt(const Scalar &r) {
-    return (RSqrtRealFunctor<Scalar>(),r);
-  }
-
-  template < class S, class V > 
-  inline Grid_simd<S,V> cos(const Grid_simd<S,V> &r) {
-    return SimdApply(CosRealFunctor<S>(),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> sin(const Grid_simd<S,V> &r) {
-    return SimdApply(SinRealFunctor<S>(),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> acos(const Grid_simd<S,V> &r) {
-    return SimdApply(AcosRealFunctor<S>(),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> asin(const Grid_simd<S,V> &r) {
-    return SimdApply(AsinRealFunctor<S>(),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> log(const Grid_simd<S,V> &r) {
-    return SimdApply(LogRealFunctor<S>(),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> abs(const Grid_simd<S,V> &r) {
-    return SimdApply(AbsRealFunctor<S>(),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> exp(const Grid_simd<S,V> &r) {
-    return SimdApply(ExpRealFunctor<S>(),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> Not(const Grid_simd<S,V> &r) {
-    return SimdApply(NotFunctor<S>(),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> pow(const Grid_simd<S,V> &r,double y) {
-    return SimdApply(PowRealFunctor<S>(y),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> mod(const Grid_simd<S,V> &r,Integer y) {
-    return SimdApply(ModIntFunctor<S>(y),r);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> div(const Grid_simd<S,V> &r,Integer y) {
-    return SimdApply(DivIntFunctor<S>(y),r);
-  }
-  ////////////////////////////////////////////////////////////////////////////
-  // Allows us to assign into **conformable** real vectors from complex
-  ////////////////////////////////////////////////////////////////////////////
-  //  template < class S, class V > 
-  //  inline auto ComplexRemove(const Grid_simd<S,V> &c) -> Grid_simd<Grid_simd<S,V>::Real,V> {
-  //    Grid_simd<Grid_simd<S,V>::Real,V> ret;
-  //    ret.v = c.v;
-  //    return ret;
-  //  }
-  template<class scalar> struct AndFunctor {
-    scalar operator()(const scalar &x, const scalar &y)  const {
-      return x & y;
-    }
-  };
-  template<class scalar> struct OrFunctor {
-    scalar operator()(const scalar &x, const scalar &y)  const {
-      return x | y;
-    }
-  };
-  template<class scalar> struct AndAndFunctor {
-    scalar operator()(const scalar &x, const scalar &y)  const {
-      return x && y;
-    }
-  };
-  template<class scalar> struct OrOrFunctor {
-    scalar operator()(const scalar &x, const scalar &y)  const {
-      return x || y;
-    }
-  };
-
-  ////////////////////////////////
-  // Calls to simd binop functors
-  ////////////////////////////////
-  template < class S, class V > 
-  inline Grid_simd<S,V> operator &(const Grid_simd<S,V> &x,const Grid_simd<S,V> &y) {
-    return SimdApplyBinop(AndFunctor<S>(),x,y);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> operator &&(const Grid_simd<S,V> &x,const Grid_simd<S,V> &y) {
-    return SimdApplyBinop(AndAndFunctor<S>(),x,y);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> operator |(const Grid_simd<S,V> &x,const Grid_simd<S,V> &y) {
-    return SimdApplyBinop(OrFunctor<S>(),x,y);
-  }
-  template < class S, class V > 
-  inline Grid_simd<S,V> operator ||(const Grid_simd<S,V> &x,const Grid_simd<S,V> &y) {
-    return SimdApplyBinop(OrOrFunctor<S>(),x,y);
-  }
+template <class S, class V>
+inline Grid_simd<S, V> cos(const Grid_simd<S, V> &r) {
+  return SimdApply(CosRealFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> sin(const Grid_simd<S, V> &r) {
+  return SimdApply(SinRealFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> acos(const Grid_simd<S, V> &r) {
+  return SimdApply(AcosRealFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> asin(const Grid_simd<S, V> &r) {
+  return SimdApply(AsinRealFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> log(const Grid_simd<S, V> &r) {
+  return SimdApply(LogRealFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> abs(const Grid_simd<S, V> &r) {
+  return SimdApply(AbsRealFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> exp(const Grid_simd<S, V> &r) {
+  return SimdApply(ExpRealFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> Not(const Grid_simd<S, V> &r) {
+  return SimdApply(NotFunctor<S>(), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> pow(const Grid_simd<S, V> &r, double y) {
+  return SimdApply(PowRealFunctor<S>(y), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> mod(const Grid_simd<S, V> &r, Integer y) {
+  return SimdApply(ModIntFunctor<S>(y), r);
+}
+template <class S, class V>
+inline Grid_simd<S, V> div(const Grid_simd<S, V> &r, Integer y) {
+  return SimdApply(DivIntFunctor<S>(y), r);
+}
+////////////////////////////////////////////////////////////////////////////
+// Allows us to assign into **conformable** real vectors from complex
+////////////////////////////////////////////////////////////////////////////
+//  template < class S, class V >
+//  inline auto ComplexRemove(const Grid_simd<S,V> &c) ->
+//  Grid_simd<Grid_simd<S,V>::Real,V> {
+//    Grid_simd<Grid_simd<S,V>::Real,V> ret;
+//    ret.v = c.v;
+//    return ret;
+//  }
+template <class scalar>
+struct AndFunctor {
+  scalar operator()(const scalar &x, const scalar &y) const { return x & y; }
+};
+template <class scalar>
+struct OrFunctor {
+  scalar operator()(const scalar &x, const scalar &y) const { return x | y; }
+};
+template <class scalar>
+struct AndAndFunctor {
+  scalar operator()(const scalar &x, const scalar &y) const { return x && y; }
+};
+template <class scalar>
+struct OrOrFunctor {
+  scalar operator()(const scalar &x, const scalar &y) const { return x || y; }
+};
 
+////////////////////////////////
+// Calls to simd binop functors
+////////////////////////////////
+template <class S, class V>
+inline Grid_simd<S, V> operator&(const Grid_simd<S, V> &x,
+                                 const Grid_simd<S, V> &y) {
+  return SimdApplyBinop(AndFunctor<S>(), x, y);
+}
+template <class S, class V>
+inline Grid_simd<S, V> operator&&(const Grid_simd<S, V> &x,
+                                  const Grid_simd<S, V> &y) {
+  return SimdApplyBinop(AndAndFunctor<S>(), x, y);
+}
+template <class S, class V>
+inline Grid_simd<S, V> operator|(const Grid_simd<S, V> &x,
+                                 const Grid_simd<S, V> &y) {
+  return SimdApplyBinop(OrFunctor<S>(), x, y);
+}
+template <class S, class V>
+inline Grid_simd<S, V> operator||(const Grid_simd<S, V> &x,
+                                  const Grid_simd<S, V> &y) {
+  return SimdApplyBinop(OrOrFunctor<S>(), x, y);
+}
 }
 #endif
diff --git a/tests/Test_simd.cc b/tests/Test_simd.cc
index 2255c598..e5957db7 100644
--- a/tests/Test_simd.cc
+++ b/tests/Test_simd.cc
@@ -1,31 +1,32 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./tests/Test_simd.cc
+Source file: ./tests/Test_simd.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include <Grid.h>
 
 using namespace std;
@@ -62,6 +63,18 @@ public:
   template<class vec> void operator()(vec &rr,vec &i1,vec &i2) const { rr = adj(i1);}
   std::string name(void) const { return std::string("Adj"); }
 };
+class funcImag {
+public:
+  funcImag() {};
+  template<class vec> void operator()(vec &rr,vec &i1,vec &i2) const { rr = imag(i1);}
+  std::string name(void) const { return std::string("imag"); }
+};
+class funcReal {
+public:
+  funcReal() {};
+  template<class vec> void operator()(vec &rr,vec &i1,vec &i2) const { rr = real(i1);}
+  std::string name(void) const { return std::string("real"); }
+};
 
 class funcTimesI {
 public:
@@ -141,7 +154,13 @@ void Tester(const functor &func)
   }
 
   extract<vec,scal>(v_result,result);
-  std::cout<<GridLogMessage << " " << func.name()<<std::endl;
+
+  std::cout << GridLogMessage << " " << func.name() << std::endl;
+
+  std::cout << GridLogDebug << v_input1 << std::endl;
+  std::cout << GridLogDebug << v_result << std::endl;
+
+
 
   int ok=0;
   for(int i=0;i<Nsimd;i++){
@@ -389,6 +408,8 @@ int main (int argc, char ** argv)
   Tester<ComplexF,vComplexF>(funcTimes());
   Tester<ComplexF,vComplexF>(funcConj());
   Tester<ComplexF,vComplexF>(funcAdj());
+  Tester<ComplexF,vComplexF>(funcReal());
+  Tester<ComplexF,vComplexF>(funcImag());
   Tester<ComplexF,vComplexF>(funcInnerProduct());
   ReductionTester<ComplexF,ComplexF,vComplexF>(funcReduce());
 
@@ -421,17 +442,21 @@ int main (int argc, char ** argv)
   Tester<ComplexD,vComplexD>(funcTimes());
   Tester<ComplexD,vComplexD>(funcConj());
   Tester<ComplexD,vComplexD>(funcAdj());
-  Tester<ComplexD,vComplexD>(funcInnerProduct());
-  ReductionTester<ComplexD,ComplexD,vComplexD>(funcReduce());
+  Tester<ComplexD, vComplexD>(funcReal());
+  Tester<ComplexD, vComplexD>(funcImag());
 
+  Tester<ComplexD, vComplexD>(funcInnerProduct());
+  ReductionTester<ComplexD, ComplexD, vComplexD>(funcReduce());
 
-  std::cout<<GridLogMessage << "==================================="<<  std::endl;
-  std::cout<<GridLogMessage << "Testing vComplexD permutes "<<std::endl;
-  std::cout<<GridLogMessage << "==================================="<<  std::endl;
+  std::cout << GridLogMessage
+            << "===================================" << std::endl;
+  std::cout << GridLogMessage << "Testing vComplexD permutes " << std::endl;
+  std::cout << GridLogMessage
+            << "===================================" << std::endl;
 
   // Log2 iteration
-  for(int i=0;(1<<i)< vComplexD::Nsimd();i++){
-    PermTester<ComplexD,vComplexD>(funcPermute(i));
+  for (int i = 0; (1 << i) < vComplexD::Nsimd(); i++) {
+    PermTester<ComplexD, vComplexD>(funcPermute(i));
   }
 
 

From e87182cf98fd1f4a8785baf5d3b95e00c6a5068d Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Wed, 6 Jul 2016 15:31:00 +0100
Subject: [PATCH 025/295] Debugged the copy constructor of the Lattice class

---
 lib/lattice/Lattice_base.h            |   51 +-
 lib/qcd/smearing/GaugeConfiguration.h |  470 +++++-----
 scripts/copyright                     |   36 +-
 tests/Test_main.cc                    | 1180 +++++++++++++------------
 4 files changed, 888 insertions(+), 849 deletions(-)

diff --git a/lib/lattice/Lattice_base.h b/lib/lattice/Lattice_base.h
index d97b1204..c91b7989 100644
--- a/lib/lattice/Lattice_base.h
+++ b/lib/lattice/Lattice_base.h
@@ -1,32 +1,33 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/lattice/Lattice_base.h
+Source file: ./lib/lattice/Lattice_base.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef GRID_LATTICE_BASE_H
 #define GRID_LATTICE_BASE_H
 
@@ -255,6 +256,18 @@ PARALLEL_FOR_LOOP
         checkerboard=0;
     }
 
+    Lattice(const Lattice& r){ // copy constructor
+    	_grid = r._grid;
+    	checkerboard = r.checkerboard;
+    	_odata.resize(_grid->oSites());// essential
+  		PARALLEL_FOR_LOOP
+        for(int ss=0;ss<_grid->oSites();ss++){
+            _odata[ss]=r._odata[ss];
+        }  	
+    }
+
+
+
     virtual ~Lattice(void) = default;
     
     template<class sobj> strong_inline Lattice<vobj> & operator = (const sobj & r){
@@ -267,7 +280,7 @@ PARALLEL_FOR_LOOP
     template<class robj> strong_inline Lattice<vobj> & operator = (const Lattice<robj> & r){
       this->checkerboard = r.checkerboard;
       conformable(*this,r);
-      std::cout<<GridLogMessage<<"Lattice operator ="<<std::endl;
+      
 PARALLEL_FOR_LOOP
         for(int ss=0;ss<_grid->oSites();ss++){
             this->_odata[ss]=r._odata[ss];
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index d9b3402f..6219702b 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -6,277 +6,257 @@
 #ifndef GAUGE_CONFIG_
 #define GAUGE_CONFIG_
 
-  namespace Grid {
+namespace Grid {
 
-  	namespace QCD {
+namespace QCD {
 
-    /*!
-      @brief Smeared configuration container
-      
-      It will behave like a configuration from the point of view of
-      the HMC update and integrators.
-      An "advanced configuration" object that can provide not only the 
-      data to store the gauge configuration but also operations to manipulate
-      it, like smearing.
-      
-      It stores a list of smeared configurations.
-    */
-    template <class Gimpl>
-      class SmearedConfiguration {
-      public:
-      	INHERIT_GIMPL_TYPES(Gimpl) ;
+/*!
+  @brief Smeared configuration container
 
-      private:
-      	const unsigned int smearingLevels;
-      	Smear_Stout<Gimpl> StoutSmearing;
-      	std::vector<GaugeField> SmearedSet;
+  It will behave like a configuration from the point of view of
+  the HMC update and integrators.
+  An "advanced configuration" object that can provide not only the
+  data to store the gauge configuration but also operations to manipulate
+  it, like smearing.
 
-      // Member functions
-      //====================================================================
-      	void fill_smearedSet(GaugeField& U){
-	ThinLinks = &U; //attach the smearing routine to the field U
+  It stores a list of smeared configurations.
+*/
+template <class Gimpl>
+class SmearedConfiguration {
+ public:
+  INHERIT_GIMPL_TYPES(Gimpl);
 
-	//check the pointer is not null
-	if (ThinLinks==NULL) 
-		std::cout << GridLogError << "[SmearedConfiguration] Error in ThinLinks pointer\n";
-	
-	if (smearingLevels > 0){
-		std::cout<< GridLogDebug << "[SmearedConfiguration] Filling SmearedSet\n";
-		GaugeField previous_u(ThinLinks->_grid);
+ private:
+  const unsigned int smearingLevels;
+  Smear_Stout<Gimpl> StoutSmearing;
+  std::vector<GaugeField> SmearedSet;
 
-		previous_u = *ThinLinks;
-		for(int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl){
-			StoutSmearing.smear(SmearedSet[smearLvl],previous_u);
-			previous_u = SmearedSet[smearLvl];
+  // Member functions
+  //====================================================================
+  void fill_smearedSet(GaugeField& U) {
+    ThinLinks = &U;  // attach the smearing routine to the field U
 
-	    // For debug purposes
-			RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(previous_u);
-			std::cout<< GridLogDebug << "[SmearedConfiguration] Plaq: " << impl_plaq<< std::endl;
+    // check the pointer is not null
+    if (ThinLinks == NULL)
+      std::cout << GridLogError
+                << "[SmearedConfiguration] Error in ThinLinks pointer\n";
 
-		}
+    if (smearingLevels > 0) {
+      std::cout << GridLogDebug
+                << "[SmearedConfiguration] Filling SmearedSet\n";
+      GaugeField previous_u(ThinLinks->_grid);
 
-	}
-}
-//====================================================================
-GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime, 
-	const GaugeField& GaugeK) const{
-	GridBase *grid = GaugeK._grid;
-	GaugeField C(grid), SigmaK(grid), iLambda(grid);
-	GaugeLinkField iLambda_mu(grid);
-	GaugeLinkField iQ(grid), e_iQ(grid);
-	GaugeLinkField SigmaKPrime_mu(grid);
-	GaugeLinkField GaugeKmu(grid), Cmu(grid);
+      previous_u = *ThinLinks;
+      for (int smearLvl = 0; smearLvl < smearingLevels; ++smearLvl) {
+        StoutSmearing.smear(SmearedSet[smearLvl], previous_u);
+        previous_u = SmearedSet[smearLvl];
 
-	StoutSmearing.BaseSmear(C, GaugeK);
-	SigmaK = zero;
-	iLambda = zero;
-
-	for (int mu = 0; mu < Nd; mu++){
-		Cmu            = peekLorentz(     C,mu);
-		GaugeKmu       = peekLorentz(GaugeK,mu);
-		SigmaKPrime_mu = peekLorentz(SigmaKPrime,mu);
-		iQ = Ta(Cmu*adj(GaugeKmu));	
-		set_iLambda(iLambda_mu, e_iQ, iQ, SigmaKPrime_mu, GaugeKmu);
-		pokeLorentz(SigmaK, SigmaKPrime_mu*e_iQ + adj(Cmu)*iLambda_mu, mu);
-		pokeLorentz(iLambda, iLambda_mu, mu);
-	}
-	StoutSmearing.derivative(SigmaK, iLambda, GaugeK);// derivative of SmearBase
-	return SigmaK;
-}
-
-
-
-/*! @brief Returns smeared configuration at level 'Level' */
-const GaugeField& get_smeared_conf(int Level) const{
-	return SmearedSet[Level];
-}
-
-
-//====================================================================
-void set_iLambda(GaugeLinkField& iLambda, 
-	GaugeLinkField& e_iQ,
-	const GaugeLinkField& iQ, 
-	const GaugeLinkField& Sigmap,
-	const GaugeLinkField& GaugeK)const{
-	GridBase *grid = iQ._grid;
-	GaugeLinkField iQ2(grid), iQ3(grid), B1(grid), B2(grid), USigmap(grid);
-	GaugeLinkField unity(grid);
-	unity=1.0;
-	
-	LatticeComplex u(grid), w(grid);
-	LatticeComplex f0(grid), f1(grid), f2(grid);
-	LatticeComplex xi0(grid), xi1(grid), tmp(grid);
-	LatticeComplex u2(grid), w2(grid), cosw(grid);
-	LatticeComplex emiu(grid), e2iu(grid), qt(grid), fden(grid);
-	LatticeComplex r01(grid), r11(grid), r21(grid), r02(grid), r12(grid);
-	LatticeComplex r22(grid), tr1(grid), tr2(grid);
-	LatticeComplex b10(grid), b11(grid), b12(grid), b20(grid), b21(grid), b22(grid);
-	LatticeComplex LatticeUnitComplex(grid);
-
-	LatticeUnitComplex = 1.0;
-	
-	// Exponential
-	iQ2 = iQ * iQ;
-	iQ3 = iQ * iQ2;
-	StoutSmearing.set_uw(u,w,iQ2,iQ3);
-	StoutSmearing.set_fj(f0,f1,f2,u,w);
-	e_iQ = f0*unity + timesMinusI(f1) * iQ - f2 * iQ2;
-
-	// Getting B1, B2, Gamma and Lambda
-	// simplify this part, reduntant calculations in set_fj
-	xi0 = StoutSmearing.func_xi0(w);
-	xi1 = StoutSmearing.func_xi1(w);
-	u2 = u * u;
-	w2 = w * w;
-	cosw = cos(w);
-
-	emiu = cos(u) - timesI(sin(u));
-	e2iu = cos(2.0*u) + timesI(sin(2.0*u));
-
-	r01 = (2.0*u + timesI(2.0*(u2-w2))) * e2iu
-	+ emiu * ((16.0*u*cosw + 2.0*u*(3.0*u2+w2)*xi0) +
-		timesI(-8.0*u2*cosw + 2.0*(9.0*u2+w2)*xi0));
-	
-	r11 = (2.0*LatticeUnitComplex + timesI(4.0*u))* e2iu
-	+ emiu * ((-2.0*cosw + (3.0*u2-w2)*xi0) +
-		timesI((2.0*u*cosw + 6.0*u*xi0)));
-
-	r21 = 2.0*timesI(e2iu)
-	+ emiu * (-3.0*u*xi0 + timesI(cosw - 3.0*xi0));
-
-	
-	r02 = -2.0 * e2iu + emiu * (-8.0*u2*xi0 +
-		timesI(2.0*u*(cosw + xi0 + 3.0*u2*xi1)));
-
-	r12 = emiu * (2.0*u*xi0 + timesI(-cosw - xi0 + 3.0*u2*xi1));
-
-	r22 = emiu * (xi0 - timesI(3.0*u*xi1));
-
-	fden = LatticeUnitComplex/(2.0*(9.0*u2-w2)*(9.0*u2-w2));
-	
-	b10 = 2.0 * u * r01 + (3.0* u2 - w2)*r02 - (30.0 * u2 + 2.0 * w2)*f0;
-	b11 = 2.0 * u * r11 + (3.0* u2 - w2)*r12 - (30.0 * u2 + 2.0 * w2)*f1;
-	b12 = 2.0 * u * r21 + (3.0* u2 - w2)*r22 - (30.0 * u2 + 2.0 * w2)*f2;
-
-	b20 = r01 - (3.0*u)*r02 - (24.0*u)*f0;
-	b21 = r11 - (3.0*u)*r12 - (24.0*u)*f1;
-	b22 = r21 - (3.0*u)*r22 - (24.0*u)*f2;
-
-	b10 *= fden;
-	b11 *= fden;
-	b12 *= fden;
-	b20 *= fden;
-	b21 *= fden;
-	b22 *= fden;
-
-
-	B1 = b10*unity + timesMinusI(b11) * iQ - b12 * iQ2;
-	B2 = b20*unity + timesMinusI(b21) * iQ - b22 * iQ2;
-	USigmap = GaugeK * Sigmap;
-
-	tr1 = trace(USigmap*B1);
-	tr2 = trace(USigmap*B2);
-
-	GaugeLinkField QUS = iQ * USigmap;
-	GaugeLinkField USQ = USigmap * iQ;
-
-	GaugeLinkField iGamma = tr1 * iQ - timesI(tr2) * iQ2 +
-	timesI(f1) * USigmap + f2 * QUS + f2 * USQ;
-
-	iLambda = Ta(iGamma);
-
-}
-
-//==================================================================== 
-public:
-    GaugeField* ThinLinks;      /*!< @brief Pointer to the thin 
-				    					links configuration */
-
-      /*! @brief Standard constructor */
-    SmearedConfiguration(GridCartesian * UGrid,
-    	unsigned int Nsmear, 
-    	Smear_Stout<Gimpl>& Stout):
-    smearingLevels(Nsmear),
-    StoutSmearing(Stout),
-    ThinLinks(NULL){
-    	for (unsigned int i=0; i< smearingLevels; ++i)
-    		SmearedSet.push_back(*(new GaugeField(UGrid)));
+        // For debug purposes
+        RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(previous_u);
+        std::cout << GridLogDebug
+                  << "[SmearedConfiguration] Plaq: " << impl_plaq << std::endl;
+      }
     }
+  }
+  //====================================================================
+  GaugeField AnalyticSmearedForce(const GaugeField& SigmaKPrime,
+                                  const GaugeField& GaugeK) const {
+    GridBase* grid = GaugeK._grid;
+    GaugeField C(grid), SigmaK(grid), iLambda(grid);
+    GaugeLinkField iLambda_mu(grid);
+    GaugeLinkField iQ(grid), e_iQ(grid);
+    GaugeLinkField SigmaKPrime_mu(grid);
+    GaugeLinkField GaugeKmu(grid), Cmu(grid);
 
-      /*! For just thin links */
-    SmearedConfiguration():
-    smearingLevels(0),
-    StoutSmearing(),
-    SmearedSet(),
-    ThinLinks(NULL){}
+    StoutSmearing.BaseSmear(C, GaugeK);
+    SigmaK = zero;
+    iLambda = zero;
 
+    for (int mu = 0; mu < Nd; mu++) {
+      Cmu = peekLorentz(C, mu);
+      GaugeKmu = peekLorentz(GaugeK, mu);
+      SigmaKPrime_mu = peekLorentz(SigmaKPrime, mu);
+      iQ = Ta(Cmu * adj(GaugeKmu));
+      set_iLambda(iLambda_mu, e_iQ, iQ, SigmaKPrime_mu, GaugeKmu);
+      pokeLorentz(SigmaK, SigmaKPrime_mu * e_iQ + adj(Cmu) * iLambda_mu, mu);
+      pokeLorentz(iLambda, iLambda_mu, mu);
+    }
+    StoutSmearing.derivative(SigmaK, iLambda,
+                             GaugeK);  // derivative of SmearBase
+    return SigmaK;
+  }
 
-      // attach the smeared routines to the thin links U and fill the smeared set
-    void set_GaugeField(GaugeField& U){ fill_smearedSet(U);}
+  /*! @brief Returns smeared configuration at level 'Level' */
+  const GaugeField& get_smeared_conf(int Level) const {
+    return SmearedSet[Level];
+  }
 
-//====================================================================
-    void smeared_force(GaugeField& SigmaTilde) const{
+  //====================================================================
+  void set_iLambda(GaugeLinkField& iLambda, GaugeLinkField& e_iQ,
+                   const GaugeLinkField& iQ, const GaugeLinkField& Sigmap,
+                   const GaugeLinkField& GaugeK) const {
+    GridBase* grid = iQ._grid;
+    GaugeLinkField iQ2(grid), iQ3(grid), B1(grid), B2(grid), USigmap(grid);
+    GaugeLinkField unity(grid);
+    unity = 1.0;
 
-    	if (smearingLevels > 0){
-    		GaugeField     force(SigmaTilde._grid); 
-    		GaugeLinkField tmp_mu(SigmaTilde._grid);
-	  		force = SigmaTilde;//actually = U*SigmaTilde
+    LatticeComplex u(grid), w(grid);
+    LatticeComplex f0(grid), f1(grid), f2(grid);
+    LatticeComplex xi0(grid), xi1(grid), tmp(grid);
+    LatticeComplex u2(grid), w2(grid), cosw(grid);
+    LatticeComplex emiu(grid), e2iu(grid), qt(grid), fden(grid);
+    LatticeComplex r01(grid), r11(grid), r21(grid), r02(grid), r12(grid);
+    LatticeComplex r22(grid), tr1(grid), tr2(grid);
+    LatticeComplex b10(grid), b11(grid), b12(grid), b20(grid), b21(grid),
+        b22(grid);
+    LatticeComplex LatticeUnitComplex(grid);
 
-	  		for (int mu = 0; mu < Nd; mu++){
-		    	// to get just SigmaTilde
-	  			tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels-1], mu)) * peekLorentz(force,mu);
-	  			pokeLorentz(force, tmp_mu, mu);
-	  		}
+    LatticeUnitComplex = 1.0;
 
-	  		for(int ismr = smearingLevels - 1; ismr > 0; --ismr)
-	  			force = AnalyticSmearedForce(force,get_smeared_conf(ismr-1));
+    // Exponential
+    iQ2 = iQ * iQ;
+    iQ3 = iQ * iQ2;
+    StoutSmearing.set_uw(u, w, iQ2, iQ3);
+    StoutSmearing.set_fj(f0, f1, f2, u, w);
+    e_iQ = f0 * unity + timesMinusI(f1) * iQ - f2 * iQ2;
 
-	  		force = AnalyticSmearedForce(force,*ThinLinks);
-	  		
-	  		for (int mu = 0; mu < Nd; mu++){
-	  			tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
-	  			pokeLorentz(SigmaTilde, tmp_mu, mu);
-	  		}
-	}// if smearingLevels = 0 do nothing
-}
-      //====================================================================
+    // Getting B1, B2, Gamma and Lambda
+    // simplify this part, reduntant calculations in set_fj
+    xi0 = StoutSmearing.func_xi0(w);
+    xi1 = StoutSmearing.func_xi1(w);
+    u2 = u * u;
+    w2 = w * w;
+    cosw = cos(w);
 
+    emiu = cos(u) - timesI(sin(u));
+    e2iu = cos(2.0 * u) + timesI(sin(2.0 * u));
 
-GaugeField& get_SmearedU(){ 
-	return SmearedSet[smearingLevels-1];
-}
+    r01 = (2.0 * u + timesI(2.0 * (u2 - w2))) * e2iu +
+          emiu * ((16.0 * u * cosw + 2.0 * u * (3.0 * u2 + w2) * xi0) +
+                  timesI(-8.0 * u2 * cosw + 2.0 * (9.0 * u2 + w2) * xi0));
 
-GaugeField& get_U(bool smeared=false) { 
-	// get the config, thin links by default
-	if (smeared){
-		if (smearingLevels){ 
-			RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(SmearedSet[smearingLevels-1]);
-			std::cout<< GridLogDebug << "getting Usmr Plaq: " << impl_plaq<< std::endl;
-			return get_SmearedU();
+    r11 = (2.0 * LatticeUnitComplex + timesI(4.0 * u)) * e2iu +
+          emiu * ((-2.0 * cosw + (3.0 * u2 - w2) * xi0) +
+                  timesI((2.0 * u * cosw + 6.0 * u * xi0)));
 
-		}
-		else  {
-			RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
-			std::cout<< GridLogDebug << "getting Thin Plaq: " << impl_plaq<< std::endl;
-			return *ThinLinks;
-		}
-	}
-	else{
-		RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
-		std::cout<< GridLogDebug << "getting Thin Plaq: " << impl_plaq<< std::endl;
-		return *ThinLinks;}
-	}
+    r21 =
+        2.0 * timesI(e2iu) + emiu * (-3.0 * u * xi0 + timesI(cosw - 3.0 * xi0));
 
+    r02 = -2.0 * e2iu +
+          emiu * (-8.0 * u2 * xi0 +
+                  timesI(2.0 * u * (cosw + xi0 + 3.0 * u2 * xi1)));
+
+    r12 = emiu * (2.0 * u * xi0 + timesI(-cosw - xi0 + 3.0 * u2 * xi1));
+
+    r22 = emiu * (xi0 - timesI(3.0 * u * xi1));
+
+    fden = LatticeUnitComplex / (2.0 * (9.0 * u2 - w2) * (9.0 * u2 - w2));
+
+    b10 = 2.0 * u * r01 + (3.0 * u2 - w2) * r02 - (30.0 * u2 + 2.0 * w2) * f0;
+    b11 = 2.0 * u * r11 + (3.0 * u2 - w2) * r12 - (30.0 * u2 + 2.0 * w2) * f1;
+    b12 = 2.0 * u * r21 + (3.0 * u2 - w2) * r22 - (30.0 * u2 + 2.0 * w2) * f2;
+
+    b20 = r01 - (3.0 * u) * r02 - (24.0 * u) * f0;
+    b21 = r11 - (3.0 * u) * r12 - (24.0 * u) * f1;
+    b22 = r21 - (3.0 * u) * r22 - (24.0 * u) * f2;
+
+    b10 *= fden;
+    b11 *= fden;
+    b12 *= fden;
+    b20 *= fden;
+    b21 *= fden;
+    b22 *= fden;
+
+    B1 = b10 * unity + timesMinusI(b11) * iQ - b12 * iQ2;
+    B2 = b20 * unity + timesMinusI(b21) * iQ - b22 * iQ2;
+    USigmap = GaugeK * Sigmap;
+
+    tr1 = trace(USigmap * B1);
+    tr2 = trace(USigmap * B2);
+
+    GaugeLinkField QUS = iQ * USigmap;
+    GaugeLinkField USQ = USigmap * iQ;
+
+    GaugeLinkField iGamma = tr1 * iQ - timesI(tr2) * iQ2 +
+                            timesI(f1) * USigmap + f2 * QUS + f2 * USQ;
+
+    iLambda = Ta(iGamma);
+  }
+
+  //====================================================================
+ public:
+  GaugeField*
+      ThinLinks; /*!< @brief Pointer to the thin
+                                                         links configuration */
+
+  /*! @brief Standard constructor */
+  SmearedConfiguration(GridCartesian* UGrid, unsigned int Nsmear,
+                       Smear_Stout<Gimpl>& Stout)
+      : smearingLevels(Nsmear), StoutSmearing(Stout), ThinLinks(NULL) {
+    for (unsigned int i = 0; i < smearingLevels; ++i)
+      SmearedSet.push_back(*(new GaugeField(UGrid)));
+  }
+
+  /*! For just thin links */
+  SmearedConfiguration()
+      : smearingLevels(0), StoutSmearing(), SmearedSet(), ThinLinks(NULL) {}
+
+  // attach the smeared routines to the thin links U and fill the smeared set
+  void set_GaugeField(GaugeField& U) { fill_smearedSet(U); }
+
+  //====================================================================
+  void smeared_force(GaugeField& SigmaTilde) const {
+    if (smearingLevels > 0) {
+      GaugeField force = SigmaTilde; // actually = U*SigmaTilde
+      GaugeLinkField tmp_mu(SigmaTilde._grid);
+
+      for (int mu = 0; mu < Nd; mu++) {
+        // to get just SigmaTilde
+        tmp_mu = adj(peekLorentz(SmearedSet[smearingLevels - 1], mu)) *
+                 peekLorentz(force, mu);
+        pokeLorentz(force, tmp_mu, mu);
+      }
+
+      for (int ismr = smearingLevels - 1; ismr > 0; --ismr)
+        force = AnalyticSmearedForce(force, get_smeared_conf(ismr - 1));
+
+      force = AnalyticSmearedForce(force, *ThinLinks);
+
+      for (int mu = 0; mu < Nd; mu++) {
+        tmp_mu = peekLorentz(*ThinLinks, mu) * peekLorentz(force, mu);
+        pokeLorentz(SigmaTilde, tmp_mu, mu);
+      }
+    }  // if smearingLevels = 0 do nothing
+  }
+  //====================================================================
+
+  GaugeField& get_SmearedU() { return SmearedSet[smearingLevels - 1]; }
+
+  GaugeField& get_U(bool smeared = false) {
+    // get the config, thin links by default
+    if (smeared) {
+      if (smearingLevels) {
+        RealD impl_plaq =
+            WilsonLoops<Gimpl>::avgPlaquette(SmearedSet[smearingLevels - 1]);
+        std::cout << GridLogDebug << "getting Usmr Plaq: " << impl_plaq
+                  << std::endl;
+        return get_SmearedU();
+
+      } else {
+        RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
+        std::cout << GridLogDebug << "getting Thin Plaq: " << impl_plaq
+                  << std::endl;
+        return *ThinLinks;
+      }
+    } else {
+      RealD impl_plaq = WilsonLoops<Gimpl>::avgPlaquette(*ThinLinks);
+      std::cout << GridLogDebug << "getting Thin Plaq: " << impl_plaq
+                << std::endl;
+      return *ThinLinks;
+    }
+  }
 };
-
-
 }
-
 }
 
-
-
-
-
-
 #endif
diff --git a/scripts/copyright b/scripts/copyright
index 76ed6603..92772f16 100755
--- a/scripts/copyright
+++ b/scripts/copyright
@@ -5,13 +5,13 @@ while (( "$#" )); do
 echo $1
 
 cat > message  <<EOF
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid 
 
-    Source file: $1
+Source file: $1
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 EOF
 
@@ -19,23 +19,23 @@ git log $1 | grep Author | sort -u >> message
 
 cat >> message <<EOF
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution directory
+*************************************************************************************/
+/*  END LEGAL */
 EOF
 
 cat message > tmp.fil
diff --git a/tests/Test_main.cc b/tests/Test_main.cc
index 3cbe5229..7eb0107b 100644
--- a/tests/Test_main.cc
+++ b/tests/Test_main.cc
@@ -1,620 +1,666 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./tests/Test_main.cc
+Source file: ./tests/Test_main.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include "Grid.h"
 
-
 using namespace std;
 using namespace Grid;
 using namespace Grid::QCD;
 
 /*
- Grid_main.cc(232): error: no suitable user-defined conversion from "Grid::iScalar<Grid::iMatrix<Grid::iScalar<Grid::Complex>, 4>>" to "const Grid::iScalar<Grid::iScalar<Grid::iMatrix<Grid::Complex, 3>>>" exists
+ Grid_main.cc(232): error: no suitable user-defined conversion from
+"Grid::iScalar<Grid::iMatrix<Grid::iScalar<Grid::Complex>, 4>>" to "const
+Grid::iScalar<Grid::iScalar<Grid::iMatrix<Grid::Complex, 3>>>" exists
 c_m = peekIdiot<SpinColourMatrix>(scm,1,2);
 */
-template<class vobj> auto peekIdiot(const vobj &rhs,int i,int j) -> decltype(peekIndex<2>(rhs,0,0))
-{
-  return peekIndex<2>(rhs,i,j);
+template <class vobj>
+auto peekIdiot(const vobj &rhs, int i, int j)
+    -> decltype(peekIndex<2>(rhs, 0, 0)) {
+  return peekIndex<2>(rhs, i, j);
 }
-template<class vobj> auto peekDumKopf(const vobj &rhs,int i,int j) -> decltype(peekIndex<3>(rhs,0,0))
-{
-  return peekIndex<3>(rhs,i,j);
+template <class vobj>
+auto peekDumKopf(const vobj &rhs, int i, int j)
+    -> decltype(peekIndex<3>(rhs, 0, 0)) {
+  return peekIndex<3>(rhs, i, j);
 }
-template<class vobj> auto peekDumKopf(const vobj &rhs,int i) -> decltype(peekIndex<3>(rhs,0))
-{
-  return peekIndex<3>(rhs,i);
+template <class vobj>
+auto peekDumKopf(const vobj &rhs, int i) -> decltype(peekIndex<3>(rhs, 0)) {
+  return peekIndex<3>(rhs, i);
 }
 
-int main (int argc, char ** argv)
-{
-  Grid_init(&argc,&argv);
+int main(int argc, char **argv) {
+  Grid_init(&argc, &argv);
 
-  std::vector<int> latt_size   = GridDefaultLatt();
-  std::vector<int> simd_layout = GridDefaultSimd(4,vComplex::Nsimd());
-  std::vector<int> mpi_layout  = GridDefaultMpi();
+  std::vector<int> latt_size = GridDefaultLatt();
+  std::vector<int> simd_layout = GridDefaultSimd(4, vComplex::Nsimd());
+  std::vector<int> mpi_layout = GridDefaultMpi();
 
   latt_size.resize(4);
 
 #ifdef AVX512
- for(int omp=128;omp<236;omp+=16){
+  for (int omp = 128; omp < 236; omp += 16) {
 #else
- for(int omp=1;omp<2;omp*=20){
+  for (int omp = 1; omp < 2; omp *= 20) {
 #endif
 
 #ifdef OMP
-   omp_set_num_threads(omp);
-#endif 
-
-  for(int lat=8;lat<=16;lat+=40){
-
-    std::cout << "Lat "<<lat<<std::endl;
-
-    latt_size[0] = lat;
-    latt_size[1] = lat;
-    latt_size[2] = lat;
-    latt_size[3] = lat;
-    double volume = latt_size[0]*latt_size[1]*latt_size[2]*latt_size[3];
-    
-    GridCartesian           Fine(latt_size,simd_layout,mpi_layout);
-    GridRedBlackCartesian rbFine(latt_size,simd_layout,mpi_layout);
-    GridParallelRNG       FineRNG(&Fine);
-    GridSerialRNG       SerialRNG;
-    GridSerialRNG       SerialRNG1;
-
-    FineRNG.SeedRandomDevice();
-    SerialRNG.SeedRandomDevice();
-
-    std::cout <<"SerialRNG" << SerialRNG._generators[0] <<std::endl;
-
-    std::vector<typename GridSerialRNG::RngStateType> saved;
-    SerialRNG.GetState(saved,0);
-    SerialRNG1.SetState(saved,0);
-
-    RealD dd1,dd2;
-
-    std::cout << "Testing RNG state save restore"<<std::endl;
-    for(int i=0;i<10;i++){
-      random(SerialRNG,dd1);
-      random(SerialRNG1,dd2);
-      std::cout << "i "<<i<<" "<<dd1<< " " <<dd2<<std::endl;
-    }
-    LatticeColourMatrix Foo(&Fine);
-    LatticeColourMatrix Bar(&Fine);
-
-    LatticeSpinColourMatrix scFoo(&Fine);
-    LatticeSpinColourMatrix scBar(&Fine);
-
-    LatticeColourMatrix Shifted(&Fine);
-    LatticeColourMatrix ShiftedCheck(&Fine);
-    LatticeColourMatrix rShifted(&rbFine);
-    LatticeColourMatrix bShifted(&rbFine);
-   
-    LatticeColourMatrix rFoo(&rbFine);
-    LatticeColourMatrix bFoo(&rbFine);
-    
-    LatticeColourMatrix FooBar(&Fine);
-    LatticeSpinColourMatrix scFooBar(&Fine);
-    
-    LatticeColourVector     cVec(&Fine);
-    LatticeSpinVector       sVec(&Fine);
-    LatticeSpinColourVector scVec(&Fine);
-
-    LatticeColourMatrix     cMat(&Fine);
-    LatticeSpinMatrix       sMat(&Fine);
-    LatticeSpinColourMatrix scMat(&Fine);
-    
-    LatticeLorentzColourMatrix lcMat(&Fine);
-
-
-    LatticeComplex scalar(&Fine);
-    LatticeReal    rscalar(&Fine);
-    LatticeReal    iscalar(&Fine);
-
-    SpinMatrix GammaFive;
-    iSpinMatrix<vComplex> iGammaFive;
-    ColourMatrix cmat;
-    
-    random(FineRNG,Foo);
-    gaussian(FineRNG,Bar);
-    random(FineRNG,scFoo);
-    random(FineRNG,scBar);
-
-    random(FineRNG,cMat);
-    random(FineRNG,sMat);
-    random(FineRNG,scMat);
-    random(FineRNG,lcMat);
-    random(FineRNG,cVec);
-    random(FineRNG,sVec);
-    random(FineRNG,scVec);
-
-
-    fflush(stdout);
-    
-    TComplex tr = trace(cmat);
-
-     
-    cVec = cMat * cVec;  // LatticeColourVector     = LatticeColourMatrix     * LatticeColourVector
-    sVec = sMat * sVec;  // LatticeSpinVector       = LatticeSpinMatrix       * LatticeSpinVector
-    scVec= scMat * scVec;// LatticeSpinColourVector = LatticeSpinColourMatrix * LatticeSpinColourVector
-    scVec= cMat * scVec; // LatticeSpinColourVector = LatticeColourMatrix     * LatticeSpinColourVector
-    scVec= sMat * scVec; // LatticeSpinColourVector = LatticeSpinMatrix       * LatticeSpinColourVector
-    
-    cMat = outerProduct(cVec,cVec);
-    scalar = localInnerProduct(cVec,cVec);
-
-    cMat = Ta(cMat);  //traceless antihermitian
-
-
-    scalar += scalar;
-    scalar -= scalar;
-    scalar *= scalar;
-    add(scalar,scalar,scalar);
-    sub(scalar,scalar,scalar);
-    mult(scalar,scalar,scalar);
-
-    mac(scalar,scalar,scalar);
-    scalar = scalar+scalar;
-    scalar = scalar-scalar;
-    scalar = scalar*scalar;
-
-    scalar=outerProduct(scalar,scalar);
-
-    scalar=adj(scalar);
-
-    //    rscalar=real(scalar);
-    //    iscalar=imag(scalar);
-    //    scalar =cmplx(rscalar,iscalar);
-    PokeIndex<ColourIndex>(cVec,scalar,1);
-
-
-    scalar=transpose(scalar);
-    scalar=TransposeIndex<ColourIndex>(scalar);
-    scalar=TraceIndex<SpinIndex>(scalar);
-    scalar=PeekIndex<ColourIndex>(cVec,0);
-
-    scalar=trace(scalar);
-    scalar=localInnerProduct(cVec,cVec);
-    scalar=localNorm2(cVec);
-    
-//     -=,+=,*=,()
-//     add,+,sub,-,mult,mac,*
-//     adj,conjugate
-//     real,imag
-//     transpose,transposeIndex  
-//     trace,traceIndex
-//     peekIndex
-//     innerProduct,outerProduct,
-//     localNorm2
-//     localInnerProduct
-    
-  
-    scMat = sMat*scMat;  // LatticeSpinColourMatrix = LatticeSpinMatrix       * LatticeSpinColourMatrix
-
-    
-    ///////////////////////
-    // Non-lattice (const objects) * Lattice
-    ColourMatrix cm;
-    SpinColourMatrix scm;
-    vSpinColourMatrix vscm;
-    Complex cplx(1.0);
-    Integer myint=1;
-    double mydouble=1.0;
-
-    //    vSpinColourMatrix vscm;
-    scMat = cMat*scMat;
-    scm = cm * scm;         // SpinColourMatrix  = ColourMatrix     * SpinColourMatrix
-    scm = scm *cm;          // SpinColourMatrix  = SpinColourMartix * ColourMatrix
-    scm = GammaFive * scm ; // SpinColourMatrix  = SpinMatrix       * SpinColourMatrix
-    scm = scm* GammaFive  ; // SpinColourMatrix  = SpinColourMatrix * SpinMatrix
-
-    scm = scm*cplx;
-    vscm = vscm*cplx;
-    scMat = scMat*cplx;
-
-    scm = cplx*scm;
-    vscm = cplx*vscm;
-    scMat = cplx*scMat;
-    scm = myint*scm;
-    vscm = myint*vscm;
-    scMat = scMat*myint;
-    
-    scm = scm*mydouble;
-    vscm = vscm*mydouble;
-    scMat = scMat*mydouble;
-    scMat = mydouble*scMat;
-    cMat = mydouble*cMat;
-  
-    sMat = adj(sMat);       // LatticeSpinMatrix adjoint
-    sMat = iGammaFive*sMat; // SpinMatrix * LatticeSpinMatrix
-    sMat = GammaFive*sMat;  // SpinMatrix * LatticeSpinMatrix
-    scMat= adj(scMat);
-    cMat= adj(cMat);
-    cm=adj(cm);
-    scm=adj(scm);
-    scm=transpose(scm);
-    scm=transposeIndex<1>(scm);
-    
-   
-    random(SerialRNG, cm);
-    std::cout<<GridLogMessage << cm << std::endl;
-
-    cm = Ta(cm);
-    TComplex tracecm= trace(cm);      
-    std::cout<<GridLogMessage << cm << std::endl;
-
-
-    cm = Exponentiate(cm, 2.0, 12);
-    std::cout<<GridLogMessage << cm << "  " << std::endl;
-    Complex det = Determinant(cm);
-    std::cout<<GridLogMessage << "determinant: " << det <<  std::endl;
-    std::cout<<GridLogMessage << "norm: " << norm2(cm) <<  std::endl;
-
-    cm = ProjectOnGroup(cm);
-    std::cout<<GridLogMessage << cm << "  " << std::endl;
-    std::cout<<GridLogMessage << "norm: " << norm2(cm) <<  std::endl;
-    cm = ProjectOnGroup(cm);
-    std::cout<<GridLogMessage << cm << "  " << std::endl;
-    std::cout<<GridLogMessage << "norm: " << norm2(cm) <<  std::endl;
-
-
-    //    det = Determinant(cm);
-    //    std::cout<<GridLogMessage << "determinant: " << det <<  std::endl;
-
-
-//    Foo = Foo+scalar; // LatticeColourMatrix+Scalar
-//    Foo = Foo*scalar; // LatticeColourMatrix*Scalar
-//    Foo = Foo-scalar; // LatticeColourMatrix-Scalar
-//    Foo = scalar*Foo; // Scalar*LatticeColourMatrix
-//    Foo = scalar+Foo; // Scalar+LatticeColourMatrix
-//    Foo = scalar-Foo; // Scalar-LatticeColourMatrix
-    
-    LatticeComplex trscMat(&Fine);
-    trscMat = trace(scMat); // Trace
-
-    // Exponentiate test
-    std::vector<int> mysite {0,0,0,0};
-    random(FineRNG,cMat);
-    cMat = Ta(cMat);
-    peekSite(cm, cMat, mysite);
-    std::cout<<GridLogMessage << cm << "  " << std::endl;
-    cm = Exponentiate(cm, 1.0, 12);
-    std::cout<<GridLogMessage << cm << "  " << std::endl;
-    std::cout<<GridLogMessage << "norm: " << norm2(cm) <<  std::endl;
-
-
-    std::cout<<GridLogMessage << "norm cMmat : " << norm2(cMat) <<  std::endl;
-    cMat = expMat(cMat, ComplexD(1.0, 0.0));
-    std::cout<<GridLogMessage << "norm expMat: " << norm2(cMat) <<  std::endl;
-    peekSite(cm, cMat, mysite);
-    std::cout<<GridLogMessage << cm << "  " << std::endl;
-    std::cout<<GridLogMessage << "determinant: " << Determinant(cm) <<  std::endl;
-    std::cout<<GridLogMessage << "norm: " << norm2(cm) <<  std::endl;
-
-
-    // LatticeComplex trlcMat(&Fine);
-    // trlcMat = trace(lcMat); // Trace involving iVector - now generates error
-    
-
-    { // Peek-ology and Poke-ology, with a little app-ology
-      Complex      c;
-      ColourMatrix c_m;   
-      SpinMatrix   s_m;   
-      SpinColourMatrix sc_m; 
-
-      s_m = TensorIndexRecursion<ColourIndex>::traceIndex(sc_m); // Map to traceColour
-      c_m = TensorIndexRecursion<SpinIndex>::traceIndex(sc_m); // map to traceSpin
-
-      c   = TensorIndexRecursion<SpinIndex>::traceIndex(s_m); 
-      c   = TensorIndexRecursion<ColourIndex>::traceIndex(c_m);
-      
-      s_m = TensorIndexRecursion<ColourIndex>::peekIndex(scm,0,0);
-      c_m = TensorIndexRecursion<SpinIndex>::peekIndex(scm,1,2);
-      //      c_m = peekSpin<SpinColourMatrix>(scm,1,2);
-      //      c_m = peekIdiot<SpinColourMatrix>(scm,1,2);
-
-      printf("c. Level %d\n",c_m.TensorLevel);
-      printf("c. Level %d\n",c_m().TensorLevel);
-      printf("c. Level %d\n",c_m()().TensorLevel);
-      
-      c_m()()    = scm()(0,0); //ColourComponents of CM <= ColourComponents of SpinColourMatrix
-      scm()(1,1) = cm()();  //ColourComponents of CM <= ColourComponents of SpinColourMatrix
-      c          = scm()(1,1)(1,2);
-      scm()(1,1)(2,1) = c;
-
-      //      pokeIndex<ColourIndex> (c_m,c,0,0);
-    }
-
-    FooBar = Bar;
-    /*
-    { 
-      std::vector<int> coor(4);
-      for(int d=0;d<4;d++) coor[d] = 0;
-      peekSite(cmat,Foo,coor);
-      Foo = zero;
-      pokeSite(cmat,Foo,coor);
-    }
-    random(Foo);
-    */
-    lex_sites(Foo);
-
-
-    Integer mm[4];
-    mm[0]=1;
-    mm[1]=Fine._rdimensions[0];
-    mm[2]=Fine._ldimensions[0]*Fine._ldimensions[1];
-    mm[3]=Fine._ldimensions[0]*Fine._ldimensions[1]*Fine._ldimensions[2];
-
-    LatticeInteger lex(&Fine);
-    lex=zero;
-    for(int d=0;d<4;d++){
-      LatticeInteger coor(&Fine);
-      LatticeCoordinate(coor,d);
-      lex = lex + coor*mm[d];
-      
-    }
-
-
-
-    //    Bar = zero;
-    //    Bar = where(lex<Integer(10),Foo,Bar);
-
-
-    cout << "peeking sites..\n";
-    {
-      std::vector<int> coor(4);
-      for(coor[3]=0;coor[3]<latt_size[3]/mpi_layout[3];coor[3]++){
-      for(coor[2]=0;coor[2]<latt_size[2]/mpi_layout[2];coor[2]++){
-      for(coor[1]=0;coor[1]<latt_size[1]/mpi_layout[1];coor[1]++){
-      for(coor[0]=0;coor[0]<latt_size[0]/mpi_layout[0];coor[0]++){
-        ColourMatrix bar;
-        peekSite(bar,Bar,coor);
-        for(int r=0;r<3;r++){
-        for(int c=0;c<3;c++){
-	  //	  cout<<"bar "<<coor[0]<<coor[1]<<coor[2]<<coor[3] <<" "<<bar()()(r,c)<<std::endl;
-	}}
-      }}}}
-    } 
-
-    //setCheckerboard(ShiftedCheck,rFoo); 
-    //setCheckerboard(ShiftedCheck,bFoo); 
-
-
-    // Lattice SU(3) x SU(3)
-    Fine.Barrier();
-    FooBar = Foo * Bar;
-
-    // Lattice 12x12 GEMM
-    scFooBar = scFoo * scBar;
-
-    // Benchmark some simple operations LatticeSU3 * Lattice SU3.
-    double t0,t1,flops;
-    double bytes;
-    int ncall=5000;
-    int Nc = Grid::QCD::Nc;
-
-    LatticeGaugeField U(&Fine);
-    //    LatticeColourMatrix Uy = peekLorentz(U,1);
-    //    LatticeColourMatrix Uy = peekDumKopf(U,1);
-
-    flops = ncall*1.0*volume*(8*Nc*Nc*Nc);
-    bytes = ncall*1.0*volume*Nc*Nc    *2*3*sizeof(Grid::Real);
-    if ( Fine.IsBoss() ) {
-      printf("%f flop and %f bytes\n",flops,bytes/ncall);
-    }
-    FooBar = Foo * Bar;
-    Fine.Barrier();
-    t0=usecond();
-    for(int i=0;i<ncall;i++){
-      Fine.Barrier();
-      mult(FooBar,Foo,Bar); // this is better
-    }
-
-    t1=usecond();
-    Fine.Barrier();
-    if ( Fine.IsBoss() ) {
-#ifdef OMP
-      printf("mult NumThread %d , Lattice size %d , %f us per call\n",omp_get_max_threads(),lat,(t1-t0)/ncall);
+    omp_set_num_threads(omp);
 #endif
-      printf("mult NumThread %d , Lattice size %d , %f us per call\n",omp,lat,(t1-t0)/ncall);
-      printf("mult NumThread %d , Lattice size %d , %f Mflop/s\n",omp,lat,flops/(t1-t0));
-      printf("mult NumThread %d , Lattice size %d , %f MB/s\n",omp,lat,bytes/(t1-t0));
-    }
-    mult(FooBar,Foo,Bar);
-    FooBar = Foo * Bar;
 
-    bytes = ncall*1.0*volume*Nc*Nc    *2*5*sizeof(Grid::Real);
-    Fine.Barrier();
-    t0=usecond();
-    for(int i=0;i<ncall;i++){
+    for (int lat = 8; lat <= 16; lat += 40) {
+      std::cout << "Lat " << lat << std::endl;
+
+      latt_size[0] = lat;
+      latt_size[1] = lat;
+      latt_size[2] = lat;
+      latt_size[3] = lat;
+      double volume = latt_size[0] * latt_size[1] * latt_size[2] * latt_size[3];
+
+      GridCartesian Fine(latt_size, simd_layout, mpi_layout);
+      GridRedBlackCartesian rbFine(latt_size, simd_layout, mpi_layout);
+      GridParallelRNG FineRNG(&Fine);
+      GridSerialRNG SerialRNG;
+      GridSerialRNG SerialRNG1;
+
+      FineRNG.SeedRandomDevice();
+      SerialRNG.SeedRandomDevice();
+
+      std::cout << "SerialRNG" << SerialRNG._generators[0] << std::endl;
+
+      std::vector<typename GridSerialRNG::RngStateType> saved;
+      SerialRNG.GetState(saved, 0);
+      SerialRNG1.SetState(saved, 0);
+
+      RealD dd1, dd2;
+
+      std::cout << "Testing RNG state save restore" << std::endl;
+      for (int i = 0; i < 10; i++) {
+        random(SerialRNG, dd1);
+        random(SerialRNG1, dd2);
+        std::cout << "i " << i << " " << dd1 << " " << dd2 << std::endl;
+      }
+      LatticeColourMatrix Foo(&Fine);
+      LatticeColourMatrix Bar(&Fine);
+
+      LatticeSpinColourMatrix scFoo(&Fine);
+      LatticeSpinColourMatrix scBar(&Fine);
+
+      LatticeColourMatrix Shifted(&Fine);
+      LatticeColourMatrix ShiftedCheck(&Fine);
+      LatticeColourMatrix rShifted(&rbFine);
+      LatticeColourMatrix bShifted(&rbFine);
+
+      LatticeColourMatrix rFoo(&rbFine);
+      LatticeColourMatrix bFoo(&rbFine);
+
+      LatticeColourMatrix FooBar(&Fine);
+      LatticeSpinColourMatrix scFooBar(&Fine);
+
+      LatticeColourVector cVec(&Fine);
+      LatticeSpinVector sVec(&Fine);
+      LatticeSpinColourVector scVec(&Fine);
+
+      LatticeColourMatrix cMat(&Fine);
+      LatticeSpinMatrix sMat(&Fine);
+      LatticeSpinColourMatrix scMat(&Fine);
+
+      LatticeLorentzColourMatrix lcMat(&Fine);
+
+      LatticeComplex scalar(&Fine);
+      LatticeReal rscalar(&Fine);
+      LatticeReal iscalar(&Fine);
+
+      SpinMatrix GammaFive;
+      iSpinMatrix<vComplex> iGammaFive;
+      ColourMatrix cmat;
+
+      random(FineRNG, Foo);
+      gaussian(FineRNG, Bar);
+      random(FineRNG, scFoo);
+      random(FineRNG, scBar);
+
+      random(FineRNG, cMat);
+      random(FineRNG, sMat);
+      random(FineRNG, scMat);
+      random(FineRNG, lcMat);
+      random(FineRNG, cVec);
+      random(FineRNG, sVec);
+      random(FineRNG, scVec);
+
+      fflush(stdout);
+
+      LatticeColourMatrix newFoo = Foo; 
+      // confirm correctness of copy constructor
+      Bar = Foo - newFoo;
+      std::cout << "Copy constructor diff check: "; 
+      double test_cc = norm2(Bar);
+      if (test_cc < 1e-5){
+        std::cout << "OK\n";
+    }
+      else{
+        std::cout << "fail\n";
+        abort();
+    }
+
+      TComplex tr = trace(cmat);
+
+      cVec = cMat * cVec;     // LatticeColourVector     = LatticeColourMatrix
+                              // * LatticeColourVector
+      sVec = sMat * sVec;     // LatticeSpinVector       = LatticeSpinMatrix
+                              // * LatticeSpinVector
+      scVec = scMat * scVec;  // LatticeSpinColourVector =
+                              // LatticeSpinColourMatrix *
+                              // LatticeSpinColourVector
+      scVec = cMat * scVec;   // LatticeSpinColourVector = LatticeColourMatrix
+                              // * LatticeSpinColourVector
+      scVec = sMat * scVec;   // LatticeSpinColourVector = LatticeSpinMatrix
+                              // * LatticeSpinColourVector
+
+      cMat = outerProduct(cVec, cVec);
+      scalar = localInnerProduct(cVec, cVec);
+
+      cMat = Ta(cMat);  // traceless antihermitian
+
+      scalar += scalar;
+      scalar -= scalar;
+      scalar *= scalar;
+      add(scalar, scalar, scalar);
+      sub(scalar, scalar, scalar);
+      mult(scalar, scalar, scalar);
+
+      mac(scalar, scalar, scalar);
+      scalar = scalar + scalar;
+      scalar = scalar - scalar;
+      scalar = scalar * scalar;
+
+      scalar = outerProduct(scalar, scalar);
+
+      scalar = adj(scalar);
+
+      //    rscalar=real(scalar);
+      //    iscalar=imag(scalar);
+      //    scalar =cmplx(rscalar,iscalar);
+      PokeIndex<ColourIndex>(cVec, scalar, 1);
+
+      scalar = transpose(scalar);
+      scalar = TransposeIndex<ColourIndex>(scalar);
+      scalar = TraceIndex<SpinIndex>(scalar);
+      scalar = PeekIndex<ColourIndex>(cVec, 0);
+
+      scalar = trace(scalar);
+      scalar = localInnerProduct(cVec, cVec);
+      scalar = localNorm2(cVec);
+
+      //     -=,+=,*=,()
+      //     add,+,sub,-,mult,mac,*
+      //     adj,conjugate
+      //     real,imag
+      //     transpose,transposeIndex
+      //     trace,traceIndex
+      //     peekIndex
+      //     innerProduct,outerProduct,
+      //     localNorm2
+      //     localInnerProduct
+
+      scMat = sMat * scMat;  // LatticeSpinColourMatrix = LatticeSpinMatrix
+                             // * LatticeSpinColourMatrix
+
+      ///////////////////////
+      // Non-lattice (const objects) * Lattice
+      ColourMatrix cm;
+      SpinColourMatrix scm;
+      vSpinColourMatrix vscm;
+      Complex cplx(1.0);
+      Integer myint = 1;
+      double mydouble = 1.0;
+
+      //    vSpinColourMatrix vscm;
+      scMat = cMat * scMat;
+      scm =
+          cm * scm;  // SpinColourMatrix  = ColourMatrix     * SpinColourMatrix
+      scm = scm * cm;  // SpinColourMatrix  = SpinColourMartix * ColourMatrix
+      scm = GammaFive *
+            scm;  // SpinColourMatrix  = SpinMatrix       * SpinColourMatrix
+      scm =
+          scm * GammaFive;  // SpinColourMatrix  = SpinColourMatrix * SpinMatrix
+
+      scm = scm * cplx;
+      vscm = vscm * cplx;
+      scMat = scMat * cplx;
+
+      scm = cplx * scm;
+      vscm = cplx * vscm;
+      scMat = cplx * scMat;
+      scm = myint * scm;
+      vscm = myint * vscm;
+      scMat = scMat * myint;
+
+      scm = scm * mydouble;
+      vscm = vscm * mydouble;
+      scMat = scMat * mydouble;
+      scMat = mydouble * scMat;
+      cMat = mydouble * cMat;
+
+      sMat = adj(sMat);          // LatticeSpinMatrix adjoint
+      sMat = iGammaFive * sMat;  // SpinMatrix * LatticeSpinMatrix
+      sMat = GammaFive * sMat;   // SpinMatrix * LatticeSpinMatrix
+      scMat = adj(scMat);
+      cMat = adj(cMat);
+      cm = adj(cm);
+      scm = adj(scm);
+      scm = transpose(scm);
+      scm = transposeIndex<1>(scm);
+
+      random(SerialRNG, cm);
+      std::cout << GridLogMessage << cm << std::endl;
+
+      cm = Ta(cm);
+      TComplex tracecm = trace(cm);
+      std::cout << GridLogMessage << cm << std::endl;
+
+      cm = Exponentiate(cm, 2.0, 12);
+      std::cout << GridLogMessage << cm << "  " << std::endl;
+      Complex det = Determinant(cm);
+      std::cout << GridLogMessage << "determinant: " << det << std::endl;
+      std::cout << GridLogMessage << "norm: " << norm2(cm) << std::endl;
+
+      cm = ProjectOnGroup(cm);
+      std::cout << GridLogMessage << cm << "  " << std::endl;
+      std::cout << GridLogMessage << "norm: " << norm2(cm) << std::endl;
+      cm = ProjectOnGroup(cm);
+      std::cout << GridLogMessage << cm << "  " << std::endl;
+      std::cout << GridLogMessage << "norm: " << norm2(cm) << std::endl;
+
+      //    det = Determinant(cm);
+      //    std::cout<<GridLogMessage << "determinant: " << det <<  std::endl;
+
+      //    Foo = Foo+scalar; // LatticeColourMatrix+Scalar
+      //    Foo = Foo*scalar; // LatticeColourMatrix*Scalar
+      //    Foo = Foo-scalar; // LatticeColourMatrix-Scalar
+      //    Foo = scalar*Foo; // Scalar*LatticeColourMatrix
+      //    Foo = scalar+Foo; // Scalar+LatticeColourMatrix
+      //    Foo = scalar-Foo; // Scalar-LatticeColourMatrix
+
+      LatticeComplex trscMat(&Fine);
+      trscMat = trace(scMat);  // Trace
+
+      // Exponentiate test
+      std::vector<int> mysite{0, 0, 0, 0};
+      random(FineRNG, cMat);
+      cMat = Ta(cMat);
+      peekSite(cm, cMat, mysite);
+      std::cout << GridLogMessage << cm << "  " << std::endl;
+      cm = Exponentiate(cm, 1.0, 12);
+      std::cout << GridLogMessage << cm << "  " << std::endl;
+      std::cout << GridLogMessage << "norm: " << norm2(cm) << std::endl;
+
+      std::cout << GridLogMessage << "norm cMmat : " << norm2(cMat)
+                << std::endl;
+      cMat = expMat(cMat, ComplexD(1.0, 0.0));
+      std::cout << GridLogMessage << "norm expMat: " << norm2(cMat)
+                << std::endl;
+      peekSite(cm, cMat, mysite);
+      std::cout << GridLogMessage << cm << "  " << std::endl;
+      std::cout << GridLogMessage << "determinant: " << Determinant(cm)
+                << std::endl;
+      std::cout << GridLogMessage << "norm: " << norm2(cm) << std::endl;
+
+      // LatticeComplex trlcMat(&Fine);
+      // trlcMat = trace(lcMat); // Trace involving iVector - now generates
+      // error
+
+      {  // Peek-ology and Poke-ology, with a little app-ology
+        Complex c;
+        ColourMatrix c_m;
+        SpinMatrix s_m;
+        SpinColourMatrix sc_m;
+
+        s_m = TensorIndexRecursion<ColourIndex>::traceIndex(
+            sc_m);  // Map to traceColour
+        c_m = TensorIndexRecursion<SpinIndex>::traceIndex(
+            sc_m);  // map to traceSpin
+
+        c = TensorIndexRecursion<SpinIndex>::traceIndex(s_m);
+        c = TensorIndexRecursion<ColourIndex>::traceIndex(c_m);
+
+        s_m = TensorIndexRecursion<ColourIndex>::peekIndex(scm, 0, 0);
+        c_m = TensorIndexRecursion<SpinIndex>::peekIndex(scm, 1, 2);
+        //      c_m = peekSpin<SpinColourMatrix>(scm,1,2);
+        //      c_m = peekIdiot<SpinColourMatrix>(scm,1,2);
+
+        printf("c. Level %d\n", c_m.TensorLevel);
+        printf("c. Level %d\n", c_m().TensorLevel);
+        printf("c. Level %d\n", c_m()().TensorLevel);
+
+        c_m()() = scm()(0, 0);  // ColourComponents of CM <= ColourComponents of
+                                // SpinColourMatrix
+        scm()(1, 1) = cm()();  // ColourComponents of CM <= ColourComponents of
+                               // SpinColourMatrix
+        c = scm()(1, 1)(1, 2);
+        scm()(1, 1)(2, 1) = c;
+
+        //      pokeIndex<ColourIndex> (c_m,c,0,0);
+      }
+
+      FooBar = Bar;
+      /*
+      {
+        std::vector<int> coor(4);
+        for(int d=0;d<4;d++) coor[d] = 0;
+        peekSite(cmat,Foo,coor);
+        Foo = zero;
+        pokeSite(cmat,Foo,coor);
+      }
+      random(Foo);
+      */
+      lex_sites(Foo);
+
+      Integer mm[4];
+      mm[0] = 1;
+      mm[1] = Fine._rdimensions[0];
+      mm[2] = Fine._ldimensions[0] * Fine._ldimensions[1];
+      mm[3] =
+          Fine._ldimensions[0] * Fine._ldimensions[1] * Fine._ldimensions[2];
+
+      LatticeInteger lex(&Fine);
+      lex = zero;
+      for (int d = 0; d < 4; d++) {
+        LatticeInteger coor(&Fine);
+        LatticeCoordinate(coor, d);
+        lex = lex + coor * mm[d];
+      }
+
+      //    Bar = zero;
+      //    Bar = where(lex<Integer(10),Foo,Bar);
+
+      cout << "peeking sites..\n";
+      {
+        std::vector<int> coor(4);
+        for (coor[3] = 0; coor[3] < latt_size[3] / mpi_layout[3]; coor[3]++) {
+          for (coor[2] = 0; coor[2] < latt_size[2] / mpi_layout[2]; coor[2]++) {
+            for (coor[1] = 0; coor[1] < latt_size[1] / mpi_layout[1];
+                 coor[1]++) {
+              for (coor[0] = 0; coor[0] < latt_size[0] / mpi_layout[0];
+                   coor[0]++) {
+                ColourMatrix bar;
+                peekSite(bar, Bar, coor);
+                for (int r = 0; r < 3; r++) {
+                  for (int c = 0; c < 3; c++) {
+                    //      cout<<"bar "<<coor[0]<<coor[1]<<coor[2]<<coor[3] <<"
+                    //      "<<bar()()(r,c)<<std::endl;
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+
+      // setCheckerboard(ShiftedCheck,rFoo);
+      // setCheckerboard(ShiftedCheck,bFoo);
+
+      // Lattice SU(3) x SU(3)
       Fine.Barrier();
-      mult(FooBar,Foo,Cshift(Bar,1,-1));
-      //mult(FooBar,Foo,Bar);
-      //FooBar = Foo * Bar; // this is bad
-    }
-    t1=usecond();
-    Fine.Barrier();
+      FooBar = Foo * Bar;
 
-    FooBar = Foo * Bar;
-    
-    if ( Fine.IsBoss() ) {
-      printf("Cshift Mult: NumThread %d , Lattice size %d , %f us per call\n",omp,lat,(t1-t0)/ncall);
-      printf("Cshift Mult: NumThread %d , Lattice size %d , %f Mflop/s\n",omp,lat,flops/(t1-t0));
-      printf("Cshift Mult: NumThread %d , Lattice size %d , %f MB/s\n",omp,lat,bytes/(t1-t0));
-    }
-    //    pickCheckerboard(0,rFoo,FooBar);
-    //    pickCheckerboard(1,bFoo,FooBar);
-    //    setCheckerboard(FooBar,rFoo);
-    //    setCheckerboard(FooBar,bFoo);
-    
-    double nrm=0;
+      // Lattice 12x12 GEMM
+      scFooBar = scFoo * scBar;
 
+      // Benchmark some simple operations LatticeSU3 * Lattice SU3.
+      double t0, t1, flops;
+      double bytes;
+      int ncall = 5000;
+      int Nc = Grid::QCD::Nc;
 
-    LatticeColourMatrix deriv(&Fine);
-    double half=0.5;
-    deriv = 0.5*Cshift(Foo,0,1) - 0.5*Cshift(Foo,0,-1);
+      LatticeGaugeField U(&Fine);
+      //    LatticeColourMatrix Uy = peekLorentz(U,1);
+      //    LatticeColourMatrix Uy = peekDumKopf(U,1);
 
+      flops = ncall * 1.0 * volume * (8 * Nc * Nc * Nc);
+      bytes = ncall * 1.0 * volume * Nc * Nc * 2 * 3 * sizeof(Grid::Real);
+      if (Fine.IsBoss()) {
+        printf("%f flop and %f bytes\n", flops, bytes / ncall);
+      }
+      FooBar = Foo * Bar;
+      Fine.Barrier();
+      t0 = usecond();
+      for (int i = 0; i < ncall; i++) {
+        Fine.Barrier();
+        mult(FooBar, Foo, Bar);  // this is better
+      }
 
-    for(int dir=0;dir<4;dir++){
-      for(int shift=0;shift<latt_size[dir];shift++){
+      t1 = usecond();
+      Fine.Barrier();
+      if (Fine.IsBoss()) {
+#ifdef OMP
+        printf("mult NumThread %d , Lattice size %d , %f us per call\n",
+               omp_get_max_threads(), lat, (t1 - t0) / ncall);
+#endif
+        printf("mult NumThread %d , Lattice size %d , %f us per call\n", omp,
+               lat, (t1 - t0) / ncall);
+        printf("mult NumThread %d , Lattice size %d , %f Mflop/s\n", omp, lat,
+               flops / (t1 - t0));
+        printf("mult NumThread %d , Lattice size %d , %f MB/s\n", omp, lat,
+               bytes / (t1 - t0));
+      }
+      mult(FooBar, Foo, Bar);
+      FooBar = Foo * Bar;
 
-	pickCheckerboard(0,rFoo,Foo);    // Pick out red or black checkerboards
-	pickCheckerboard(1,bFoo,Foo);
-    
-	if ( Fine.IsBoss() ) {
-	  std::cout<<GridLogMessage << "Shifting both parities by "<< shift <<" direction "<< dir <<std::endl;
-	}
-	Shifted  = Cshift(Foo,dir,shift);    // Shift everything
+      bytes = ncall * 1.0 * volume * Nc * Nc * 2 * 5 * sizeof(Grid::Real);
+      Fine.Barrier();
+      t0 = usecond();
+      for (int i = 0; i < ncall; i++) {
+        Fine.Barrier();
+        mult(FooBar, Foo, Cshift(Bar, 1, -1));
+        // mult(FooBar,Foo,Bar);
+        // FooBar = Foo * Bar; // this is bad
+      }
+      t1 = usecond();
+      Fine.Barrier();
 
-	bShifted = Cshift(rFoo,dir,shift);   // Shift red->black
-	rShifted = Cshift(bFoo,dir,shift);   // Shift black->red
-    
-	ShiftedCheck=zero;
-	setCheckerboard(ShiftedCheck,bShifted); // Put them all together
-	setCheckerboard(ShiftedCheck,rShifted); // and check the results (later)
-    
-	// Check results
-	std::vector<int> coor(4);
-	for(coor[3]=0;coor[3]<latt_size[3]/mpi_layout[3];coor[3]++){
-	for(coor[2]=0;coor[2]<latt_size[2]/mpi_layout[2];coor[2]++){
-	for(coor[1]=0;coor[1]<latt_size[1]/mpi_layout[1];coor[1]++){
-	for(coor[0]=0;coor[0]<latt_size[0]/mpi_layout[0];coor[0]++){
+      FooBar = Foo * Bar;
 
-	 
- 
-        std::complex<Grid::Real> diff;
-                    
-        std::vector<int> shiftcoor = coor;
-        shiftcoor[dir]=(shiftcoor[dir]+shift+latt_size[dir])%(latt_size[dir]/mpi_layout[dir]);
+      if (Fine.IsBoss()) {
+        printf("Cshift Mult: NumThread %d , Lattice size %d , %f us per call\n",
+               omp, lat, (t1 - t0) / ncall);
+        printf("Cshift Mult: NumThread %d , Lattice size %d , %f Mflop/s\n",
+               omp, lat, flops / (t1 - t0));
+        printf("Cshift Mult: NumThread %d , Lattice size %d , %f MB/s\n", omp,
+               lat, bytes / (t1 - t0));
+      }
+      //    pickCheckerboard(0,rFoo,FooBar);
+      //    pickCheckerboard(1,bFoo,FooBar);
+      //    setCheckerboard(FooBar,rFoo);
+      //    setCheckerboard(FooBar,bFoo);
 
-	std::vector<int> rl(4);
-	for(int dd=0;dd<4;dd++){
-	  rl[dd] = latt_size[dd]/simd_layout[dd]/mpi_layout[dd];
-	}
-	int lex =  coor[0]%rl[0]
-	  + (coor[1]%rl[1])*rl[0]
-	  + (coor[2]%rl[2])*rl[0]*rl[1]
-	  + (coor[3]%rl[3])*rl[0]*rl[1]*rl[2];
-	lex += 
-	  +1000*(coor[0]/rl[0])
-	  +1000*(coor[1]/rl[1])*simd_layout[0]
-	  +1000*(coor[2]/rl[2])*simd_layout[0]*simd_layout[1]
-	  +1000*(coor[3]/rl[3])*simd_layout[0]*simd_layout[1]*simd_layout[2];
+      double nrm = 0;
 
-	int lex_coor = shiftcoor[0]%rl[0]
-	  + (shiftcoor[1]%rl[1])*rl[0]
-	  + (shiftcoor[2]%rl[2])*rl[0]*rl[1]
-	  + (shiftcoor[3]%rl[3])*rl[0]*rl[1]*rl[2];
-	lex_coor += 
-	  +1000*(shiftcoor[0]/rl[0])
-	  +1000*(shiftcoor[1]/rl[1])*simd_layout[0]
-	  +1000*(shiftcoor[2]/rl[2])*simd_layout[0]*simd_layout[1]
-	  +1000*(shiftcoor[3]/rl[3])*simd_layout[0]*simd_layout[1]*simd_layout[2];
+      LatticeColourMatrix deriv(&Fine);
+      double half = 0.5;
+      deriv = 0.5 * Cshift(Foo, 0, 1) - 0.5 * Cshift(Foo, 0, -1);
 
-        ColourMatrix foo;
-        ColourMatrix bar;
-        ColourMatrix shifted1;
-        ColourMatrix shifted2;
-        ColourMatrix shifted3;
-        ColourMatrix foobar1;
-        ColourMatrix foobar2;
-        ColourMatrix mdiff,amdiff;
-                    
-        peekSite(shifted1,Shifted,coor);
-        peekSite(shifted2,Foo,shiftcoor);
-        peekSite(shifted3,ShiftedCheck,coor);
-        peekSite(foo,Foo,coor);
-        
-        mdiff = shifted1-shifted2;
-        amdiff=adj(mdiff);
-        ColourMatrix prod = amdiff*mdiff;
-	Complex trprod = trace(prod);
-        Real Ttr=real(trprod);
-        double nn=Ttr;
-        if ( nn > 0 )
-            cout<<"Shift real trace fail "<<coor[0]<<coor[1]<<coor[2]<<coor[3] <<endl;
-     
+      for (int dir = 0; dir < 4; dir++) {
+        for (int shift = 0; shift < latt_size[dir]; shift++) {
+          pickCheckerboard(0, rFoo,
+                           Foo);  // Pick out red or black checkerboards
+          pickCheckerboard(1, bFoo, Foo);
 
-        for(int r=0;r<3;r++){
-        for(int c=0;c<3;c++){
-            diff =shifted1()()(r,c)-shifted2()()(r,c);
-            nn=real(conjugate(diff)*diff);
-            if ( nn > 0 )
-                cout<<"Shift fail (shifted1/shifted2-ref) "<<coor[0]<<coor[1]<<coor[2]<<coor[3] <<" "
-                    <<shifted1()()(r,c)<<" "<<shifted2()()(r,c)
-                    << " "<< foo()()(r,c)<< " lex expect " << lex_coor << " lex "<<lex<<endl;
-            else if(0)
-                cout<<"Shift pass 1vs2 "<<coor[0]<<coor[1]<<coor[2]<<coor[3] <<" "
-                    <<shifted1()()(r,c)<<" "<<shifted2()()(r,c)
-                    << " "<< foo()()(r,c)<< " lex expect " << lex_coor << " lex "<<lex<<endl;
-        }}
-        
-        for(int r=0;r<3;r++){
-        for(int c=0;c<3;c++){
-            diff =shifted3()()(r,c)-shifted2()()(r,c);
-            nn=real(conjugate(diff)*diff);
-            if ( nn > 0 )
-                cout<<"Shift rb fail (shifted3/shifted2-ref) "<<coor[0]<<coor[1]<<coor[2]<<coor[3] <<" "
-                <<shifted3()()(r,c)<<" "<<shifted2()()(r,c)
-                << " "<< foo()()(r,c)<< " lex expect " << lex_coor << " lex "<<lex<<endl;
-            else if(0)
-                cout<<"Shift rb pass 3vs2 "<<coor[0]<<coor[1]<<coor[2]<<coor[3] <<" "
-                <<shifted3()()(r,c)<<" "<<shifted2()()(r,c)
-                << " "<< foo()()(r,c)<< " lex expect " << lex_coor << " lex "<<lex<<endl;
-        }}
-        peekSite(bar,Bar,coor);
-                    
-        peekSite(foobar1,FooBar,coor);
-        foobar2 = foo*bar;
-        for(int r=0;r<Nc;r++){
-        for(int c=0;c<Nc;c++){
-            diff =foobar2()()(r,c)-foobar1()()(r,c);
-            nrm = nrm + real(conjugate(diff)*diff);
-        }}
-    }}}}
-	if( Fine.IsBoss() ){
-	  std::cout<<GridLogMessage << "LatticeColorMatrix * LatticeColorMatrix nrm diff = "<<nrm<<std::endl;
-	}
-      }}
+          if (Fine.IsBoss()) {
+            std::cout << GridLogMessage << "Shifting both parities by " << shift
+                      << " direction " << dir << std::endl;
+          }
+          Shifted = Cshift(Foo, dir, shift);  // Shift everything
 
-   } // loop for lat
- } // loop for omp
+          bShifted = Cshift(rFoo, dir, shift);  // Shift red->black
+          rShifted = Cshift(bFoo, dir, shift);  // Shift black->red
 
+          ShiftedCheck = zero;
+          setCheckerboard(ShiftedCheck, bShifted);  // Put them all together
+          setCheckerboard(ShiftedCheck,
+                          rShifted);  // and check the results (later)
 
- /*
- // Testing Smearing routine compilation, separate in a different file
- GridCartesian           Fine(latt_size,simd_layout,mpi_layout);
- Smear_APE< PeriodicGimplR > APEsmearing; // periodic gauge implemetation
- Smear_Stout< PeriodicGimplR > StoutSmearing(&APEsmearing);
- SmearedConfiguration< PeriodicGimplR > SmartConf(&Fine, 3, StoutSmearing);
- 
- std::cout<<GridLogMessage << sizeof(vComplexF) << std::endl;
- */
- Grid_finalize();
+          // Check results
+          std::vector<int> coor(4);
+          for (coor[3] = 0; coor[3] < latt_size[3] / mpi_layout[3]; coor[3]++) {
+            for (coor[2] = 0; coor[2] < latt_size[2] / mpi_layout[2];
+                 coor[2]++) {
+              for (coor[1] = 0; coor[1] < latt_size[1] / mpi_layout[1];
+                   coor[1]++) {
+                for (coor[0] = 0; coor[0] < latt_size[0] / mpi_layout[0];
+                     coor[0]++) {
+                  std::complex<Grid::Real> diff;
+
+                  std::vector<int> shiftcoor = coor;
+                  shiftcoor[dir] = (shiftcoor[dir] + shift + latt_size[dir]) %
+                                   (latt_size[dir] / mpi_layout[dir]);
+
+                  std::vector<int> rl(4);
+                  for (int dd = 0; dd < 4; dd++) {
+                    rl[dd] = latt_size[dd] / simd_layout[dd] / mpi_layout[dd];
+                  }
+                  int lex = coor[0] % rl[0] + (coor[1] % rl[1]) * rl[0] +
+                            (coor[2] % rl[2]) * rl[0] * rl[1] +
+                            (coor[3] % rl[3]) * rl[0] * rl[1] * rl[2];
+                  lex += +1000 * (coor[0] / rl[0]) +
+                         1000 * (coor[1] / rl[1]) * simd_layout[0] +
+                         1000 * (coor[2] / rl[2]) * simd_layout[0] *
+                             simd_layout[1] +
+                         1000 * (coor[3] / rl[3]) * simd_layout[0] *
+                             simd_layout[1] * simd_layout[2];
+
+                  int lex_coor = shiftcoor[0] % rl[0] +
+                                 (shiftcoor[1] % rl[1]) * rl[0] +
+                                 (shiftcoor[2] % rl[2]) * rl[0] * rl[1] +
+                                 (shiftcoor[3] % rl[3]) * rl[0] * rl[1] * rl[2];
+                  lex_coor += +1000 * (shiftcoor[0] / rl[0]) +
+                              1000 * (shiftcoor[1] / rl[1]) * simd_layout[0] +
+                              1000 * (shiftcoor[2] / rl[2]) * simd_layout[0] *
+                                  simd_layout[1] +
+                              1000 * (shiftcoor[3] / rl[3]) * simd_layout[0] *
+                                  simd_layout[1] * simd_layout[2];
+
+                  ColourMatrix foo;
+                  ColourMatrix bar;
+                  ColourMatrix shifted1;
+                  ColourMatrix shifted2;
+                  ColourMatrix shifted3;
+                  ColourMatrix foobar1;
+                  ColourMatrix foobar2;
+                  ColourMatrix mdiff, amdiff;
+
+                  peekSite(shifted1, Shifted, coor);
+                  peekSite(shifted2, Foo, shiftcoor);
+                  peekSite(shifted3, ShiftedCheck, coor);
+                  peekSite(foo, Foo, coor);
+
+                  mdiff = shifted1 - shifted2;
+                  amdiff = adj(mdiff);
+                  ColourMatrix prod = amdiff * mdiff;
+                  Complex trprod = trace(prod);
+                  Real Ttr = real(trprod);
+                  double nn = Ttr;
+                  if (nn > 0)
+                    cout << "Shift real trace fail " << coor[0] << coor[1]
+                         << coor[2] << coor[3] << endl;
+
+                  for (int r = 0; r < 3; r++) {
+                    for (int c = 0; c < 3; c++) {
+                      diff = shifted1()()(r, c) - shifted2()()(r, c);
+                      nn = real(conjugate(diff) * diff);
+                      if (nn > 0)
+                        cout << "Shift fail (shifted1/shifted2-ref) " << coor[0]
+                             << coor[1] << coor[2] << coor[3] << " "
+                             << shifted1()()(r, c) << " " << shifted2()()(r, c)
+                             << " " << foo()()(r, c) << " lex expect "
+                             << lex_coor << " lex " << lex << endl;
+                      else if (0)
+                        cout << "Shift pass 1vs2 " << coor[0] << coor[1]
+                             << coor[2] << coor[3] << " " << shifted1()()(r, c)
+                             << " " << shifted2()()(r, c) << " "
+                             << foo()()(r, c) << " lex expect " << lex_coor
+                             << " lex " << lex << endl;
+                    }
+                  }
+
+                  for (int r = 0; r < 3; r++) {
+                    for (int c = 0; c < 3; c++) {
+                      diff = shifted3()()(r, c) - shifted2()()(r, c);
+                      nn = real(conjugate(diff) * diff);
+                      if (nn > 0)
+                        cout << "Shift rb fail (shifted3/shifted2-ref) "
+                             << coor[0] << coor[1] << coor[2] << coor[3] << " "
+                             << shifted3()()(r, c) << " " << shifted2()()(r, c)
+                             << " " << foo()()(r, c) << " lex expect "
+                             << lex_coor << " lex " << lex << endl;
+                      else if (0)
+                        cout << "Shift rb pass 3vs2 " << coor[0] << coor[1]
+                             << coor[2] << coor[3] << " " << shifted3()()(r, c)
+                             << " " << shifted2()()(r, c) << " "
+                             << foo()()(r, c) << " lex expect " << lex_coor
+                             << " lex " << lex << endl;
+                    }
+                  }
+                  peekSite(bar, Bar, coor);
+
+                  peekSite(foobar1, FooBar, coor);
+                  foobar2 = foo * bar;
+                  for (int r = 0; r < Nc; r++) {
+                    for (int c = 0; c < Nc; c++) {
+                      diff = foobar2()()(r, c) - foobar1()()(r, c);
+                      nrm = nrm + real(conjugate(diff) * diff);
+                    }
+                  }
+                }
+              }
+            }
+          }
+          if (Fine.IsBoss()) {
+            std::cout << GridLogMessage
+                      << "LatticeColorMatrix * LatticeColorMatrix nrm diff = "
+                      << nrm << std::endl;
+          }
+        }
+      }
+
+    }  // loop for lat
+  }    // loop for omp
+
+  /*
+  // Testing Smearing routine compilation, separate in a different file
+  GridCartesian           Fine(latt_size,simd_layout,mpi_layout);
+  Smear_APE< PeriodicGimplR > APEsmearing; // periodic gauge implemetation
+  Smear_Stout< PeriodicGimplR > StoutSmearing(&APEsmearing);
+  SmearedConfiguration< PeriodicGimplR > SmartConf(&Fine, 3, StoutSmearing);
+
+  std::cout<<GridLogMessage << sizeof(vComplexF) << std::endl;
+  */
+  Grid_finalize();
 }

From 15f22425c8dbd3cb54efb46f27b31b199892dc88 Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Wed, 6 Jul 2016 14:50:01 -0400
Subject: [PATCH 026/295] Added option to prevent CG from exiting when it fails
 to converge

---
 lib/algorithms/iterative/ConjugateGradient.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/algorithms/iterative/ConjugateGradient.h b/lib/algorithms/iterative/ConjugateGradient.h
index e0431a53..f5102019 100644
--- a/lib/algorithms/iterative/ConjugateGradient.h
+++ b/lib/algorithms/iterative/ConjugateGradient.h
@@ -40,9 +40,10 @@ namespace Grid {
   template<class Field> 
     class ConjugateGradient : public OperatorFunction<Field> {
 public:                                                
+    bool ErrorOnNoConverge; //throw an assert when the CG fails to converge. Defaults true.
     RealD   Tolerance;
     Integer MaxIterations;
-    ConjugateGradient(RealD tol,Integer maxit) : Tolerance(tol), MaxIterations(maxit) { 
+  ConjugateGradient(RealD tol,Integer maxit, bool err_on_no_conv = true) : Tolerance(tol), MaxIterations(maxit), ErrorOnNoConverge(err_on_no_conv){ 
     };
 
 
@@ -137,13 +138,15 @@ public:
 	  std::cout<<GridLogMessage<<"Time elapsed: Total "<< SolverTimer.Elapsed() << " Matrix  "<<MatrixTimer.Elapsed() << " Linalg "<<LinalgTimer.Elapsed();
 	  std::cout<<std::endl;
 	  
-	  assert(true_residual/Tolerance < 1000.0);
+	  if(ErrorOnNoConverge)
+	    assert(true_residual/Tolerance < 1000.0);
 
 	  return;
 	}
       }
       std::cout<<GridLogMessage<<"ConjugateGradient did NOT converge"<<std::endl;
-      assert(0);
+      if(ErrorOnNoConverge)	
+	assert(0);
     }
   };
 }

From 85ed8175cb5defd4b6697f85c33e0d71e1426e3b Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Wed, 6 Jul 2016 15:57:04 -0400
Subject: [PATCH 027/295] Implemented mixed precision CG. Fixed filelist to
 exclude lib/Old directory and include Config.h.

---
 lib/Algorithms.h                              |   1 +
 lib/Make.inc                                  |   4 +-
 .../iterative/ConjugateGradientMixedPrec.h    | 141 ++++++++++++++++++
 lib/lattice/Lattice_ET.h                      |   6 +
 lib/lattice/Lattice_transfer.h                |  90 +++++++++++
 lib/tensors/Tensor_extract_merge.h            |  28 ++++
 lib/tensors/Tensor_traits.h                   |  30 ++++
 scripts/filelist                              |   3 +-
 tests/Make.inc                                |  22 +--
 9 files changed, 311 insertions(+), 14 deletions(-)
 create mode 100644 lib/algorithms/iterative/ConjugateGradientMixedPrec.h

diff --git a/lib/Algorithms.h b/lib/Algorithms.h
index 0a3d34ce..a0c37b36 100644
--- a/lib/Algorithms.h
+++ b/lib/Algorithms.h
@@ -44,6 +44,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #include <algorithms/iterative/SchurRedBlack.h>
 
 #include <algorithms/iterative/ConjugateGradientMultiShift.h>
+#include <algorithms/iterative/ConjugateGradientMixedPrec.h>
 
 // Lanczos support
 #include <algorithms/iterative/MatrixUtils.h>
diff --git a/lib/Make.inc b/lib/Make.inc
index 8763692a..90fe6b7f 100644
--- a/lib/Make.inc
+++ b/lib/Make.inc
@@ -1,4 +1,4 @@
 
-HFILES=./Algorithms.h ./AlignedAllocator.h ./Cartesian.h ./Communicator.h ./Cshift.h ./Grid.h ./Init.h ./Lattice.h ./Lexicographic.h ./Log.h ./Old/Tensor_peek.h ./Old/Tensor_poke.h ./PerfCount.h ./Simd.h ./Stencil.h ./Tensors.h ./Threads.h ./Timer.h ./algorithms/CoarsenedMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/SparseMatrix.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/bigfloat.h ./algorithms/approx/bigfloat_double.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/Francis.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./communicator/Communicator_base.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./lattice/Lattice_ET.h ./lattice/Lattice_arith.h ./lattice/Lattice_base.h ./lattice/Lattice_comparison.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_conformable.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_local.h ./lattice/Lattice_overload.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_reality.h ./lattice/Lattice_reduction.h ./lattice/Lattice_rng.h ./lattice/Lattice_trace.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./pugixml/pugixml.h ./qcd/QCD.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/hmc/HMC.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SUn.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/WilsonLoops.h ./serialisation/BaseIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/XmlIO.h ./simd/Grid_avx.h ./simd/Grid_avx512.h ./simd/Grid_empty.h ./simd/Grid_imci.h ./simd/Grid_neon.h ./simd/Grid_qpx.h ./simd/Grid_sse4.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./simd/Intel512avx.h ./simd/Intel512wilson.h ./simd/Intel512common.h ./simd/Intel512double.h ./simd/Intel512imci.h ./simd/Intel512single.h ./stencil/Lebesgue.h ./tensors/Tensor_Ta.h ./tensors/Tensor_arith.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_class.h ./tensors/Tensor_determinant.h ./tensors/Tensor_exp.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_index.h ./tensors/Tensor_inner.h ./tensors/Tensor_logical.h ./tensors/Tensor_outer.h ./tensors/Tensor_reality.h ./tensors/Tensor_trace.h ./tensors/Tensor_traits.h ./tensors/Tensor_transpose.h ./tensors/Tensor_unary.h
+HFILES=./cshift/Cshift_none.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./Tensors.h ./qcd/utils/SUn.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/CovariantCshift.h ./qcd/utils/WilsonLoops.h ./qcd/utils/LinalgUtils.h ./qcd/QCD.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/hmc/NerscCheckpointer.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./simd/Intel512wilson.h ./simd/Intel512common.h ./simd/Grid_sse4.h ./simd/Grid_qpx.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./simd/Intel512imci.h ./simd/Intel512avx.h ./simd/Grid_neon.h ./simd/Grid_imci.h ./simd/Intel512single.h ./simd/Grid_empty.h ./simd/Intel512double.h ./simd/Grid_avx512.h ./simd/Grid_avx.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_unary.h ./tensors/Tensor_trace.h ./tensors/Tensor_determinant.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_class.h ./tensors/Tensor_arith.h ./tensors/Tensor_index.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_logical.h ./tensors/Tensor_Ta.h ./tensors/Tensor_exp.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_outer.h ./tensors/Tensor_traits.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_inner.h ./tensors/Tensor_transpose.h ./Log.h ./Communicator.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./Timer.h ./Init.h ./Algorithms.h ./Lexicographic.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/bigfloat.h ./algorithms/Preconditioner.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/Francis.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/MatrixUtils.h ./algorithms/CoarsenedMatrix.h ./algorithms/LinearOperator.h ./algorithms/SparseMatrix.h ./serialisation/XmlIO.h ./serialisation/TextIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/Serialisation.h ./Stencil.h ./lattice/Lattice_base.h ./lattice/Lattice_arith.h ./lattice/Lattice_rng.h ./lattice/Lattice_unary.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_local.h ./lattice/Lattice_reality.h ./lattice/Lattice_comparison.h ./lattice/Lattice_trace.h ./lattice/Lattice_reduction.h ./lattice/Lattice_transpose.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_transfer.h ./lattice/Lattice_where.h ./lattice/Lattice_ET.h ./lattice/Lattice_conformable.h ./lattice/Lattice_overload.h ./Lattice.h ./communicator/Communicator_base.h ./Cshift.h ./AlignedAllocator.h ./PerfCount.h ./Simd.h ./stencil/Lebesgue.h ./Threads.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./pugixml/pugixml.h ./Grid.h ./Cartesian.h Config.h
 
-CCFILES=./Init.cc ./Log.cc ./PerfCount.cc ./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./pugixml/pugixml.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/hmc/HMC.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./serialisation/BinaryIO.cc ./serialisation/TextIO.cc ./serialisation/XmlIO.cc ./stencil/Lebesgue.cc ./stencil/Stencil_common.cc
+CCFILES=./Log.cc ./qcd/utils/SpaceTimeGrid.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/hmc/HMC.cc ./qcd/spin/Dirac.cc ./algorithms/approx/Zolotarev.cc ./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./serialisation/XmlIO.cc ./serialisation/TextIO.cc ./serialisation/BinaryIO.cc ./Init.cc ./stencil/Stencil_common.cc ./stencil/Lebesgue.cc ./PerfCount.cc ./pugixml/pugixml.cc
diff --git a/lib/algorithms/iterative/ConjugateGradientMixedPrec.h b/lib/algorithms/iterative/ConjugateGradientMixedPrec.h
new file mode 100644
index 00000000..7931bbed
--- /dev/null
+++ b/lib/algorithms/iterative/ConjugateGradientMixedPrec.h
@@ -0,0 +1,141 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/algorithms/iterative/ConjugateGradientMixedPrec.h
+
+    Copyright (C) 2015
+
+Author: Christopher Kelly <ckelly@phys.columbia.edu>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#ifndef GRID_CONJUGATE_GRADIENT_MIXED_PREC_H
+#define GRID_CONJUGATE_GRADIENT_MIXED_PREC_H
+
+namespace Grid {
+
+  template<class FieldD,class FieldF, typename std::enable_if< getPrecision<FieldD>::value == 2, int>::type = 0,typename std::enable_if< getPrecision<FieldF>::value == 1, int>::type = 0> 
+  class MixedPrecisionConjugateGradient : public LinearFunction<FieldD> {
+  public:                                                
+    RealD   Tolerance;
+    Integer MaxInnerIterations;
+    Integer MaxOuterIterations;
+    GridBase* SinglePrecGrid; //Grid for single-precision fields
+    RealD OuterLoopNormMult; //Stop the outer loop and move to a final double prec solve when the residual is OuterLoopNormMult * Tolerance
+    LinearOperatorBase<FieldF> &Linop_f;
+    LinearOperatorBase<FieldD> &Linop_d;
+
+    //Option to speed up *inner single precision* solves using a LinearFunction that produces a guess
+    LinearFunction<FieldF> *guesser;
+    
+    MixedPrecisionConjugateGradient(RealD tol, Integer maxinnerit, Integer maxouterit, GridBase* _sp_grid, LinearOperatorBase<FieldF> &_Linop_f, LinearOperatorBase<FieldD> &_Linop_d) :
+      Linop_f(_Linop_f), Linop_d(_Linop_d),
+      Tolerance(tol), MaxInnerIterations(maxinnerit), MaxOuterIterations(maxouterit), SinglePrecGrid(_sp_grid),
+      OuterLoopNormMult(100.), guesser(NULL){ };
+
+    void useGuesser(LinearFunction<FieldF> &g){
+      guesser = g;
+    }
+  
+    void operator() (const FieldD &src_d_in, FieldD &sol_d){
+      GridStopWatch TotalTimer;
+      TotalTimer.Start();
+    
+      int cb = src_d_in.checkerboard;
+      sol_d.checkerboard = cb;
+    
+      RealD src_norm = norm2(src_d_in);
+      RealD stop = src_norm * Tolerance*Tolerance;
+
+      GridBase* DoublePrecGrid = src_d_in._grid;
+      FieldD tmp_d(DoublePrecGrid);
+      tmp_d.checkerboard = cb;
+    
+      FieldD tmp2_d(DoublePrecGrid);
+      tmp2_d.checkerboard = cb;
+    
+      FieldD src_d(DoublePrecGrid);
+      src_d = src_d_in; //source for next inner iteration, computed from residual during operation
+    
+      RealD inner_tol = Tolerance;
+    
+      FieldF src_f(SinglePrecGrid);
+      src_f.checkerboard = cb;
+    
+      FieldF sol_f(SinglePrecGrid);
+      sol_f.checkerboard = cb;
+    
+      ConjugateGradient<FieldF> CG_f(inner_tol, MaxInnerIterations);
+      CG_f.ErrorOnNoConverge = false;
+
+      GridStopWatch InnerCGtimer;
+
+      GridStopWatch PrecChangeTimer;
+    
+      for(Integer outer_iter = 0; outer_iter < MaxOuterIterations; outer_iter++){
+	//Compute double precision rsd and also new RHS vector.
+	Linop_d.HermOp(sol_d, tmp_d);
+	RealD norm = axpy_norm(src_d, -1., tmp_d, src_d_in); //src_d is residual vector
+      
+	std::cout<<GridLogMessage<<"MixedPrecisionConjugateGradient: Outer iteration " <<outer_iter<<" residual "<< norm<< " target "<< stop<<std::endl;
+
+	if(norm < OuterLoopNormMult * stop){
+	  std::cout<<GridLogMessage<<"MixedPrecisionConjugateGradient: Outer iteration converged on iteration " <<outer_iter <<std::endl;
+	  break;
+	}
+	while(norm * inner_tol * inner_tol < stop) inner_tol *= 2;  // inner_tol = sqrt(stop/norm) ??
+
+	PrecChangeTimer.Start();
+	precisionChange(src_f, src_d);
+	PrecChangeTimer.Stop();
+      
+	zeroit(sol_f);
+
+	//Optionally improve inner solver guess (eg using known eigenvectors)
+	if(guesser != NULL)
+	  (*guesser)(src_f, sol_f);
+
+	//Inner CG
+	CG_f.Tolerance = inner_tol;
+	InnerCGtimer.Start();
+	CG_f(Linop_f, src_f, sol_f);
+	InnerCGtimer.Stop();
+      
+	//Convert sol back to double and add to double prec solution
+	PrecChangeTimer.Start();
+	precisionChange(tmp_d, sol_f);
+	PrecChangeTimer.Stop();
+      
+	axpy(sol_d, 1.0, tmp_d, sol_d);
+      }
+    
+      //Final trial CG
+      std::cout<<GridLogMessage<<"MixedPrecisionConjugateGradient: Starting final patch-up double-precision solve"<<std::endl;
+    
+      ConjugateGradient<FieldD> CG_d(Tolerance, MaxInnerIterations);
+      CG_d(Linop_d, src_d_in, sol_d);
+
+      TotalTimer.Stop();
+      std::cout<<GridLogMessage<<"MixedPrecisionConjugateGradient: Total " << TotalTimer.Elapsed() << " Precision change " << PrecChangeTimer.Elapsed() << " Inner CG total " << InnerCGtimer.Elapsed() << std::endl;
+    }
+  };
+
+}
+
+#endif
diff --git a/lib/lattice/Lattice_ET.h b/lib/lattice/Lattice_ET.h
index 7644f9da..bfebb012 100644
--- a/lib/lattice/Lattice_ET.h
+++ b/lib/lattice/Lattice_ET.h
@@ -82,6 +82,12 @@ template <typename T> using is_lattice      = std::is_base_of<LatticeBase,T >;
 
 template <typename T> using is_lattice_expr = std::is_base_of<LatticeExpressionBase,T >;
 
+//Specialization of getVectorType for lattices
+template<typename T>
+struct getVectorType<Lattice<T> >{
+  typedef typename Lattice<T>::vector_object type;
+};
+ 
 template<class sobj>
 inline sobj eval(const unsigned int ss, const sobj &arg)
 {
diff --git a/lib/lattice/Lattice_transfer.h b/lib/lattice/Lattice_transfer.h
index 638563a9..4a6e6112 100644
--- a/lib/lattice/Lattice_transfer.h
+++ b/lib/lattice/Lattice_transfer.h
@@ -482,6 +482,96 @@ void Replicate(Lattice<vobj> &coarse,Lattice<vobj> & fine)
 
 }
 
+//Copy SIMD-vectorized lattice to array of scalar objects in lexicographic order
+template<typename vobj, typename sobj>
+typename std::enable_if<isSIMDvectorized<vobj>::value && !isSIMDvectorized<sobj>::value, void>::type unvectorizeToLexOrdArray(std::vector<sobj> &out, const Lattice<vobj> &in){
+  typedef typename vobj::vector_type vtype;
+  
+  GridBase* in_grid = in._grid;
+  out.resize(in_grid->lSites());
+  
+  int ndim = in_grid->Nd();
+  int in_nsimd = vtype::Nsimd();
 
+  std::vector<int> in_icoor[in_nsimd];
+      
+  for(int lane=0; lane < in_nsimd; lane++){
+    in_icoor[lane].resize(ndim);
+    in_grid->iCoorFromIindex(in_icoor[lane], lane);
+  }
+  
+PARALLEL_FOR_LOOP
+  for(int in_oidx = 0; in_oidx < in_grid->oSites(); in_oidx++){ //loop over outer index
+    //Assemble vector of pointers to output elements
+    std::vector<sobj*> out_ptrs(in_nsimd);
+
+    std::vector<int> in_ocoor(ndim);
+    in_grid->oCoorFromOindex(in_ocoor, in_oidx);
+
+    std::vector<int> lcoor(in_grid->Nd());
+      
+    for(int lane=0; lane < in_nsimd; lane++){
+      for(int mu=0;mu<ndim;mu++)
+	lcoor[mu] = in_ocoor[mu] + in_grid->_rdimensions[mu]*in_icoor[lane][mu];
+
+      int lex;
+      Lexicographic::IndexFromCoor(lcoor, lex, in_grid->_ldimensions);
+      out_ptrs[lane] = &out[lex];
+    }
+    
+    //Unpack into those ptrs
+    const vobj & in_vobj = in._odata[in_oidx];
+    extract1(in_vobj, out_ptrs, 0);
+  }
+}
+
+//Convert a Lattice from one precision to another
+template<class VobjOut, class VobjIn>
+void precisionChange(Lattice<VobjOut> &out, const Lattice<VobjIn> &in){
+  assert(out._grid->Nd() == in._grid->Nd());
+  out.checkerboard = in.checkerboard;
+  GridBase *in_grid=in._grid;
+  GridBase *out_grid = out._grid;
+
+  typedef typename VobjOut::scalar_object SobjOut;
+  typedef typename VobjIn::scalar_object SobjIn;
+
+  int ndim = out._grid->Nd();
+  int out_nsimd = out_grid->Nsimd();
+    
+  std::vector<int> out_icoor[out_nsimd];
+      
+  for(int lane=0; lane < out_nsimd; lane++){
+    out_icoor[lane].resize(ndim);
+    out_grid->iCoorFromIindex(out_icoor[lane], lane);
+  }
+        
+  std::vector<SobjOut> in_slex_conv(in_grid->lSites());
+  unvectorizeToLexOrdArray(in_slex_conv, in);
+    
+  PARALLEL_FOR_LOOP
+  for(int out_oidx=0;out_oidx<out_grid->oSites();out_oidx++){
+    std::vector<int> out_ocoor(ndim);
+    out_grid->oCoorFromOindex(out_ocoor, out_oidx);
+
+    std::vector<SobjOut*> ptrs(out_nsimd);      
+
+    std::vector<int> lcoor(out_grid->Nd());
+      
+    for(int lane=0; lane < out_nsimd; lane++){
+      for(int mu=0;mu<ndim;mu++)
+	lcoor[mu] = out_ocoor[mu] + out_grid->_rdimensions[mu]*out_icoor[lane][mu];
+	
+      int llex; Lexicographic::IndexFromCoor(lcoor, llex, out_grid->_ldimensions);
+      ptrs[lane] = &in_slex_conv[llex];
+    }
+    merge(out._odata[out_oidx], ptrs, 0);
+  }
+}
+
+
+  
+
+ 
 }
 #endif
diff --git a/lib/tensors/Tensor_extract_merge.h b/lib/tensors/Tensor_extract_merge.h
index ad98213d..41a431ad 100644
--- a/lib/tensors/Tensor_extract_merge.h
+++ b/lib/tensors/Tensor_extract_merge.h
@@ -10,6 +10,7 @@ Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 Author: paboyle <paboyle@ph.ed.ac.uk>
+Author: Christopher Kelly <ckelly@phys.columbia.edu>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -167,6 +168,33 @@ void extract(const vobj &vec,std::vector<typename vobj::scalar_object *> &extrac
   }
 }
 
+////////////////////////////////////////////////////////////////////////
+// Extract to a bunch of scalar object pointers of different scalar type, with offset. Useful for precision change
+////////////////////////////////////////////////////////////////////////
+template<class vobj, class sobj> inline 
+void extract1(const vobj &vec,std::vector<sobj*> &extracted, int offset)
+{
+  typedef typename vobj::scalar_type vobj_scalar_type ;
+  typedef typename vobj::vector_type vobj_vector_type ;
+
+  typedef typename sobj::scalar_type sobj_scalar_type ;
+  
+  static const int words=sizeof(vobj)/sizeof(vobj_vector_type);
+  static const int Nsimd=vobj_vector_type::Nsimd();
+
+  int Nextr=extracted.size();
+  int s = Nsimd/Nextr;
+  vobj_scalar_type * vp = (vobj_scalar_type *)&vec;
+
+  for(int w=0;w<words;w++){
+    for(int i=0;i<Nextr;i++){
+      sobj_scalar_type * pointer = (sobj_scalar_type *)& extracted[i][offset];
+      pointer[w] = vp[i*s+w*Nsimd];
+    }
+  }
+}
+
+  
 ////////////////////////////////////////////////////////////////////////
 // Merge a contiguous array of scalar objects
 ////////////////////////////////////////////////////////////////////////
diff --git a/lib/tensors/Tensor_traits.h b/lib/tensors/Tensor_traits.h
index d8855865..777b398d 100644
--- a/lib/tensors/Tensor_traits.h
+++ b/lib/tensors/Tensor_traits.h
@@ -8,6 +8,7 @@
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: Christopher Kelly <ckelly@phys.columbia.edu>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -230,6 +231,35 @@ namespace Grid {
     static const bool value = true;
   };
 
+  //Get the SIMD vector type from a Grid tensor or Lattice<Tensor>
+  template<typename T>
+  struct getVectorType{
+    typedef T type;
+  };
+  
+  //Query if a tensor or Lattice<Tensor> is SIMD vector or scalar
+  template<typename T>
+  class isSIMDvectorized{
+    template<typename U>
+    static typename std::enable_if< !std::is_same< typename GridTypeMapper<typename getVectorType<U>::type>::scalar_type,   typename GridTypeMapper<typename getVectorType<U>::type>::vector_type>::value, char>::type test(void *);
+
+    template<typename U>
+    static double test(...);
+  
+  public:
+    enum {value = sizeof(test<T>(0)) == sizeof(char) };
+  };
+  
+  //Get the precision of a Lattice, tensor or scalar type in units of sizeof(float)
+  template<typename T>
+  class getPrecision{
+    typedef typename getVectorType<T>::type vector_obj; //get the vector_obj (i.e. a grid Tensor) if its a Lattice<vobj>, do nothing otherwise (i.e. if fundamental or grid Tensor)
+  
+    typedef typename GridTypeMapper<vector_obj>::scalar_type scalar_type; //get the associated scalar type. Works on fundamental and tensor types
+    typedef typename GridTypeMapper<scalar_type>::Realified real_scalar_type; //remove any std::complex wrapper, should get us to the fundamental type
+  public:
+    enum { value = sizeof(real_scalar_type)/sizeof(float) };
+  };
 }
 
 #endif
diff --git a/scripts/filelist b/scripts/filelist
index dcc5bfef..b5843cae 100755
--- a/scripts/filelist
+++ b/scripts/filelist
@@ -2,7 +2,8 @@
  
 cd lib
 
-HFILES=`find . -type f -name '*.h'`
+HFILES=`find . -type f -name '*.h' -not -path '*/Old/*'`
+HFILES="$HFILES Config.h"
 CCFILES=`find . -type f -name '*.cc' -not  -name '*ommunicator*.cc'`
 echo> Make.inc
 echo HFILES=$HFILES >> Make.inc
diff --git a/tests/Make.inc b/tests/Make.inc
index f1e2cd9d..fad82247 100644
--- a/tests/Make.inc
+++ b/tests/Make.inc
@@ -1,13 +1,5 @@
 
-bin_PROGRAMS += Test_GaugeAction Test_RectPlaq Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cf_coarsen_support Test_cf_cr_unprec Test_cheby Test_contfrac_cg Test_contfrac_even_odd Test_contfrac_force Test_cshift Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_even_odd Test_dwf_force Test_dwf_fpgcr Test_dwf_gpforce Test_dwf_hdcr Test_dwf_lanczos Test_dwf_rb5d Test_gamma Test_gp_rect_force Test_gparity Test_gpdwf_force Test_gpwilson_even_odd Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_lie_generators Test_main Test_multishift_sqrt Test_nersc_io Test_partfrac_force Test_quenched_update Test_rect_force Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio Test_rng Test_rng_fixed Test_serialisation Test_simd Test_stencil Test_synthetic_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec Test_wilson_even_odd Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi Test_wilson_tm_even_odd 
-
-
-Test_GaugeAction_SOURCES=Test_GaugeAction.cc
-Test_GaugeAction_LDADD=-lGrid
-
-
-Test_RectPlaq_SOURCES=Test_RectPlaq.cc
-Test_RectPlaq_LDADD=-lGrid
+bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cf_coarsen_support Test_cf_cr_unprec Test_cheby Test_contfrac_cg Test_contfrac_even_odd Test_contfrac_force Test_cshift Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_even_odd Test_dwf_force Test_dwf_fpgcr Test_dwf_gpforce Test_dwf_hdcr Test_dwf_lanczos Test_dwf_rb5d Test_gamma Test_GaugeAction Test_gparity Test_gpdwf_force Test_gp_rect_force Test_gpwilson_even_odd Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_lie_generators Test_main Test_multishift_sqrt Test_nersc_io Test_partfrac_force Test_quenched_update Test_rect_force Test_RectPlaq Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio Test_rng Test_rng_fixed Test_serialisation Test_simd Test_stencil Test_synthetic_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec Test_wilson_even_odd Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi Test_wilson_tm_even_odd 
 
 
 Test_cayley_cg_SOURCES=Test_cayley_cg.cc
@@ -114,8 +106,8 @@ Test_gamma_SOURCES=Test_gamma.cc
 Test_gamma_LDADD=-lGrid
 
 
-Test_gp_rect_force_SOURCES=Test_gp_rect_force.cc
-Test_gp_rect_force_LDADD=-lGrid
+Test_GaugeAction_SOURCES=Test_GaugeAction.cc
+Test_GaugeAction_LDADD=-lGrid
 
 
 Test_gparity_SOURCES=Test_gparity.cc
@@ -126,6 +118,10 @@ Test_gpdwf_force_SOURCES=Test_gpdwf_force.cc
 Test_gpdwf_force_LDADD=-lGrid
 
 
+Test_gp_rect_force_SOURCES=Test_gp_rect_force.cc
+Test_gp_rect_force_LDADD=-lGrid
+
+
 Test_gpwilson_even_odd_SOURCES=Test_gpwilson_even_odd.cc
 Test_gpwilson_even_odd_LDADD=-lGrid
 
@@ -202,6 +198,10 @@ Test_rect_force_SOURCES=Test_rect_force.cc
 Test_rect_force_LDADD=-lGrid
 
 
+Test_RectPlaq_SOURCES=Test_RectPlaq.cc
+Test_RectPlaq_LDADD=-lGrid
+
+
 Test_remez_SOURCES=Test_remez.cc
 Test_remez_LDADD=-lGrid
 

From 713520d3d23cd8be716c624953ce5b3d8f81d6fa Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Wed, 6 Jul 2016 16:18:19 -0400
Subject: [PATCH 028/295] Added tester for mixed CG

---
 tests/Make.inc                 |   6 +-
 tests/Test_dwf_mixedcg_prec.cc | 108 +++++++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+), 1 deletion(-)
 create mode 100644 tests/Test_dwf_mixedcg_prec.cc

diff --git a/tests/Make.inc b/tests/Make.inc
index fad82247..73a176e9 100644
--- a/tests/Make.inc
+++ b/tests/Make.inc
@@ -1,5 +1,5 @@
 
-bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cf_coarsen_support Test_cf_cr_unprec Test_cheby Test_contfrac_cg Test_contfrac_even_odd Test_contfrac_force Test_cshift Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_even_odd Test_dwf_force Test_dwf_fpgcr Test_dwf_gpforce Test_dwf_hdcr Test_dwf_lanczos Test_dwf_rb5d Test_gamma Test_GaugeAction Test_gparity Test_gpdwf_force Test_gp_rect_force Test_gpwilson_even_odd Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_lie_generators Test_main Test_multishift_sqrt Test_nersc_io Test_partfrac_force Test_quenched_update Test_rect_force Test_RectPlaq Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio Test_rng Test_rng_fixed Test_serialisation Test_simd Test_stencil Test_synthetic_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec Test_wilson_even_odd Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi Test_wilson_tm_even_odd 
+bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cf_coarsen_support Test_cf_cr_unprec Test_cheby Test_contfrac_cg Test_contfrac_even_odd Test_contfrac_force Test_cshift Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_even_odd Test_dwf_force Test_dwf_fpgcr Test_dwf_gpforce Test_dwf_hdcr Test_dwf_lanczos Test_dwf_mixedcg_prec Test_dwf_rb5d Test_gamma Test_GaugeAction Test_gparity Test_gpdwf_force Test_gp_rect_force Test_gpwilson_even_odd Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_lie_generators Test_main Test_multishift_sqrt Test_nersc_io Test_partfrac_force Test_quenched_update Test_rect_force Test_RectPlaq Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio Test_rng Test_rng_fixed Test_serialisation Test_simd Test_stencil Test_synthetic_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec Test_wilson_even_odd Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi Test_wilson_tm_even_odd 
 
 
 Test_cayley_cg_SOURCES=Test_cayley_cg.cc
@@ -98,6 +98,10 @@ Test_dwf_lanczos_SOURCES=Test_dwf_lanczos.cc
 Test_dwf_lanczos_LDADD=-lGrid
 
 
+Test_dwf_mixedcg_prec_SOURCES=Test_dwf_mixedcg_prec.cc
+Test_dwf_mixedcg_prec_LDADD=-lGrid
+
+
 Test_dwf_rb5d_SOURCES=Test_dwf_rb5d.cc
 Test_dwf_rb5d_LDADD=-lGrid
 
diff --git a/tests/Test_dwf_mixedcg_prec.cc b/tests/Test_dwf_mixedcg_prec.cc
new file mode 100644
index 00000000..637b8141
--- /dev/null
+++ b/tests/Test_dwf_mixedcg_prec.cc
@@ -0,0 +1,108 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./tests/Test_dwf_cg_prec.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include <Grid.h>
+
+using namespace std;
+using namespace Grid;
+using namespace Grid::QCD;
+
+template<class d>
+struct scal {
+  d internal;
+};
+
+  Gamma::GammaMatrix Gmu [] = {
+    Gamma::GammaX,
+    Gamma::GammaY,
+    Gamma::GammaZ,
+    Gamma::GammaT
+  };
+
+int main (int argc, char ** argv)
+{
+  Grid_init(&argc,&argv);
+
+  const int Ls=8;
+
+  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplexD::Nsimd()),GridDefaultMpi());
+  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
+  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
+  GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid);
+
+  GridCartesian         * UGrid_f   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplexF::Nsimd()),GridDefaultMpi());
+  GridRedBlackCartesian * UrbGrid_f = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid_f);
+  GridCartesian         * FGrid_f   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid_f);
+  GridRedBlackCartesian * FrbGrid_f = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid_f);
+  
+  std::vector<int> seeds4({1,2,3,4});
+  std::vector<int> seeds5({5,6,7,8});
+  GridParallelRNG          RNG5(FGrid);  RNG5.SeedFixedIntegers(seeds5);
+  GridParallelRNG          RNG4(UGrid);  RNG4.SeedFixedIntegers(seeds4);
+
+  LatticeFermionD    src(FGrid); random(RNG5,src);
+  LatticeFermionD result(FGrid); result=zero;
+  LatticeGaugeFieldD Umu(UGrid);
+  LatticeGaugeFieldF Umu_f(UGrid_f); 
+  
+  SU3::HotConfiguration(RNG4,Umu);
+
+  precisionChange(Umu_f,Umu);
+  
+  RealD mass=0.1;
+  RealD M5=1.8;
+  DomainWallFermionD Ddwf(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
+  DomainWallFermionF Ddwf_f(Umu_f,*FGrid_f,*FrbGrid_f,*UGrid_f,*UrbGrid_f,mass,M5);
+
+  LatticeFermionD    src_o(FrbGrid);
+  LatticeFermionD result_o(FrbGrid);
+  LatticeFermionD result_o_2(FrbGrid);
+  pickCheckerboard(Odd,src_o,src);
+  result_o.checkerboard = Odd;
+  result_o = zero;
+  result_o_2.checkerboard = Odd;
+  result_o_2 = zero;
+
+  SchurDiagMooeeOperator<DomainWallFermionD,LatticeFermionD> HermOpEO(Ddwf);
+  SchurDiagMooeeOperator<DomainWallFermionF,LatticeFermionF> HermOpEO_f(Ddwf_f);
+
+  std::cout << "Starting mixed CG" << std::endl;
+  MixedPrecisionConjugateGradient<LatticeFermionD,LatticeFermionF> mCG(1.0e-8, 10000, 50, FrbGrid_f, HermOpEO_f, HermOpEO);
+  mCG(src_o,result_o);
+
+  std::cout << "Starting regular CG" << std::endl;
+  ConjugateGradient<LatticeFermionD> CG(1.0e-8,10000);
+  CG(HermOpEO,src_o,result_o_2);
+
+  LatticeFermionD diff_o(FrbGrid);
+  RealD diff = axpy_norm(diff_o, -1.0, result_o, result_o_2);
+
+  std::cout << "Diff between mixed and regular CG: " << diff << std::endl;
+
+  
+  Grid_finalize();
+}

From 25fafa9a8927507eec0fc2b8160c98c29c28dbce Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Wed, 6 Jul 2016 16:19:41 -0400
Subject: [PATCH 029/295] Comment

---
 lib/algorithms/iterative/ConjugateGradientMixedPrec.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/algorithms/iterative/ConjugateGradientMixedPrec.h b/lib/algorithms/iterative/ConjugateGradientMixedPrec.h
index 7931bbed..bac2d18a 100644
--- a/lib/algorithms/iterative/ConjugateGradientMixedPrec.h
+++ b/lib/algorithms/iterative/ConjugateGradientMixedPrec.h
@@ -30,6 +30,7 @@ Author: Christopher Kelly <ckelly@phys.columbia.edu>
 
 namespace Grid {
 
+  //Mixed precision restarted defect correction CG
   template<class FieldD,class FieldF, typename std::enable_if< getPrecision<FieldD>::value == 2, int>::type = 0,typename std::enable_if< getPrecision<FieldF>::value == 1, int>::type = 0> 
   class MixedPrecisionConjugateGradient : public LinearFunction<FieldD> {
   public:                                                

From 4774a3bcd27e2a8eb0ede7fd6274fec06ace34cc Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Wed, 6 Jul 2016 18:01:08 -0400
Subject: [PATCH 030/295] Generalized HotConfiguration and functions it calls
 to accept gauge fields with precision other than the default.

---
 lib/qcd/utils/SUn.h | 47 ++++++++++++++++++++++++++++++---------------
 1 file changed, 31 insertions(+), 16 deletions(-)

diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index 124e5f41..e9403836 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -43,7 +43,7 @@ public:
 
   template<typename vtype> using iSUnMatrix              = iScalar<iScalar<iMatrix<vtype, ncolour> > > ;
   template<typename vtype> using iSU2Matrix              = iScalar<iScalar<iMatrix<vtype, 2> > > ;
-
+  
   //////////////////////////////////////////////////////////////////////////////////////////////////
   // Types can be accessed as SU<2>::Matrix , SU<2>::vSUnMatrix, SU<2>::LatticeMatrix etc...
   //////////////////////////////////////////////////////////////////////////////////////////////////
@@ -552,15 +552,24 @@ Note that in step D setting B ~ X - A and using B in place of A in step E will g
   }
 
   // reunitarise??
-  static void LieRandomize(GridParallelRNG     &pRNG,LatticeMatrix &out,double scale=1.0){
+  template<typename LatticeMatrixType>
+  static void LieRandomize(GridParallelRNG     &pRNG,LatticeMatrixType &out,double scale=1.0){
     GridBase *grid = out._grid;
-
-    LatticeComplex ca (grid);
-    LatticeMatrix  lie(grid);
-    LatticeMatrix  la (grid);
-    Complex ci(0.0,scale);
-    Complex cone(1.0,0.0);
-    Matrix ta;
+    
+    typedef typename LatticeMatrixType::vector_type vector_type;
+    typedef typename LatticeMatrixType::scalar_type scalar_type;
+    
+    typedef iSinglet<vector_type> vTComplexType;
+    
+    typedef Lattice<vTComplexType> LatticeComplexType;
+    typedef typename GridTypeMapper<typename LatticeMatrixType::vector_object>::scalar_object MatrixType;
+    
+    LatticeComplexType ca (grid);
+    LatticeMatrixType  lie(grid);
+    LatticeMatrixType  la (grid);
+    ComplexD ci(0.0,scale);
+    ComplexD cone(1.0,0.0);
+    MatrixType ta;
 
     lie=zero;
     for(int a=0;a<generators();a++){
@@ -596,9 +605,13 @@ Note that in step D setting B ~ X - A and using B in place of A in step E will g
 
   }
 
-
-  static void HotConfiguration(GridParallelRNG &pRNG,LatticeGaugeField &out){
-    LatticeMatrix Umu(out._grid);
+  template<typename GaugeField>
+  static void HotConfiguration(GridParallelRNG &pRNG,GaugeField &out){
+    typedef typename GaugeField::vector_type vector_type;
+    typedef iSUnMatrix<vector_type> vMatrixType;
+    typedef Lattice<vMatrixType> LatticeMatrixType;
+    
+    LatticeMatrixType Umu(out._grid);
     for(int mu=0;mu<Nd;mu++){
       LieRandomize(pRNG,Umu,1.0);
       PokeIndex<LorentzIndex>(out,Umu,mu);
@@ -622,13 +635,15 @@ Note that in step D setting B ~ X - A and using B in place of A in step E will g
   static void taProj( const LatticeMatrix &in,  LatticeMatrix &out){
     out = Ta(in);
   }
-  static void taExp( const LatticeMatrix &x,  LatticeMatrix &ex){ 
-
-    LatticeMatrix xn(x._grid);
+  template<typename LatticeMatrixType>
+  static void taExp( const LatticeMatrixType &x,  LatticeMatrixType &ex){ 
+    typedef typename LatticeMatrixType::scalar_type ComplexType;    
+    
+    LatticeMatrixType xn(x._grid);
     RealD nfac = 1.0;
 
     xn = x;
-    ex =xn+Complex(1.0); // 1+x
+    ex =xn+ComplexType(1.0); // 1+x
 
     // Do a 12th order exponentiation
     for(int i=2; i <= 12; ++i)

From 184642adb0d8daa2dcf4115be16a75152b7076f2 Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Wed, 6 Jul 2016 18:15:15 -0400
Subject: [PATCH 031/295] Fix for pedantic compilers

---
 lib/lattice/Lattice_transfer.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/lattice/Lattice_transfer.h b/lib/lattice/Lattice_transfer.h
index 4a6e6112..4c9bbc31 100644
--- a/lib/lattice/Lattice_transfer.h
+++ b/lib/lattice/Lattice_transfer.h
@@ -493,7 +493,7 @@ typename std::enable_if<isSIMDvectorized<vobj>::value && !isSIMDvectorized<sobj>
   int ndim = in_grid->Nd();
   int in_nsimd = vtype::Nsimd();
 
-  std::vector<int> in_icoor[in_nsimd];
+  std::vector<std::vector<int> > in_icoor(in_nsimd);
       
   for(int lane=0; lane < in_nsimd; lane++){
     in_icoor[lane].resize(ndim);

From dd8cfff1118862de70b5eeccca5fd6c62bc15295 Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Wed, 6 Jul 2016 18:22:15 -0400
Subject: [PATCH 032/295] Another fix for pedantic compilers

---
 lib/lattice/Lattice_transfer.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/lattice/Lattice_transfer.h b/lib/lattice/Lattice_transfer.h
index 4c9bbc31..bd53cde9 100644
--- a/lib/lattice/Lattice_transfer.h
+++ b/lib/lattice/Lattice_transfer.h
@@ -539,7 +539,7 @@ void precisionChange(Lattice<VobjOut> &out, const Lattice<VobjIn> &in){
   int ndim = out._grid->Nd();
   int out_nsimd = out_grid->Nsimd();
     
-  std::vector<int> out_icoor[out_nsimd];
+  std::vector<std::vector<int> > out_icoor(out_nsimd);
       
   for(int lane=0; lane < out_nsimd; lane++){
     out_icoor[lane].resize(ndim);

From ffb8b3116c4e511f70f3d00fc0d0f9ed9527cd50 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Thu, 7 Jul 2016 11:49:36 +0100
Subject: [PATCH 033/295] Tested smeared RHMC Wilson1p1, accepting

---
 lib/lattice/Lattice_ET.h                      | 565 +++++++++---------
 .../pseudofermion/OneFlavourEvenOddRational.h | 334 ++++++-----
 lib/tensors/Tensor_class.h                    | 444 +++++++-------
 tests/Test_rhmc_EOWilson1p1.cc                | 105 ++--
 4 files changed, 754 insertions(+), 694 deletions(-)

diff --git a/lib/lattice/Lattice_ET.h b/lib/lattice/Lattice_ET.h
index 98c38e96..20d2e430 100644
--- a/lib/lattice/Lattice_ET.h
+++ b/lib/lattice/Lattice_ET.h
@@ -1,73 +1,74 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/lattice/Lattice_ET.h
+Source file: ./lib/lattice/Lattice_ET.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef GRID_LATTICE_ET_H
 #define GRID_LATTICE_ET_H
 
 #include <iostream>
-#include <vector>
 #include <tuple>
 #include <typeinfo>
+#include <vector>
 
 namespace Grid {
 
-  ////////////////////////////////////////////////////
-  // Predicated where support
-  ////////////////////////////////////////////////////
-  template<class iobj,class vobj,class robj>
-    inline vobj predicatedWhere(const iobj &predicate,const vobj &iftrue,const robj &iffalse) {
+////////////////////////////////////////////////////
+// Predicated where support
+////////////////////////////////////////////////////
+template <class iobj, class vobj, class robj>
+inline vobj predicatedWhere(const iobj &predicate, const vobj &iftrue,
+                            const robj &iffalse) {
+  typename std::remove_const<vobj>::type ret;
 
-    typename std::remove_const<vobj>::type ret;
+  typedef typename vobj::scalar_object scalar_object;
+  typedef typename vobj::scalar_type scalar_type;
+  typedef typename vobj::vector_type vector_type;
 
-    typedef typename vobj::scalar_object scalar_object;
-    typedef typename vobj::scalar_type scalar_type;
-    typedef typename vobj::vector_type vector_type;
+  const int Nsimd = vobj::vector_type::Nsimd();
+  const int words = sizeof(vobj) / sizeof(vector_type);
 
-    const int Nsimd = vobj::vector_type::Nsimd();
-    const int words = sizeof(vobj)/sizeof(vector_type);
+  std::vector<Integer> mask(Nsimd);
+  std::vector<scalar_object> truevals(Nsimd);
+  std::vector<scalar_object> falsevals(Nsimd);
 
-    std::vector<Integer> mask(Nsimd);
-    std::vector<scalar_object> truevals (Nsimd);
-    std::vector<scalar_object> falsevals(Nsimd);
+  extract(iftrue, truevals);
+  extract(iffalse, falsevals);
+  extract<vInteger, Integer>(TensorRemove(predicate), mask);
 
-    extract(iftrue   ,truevals);
-    extract(iffalse  ,falsevals);
-    extract<vInteger,Integer>(TensorRemove(predicate),mask);
-
-    for(int s=0;s<Nsimd;s++){
-      if (mask[s]) falsevals[s]=truevals[s];
-    }
-
-    merge(ret,falsevals);
-    return ret;
+  for (int s = 0; s < Nsimd; s++) {
+    if (mask[s]) falsevals[s] = truevals[s];
   }
 
+  merge(ret, falsevals);
+  return ret;
+}
+
 ////////////////////////////////////////////
 // recursive evaluation of expressions; Could
 // switch to generic approach with variadics, a la
@@ -75,311 +76,342 @@ namespace Grid {
 // from tuple is hideous; C++14 introduces std::make_index_sequence for this
 ////////////////////////////////////////////
 
+// leaf eval of lattice ; should enable if protect using traits
 
-//leaf eval of lattice ; should enable if protect using traits
+template <typename T>
+using is_lattice = std::is_base_of<LatticeBase, T>;
 
-template <typename T> using is_lattice      = std::is_base_of<LatticeBase,T >;
+template <typename T>
+using is_lattice_expr = std::is_base_of<LatticeExpressionBase, T>;
 
-template <typename T> using is_lattice_expr = std::is_base_of<LatticeExpressionBase,T >;
-
-template<class sobj>
-inline sobj eval(const unsigned int ss, const sobj &arg)
-{
+template <class sobj>
+inline sobj eval(const unsigned int ss, const sobj &arg) {
   return arg;
 }
-template<class lobj>
-inline const lobj &eval(const unsigned int ss, const Lattice<lobj> &arg)
-{
-    return arg._odata[ss];
+template <class lobj>
+inline const lobj &eval(const unsigned int ss, const Lattice<lobj> &arg) {
+  return arg._odata[ss];
 }
 
 // handle nodes in syntax tree
 template <typename Op, typename T1>
-auto inline eval(const unsigned int ss, const LatticeUnaryExpression<Op,T1 > &expr) // eval one operand
-  -> decltype(expr.first.func(eval(ss,std::get<0>(expr.second))))
-{
-  return expr.first.func(eval(ss,std::get<0>(expr.second)));
+auto inline eval(
+    const unsigned int ss,
+    const LatticeUnaryExpression<Op, T1> &expr)  // eval one operand
+    -> decltype(expr.first.func(eval(ss, std::get<0>(expr.second)))) {
+  return expr.first.func(eval(ss, std::get<0>(expr.second)));
 }
 
 template <typename Op, typename T1, typename T2>
-auto inline eval(const unsigned int ss, const LatticeBinaryExpression<Op,T1,T2> &expr) // eval two operands
-  -> decltype(expr.first.func(eval(ss,std::get<0>(expr.second)),eval(ss,std::get<1>(expr.second))))
-{
-  return expr.first.func(eval(ss,std::get<0>(expr.second)),eval(ss,std::get<1>(expr.second)));
+auto inline eval(
+    const unsigned int ss,
+    const LatticeBinaryExpression<Op, T1, T2> &expr)  // eval two operands
+    -> decltype(expr.first.func(eval(ss, std::get<0>(expr.second)),
+                                eval(ss, std::get<1>(expr.second)))) {
+  return expr.first.func(eval(ss, std::get<0>(expr.second)),
+                         eval(ss, std::get<1>(expr.second)));
 }
 
 template <typename Op, typename T1, typename T2, typename T3>
-auto inline eval(const unsigned int ss, const LatticeTrinaryExpression<Op,T1,T2,T3 > &expr) // eval three operands
-  -> decltype(expr.first.func(eval(ss,std::get<0>(expr.second)),eval(ss,std::get<1>(expr.second)),eval(ss,std::get<2>(expr.second))))
-{
-  return expr.first.func(eval(ss,std::get<0>(expr.second)),eval(ss,std::get<1>(expr.second)),eval(ss,std::get<2>(expr.second)) );
+auto inline eval(const unsigned int ss,
+                 const LatticeTrinaryExpression<Op, T1, T2, T3>
+                     &expr)  // eval three operands
+    -> decltype(expr.first.func(eval(ss, std::get<0>(expr.second)),
+                                eval(ss, std::get<1>(expr.second)),
+                                eval(ss, std::get<2>(expr.second)))) {
+  return expr.first.func(eval(ss, std::get<0>(expr.second)),
+                         eval(ss, std::get<1>(expr.second)),
+                         eval(ss, std::get<2>(expr.second)));
 }
 
 //////////////////////////////////////////////////////////////////////////
-// Obtain the grid from an expression, ensuring conformable. This must follow a tree recursion
+// Obtain the grid from an expression, ensuring conformable. This must follow a
+// tree recursion
 //////////////////////////////////////////////////////////////////////////
-template<class T1, typename std::enable_if<is_lattice<T1>::value, T1>::type * =nullptr >
-inline void GridFromExpression(GridBase * &grid,const T1& lat)   // Lattice leaf
-{
-  if ( grid ) {
-    conformable(grid,lat._grid);
-  } 
-  grid=lat._grid;
-}
-template<class T1,typename std::enable_if<!is_lattice<T1>::value, T1>::type * = nullptr >
-inline void GridFromExpression(GridBase * &grid,const T1& notlat)   // non-lattice leaf
+template <class T1,
+          typename std::enable_if<is_lattice<T1>::value, T1>::type * = nullptr>
+inline void GridFromExpression(GridBase *&grid, const T1 &lat)  // Lattice leaf
 {
+  if (grid) {
+    conformable(grid, lat._grid);
+  }
+  grid = lat._grid;
 }
+template <class T1,
+          typename std::enable_if<!is_lattice<T1>::value, T1>::type * = nullptr>
+inline void GridFromExpression(GridBase *&grid,
+                               const T1 &notlat)  // non-lattice leaf
+{}
 template <typename Op, typename T1>
-inline void GridFromExpression(GridBase * &grid,const LatticeUnaryExpression<Op,T1 > &expr)
-{
-  GridFromExpression(grid,std::get<0>(expr.second));// recurse 
+inline void GridFromExpression(GridBase *&grid,
+                               const LatticeUnaryExpression<Op, T1> &expr) {
+  GridFromExpression(grid, std::get<0>(expr.second));  // recurse
 }
 
 template <typename Op, typename T1, typename T2>
-inline void GridFromExpression(GridBase * &grid,const LatticeBinaryExpression<Op,T1,T2> &expr) 
-{
-  GridFromExpression(grid,std::get<0>(expr.second));// recurse
-  GridFromExpression(grid,std::get<1>(expr.second));
+inline void GridFromExpression(
+    GridBase *&grid, const LatticeBinaryExpression<Op, T1, T2> &expr) {
+  GridFromExpression(grid, std::get<0>(expr.second));  // recurse
+  GridFromExpression(grid, std::get<1>(expr.second));
 }
 template <typename Op, typename T1, typename T2, typename T3>
-inline void GridFromExpression( GridBase * &grid,const LatticeTrinaryExpression<Op,T1,T2,T3 > &expr) 
-{
-  GridFromExpression(grid,std::get<0>(expr.second));// recurse
-  GridFromExpression(grid,std::get<1>(expr.second));
-  GridFromExpression(grid,std::get<2>(expr.second));
+inline void GridFromExpression(
+    GridBase *&grid, const LatticeTrinaryExpression<Op, T1, T2, T3> &expr) {
+  GridFromExpression(grid, std::get<0>(expr.second));  // recurse
+  GridFromExpression(grid, std::get<1>(expr.second));
+  GridFromExpression(grid, std::get<2>(expr.second));
 }
 
-
 //////////////////////////////////////////////////////////////////////////
-// Obtain the CB from an expression, ensuring conformable. This must follow a tree recursion
+// Obtain the CB from an expression, ensuring conformable. This must follow a
+// tree recursion
 //////////////////////////////////////////////////////////////////////////
-template<class T1, typename std::enable_if<is_lattice<T1>::value, T1>::type * =nullptr >
-inline void CBFromExpression(int &cb,const T1& lat)   // Lattice leaf
+template <class T1,
+          typename std::enable_if<is_lattice<T1>::value, T1>::type * = nullptr>
+inline void CBFromExpression(int &cb, const T1 &lat)  // Lattice leaf
 {
-  if ( (cb==Odd) || (cb==Even) ) {
-    assert(cb==lat.checkerboard);
-  } 
-  cb=lat.checkerboard;
+  if ((cb == Odd) || (cb == Even)) {
+    assert(cb == lat.checkerboard);
+  }
+  cb = lat.checkerboard;
   //  std::cout<<GridLogMessage<<"Lattice leaf cb "<<cb<<std::endl;
 }
-template<class T1,typename std::enable_if<!is_lattice<T1>::value, T1>::type * = nullptr >
-inline void CBFromExpression(int &cb,const T1& notlat)   // non-lattice leaf
+template <class T1,
+          typename std::enable_if<!is_lattice<T1>::value, T1>::type * = nullptr>
+inline void CBFromExpression(int &cb, const T1 &notlat)  // non-lattice leaf
 {
   //  std::cout<<GridLogMessage<<"Non lattice leaf cb"<<cb<<std::endl;
 }
 template <typename Op, typename T1>
-inline void CBFromExpression(int &cb,const LatticeUnaryExpression<Op,T1 > &expr)
-{
-  CBFromExpression(cb,std::get<0>(expr.second));// recurse 
+inline void CBFromExpression(int &cb,
+                             const LatticeUnaryExpression<Op, T1> &expr) {
+  CBFromExpression(cb, std::get<0>(expr.second));  // recurse
   //  std::cout<<GridLogMessage<<"Unary node cb "<<cb<<std::endl;
 }
 
 template <typename Op, typename T1, typename T2>
-inline void CBFromExpression(int &cb,const LatticeBinaryExpression<Op,T1,T2> &expr) 
-{
-  CBFromExpression(cb,std::get<0>(expr.second));// recurse
-  CBFromExpression(cb,std::get<1>(expr.second));
+inline void CBFromExpression(int &cb,
+                             const LatticeBinaryExpression<Op, T1, T2> &expr) {
+  CBFromExpression(cb, std::get<0>(expr.second));  // recurse
+  CBFromExpression(cb, std::get<1>(expr.second));
   //  std::cout<<GridLogMessage<<"Binary node cb "<<cb<<std::endl;
 }
 template <typename Op, typename T1, typename T2, typename T3>
-inline void CBFromExpression( int &cb,const LatticeTrinaryExpression<Op,T1,T2,T3 > &expr) 
-{
-  CBFromExpression(cb,std::get<0>(expr.second));// recurse
-  CBFromExpression(cb,std::get<1>(expr.second));
-  CBFromExpression(cb,std::get<2>(expr.second));
+inline void CBFromExpression(
+    int &cb, const LatticeTrinaryExpression<Op, T1, T2, T3> &expr) {
+  CBFromExpression(cb, std::get<0>(expr.second));  // recurse
+  CBFromExpression(cb, std::get<1>(expr.second));
+  CBFromExpression(cb, std::get<2>(expr.second));
   //  std::cout<<GridLogMessage<<"Trinary node cb "<<cb<<std::endl;
 }
 
 ////////////////////////////////////////////
 // Unary operators and funcs
 ////////////////////////////////////////////
-#define GridUnopClass(name,ret)\
-  template <class arg> struct name		\
-    {								       \
-      static auto inline func(const arg a)-> decltype(ret) { return ret; } \
-    };
- 
- GridUnopClass(UnarySub,-a);
- GridUnopClass(UnaryNot,Not(a));
- GridUnopClass(UnaryAdj,adj(a));
- GridUnopClass(UnaryConj,conjugate(a));
- GridUnopClass(UnaryTrace,trace(a));
- GridUnopClass(UnaryTranspose,transpose(a));
- GridUnopClass(UnaryTa,Ta(a));
- GridUnopClass(UnaryProjectOnGroup,ProjectOnGroup(a));
- GridUnopClass(UnaryReal,real(a));
- GridUnopClass(UnaryImag,imag(a));
- GridUnopClass(UnaryToReal,toReal(a));
- GridUnopClass(UnaryToComplex,toComplex(a));
- GridUnopClass(UnaryTimesI,timesI(a));
- GridUnopClass(UnaryTimesMinusI,timesMinusI(a));
- GridUnopClass(UnaryAbs,abs(a));
- GridUnopClass(UnarySqrt,sqrt(a));
- GridUnopClass(UnaryRsqrt,rsqrt(a));
- GridUnopClass(UnarySin,sin(a));
- GridUnopClass(UnaryCos,cos(a));
- GridUnopClass(UnaryAsin,asin(a));
- GridUnopClass(UnaryAcos,acos(a));
- GridUnopClass(UnaryLog,log(a));
- GridUnopClass(UnaryExp,exp(a));
- 
+#define GridUnopClass(name, ret)                                          \
+  template <class arg>                                                    \
+  struct name {                                                           \
+    static auto inline func(const arg a) -> decltype(ret) { return ret; } \
+  };
+
+GridUnopClass(UnarySub, -a);
+GridUnopClass(UnaryNot, Not(a));
+GridUnopClass(UnaryAdj, adj(a));
+GridUnopClass(UnaryConj, conjugate(a));
+GridUnopClass(UnaryTrace, trace(a));
+GridUnopClass(UnaryTranspose, transpose(a));
+GridUnopClass(UnaryTa, Ta(a));
+GridUnopClass(UnaryProjectOnGroup, ProjectOnGroup(a));
+GridUnopClass(UnaryReal, real(a));
+GridUnopClass(UnaryImag, imag(a));
+GridUnopClass(UnaryToReal, toReal(a));
+GridUnopClass(UnaryToComplex, toComplex(a));
+GridUnopClass(UnaryTimesI, timesI(a));
+GridUnopClass(UnaryTimesMinusI, timesMinusI(a));
+GridUnopClass(UnaryAbs, abs(a));
+GridUnopClass(UnarySqrt, sqrt(a));
+GridUnopClass(UnaryRsqrt, rsqrt(a));
+GridUnopClass(UnarySin, sin(a));
+GridUnopClass(UnaryCos, cos(a));
+GridUnopClass(UnaryAsin, asin(a));
+GridUnopClass(UnaryAcos, acos(a));
+GridUnopClass(UnaryLog, log(a));
+GridUnopClass(UnaryExp, exp(a));
+
 ////////////////////////////////////////////
 // Binary operators
 ////////////////////////////////////////////
-#define GridBinOpClass(name,combination)\
-template <class left,class right>\
-struct name\
-{\
-  static auto inline func(const left &lhs,const right &rhs)-> decltype(combination) const \
-    {\
-      return combination;\
-    }\
-}
-GridBinOpClass(BinaryAdd,lhs+rhs);
-GridBinOpClass(BinarySub,lhs-rhs);
-GridBinOpClass(BinaryMul,lhs*rhs);
+#define GridBinOpClass(name, combination)                      \
+  template <class left, class right>                           \
+  struct name {                                                \
+    static auto inline func(const left &lhs, const right &rhs) \
+        -> decltype(combination) const {                       \
+      return combination;                                      \
+    }                                                          \
+  }
+GridBinOpClass(BinaryAdd, lhs + rhs);
+GridBinOpClass(BinarySub, lhs - rhs);
+GridBinOpClass(BinaryMul, lhs *rhs);
 
-GridBinOpClass(BinaryAnd   ,lhs&rhs);
-GridBinOpClass(BinaryOr    ,lhs|rhs);
-GridBinOpClass(BinaryAndAnd,lhs&&rhs);
-GridBinOpClass(BinaryOrOr  ,lhs||rhs);
+GridBinOpClass(BinaryAnd, lhs &rhs);
+GridBinOpClass(BinaryOr, lhs | rhs);
+GridBinOpClass(BinaryAndAnd, lhs &&rhs);
+GridBinOpClass(BinaryOrOr, lhs || rhs);
 
 ////////////////////////////////////////////////////
 // Trinary conditional op
 ////////////////////////////////////////////////////
-#define GridTrinOpClass(name,combination)\
-template <class predicate,class left, class right>	\
-struct name\
-{\
-  static auto inline func(const predicate &pred,const left &lhs,const right &rhs)-> decltype(combination) const \
-    {\
-      return combination;\
-    }\
-}
+#define GridTrinOpClass(name, combination)                                     \
+  template <class predicate, class left, class right>                          \
+  struct name {                                                                \
+    static auto inline func(const predicate &pred, const left &lhs,            \
+                            const right &rhs) -> decltype(combination) const { \
+      return combination;                                                      \
+    }                                                                          \
+  }
 
-GridTrinOpClass(TrinaryWhere,(predicatedWhere<predicate, \
-			       typename std::remove_reference<left>::type, \
-			       typename std::remove_reference<right>::type> (pred,lhs,rhs)));
+GridTrinOpClass(
+    TrinaryWhere,
+    (predicatedWhere<predicate, typename std::remove_reference<left>::type,
+                     typename std::remove_reference<right>::type>(pred, lhs,
+                                                                  rhs)));
 
 ////////////////////////////////////////////
 // Operator syntactical glue
 ////////////////////////////////////////////
- 
-#define GRID_UNOP(name)   name<decltype(eval(0, arg))>
-#define GRID_BINOP(name)  name<decltype(eval(0, lhs)), decltype(eval(0, rhs))>
-#define GRID_TRINOP(name) name<decltype(eval(0, pred)), decltype(eval(0, lhs)), decltype(eval(0, rhs))>
 
-#define GRID_DEF_UNOP(op, name)\
-template <typename T1,\
-  typename std::enable_if<is_lattice<T1>::value||is_lattice_expr<T1>::value, T1>::type* = nullptr> inline auto op(const T1 &arg) \
-  -> decltype(LatticeUnaryExpression<GRID_UNOP(name),const T1&>(std::make_pair(GRID_UNOP(name)(),std::forward_as_tuple(arg)))) \
-{ return LatticeUnaryExpression<GRID_UNOP(name), const T1 &>(std::make_pair(GRID_UNOP(name)(),std::forward_as_tuple(arg))); }
+#define GRID_UNOP(name) name<decltype(eval(0, arg))>
+#define GRID_BINOP(name) name<decltype(eval(0, lhs)), decltype(eval(0, rhs))>
+#define GRID_TRINOP(name) \
+  name<decltype(eval(0, pred)), decltype(eval(0, lhs)), decltype(eval(0, rhs))>
 
-#define GRID_BINOP_LEFT(op, name)\
-template <typename T1,typename T2,\
-          typename std::enable_if<is_lattice<T1>::value||is_lattice_expr<T1>::value, T1>::type* = nullptr>\
-inline auto op(const T1 &lhs,const T2&rhs) \
-  -> decltype(LatticeBinaryExpression<GRID_BINOP(name),const T1&,const T2 &>(std::make_pair(GRID_BINOP(name)(),\
-											    std::forward_as_tuple(lhs, rhs)))) \
-{\
- return LatticeBinaryExpression<GRID_BINOP(name), const T1 &, const T2 &>(std::make_pair(GRID_BINOP(name)(),\
-									  std::forward_as_tuple(lhs, rhs))); \
-}
+#define GRID_DEF_UNOP(op, name)                                             \
+  template <typename T1,                                                    \
+            typename std::enable_if<is_lattice<T1>::value ||                \
+                                        is_lattice_expr<T1>::value,         \
+                                    T1>::type * = nullptr>                  \
+  inline auto op(const T1 &arg)                                             \
+      ->decltype(LatticeUnaryExpression<GRID_UNOP(name), const T1 &>(       \
+          std::make_pair(GRID_UNOP(name)(), std::forward_as_tuple(arg)))) { \
+    return LatticeUnaryExpression<GRID_UNOP(name), const T1 &>(             \
+        std::make_pair(GRID_UNOP(name)(), std::forward_as_tuple(arg)));     \
+  }
 
-#define GRID_BINOP_RIGHT(op, name)\
- template <typename T1,typename T2,\
-           typename std::enable_if<!is_lattice<T1>::value && !is_lattice_expr<T1>::value, T1>::type* = nullptr,\
-           typename std::enable_if< is_lattice<T2>::value ||  is_lattice_expr<T2>::value, T2>::type* = nullptr> \
-inline auto op(const T1 &lhs,const T2&rhs)			\
-  -> decltype(LatticeBinaryExpression<GRID_BINOP(name),const T1&,const T2 &>(std::make_pair(GRID_BINOP(name)(),\
-											    std::forward_as_tuple(lhs, rhs)))) \
-{\
- return LatticeBinaryExpression<GRID_BINOP(name), const T1 &, const T2 &>(std::make_pair(GRID_BINOP(name)(),\
-								          std::forward_as_tuple(lhs, rhs))); \
-}
+#define GRID_BINOP_LEFT(op, name)                                             \
+  template <typename T1, typename T2,                                         \
+            typename std::enable_if<is_lattice<T1>::value ||                  \
+                                        is_lattice_expr<T1>::value,           \
+                                    T1>::type * = nullptr>                    \
+  inline auto op(const T1 &lhs, const T2 &rhs)                                \
+      ->decltype(                                                             \
+          LatticeBinaryExpression<GRID_BINOP(name), const T1 &, const T2 &>(  \
+              std::make_pair(GRID_BINOP(name)(),                              \
+                             std::forward_as_tuple(lhs, rhs)))) {             \
+    return LatticeBinaryExpression<GRID_BINOP(name), const T1 &, const T2 &>( \
+        std::make_pair(GRID_BINOP(name)(), std::forward_as_tuple(lhs, rhs))); \
+  }
 
-#define GRID_DEF_BINOP(op, name)\
- GRID_BINOP_LEFT(op,name);\
- GRID_BINOP_RIGHT(op,name);
+#define GRID_BINOP_RIGHT(op, name)                                            \
+  template <typename T1, typename T2,                                         \
+            typename std::enable_if<!is_lattice<T1>::value &&                 \
+                                        !is_lattice_expr<T1>::value,          \
+                                    T1>::type * = nullptr,                    \
+            typename std::enable_if<is_lattice<T2>::value ||                  \
+                                        is_lattice_expr<T2>::value,           \
+                                    T2>::type * = nullptr>                    \
+  inline auto op(const T1 &lhs, const T2 &rhs)                                \
+      ->decltype(                                                             \
+          LatticeBinaryExpression<GRID_BINOP(name), const T1 &, const T2 &>(  \
+              std::make_pair(GRID_BINOP(name)(),                              \
+                             std::forward_as_tuple(lhs, rhs)))) {             \
+    return LatticeBinaryExpression<GRID_BINOP(name), const T1 &, const T2 &>( \
+        std::make_pair(GRID_BINOP(name)(), std::forward_as_tuple(lhs, rhs))); \
+  }
 
+#define GRID_DEF_BINOP(op, name) \
+  GRID_BINOP_LEFT(op, name);     \
+  GRID_BINOP_RIGHT(op, name);
 
-#define GRID_DEF_TRINOP(op, name)\
-template <typename T1,typename T2,typename T3> inline auto op(const T1 &pred,const T2&lhs,const T3 &rhs) \
-  -> decltype(LatticeTrinaryExpression<GRID_TRINOP(name),const T1&,const T2 &,const T3&>(std::make_pair(GRID_TRINOP(name)(),\
-										   std::forward_as_tuple(pred,lhs,rhs)))) \
-{\
-  return LatticeTrinaryExpression<GRID_TRINOP(name), const T1 &, const T2 &,const T3&>(std::make_pair(GRID_TRINOP(name)(), \
-										 std::forward_as_tuple(pred,lhs, rhs))); \
-}
+#define GRID_DEF_TRINOP(op, name)                                              \
+  template <typename T1, typename T2, typename T3>                             \
+  inline auto op(const T1 &pred, const T2 &lhs, const T3 &rhs)                 \
+      ->decltype(                                                              \
+          LatticeTrinaryExpression<GRID_TRINOP(name), const T1 &, const T2 &,  \
+                                   const T3 &>(std::make_pair(                 \
+              GRID_TRINOP(name)(), std::forward_as_tuple(pred, lhs, rhs)))) {  \
+    return LatticeTrinaryExpression<GRID_TRINOP(name), const T1 &, const T2 &, \
+                                    const T3 &>(std::make_pair(                \
+        GRID_TRINOP(name)(), std::forward_as_tuple(pred, lhs, rhs)));          \
+  }
 ////////////////////////
-//Operator definitions
+// Operator definitions
 ////////////////////////
 
-GRID_DEF_UNOP(operator -,UnarySub);
-GRID_DEF_UNOP(Not,UnaryNot);
-GRID_DEF_UNOP(operator !,UnaryNot);
-GRID_DEF_UNOP(adj,UnaryAdj);
-GRID_DEF_UNOP(conjugate,UnaryConj);
-GRID_DEF_UNOP(trace,UnaryTrace);
-GRID_DEF_UNOP(transpose,UnaryTranspose);
-GRID_DEF_UNOP(Ta,UnaryTa);
-GRID_DEF_UNOP(ProjectOnGroup,UnaryProjectOnGroup);
-GRID_DEF_UNOP(real,UnaryReal);
-GRID_DEF_UNOP(imag,UnaryImag);
-GRID_DEF_UNOP(toReal,UnaryToReal);
-GRID_DEF_UNOP(toComplex,UnaryToComplex);
-GRID_DEF_UNOP(timesI,UnaryTimesI);
-GRID_DEF_UNOP(timesMinusI,UnaryTimesMinusI);
-GRID_DEF_UNOP(abs  ,UnaryAbs); //abs overloaded in cmath C++98; DON'T do the abs-fabs-dabs-labs thing
-GRID_DEF_UNOP(sqrt ,UnarySqrt);
-GRID_DEF_UNOP(rsqrt,UnaryRsqrt);
-GRID_DEF_UNOP(sin  ,UnarySin);
-GRID_DEF_UNOP(cos  ,UnaryCos);
-GRID_DEF_UNOP(asin  ,UnaryAsin);
-GRID_DEF_UNOP(acos  ,UnaryAcos);
-GRID_DEF_UNOP(log  ,UnaryLog);
-GRID_DEF_UNOP(exp  ,UnaryExp);
+GRID_DEF_UNOP(operator-, UnarySub);
+GRID_DEF_UNOP(Not, UnaryNot);
+GRID_DEF_UNOP(operator!, UnaryNot);
+GRID_DEF_UNOP(adj, UnaryAdj);
+GRID_DEF_UNOP(conjugate, UnaryConj);
+GRID_DEF_UNOP(trace, UnaryTrace);
+GRID_DEF_UNOP(transpose, UnaryTranspose);
+GRID_DEF_UNOP(Ta, UnaryTa);
+GRID_DEF_UNOP(ProjectOnGroup, UnaryProjectOnGroup);
+GRID_DEF_UNOP(real, UnaryReal);
+GRID_DEF_UNOP(imag, UnaryImag);
+GRID_DEF_UNOP(toReal, UnaryToReal);
+GRID_DEF_UNOP(toComplex, UnaryToComplex);
+GRID_DEF_UNOP(timesI, UnaryTimesI);
+GRID_DEF_UNOP(timesMinusI, UnaryTimesMinusI);
+GRID_DEF_UNOP(abs, UnaryAbs);  // abs overloaded in cmath C++98; DON'T do the
+                               // abs-fabs-dabs-labs thing
+GRID_DEF_UNOP(sqrt, UnarySqrt);
+GRID_DEF_UNOP(rsqrt, UnaryRsqrt);
+GRID_DEF_UNOP(sin, UnarySin);
+GRID_DEF_UNOP(cos, UnaryCos);
+GRID_DEF_UNOP(asin, UnaryAsin);
+GRID_DEF_UNOP(acos, UnaryAcos);
+GRID_DEF_UNOP(log, UnaryLog);
+GRID_DEF_UNOP(exp, UnaryExp);
 
-GRID_DEF_BINOP(operator+,BinaryAdd);
-GRID_DEF_BINOP(operator-,BinarySub);
-GRID_DEF_BINOP(operator*,BinaryMul);
+GRID_DEF_BINOP(operator+, BinaryAdd);
+GRID_DEF_BINOP(operator-, BinarySub);
+GRID_DEF_BINOP(operator*, BinaryMul);
 
-GRID_DEF_BINOP(operator&,BinaryAnd);
-GRID_DEF_BINOP(operator|,BinaryOr);
-GRID_DEF_BINOP(operator&&,BinaryAndAnd);
-GRID_DEF_BINOP(operator||,BinaryOrOr);
+GRID_DEF_BINOP(operator&, BinaryAnd);
+GRID_DEF_BINOP(operator|, BinaryOr);
+GRID_DEF_BINOP(operator&&, BinaryAndAnd);
+GRID_DEF_BINOP(operator||, BinaryOrOr);
 
-GRID_DEF_TRINOP(where,TrinaryWhere);
+GRID_DEF_TRINOP(where, TrinaryWhere);
 
 /////////////////////////////////////////////////////////////
 // Closure convenience to force expression to evaluate
 /////////////////////////////////////////////////////////////
-template<class Op,class T1>
-  auto closure(const LatticeUnaryExpression<Op,T1> & expr)
-  -> Lattice<decltype(expr.first.func(eval(0,std::get<0>(expr.second))))>
-{
-  Lattice<decltype(expr.first.func(eval(0,std::get<0>(expr.second))))> ret(expr);
+template <class Op, class T1>
+auto closure(const LatticeUnaryExpression<Op, T1> &expr)
+    -> Lattice<decltype(expr.first.func(eval(0, std::get<0>(expr.second))))> {
+  Lattice<decltype(expr.first.func(eval(0, std::get<0>(expr.second))))> ret(
+      expr);
   return ret;
 }
-template<class Op,class T1, class T2>
-  auto closure(const LatticeBinaryExpression<Op,T1,T2> & expr)
-  -> Lattice<decltype(expr.first.func(eval(0,std::get<0>(expr.second)),
-				      eval(0,std::get<1>(expr.second))))>
-{
-  Lattice<decltype(expr.first.func(eval(0,std::get<0>(expr.second)),
-				   eval(0,std::get<1>(expr.second))))> ret(expr);
+template <class Op, class T1, class T2>
+auto closure(const LatticeBinaryExpression<Op, T1, T2> &expr)
+    -> Lattice<decltype(expr.first.func(eval(0, std::get<0>(expr.second)),
+                                        eval(0, std::get<1>(expr.second))))> {
+  Lattice<decltype(expr.first.func(eval(0, std::get<0>(expr.second)),
+                                   eval(0, std::get<1>(expr.second))))>
+      ret(expr);
   return ret;
 }
-template<class Op,class T1, class T2, class T3>
-  auto closure(const LatticeTrinaryExpression<Op,T1,T2,T3> & expr)
-  -> Lattice<decltype(expr.first.func(eval(0,std::get<0>(expr.second)),
-				      eval(0,std::get<1>(expr.second)),
-				      eval(0,std::get<2>(expr.second))))>
-{
-  Lattice<decltype(expr.first.func(eval(0,std::get<0>(expr.second)),
-				   eval(0,std::get<1>(expr.second)),
-				   eval(0,std::get<2>(expr.second))))> ret(expr);
+template <class Op, class T1, class T2, class T3>
+auto closure(const LatticeTrinaryExpression<Op, T1, T2, T3> &expr)
+    -> Lattice<decltype(expr.first.func(eval(0, std::get<0>(expr.second)),
+                                        eval(0, std::get<1>(expr.second)),
+                                        eval(0, std::get<2>(expr.second))))> {
+  Lattice<decltype(expr.first.func(eval(0, std::get<0>(expr.second)),
+                                   eval(0, std::get<1>(expr.second)),
+                                   eval(0, std::get<2>(expr.second))))>
+      ret(expr);
   return ret;
 }
 
@@ -390,12 +422,11 @@ template<class Op,class T1, class T2, class T3>
 #undef GRID_DEF_UNOP
 #undef GRID_DEF_BINOP
 #undef GRID_DEF_TRINOP
-
 }
 
 #if 0
 using namespace Grid;
- 	      
+        
  int main(int argc,char **argv){
    
    Lattice<double> v1(16);
@@ -405,7 +436,7 @@ using namespace Grid;
    BinaryAdd<double,double> tmp;
    LatticeBinaryExpression<BinaryAdd<double,double>,Lattice<double> &,Lattice<double> &> 
      expr(std::make_pair(tmp,
-	  std::forward_as_tuple(v1,v2)));
+    std::forward_as_tuple(v1,v2)));
    tmp.func(eval(0,v1),eval(0,v2));
 
    auto var = v1+v2;
diff --git a/lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h b/lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h
index 1b836b4c..080b1be2 100644
--- a/lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h
+++ b/lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h
@@ -1,212 +1,214 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h
+Source file: ./lib/qcd/action/pseudofermion/OneFlavourEvenOddRational.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef QCD_PSEUDOFERMION_ONE_FLAVOUR_EVEN_ODD_RATIONAL_H
 #define QCD_PSEUDOFERMION_ONE_FLAVOUR_EVEN_ODD_RATIONAL_H
 
-namespace Grid{
-  namespace QCD{
+namespace Grid {
+namespace QCD {
 
-    ///////////////////////////////////////
-    // One flavour rational
-    ///////////////////////////////////////
+///////////////////////////////////////
+// One flavour rational
+///////////////////////////////////////
 
-    // S_f = chi^dag *  N(Mpc^dag*Mpc)/D(Mpc^dag*Mpc) * chi
+// S_f = chi^dag *  N(Mpc^dag*Mpc)/D(Mpc^dag*Mpc) * chi
+//
+// Here, M is some operator
+// N and D makeup the rat. poly
+//
+
+template <class Impl>
+class OneFlavourEvenOddRationalPseudoFermionAction
+    : public Action<typename Impl::GaugeField> {
+ public:
+  INHERIT_IMPL_TYPES(Impl);
+
+  typedef OneFlavourRationalParams Params;
+  Params param;
+
+  MultiShiftFunction PowerHalf;
+  MultiShiftFunction PowerNegHalf;
+  MultiShiftFunction PowerQuarter;
+  MultiShiftFunction PowerNegQuarter;
+
+ private:
+  FermionOperator<Impl> &FermOp;  // the basic operator
+
+  // NOT using "Nroots"; IroIro is -- perhaps later, but this wasn't good for us
+  // historically
+  // and hasenbusch works better
+
+  FermionField PhiEven;  // the pseudo fermion field for this trajectory
+  FermionField PhiOdd;   // the pseudo fermion field for this trajectory
+
+ public:
+  OneFlavourEvenOddRationalPseudoFermionAction(FermionOperator<Impl> &Op,
+                                               Params &p)
+      : FermOp(Op),
+        PhiEven(Op.FermionRedBlackGrid()),
+        PhiOdd(Op.FermionRedBlackGrid()),
+        param(p) {
+    AlgRemez remez(param.lo, param.hi, param.precision);
+
+    // MdagM^(+- 1/2)
+    std::cout << GridLogMessage << "Generating degree " << param.degree
+              << " for x^(1/2)" << std::endl;
+    remez.generateApprox(param.degree, 1, 2);
+    PowerHalf.Init(remez, param.tolerance, false);
+    PowerNegHalf.Init(remez, param.tolerance, true);
+
+    // MdagM^(+- 1/4)
+    std::cout << GridLogMessage << "Generating degree " << param.degree
+              << " for x^(1/4)" << std::endl;
+    remez.generateApprox(param.degree, 1, 4);
+    PowerQuarter.Init(remez, param.tolerance, false);
+    PowerNegQuarter.Init(remez, param.tolerance, true);
+  };
+
+  virtual void refresh(const GaugeField &U, GridParallelRNG &pRNG) {
+    // P(phi) = e^{- phi^dag (MpcdagMpc)^-1/2 phi}
+    //        = e^{- phi^dag (MpcdagMpc)^-1/4 (MpcdagMpc)^-1/4 phi}
+    // Phi = MpcdagMpc^{1/4} eta
     //
-    // Here, M is some operator 
-    // N and D makeup the rat. poly 
+    // P(eta) = e^{- eta^dag eta}
     //
-  
-    template<class Impl>
-    class OneFlavourEvenOddRationalPseudoFermionAction : public Action<typename Impl::GaugeField> {
-    public:
-      INHERIT_IMPL_TYPES(Impl);
+    // e^{x^2/2 sig^2} => sig^2 = 0.5.
+    //
+    // So eta should be of width sig = 1/sqrt(2).
 
-      typedef OneFlavourRationalParams Params;
-      Params param;
+    RealD scale = std::sqrt(0.5);
 
-      MultiShiftFunction PowerHalf   ;
-      MultiShiftFunction PowerNegHalf;
-      MultiShiftFunction PowerQuarter;
-      MultiShiftFunction PowerNegQuarter;
+    FermionField eta(FermOp.FermionGrid());
+    FermionField etaOdd(FermOp.FermionRedBlackGrid());
+    FermionField etaEven(FermOp.FermionRedBlackGrid());
 
-    private:
-     
-      FermionOperator<Impl> & FermOp;// the basic operator
+    gaussian(pRNG, eta);
+    eta = eta * scale;
 
-      // NOT using "Nroots"; IroIro is -- perhaps later, but this wasn't good for us historically
-      // and hasenbusch works better
+    pickCheckerboard(Even, etaEven, eta);
+    pickCheckerboard(Odd, etaOdd, eta);
 
-      FermionField PhiEven; // the pseudo fermion field for this trajectory
-      FermionField PhiOdd; // the pseudo fermion field for this trajectory
-                        
+    FermOp.ImportGauge(U);
 
-    public:
+    // mutishift CG
+    SchurDifferentiableOperator<Impl> Mpc(FermOp);
+    ConjugateGradientMultiShift<FermionField> msCG(param.MaxIter, PowerQuarter);
+    msCG(Mpc, etaOdd, PhiOdd);
 
-      OneFlavourEvenOddRationalPseudoFermionAction(FermionOperator<Impl>  &Op, 
-						   Params & p ) : FermOp(Op), 
-	PhiEven(Op.FermionRedBlackGrid()), 
-	PhiOdd (Op.FermionRedBlackGrid()), 
-	param(p) 
-      {
-	AlgRemez remez(param.lo,param.hi,param.precision);
+    //////////////////////////////////////////////////////
+    // FIXME : Clover term not yet..
+    //////////////////////////////////////////////////////
 
-	// MdagM^(+- 1/2)
-	std::cout<<GridLogMessage << "Generating degree "<<param.degree<<" for x^(1/2)"<<std::endl;
-	remez.generateApprox(param.degree,1,2);
-	PowerHalf.Init(remez,param.tolerance,false);
-	PowerNegHalf.Init(remez,param.tolerance,true);
+    assert(FermOp.ConstEE() == 1);
+    PhiEven = zero;
+  };
 
-	// MdagM^(+- 1/4)
-	std::cout<<GridLogMessage << "Generating degree "<<param.degree<<" for x^(1/4)"<<std::endl;
-	remez.generateApprox(param.degree,1,4);
-   	PowerQuarter.Init(remez,param.tolerance,false);
-	PowerNegQuarter.Init(remez,param.tolerance,true);
-      };
-      
-      virtual void refresh(const GaugeField &U, GridParallelRNG& pRNG) {
+  //////////////////////////////////////////////////////
+  // S = phi^dag (Mdag M)^-1/2 phi
+  //////////////////////////////////////////////////////
+  virtual RealD S(const GaugeField &U) {
+    FermOp.ImportGauge(U);
 
-	// P(phi) = e^{- phi^dag (MpcdagMpc)^-1/2 phi}
-	//        = e^{- phi^dag (MpcdagMpc)^-1/4 (MpcdagMpc)^-1/4 phi}
-	// Phi = MpcdagMpc^{1/4} eta 
-	//
-	// P(eta) = e^{- eta^dag eta}
-	//
-	// e^{x^2/2 sig^2} => sig^2 = 0.5.
-	// 
-	// So eta should be of width sig = 1/sqrt(2).
+    FermionField Y(FermOp.FermionRedBlackGrid());
 
-	RealD scale = std::sqrt(0.5);
+    SchurDifferentiableOperator<Impl> Mpc(FermOp);
 
-	FermionField eta    (FermOp.FermionGrid());
-	FermionField etaOdd (FermOp.FermionRedBlackGrid());
-	FermionField etaEven(FermOp.FermionRedBlackGrid());
+    ConjugateGradientMultiShift<FermionField> msCG(param.MaxIter,
+                                                   PowerNegQuarter);
 
-	gaussian(pRNG,eta);	eta=eta*scale;
+    msCG(Mpc, PhiOdd, Y);
 
-	pickCheckerboard(Even,etaEven,eta);
-	pickCheckerboard(Odd,etaOdd,eta);
+    RealD action = norm2(Y);
+    std::cout << GridLogMessage << "Pseudofermion action FIXME -- is -1/4 "
+                                   "solve or -1/2 solve faster??? "
+              << action << std::endl;
 
-	FermOp.ImportGauge(U);
+    return action;
+  };
 
-	// mutishift CG
-	SchurDifferentiableOperator<Impl> Mpc(FermOp);
-	ConjugateGradientMultiShift<FermionField> msCG(param.MaxIter,PowerQuarter);
-	msCG(Mpc,etaOdd,PhiOdd);
+  //////////////////////////////////////////////////////
+  // Need
+  // dS_f/dU = chi^dag   d[N/D]  chi
+  //
+  // N/D is expressed as partial fraction expansion:
+  //
+  //           a0 + \sum_k ak/(M^dagM + bk)
+  //
+  // d[N/D] is then
+  //
+  //          \sum_k -ak [M^dagM+bk]^{-1}  [ dM^dag M + M^dag dM ] [M^dag M +
+  //          bk]^{-1}
+  //
+  // Need
+  //       Mf Phi_k = [MdagM+bk]^{-1} Phi
+  //       Mf Phi   = \sum_k ak [MdagM+bk]^{-1} Phi
+  //
+  // With these building blocks
+  //
+  //       dS/dU =  \sum_k -ak Mf Phi_k^dag      [ dM^dag M + M^dag dM ] Mf
+  //       Phi_k
+  //        S    = innerprodReal(Phi,Mf Phi);
+  //////////////////////////////////////////////////////
+  virtual void deriv(const GaugeField &U, GaugeField &dSdU) {
+    const int Npole = PowerNegHalf.poles.size();
 
-	//////////////////////////////////////////////////////
-	// FIXME : Clover term not yet..
-	//////////////////////////////////////////////////////
+    std::vector<FermionField> MPhi_k(Npole, FermOp.FermionRedBlackGrid());
 
-	assert(FermOp.ConstEE() == 1);
-	PhiEven = zero;
-	
-      };
+    FermionField X(FermOp.FermionRedBlackGrid());
+    FermionField Y(FermOp.FermionRedBlackGrid());
 
-      //////////////////////////////////////////////////////
-      // S = phi^dag (Mdag M)^-1/2 phi
-      //////////////////////////////////////////////////////
-      virtual RealD S(const GaugeField &U) {
+    GaugeField tmp(FermOp.GaugeGrid());
 
-	FermOp.ImportGauge(U);
+    FermOp.ImportGauge(U);
 
-	FermionField Y(FermOp.FermionRedBlackGrid());
-	
-	SchurDifferentiableOperator<Impl> Mpc(FermOp);
+    SchurDifferentiableOperator<Impl> Mpc(FermOp);
 
-	ConjugateGradientMultiShift<FermionField> msCG(param.MaxIter,PowerNegQuarter);
+    ConjugateGradientMultiShift<FermionField> msCG(param.MaxIter, PowerNegHalf);
 
-	msCG(Mpc,PhiOdd,Y);
+    msCG(Mpc, PhiOdd, MPhi_k);
 
-	RealD action = norm2(Y);
-	std::cout << GridLogMessage << "Pseudofermion action FIXME -- is -1/4 solve or -1/2 solve faster??? "<<action<<std::endl;
+    dSdU = zero;
+    for (int k = 0; k < Npole; k++) {
+      RealD ak = PowerNegHalf.residues[k];
 
-	return action;
-      };
+      X = MPhi_k[k];
 
-      //////////////////////////////////////////////////////
-      // Need
-      // dS_f/dU = chi^dag   d[N/D]  chi
-      //
-      // N/D is expressed as partial fraction expansion:
-      //
-      //           a0 + \sum_k ak/(M^dagM + bk)
-      //
-      // d[N/D] is then
-      //
-      //          \sum_k -ak [M^dagM+bk]^{-1}  [ dM^dag M + M^dag dM ] [M^dag M + bk]^{-1}
-      //
-      // Need
-      //       Mf Phi_k = [MdagM+bk]^{-1} Phi
-      //       Mf Phi   = \sum_k ak [MdagM+bk]^{-1} Phi
-      //
-      // With these building blocks
-      //
-      //       dS/dU =  \sum_k -ak Mf Phi_k^dag      [ dM^dag M + M^dag dM ] Mf Phi_k
-      //        S    = innerprodReal(Phi,Mf Phi);
-      //////////////////////////////////////////////////////
-      virtual void deriv(const GaugeField &U,GaugeField & dSdU) {
+      Mpc.Mpc(X, Y);
+      Mpc.MpcDeriv(tmp, Y, X);
+      dSdU = dSdU + ak * tmp;
+      Mpc.MpcDagDeriv(tmp, X, Y);
+      dSdU = dSdU + ak * tmp;
+    }
 
-	const int Npole = PowerNegHalf.poles.size();
-
-	std::vector<FermionField> MPhi_k (Npole,FermOp.FermionRedBlackGrid());
-
-	FermionField X(FermOp.FermionRedBlackGrid());
-	FermionField Y(FermOp.FermionRedBlackGrid());
-
-	GaugeField   tmp(FermOp.GaugeGrid());
-
-	FermOp.ImportGauge(U);
-
-	SchurDifferentiableOperator<Impl> Mpc(FermOp);
-
-	ConjugateGradientMultiShift<FermionField> msCG(param.MaxIter,PowerNegHalf);
-
-	msCG(Mpc,PhiOdd,MPhi_k);
-
-	dSdU = zero;
-	for(int k=0;k<Npole;k++){
-
-	  RealD ak = PowerNegHalf.residues[k];
-
-	  X  = MPhi_k[k];
-
-	  Mpc.Mpc(X,Y);
-	  Mpc.MpcDeriv   (tmp , Y, X );  dSdU=dSdU+ak*tmp;
-	  Mpc.MpcDagDeriv(tmp , X, Y );  dSdU=dSdU+ak*tmp;
-
-	}
-
-	//dSdU = Ta(dSdU);
-
-      };
-    };
-  }
+    // dSdU = Ta(dSdU);
+  };
+};
+}
 }
 
-
 #endif
diff --git a/lib/tensors/Tensor_class.h b/lib/tensors/Tensor_class.h
index 3d9c4366..777e247b 100644
--- a/lib/tensors/Tensor_class.h
+++ b/lib/tensors/Tensor_class.h
@@ -1,31 +1,32 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/tensors/Tensor_class.h
+Source file: ./lib/tensors/Tensor_class.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef GRID_MATH_TENSORS_H
 #define GRID_MATH_TENSORS_H
 
@@ -38,17 +39,18 @@ namespace Grid {
 
 // It is useful to NOT have any constructors
 // so that these classes assert "is_pod<class> == true"
-// because then the standard C++ valarray container eliminates fill overhead on new allocation and 
+// because then the standard C++ valarray container eliminates fill overhead on
+// new allocation and
 // non-move copying.
 //
-// However note that doing this eliminates some syntactical sugar such as 
+// However note that doing this eliminates some syntactical sugar such as
 // calling the constructor explicitly or implicitly
 //
 class GridTensorBase {};
 
-template<class vtype> class iScalar 
-{
-public:
+template <class vtype>
+class iScalar {
+ public:
   vtype _internal;
 
   typedef vtype element;
@@ -60,13 +62,14 @@ public:
   typedef iScalar<recurse_scalar_object> scalar_object;
 
   // substitutes a real or complex version with same tensor structure
-  typedef iScalar<typename GridTypeMapper<vtype>::Complexified > Complexified;
-  typedef iScalar<typename GridTypeMapper<vtype>::Realified >    Realified;
+  typedef iScalar<typename GridTypeMapper<vtype>::Complexified> Complexified;
+  typedef iScalar<typename GridTypeMapper<vtype>::Realified> Realified;
 
-  enum { TensorLevel = GridTypeMapper<vtype>::TensorLevel + 1};
+  enum { TensorLevel = GridTypeMapper<vtype>::TensorLevel + 1 };
 
   // Scalar no action
-  //  template<int Level> using tensor_reduce_level = typename iScalar<GridTypeMapper<vtype>::tensor_reduce_level<Level> >;
+  //  template<int Level> using tensor_reduce_level = typename
+  //  iScalar<GridTypeMapper<vtype>::tensor_reduce_level<Level> >;
   iScalar() = default;
   /*
   iScalar(const iScalar<vtype> &copyme)=default;
@@ -74,83 +77,106 @@ public:
   iScalar<vtype> & operator= (const iScalar<vtype> &copyme) = default;
   iScalar<vtype> & operator= (iScalar<vtype> &&copyme) = default;
   */
-  iScalar(scalar_type s) : _internal(s) {};// recurse down and hit the constructor for vector_type
-  iScalar(const Zero &z){ *this = zero; };
+  iScalar(scalar_type s)
+      : _internal(s){};  // recurse down and hit the constructor for vector_type
+  iScalar(const Zero &z) { *this = zero; };
 
-  iScalar<vtype> & operator= (const Zero &hero){
+  iScalar<vtype> &operator=(const Zero &hero) {
     zeroit(*this);
     return *this;
   }
-  friend strong_inline void vstream(iScalar<vtype> &out,const iScalar<vtype> &in){
-    vstream(out._internal,in._internal);
+  friend strong_inline void vstream(iScalar<vtype> &out,
+                                    const iScalar<vtype> &in) {
+    vstream(out._internal, in._internal);
   }
-  friend strong_inline void zeroit(iScalar<vtype> &that){
+  friend strong_inline void zeroit(iScalar<vtype> &that) {
     zeroit(that._internal);
   }
-  friend strong_inline void prefetch(iScalar<vtype> &that){
+  friend strong_inline void prefetch(iScalar<vtype> &that) {
     prefetch(that._internal);
   }
-  friend strong_inline void permute(iScalar<vtype> &out,const iScalar<vtype> &in,int permutetype){
-    permute(out._internal,in._internal,permutetype);
+  friend strong_inline void permute(iScalar<vtype> &out,
+                                    const iScalar<vtype> &in, int permutetype) {
+    permute(out._internal, in._internal, permutetype);
   }
 
   // Unary negation
-  friend strong_inline iScalar<vtype> operator -(const iScalar<vtype> &r) {
+  friend strong_inline iScalar<vtype> operator-(const iScalar<vtype> &r) {
     iScalar<vtype> ret;
-    ret._internal= -r._internal;
+    ret._internal = -r._internal;
     return ret;
   }
   // *=,+=,-= operators inherit from corresponding "*,-,+" behaviour
-  strong_inline iScalar<vtype> &operator *=(const iScalar<vtype> &r) {
-    *this = (*this)*r;
+  strong_inline iScalar<vtype> &operator*=(const iScalar<vtype> &r) {
+    *this = (*this) * r;
     return *this;
   }
-  strong_inline iScalar<vtype> &operator -=(const iScalar<vtype> &r) {
-    *this = (*this)-r;
+  strong_inline iScalar<vtype> &operator-=(const iScalar<vtype> &r) {
+    *this = (*this) - r;
     return *this;
   }
-  strong_inline iScalar<vtype> &operator +=(const iScalar<vtype> &r) {
-    *this = (*this)+r;
+  strong_inline iScalar<vtype> &operator+=(const iScalar<vtype> &r) {
+    *this = (*this) + r;
     return *this;
   }
-  strong_inline vtype & operator ()(void) {
-    return _internal;
-  }
-  strong_inline const vtype & operator ()(void) const {
-    return _internal;
-  }
+  strong_inline vtype &operator()(void) { return _internal; }
+  strong_inline const vtype &operator()(void) const { return _internal; }
 
   // Type casts meta programmed, must be pure scalar to match TensorRemove
-  template<class U=vtype,class V=scalar_type,IfComplex<V> = 0,IfNotSimd<U> = 0> operator ComplexF () const { return(TensorRemove(_internal)); };
-  template<class U=vtype,class V=scalar_type,IfComplex<V> = 0,IfNotSimd<U> = 0> operator ComplexD () const { return(TensorRemove(_internal)); };
-  //  template<class U=vtype,class V=scalar_type,IfComplex<V> = 0,IfNotSimd<U> = 0> operator RealD    () const { return(real(TensorRemove(_internal))); }
-  template<class U=vtype,class V=scalar_type,IfReal<V>    = 0,IfNotSimd<U> = 0> operator RealD    () const { return TensorRemove(_internal); }
-  template<class U=vtype,class V=scalar_type,IfInteger<V> = 0,IfNotSimd<U> = 0> operator Integer  () const { return Integer(TensorRemove(_internal)); }
-  
-  // convert from a something to a scalar via constructor of something arg
-  template<class T,typename std::enable_if<!isGridTensor<T>::value, T>::type* = nullptr > strong_inline iScalar<vtype> operator = (T arg)
-    { 
-      _internal = arg;
-      return *this;
-    }
+  template <class U = vtype, class V = scalar_type, IfComplex<V> = 0,
+            IfNotSimd<U> = 0>
+  operator ComplexF() const {
+    return (TensorRemove(_internal));
+  };
+  template <class U = vtype, class V = scalar_type, IfComplex<V> = 0,
+            IfNotSimd<U> = 0>
+  operator ComplexD() const {
+    return (TensorRemove(_internal));
+  };
+  //  template<class U=vtype,class V=scalar_type,IfComplex<V> = 0,IfNotSimd<U> =
+  //  0> operator RealD    () const { return(real(TensorRemove(_internal))); }
+  template <class U = vtype, class V = scalar_type, IfReal<V> = 0,
+            IfNotSimd<U> = 0>
+  operator RealD() const {
+    return TensorRemove(_internal);
+  }
+  template <class U = vtype, class V = scalar_type, IfInteger<V> = 0,
+            IfNotSimd<U> = 0>
+  operator Integer() const {
+    return Integer(TensorRemove(_internal));
+  }
 
-    friend std::ostream& operator<< (std::ostream& stream, const iScalar<vtype> &o){
-      stream<< "S {"<<o._internal<<"}";
-      return stream;
-    };
+  // convert from a something to a scalar via constructor of something arg
+  template <class T, typename std::enable_if<!isGridTensor<T>::value, T>::type
+                         * = nullptr>
+  strong_inline iScalar<vtype> operator=(T arg) {
+    _internal = arg;
+    return *this;
+  }
+
+  friend std::ostream &operator<<(std::ostream &stream,
+                                  const iScalar<vtype> &o) {
+    stream << "S {" << o._internal << "}";
+    return stream;
+  };
 };
 ///////////////////////////////////////////////////////////
 // Allows to turn scalar<scalar<scalar<double>>>> back to double.
 ///////////////////////////////////////////////////////////
-template<class T>     strong_inline typename std::enable_if<!isGridTensor<T>::value, T>::type TensorRemove(T arg) { return arg;}
-template<class vtype> strong_inline auto TensorRemove(iScalar<vtype> arg) -> decltype(TensorRemove(arg._internal))
-{
+template <class T>
+strong_inline typename std::enable_if<!isGridTensor<T>::value, T>::type
+TensorRemove(T arg) {
+  return arg;
+}
+template <class vtype>
+strong_inline auto TensorRemove(iScalar<vtype> arg)
+    -> decltype(TensorRemove(arg._internal)) {
   return TensorRemove(arg._internal);
 }
-    
-template<class vtype,int N> class iVector 
-{
-public:
+
+template <class vtype, int N>
+class iVector {
+ public:
   vtype _internal[N];
 
   typedef vtype element;
@@ -159,23 +185,23 @@ public:
   typedef typename GridTypeMapper<vtype>::tensor_reduced tensor_reduced_v;
   typedef typename GridTypeMapper<vtype>::scalar_object recurse_scalar_object;
   typedef iScalar<tensor_reduced_v> tensor_reduced;
-  typedef iVector<recurse_scalar_object,N> scalar_object;
+  typedef iVector<recurse_scalar_object, N> scalar_object;
 
   // substitutes a real or complex version with same tensor structure
-  typedef iVector<typename GridTypeMapper<vtype>::Complexified,N > Complexified;
-  typedef iVector<typename GridTypeMapper<vtype>::Realified,N >    Realified;
+  typedef iVector<typename GridTypeMapper<vtype>::Complexified, N> Complexified;
+  typedef iVector<typename GridTypeMapper<vtype>::Realified, N> Realified;
 
-  template<class T,typename std::enable_if<!isGridTensor<T>::value, T>::type* = nullptr > strong_inline auto operator = (T arg) -> iVector<vtype,N>
-    { 
-      zeroit(*this);
-      for(int i=0;i<N;i++)
-	_internal[i] = arg;
-      return *this;
-    }
+  template <class T, typename std::enable_if<!isGridTensor<T>::value, T>::type
+                         * = nullptr>
+  strong_inline auto operator=(T arg) -> iVector<vtype, N> {
+    zeroit(*this);
+    for (int i = 0; i < N; i++) _internal[i] = arg;
+    return *this;
+  }
 
-  enum { TensorLevel = GridTypeMapper<vtype>::TensorLevel + 1};
-  iVector(const Zero &z){ *this = zero; };
-  iVector() =default;
+  enum { TensorLevel = GridTypeMapper<vtype>::TensorLevel + 1 };
+  iVector(const Zero &z) { *this = zero; };
+  iVector() = default;
   /*
   iVector(const iVector<vtype,N> &copyme)=default;
   iVector(iVector<vtype,N> &&copyme)=default;
@@ -183,71 +209,71 @@ public:
   iVector<vtype,N> & operator= (iVector<vtype,N> &&copyme) = default;
   */
 
-  iVector<vtype,N> & operator= (const Zero &hero){
+  iVector<vtype, N> &operator=(const Zero &hero) {
     zeroit(*this);
     return *this;
   }
-  friend strong_inline void zeroit(iVector<vtype,N> &that){
-    for(int i=0;i<N;i++){
+  friend strong_inline void zeroit(iVector<vtype, N> &that) {
+    for (int i = 0; i < N; i++) {
       zeroit(that._internal[i]);
     }
   }
-  friend strong_inline void prefetch(iVector<vtype,N> &that){
-    for(int i=0;i<N;i++) prefetch(that._internal[i]);
+  friend strong_inline void prefetch(iVector<vtype, N> &that) {
+    for (int i = 0; i < N; i++) prefetch(that._internal[i]);
   }
-  friend strong_inline void vstream(iVector<vtype,N> &out,const iVector<vtype,N> &in){
-    for(int i=0;i<N;i++){
-      vstream(out._internal[i],in._internal[i]);
+  friend strong_inline void vstream(iVector<vtype, N> &out,
+                                    const iVector<vtype, N> &in) {
+    for (int i = 0; i < N; i++) {
+      vstream(out._internal[i], in._internal[i]);
     }
   }
-  friend strong_inline void permute(iVector<vtype,N> &out,const iVector<vtype,N> &in,int permutetype){
-    for(int i=0;i<N;i++){
-      permute(out._internal[i],in._internal[i],permutetype);
+  friend strong_inline void permute(iVector<vtype, N> &out,
+                                    const iVector<vtype, N> &in,
+                                    int permutetype) {
+    for (int i = 0; i < N; i++) {
+      permute(out._internal[i], in._internal[i], permutetype);
     }
   }
 
   // Unary negation
-  friend strong_inline iVector<vtype,N> operator -(const iVector<vtype,N> &r) {
-    iVector<vtype,N> ret;
-    for(int i=0;i<N;i++) ret._internal[i]= -r._internal[i];
+  friend strong_inline iVector<vtype, N> operator-(const iVector<vtype, N> &r) {
+    iVector<vtype, N> ret;
+    for (int i = 0; i < N; i++) ret._internal[i] = -r._internal[i];
     return ret;
   }
   // *=,+=,-= operators inherit from corresponding "*,-,+" behaviour
-  strong_inline iVector<vtype,N> &operator *=(const iScalar<vtype> &r) {
-    *this = (*this)*r;
+  strong_inline iVector<vtype, N> &operator*=(const iScalar<vtype> &r) {
+    *this = (*this) * r;
     return *this;
   }
-  strong_inline iVector<vtype,N> &operator -=(const iVector<vtype,N> &r) {
-    *this = (*this)-r;
+  strong_inline iVector<vtype, N> &operator-=(const iVector<vtype, N> &r) {
+    *this = (*this) - r;
     return *this;
   }
-  strong_inline iVector<vtype,N> &operator +=(const iVector<vtype,N> &r) {
-    *this = (*this)+r;
+  strong_inline iVector<vtype, N> &operator+=(const iVector<vtype, N> &r) {
+    *this = (*this) + r;
     return *this;
   }
-  strong_inline vtype & operator ()(int i) {
-    return _internal[i];
-  }
-  strong_inline const vtype & operator ()(int i) const {
-    return _internal[i];
-  }
-  friend std::ostream& operator<< (std::ostream& stream, const iVector<vtype,N> &o){
-    stream<< "V<"<<N<<">{";
-    for(int i=0;i<N;i++) {
-      stream<<o._internal[i];
-      if (i<N-1)	stream<<",";
+  strong_inline vtype &operator()(int i) { return _internal[i]; }
+  strong_inline const vtype &operator()(int i) const { return _internal[i]; }
+  friend std::ostream &operator<<(std::ostream &stream,
+                                  const iVector<vtype, N> &o) {
+    stream << "V<" << N << ">{";
+    for (int i = 0; i < N; i++) {
+      stream << o._internal[i];
+      if (i < N - 1) stream << ",";
     }
-    stream<<"}";
+    stream << "}";
     return stream;
   };
   //    strong_inline vtype && operator ()(int i) {
   //      return _internal[i];
   //    }
 };
-    
-template<class vtype,int N> class iMatrix 
-{
-public:
+
+template <class vtype, int N>
+class iMatrix {
+ public:
   vtype _internal[N][N];
 
   typedef vtype element;
@@ -257,29 +283,27 @@ public:
   typedef typename GridTypeMapper<vtype>::scalar_object recurse_scalar_object;
 
   // substitutes a real or complex version with same tensor structure
-  typedef iMatrix<typename GridTypeMapper<vtype>::Complexified,N > Complexified;
-  typedef iMatrix<typename GridTypeMapper<vtype>::Realified,N >    Realified;
+  typedef iMatrix<typename GridTypeMapper<vtype>::Complexified, N> Complexified;
+  typedef iMatrix<typename GridTypeMapper<vtype>::Realified, N> Realified;
 
   // Tensure removal
   typedef iScalar<tensor_reduced_v> tensor_reduced;
-  typedef iMatrix<recurse_scalar_object,N> scalar_object;
+  typedef iMatrix<recurse_scalar_object, N> scalar_object;
 
-  enum { TensorLevel = GridTypeMapper<vtype>::TensorLevel + 1};
+  enum { TensorLevel = GridTypeMapper<vtype>::TensorLevel + 1 };
 
+  iMatrix(const Zero &z) { *this = zero; };
+  iMatrix() = default;
 
-  iMatrix(const Zero &z){ *this = zero; };
-  iMatrix() =default;
-  
-  iMatrix& operator=(const iMatrix& rhs){
-    for(int i=0;i<N;i++)
-      for(int j=0;j<N;j++)
-	vstream(_internal[i][j],rhs._internal[i][j]);
+  iMatrix &operator=(const iMatrix &rhs) {
+    for (int i = 0; i < N; i++)
+      for (int j = 0; j < N; j++) vstream(_internal[i][j], rhs._internal[i][j]);
     return *this;
-  }; 
-  
- 
+  };
 
-  iMatrix(scalar_type s)  { (*this) = s ;};// recurse down and hit the constructor for vector_type
+  iMatrix(scalar_type s) {
+    (*this) = s;
+  };  // recurse down and hit the constructor for vector_type
 
   /*
   iMatrix(const iMatrix<vtype,N> &copyme)=default;
@@ -288,118 +312,118 @@ public:
   iMatrix<vtype,N> & operator= (iMatrix<vtype,N> &&copyme) = default;
   */
 
-
-
-  iMatrix<vtype,N> & operator= (const Zero &hero){
+  iMatrix<vtype, N> &operator=(const Zero &hero) {
     zeroit(*this);
     return *this;
   }
-  template<class T,typename std::enable_if<!isGridTensor<T>::value, T>::type* = nullptr > strong_inline auto operator = (T arg) -> iMatrix<vtype,N>
-    { 
-      zeroit(*this);
-      for(int i=0;i<N;i++)
-	_internal[i][i] = arg;
-      return *this;
+  template <class T, typename std::enable_if<!isGridTensor<T>::value, T>::type
+                         * = nullptr>
+  strong_inline auto operator=(T arg) -> iMatrix<vtype, N> {
+    zeroit(*this);
+    for (int i = 0; i < N; i++) _internal[i][i] = arg;
+    return *this;
+  }
+
+  friend strong_inline void zeroit(iMatrix<vtype, N> &that) {
+    for (int i = 0; i < N; i++) {
+      for (int j = 0; j < N; j++) {
+        zeroit(that._internal[i][j]);
+      }
     }
-
-  friend strong_inline void zeroit(iMatrix<vtype,N> &that){
-    for(int i=0;i<N;i++){
-      for(int j=0;j<N;j++){
-	zeroit(that._internal[i][j]);
-    }}
   }
-  friend strong_inline void prefetch(iMatrix<vtype,N> &that){
-    for(int i=0;i<N;i++) 
-    for(int j=0;j<N;j++) 
-      prefetch(that._internal[i][j]);
+  friend strong_inline void prefetch(iMatrix<vtype, N> &that) {
+    for (int i = 0; i < N; i++)
+      for (int j = 0; j < N; j++) prefetch(that._internal[i][j]);
   }
-  friend strong_inline void vstream(iMatrix<vtype,N> &out,const iMatrix<vtype,N> &in){
-      for(int i=0;i<N;i++){
-      for(int j=0;j<N;j++){
-	vstream(out._internal[i][j],in._internal[i][j]);
-      }}
+  friend strong_inline void vstream(iMatrix<vtype, N> &out,
+                                    const iMatrix<vtype, N> &in) {
+    for (int i = 0; i < N; i++) {
+      for (int j = 0; j < N; j++) {
+        vstream(out._internal[i][j], in._internal[i][j]);
+      }
     }
-
-  friend strong_inline void permute(iMatrix<vtype,N> &out,const iMatrix<vtype,N> &in,int permutetype){
-    for(int i=0;i<N;i++){
-      for(int j=0;j<N;j++){
-	permute(out._internal[i][j],in._internal[i][j],permutetype);
-    }}
   }
 
+  friend strong_inline void permute(iMatrix<vtype, N> &out,
+                                    const iMatrix<vtype, N> &in,
+                                    int permutetype) {
+    for (int i = 0; i < N; i++) {
+      for (int j = 0; j < N; j++) {
+        permute(out._internal[i][j], in._internal[i][j], permutetype);
+      }
+    }
+  }
 
   // Unary negation
-  friend strong_inline iMatrix<vtype,N> operator -(const iMatrix<vtype,N> &r) {
-    iMatrix<vtype,N> ret;
-    for(int i=0;i<N;i++){
-      for(int j=0;j<N;j++){
-	ret._internal[i][j]= -r._internal[i][j];
-    }}
+  friend strong_inline iMatrix<vtype, N> operator-(const iMatrix<vtype, N> &r) {
+    iMatrix<vtype, N> ret;
+    for (int i = 0; i < N; i++) {
+      for (int j = 0; j < N; j++) {
+        ret._internal[i][j] = -r._internal[i][j];
+      }
+    }
     return ret;
   }
   // *=,+=,-= operators inherit from corresponding "*,-,+" behaviour
-  template<class T>
-  strong_inline iMatrix<vtype,N> &operator *=(const T &r) {
-    *this = (*this)*r;
+  template <class T>
+  strong_inline iMatrix<vtype, N> &operator*=(const T &r) {
+    *this = (*this) * r;
     return *this;
   }
-  template<class T>
-  strong_inline iMatrix<vtype,N> &operator -=(const T &r) {
-    *this = (*this)-r;
+  template <class T>
+  strong_inline iMatrix<vtype, N> &operator-=(const T &r) {
+    *this = (*this) - r;
     return *this;
   }
-  template<class T>
-  strong_inline iMatrix<vtype,N> &operator +=(const T &r) {
-    *this = (*this)+r;
+  template <class T>
+  strong_inline iMatrix<vtype, N> &operator+=(const T &r) {
+    *this = (*this) + r;
     return *this;
   }
 
   // returns an lvalue reference
-  strong_inline vtype & operator ()(int i,int j) {
+  strong_inline vtype &operator()(int i, int j) { return _internal[i][j]; }
+  strong_inline const vtype &operator()(int i, int j) const {
     return _internal[i][j];
   }
-  strong_inline const vtype & operator ()(int i,int j) const {
-    return _internal[i][j];
-  }
-  friend std::ostream& operator<< (std::ostream& stream, const iMatrix<vtype,N> &o){
-    stream<< "M<"<<N<<">{";
-    for(int i=0;i<N;i++) {
-      stream<< "{";
-      for(int j=0;j<N;j++) {
-	stream<<o._internal[i][j];
-	if (i<N-1)	stream<<",";
+  friend std::ostream &operator<<(std::ostream &stream,
+                                  const iMatrix<vtype, N> &o) {
+    stream << "M<" << N << ">{";
+    for (int i = 0; i < N; i++) {
+      stream << "{";
+      for (int j = 0; j < N; j++) {
+        stream << o._internal[i][j];
+        if (i < N - 1) stream << ",";
       }
-      stream<<"}";
-      if(i!=N-1) stream<<"\n\t\t";
+      stream << "}";
+      if (i != N - 1) stream << "\n\t\t";
     }
-    stream<<"}";
+    stream << "}";
     return stream;
   };
 
   //  strong_inline vtype && operator ()(int i,int j) {
   //    return _internal[i][j];
   //  }
-
 };
 
-template<class v> void vprefetch(const iScalar<v> &vv)
-{
+template <class v>
+void vprefetch(const iScalar<v> &vv) {
   vprefetch(vv._internal);
 }
-template<class v,int N> void vprefetch(const iVector<v,N> &vv)
-{
-  for(int i=0;i<N;i++){
+template <class v, int N>
+void vprefetch(const iVector<v, N> &vv) {
+  for (int i = 0; i < N; i++) {
     vprefetch(vv._internal[i]);
   }
 }
-template<class v,int N> void vprefetch(const iMatrix<v,N> &vv)
-{
-  for(int i=0;i<N;i++){
-  for(int j=0;j<N;j++){
-    vprefetch(vv._internal[i][j]);
-  }}
+template <class v, int N>
+void vprefetch(const iMatrix<v, N> &vv) {
+  for (int i = 0; i < N; i++) {
+    for (int j = 0; j < N; j++) {
+      vprefetch(vv._internal[i][j]);
+    }
+  }
 }
-
-
 }
 #endif
diff --git a/tests/Test_rhmc_EOWilson1p1.cc b/tests/Test_rhmc_EOWilson1p1.cc
index 90282ea1..43de6c22 100644
--- a/tests/Test_rhmc_EOWilson1p1.cc
+++ b/tests/Test_rhmc_EOWilson1p1.cc
@@ -1,97 +1,100 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./tests/Test_rhmc_EOWilson1p1.cc
+Source file: ./tests/Test_rhmc_EOWilson1p1.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include "Grid.h"
 
 using namespace std;
 using namespace Grid;
 using namespace Grid::QCD;
 
-namespace Grid { 
-  namespace QCD { 
-
+namespace Grid {
+namespace QCD {
 
 class HmcRunner : public NerscHmcRunner {
-public:
-
-  void BuildTheAction (int argc, char **argv)
+ public:
+  void BuildTheAction(int argc, char **argv)
 
   {
     typedef WilsonImplR ImplPolicy;
     typedef WilsonFermionR FermionAction;
     typedef typename FermionAction::FermionField FermionField;
 
-    UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
+    UGrid = SpaceTimeGrid::makeFourDimGrid(
+        GridDefaultLatt(), GridDefaultSimd(Nd, vComplex::Nsimd()),
+        GridDefaultMpi());
     UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
-  
-    FGrid   = UGrid;
+
+    FGrid = UGrid;
     FrbGrid = UrbGrid;
 
     // temporarily need a gauge field
-    LatticeGaugeField  U(UGrid);
+    LatticeGaugeField U(UGrid);
 
     // Gauge action
     WilsonGaugeActionR Waction(5.6);
 
-    Real mass=-0.77;
-    FermionAction FermOp(U,*FGrid,*FrbGrid,mass);
+    Real mass = -0.77;
+    FermionAction FermOp(U, *FGrid, *FrbGrid, mass);
 
     // 1+1 flavour
-    OneFlavourRationalParams Params(1.0e-4,64.0,1000,1.0e-6);
-    OneFlavourEvenOddRationalPseudoFermionAction<WilsonImplR> WilsonNf1a(FermOp,Params);
-    OneFlavourEvenOddRationalPseudoFermionAction<WilsonImplR> WilsonNf1b(FermOp,Params);
+    OneFlavourRationalParams Params(1.0e-4, 64.0, 2000, 1.0e-6);
+    OneFlavourEvenOddRationalPseudoFermionAction<WilsonImplR> WilsonNf1a(
+        FermOp, Params);
+    OneFlavourEvenOddRationalPseudoFermionAction<WilsonImplR> WilsonNf1b(
+        FermOp, Params);
 
-    //Collect actions
+    //Smearing on/off
+    WilsonNf1a.is_smeared = true;
+    WilsonNf1b.is_smeared = true;
+
+    // Collect actions
     ActionLevel<LatticeGaugeField> Level1;
     Level1.push_back(&WilsonNf1a);
     Level1.push_back(&WilsonNf1b);
     Level1.push_back(&Waction);
-    
+
     TheAction.push_back(Level1);
 
-    Run(argc,argv);
+    Run(argc, argv);
   };
-
 };
-
-}}
-
-int main (int argc, char ** argv)
-{
-  Grid_init(&argc,&argv);
-
-  int threads = GridThread::GetThreads();
-  std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
-
-  HmcRunner TheHMC;
-  
-  TheHMC.BuildTheAction(argc,argv);
-
+}
 }
 
+int main(int argc, char **argv) {
+  Grid_init(&argc, &argv);
 
+  int threads = GridThread::GetThreads();
+  std::cout << GridLogMessage << "Grid is setup to use " << threads
+            << " threads" << std::endl;
+
+  HmcRunner TheHMC;
+
+  TheHMC.BuildTheAction(argc, argv);
+}

From c5106d0c036df781ef18177901c02f45d7fa0520 Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Thu, 7 Jul 2016 16:06:30 -0400
Subject: [PATCH 034/295] Bugfix

---
 lib/algorithms/iterative/ConjugateGradientMixedPrec.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/algorithms/iterative/ConjugateGradientMixedPrec.h b/lib/algorithms/iterative/ConjugateGradientMixedPrec.h
index bac2d18a..446465a1 100644
--- a/lib/algorithms/iterative/ConjugateGradientMixedPrec.h
+++ b/lib/algorithms/iterative/ConjugateGradientMixedPrec.h
@@ -51,7 +51,7 @@ namespace Grid {
       OuterLoopNormMult(100.), guesser(NULL){ };
 
     void useGuesser(LinearFunction<FieldF> &g){
-      guesser = g;
+      guesser = &g;
     }
   
     void operator() (const FieldD &src_d_in, FieldD &sol_d){

From a0676beeb144fee164d473121e2327738758f8d3 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 7 Jul 2016 22:31:07 +0100
Subject: [PATCH 035/295] Open up dependency on Eigen and FFTW

---
 Makefile.am                                   |   5 +-
 scripts/reconfigure_script => autogen.sh      |   0
 benchmarks/Benchmark_comms.cc                 |   2 +-
 benchmarks/Benchmark_dwf.cc                   |   3 +-
 benchmarks/Benchmark_dwf_ntpf.cc              |   3 +-
 benchmarks/Benchmark_dwf_sweep.cc             |   3 +-
 benchmarks/Benchmark_memory_asynch.cc         |   2 +-
 benchmarks/Benchmark_memory_bandwidth.cc      |   2 +-
 benchmarks/Benchmark_su3.cc                   |   2 +-
 benchmarks/Benchmark_wilson.cc                |   2 +-
 benchmarks/Benchmark_zmm.cc                   |   3 +-
 benchmarks/Makefile.am                        |   2 +-
 configure.ac                                  |  25 +-
 include/Grid                                  |   1 +
 lib/Algorithms.h                              |  30 +-
 lib/Cartesian.h                               |   6 +-
 lib/Communicator.h                            |   2 +-
 lib/Cshift.h                                  |   8 +-
 lib/Eigen.inc                                 |   1 +
 lib/Grid.h                                    |  44 +--
 lib/Lattice.h                                 |   2 +-
 lib/Make.inc                                  |   4 +-
 lib/Makefile.am                               |  11 +-
 lib/Simd.h                                    |   4 +-
 lib/Stencil.h                                 |   2 +-
 lib/Tensors.h                                 |  34 +--
 lib/algorithms/CoarsenedMatrix.h              |   1 -
 lib/algorithms/SparseMatrix.h                 |   1 -
 lib/algorithms/approx/Chebyshev.h             |   3 +-
 lib/algorithms/approx/Remez.h                 |   4 +-
 lib/algorithms/iterative/DenseMatrix.h        |   4 +-
 .../iterative/ImplicitlyRestartedLanczos.h    |   4 +-
 lib/cartesian/Cartesian_base.h                |   1 -
 lib/lattice/Lattice_base.h                    |  34 +--
 lib/pugixml/pugixml.h                         |   2 +-
 lib/qcd/QCD.h                                 |  20 +-
 lib/qcd/action/Actions.h                      |  78 ++---
 lib/qcd/action/fermion/DomainWallFermion.h    |   2 +-
 lib/qcd/action/fermion/MobiusFermion.h        |   2 +-
 .../action/fermion/MobiusZolotarevFermion.h   |   2 +-
 .../fermion/OverlapWilsonCayleyTanhFermion.h  |   2 +-
 .../OverlapWilsonCayleyZolotarevFermion.h     |   2 +-
 .../OverlapWilsonContfracTanhFermion.h        |   2 +-
 .../OverlapWilsonContfracZolotarevFermion.h   |   2 +-
 .../OverlapWilsonPartialFractionTanhFermion.h |   2 +-
 ...lapWilsonPartialFractionZolotarevFermion.h |   2 +-
 lib/qcd/action/fermion/ScaledShamirFermion.h  |   2 +-
 .../action/fermion/ShamirZolotarevFermion.h   |   2 +-
 lib/qcd/action/fermion/WilsonTMFermion.h      |   2 +-
 lib/serialisation/Serialisation.h             |  14 +-
 lib/serialisation/XmlIO.h                     |   2 +-
 lib/simd/Intel512wilson.h                     |   4 +-
 lib/tensors/Tensor_arith.h                    |  10 +-
 prerequisites/Makefile.am                     |  38 +++
 prerequisites/eigen3.2.8.tar.bz2              | Bin 0 -> 1161201 bytes
 prerequisites/eigenIGENVER.tar.bz2            | Bin 0 -> 1161201 bytes
 scripts/filelist                              |  42 +--
 tests/IO/Make.inc                             |  11 +
 tests/IO/Makefile.am                          |  19 ++
 tests/{ => IO}/Test_nersc_io.cc               |   2 +-
 tests/{ => IO}/Test_serialisation.cc          |   2 +-
 tests/Make.inc                                | 274 +-----------------
 tests/Makefile.am                             |  15 +-
 tests/Test_cshift.cc                          |   2 +-
 tests/Test_simd.cc                            |   2 +-
 tests/Test_stencil.cc                         |   2 +-
 tests/core/Make.inc                           |  79 +++++
 tests/core/Makefile.am                        |  19 ++
 tests/{ => core}/Test_GaugeAction.cc          |   5 +-
 tests/{ => core}/Test_RectPlaq.cc             |   5 +-
 tests/{ => core}/Test_cf_coarsen_support.cc   |   2 +-
 tests/{ => core}/Test_contfrac_even_odd.cc    |   2 +-
 tests/{ => core}/Test_cshift_red_black.cc     |   2 +-
 .../Test_cshift_red_black_rotate.cc           |   2 +-
 tests/{ => core}/Test_cshift_rotate.cc        |   2 +-
 tests/{ => core}/Test_dwf_even_odd.cc         |   2 +-
 tests/{ => core}/Test_dwf_rb5d.cc             |   2 +-
 tests/{ => core}/Test_gamma.cc                |   2 +-
 tests/{ => core}/Test_gparity.cc              |   2 +-
 tests/{ => core}/Test_gpwilson_even_odd.cc    |   2 +-
 tests/{ => core}/Test_lie_generators.cc       |   5 +-
 tests/{ => core}/Test_main.cc                 |   2 +-
 tests/{ => core}/Test_quenched_update.cc      |   6 +-
 tests/{ => core}/Test_rng.cc                  |   2 +-
 tests/{ => core}/Test_rng_fixed.cc            |   2 +-
 tests/{ => core}/Test_wilson_even_odd.cc      |   2 +-
 tests/{ => core}/Test_wilson_tm_even_odd.cc   |   2 +-
 tests/debug/Make.inc                          |  31 ++
 tests/debug/Makefile.am                       |  19 ++
 tests/{ => debug}/Test_cayley_cg.cc           |   2 +-
 .../Test_cayley_coarsen_support.cc            |   2 +-
 tests/{ => debug}/Test_cayley_even_odd.cc     |   2 +-
 tests/{ => debug}/Test_cayley_ldop_cr.cc      |   2 +-
 tests/{ => debug}/Test_cheby.cc               |   2 +-
 tests/{ => debug}/Test_synthetic_lanczos.cc   |   2 +-
 tests/{ => debug}/Test_zmm.cc                 |   2 +-
 tests/{ => debug}/test_Grid_jacobi.cc         |   2 +-
 tests/forces/Make.inc                         |  43 +++
 tests/forces/Makefile.am                      |  19 ++
 tests/{ => forces}/Test_contfrac_force.cc     |   2 +-
 tests/{ => forces}/Test_dwf_force.cc          |   2 +-
 tests/{ => forces}/Test_dwf_gpforce.cc        |   2 +-
 tests/{ => forces}/Test_gp_rect_force.cc      |   2 +-
 tests/{ => forces}/Test_gpdwf_force.cc        |   2 +-
 tests/{ => forces}/Test_partfrac_force.cc     |   2 +-
 tests/{ => forces}/Test_rect_force.cc         |   2 +-
 tests/{ => forces}/Test_wilson_force.cc       |   2 +-
 .../Test_wilson_force_phiMdagMphi.cc          |   2 +-
 .../{ => forces}/Test_wilson_force_phiMphi.cc |   2 +-
 tests/hmc/Make.inc                            |  71 +++++
 tests/hmc/Makefile.am                         |  19 ++
 tests/{ => hmc}/Test_hmc_EODWFRatio.cc        |   2 +-
 .../{ => hmc}/Test_hmc_EODWFRatio_Gparity.cc  |   2 +-
 .../Test_hmc_EOWilsonFermionGauge.cc          |   2 +-
 tests/{ => hmc}/Test_hmc_EOWilsonRatio.cc     |   2 +-
 .../{ => hmc}/Test_hmc_GparityIwasakiGauge.cc |   2 +-
 .../{ => hmc}/Test_hmc_GparityWilsonGauge.cc  |   2 +-
 tests/{ => hmc}/Test_hmc_IwasakiGauge.cc      |   2 +-
 tests/{ => hmc}/Test_hmc_RectGauge.cc         |   2 +-
 .../{ => hmc}/Test_hmc_WilsonFermionGauge.cc  |   2 +-
 tests/{ => hmc}/Test_hmc_WilsonGauge.cc       |   2 +-
 tests/{ => hmc}/Test_hmc_WilsonRatio.cc       |   2 +-
 tests/{ => hmc}/Test_multishift_sqrt.cc       |   2 +-
 tests/{ => hmc}/Test_remez.cc                 |   2 +-
 tests/{ => hmc}/Test_rhmc_EOWilson1p1.cc      |   2 +-
 tests/{ => hmc}/Test_rhmc_EOWilsonRatio.cc    |   2 +-
 tests/{ => hmc}/Test_rhmc_Wilson1p1.cc        |   2 +-
 tests/{ => hmc}/Test_rhmc_WilsonRatio.cc      |   2 +-
 tests/qdpxx/Make.inc                          |   2 +-
 tests/qdpxx/Makefile.am                       |   5 +-
 tests/qdpxx/Makefile.am.qdpxx                 |   6 +
 tests/solver/Make.inc                         |  55 ++++
 tests/solver/Makefile.am                      |  19 ++
 tests/{ => solver}/Test_cf_cr_unprec.cc       |   2 +-
 tests/{ => solver}/Test_contfrac_cg.cc        |   2 +-
 tests/{ => solver}/Test_dwf_cg_prec.cc        |   2 +-
 tests/{ => solver}/Test_dwf_cg_schur.cc       |   2 +-
 tests/{ => solver}/Test_dwf_cg_unprec.cc      |   2 +-
 tests/{ => solver}/Test_dwf_cr_unprec.cc      |   2 +-
 tests/{ => solver}/Test_dwf_fpgcr.cc          |   4 +-
 tests/{ => solver}/Test_dwf_hdcr.cc           |   4 +-
 tests/{ => solver}/Test_dwf_lanczos.cc        |   2 +-
 tests/{ => solver}/Test_wilson_cg_prec.cc     |   2 +-
 tests/{ => solver}/Test_wilson_cg_schur.cc    |   2 +-
 tests/{ => solver}/Test_wilson_cg_unprec.cc   |   2 +-
 tests/{ => solver}/Test_wilson_cr_unprec.cc   |   2 +-
 146 files changed, 754 insertions(+), 602 deletions(-)
 rename scripts/reconfigure_script => autogen.sh (100%)
 create mode 120000 include/Grid
 create mode 100644 lib/Eigen.inc
 create mode 100644 prerequisites/Makefile.am
 create mode 100644 prerequisites/eigen3.2.8.tar.bz2
 create mode 100644 prerequisites/eigenIGENVER.tar.bz2
 create mode 100644 tests/IO/Make.inc
 create mode 100644 tests/IO/Makefile.am
 rename tests/{ => IO}/Test_nersc_io.cc (99%)
 rename tests/{ => IO}/Test_serialisation.cc (99%)
 create mode 100644 tests/core/Make.inc
 create mode 100644 tests/core/Makefile.am
 rename tests/{ => core}/Test_GaugeAction.cc (98%)
 rename tests/{ => core}/Test_RectPlaq.cc (99%)
 rename tests/{ => core}/Test_cf_coarsen_support.cc (99%)
 rename tests/{ => core}/Test_contfrac_even_odd.cc (99%)
 rename tests/{ => core}/Test_cshift_red_black.cc (99%)
 rename tests/{ => core}/Test_cshift_red_black_rotate.cc (99%)
 rename tests/{ => core}/Test_cshift_rotate.cc (99%)
 rename tests/{ => core}/Test_dwf_even_odd.cc (99%)
 rename tests/{ => core}/Test_dwf_rb5d.cc (99%)
 rename tests/{ => core}/Test_gamma.cc (99%)
 rename tests/{ => core}/Test_gparity.cc (99%)
 rename tests/{ => core}/Test_gpwilson_even_odd.cc (99%)
 rename tests/{ => core}/Test_lie_generators.cc (96%)
 rename tests/{ => core}/Test_main.cc (99%)
 rename tests/{ => core}/Test_quenched_update.cc (96%)
 rename tests/{ => core}/Test_rng.cc (99%)
 rename tests/{ => core}/Test_rng_fixed.cc (99%)
 rename tests/{ => core}/Test_wilson_even_odd.cc (99%)
 rename tests/{ => core}/Test_wilson_tm_even_odd.cc (99%)
 create mode 100644 tests/debug/Make.inc
 create mode 100644 tests/debug/Makefile.am
 rename tests/{ => debug}/Test_cayley_cg.cc (99%)
 rename tests/{ => debug}/Test_cayley_coarsen_support.cc (99%)
 rename tests/{ => debug}/Test_cayley_even_odd.cc (99%)
 rename tests/{ => debug}/Test_cayley_ldop_cr.cc (99%)
 rename tests/{ => debug}/Test_cheby.cc (99%)
 rename tests/{ => debug}/Test_synthetic_lanczos.cc (99%)
 rename tests/{ => debug}/Test_zmm.cc (99%)
 rename tests/{ => debug}/test_Grid_jacobi.cc (99%)
 create mode 100644 tests/forces/Make.inc
 create mode 100644 tests/forces/Makefile.am
 rename tests/{ => forces}/Test_contfrac_force.cc (99%)
 rename tests/{ => forces}/Test_dwf_force.cc (99%)
 rename tests/{ => forces}/Test_dwf_gpforce.cc (99%)
 rename tests/{ => forces}/Test_gp_rect_force.cc (99%)
 rename tests/{ => forces}/Test_gpdwf_force.cc (99%)
 rename tests/{ => forces}/Test_partfrac_force.cc (99%)
 rename tests/{ => forces}/Test_rect_force.cc (99%)
 rename tests/{ => forces}/Test_wilson_force.cc (99%)
 rename tests/{ => forces}/Test_wilson_force_phiMdagMphi.cc (99%)
 rename tests/{ => forces}/Test_wilson_force_phiMphi.cc (99%)
 create mode 100644 tests/hmc/Make.inc
 create mode 100644 tests/hmc/Makefile.am
 rename tests/{ => hmc}/Test_hmc_EODWFRatio.cc (99%)
 rename tests/{ => hmc}/Test_hmc_EODWFRatio_Gparity.cc (99%)
 rename tests/{ => hmc}/Test_hmc_EOWilsonFermionGauge.cc (99%)
 rename tests/{ => hmc}/Test_hmc_EOWilsonRatio.cc (99%)
 rename tests/{ => hmc}/Test_hmc_GparityIwasakiGauge.cc (98%)
 rename tests/{ => hmc}/Test_hmc_GparityWilsonGauge.cc (98%)
 rename tests/{ => hmc}/Test_hmc_IwasakiGauge.cc (99%)
 rename tests/{ => hmc}/Test_hmc_RectGauge.cc (99%)
 rename tests/{ => hmc}/Test_hmc_WilsonFermionGauge.cc (99%)
 rename tests/{ => hmc}/Test_hmc_WilsonGauge.cc (99%)
 rename tests/{ => hmc}/Test_hmc_WilsonRatio.cc (99%)
 rename tests/{ => hmc}/Test_multishift_sqrt.cc (99%)
 rename tests/{ => hmc}/Test_remez.cc (99%)
 rename tests/{ => hmc}/Test_rhmc_EOWilson1p1.cc (99%)
 rename tests/{ => hmc}/Test_rhmc_EOWilsonRatio.cc (99%)
 rename tests/{ => hmc}/Test_rhmc_Wilson1p1.cc (99%)
 rename tests/{ => hmc}/Test_rhmc_WilsonRatio.cc (99%)
 create mode 100644 tests/qdpxx/Makefile.am.qdpxx
 create mode 100644 tests/solver/Make.inc
 create mode 100644 tests/solver/Makefile.am
 rename tests/{ => solver}/Test_cf_cr_unprec.cc (99%)
 rename tests/{ => solver}/Test_contfrac_cg.cc (99%)
 rename tests/{ => solver}/Test_dwf_cg_prec.cc (99%)
 rename tests/{ => solver}/Test_dwf_cg_schur.cc (99%)
 rename tests/{ => solver}/Test_dwf_cg_unprec.cc (99%)
 rename tests/{ => solver}/Test_dwf_cr_unprec.cc (99%)
 rename tests/{ => solver}/Test_dwf_fpgcr.cc (97%)
 rename tests/{ => solver}/Test_dwf_hdcr.cc (99%)
 rename tests/{ => solver}/Test_dwf_lanczos.cc (99%)
 rename tests/{ => solver}/Test_wilson_cg_prec.cc (99%)
 rename tests/{ => solver}/Test_wilson_cg_schur.cc (99%)
 rename tests/{ => solver}/Test_wilson_cg_unprec.cc (99%)
 rename tests/{ => solver}/Test_wilson_cr_unprec.cc (99%)

diff --git a/Makefile.am b/Makefile.am
index 3b1d5690..80ed72bf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,6 @@
 # additional include paths necessary to compile the C++ library
-AM_CXXFLAGS = -I$(top_srcdir)/
-SUBDIRS = lib tests benchmarks
+AM_CXXFLAGS = -I$(top_srcdir)/include/
+
+SUBDIRS = prerequisites lib benchmarks tests
 
 filelist: $(SUBDIRS)
\ No newline at end of file
diff --git a/scripts/reconfigure_script b/autogen.sh
similarity index 100%
rename from scripts/reconfigure_script
rename to autogen.sh
diff --git a/benchmarks/Benchmark_comms.cc b/benchmarks/Benchmark_comms.cc
index 21b0dd0f..1c954be8 100644
--- a/benchmarks/Benchmark_comms.cc
+++ b/benchmarks/Benchmark_comms.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index 5ceec95f..d7e69ee6 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -26,8 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
-#include <PerfCount.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/benchmarks/Benchmark_dwf_ntpf.cc b/benchmarks/Benchmark_dwf_ntpf.cc
index 9b947876..0d1e322f 100644
--- a/benchmarks/Benchmark_dwf_ntpf.cc
+++ b/benchmarks/Benchmark_dwf_ntpf.cc
@@ -26,8 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
-#include <PerfCount.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/benchmarks/Benchmark_dwf_sweep.cc b/benchmarks/Benchmark_dwf_sweep.cc
index 7b4eb66b..e720b01d 100644
--- a/benchmarks/Benchmark_dwf_sweep.cc
+++ b/benchmarks/Benchmark_dwf_sweep.cc
@@ -26,8 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
-#include <PerfCount.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/benchmarks/Benchmark_memory_asynch.cc b/benchmarks/Benchmark_memory_asynch.cc
index d305185a..d9108fa9 100644
--- a/benchmarks/Benchmark_memory_asynch.cc
+++ b/benchmarks/Benchmark_memory_asynch.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/benchmarks/Benchmark_memory_bandwidth.cc b/benchmarks/Benchmark_memory_bandwidth.cc
index 1fc5cbc4..435af7f4 100644
--- a/benchmarks/Benchmark_memory_bandwidth.cc
+++ b/benchmarks/Benchmark_memory_bandwidth.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/benchmarks/Benchmark_su3.cc b/benchmarks/Benchmark_su3.cc
index a5f71299..b6d1d303 100644
--- a/benchmarks/Benchmark_su3.cc
+++ b/benchmarks/Benchmark_su3.cc
@@ -26,7 +26,7 @@ Author: Peter Boyle <peterboyle@Peters-MacBook-Pro-2.local>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/benchmarks/Benchmark_wilson.cc b/benchmarks/Benchmark_wilson.cc
index 10aa7009..4930713c 100644
--- a/benchmarks/Benchmark_wilson.cc
+++ b/benchmarks/Benchmark_wilson.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/benchmarks/Benchmark_zmm.cc b/benchmarks/Benchmark_zmm.cc
index 41c4e84e..6de5604b 100644
--- a/benchmarks/Benchmark_zmm.cc
+++ b/benchmarks/Benchmark_zmm.cc
@@ -25,8 +25,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
-#include <PerfCount.h>
+#include <Grid/Grid.h>
 
 
 using namespace Grid;
diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am
index 8081844f..bfb18e0d 100644
--- a/benchmarks/Makefile.am
+++ b/benchmarks/Makefile.am
@@ -1,5 +1,5 @@
 # additional include paths necessary to compile the C++ library
-AM_CXXFLAGS = -I$(top_srcdir)/lib
+AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
 #
diff --git a/configure.ac b/configure.ac
index c7288a22..9229dd9f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,6 +10,7 @@ AC_INIT([Grid], [1.0], [paboyle@ph.ed.ac.uk])
 AC_CANONICAL_SYSTEM
 AM_INIT_AUTOMAKE(subdir-objects)
 AC_CONFIG_MACRO_DIR([m4])
+AC_LINK_FILES(lib,include/Grid )
 AC_CONFIG_SRCDIR([lib/Grid.h])
 AC_CONFIG_HEADERS([lib/Config.h])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
@@ -231,7 +232,6 @@ esac
 # Chroma regression tests
 #
 AC_ARG_ENABLE([chroma],[AC_HELP_STRING([--enable-chroma],[Expect chroma compiled under c++11 ])],ac_CHROMA=yes,ac_CHROMA=no)
-
 case ${ac_CHROMA} in
      yes)
        echo Enabling tests regressing to Chroma
@@ -269,15 +269,15 @@ AM_CONDITIONAL(USE_LAPACK_LIB,[ test "X${ac_LAPACK}X" != "XyesX" ])
 ###################################################################
 # Checks for doxygen support
 # if present enables the "make doxyfile" command
-#echo
-#echo Checking doxygen support 
-#echo :::::::::::::::::::::::::::::::::::::::::::
-#AC_PROG_DOXYGEN
+echo
+echo Checking doxygen support 
+echo :::::::::::::::::::::::::::::::::::::::::::
+AC_PROG_DOXYGEN
 
-#if test -n "$DOXYGEN"
-#then
-#AC_CONFIG_FILES([docs/doxy.cfg])
-#fi
+if test -n "$DOXYGEN"
+then
+AC_CONFIG_FILES([docs/doxy.cfg])
+fi
 
 echo
 echo Creating configuration files
@@ -285,8 +285,15 @@ echo :::::::::::::::::::::::::::::::::::::::::::
 AC_CONFIG_FILES(Makefile)
 AC_CONFIG_FILES(lib/Makefile)
 AC_CONFIG_FILES(tests/Makefile)
+AC_CONFIG_FILES(tests/IO/Makefile)
+AC_CONFIG_FILES(tests/core/Makefile)
+AC_CONFIG_FILES(tests/debug/Makefile)
+AC_CONFIG_FILES(tests/forces/Makefile)
+AC_CONFIG_FILES(tests/hmc/Makefile)
+AC_CONFIG_FILES(tests/solver/Makefile)
 AC_CONFIG_FILES(tests/qdpxx/Makefile)
 AC_CONFIG_FILES(benchmarks/Makefile)
+AC_CONFIG_FILES(prerequisites/Makefile)
 AC_OUTPUT
 
 
diff --git a/include/Grid b/include/Grid
new file mode 120000
index 00000000..dc598c56
--- /dev/null
+++ b/include/Grid
@@ -0,0 +1 @@
+../lib
\ No newline at end of file
diff --git a/lib/Algorithms.h b/lib/Algorithms.h
index 0a3d34ce..6f147186 100644
--- a/lib/Algorithms.h
+++ b/lib/Algorithms.h
@@ -29,27 +29,27 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef GRID_ALGORITHMS_H
 #define GRID_ALGORITHMS_H
 
-#include <algorithms/SparseMatrix.h>
-#include <algorithms/LinearOperator.h>
-#include <algorithms/Preconditioner.h>
+#include <Grid/algorithms/SparseMatrix.h>
+#include <Grid/algorithms/LinearOperator.h>
+#include <Grid/algorithms/Preconditioner.h>
 
-#include <algorithms/approx/Zolotarev.h>
-#include <algorithms/approx/Chebyshev.h>
-#include <algorithms/approx/Remez.h>
-#include <algorithms/approx/MultiShiftFunction.h>
+#include <Grid/algorithms/approx/Zolotarev.h>
+#include <Grid/algorithms/approx/Chebyshev.h>
+#include <Grid/algorithms/approx/Remez.h>
+#include <Grid/algorithms/approx/MultiShiftFunction.h>
 
-#include <algorithms/iterative/ConjugateGradient.h>
-#include <algorithms/iterative/ConjugateResidual.h>
-#include <algorithms/iterative/NormalEquations.h>
-#include <algorithms/iterative/SchurRedBlack.h>
+#include <Grid/algorithms/iterative/ConjugateGradient.h>
+#include <Grid/algorithms/iterative/ConjugateResidual.h>
+#include <Grid/algorithms/iterative/NormalEquations.h>
+#include <Grid/algorithms/iterative/SchurRedBlack.h>
 
-#include <algorithms/iterative/ConjugateGradientMultiShift.h>
+#include <Grid/algorithms/iterative/ConjugateGradientMultiShift.h>
 
 // Lanczos support
-#include <algorithms/iterative/MatrixUtils.h>
-#include <algorithms/iterative/ImplicitlyRestartedLanczos.h>
+#include <Grid/algorithms/iterative/MatrixUtils.h>
+#include <Grid/algorithms/iterative/ImplicitlyRestartedLanczos.h>
 
-#include <algorithms/CoarsenedMatrix.h>
+#include <Grid/algorithms/CoarsenedMatrix.h>
 
 // Eigen/lanczos
 // EigCg
diff --git a/lib/Cartesian.h b/lib/Cartesian.h
index aeffe331..f3710a48 100644
--- a/lib/Cartesian.h
+++ b/lib/Cartesian.h
@@ -28,8 +28,8 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef GRID_CARTESIAN_H
 #define GRID_CARTESIAN_H
 
-#include <cartesian/Cartesian_base.h>
-#include <cartesian/Cartesian_full.h>
-#include <cartesian/Cartesian_red_black.h> 
+#include <Grid/cartesian/Cartesian_base.h>
+#include <Grid/cartesian/Cartesian_full.h>
+#include <Grid/cartesian/Cartesian_red_black.h> 
 
 #endif
diff --git a/lib/Communicator.h b/lib/Communicator.h
index bc3ae166..09ce50dc 100644
--- a/lib/Communicator.h
+++ b/lib/Communicator.h
@@ -28,6 +28,6 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef GRID_COMMUNICATOR_H
 #define GRID_COMMUNICATOR_H
 
-#include <communicator/Communicator_base.h>
+#include <Grid/communicator/Communicator_base.h>
 
 #endif
diff --git a/lib/Cshift.h b/lib/Cshift.h
index 675544e2..bbc56cae 100644
--- a/lib/Cshift.h
+++ b/lib/Cshift.h
@@ -28,17 +28,17 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef _GRID_CSHIFT_H_
 #define _GRID_CSHIFT_H_
 
-#include <cshift/Cshift_common.h>
+#include <Grid/cshift/Cshift_common.h>
 
 #ifdef GRID_COMMS_NONE
-#include <cshift/Cshift_none.h>
+#include <Grid/cshift/Cshift_none.h>
 #endif
 
 #ifdef GRID_COMMS_MPI
-#include <cshift/Cshift_mpi.h>
+#include <Grid/cshift/Cshift_mpi.h>
 #endif 
 
 #ifdef GRID_COMMS_SHMEM
-#include <cshift/Cshift_mpi.h> // uses same implementation of communicator
+#include <Grid/cshift/Cshift_mpi.h> // uses same implementation of communicator
 #endif 
 #endif
diff --git a/lib/Eigen.inc b/lib/Eigen.inc
new file mode 100644
index 00000000..e274c69c
--- /dev/null
+++ b/lib/Eigen.inc
@@ -0,0 +1 @@
+EFILES=Eigen/src/Cholesky/LDLT.h Eigen/src/Cholesky/LLT.h Eigen/src/Cholesky/LLT_MKL.h Eigen/src/CholmodSupport/CholmodSupport.h Eigen/src/Core/arch/AltiVec/Complex.h Eigen/src/Core/arch/AltiVec/PacketMath.h Eigen/src/Core/arch/Default/Settings.h Eigen/src/Core/arch/NEON/Complex.h Eigen/src/Core/arch/NEON/PacketMath.h Eigen/src/Core/arch/SSE/Complex.h Eigen/src/Core/arch/SSE/MathFunctions.h Eigen/src/Core/arch/SSE/PacketMath.h Eigen/src/Core/Array.h Eigen/src/Core/ArrayBase.h Eigen/src/Core/ArrayWrapper.h Eigen/src/Core/Assign.h Eigen/src/Core/Assign_MKL.h Eigen/src/Core/BandMatrix.h Eigen/src/Core/Block.h Eigen/src/Core/BooleanRedux.h Eigen/src/Core/CommaInitializer.h Eigen/src/Core/CoreIterators.h Eigen/src/Core/CwiseBinaryOp.h Eigen/src/Core/CwiseNullaryOp.h Eigen/src/Core/CwiseUnaryOp.h Eigen/src/Core/CwiseUnaryView.h Eigen/src/Core/DenseBase.h Eigen/src/Core/DenseCoeffsBase.h Eigen/src/Core/DenseStorage.h Eigen/src/Core/Diagonal.h Eigen/src/Core/DiagonalMatrix.h Eigen/src/Core/DiagonalProduct.h Eigen/src/Core/Dot.h Eigen/src/Core/EigenBase.h Eigen/src/Core/Flagged.h Eigen/src/Core/ForceAlignedAccess.h Eigen/src/Core/Functors.h Eigen/src/Core/Fuzzy.h Eigen/src/Core/GeneralProduct.h Eigen/src/Core/GenericPacketMath.h Eigen/src/Core/GlobalFunctions.h Eigen/src/Core/IO.h Eigen/src/Core/Map.h Eigen/src/Core/MapBase.h Eigen/src/Core/MathFunctions.h Eigen/src/Core/Matrix.h Eigen/src/Core/MatrixBase.h Eigen/src/Core/NestByValue.h Eigen/src/Core/NoAlias.h Eigen/src/Core/NumTraits.h Eigen/src/Core/PermutationMatrix.h Eigen/src/Core/PlainObjectBase.h Eigen/src/Core/ProductBase.h Eigen/src/Core/products/CoeffBasedProduct.h Eigen/src/Core/products/GeneralBlockPanelKernel.h Eigen/src/Core/products/GeneralMatrixMatrix.h Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h Eigen/src/Core/products/GeneralMatrixVector.h Eigen/src/Core/products/GeneralMatrixVector_MKL.h Eigen/src/Core/products/Parallelizer.h Eigen/src/Core/products/SelfadjointMatrixMatrix.h Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h Eigen/src/Core/products/SelfadjointMatrixVector.h Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h Eigen/src/Core/products/SelfadjointProduct.h Eigen/src/Core/products/SelfadjointRank2Update.h Eigen/src/Core/products/TriangularMatrixMatrix.h Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h Eigen/src/Core/products/TriangularMatrixVector.h Eigen/src/Core/products/TriangularMatrixVector_MKL.h Eigen/src/Core/products/TriangularSolverMatrix.h Eigen/src/Core/products/TriangularSolverMatrix_MKL.h Eigen/src/Core/products/TriangularSolverVector.h Eigen/src/Core/Random.h Eigen/src/Core/Redux.h Eigen/src/Core/Ref.h Eigen/src/Core/Replicate.h Eigen/src/Core/ReturnByValue.h Eigen/src/Core/Reverse.h Eigen/src/Core/Select.h Eigen/src/Core/SelfAdjointView.h Eigen/src/Core/SelfCwiseBinaryOp.h Eigen/src/Core/SolveTriangular.h Eigen/src/Core/StableNorm.h Eigen/src/Core/Stride.h Eigen/src/Core/Swap.h Eigen/src/Core/Transpose.h Eigen/src/Core/Transpositions.h Eigen/src/Core/TriangularMatrix.h Eigen/src/Core/util/BlasUtil.h Eigen/src/Core/util/Constants.h Eigen/src/Core/util/DisableStupidWarnings.h Eigen/src/Core/util/ForwardDeclarations.h Eigen/src/Core/util/Macros.h Eigen/src/Core/util/Memory.h Eigen/src/Core/util/Meta.h Eigen/src/Core/util/MKL_support.h Eigen/src/Core/util/NonMPL2.h Eigen/src/Core/util/ReenableStupidWarnings.h Eigen/src/Core/util/StaticAssert.h Eigen/src/Core/util/XprHelper.h Eigen/src/Core/VectorBlock.h Eigen/src/Core/VectorwiseOp.h Eigen/src/Core/Visitor.h Eigen/src/Eigen2Support/Block.h Eigen/src/Eigen2Support/Cwise.h Eigen/src/Eigen2Support/CwiseOperators.h Eigen/src/Eigen2Support/Geometry/AlignedBox.h Eigen/src/Eigen2Support/Geometry/All.h Eigen/src/Eigen2Support/Geometry/AngleAxis.h Eigen/src/Eigen2Support/Geometry/Hyperplane.h Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h Eigen/src/Eigen2Support/Geometry/Quaternion.h Eigen/src/Eigen2Support/Geometry/Rotation2D.h Eigen/src/Eigen2Support/Geometry/RotationBase.h Eigen/src/Eigen2Support/Geometry/Scaling.h Eigen/src/Eigen2Support/Geometry/Transform.h Eigen/src/Eigen2Support/Geometry/Translation.h Eigen/src/Eigen2Support/Lazy.h Eigen/src/Eigen2Support/LeastSquares.h Eigen/src/Eigen2Support/LU.h Eigen/src/Eigen2Support/Macros.h Eigen/src/Eigen2Support/MathFunctions.h Eigen/src/Eigen2Support/Memory.h Eigen/src/Eigen2Support/Meta.h Eigen/src/Eigen2Support/Minor.h Eigen/src/Eigen2Support/QR.h Eigen/src/Eigen2Support/SVD.h Eigen/src/Eigen2Support/TriangularSolver.h Eigen/src/Eigen2Support/VectorBlock.h Eigen/src/Eigenvalues/ComplexEigenSolver.h Eigen/src/Eigenvalues/ComplexSchur.h Eigen/src/Eigenvalues/ComplexSchur_MKL.h Eigen/src/Eigenvalues/EigenSolver.h Eigen/src/Eigenvalues/GeneralizedEigenSolver.h Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h Eigen/src/Eigenvalues/HessenbergDecomposition.h Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h Eigen/src/Eigenvalues/RealQZ.h Eigen/src/Eigenvalues/RealSchur.h Eigen/src/Eigenvalues/RealSchur_MKL.h Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h Eigen/src/Eigenvalues/Tridiagonalization.h Eigen/src/Geometry/AlignedBox.h Eigen/src/Geometry/AngleAxis.h Eigen/src/Geometry/arch/Geometry_SSE.h Eigen/src/Geometry/EulerAngles.h Eigen/src/Geometry/Homogeneous.h Eigen/src/Geometry/Hyperplane.h Eigen/src/Geometry/OrthoMethods.h Eigen/src/Geometry/ParametrizedLine.h Eigen/src/Geometry/Quaternion.h Eigen/src/Geometry/Rotation2D.h Eigen/src/Geometry/RotationBase.h Eigen/src/Geometry/Scaling.h Eigen/src/Geometry/Transform.h Eigen/src/Geometry/Translation.h Eigen/src/Geometry/Umeyama.h Eigen/src/Householder/BlockHouseholder.h Eigen/src/Householder/Householder.h Eigen/src/Householder/HouseholderSequence.h Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h Eigen/src/IterativeLinearSolvers/BiCGSTAB.h Eigen/src/IterativeLinearSolvers/ConjugateGradient.h Eigen/src/IterativeLinearSolvers/IncompleteLUT.h Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h Eigen/src/Jacobi/Jacobi.h Eigen/src/LU/arch/Inverse_SSE.h Eigen/src/LU/Determinant.h Eigen/src/LU/FullPivLU.h Eigen/src/LU/Inverse.h Eigen/src/LU/PartialPivLU.h Eigen/src/LU/PartialPivLU_MKL.h Eigen/src/MetisSupport/MetisSupport.h Eigen/src/misc/blas.h Eigen/src/misc/Image.h Eigen/src/misc/Kernel.h Eigen/src/misc/Solve.h Eigen/src/misc/SparseSolve.h Eigen/src/OrderingMethods/Amd.h Eigen/src/OrderingMethods/Eigen_Colamd.h Eigen/src/OrderingMethods/Ordering.h Eigen/src/PardisoSupport/PardisoSupport.h Eigen/src/PaStiXSupport/PaStiXSupport.h Eigen/src/plugins/ArrayCwiseBinaryOps.h Eigen/src/plugins/ArrayCwiseUnaryOps.h Eigen/src/plugins/BlockMethods.h Eigen/src/plugins/CommonCwiseBinaryOps.h Eigen/src/plugins/CommonCwiseUnaryOps.h Eigen/src/plugins/MatrixCwiseBinaryOps.h Eigen/src/plugins/MatrixCwiseUnaryOps.h Eigen/src/QR/ColPivHouseholderQR.h Eigen/src/QR/ColPivHouseholderQR_MKL.h Eigen/src/QR/FullPivHouseholderQR.h Eigen/src/QR/HouseholderQR.h Eigen/src/QR/HouseholderQR_MKL.h Eigen/src/SparseCholesky/SimplicialCholesky.h Eigen/src/SparseCholesky/SimplicialCholesky_impl.h Eigen/src/SparseCore/AmbiVector.h Eigen/src/SparseCore/CompressedStorage.h Eigen/src/SparseCore/ConservativeSparseSparseProduct.h Eigen/src/SparseCore/MappedSparseMatrix.h Eigen/src/SparseCore/SparseBlock.h Eigen/src/SparseCore/SparseColEtree.h Eigen/src/SparseCore/SparseCwiseBinaryOp.h Eigen/src/SparseCore/SparseCwiseUnaryOp.h Eigen/src/SparseCore/SparseDenseProduct.h Eigen/src/SparseCore/SparseDiagonalProduct.h Eigen/src/SparseCore/SparseDot.h Eigen/src/SparseCore/SparseFuzzy.h Eigen/src/SparseCore/SparseMatrix.h Eigen/src/SparseCore/SparseMatrixBase.h Eigen/src/SparseCore/SparsePermutation.h Eigen/src/SparseCore/SparseProduct.h Eigen/src/SparseCore/SparseRedux.h Eigen/src/SparseCore/SparseSelfAdjointView.h Eigen/src/SparseCore/SparseSparseProductWithPruning.h Eigen/src/SparseCore/SparseTranspose.h Eigen/src/SparseCore/SparseTriangularView.h Eigen/src/SparseCore/SparseUtil.h Eigen/src/SparseCore/SparseVector.h Eigen/src/SparseCore/SparseView.h Eigen/src/SparseCore/TriangularSolver.h Eigen/src/SparseLU/SparseLU.h Eigen/src/SparseLU/SparseLU_column_bmod.h Eigen/src/SparseLU/SparseLU_column_dfs.h Eigen/src/SparseLU/SparseLU_copy_to_ucol.h Eigen/src/SparseLU/SparseLU_gemm_kernel.h Eigen/src/SparseLU/SparseLU_heap_relax_snode.h Eigen/src/SparseLU/SparseLU_kernel_bmod.h Eigen/src/SparseLU/SparseLU_Memory.h Eigen/src/SparseLU/SparseLU_panel_bmod.h Eigen/src/SparseLU/SparseLU_panel_dfs.h Eigen/src/SparseLU/SparseLU_pivotL.h Eigen/src/SparseLU/SparseLU_pruneL.h Eigen/src/SparseLU/SparseLU_relax_snode.h Eigen/src/SparseLU/SparseLU_Structs.h Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h Eigen/src/SparseLU/SparseLU_Utils.h Eigen/src/SparseLU/SparseLUImpl.h Eigen/src/SparseQR/SparseQR.h Eigen/src/SPQRSupport/SuiteSparseQRSupport.h Eigen/src/StlSupport/details.h Eigen/src/StlSupport/StdDeque.h Eigen/src/StlSupport/StdList.h Eigen/src/StlSupport/StdVector.h Eigen/src/SuperLUSupport/SuperLUSupport.h Eigen/src/SVD/JacobiSVD.h Eigen/src/SVD/JacobiSVD_MKL.h Eigen/src/SVD/UpperBidiagonalization.h Eigen/src/UmfPackSupport/UmfPackSupport.h
diff --git a/lib/Grid.h b/lib/Grid.h
index eb2be1d1..9de8470d 100644
--- a/lib/Grid.h
+++ b/lib/Grid.h
@@ -59,29 +59,29 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 ///////////////////
 // Grid headers
 ///////////////////
-#include <serialisation/Serialisation.h>
-#include <Config.h>
-#include <Timer.h>
-#include <PerfCount.h>
-#include <Log.h>
-#include <AlignedAllocator.h>
-#include <Simd.h>
-#include <Threads.h>
-#include <Lexicographic.h>
-#include <Communicator.h> 
-#include <Cartesian.h>    
-#include <Tensors.h>      
-#include <Lattice.h>      
-#include <Cshift.h>       
-#include <Stencil.h>      
-#include <Algorithms.h>   
-#include <parallelIO/BinaryIO.h>
-#include <qcd/QCD.h>
-#include <parallelIO/NerscIO.h>
-#include <Init.h>
+#include <Grid/serialisation/Serialisation.h>
+#include "Config.h"
+#include <Grid/Timer.h>
+#include <Grid/PerfCount.h>
+#include <Grid/Log.h>
+#include <Grid/AlignedAllocator.h>
+#include <Grid/Simd.h>
+#include <Grid/Threads.h>
+#include <Grid/Lexicographic.h>
+#include <Grid/Communicator.h> 
+#include <Grid/Cartesian.h>    
+#include <Grid/Tensors.h>      
+#include <Grid/Lattice.h>      
+#include <Grid/Cshift.h>       
+#include <Grid/Stencil.h>      
+#include <Grid/Algorithms.h>   
+#include <Grid/parallelIO/BinaryIO.h>
+#include <Grid/qcd/QCD.h>
+#include <Grid/parallelIO/NerscIO.h>
+#include <Grid/Init.h>
 
-#include <qcd/hmc/NerscCheckpointer.h>
-#include <qcd/hmc/HmcRunner.h>
+#include <Grid/qcd/hmc/NerscCheckpointer.h>
+#include <Grid/qcd/hmc/HmcRunner.h>
 
 
 
diff --git a/lib/Lattice.h b/lib/Lattice.h
index 5171e999..e2bb2a82 100644
--- a/lib/Lattice.h
+++ b/lib/Lattice.h
@@ -28,6 +28,6 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef GRID_LATTICE_H
 #define GRID_LATTICE_H
 
-#include <lattice/Lattice_base.h>
+#include <Grid/lattice/Lattice_base.h>
 
 #endif
diff --git a/lib/Make.inc b/lib/Make.inc
index 8763692a..733c613b 100644
--- a/lib/Make.inc
+++ b/lib/Make.inc
@@ -1,4 +1,4 @@
 
-HFILES=./Algorithms.h ./AlignedAllocator.h ./Cartesian.h ./Communicator.h ./Cshift.h ./Grid.h ./Init.h ./Lattice.h ./Lexicographic.h ./Log.h ./Old/Tensor_peek.h ./Old/Tensor_poke.h ./PerfCount.h ./Simd.h ./Stencil.h ./Tensors.h ./Threads.h ./Timer.h ./algorithms/CoarsenedMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/SparseMatrix.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/bigfloat.h ./algorithms/approx/bigfloat_double.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/Francis.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./communicator/Communicator_base.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./lattice/Lattice_ET.h ./lattice/Lattice_arith.h ./lattice/Lattice_base.h ./lattice/Lattice_comparison.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_conformable.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_local.h ./lattice/Lattice_overload.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_reality.h ./lattice/Lattice_reduction.h ./lattice/Lattice_rng.h ./lattice/Lattice_trace.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./pugixml/pugixml.h ./qcd/QCD.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/hmc/HMC.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SUn.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/WilsonLoops.h ./serialisation/BaseIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/XmlIO.h ./simd/Grid_avx.h ./simd/Grid_avx512.h ./simd/Grid_empty.h ./simd/Grid_imci.h ./simd/Grid_neon.h ./simd/Grid_qpx.h ./simd/Grid_sse4.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./simd/Intel512avx.h ./simd/Intel512wilson.h ./simd/Intel512common.h ./simd/Intel512double.h ./simd/Intel512imci.h ./simd/Intel512single.h ./stencil/Lebesgue.h ./tensors/Tensor_Ta.h ./tensors/Tensor_arith.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_class.h ./tensors/Tensor_determinant.h ./tensors/Tensor_exp.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_index.h ./tensors/Tensor_inner.h ./tensors/Tensor_logical.h ./tensors/Tensor_outer.h ./tensors/Tensor_reality.h ./tensors/Tensor_trace.h ./tensors/Tensor_traits.h ./tensors/Tensor_transpose.h ./tensors/Tensor_unary.h
+HFILES=./algorithms/approx/bigfloat.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/Francis.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/SparseMatrix.h ./Algorithms.h ./AlignedAllocator.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./Cartesian.h ./communicator/Communicator_base.h ./Communicator.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./Cshift.h ./Grid.h ./Init.h ./lattice/Lattice_arith.h ./lattice/Lattice_base.h ./lattice/Lattice_comparison.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_conformable.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_ET.h ./lattice/Lattice_local.h ./lattice/Lattice_overload.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_reality.h ./lattice/Lattice_reduction.h ./lattice/Lattice_rng.h ./lattice/Lattice_trace.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./Lattice.h ./Lexicographic.h ./Log.h ./Old/Tensor_peek.h ./Old/Tensor_poke.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./PerfCount.h ./pugixml/pugixml.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/hmc/HMC.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/NerscCheckpointer.h ./qcd/QCD.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./serialisation/BaseIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/XmlIO.h ./simd/Grid_avx.h ./simd/Grid_avx512.h ./simd/Grid_empty.h ./simd/Grid_imci.h ./simd/Grid_neon.h ./simd/Grid_qpx.h ./simd/Grid_sse4.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./simd/Intel512avx.h ./simd/Intel512common.h ./simd/Intel512double.h ./simd/Intel512imci.h ./simd/Intel512single.h ./simd/Intel512wilson.h ./Simd.h ./stencil/Lebesgue.h ./Stencil.h ./tensors/Tensor_arith.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_class.h ./tensors/Tensor_determinant.h ./tensors/Tensor_exp.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_index.h ./tensors/Tensor_inner.h ./tensors/Tensor_logical.h ./tensors/Tensor_outer.h ./tensors/Tensor_reality.h ./tensors/Tensor_Ta.h ./tensors/Tensor_trace.h ./tensors/Tensor_traits.h ./tensors/Tensor_transpose.h ./tensors/Tensor_unary.h ./Tensors.h ./Threads.h ./Timer.h
 
-CCFILES=./Init.cc ./Log.cc ./PerfCount.cc ./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./pugixml/pugixml.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/hmc/HMC.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./serialisation/BinaryIO.cc ./serialisation/TextIO.cc ./serialisation/XmlIO.cc ./stencil/Lebesgue.cc ./stencil/Stencil_common.cc
+CCFILES=./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./Init.cc ./Log.cc ./PerfCount.cc ./pugixml/pugixml.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/hmc/HMC.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./serialisation/BinaryIO.cc ./serialisation/TextIO.cc ./serialisation/XmlIO.cc ./stencil/Lebesgue.cc ./stencil/Stencil_common.cc
diff --git a/lib/Makefile.am b/lib/Makefile.am
index e626ee22..fa2c77bf 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,5 +1,5 @@
 # additional include paths necessary to compile the C++ library
-AM_CXXFLAGS = -I$(top_srcdir)/
+AM_CXXFLAGS = -I$(top_srcdir)/include/
 
 extra_sources=
 if BUILD_COMMS_MPI
@@ -17,16 +17,19 @@ endif
 #
 # Libraries
 #
-
 include Make.inc
+include Eigen.inc
 
 lib_LIBRARIES = libGrid.a
+
 libGrid_a_SOURCES = $(CCFILES) $(extra_sources)
 
+fftwdir = $(prefix)/lib/
+fftw_DATA = libfftw3.a
 
-#	qcd/action/fermion/PartialFractionFermion5D.cc\	\
 #
 # Include files
 #
-nobase_include_HEADERS=$(HFILES)
+otherincludedir = $(includedir)/Grid
+nobase_otherinclude_HEADERS =$(HFILES) $(EFILES) fftw3.h Config.h
 
diff --git a/lib/Simd.h b/lib/Simd.h
index de49cca7..7728dbdb 100644
--- a/lib/Simd.h
+++ b/lib/Simd.h
@@ -163,8 +163,8 @@ namespace Grid {
 
 };
 
-#include <simd/Grid_vector_types.h>
-#include <simd/Grid_vector_unops.h>
+#include "simd/Grid_vector_types.h"
+#include "simd/Grid_vector_unops.h"
 
 namespace Grid {
   // Default precision
diff --git a/lib/Stencil.h b/lib/Stencil.h
index f5b6c288..47c1b977 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -30,7 +30,7 @@
 
  #include <thread>
 
- #include <stencil/Lebesgue.h>   // subdir aggregate
+ #include <Grid/stencil/Lebesgue.h>   // subdir aggregate
 
  //////////////////////////////////////////////////////////////////////////////////////////
  // Must not lose sight that goal is to be able to construct really efficient
diff --git a/lib/Tensors.h b/lib/Tensors.h
index cd7a68b2..b94f22e3 100644
--- a/lib/Tensors.h
+++ b/lib/Tensors.h
@@ -30,22 +30,22 @@ Author: neo <cossu@post.kek.jp>
 #ifndef GRID_MATH_H
 #define GRID_MATH_H
 
-#include <tensors/Tensor_traits.h>
-#include <tensors/Tensor_class.h>
-#include <tensors/Tensor_arith.h>
-#include <tensors/Tensor_inner.h>
-#include <tensors/Tensor_outer.h>
-#include <tensors/Tensor_transpose.h>
-#include <tensors/Tensor_trace.h>
-#include <tensors/Tensor_index.h>
-#include <tensors/Tensor_Ta.h>
-#include <tensors/Tensor_determinant.h>
-#include <tensors/Tensor_exp.h>
-//#include <tensors/Tensor_peek.h>
-//#include <tensors/Tensor_poke.h>
-#include <tensors/Tensor_reality.h>
-#include <tensors/Tensor_unary.h>
-#include <tensors/Tensor_extract_merge.h>
-#include <tensors/Tensor_logical.h>
+#include <Grid/tensors/Tensor_traits.h>
+#include <Grid/tensors/Tensor_class.h>
+#include <Grid/tensors/Tensor_arith.h>
+#include <Grid/tensors/Tensor_inner.h>
+#include <Grid/tensors/Tensor_outer.h>
+#include <Grid/tensors/Tensor_transpose.h>
+#include <Grid/tensors/Tensor_trace.h>
+#include <Grid/tensors/Tensor_index.h>
+#include <Grid/tensors/Tensor_Ta.h>
+#include <Grid/tensors/Tensor_determinant.h>
+#include <Grid/tensors/Tensor_exp.h>
+//#include <Grid/tensors/Tensor_peek.h>
+//#include <Grid/tensors/Tensor_poke.h>
+#include <Grid/tensors/Tensor_reality.h>
+#include <Grid/tensors/Tensor_unary.h>
+#include <Grid/tensors/Tensor_extract_merge.h>
+#include <Grid/tensors/Tensor_logical.h>
 
 #endif
diff --git a/lib/algorithms/CoarsenedMatrix.h b/lib/algorithms/CoarsenedMatrix.h
index a757e258..3ae0af75 100644
--- a/lib/algorithms/CoarsenedMatrix.h
+++ b/lib/algorithms/CoarsenedMatrix.h
@@ -31,7 +31,6 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #ifndef  GRID_ALGORITHM_COARSENED_MATRIX_H
 #define  GRID_ALGORITHM_COARSENED_MATRIX_H
 
-#include <Grid.h>
 
 namespace Grid {
 
diff --git a/lib/algorithms/SparseMatrix.h b/lib/algorithms/SparseMatrix.h
index 4fc1a3ad..1611a6f4 100644
--- a/lib/algorithms/SparseMatrix.h
+++ b/lib/algorithms/SparseMatrix.h
@@ -28,7 +28,6 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef  GRID_ALGORITHM_SPARSE_MATRIX_H
 #define  GRID_ALGORITHM_SPARSE_MATRIX_H
 
-#include <Grid.h>
 
 namespace Grid {
 
diff --git a/lib/algorithms/approx/Chebyshev.h b/lib/algorithms/approx/Chebyshev.h
index 96a75a92..6837ae99 100644
--- a/lib/algorithms/approx/Chebyshev.h
+++ b/lib/algorithms/approx/Chebyshev.h
@@ -29,8 +29,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #ifndef GRID_CHEBYSHEV_H
 #define GRID_CHEBYSHEV_H
 
-#include<Grid.h>
-#include<algorithms/LinearOperator.h>
+#include <Grid/algorithms/LinearOperator.h>
 
 namespace Grid {
 
diff --git a/lib/algorithms/approx/Remez.h b/lib/algorithms/approx/Remez.h
index 4a56d5d2..52729013 100644
--- a/lib/algorithms/approx/Remez.h
+++ b/lib/algorithms/approx/Remez.h
@@ -19,9 +19,9 @@
 #include <Config.h>
 
 #ifdef HAVE_GMP_H
-#include <algorithms/approx/bigfloat.h>
+#include "bigfloat.h"
 #else
-#include <algorithms/approx/bigfloat_double.h>
+#include "algorithms/approx/bigfloat_double.h"
 #endif
 
 #define JMAX 10000 //Maximum number of iterations of Newton's approximation
diff --git a/lib/algorithms/iterative/DenseMatrix.h b/lib/algorithms/iterative/DenseMatrix.h
index c34fc3bb..d86add21 100644
--- a/lib/algorithms/iterative/DenseMatrix.h
+++ b/lib/algorithms/iterative/DenseMatrix.h
@@ -130,8 +130,8 @@ DenseMatrix<T> GetSubMtx(DenseMatrix<T> &A,int row_st, int row_end, int col_st,
 
 }
 
-#include <algorithms/iterative/Householder.h>
-#include <algorithms/iterative/Francis.h>
+#include "Householder.h"
+#include "Francis.h"
 
 #endif
 
diff --git a/lib/algorithms/iterative/ImplicitlyRestartedLanczos.h b/lib/algorithms/iterative/ImplicitlyRestartedLanczos.h
index c53d9318..1a1a0a16 100644
--- a/lib/algorithms/iterative/ImplicitlyRestartedLanczos.h
+++ b/lib/algorithms/iterative/ImplicitlyRestartedLanczos.h
@@ -33,8 +33,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #ifdef USE_LAPACK
 #include <lapacke.h>
 #endif
-#include <algorithms/iterative/DenseMatrix.h>
-#include <algorithms/iterative/EigenSort.h>
+#include "DenseMatrix.h"
+#include "EigenSort.h"
 
 namespace Grid {
 
diff --git a/lib/cartesian/Cartesian_base.h b/lib/cartesian/Cartesian_base.h
index 8272ac71..77de84b3 100644
--- a/lib/cartesian/Cartesian_base.h
+++ b/lib/cartesian/Cartesian_base.h
@@ -29,7 +29,6 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #ifndef GRID_CARTESIAN_BASE_H
 #define GRID_CARTESIAN_BASE_H
 
-#include <Grid.h>
 
 namespace Grid{
 
diff --git a/lib/lattice/Lattice_base.h b/lib/lattice/Lattice_base.h
index d97b1204..dff6130d 100644
--- a/lib/lattice/Lattice_base.h
+++ b/lib/lattice/Lattice_base.h
@@ -324,27 +324,27 @@ PARALLEL_FOR_LOOP
 
 
 
-#include <lattice/Lattice_conformable.h>
+#include "Lattice_conformable.h"
 #define GRID_LATTICE_EXPRESSION_TEMPLATES
 #ifdef  GRID_LATTICE_EXPRESSION_TEMPLATES
-#include <lattice/Lattice_ET.h>
+#include "Lattice_ET.h"
 #else 
-#include <lattice/Lattice_overload.h>
+#include "Lattice_overload.h"
 #endif
-#include <lattice/Lattice_arith.h>
-#include <lattice/Lattice_trace.h>
-#include <lattice/Lattice_transpose.h>
-#include <lattice/Lattice_local.h>
-#include <lattice/Lattice_reduction.h>
-#include <lattice/Lattice_peekpoke.h>
-#include <lattice/Lattice_reality.h>
-#include <lattice/Lattice_comparison_utils.h>
-#include <lattice/Lattice_comparison.h>
-#include <lattice/Lattice_coordinate.h>
-#include <lattice/Lattice_where.h>
-#include <lattice/Lattice_rng.h>
-#include <lattice/Lattice_unary.h>
-#include <lattice/Lattice_transfer.h>
+#include "Lattice_arith.h"
+#include "Lattice_trace.h"
+#include "Lattice_transpose.h"
+#include "Lattice_local.h"
+#include "Lattice_reduction.h"
+#include "Lattice_peekpoke.h"
+#include "Lattice_reality.h"
+#include "Lattice_comparison_utils.h"
+#include "Lattice_comparison.h"
+#include "Lattice_coordinate.h"
+#include "Lattice_where.h"
+#include "Lattice_rng.h"
+#include "Lattice_unary.h"
+#include "Lattice_transfer.h"
 
 
 #endif
diff --git a/lib/pugixml/pugixml.h b/lib/pugixml/pugixml.h
index 346cefdd..cdd24b6d 100644
--- a/lib/pugixml/pugixml.h
+++ b/lib/pugixml/pugixml.h
@@ -17,7 +17,7 @@
 #endif
 
 // Include user configuration file (this can define various configuration macros)
-#include <pugixml/pugiconfig.hpp>
+#include "pugiconfig.hpp"
 
 #ifndef HEADER_PUGIXML_HPP
 #define HEADER_PUGIXML_HPP
diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index 92fa5857..835878d9 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -484,16 +484,16 @@ namespace QCD {
 }   //namespace QCD
 } // Grid
 
-#include <qcd/utils/SpaceTimeGrid.h>
-#include <qcd/spin/Dirac.h>
-#include <qcd/spin/TwoSpinor.h>
-#include <qcd/utils/LinalgUtils.h>
-#include <qcd/utils/CovariantCshift.h>
-#include <qcd/utils/SUn.h>
-#include <qcd/action/Actions.h>
-#include <qcd/hmc/integrators/Integrator.h>
-#include <qcd/hmc/integrators/Integrator_algorithm.h>
-#include <qcd/hmc/HMC.h>
+#include <Grid/qcd/utils/SpaceTimeGrid.h>
+#include <Grid/qcd/spin/Dirac.h>
+#include <Grid/qcd/spin/TwoSpinor.h>
+#include <Grid/qcd/utils/LinalgUtils.h>
+#include <Grid/qcd/utils/CovariantCshift.h>
+#include <Grid/qcd/utils/SUn.h>
+#include <Grid/qcd/action/Actions.h>
+#include <Grid/qcd/hmc/integrators/Integrator.h>
+#include <Grid/qcd/hmc/integrators/Integrator_algorithm.h>
+#include <Grid/qcd/hmc/HMC.h>
 
 
 #endif
diff --git a/lib/qcd/action/Actions.h b/lib/qcd/action/Actions.h
index ffa3a4d9..e2505f25 100644
--- a/lib/qcd/action/Actions.h
+++ b/lib/qcd/action/Actions.h
@@ -40,25 +40,25 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 ////////////////////////////////////////////
 // Abstract base interface
 ////////////////////////////////////////////
-#include <qcd/action/ActionBase.h>
-#include <qcd/action/ActionParams.h>
+#include <Grid/qcd/action/ActionBase.h>
+#include <Grid/qcd/action/ActionParams.h>
 
 ////////////////////////////////////////////
 // Utility functions
 ////////////////////////////////////////////
-#include <qcd/action/gauge/GaugeImpl.h>
-#include <qcd/utils/WilsonLoops.h>
+#include <Grid/qcd/action/gauge/GaugeImpl.h>
+#include <Grid/qcd/utils/WilsonLoops.h>
 
-#include <qcd/action/fermion/WilsonCompressor.h>     //used by all wilson type fermions
-#include <qcd/action/fermion/FermionOperatorImpl.h>
-#include <qcd/action/fermion/FermionOperator.h>
-#include <qcd/action/fermion/WilsonKernels.h>        //used by all wilson type fermions
+#include <Grid/qcd/action/fermion/WilsonCompressor.h>     //used by all wilson type fermions
+#include <Grid/qcd/action/fermion/FermionOperatorImpl.h>
+#include <Grid/qcd/action/fermion/FermionOperator.h>
+#include <Grid/qcd/action/fermion/WilsonKernels.h>        //used by all wilson type fermions
 
 ////////////////////////////////////////////
 // Gauge Actions
 ////////////////////////////////////////////
-#include <qcd/action/gauge/WilsonGaugeAction.h>
-#include <qcd/action/gauge/PlaqPlusRectangleAction.h>
+#include <Grid/qcd/action/gauge/WilsonGaugeAction.h>
+#include <Grid/qcd/action/gauge/PlaqPlusRectangleAction.h>
 
 namespace Grid {
 namespace QCD {
@@ -119,29 +119,29 @@ typedef SymanzikGaugeAction<ConjugateGimplD>        ConjugateSymanzikGaugeAction
 // Fermion operators / actions
 ////////////////////////////////////////////
 
-#include <qcd/action/fermion/WilsonFermion.h>       // 4d wilson like
-#include <qcd/action/fermion/WilsonTMFermion.h>       // 4d wilson like
-#include <qcd/action/fermion/WilsonFermion5D.h>     // 5d base used by all 5d overlap types
+#include <Grid/qcd/action/fermion/WilsonFermion.h>       // 4d wilson like
+#include <Grid/qcd/action/fermion/WilsonTMFermion.h>       // 4d wilson like
+#include <Grid/qcd/action/fermion/WilsonFermion5D.h>     // 5d base used by all 5d overlap types
 
-//#include <qcd/action/fermion/CloverFermion.h>
+//#include <Grid/qcd/action/fermion/CloverFermion.h>
 
-#include <qcd/action/fermion/CayleyFermion5D.h>     // Cayley types
-#include <qcd/action/fermion/DomainWallFermion.h>
-#include <qcd/action/fermion/DomainWallFermion.h>
-#include <qcd/action/fermion/MobiusFermion.h>
-#include <qcd/action/fermion/ScaledShamirFermion.h>
-#include <qcd/action/fermion/MobiusZolotarevFermion.h>
-#include <qcd/action/fermion/ShamirZolotarevFermion.h>
-#include <qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h>
-#include <qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h>
+#include <Grid/qcd/action/fermion/CayleyFermion5D.h>     // Cayley types
+#include <Grid/qcd/action/fermion/DomainWallFermion.h>
+#include <Grid/qcd/action/fermion/DomainWallFermion.h>
+#include <Grid/qcd/action/fermion/MobiusFermion.h>
+#include <Grid/qcd/action/fermion/ScaledShamirFermion.h>
+#include <Grid/qcd/action/fermion/MobiusZolotarevFermion.h>
+#include <Grid/qcd/action/fermion/ShamirZolotarevFermion.h>
+#include <Grid/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h>
+#include <Grid/qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h>
 
-#include <qcd/action/fermion/ContinuedFractionFermion5D.h>               // Continued fraction
-#include <qcd/action/fermion/OverlapWilsonContfracTanhFermion.h>
-#include <qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h>
+#include <Grid/qcd/action/fermion/ContinuedFractionFermion5D.h>               // Continued fraction
+#include <Grid/qcd/action/fermion/OverlapWilsonContfracTanhFermion.h>
+#include <Grid/qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h>
 
-#include <qcd/action/fermion/PartialFractionFermion5D.h>                 // Partial fraction
-#include <qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h>
-#include <qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h>
+#include <Grid/qcd/action/fermion/PartialFractionFermion5D.h>                 // Partial fraction
+#include <Grid/qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h>
+#include <Grid/qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h>
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // More maintainable to maintain the following typedef list centrally, as more "impl" targets
@@ -222,21 +222,21 @@ typedef MobiusFermion<GparityWilsonImplD> GparityMobiusFermionD;
 ///////////////////////////////////////////////////////////////////////////////
 // G5 herm -- this has to live in QCD since dirac matrix is not in the broader sector of code
 ///////////////////////////////////////////////////////////////////////////////
-#include <qcd/action/fermion/g5HermitianLinop.h>
+#include <Grid/qcd/action/fermion/g5HermitianLinop.h>
 
 ////////////////////////////////////////
 // Pseudo fermion combinations for HMC
 ////////////////////////////////////////
-#include <qcd/action/pseudofermion/EvenOddSchurDifferentiable.h>
+#include <Grid/qcd/action/pseudofermion/EvenOddSchurDifferentiable.h>
 
-#include <qcd/action/pseudofermion/TwoFlavour.h>
-#include <qcd/action/pseudofermion/TwoFlavourRatio.h>
-#include <qcd/action/pseudofermion/TwoFlavourEvenOdd.h>
-#include <qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h>
+#include <Grid/qcd/action/pseudofermion/TwoFlavour.h>
+#include <Grid/qcd/action/pseudofermion/TwoFlavourRatio.h>
+#include <Grid/qcd/action/pseudofermion/TwoFlavourEvenOdd.h>
+#include <Grid/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h>
 
-#include <qcd/action/pseudofermion/OneFlavourRational.h>
-#include <qcd/action/pseudofermion/OneFlavourRationalRatio.h>
-#include <qcd/action/pseudofermion/OneFlavourEvenOddRational.h>
-#include <qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h>
+#include <Grid/qcd/action/pseudofermion/OneFlavourRational.h>
+#include <Grid/qcd/action/pseudofermion/OneFlavourRationalRatio.h>
+#include <Grid/qcd/action/pseudofermion/OneFlavourEvenOddRational.h>
+#include <Grid/qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h>
 
 #endif
diff --git a/lib/qcd/action/fermion/DomainWallFermion.h b/lib/qcd/action/fermion/DomainWallFermion.h
index 8e41aa63..b72ca8ec 100644
--- a/lib/qcd/action/fermion/DomainWallFermion.h
+++ b/lib/qcd/action/fermion/DomainWallFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef  GRID_QCD_DOMAIN_WALL_FERMION_H
 #define  GRID_QCD_DOMAIN_WALL_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/MobiusFermion.h b/lib/qcd/action/fermion/MobiusFermion.h
index f08b5a74..ade9ca4d 100644
--- a/lib/qcd/action/fermion/MobiusFermion.h
+++ b/lib/qcd/action/fermion/MobiusFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef  GRID_QCD_MOBIUS_FERMION_H
 #define  GRID_QCD_MOBIUS_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/MobiusZolotarevFermion.h b/lib/qcd/action/fermion/MobiusZolotarevFermion.h
index cdf575f8..609d5cea 100644
--- a/lib/qcd/action/fermion/MobiusZolotarevFermion.h
+++ b/lib/qcd/action/fermion/MobiusZolotarevFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef  GRID_QCD_MOBIUS_ZOLOTAREV_FERMION_H
 #define  GRID_QCD_MOBIUS_ZOLOTAREV_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h b/lib/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h
index 8826df64..cd23ddd5 100644
--- a/lib/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h
+++ b/lib/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef OVERLAP_WILSON_CAYLEY_TANH_FERMION_H
 #define OVERLAP_WILSON_CAYLEY_TANH_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h b/lib/qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h
index 08508e8f..048244cc 100644
--- a/lib/qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h
+++ b/lib/qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef  OVERLAP_WILSON_CAYLEY_ZOLOTAREV_FERMION_H
 #define  OVERLAP_WILSON_CAYLEY_ZOLOTAREV_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/OverlapWilsonContfracTanhFermion.h b/lib/qcd/action/fermion/OverlapWilsonContfracTanhFermion.h
index a17cbe7a..bbac735a 100644
--- a/lib/qcd/action/fermion/OverlapWilsonContfracTanhFermion.h
+++ b/lib/qcd/action/fermion/OverlapWilsonContfracTanhFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef OVERLAP_WILSON_CONTFRAC_TANH_FERMION_H
 #define OVERLAP_WILSON_CONTFRAC_TANH_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h b/lib/qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h
index 7102adb0..9da30f65 100644
--- a/lib/qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h
+++ b/lib/qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef OVERLAP_WILSON_CONTFRAC_ZOLOTAREV_FERMION_H
 #define OVERLAP_WILSON_CONTFRAC_ZOLOTAREV_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h b/lib/qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h
index b63676c5..3b867174 100644
--- a/lib/qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h
+++ b/lib/qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef OVERLAP_WILSON_PARTFRAC_TANH_FERMION_H
 #define OVERLAP_WILSON_PARTFRAC_TANH_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h b/lib/qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h
index 341c193f..e1d0763b 100644
--- a/lib/qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h
+++ b/lib/qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef OVERLAP_WILSON_PARTFRAC_ZOLOTAREV_FERMION_H
 #define OVERLAP_WILSON_PARTFRAC_ZOLOTAREV_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/ScaledShamirFermion.h b/lib/qcd/action/fermion/ScaledShamirFermion.h
index c0deef3e..f850ee4d 100644
--- a/lib/qcd/action/fermion/ScaledShamirFermion.h
+++ b/lib/qcd/action/fermion/ScaledShamirFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef  GRID_QCD_SCALED_SHAMIR_FERMION_H
 #define  GRID_QCD_SCALED_SHAMIR_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/ShamirZolotarevFermion.h b/lib/qcd/action/fermion/ShamirZolotarevFermion.h
index f15d83a8..732afa0a 100644
--- a/lib/qcd/action/fermion/ShamirZolotarevFermion.h
+++ b/lib/qcd/action/fermion/ShamirZolotarevFermion.h
@@ -29,7 +29,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef  GRID_QCD_SHAMIR_ZOLOTAREV_FERMION_H
 #define  GRID_QCD_SHAMIR_ZOLOTAREV_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/qcd/action/fermion/WilsonTMFermion.h b/lib/qcd/action/fermion/WilsonTMFermion.h
index df00a269..5901cb2f 100644
--- a/lib/qcd/action/fermion/WilsonTMFermion.h
+++ b/lib/qcd/action/fermion/WilsonTMFermion.h
@@ -28,7 +28,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #ifndef  GRID_QCD_WILSON_TM_FERMION_H
 #define  GRID_QCD_WILSON_TM_FERMION_H
 
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
 
diff --git a/lib/serialisation/Serialisation.h b/lib/serialisation/Serialisation.h
index 0972afb5..8f405d73 100644
--- a/lib/serialisation/Serialisation.h
+++ b/lib/serialisation/Serialisation.h
@@ -29,18 +29,18 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef GRID_SERIALISATION_READER_H
 #define GRID_SERIALISATION_READER_H
 
-#include <serialisation/MacroMagic.h>
-#include <serialisation/BaseIO.h>
 #include <stdint.h>
 
+#include "MacroMagic.h"
+#include "BaseIO.h"
+#include "BinaryIO.h"
+#include "TextIO.h"
+#include "XmlIO.h"
 //////////////////////////////////////////
 // Todo:
 //////////////////////////////////////////
-#include <serialisation/BinaryIO.h>
-#include <serialisation/TextIO.h>
-//#include <serialisation/JsonIO.h>
-//#include <serialisation/YamlIO.h>
-#include <serialisation/XmlIO.h>
+//#include "JsonIO.h"
+//#include "YamlIO.h"
 
 //////////////////////////////////////////
 // Select the default serialiser use ifdef's
diff --git a/lib/serialisation/XmlIO.h b/lib/serialisation/XmlIO.h
index 9fb3f45e..c18d6910 100644
--- a/lib/serialisation/XmlIO.h
+++ b/lib/serialisation/XmlIO.h
@@ -38,7 +38,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #include <vector>
 #include <cassert>
 
-#include "pugixml/pugixml.h"
+#include <Grid/pugixml/pugixml.h>
 
 namespace Grid
 {
diff --git a/lib/simd/Intel512wilson.h b/lib/simd/Intel512wilson.h
index 660d07d6..6d0d6f63 100644
--- a/lib/simd/Intel512wilson.h
+++ b/lib/simd/Intel512wilson.h
@@ -90,8 +90,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #define Chimu_31 UChi_11
 #define Chimu_32 UChi_12
 
-#include <simd/Intel512common.h>
-#include <simd/Intel512avx.h>
+#include "Intel512common.h"
+#include "Intel512avx.h"
 
 //////////////////////////////////////////////////////////////////
 // Macros used to build wilson kernel -- can rationalise and simplify
diff --git a/lib/tensors/Tensor_arith.h b/lib/tensors/Tensor_arith.h
index 162589da..a07a8305 100644
--- a/lib/tensors/Tensor_arith.h
+++ b/lib/tensors/Tensor_arith.h
@@ -28,11 +28,11 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef GRID_MATH_ARITH_H
 #define GRID_MATH_ARITH_H
 
-#include <tensors/Tensor_arith_add.h>
-#include <tensors/Tensor_arith_sub.h>
-#include <tensors/Tensor_arith_mac.h>
-#include <tensors/Tensor_arith_mul.h>
-#include <tensors/Tensor_arith_scalar.h>
+#include "Tensor_arith_add.h"
+#include "Tensor_arith_sub.h"
+#include "Tensor_arith_mac.h"
+#include "Tensor_arith_mul.h"
+#include "Tensor_arith_scalar.h"
 
 #endif
 
diff --git a/prerequisites/Makefile.am b/prerequisites/Makefile.am
new file mode 100644
index 00000000..672e43d6
--- /dev/null
+++ b/prerequisites/Makefile.am
@@ -0,0 +1,38 @@
+FFTFLAGS=$(filter-out -std=c++11, $(CXXFLAGS) )
+
+EIGENVER=3.2.8
+EIGEN=eigen$(EIGENVER)
+EIGENTAR=$(EIGEN).tar.bz2
+EIGENURL=https://bitbucket.org/eigen/eigen/get/$(EIGENVER).tar.bz2
+
+FFTWVER=3.3.4
+FFTW=fftw-$(FFTWVER)
+FFTWTAR=fftw-$(FFTWVER).tar.gz
+FFTWURL=http://www.fftw.org/$(FFTWTAR)
+
+all: Eigen FFTW headerlist
+
+$(top_srcdir)/prerequisites/$(EIGENTAR): 
+	curl -v $(EIGENURL) -o $(top_srcdir)/prerequisites/$(EIGENTAR)
+
+$(top_srcdir)/prerequisites/$(FFTWTAR): 
+	curl -v $(FFTWURL) -o $(top_srcdir)/prerequisites/$(FFTWTAR)
+
+Eigen:  $(top_srcdir)/prerequisites/$(EIGENTAR)
+	tar xvf $(top_srcdir)/prerequisites/$(EIGENTAR)
+	- rm -rf  ../include/Grid/Eigen
+	mv eigen-eigen*/Eigen .
+	echo EFILES=`find Eigen -type f -name '*.h' ` | sed > $(top_srcdir)/lib/Eigen.inc
+	mv Eigen ../include/Grid/
+	touch Eigen
+
+FFTW: $(top_srcdir)/prerequisites/$(FFTWTAR)
+	tar xvf $(top_srcdir)/prerequisites/$(FFTWTAR)
+	cd $(FFTW) &&	./configure --prefix=@abs_top_builddir@/prerequisites/fftwinstall CFLAGS="$(FFTFLAGS)" CC=$(CC) LDFLAGS="$(LDFLAGS)" && make all install
+	cp -pr fftwinstall/include/fftw3.h ../include/Grid/
+	cp -pr fftwinstall/lib/libfftw3.a  ../lib/
+	touch FFTW
+
+headerlist:
+	cd $(top_srcdir) && ./scripts/filelist
+	touch headerlist
\ No newline at end of file
diff --git a/prerequisites/eigen3.2.8.tar.bz2 b/prerequisites/eigen3.2.8.tar.bz2
new file mode 100644
index 0000000000000000000000000000000000000000..7ad38beadb31990f10f97fad57872471d56f80b9
GIT binary patch
literal 1161201
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%0Ac
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%0DT|3=eT_)2egOzb?((4H<<uA2z`CO
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%0DgQHpdw
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

literal 0
HcmV?d00001

diff --git a/prerequisites/eigenIGENVER.tar.bz2 b/prerequisites/eigenIGENVER.tar.bz2
new file mode 100644
index 0000000000000000000000000000000000000000..7ad38beadb31990f10f97fad57872471d56f80b9
GIT binary patch
literal 1161201
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%0Ac
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%0DT|3=eT_)2egOzb?((4H<<uA2z`CO
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%0DgQHpdw
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

literal 0
HcmV?d00001

diff --git a/scripts/filelist b/scripts/filelist
index dcc5bfef..d6786687 100755
--- a/scripts/filelist
+++ b/scripts/filelist
@@ -1,7 +1,8 @@
 #!/bin/bash
- 
-cd lib
 
+home=`pwd`
+ 
+cd $home/lib
 HFILES=`find . -type f -name '*.h'`
 CCFILES=`find . -type f -name '*.cc' -not  -name '*ommunicator*.cc'`
 echo> Make.inc
@@ -9,18 +10,24 @@ echo HFILES=$HFILES >> Make.inc
 echo >> Make.inc
 echo CCFILES=$CCFILES >> Make.inc
 
-cd ..
+cd $home/tests
 
-cd tests
+dirs=`find . -type d `
+
+for subdir in $dirs
+do
+
+pwd
+echo subdir is $subdir of $dirs
+
+cd $home/tests/$subdir
 
-echo> Make.inc
 TESTS=`ls T*.cc`
 TESTLIST=`echo ${TESTS} | sed s/.cc//g `
 
 echo > Make.inc
 echo bin_PROGRAMS += ${TESTLIST} | sed s/Test_zmm//g >> Make.inc
 echo >> Make.inc
-
 for f in $TESTS
 do
 BNAME=`basename $f .cc`
@@ -30,31 +37,10 @@ echo ${BNAME}_LDADD=-lGrid>> Make.inc
 echo >> Make.inc
 done
 
-cd qdpxx
 
-echo> Make.inc
-TESTS=`ls T*.cc`
-TESTLIST=`echo ${TESTS} | sed s/.cc//g `
-
-echo > Make.inc
-echo bin_PROGRAMS = ${TESTLIST} >> Make.inc
-echo >> Make.inc
-
-for f in $TESTS
-do
-BNAME=`basename $f .cc`
-echo >> Make.inc
-echo ${BNAME}_SOURCES=$f  >> Make.inc
-echo ${BNAME}_LDADD=-lGrid>> Make.inc
-echo >> Make.inc
 done
 
-cd ..
-cd ..
-
-
-cd benchmarks
-
+cd $home/benchmarks
 
 echo> Make.inc
 TESTS=`ls B*.cc`
diff --git a/tests/IO/Make.inc b/tests/IO/Make.inc
new file mode 100644
index 00000000..dedf89e3
--- /dev/null
+++ b/tests/IO/Make.inc
@@ -0,0 +1,11 @@
+
+bin_PROGRAMS += Test_nersc_io Test_serialisation
+
+
+Test_nersc_io_SOURCES=Test_nersc_io.cc
+Test_nersc_io_LDADD=-lGrid
+
+
+Test_serialisation_SOURCES=Test_serialisation.cc
+Test_serialisation_LDADD=-lGrid
+
diff --git a/tests/IO/Makefile.am b/tests/IO/Makefile.am
new file mode 100644
index 00000000..69121a8b
--- /dev/null
+++ b/tests/IO/Makefile.am
@@ -0,0 +1,19 @@
+# additional include paths necessary to compile the C++ library
+
+bin_PROGRAMS =
+SUBDIRS =
+
+AM_CXXFLAGS = -I$(top_srcdir)/include
+AM_LDFLAGS = -L$(top_builddir)/lib
+
+if USE_LAPACK
+AM_CXXFLAGS += -DUSE_LAPACK
+if USE_LAPACK_LIB
+#if test "X${ac_LAPACK}X" != XyesX 
+AM_CXXFLAGS += -I$(ac_LAPACK)/include
+AM_LDFLAGS += -L$(ac_LAPACK)/lib
+#fi
+endif
+endif
+
+include Make.inc
diff --git a/tests/Test_nersc_io.cc b/tests/IO/Test_nersc_io.cc
similarity index 99%
rename from tests/Test_nersc_io.cc
rename to tests/IO/Test_nersc_io.cc
index 43d29aa4..0273d02a 100644
--- a/tests/Test_nersc_io.cc
+++ b/tests/IO/Test_nersc_io.cc
@@ -27,7 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_serialisation.cc b/tests/IO/Test_serialisation.cc
similarity index 99%
rename from tests/Test_serialisation.cc
rename to tests/IO/Test_serialisation.cc
index 42fdcccb..e23aa1a3 100644
--- a/tests/Test_serialisation.cc
+++ b/tests/IO/Test_serialisation.cc
@@ -26,7 +26,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 namespace Grid {
   
diff --git a/tests/Make.inc b/tests/Make.inc
index f1e2cd9d..9200ac5d 100644
--- a/tests/Make.inc
+++ b/tests/Make.inc
@@ -1,239 +1,11 @@
 
-bin_PROGRAMS += Test_GaugeAction Test_RectPlaq Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cf_coarsen_support Test_cf_cr_unprec Test_cheby Test_contfrac_cg Test_contfrac_even_odd Test_contfrac_force Test_cshift Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_even_odd Test_dwf_force Test_dwf_fpgcr Test_dwf_gpforce Test_dwf_hdcr Test_dwf_lanczos Test_dwf_rb5d Test_gamma Test_gp_rect_force Test_gparity Test_gpdwf_force Test_gpwilson_even_odd Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_lie_generators Test_main Test_multishift_sqrt Test_nersc_io Test_partfrac_force Test_quenched_update Test_rect_force Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio Test_rng Test_rng_fixed Test_serialisation Test_simd Test_stencil Test_synthetic_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec Test_wilson_even_odd Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi Test_wilson_tm_even_odd 
-
-
-Test_GaugeAction_SOURCES=Test_GaugeAction.cc
-Test_GaugeAction_LDADD=-lGrid
-
-
-Test_RectPlaq_SOURCES=Test_RectPlaq.cc
-Test_RectPlaq_LDADD=-lGrid
-
-
-Test_cayley_cg_SOURCES=Test_cayley_cg.cc
-Test_cayley_cg_LDADD=-lGrid
-
-
-Test_cayley_coarsen_support_SOURCES=Test_cayley_coarsen_support.cc
-Test_cayley_coarsen_support_LDADD=-lGrid
-
-
-Test_cayley_even_odd_SOURCES=Test_cayley_even_odd.cc
-Test_cayley_even_odd_LDADD=-lGrid
-
-
-Test_cayley_ldop_cr_SOURCES=Test_cayley_ldop_cr.cc
-Test_cayley_ldop_cr_LDADD=-lGrid
-
-
-Test_cf_coarsen_support_SOURCES=Test_cf_coarsen_support.cc
-Test_cf_coarsen_support_LDADD=-lGrid
-
-
-Test_cf_cr_unprec_SOURCES=Test_cf_cr_unprec.cc
-Test_cf_cr_unprec_LDADD=-lGrid
-
-
-Test_cheby_SOURCES=Test_cheby.cc
-Test_cheby_LDADD=-lGrid
-
-
-Test_contfrac_cg_SOURCES=Test_contfrac_cg.cc
-Test_contfrac_cg_LDADD=-lGrid
-
-
-Test_contfrac_even_odd_SOURCES=Test_contfrac_even_odd.cc
-Test_contfrac_even_odd_LDADD=-lGrid
-
-
-Test_contfrac_force_SOURCES=Test_contfrac_force.cc
-Test_contfrac_force_LDADD=-lGrid
+bin_PROGRAMS += Test_cshift Test_simd Test_stencil
 
 
 Test_cshift_SOURCES=Test_cshift.cc
 Test_cshift_LDADD=-lGrid
 
 
-Test_cshift_red_black_SOURCES=Test_cshift_red_black.cc
-Test_cshift_red_black_LDADD=-lGrid
-
-
-Test_cshift_red_black_rotate_SOURCES=Test_cshift_red_black_rotate.cc
-Test_cshift_red_black_rotate_LDADD=-lGrid
-
-
-Test_cshift_rotate_SOURCES=Test_cshift_rotate.cc
-Test_cshift_rotate_LDADD=-lGrid
-
-
-Test_dwf_cg_prec_SOURCES=Test_dwf_cg_prec.cc
-Test_dwf_cg_prec_LDADD=-lGrid
-
-
-Test_dwf_cg_schur_SOURCES=Test_dwf_cg_schur.cc
-Test_dwf_cg_schur_LDADD=-lGrid
-
-
-Test_dwf_cg_unprec_SOURCES=Test_dwf_cg_unprec.cc
-Test_dwf_cg_unprec_LDADD=-lGrid
-
-
-Test_dwf_cr_unprec_SOURCES=Test_dwf_cr_unprec.cc
-Test_dwf_cr_unprec_LDADD=-lGrid
-
-
-Test_dwf_even_odd_SOURCES=Test_dwf_even_odd.cc
-Test_dwf_even_odd_LDADD=-lGrid
-
-
-Test_dwf_force_SOURCES=Test_dwf_force.cc
-Test_dwf_force_LDADD=-lGrid
-
-
-Test_dwf_fpgcr_SOURCES=Test_dwf_fpgcr.cc
-Test_dwf_fpgcr_LDADD=-lGrid
-
-
-Test_dwf_gpforce_SOURCES=Test_dwf_gpforce.cc
-Test_dwf_gpforce_LDADD=-lGrid
-
-
-Test_dwf_hdcr_SOURCES=Test_dwf_hdcr.cc
-Test_dwf_hdcr_LDADD=-lGrid
-
-
-Test_dwf_lanczos_SOURCES=Test_dwf_lanczos.cc
-Test_dwf_lanczos_LDADD=-lGrid
-
-
-Test_dwf_rb5d_SOURCES=Test_dwf_rb5d.cc
-Test_dwf_rb5d_LDADD=-lGrid
-
-
-Test_gamma_SOURCES=Test_gamma.cc
-Test_gamma_LDADD=-lGrid
-
-
-Test_gp_rect_force_SOURCES=Test_gp_rect_force.cc
-Test_gp_rect_force_LDADD=-lGrid
-
-
-Test_gparity_SOURCES=Test_gparity.cc
-Test_gparity_LDADD=-lGrid
-
-
-Test_gpdwf_force_SOURCES=Test_gpdwf_force.cc
-Test_gpdwf_force_LDADD=-lGrid
-
-
-Test_gpwilson_even_odd_SOURCES=Test_gpwilson_even_odd.cc
-Test_gpwilson_even_odd_LDADD=-lGrid
-
-
-Test_hmc_EODWFRatio_SOURCES=Test_hmc_EODWFRatio.cc
-Test_hmc_EODWFRatio_LDADD=-lGrid
-
-
-Test_hmc_EODWFRatio_Gparity_SOURCES=Test_hmc_EODWFRatio_Gparity.cc
-Test_hmc_EODWFRatio_Gparity_LDADD=-lGrid
-
-
-Test_hmc_EOWilsonFermionGauge_SOURCES=Test_hmc_EOWilsonFermionGauge.cc
-Test_hmc_EOWilsonFermionGauge_LDADD=-lGrid
-
-
-Test_hmc_EOWilsonRatio_SOURCES=Test_hmc_EOWilsonRatio.cc
-Test_hmc_EOWilsonRatio_LDADD=-lGrid
-
-
-Test_hmc_GparityIwasakiGauge_SOURCES=Test_hmc_GparityIwasakiGauge.cc
-Test_hmc_GparityIwasakiGauge_LDADD=-lGrid
-
-
-Test_hmc_GparityWilsonGauge_SOURCES=Test_hmc_GparityWilsonGauge.cc
-Test_hmc_GparityWilsonGauge_LDADD=-lGrid
-
-
-Test_hmc_IwasakiGauge_SOURCES=Test_hmc_IwasakiGauge.cc
-Test_hmc_IwasakiGauge_LDADD=-lGrid
-
-
-Test_hmc_RectGauge_SOURCES=Test_hmc_RectGauge.cc
-Test_hmc_RectGauge_LDADD=-lGrid
-
-
-Test_hmc_WilsonFermionGauge_SOURCES=Test_hmc_WilsonFermionGauge.cc
-Test_hmc_WilsonFermionGauge_LDADD=-lGrid
-
-
-Test_hmc_WilsonGauge_SOURCES=Test_hmc_WilsonGauge.cc
-Test_hmc_WilsonGauge_LDADD=-lGrid
-
-
-Test_hmc_WilsonRatio_SOURCES=Test_hmc_WilsonRatio.cc
-Test_hmc_WilsonRatio_LDADD=-lGrid
-
-
-Test_lie_generators_SOURCES=Test_lie_generators.cc
-Test_lie_generators_LDADD=-lGrid
-
-
-Test_main_SOURCES=Test_main.cc
-Test_main_LDADD=-lGrid
-
-
-Test_multishift_sqrt_SOURCES=Test_multishift_sqrt.cc
-Test_multishift_sqrt_LDADD=-lGrid
-
-
-Test_nersc_io_SOURCES=Test_nersc_io.cc
-Test_nersc_io_LDADD=-lGrid
-
-
-Test_partfrac_force_SOURCES=Test_partfrac_force.cc
-Test_partfrac_force_LDADD=-lGrid
-
-
-Test_quenched_update_SOURCES=Test_quenched_update.cc
-Test_quenched_update_LDADD=-lGrid
-
-
-Test_rect_force_SOURCES=Test_rect_force.cc
-Test_rect_force_LDADD=-lGrid
-
-
-Test_remez_SOURCES=Test_remez.cc
-Test_remez_LDADD=-lGrid
-
-
-Test_rhmc_EOWilson1p1_SOURCES=Test_rhmc_EOWilson1p1.cc
-Test_rhmc_EOWilson1p1_LDADD=-lGrid
-
-
-Test_rhmc_EOWilsonRatio_SOURCES=Test_rhmc_EOWilsonRatio.cc
-Test_rhmc_EOWilsonRatio_LDADD=-lGrid
-
-
-Test_rhmc_Wilson1p1_SOURCES=Test_rhmc_Wilson1p1.cc
-Test_rhmc_Wilson1p1_LDADD=-lGrid
-
-
-Test_rhmc_WilsonRatio_SOURCES=Test_rhmc_WilsonRatio.cc
-Test_rhmc_WilsonRatio_LDADD=-lGrid
-
-
-Test_rng_SOURCES=Test_rng.cc
-Test_rng_LDADD=-lGrid
-
-
-Test_rng_fixed_SOURCES=Test_rng_fixed.cc
-Test_rng_fixed_LDADD=-lGrid
-
-
-Test_serialisation_SOURCES=Test_serialisation.cc
-Test_serialisation_LDADD=-lGrid
-
-
 Test_simd_SOURCES=Test_simd.cc
 Test_simd_LDADD=-lGrid
 
@@ -241,47 +13,3 @@ Test_simd_LDADD=-lGrid
 Test_stencil_SOURCES=Test_stencil.cc
 Test_stencil_LDADD=-lGrid
 
-
-Test_synthetic_lanczos_SOURCES=Test_synthetic_lanczos.cc
-Test_synthetic_lanczos_LDADD=-lGrid
-
-
-Test_wilson_cg_prec_SOURCES=Test_wilson_cg_prec.cc
-Test_wilson_cg_prec_LDADD=-lGrid
-
-
-Test_wilson_cg_schur_SOURCES=Test_wilson_cg_schur.cc
-Test_wilson_cg_schur_LDADD=-lGrid
-
-
-Test_wilson_cg_unprec_SOURCES=Test_wilson_cg_unprec.cc
-Test_wilson_cg_unprec_LDADD=-lGrid
-
-
-Test_wilson_cr_unprec_SOURCES=Test_wilson_cr_unprec.cc
-Test_wilson_cr_unprec_LDADD=-lGrid
-
-
-Test_wilson_even_odd_SOURCES=Test_wilson_even_odd.cc
-Test_wilson_even_odd_LDADD=-lGrid
-
-
-Test_wilson_force_SOURCES=Test_wilson_force.cc
-Test_wilson_force_LDADD=-lGrid
-
-
-Test_wilson_force_phiMdagMphi_SOURCES=Test_wilson_force_phiMdagMphi.cc
-Test_wilson_force_phiMdagMphi_LDADD=-lGrid
-
-
-Test_wilson_force_phiMphi_SOURCES=Test_wilson_force_phiMphi.cc
-Test_wilson_force_phiMphi_LDADD=-lGrid
-
-
-Test_wilson_tm_even_odd_SOURCES=Test_wilson_tm_even_odd.cc
-Test_wilson_tm_even_odd_LDADD=-lGrid
-
-
-Test_zmm_SOURCES=Test_zmm.cc
-Test_zmm_LDADD=-lGrid
-
diff --git a/tests/Makefile.am b/tests/Makefile.am
index bbc2613c..675f0610 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,11 +1,16 @@
 # additional include paths necessary to compile the C++ library
 
-SUBDIRS = 
+SUBDIRS = core
+
+# Uncomment to enable complete test suite build
+#SUBDIRS = core forces hmc solver debug	
+
 if BUILD_CHROMA_REGRESSION
   SUBDIRS+= qdpxx
 endif
+bin_PROGRAMS =
 
-AM_CXXFLAGS = -I$(top_srcdir)/lib
+AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
 if USE_LAPACK
@@ -18,10 +23,4 @@ AM_LDFLAGS += -L$(ac_LAPACK)/lib
 endif
 endif
 
-if BUILD_ZMM
-  bin_PROGRAMS=Test_zmm
-else
-  bin_PROGRAMS=
-endif
-
 include Make.inc
diff --git a/tests/Test_cshift.cc b/tests/Test_cshift.cc
index bd67a8f8..e8e90076 100644
--- a/tests/Test_cshift.cc
+++ b/tests/Test_cshift.cc
@@ -26,7 +26,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace Grid;
 using namespace Grid::QCD;
diff --git a/tests/Test_simd.cc b/tests/Test_simd.cc
index 2255c598..59f04083 100644
--- a/tests/Test_simd.cc
+++ b/tests/Test_simd.cc
@@ -26,7 +26,7 @@ Author: neo <cossu@post.kek.jp>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_stencil.cc b/tests/Test_stencil.cc
index d62d0362..0e35a414 100644
--- a/tests/Test_stencil.cc
+++ b/tests/Test_stencil.cc
@@ -27,7 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/core/Make.inc b/tests/core/Make.inc
new file mode 100644
index 00000000..6ed518d3
--- /dev/null
+++ b/tests/core/Make.inc
@@ -0,0 +1,79 @@
+
+bin_PROGRAMS += Test_GaugeAction Test_RectPlaq Test_cf_coarsen_support Test_contfrac_even_odd Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_even_odd Test_dwf_rb5d Test_gamma Test_gparity Test_gpwilson_even_odd Test_lie_generators Test_main Test_quenched_update Test_rng Test_rng_fixed Test_wilson_even_odd Test_wilson_tm_even_odd
+
+
+Test_GaugeAction_SOURCES=Test_GaugeAction.cc
+Test_GaugeAction_LDADD=-lGrid
+
+
+Test_RectPlaq_SOURCES=Test_RectPlaq.cc
+Test_RectPlaq_LDADD=-lGrid
+
+
+Test_cf_coarsen_support_SOURCES=Test_cf_coarsen_support.cc
+Test_cf_coarsen_support_LDADD=-lGrid
+
+
+Test_contfrac_even_odd_SOURCES=Test_contfrac_even_odd.cc
+Test_contfrac_even_odd_LDADD=-lGrid
+
+
+Test_cshift_red_black_SOURCES=Test_cshift_red_black.cc
+Test_cshift_red_black_LDADD=-lGrid
+
+
+Test_cshift_red_black_rotate_SOURCES=Test_cshift_red_black_rotate.cc
+Test_cshift_red_black_rotate_LDADD=-lGrid
+
+
+Test_cshift_rotate_SOURCES=Test_cshift_rotate.cc
+Test_cshift_rotate_LDADD=-lGrid
+
+
+Test_dwf_even_odd_SOURCES=Test_dwf_even_odd.cc
+Test_dwf_even_odd_LDADD=-lGrid
+
+
+Test_dwf_rb5d_SOURCES=Test_dwf_rb5d.cc
+Test_dwf_rb5d_LDADD=-lGrid
+
+
+Test_gamma_SOURCES=Test_gamma.cc
+Test_gamma_LDADD=-lGrid
+
+
+Test_gparity_SOURCES=Test_gparity.cc
+Test_gparity_LDADD=-lGrid
+
+
+Test_gpwilson_even_odd_SOURCES=Test_gpwilson_even_odd.cc
+Test_gpwilson_even_odd_LDADD=-lGrid
+
+
+Test_lie_generators_SOURCES=Test_lie_generators.cc
+Test_lie_generators_LDADD=-lGrid
+
+
+Test_main_SOURCES=Test_main.cc
+Test_main_LDADD=-lGrid
+
+
+Test_quenched_update_SOURCES=Test_quenched_update.cc
+Test_quenched_update_LDADD=-lGrid
+
+
+Test_rng_SOURCES=Test_rng.cc
+Test_rng_LDADD=-lGrid
+
+
+Test_rng_fixed_SOURCES=Test_rng_fixed.cc
+Test_rng_fixed_LDADD=-lGrid
+
+
+Test_wilson_even_odd_SOURCES=Test_wilson_even_odd.cc
+Test_wilson_even_odd_LDADD=-lGrid
+
+
+Test_wilson_tm_even_odd_SOURCES=Test_wilson_tm_even_odd.cc
+Test_wilson_tm_even_odd_LDADD=-lGrid
+
diff --git a/tests/core/Makefile.am b/tests/core/Makefile.am
new file mode 100644
index 00000000..69121a8b
--- /dev/null
+++ b/tests/core/Makefile.am
@@ -0,0 +1,19 @@
+# additional include paths necessary to compile the C++ library
+
+bin_PROGRAMS =
+SUBDIRS =
+
+AM_CXXFLAGS = -I$(top_srcdir)/include
+AM_LDFLAGS = -L$(top_builddir)/lib
+
+if USE_LAPACK
+AM_CXXFLAGS += -DUSE_LAPACK
+if USE_LAPACK_LIB
+#if test "X${ac_LAPACK}X" != XyesX 
+AM_CXXFLAGS += -I$(ac_LAPACK)/include
+AM_LDFLAGS += -L$(ac_LAPACK)/lib
+#fi
+endif
+endif
+
+include Make.inc
diff --git a/tests/Test_GaugeAction.cc b/tests/core/Test_GaugeAction.cc
similarity index 98%
rename from tests/Test_GaugeAction.cc
rename to tests/core/Test_GaugeAction.cc
index 76605f92..2f0535f1 100644
--- a/tests/Test_GaugeAction.cc
+++ b/tests/core/Test_GaugeAction.cc
@@ -27,10 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
-
-#include <qcd/utils/CovariantCshift.h>
-#include <qcd/utils/WilsonLoops.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_RectPlaq.cc b/tests/core/Test_RectPlaq.cc
similarity index 99%
rename from tests/Test_RectPlaq.cc
rename to tests/core/Test_RectPlaq.cc
index e93bc6c0..9154f879 100644
--- a/tests/Test_RectPlaq.cc
+++ b/tests/core/Test_RectPlaq.cc
@@ -26,10 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
-
-#include <qcd/utils/CovariantCshift.h>
-#include <qcd/utils/WilsonLoops.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_cf_coarsen_support.cc b/tests/core/Test_cf_coarsen_support.cc
similarity index 99%
rename from tests/Test_cf_coarsen_support.cc
rename to tests/core/Test_cf_coarsen_support.cc
index 0b02b6dc..325cc3a5 100644
--- a/tests/Test_cf_coarsen_support.cc
+++ b/tests/core/Test_cf_coarsen_support.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_contfrac_even_odd.cc b/tests/core/Test_contfrac_even_odd.cc
similarity index 99%
rename from tests/Test_contfrac_even_odd.cc
rename to tests/core/Test_contfrac_even_odd.cc
index 451b1037..28f56797 100644
--- a/tests/Test_contfrac_even_odd.cc
+++ b/tests/core/Test_contfrac_even_odd.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_cshift_red_black.cc b/tests/core/Test_cshift_red_black.cc
similarity index 99%
rename from tests/Test_cshift_red_black.cc
rename to tests/core/Test_cshift_red_black.cc
index eed51efd..43f12e77 100644
--- a/tests/Test_cshift_red_black.cc
+++ b/tests/core/Test_cshift_red_black.cc
@@ -27,7 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace Grid;
 using namespace Grid::QCD;
diff --git a/tests/Test_cshift_red_black_rotate.cc b/tests/core/Test_cshift_red_black_rotate.cc
similarity index 99%
rename from tests/Test_cshift_red_black_rotate.cc
rename to tests/core/Test_cshift_red_black_rotate.cc
index 69bfdf3d..328289ed 100644
--- a/tests/Test_cshift_red_black_rotate.cc
+++ b/tests/core/Test_cshift_red_black_rotate.cc
@@ -27,7 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace Grid;
 using namespace Grid::QCD;
diff --git a/tests/Test_cshift_rotate.cc b/tests/core/Test_cshift_rotate.cc
similarity index 99%
rename from tests/Test_cshift_rotate.cc
rename to tests/core/Test_cshift_rotate.cc
index 77b9e617..6afea1b9 100644
--- a/tests/Test_cshift_rotate.cc
+++ b/tests/core/Test_cshift_rotate.cc
@@ -26,7 +26,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace Grid;
 using namespace Grid::QCD;
diff --git a/tests/Test_dwf_even_odd.cc b/tests/core/Test_dwf_even_odd.cc
similarity index 99%
rename from tests/Test_dwf_even_odd.cc
rename to tests/core/Test_dwf_even_odd.cc
index fdab95d8..5c60d84b 100644
--- a/tests/Test_dwf_even_odd.cc
+++ b/tests/core/Test_dwf_even_odd.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_dwf_rb5d.cc b/tests/core/Test_dwf_rb5d.cc
similarity index 99%
rename from tests/Test_dwf_rb5d.cc
rename to tests/core/Test_dwf_rb5d.cc
index 564191fb..c3356153 100644
--- a/tests/Test_dwf_rb5d.cc
+++ b/tests/core/Test_dwf_rb5d.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_gamma.cc b/tests/core/Test_gamma.cc
similarity index 99%
rename from tests/Test_gamma.cc
rename to tests/core/Test_gamma.cc
index ef121aa5..1d3ab28c 100644
--- a/tests/Test_gamma.cc
+++ b/tests/core/Test_gamma.cc
@@ -26,7 +26,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_gparity.cc b/tests/core/Test_gparity.cc
similarity index 99%
rename from tests/Test_gparity.cc
rename to tests/core/Test_gparity.cc
index 3384368c..cfb5d2c3 100644
--- a/tests/Test_gparity.cc
+++ b/tests/core/Test_gparity.cc
@@ -27,7 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_gpwilson_even_odd.cc b/tests/core/Test_gpwilson_even_odd.cc
similarity index 99%
rename from tests/Test_gpwilson_even_odd.cc
rename to tests/core/Test_gpwilson_even_odd.cc
index 5d7b97e4..b69bf266 100644
--- a/tests/Test_gpwilson_even_odd.cc
+++ b/tests/core/Test_gpwilson_even_odd.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_lie_generators.cc b/tests/core/Test_lie_generators.cc
similarity index 96%
rename from tests/Test_lie_generators.cc
rename to tests/core/Test_lie_generators.cc
index 02620718..185a99ba 100644
--- a/tests/Test_lie_generators.cc
+++ b/tests/core/Test_lie_generators.cc
@@ -26,11 +26,8 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
-#include <qcd/utils/CovariantCshift.h>
-#include <qcd/utils/WilsonLoops.h>
-#include <qcd/utils/SUn.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_main.cc b/tests/core/Test_main.cc
similarity index 99%
rename from tests/Test_main.cc
rename to tests/core/Test_main.cc
index b178d1a3..6ede3c77 100644
--- a/tests/Test_main.cc
+++ b/tests/core/Test_main.cc
@@ -28,7 +28,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 
 using namespace std;
diff --git a/tests/Test_quenched_update.cc b/tests/core/Test_quenched_update.cc
similarity index 96%
rename from tests/Test_quenched_update.cc
rename to tests/core/Test_quenched_update.cc
index 79c85dd2..66d65309 100644
--- a/tests/Test_quenched_update.cc
+++ b/tests/core/Test_quenched_update.cc
@@ -26,11 +26,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
-
-#include <qcd/utils/CovariantCshift.h>
-#include <qcd/utils/WilsonLoops.h>
-#include <qcd/utils/SUn.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_rng.cc b/tests/core/Test_rng.cc
similarity index 99%
rename from tests/Test_rng.cc
rename to tests/core/Test_rng.cc
index 0fe9e076..1fcb3a13 100644
--- a/tests/Test_rng.cc
+++ b/tests/core/Test_rng.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_rng_fixed.cc b/tests/core/Test_rng_fixed.cc
similarity index 99%
rename from tests/Test_rng_fixed.cc
rename to tests/core/Test_rng_fixed.cc
index 53a97465..3c4a27e1 100644
--- a/tests/Test_rng_fixed.cc
+++ b/tests/core/Test_rng_fixed.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_wilson_even_odd.cc b/tests/core/Test_wilson_even_odd.cc
similarity index 99%
rename from tests/Test_wilson_even_odd.cc
rename to tests/core/Test_wilson_even_odd.cc
index 7c557524..8028e6de 100644
--- a/tests/Test_wilson_even_odd.cc
+++ b/tests/core/Test_wilson_even_odd.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_wilson_tm_even_odd.cc b/tests/core/Test_wilson_tm_even_odd.cc
similarity index 99%
rename from tests/Test_wilson_tm_even_odd.cc
rename to tests/core/Test_wilson_tm_even_odd.cc
index 37116dd8..2d28240c 100644
--- a/tests/Test_wilson_tm_even_odd.cc
+++ b/tests/core/Test_wilson_tm_even_odd.cc
@@ -25,7 +25,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/debug/Make.inc b/tests/debug/Make.inc
new file mode 100644
index 00000000..91229b6e
--- /dev/null
+++ b/tests/debug/Make.inc
@@ -0,0 +1,31 @@
+
+bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cheby Test_synthetic_lanczos 
+
+
+Test_cayley_cg_SOURCES=Test_cayley_cg.cc
+Test_cayley_cg_LDADD=-lGrid
+
+
+Test_cayley_coarsen_support_SOURCES=Test_cayley_coarsen_support.cc
+Test_cayley_coarsen_support_LDADD=-lGrid
+
+
+Test_cayley_even_odd_SOURCES=Test_cayley_even_odd.cc
+Test_cayley_even_odd_LDADD=-lGrid
+
+
+Test_cayley_ldop_cr_SOURCES=Test_cayley_ldop_cr.cc
+Test_cayley_ldop_cr_LDADD=-lGrid
+
+
+Test_cheby_SOURCES=Test_cheby.cc
+Test_cheby_LDADD=-lGrid
+
+
+Test_synthetic_lanczos_SOURCES=Test_synthetic_lanczos.cc
+Test_synthetic_lanczos_LDADD=-lGrid
+
+
+Test_zmm_SOURCES=Test_zmm.cc
+Test_zmm_LDADD=-lGrid
+
diff --git a/tests/debug/Makefile.am b/tests/debug/Makefile.am
new file mode 100644
index 00000000..69121a8b
--- /dev/null
+++ b/tests/debug/Makefile.am
@@ -0,0 +1,19 @@
+# additional include paths necessary to compile the C++ library
+
+bin_PROGRAMS =
+SUBDIRS =
+
+AM_CXXFLAGS = -I$(top_srcdir)/include
+AM_LDFLAGS = -L$(top_builddir)/lib
+
+if USE_LAPACK
+AM_CXXFLAGS += -DUSE_LAPACK
+if USE_LAPACK_LIB
+#if test "X${ac_LAPACK}X" != XyesX 
+AM_CXXFLAGS += -I$(ac_LAPACK)/include
+AM_LDFLAGS += -L$(ac_LAPACK)/lib
+#fi
+endif
+endif
+
+include Make.inc
diff --git a/tests/Test_cayley_cg.cc b/tests/debug/Test_cayley_cg.cc
similarity index 99%
rename from tests/Test_cayley_cg.cc
rename to tests/debug/Test_cayley_cg.cc
index a2af1b4c..8856ecdf 100644
--- a/tests/Test_cayley_cg.cc
+++ b/tests/debug/Test_cayley_cg.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_cayley_coarsen_support.cc b/tests/debug/Test_cayley_coarsen_support.cc
similarity index 99%
rename from tests/Test_cayley_coarsen_support.cc
rename to tests/debug/Test_cayley_coarsen_support.cc
index 9b371299..9c740b8b 100644
--- a/tests/Test_cayley_coarsen_support.cc
+++ b/tests/debug/Test_cayley_coarsen_support.cc
@@ -26,7 +26,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_cayley_even_odd.cc b/tests/debug/Test_cayley_even_odd.cc
similarity index 99%
rename from tests/Test_cayley_even_odd.cc
rename to tests/debug/Test_cayley_even_odd.cc
index 4a871ec2..9912dd37 100644
--- a/tests/Test_cayley_even_odd.cc
+++ b/tests/debug/Test_cayley_even_odd.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_cayley_ldop_cr.cc b/tests/debug/Test_cayley_ldop_cr.cc
similarity index 99%
rename from tests/Test_cayley_ldop_cr.cc
rename to tests/debug/Test_cayley_ldop_cr.cc
index b9c5c91c..dfda43d2 100644
--- a/tests/Test_cayley_ldop_cr.cc
+++ b/tests/debug/Test_cayley_ldop_cr.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_cheby.cc b/tests/debug/Test_cheby.cc
similarity index 99%
rename from tests/Test_cheby.cc
rename to tests/debug/Test_cheby.cc
index f58cb012..40544c56 100644
--- a/tests/Test_cheby.cc
+++ b/tests/debug/Test_cheby.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_synthetic_lanczos.cc b/tests/debug/Test_synthetic_lanczos.cc
similarity index 99%
rename from tests/Test_synthetic_lanczos.cc
rename to tests/debug/Test_synthetic_lanczos.cc
index 0c9ab120..093a3892 100644
--- a/tests/Test_synthetic_lanczos.cc
+++ b/tests/debug/Test_synthetic_lanczos.cc
@@ -27,7 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     *************************************************************************************/
     /*  END LEGAL */
 #include <fenv.h>
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_zmm.cc b/tests/debug/Test_zmm.cc
similarity index 99%
rename from tests/Test_zmm.cc
rename to tests/debug/Test_zmm.cc
index 98a792e5..2ddd66c3 100644
--- a/tests/Test_zmm.cc
+++ b/tests/debug/Test_zmm.cc
@@ -25,7 +25,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 #include <PerfCount.h>
 
 int main(int argc,char **argv)
diff --git a/tests/test_Grid_jacobi.cc b/tests/debug/test_Grid_jacobi.cc
similarity index 99%
rename from tests/test_Grid_jacobi.cc
rename to tests/debug/test_Grid_jacobi.cc
index 3a00a088..8561f686 100644
--- a/tests/test_Grid_jacobi.cc
+++ b/tests/debug/test_Grid_jacobi.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/forces/Make.inc b/tests/forces/Make.inc
new file mode 100644
index 00000000..6b72167d
--- /dev/null
+++ b/tests/forces/Make.inc
@@ -0,0 +1,43 @@
+
+bin_PROGRAMS += Test_contfrac_force Test_dwf_force Test_dwf_gpforce Test_gp_rect_force Test_gpdwf_force Test_partfrac_force Test_rect_force Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi
+
+
+Test_contfrac_force_SOURCES=Test_contfrac_force.cc
+Test_contfrac_force_LDADD=-lGrid
+
+
+Test_dwf_force_SOURCES=Test_dwf_force.cc
+Test_dwf_force_LDADD=-lGrid
+
+
+Test_dwf_gpforce_SOURCES=Test_dwf_gpforce.cc
+Test_dwf_gpforce_LDADD=-lGrid
+
+
+Test_gp_rect_force_SOURCES=Test_gp_rect_force.cc
+Test_gp_rect_force_LDADD=-lGrid
+
+
+Test_gpdwf_force_SOURCES=Test_gpdwf_force.cc
+Test_gpdwf_force_LDADD=-lGrid
+
+
+Test_partfrac_force_SOURCES=Test_partfrac_force.cc
+Test_partfrac_force_LDADD=-lGrid
+
+
+Test_rect_force_SOURCES=Test_rect_force.cc
+Test_rect_force_LDADD=-lGrid
+
+
+Test_wilson_force_SOURCES=Test_wilson_force.cc
+Test_wilson_force_LDADD=-lGrid
+
+
+Test_wilson_force_phiMdagMphi_SOURCES=Test_wilson_force_phiMdagMphi.cc
+Test_wilson_force_phiMdagMphi_LDADD=-lGrid
+
+
+Test_wilson_force_phiMphi_SOURCES=Test_wilson_force_phiMphi.cc
+Test_wilson_force_phiMphi_LDADD=-lGrid
+
diff --git a/tests/forces/Makefile.am b/tests/forces/Makefile.am
new file mode 100644
index 00000000..69121a8b
--- /dev/null
+++ b/tests/forces/Makefile.am
@@ -0,0 +1,19 @@
+# additional include paths necessary to compile the C++ library
+
+bin_PROGRAMS =
+SUBDIRS =
+
+AM_CXXFLAGS = -I$(top_srcdir)/include
+AM_LDFLAGS = -L$(top_builddir)/lib
+
+if USE_LAPACK
+AM_CXXFLAGS += -DUSE_LAPACK
+if USE_LAPACK_LIB
+#if test "X${ac_LAPACK}X" != XyesX 
+AM_CXXFLAGS += -I$(ac_LAPACK)/include
+AM_LDFLAGS += -L$(ac_LAPACK)/lib
+#fi
+endif
+endif
+
+include Make.inc
diff --git a/tests/Test_contfrac_force.cc b/tests/forces/Test_contfrac_force.cc
similarity index 99%
rename from tests/Test_contfrac_force.cc
rename to tests/forces/Test_contfrac_force.cc
index b8a26d4d..c84d52b4 100644
--- a/tests/Test_contfrac_force.cc
+++ b/tests/forces/Test_contfrac_force.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_dwf_force.cc b/tests/forces/Test_dwf_force.cc
similarity index 99%
rename from tests/Test_dwf_force.cc
rename to tests/forces/Test_dwf_force.cc
index 389a7318..0342c05f 100644
--- a/tests/Test_dwf_force.cc
+++ b/tests/forces/Test_dwf_force.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_dwf_gpforce.cc b/tests/forces/Test_dwf_gpforce.cc
similarity index 99%
rename from tests/Test_dwf_gpforce.cc
rename to tests/forces/Test_dwf_gpforce.cc
index 4a8ceb5b..edbba438 100644
--- a/tests/Test_dwf_gpforce.cc
+++ b/tests/forces/Test_dwf_gpforce.cc
@@ -25,7 +25,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_gp_rect_force.cc b/tests/forces/Test_gp_rect_force.cc
similarity index 99%
rename from tests/Test_gp_rect_force.cc
rename to tests/forces/Test_gp_rect_force.cc
index 51fcb7dd..fa5c094a 100644
--- a/tests/Test_gp_rect_force.cc
+++ b/tests/forces/Test_gp_rect_force.cc
@@ -25,7 +25,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_gpdwf_force.cc b/tests/forces/Test_gpdwf_force.cc
similarity index 99%
rename from tests/Test_gpdwf_force.cc
rename to tests/forces/Test_gpdwf_force.cc
index c600a2ff..54bcb61a 100644
--- a/tests/Test_gpdwf_force.cc
+++ b/tests/forces/Test_gpdwf_force.cc
@@ -25,7 +25,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_partfrac_force.cc b/tests/forces/Test_partfrac_force.cc
similarity index 99%
rename from tests/Test_partfrac_force.cc
rename to tests/forces/Test_partfrac_force.cc
index e94a1ed4..49b4cb70 100644
--- a/tests/Test_partfrac_force.cc
+++ b/tests/forces/Test_partfrac_force.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_rect_force.cc b/tests/forces/Test_rect_force.cc
similarity index 99%
rename from tests/Test_rect_force.cc
rename to tests/forces/Test_rect_force.cc
index f437fa21..6b4419b7 100644
--- a/tests/Test_rect_force.cc
+++ b/tests/forces/Test_rect_force.cc
@@ -25,7 +25,7 @@ Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_wilson_force.cc b/tests/forces/Test_wilson_force.cc
similarity index 99%
rename from tests/Test_wilson_force.cc
rename to tests/forces/Test_wilson_force.cc
index 751c0896..c82eb12f 100644
--- a/tests/Test_wilson_force.cc
+++ b/tests/forces/Test_wilson_force.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_wilson_force_phiMdagMphi.cc b/tests/forces/Test_wilson_force_phiMdagMphi.cc
similarity index 99%
rename from tests/Test_wilson_force_phiMdagMphi.cc
rename to tests/forces/Test_wilson_force_phiMdagMphi.cc
index c89f30e2..61ec5385 100644
--- a/tests/Test_wilson_force_phiMdagMphi.cc
+++ b/tests/forces/Test_wilson_force_phiMdagMphi.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_wilson_force_phiMphi.cc b/tests/forces/Test_wilson_force_phiMphi.cc
similarity index 99%
rename from tests/Test_wilson_force_phiMphi.cc
rename to tests/forces/Test_wilson_force_phiMphi.cc
index a7d00a71..8fb144dc 100644
--- a/tests/Test_wilson_force_phiMphi.cc
+++ b/tests/forces/Test_wilson_force_phiMphi.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/hmc/Make.inc b/tests/hmc/Make.inc
new file mode 100644
index 00000000..a23457b4
--- /dev/null
+++ b/tests/hmc/Make.inc
@@ -0,0 +1,71 @@
+
+bin_PROGRAMS += Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_multishift_sqrt Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio
+
+
+Test_hmc_EODWFRatio_SOURCES=Test_hmc_EODWFRatio.cc
+Test_hmc_EODWFRatio_LDADD=-lGrid
+
+
+Test_hmc_EODWFRatio_Gparity_SOURCES=Test_hmc_EODWFRatio_Gparity.cc
+Test_hmc_EODWFRatio_Gparity_LDADD=-lGrid
+
+
+Test_hmc_EOWilsonFermionGauge_SOURCES=Test_hmc_EOWilsonFermionGauge.cc
+Test_hmc_EOWilsonFermionGauge_LDADD=-lGrid
+
+
+Test_hmc_EOWilsonRatio_SOURCES=Test_hmc_EOWilsonRatio.cc
+Test_hmc_EOWilsonRatio_LDADD=-lGrid
+
+
+Test_hmc_GparityIwasakiGauge_SOURCES=Test_hmc_GparityIwasakiGauge.cc
+Test_hmc_GparityIwasakiGauge_LDADD=-lGrid
+
+
+Test_hmc_GparityWilsonGauge_SOURCES=Test_hmc_GparityWilsonGauge.cc
+Test_hmc_GparityWilsonGauge_LDADD=-lGrid
+
+
+Test_hmc_IwasakiGauge_SOURCES=Test_hmc_IwasakiGauge.cc
+Test_hmc_IwasakiGauge_LDADD=-lGrid
+
+
+Test_hmc_RectGauge_SOURCES=Test_hmc_RectGauge.cc
+Test_hmc_RectGauge_LDADD=-lGrid
+
+
+Test_hmc_WilsonFermionGauge_SOURCES=Test_hmc_WilsonFermionGauge.cc
+Test_hmc_WilsonFermionGauge_LDADD=-lGrid
+
+
+Test_hmc_WilsonGauge_SOURCES=Test_hmc_WilsonGauge.cc
+Test_hmc_WilsonGauge_LDADD=-lGrid
+
+
+Test_hmc_WilsonRatio_SOURCES=Test_hmc_WilsonRatio.cc
+Test_hmc_WilsonRatio_LDADD=-lGrid
+
+
+Test_multishift_sqrt_SOURCES=Test_multishift_sqrt.cc
+Test_multishift_sqrt_LDADD=-lGrid
+
+
+Test_remez_SOURCES=Test_remez.cc
+Test_remez_LDADD=-lGrid
+
+
+Test_rhmc_EOWilson1p1_SOURCES=Test_rhmc_EOWilson1p1.cc
+Test_rhmc_EOWilson1p1_LDADD=-lGrid
+
+
+Test_rhmc_EOWilsonRatio_SOURCES=Test_rhmc_EOWilsonRatio.cc
+Test_rhmc_EOWilsonRatio_LDADD=-lGrid
+
+
+Test_rhmc_Wilson1p1_SOURCES=Test_rhmc_Wilson1p1.cc
+Test_rhmc_Wilson1p1_LDADD=-lGrid
+
+
+Test_rhmc_WilsonRatio_SOURCES=Test_rhmc_WilsonRatio.cc
+Test_rhmc_WilsonRatio_LDADD=-lGrid
+
diff --git a/tests/hmc/Makefile.am b/tests/hmc/Makefile.am
new file mode 100644
index 00000000..69121a8b
--- /dev/null
+++ b/tests/hmc/Makefile.am
@@ -0,0 +1,19 @@
+# additional include paths necessary to compile the C++ library
+
+bin_PROGRAMS =
+SUBDIRS =
+
+AM_CXXFLAGS = -I$(top_srcdir)/include
+AM_LDFLAGS = -L$(top_builddir)/lib
+
+if USE_LAPACK
+AM_CXXFLAGS += -DUSE_LAPACK
+if USE_LAPACK_LIB
+#if test "X${ac_LAPACK}X" != XyesX 
+AM_CXXFLAGS += -I$(ac_LAPACK)/include
+AM_LDFLAGS += -L$(ac_LAPACK)/lib
+#fi
+endif
+endif
+
+include Make.inc
diff --git a/tests/Test_hmc_EODWFRatio.cc b/tests/hmc/Test_hmc_EODWFRatio.cc
similarity index 99%
rename from tests/Test_hmc_EODWFRatio.cc
rename to tests/hmc/Test_hmc_EODWFRatio.cc
index 752ef6aa..78f81dd9 100644
--- a/tests/Test_hmc_EODWFRatio.cc
+++ b/tests/hmc/Test_hmc_EODWFRatio.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_EODWFRatio_Gparity.cc b/tests/hmc/Test_hmc_EODWFRatio_Gparity.cc
similarity index 99%
rename from tests/Test_hmc_EODWFRatio_Gparity.cc
rename to tests/hmc/Test_hmc_EODWFRatio_Gparity.cc
index 97eb1577..78d23437 100644
--- a/tests/Test_hmc_EODWFRatio_Gparity.cc
+++ b/tests/hmc/Test_hmc_EODWFRatio_Gparity.cc
@@ -25,7 +25,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_EOWilsonFermionGauge.cc b/tests/hmc/Test_hmc_EOWilsonFermionGauge.cc
similarity index 99%
rename from tests/Test_hmc_EOWilsonFermionGauge.cc
rename to tests/hmc/Test_hmc_EOWilsonFermionGauge.cc
index c7f2d534..42eaabbe 100644
--- a/tests/Test_hmc_EOWilsonFermionGauge.cc
+++ b/tests/hmc/Test_hmc_EOWilsonFermionGauge.cc
@@ -27,7 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_EOWilsonRatio.cc b/tests/hmc/Test_hmc_EOWilsonRatio.cc
similarity index 99%
rename from tests/Test_hmc_EOWilsonRatio.cc
rename to tests/hmc/Test_hmc_EOWilsonRatio.cc
index e8723d06..ffee37f9 100644
--- a/tests/Test_hmc_EOWilsonRatio.cc
+++ b/tests/hmc/Test_hmc_EOWilsonRatio.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_GparityIwasakiGauge.cc b/tests/hmc/Test_hmc_GparityIwasakiGauge.cc
similarity index 98%
rename from tests/Test_hmc_GparityIwasakiGauge.cc
rename to tests/hmc/Test_hmc_GparityIwasakiGauge.cc
index 9445a6d2..32733b1f 100644
--- a/tests/Test_hmc_GparityIwasakiGauge.cc
+++ b/tests/hmc/Test_hmc_GparityIwasakiGauge.cc
@@ -25,7 +25,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_GparityWilsonGauge.cc b/tests/hmc/Test_hmc_GparityWilsonGauge.cc
similarity index 98%
rename from tests/Test_hmc_GparityWilsonGauge.cc
rename to tests/hmc/Test_hmc_GparityWilsonGauge.cc
index d034a71a..9531d8ee 100644
--- a/tests/Test_hmc_GparityWilsonGauge.cc
+++ b/tests/hmc/Test_hmc_GparityWilsonGauge.cc
@@ -25,7 +25,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_IwasakiGauge.cc b/tests/hmc/Test_hmc_IwasakiGauge.cc
similarity index 99%
rename from tests/Test_hmc_IwasakiGauge.cc
rename to tests/hmc/Test_hmc_IwasakiGauge.cc
index bfb2c2c4..6780dfe3 100644
--- a/tests/Test_hmc_IwasakiGauge.cc
+++ b/tests/hmc/Test_hmc_IwasakiGauge.cc
@@ -25,7 +25,7 @@ Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_RectGauge.cc b/tests/hmc/Test_hmc_RectGauge.cc
similarity index 99%
rename from tests/Test_hmc_RectGauge.cc
rename to tests/hmc/Test_hmc_RectGauge.cc
index 22e5d028..c79ebbf8 100644
--- a/tests/Test_hmc_RectGauge.cc
+++ b/tests/hmc/Test_hmc_RectGauge.cc
@@ -25,7 +25,7 @@ Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_WilsonFermionGauge.cc b/tests/hmc/Test_hmc_WilsonFermionGauge.cc
similarity index 99%
rename from tests/Test_hmc_WilsonFermionGauge.cc
rename to tests/hmc/Test_hmc_WilsonFermionGauge.cc
index 21200a6a..c87ce3a0 100644
--- a/tests/Test_hmc_WilsonFermionGauge.cc
+++ b/tests/hmc/Test_hmc_WilsonFermionGauge.cc
@@ -28,7 +28,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_WilsonGauge.cc b/tests/hmc/Test_hmc_WilsonGauge.cc
similarity index 99%
rename from tests/Test_hmc_WilsonGauge.cc
rename to tests/hmc/Test_hmc_WilsonGauge.cc
index f47ace2a..d2779ad2 100644
--- a/tests/Test_hmc_WilsonGauge.cc
+++ b/tests/hmc/Test_hmc_WilsonGauge.cc
@@ -27,7 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_hmc_WilsonRatio.cc b/tests/hmc/Test_hmc_WilsonRatio.cc
similarity index 99%
rename from tests/Test_hmc_WilsonRatio.cc
rename to tests/hmc/Test_hmc_WilsonRatio.cc
index 000a8913..b2bbf7ea 100644
--- a/tests/Test_hmc_WilsonRatio.cc
+++ b/tests/hmc/Test_hmc_WilsonRatio.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_multishift_sqrt.cc b/tests/hmc/Test_multishift_sqrt.cc
similarity index 99%
rename from tests/Test_multishift_sqrt.cc
rename to tests/hmc/Test_multishift_sqrt.cc
index 2ec53691..8f12b3bd 100644
--- a/tests/Test_multishift_sqrt.cc
+++ b/tests/hmc/Test_multishift_sqrt.cc
@@ -27,7 +27,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_remez.cc b/tests/hmc/Test_remez.cc
similarity index 99%
rename from tests/Test_remez.cc
rename to tests/hmc/Test_remez.cc
index 6f14542c..bc851173 100644
--- a/tests/Test_remez.cc
+++ b/tests/hmc/Test_remez.cc
@@ -26,7 +26,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_rhmc_EOWilson1p1.cc b/tests/hmc/Test_rhmc_EOWilson1p1.cc
similarity index 99%
rename from tests/Test_rhmc_EOWilson1p1.cc
rename to tests/hmc/Test_rhmc_EOWilson1p1.cc
index 90282ea1..ef70409e 100644
--- a/tests/Test_rhmc_EOWilson1p1.cc
+++ b/tests/hmc/Test_rhmc_EOWilson1p1.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_rhmc_EOWilsonRatio.cc b/tests/hmc/Test_rhmc_EOWilsonRatio.cc
similarity index 99%
rename from tests/Test_rhmc_EOWilsonRatio.cc
rename to tests/hmc/Test_rhmc_EOWilsonRatio.cc
index b5407d5a..6a37e38a 100644
--- a/tests/Test_rhmc_EOWilsonRatio.cc
+++ b/tests/hmc/Test_rhmc_EOWilsonRatio.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_rhmc_Wilson1p1.cc b/tests/hmc/Test_rhmc_Wilson1p1.cc
similarity index 99%
rename from tests/Test_rhmc_Wilson1p1.cc
rename to tests/hmc/Test_rhmc_Wilson1p1.cc
index 60306412..bd2707d0 100644
--- a/tests/Test_rhmc_Wilson1p1.cc
+++ b/tests/hmc/Test_rhmc_Wilson1p1.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_rhmc_WilsonRatio.cc b/tests/hmc/Test_rhmc_WilsonRatio.cc
similarity index 99%
rename from tests/Test_rhmc_WilsonRatio.cc
rename to tests/hmc/Test_rhmc_WilsonRatio.cc
index 0063c1bb..bbb68eb3 100644
--- a/tests/Test_rhmc_WilsonRatio.cc
+++ b/tests/hmc/Test_rhmc_WilsonRatio.cc
@@ -26,7 +26,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include "Grid.h"
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/qdpxx/Make.inc b/tests/qdpxx/Make.inc
index 6bfc9c5d..7183365c 100644
--- a/tests/qdpxx/Make.inc
+++ b/tests/qdpxx/Make.inc
@@ -1,5 +1,5 @@
 
-bin_PROGRAMS = Test_qdpxx_loops_staples Test_qdpxx_munprec
+bin_PROGRAMS += Test_qdpxx_loops_staples Test_qdpxx_munprec
 
 
 Test_qdpxx_loops_staples_SOURCES=Test_qdpxx_loops_staples.cc
diff --git a/tests/qdpxx/Makefile.am b/tests/qdpxx/Makefile.am
index ef9d56e5..f3f797fa 100644
--- a/tests/qdpxx/Makefile.am
+++ b/tests/qdpxx/Makefile.am
@@ -1,7 +1,6 @@
 # additional include paths necessary to compile the C++ library
 
-AM_CXXFLAGS = -I$(top_srcdir)/lib `chroma-config --cxxflags`
+AM_CXXFLAGS = -I$(top_srcdir)/include `chroma-config --cxxflags`
 AM_LDFLAGS = -L$(top_builddir)/lib `chroma-config --ldflags` `chroma-config --libs`
-
-
+bin_PROGRAMS=
 include Make.inc
diff --git a/tests/qdpxx/Makefile.am.qdpxx b/tests/qdpxx/Makefile.am.qdpxx
new file mode 100644
index 00000000..3ccfa4b8
--- /dev/null
+++ b/tests/qdpxx/Makefile.am.qdpxx
@@ -0,0 +1,6 @@
+# additional include paths necessary to compile the C++ library
+
+AM_CXXFLAGS = -I$(top_srcdir)/include `chroma-config --cxxflags`
+AM_LDFLAGS = -L$(top_builddir)/lib `chroma-config --ldflags` `chroma-config --libs`
+
+include Make.inc
diff --git a/tests/solver/Make.inc b/tests/solver/Make.inc
new file mode 100644
index 00000000..197497d3
--- /dev/null
+++ b/tests/solver/Make.inc
@@ -0,0 +1,55 @@
+
+bin_PROGRAMS += Test_cf_cr_unprec Test_contfrac_cg Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_fpgcr Test_dwf_hdcr Test_dwf_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec
+
+
+Test_cf_cr_unprec_SOURCES=Test_cf_cr_unprec.cc
+Test_cf_cr_unprec_LDADD=-lGrid
+
+
+Test_contfrac_cg_SOURCES=Test_contfrac_cg.cc
+Test_contfrac_cg_LDADD=-lGrid
+
+
+Test_dwf_cg_prec_SOURCES=Test_dwf_cg_prec.cc
+Test_dwf_cg_prec_LDADD=-lGrid
+
+
+Test_dwf_cg_schur_SOURCES=Test_dwf_cg_schur.cc
+Test_dwf_cg_schur_LDADD=-lGrid
+
+
+Test_dwf_cg_unprec_SOURCES=Test_dwf_cg_unprec.cc
+Test_dwf_cg_unprec_LDADD=-lGrid
+
+
+Test_dwf_cr_unprec_SOURCES=Test_dwf_cr_unprec.cc
+Test_dwf_cr_unprec_LDADD=-lGrid
+
+
+Test_dwf_fpgcr_SOURCES=Test_dwf_fpgcr.cc
+Test_dwf_fpgcr_LDADD=-lGrid
+
+
+Test_dwf_hdcr_SOURCES=Test_dwf_hdcr.cc
+Test_dwf_hdcr_LDADD=-lGrid
+
+
+Test_dwf_lanczos_SOURCES=Test_dwf_lanczos.cc
+Test_dwf_lanczos_LDADD=-lGrid
+
+
+Test_wilson_cg_prec_SOURCES=Test_wilson_cg_prec.cc
+Test_wilson_cg_prec_LDADD=-lGrid
+
+
+Test_wilson_cg_schur_SOURCES=Test_wilson_cg_schur.cc
+Test_wilson_cg_schur_LDADD=-lGrid
+
+
+Test_wilson_cg_unprec_SOURCES=Test_wilson_cg_unprec.cc
+Test_wilson_cg_unprec_LDADD=-lGrid
+
+
+Test_wilson_cr_unprec_SOURCES=Test_wilson_cr_unprec.cc
+Test_wilson_cr_unprec_LDADD=-lGrid
+
diff --git a/tests/solver/Makefile.am b/tests/solver/Makefile.am
new file mode 100644
index 00000000..69121a8b
--- /dev/null
+++ b/tests/solver/Makefile.am
@@ -0,0 +1,19 @@
+# additional include paths necessary to compile the C++ library
+
+bin_PROGRAMS =
+SUBDIRS =
+
+AM_CXXFLAGS = -I$(top_srcdir)/include
+AM_LDFLAGS = -L$(top_builddir)/lib
+
+if USE_LAPACK
+AM_CXXFLAGS += -DUSE_LAPACK
+if USE_LAPACK_LIB
+#if test "X${ac_LAPACK}X" != XyesX 
+AM_CXXFLAGS += -I$(ac_LAPACK)/include
+AM_LDFLAGS += -L$(ac_LAPACK)/lib
+#fi
+endif
+endif
+
+include Make.inc
diff --git a/tests/Test_cf_cr_unprec.cc b/tests/solver/Test_cf_cr_unprec.cc
similarity index 99%
rename from tests/Test_cf_cr_unprec.cc
rename to tests/solver/Test_cf_cr_unprec.cc
index afcd5ae3..59031ba8 100644
--- a/tests/Test_cf_cr_unprec.cc
+++ b/tests/solver/Test_cf_cr_unprec.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_contfrac_cg.cc b/tests/solver/Test_contfrac_cg.cc
similarity index 99%
rename from tests/Test_contfrac_cg.cc
rename to tests/solver/Test_contfrac_cg.cc
index eab58a96..5e495071 100644
--- a/tests/Test_contfrac_cg.cc
+++ b/tests/solver/Test_contfrac_cg.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_dwf_cg_prec.cc b/tests/solver/Test_dwf_cg_prec.cc
similarity index 99%
rename from tests/Test_dwf_cg_prec.cc
rename to tests/solver/Test_dwf_cg_prec.cc
index 64e542e4..c03998ff 100644
--- a/tests/Test_dwf_cg_prec.cc
+++ b/tests/solver/Test_dwf_cg_prec.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_dwf_cg_schur.cc b/tests/solver/Test_dwf_cg_schur.cc
similarity index 99%
rename from tests/Test_dwf_cg_schur.cc
rename to tests/solver/Test_dwf_cg_schur.cc
index dfa4afab..75ca3521 100644
--- a/tests/Test_dwf_cg_schur.cc
+++ b/tests/solver/Test_dwf_cg_schur.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_dwf_cg_unprec.cc b/tests/solver/Test_dwf_cg_unprec.cc
similarity index 99%
rename from tests/Test_dwf_cg_unprec.cc
rename to tests/solver/Test_dwf_cg_unprec.cc
index b99ff927..41a05042 100644
--- a/tests/Test_dwf_cg_unprec.cc
+++ b/tests/solver/Test_dwf_cg_unprec.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_dwf_cr_unprec.cc b/tests/solver/Test_dwf_cr_unprec.cc
similarity index 99%
rename from tests/Test_dwf_cr_unprec.cc
rename to tests/solver/Test_dwf_cr_unprec.cc
index 3897ef19..9ee38d35 100644
--- a/tests/Test_dwf_cr_unprec.cc
+++ b/tests/solver/Test_dwf_cr_unprec.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_dwf_fpgcr.cc b/tests/solver/Test_dwf_fpgcr.cc
similarity index 97%
rename from tests/Test_dwf_fpgcr.cc
rename to tests/solver/Test_dwf_fpgcr.cc
index 0a98b9c6..3b0f99d0 100644
--- a/tests/Test_dwf_fpgcr.cc
+++ b/tests/solver/Test_dwf_fpgcr.cc
@@ -26,8 +26,8 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
-#include <algorithms/iterative/PrecGeneralisedConjugateResidual.h>
+#include <Grid/Grid.h>
+#include <Grid/algorithms/iterative/PrecGeneralisedConjugateResidual.h>
 using namespace std;
 using namespace Grid;
 using namespace Grid::QCD;
diff --git a/tests/Test_dwf_hdcr.cc b/tests/solver/Test_dwf_hdcr.cc
similarity index 99%
rename from tests/Test_dwf_hdcr.cc
rename to tests/solver/Test_dwf_hdcr.cc
index d7396902..313b2077 100644
--- a/tests/Test_dwf_hdcr.cc
+++ b/tests/solver/Test_dwf_hdcr.cc
@@ -27,8 +27,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
-#include <algorithms/iterative/PrecGeneralisedConjugateResidual.h>
+#include <Grid/Grid.h>
+#include <Grid/algorithms/iterative/PrecGeneralisedConjugateResidual.h>
 //#include <algorithms/iterative/PrecConjugateResidual.h>
 
 using namespace std;
diff --git a/tests/Test_dwf_lanczos.cc b/tests/solver/Test_dwf_lanczos.cc
similarity index 99%
rename from tests/Test_dwf_lanczos.cc
rename to tests/solver/Test_dwf_lanczos.cc
index 99f1166c..bb978186 100644
--- a/tests/Test_dwf_lanczos.cc
+++ b/tests/solver/Test_dwf_lanczos.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_wilson_cg_prec.cc b/tests/solver/Test_wilson_cg_prec.cc
similarity index 99%
rename from tests/Test_wilson_cg_prec.cc
rename to tests/solver/Test_wilson_cg_prec.cc
index df78ef05..5fd2ec8c 100644
--- a/tests/Test_wilson_cg_prec.cc
+++ b/tests/solver/Test_wilson_cg_prec.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_wilson_cg_schur.cc b/tests/solver/Test_wilson_cg_schur.cc
similarity index 99%
rename from tests/Test_wilson_cg_schur.cc
rename to tests/solver/Test_wilson_cg_schur.cc
index 533afb5c..1ea6a07c 100644
--- a/tests/Test_wilson_cg_schur.cc
+++ b/tests/solver/Test_wilson_cg_schur.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_wilson_cg_unprec.cc b/tests/solver/Test_wilson_cg_unprec.cc
similarity index 99%
rename from tests/Test_wilson_cg_unprec.cc
rename to tests/solver/Test_wilson_cg_unprec.cc
index a8ca42f9..34b0a687 100644
--- a/tests/Test_wilson_cg_unprec.cc
+++ b/tests/solver/Test_wilson_cg_unprec.cc
@@ -26,7 +26,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
diff --git a/tests/Test_wilson_cr_unprec.cc b/tests/solver/Test_wilson_cr_unprec.cc
similarity index 99%
rename from tests/Test_wilson_cr_unprec.cc
rename to tests/solver/Test_wilson_cr_unprec.cc
index 143f82ff..4a517461 100644
--- a/tests/Test_wilson_cr_unprec.cc
+++ b/tests/solver/Test_wilson_cr_unprec.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;

From a42a441a6a308c43698a06eaf7e3545cd664c948 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 7 Jul 2016 22:35:45 +0100
Subject: [PATCH 036/295] Rename the reconfigure script to ./autogen.sh

---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index a2154ead..7c87dabc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -82,7 +82,7 @@ install:
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export LDFLAGS='-L/usr/local/lib'; fi
     
 script:
-    - ./scripts/reconfigure_script
+    - ./autogen.sh
     - mkdir build
     - cd build
     - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=single --enable-simd=SSE4 --enable-comms=none

From 236dcc820bd8a7d511ff29276aac6590256b0226 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 7 Jul 2016 22:46:11 +0100
Subject: [PATCH 037/295] typo fix

---
 prerequisites/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/prerequisites/Makefile.am b/prerequisites/Makefile.am
index 672e43d6..97c73382 100644
--- a/prerequisites/Makefile.am
+++ b/prerequisites/Makefile.am
@@ -22,7 +22,7 @@ Eigen:  $(top_srcdir)/prerequisites/$(EIGENTAR)
 	tar xvf $(top_srcdir)/prerequisites/$(EIGENTAR)
 	- rm -rf  ../include/Grid/Eigen
 	mv eigen-eigen*/Eigen .
-	echo EFILES=`find Eigen -type f -name '*.h' ` | sed > $(top_srcdir)/lib/Eigen.inc
+	echo EFILES=`find Eigen -type f -name '*.h' ` > $(top_srcdir)/lib/Eigen.inc
 	mv Eigen ../include/Grid/
 	touch Eigen
 

From 7dbb94bab2f38fd6a574a8ad4df204a287bd08ae Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 7 Jul 2016 22:51:37 +0100
Subject: [PATCH 038/295] Update

---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index 7c87dabc..958f20ef 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -88,7 +88,7 @@ script:
     - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=single --enable-simd=SSE4 --enable-comms=none
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1
-    - make clean
+    - echo make clean
     - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=double --enable-simd=SSE4 --enable-comms=none
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1

From c667d9fdcc6826dd268f0eadeec000aba010fefd Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 7 Jul 2016 23:26:39 +0100
Subject: [PATCH 039/295] Trying to make compile clean on travis; seem to have
 a make -j 4 problem with fftw

---
 .travis.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index 958f20ef..26d49f5e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -86,7 +86,8 @@ script:
     - mkdir build
     - cd build
     - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=single --enable-simd=SSE4 --enable-comms=none
-    - make -j4
+    - make -j1 -C prerequisites
+    - make -j4 
     - ./benchmarks/Benchmark_dwf --threads 1
     - echo make clean
     - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=double --enable-simd=SSE4 --enable-comms=none

From 5028969d4b182ec41caba46b6e1681c3ad0471f9 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 8 Jul 2016 15:40:11 +0100
Subject: [PATCH 040/295] Added generators for the adjoint representation

---
 benchmarks/Benchmark_dwf_ntpf          | Bin 1129544 -> 0 bytes
 benchmarks/Benchmark_zmm               | Bin 1112672 -> 0 bytes
 lib/qcd/hmc/integrators/Integrator.h   | 422 ++++++------
 lib/qcd/utils/SUn.h                    | 916 ++++++++++++++-----------
 tests/Test_contfrac_force.cc           |   2 +-
 tests/Test_dwf_force.cc                |   2 +-
 tests/Test_dwf_gpforce.cc              |   2 +-
 tests/Test_gp_rect_force.cc            |   2 +-
 tests/Test_gpdwf_force.cc              |   4 +-
 tests/Test_lie_generators.cc           |  85 +--
 tests/Test_partfrac_force.cc           |   2 +-
 tests/Test_rect_force.cc               |   2 +-
 tests/Test_wilson_force.cc             |   2 +-
 tests/Test_wilson_force_phiMdagMphi.cc |   2 +-
 tests/Test_wilson_force_phiMphi.cc     |   2 +-
 15 files changed, 780 insertions(+), 665 deletions(-)
 delete mode 100755 benchmarks/Benchmark_dwf_ntpf
 delete mode 100755 benchmarks/Benchmark_zmm

diff --git a/benchmarks/Benchmark_dwf_ntpf b/benchmarks/Benchmark_dwf_ntpf
deleted file mode 100755
index ab9999c95d78f292549bb20fb7a0f7b6d3eca177..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1129544
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%0DC@4nsV2UvRj4LO
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

diff --git a/benchmarks/Benchmark_zmm b/benchmarks/Benchmark_zmm
deleted file mode 100755
index c7eebe18622ea923315eac68287860abbbe95ecd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1112672
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
S^#0>tA^dIK!@mIf`~M%hmFf`y

diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index db61b114..d604d67a 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -1,33 +1,34 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/hmc/integrators/Integrator.h
+Source file: ./lib/qcd/hmc/integrators/Integrator.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 //--------------------------------------------------------------------
 /*! @file Integrator.h
  * @brief Classes for the Molecular Dynamics integrator
@@ -40,208 +41,201 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #ifndef INTEGRATOR_INCLUDED
 #define INTEGRATOR_INCLUDED
 
-//class Observer;
+// class Observer;
 
 #include <memory>
 
- namespace Grid{
- 	namespace QCD{
+namespace Grid {
+namespace QCD {
 
- 		struct IntegratorParameters{
+struct IntegratorParameters {
+  int Nexp;
+  int MDsteps;  // number of outer steps
+  RealD trajL;  // trajectory length
+  RealD stepsize;
 
- 			int Nexp;
-      int MDsteps;  // number of outer steps
-      RealD trajL;  // trajectory length 
-      RealD stepsize;
-
-      IntegratorParameters(int MDsteps_, 
-      	RealD trajL_=1.0,
-      	int Nexp_=12):
-      Nexp(Nexp_),
-      MDsteps(MDsteps_),
-      trajL(trajL_),
-      stepsize(trajL/MDsteps)
-      {
-	  // empty body constructor
-      };
-
-  };
-
-    /*! @brief Class for Molecular Dynamics management */   
-    template<class GaugeField, class SmearingPolicy>
-  class Integrator {
-
-  protected:
-
-  	typedef IntegratorParameters ParameterType;
-
-  	IntegratorParameters Params;
-
-  	const ActionSet<GaugeField> as;
-
-      int levels;              //
-      double t_U;              // Track time passing on each level and for U and for P
-      std::vector<double> t_P; //
-
-      GaugeField P;
-
-      SmearingPolicy &Smearer;
-      
-      // Should match any legal (SU(n)) gauge field
-      // Need to use this template to match Ncol to pass to SU<N> class
-      template<int Ncol,class vec> void generate_momenta(Lattice< iVector< iScalar< iMatrix<vec,Ncol> >, Nd> > & P,GridParallelRNG& pRNG){
-      typedef Lattice< iScalar< iScalar< iMatrix<vec,Ncol> > > > GaugeLinkField;
-      GaugeLinkField Pmu(P._grid);
-      Pmu = zero;
-      for(int mu=0;mu<Nd;mu++){
-      	SU<Ncol>::GaussianLieAlgebraMatrix(pRNG, Pmu);
-      	PokeIndex<LorentzIndex>(P, Pmu, mu);
-      }
-  }
-
-
-      //ObserverList observers; // not yet
-      //      typedef std::vector<Observer*> ObserverList;
-      //      void register_observers();
-      //      void notify_observers();
-
-  void update_P(GaugeField&U, int level, double ep){
-  	t_P[level]+=ep;
-  	update_P(P,U,level,ep);
-
-  	std::cout<<GridLogIntegrator<<"["<<level<<"] P " << " dt "<< ep <<" : t_P "<< t_P[level] <<std::endl;
-  }
-
-  void update_P(GaugeField &Mom,GaugeField&U, int level,double ep){
-  	// input U actually not used... 
-  	for(int a=0; a<as[level].actions.size(); ++a){
-  		GaugeField force(U._grid);
-  		GaugeField& Us = Smearer.get_U(as[level].actions.at(a)->is_smeared);
-  		as[level].actions.at(a)->deriv(Us,force); // deriv should NOT include Ta
-
-	  	std::cout<< GridLogIntegrator << "Smearing (on/off): "<<as[level].actions.at(a)->is_smeared <<std::endl;
-	  	if (as[level].actions.at(a)->is_smeared) Smearer.smeared_force(force);
-	  	force = Ta(force);
-	  	std::cout<< GridLogIntegrator << "Force average: "<< norm2(force)/(U._grid->gSites()) <<std::endl;
-	  	Mom -= force*ep;
-	  }
-	}
-
-	void update_U(GaugeField&U, double ep){
-		update_U(P,U,ep);
-
-		t_U+=ep;
-		int fl = levels-1;
-		std::cout<< GridLogIntegrator <<"   "<<"["<<fl<<"] U " << " dt "<< ep <<" : t_U "<< t_U <<std::endl;
-
-	}
-	void update_U(GaugeField &Mom, GaugeField&U, double ep){
-	//rewrite exponential to deal automatically  with the lorentz index?
-	//	GaugeLinkField Umu(U._grid);
-	//	GaugeLinkField Pmu(U._grid);
-		for (int mu = 0; mu < Nd; mu++){
-			auto Umu=PeekIndex<LorentzIndex>(U, mu);
-			auto Pmu=PeekIndex<LorentzIndex>(Mom, mu);
-			Umu = expMat(Pmu, ep, Params.Nexp)*Umu;
-			ProjectOnGroup(Umu);
-			PokeIndex<LorentzIndex>(U, Umu, mu);
-		}
-	// Update the smeared fields, can be implemented as observer
-		Smearer.set_GaugeField(U);
-	}
-
-	virtual void step (GaugeField& U,int level, int first,int last)=0;
-
-public:
-
-	Integrator(GridBase* grid, 
-		IntegratorParameters Par,
-		ActionSet<GaugeField> & Aset,
-		SmearingPolicy &Sm):
-	Params(Par),
-	as(Aset),
-	P(grid),
-	levels(Aset.size()),
-	Smearer(Sm)
-	{
-		t_P.resize(levels,0.0);
-		t_U=0.0;
-	// initialization of smearer delegated outside of Integrator
-	};
-
-	virtual ~Integrator(){}
-
-      //Initialization of momenta and actions
-	void refresh(GaugeField& U,GridParallelRNG &pRNG){
-		std::cout<<GridLogIntegrator<< "Integrator refresh\n";
-		generate_momenta(P,pRNG);
-		for(int level=0; level< as.size(); ++level){
-			for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
-	    // get gauge field from the SmearingPolicy and
-	    // based on the boolean is_smeared in actionID
-				GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
-				as[level].actions.at(actionID)->refresh(Us, pRNG);
-			}
-		}
-	}
-
-      // Calculate action
-	RealD S(GaugeField& U){// here also U not used
-
-		LatticeComplex Hloc(U._grid);	Hloc = zero;
-	// Momenta
-		for (int mu=0; mu <Nd; mu++){
-			auto Pmu = PeekIndex<LorentzIndex>(P, mu);
-			Hloc -= trace(Pmu*Pmu);
-		}
-		Complex Hsum = sum(Hloc);
-
-		RealD H = Hsum.real();
-		RealD Hterm;
-		std::cout<<GridLogMessage << "Momentum action H_p = "<< H << "\n";
-
-	// Actions
-		for(int level=0; level<as.size(); ++level){
-			for(int actionID=0; actionID<as[level].actions.size(); ++actionID){
-	    // get gauge field from the SmearingPolicy and
-	    // based on the boolean is_smeared in actionID
-				GaugeField& Us = Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
-				Hterm = as[level].actions.at(actionID)->S(Us);
-				std::cout<<GridLogMessage << "S Level "<<level<<" term "<<actionID<<" H = "<<Hterm<<std::endl;
-				H += Hterm;
-			}
-		}
-
-		return H;
-	}
-
-	void integrate(GaugeField& U){
-
-	// reset the clocks
-		t_U=0;
-		for(int level=0; level<as.size(); ++level){
-			t_P[level]=0;
-		}	
-
-	for(int step=0; step< Params.MDsteps; ++step){   // MD step
-		int first_step = (step==0);
-		int  last_step = (step==Params.MDsteps-1);
-		this->step(U,0,first_step,last_step);
-	}
-
-	// Check the clocks all match on all levels
-	for(int level=0; level<as.size(); ++level){
-	  assert(fabs(t_U - t_P[level])<1.0e-6); // must be the same
-	  std::cout<<GridLogIntegrator<<" times["<<level<<"]= "<<t_P[level]<< " " << t_U <<std::endl;
-	}	
-
-	// and that we indeed got to the end of the trajectory
-	assert(fabs(t_U-Params.trajL) < 1.0e-6);
-
-
-}
+  IntegratorParameters(int MDsteps_, RealD trajL_ = 1.0, int Nexp_ = 12)
+      : Nexp(Nexp_),
+        MDsteps(MDsteps_),
+        trajL(trajL_),
+        stepsize(trajL / MDsteps){
+            // empty body constructor
+        };
 };
 
+/*! @brief Class for Molecular Dynamics management */
+template <class GaugeField, class SmearingPolicy>
+class Integrator {
+ protected:
+  typedef IntegratorParameters ParameterType;
+
+  IntegratorParameters Params;
+
+  const ActionSet<GaugeField> as;
+
+  int levels;  //
+  double t_U;  // Track time passing on each level and for U and for P
+  std::vector<double> t_P;  //
+
+  GaugeField P;
+
+  SmearingPolicy& Smearer;
+
+  // Should match any legal (SU(n)) gauge field
+  // Need to use this template to match Ncol to pass to SU<N> class
+  template <int Ncol, class vec>
+  void generate_momenta(Lattice<iVector<iScalar<iMatrix<vec, Ncol> >, Nd> >& P,
+                        GridParallelRNG& pRNG) {
+    typedef Lattice<iScalar<iScalar<iMatrix<vec, Ncol> > > > GaugeLinkField;
+    GaugeLinkField Pmu(P._grid);
+    Pmu = zero;
+    for (int mu = 0; mu < Nd; mu++) {
+      SU<Ncol>::GaussianFundamentalLieAlgebraMatrix(pRNG, Pmu);
+      PokeIndex<LorentzIndex>(P, Pmu, mu);
+    }
+  }
+
+  // ObserverList observers; // not yet
+  //      typedef std::vector<Observer*> ObserverList;
+  //      void register_observers();
+  //      void notify_observers();
+
+  void update_P(GaugeField& U, int level, double ep) {
+    t_P[level] += ep;
+    update_P(P, U, level, ep);
+
+    std::cout << GridLogIntegrator << "[" << level << "] P "
+              << " dt " << ep << " : t_P " << t_P[level] << std::endl;
+  }
+
+  void update_P(GaugeField& Mom, GaugeField& U, int level, double ep) {
+    // input U actually not used...
+    for (int a = 0; a < as[level].actions.size(); ++a) {
+      GaugeField force(U._grid);
+      GaugeField& Us = Smearer.get_U(as[level].actions.at(a)->is_smeared);
+      as[level].actions.at(a)->deriv(Us, force);  // deriv should NOT include Ta
+
+      std::cout << GridLogIntegrator
+                << "Smearing (on/off): " << as[level].actions.at(a)->is_smeared
+                << std::endl;
+      if (as[level].actions.at(a)->is_smeared) Smearer.smeared_force(force);
+      force = Ta(force);
+      std::cout << GridLogIntegrator
+                << "Force average: " << norm2(force) / (U._grid->gSites())
+                << std::endl;
+      Mom -= force * ep;
+    }
+  }
+
+  void update_U(GaugeField& U, double ep) {
+    update_U(P, U, ep);
+
+    t_U += ep;
+    int fl = levels - 1;
+    std::cout << GridLogIntegrator << "   "
+              << "[" << fl << "] U "
+              << " dt " << ep << " : t_U " << t_U << std::endl;
+  }
+  void update_U(GaugeField& Mom, GaugeField& U, double ep) {
+    // rewrite exponential to deal automatically  with the lorentz index?
+    //	GaugeLinkField Umu(U._grid);
+    //	GaugeLinkField Pmu(U._grid);
+    for (int mu = 0; mu < Nd; mu++) {
+      auto Umu = PeekIndex<LorentzIndex>(U, mu);
+      auto Pmu = PeekIndex<LorentzIndex>(Mom, mu);
+      Umu = expMat(Pmu, ep, Params.Nexp) * Umu;
+      ProjectOnGroup(Umu);
+      PokeIndex<LorentzIndex>(U, Umu, mu);
+    }
+    // Update the smeared fields, can be implemented as observer
+    Smearer.set_GaugeField(U);
+  }
+
+  virtual void step(GaugeField& U, int level, int first, int last) = 0;
+
+ public:
+  Integrator(GridBase* grid, IntegratorParameters Par,
+             ActionSet<GaugeField>& Aset, SmearingPolicy& Sm)
+      : Params(Par), as(Aset), P(grid), levels(Aset.size()), Smearer(Sm) {
+    t_P.resize(levels, 0.0);
+    t_U = 0.0;
+    // initialization of smearer delegated outside of Integrator
+  };
+
+  virtual ~Integrator() {}
+
+  // Initialization of momenta and actions
+  void refresh(GaugeField& U, GridParallelRNG& pRNG) {
+    std::cout << GridLogIntegrator << "Integrator refresh\n";
+    generate_momenta(P, pRNG);
+    for (int level = 0; level < as.size(); ++level) {
+      for (int actionID = 0; actionID < as[level].actions.size(); ++actionID) {
+        // get gauge field from the SmearingPolicy and
+        // based on the boolean is_smeared in actionID
+        GaugeField& Us =
+            Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
+        as[level].actions.at(actionID)->refresh(Us, pRNG);
+      }
+    }
+  }
+
+  // Calculate action
+  RealD S(GaugeField& U) {  // here also U not used
+
+    LatticeComplex Hloc(U._grid);
+    Hloc = zero;
+    // Momenta
+    for (int mu = 0; mu < Nd; mu++) {
+      auto Pmu = PeekIndex<LorentzIndex>(P, mu);
+      Hloc -= trace(Pmu * Pmu);
+    }
+    Complex Hsum = sum(Hloc);
+
+    RealD H = Hsum.real();
+    RealD Hterm;
+    std::cout << GridLogMessage << "Momentum action H_p = " << H << "\n";
+
+    // Actions
+    for (int level = 0; level < as.size(); ++level) {
+      for (int actionID = 0; actionID < as[level].actions.size(); ++actionID) {
+        // get gauge field from the SmearingPolicy and
+        // based on the boolean is_smeared in actionID
+        GaugeField& Us =
+            Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
+        Hterm = as[level].actions.at(actionID)->S(Us);
+        std::cout << GridLogMessage << "S Level " << level << " term "
+                  << actionID << " H = " << Hterm << std::endl;
+        H += Hterm;
+      }
+    }
+
+    return H;
+  }
+
+  void integrate(GaugeField& U) {
+    // reset the clocks
+    t_U = 0;
+    for (int level = 0; level < as.size(); ++level) {
+      t_P[level] = 0;
+    }
+
+    for (int step = 0; step < Params.MDsteps; ++step) {  // MD step
+      int first_step = (step == 0);
+      int last_step = (step == Params.MDsteps - 1);
+      this->step(U, 0, first_step, last_step);
+    }
+
+    // Check the clocks all match on all levels
+    for (int level = 0; level < as.size(); ++level) {
+      assert(fabs(t_U - t_P[level]) < 1.0e-6);  // must be the same
+      std::cout << GridLogIntegrator << " times[" << level
+                << "]= " << t_P[level] << " " << t_U << std::endl;
+    }
+
+    // and that we indeed got to the end of the trajectory
+    assert(fabs(t_U - Params.trajL) < 1.0e-6);
+  }
+};
 }
 }
-#endif//INTEGRATOR_INCLUDED
+#endif  // INTEGRATOR_INCLUDED
diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index e9403836..048e17c4 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -1,106 +1,124 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/utils/SUn.h
+Source file: ./lib/qcd/utils/SUn.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef QCD_UTIL_SUN_H
 #define QCD_UTIL_SUN_H
 
 namespace Grid {
-  namespace QCD {
+namespace QCD {
 
-template<int ncolour>
+template <int ncolour>
 class SU {
-public:
+ public:
+  static int generators(void) { return ncolour * ncolour - 1; }
+  static int su2subgroups(void) { return (ncolour * (ncolour - 1)) / 2; }
 
-  static int generators(void)   { return ncolour*ncolour-1; }
-  static int su2subgroups(void) { return (ncolour*(ncolour-1))/2; }
+  template <typename vtype>
+  using iSUnMatrix = iScalar<iScalar<iMatrix<vtype, ncolour> > >;
+  template <typename vtype>
+  using iSU2Matrix = iScalar<iScalar<iMatrix<vtype, 2> > >;
+  template <typename vtype>
+  using iSUnAdjointMatrix = iScalar<iScalar<iMatrix<vtype, (ncolour*ncolour - 1)> > >;
 
-  template<typename vtype> using iSUnMatrix              = iScalar<iScalar<iMatrix<vtype, ncolour> > > ;
-  template<typename vtype> using iSU2Matrix              = iScalar<iScalar<iMatrix<vtype, 2> > > ;
-  
   //////////////////////////////////////////////////////////////////////////////////////////////////
-  // Types can be accessed as SU<2>::Matrix , SU<2>::vSUnMatrix, SU<2>::LatticeMatrix etc...
+  // Types can be accessed as SU<2>::Matrix , SU<2>::vSUnMatrix,
+  // SU<2>::LatticeMatrix etc...
   //////////////////////////////////////////////////////////////////////////////////////////////////
-  typedef iSUnMatrix<Complex>         Matrix;
-  typedef iSUnMatrix<ComplexF>        MatrixF;
-  typedef iSUnMatrix<ComplexD>        MatrixD;
+  typedef iSUnMatrix<Complex> Matrix;
+  typedef iSUnMatrix<ComplexF> MatrixF;
+  typedef iSUnMatrix<ComplexD> MatrixD;
 
-  typedef iSUnMatrix<vComplex>       vMatrix;
-  typedef iSUnMatrix<vComplexF>      vMatrixF;
-  typedef iSUnMatrix<vComplexD>      vMatrixD;
+  typedef iSUnMatrix<vComplex> vMatrix;
+  typedef iSUnMatrix<vComplexF> vMatrixF;
+  typedef iSUnMatrix<vComplexD> vMatrixD;
 
-  typedef Lattice<vMatrix>     LatticeMatrix;
-  typedef Lattice<vMatrixF>    LatticeMatrixF;
-  typedef Lattice<vMatrixD>    LatticeMatrixD;
+  // Actually the adjoint matrices are real...
+  // Consider this overhead... FIXME
+  typedef iSUnAdjointMatrix<Complex> AMatrix;
+  typedef iSUnAdjointMatrix<ComplexF> AMatrixF;
+  typedef iSUnAdjointMatrix<ComplexD> AMatrixD;
 
-  typedef iSU2Matrix<Complex>         SU2Matrix;
-  typedef iSU2Matrix<ComplexF>        SU2MatrixF;
-  typedef iSU2Matrix<ComplexD>        SU2MatrixD;
+  typedef iSUnAdjointMatrix<vComplex> vAMatrix;
+  typedef iSUnAdjointMatrix<vComplexF> vAMatrixF;
+  typedef iSUnAdjointMatrix<vComplexD> vAMatrixD;
 
-  typedef iSU2Matrix<vComplex>       vSU2Matrix;
-  typedef iSU2Matrix<vComplexF>      vSU2MatrixF;
-  typedef iSU2Matrix<vComplexD>      vSU2MatrixD;
+  typedef Lattice<vMatrix> LatticeMatrix;
+  typedef Lattice<vMatrixF> LatticeMatrixF;
+  typedef Lattice<vMatrixD> LatticeMatrixD;
 
-  typedef Lattice<vSU2Matrix>     LatticeSU2Matrix;
-  typedef Lattice<vSU2MatrixF>    LatticeSU2MatrixF;
-  typedef Lattice<vSU2MatrixD>    LatticeSU2MatrixD;
+  typedef iSU2Matrix<Complex> SU2Matrix;
+  typedef iSU2Matrix<ComplexF> SU2MatrixF;
+  typedef iSU2Matrix<ComplexD> SU2MatrixD;
 
+  typedef iSU2Matrix<vComplex> vSU2Matrix;
+  typedef iSU2Matrix<vComplexF> vSU2MatrixF;
+  typedef iSU2Matrix<vComplexD> vSU2MatrixD;
+
+  typedef Lattice<vSU2Matrix> LatticeSU2Matrix;
+  typedef Lattice<vSU2MatrixF> LatticeSU2MatrixF;
+  typedef Lattice<vSU2MatrixD> LatticeSU2MatrixD;
 
   ////////////////////////////////////////////////////////////////////////
   // There are N^2-1 generators for SU(N).
   //
   // We take a traceless hermitian generator basis as follows
   //
-  // * Normalisation: trace ta tb = 1/2 delta_ab
-  // 
+  // * Normalisation: trace ta tb = 1/2 delta_ab = T_F delta_ab
+  //   T_F = 1/2  for SU(N) groups
+  //
   // * Off diagonal
   //    - pairs of rows i1,i2 behaving like pauli matrices signma_x, sigma_y
-  //     
-  //    - there are (Nc-1-i1) slots for i2 on each row [ x  0  x ]                                   
-  //      direct count off each row                                                                    
+  //
+  //    - there are (Nc-1-i1) slots for i2 on each row [ x  0  x ]
+  //      direct count off each row
   //
   //    - Sum of all pairs is Nc(Nc-1)/2: proof arithmetic series
   //
-  //      (Nc-1) + (Nc-2)+...  1      ==> Nc*(Nc-1)/2 
-  //      1+ 2+          +   + Nc-1                        
-  // 
+  //      (Nc-1) + (Nc-2)+...  1      ==> Nc*(Nc-1)/2
+  //      1+ 2+          +   + Nc-1
+  //
   //    - There are 2 x Nc (Nc-1)/ 2 of these = Nc^2 - Nc
   //
   //    - We enumerate the row-col pairs.
-  //    - for each row col pair there is a (sigma_x) and a (sigma_y) like generator
+  //    - for each row col pair there is a (sigma_x) and a (sigma_y) like
+  //    generator
   //
   //
-  //   t^a_ij = { in 0.. Nc(Nc-1)/2 -1} =>  delta_{i,i1} delta_{j,i2} +  delta_{i,i1} delta_{j,i2}  
-  //   t^a_ij = { in Nc(Nc-1)/2 ... Nc^(Nc-1) -1} =>  i delta_{i,i1} delta_{j,i2} - i delta_{i,i1} delta_{j,i2}  
-  //   
+  //   t^a_ij = { in 0.. Nc(Nc-1)/2 -1} =>  1/2(delta_{i,i1} delta_{j,i2} +
+  //   delta_{i,i1} delta_{j,i2})
+  //   t^a_ij = { in Nc(Nc-1)/2 ... Nc(Nc-1) - 1} =>  i/2( delta_{i,i1}
+  //   delta_{j,i2} - i delta_{i,i1} delta_{j,i2})
+  //
   // * Diagonal; must be traceless and normalised
-  //   - Sequence is 
+  //   - Sequence is
   //   N  (1,-1,0,0...)
   //   N  (1, 1,-2,0...)
   //   N  (1, 1, 1,-3,0...)
@@ -109,558 +127,660 @@ public:
   //   where 1/2 = N^2 (1+.. m^2)etc.... for the m-th diagonal generator
   //   NB this gives the famous SU3 result for su2 index 8
   //
-  //   N= sqrt(1/2 . 1/6 ) = 1/2 . 1/sqrt(3) 
+  //   N= sqrt(1/2 . 1/6 ) = 1/2 . 1/sqrt(3)
   //
   //   ( 1      )
   //   (    1   ) / sqrt(3) /2  = 1/2 lambda_8
   //   (      -2)
+  //
+  //
+  // * Adjoint representation generators
+  //  
+  //   base for NxN hermitian traceless matrices
+  //   normalized to 1:
+  //
+  //   (e_Adj)^a = t^a / sqrt(T_F)
+  //   
+  //   then the real, antisymmetric generators for the adjoint representations
+  //   are computed ( shortcut: e^a == (e_Adj)^a )
+  //
+  //   (iT_adj)^d_ab = i tr[e^a t^d e^b - t^d e^a e^b]
+  // 
   ////////////////////////////////////////////////////////////////////////
-  template<class cplx>
-  static void generator(int lieIndex,iSUnMatrix<cplx> &ta){
+  template <class cplx>
+  static void generator(int lieIndex, iSUnMatrix<cplx> &ta) {
     // map lie index to which type of generator
     int diagIndex;
     int su2Index;
     int sigxy;
-    int NNm1 =  ncolour*(ncolour-1);
-    if ( lieIndex>= NNm1 ) {
-      diagIndex = lieIndex -NNm1;
-      generatorDiagonal(diagIndex,ta);
+    int NNm1 = ncolour * (ncolour - 1);
+    if (lieIndex >= NNm1) {
+      diagIndex = lieIndex - NNm1;
+      generatorDiagonal(diagIndex, ta);
       return;
     }
-    sigxy   = lieIndex&0x1;
-    su2Index= lieIndex>>1;
-    if ( sigxy ) generatorSigmaY(su2Index,ta);
-    else         generatorSigmaX(su2Index,ta);
+    sigxy = lieIndex & 0x1;//even or odd
+    su2Index = lieIndex >> 1;
+    if (sigxy)
+      generatorSigmaY(su2Index, ta);
+    else
+      generatorSigmaX(su2Index, ta);
   }
-  template<class cplx>
-  static void generatorSigmaX(int su2Index,iSUnMatrix<cplx> &ta){
-    ta=zero;
-    int i1,i2;
-    su2SubGroupIndex(i1,i2,su2Index);
-    ta()()(i1,i2)=1.0;
-    ta()()(i2,i1)=1.0;
-    ta= ta *0.5;
+  template <class cplx>
+  static void generatorSigmaX(int su2Index, iSUnMatrix<cplx> &ta) {
+    ta = zero;
+    int i1, i2;
+    su2SubGroupIndex(i1, i2, su2Index);
+    ta()()(i1, i2) = 1.0;
+    ta()()(i2, i1) = 1.0;
+    ta = ta * 0.5;
   }
-  template<class cplx>
-  static void generatorSigmaY(int su2Index,iSUnMatrix<cplx> &ta){
-    ta=zero;
-    cplx i(0.0,1.0);
-    int i1,i2;
-    su2SubGroupIndex(i1,i2,su2Index);
-    ta()()(i1,i2)=-i;
-    ta()()(i2,i1)= i;
-    ta= ta *0.5;
+  template <class cplx>
+  static void generatorSigmaY(int su2Index, iSUnMatrix<cplx> &ta) {
+    ta = zero;
+    cplx i(0.0, 1.0);
+    int i1, i2;
+    su2SubGroupIndex(i1, i2, su2Index);
+    ta()()(i1, i2) = -i;
+    ta()()(i2, i1) = i;
+    ta = ta * 0.5;
   }
-  template<class cplx>
-  static void generatorDiagonal(int diagIndex,iSUnMatrix<cplx> &ta){
-    ta=zero;
-    int trsq=0;
-    int last=diagIndex+1;
-    for(int i=0;i<=diagIndex;i++){
-      ta()()(i,i) = 1.0;
-      trsq++;
+  template <class cplx>
+  static void generatorDiagonal(int diagIndex, iSUnMatrix<cplx> &ta) {
+    // diag ({1, 1, ..., 1}(k-times), -k, 0, 0, ...)
+    ta = zero;
+    int k = diagIndex + 1;// diagIndex starts from 0
+    for (int i = 0; i <= diagIndex; i++) {// k iterations
+      ta()()(i, i) = 1.0;
     }
-    ta()()(last,last) = -last;
-    trsq+=last*last;
-    RealD nrm = 1.0/std::sqrt(2.0*trsq);
-    ta = ta *nrm;
+    ta()()(k,k) = -k;//indexing starts from 0
+    RealD nrm = 1.0 / std::sqrt(2.0 * k*(k+1));
+    ta = ta * nrm;
   }
 
+  template <class cplx>
+  static void generatorAdjoint(int Index, iSUnAdjointMatrix<cplx> &iAdjTa){
+    // returns i(T_Adj)^index necessary for the projectors
+    // see definitions above
+    iAdjTa = zero;
+    Vector< iSUnMatrix<cplx> > ta(ncolour*ncolour -1);
+    iSUnMatrix<cplx> tmp;
+
+    // FIXME not very efficient to get all the generators everytime
+    for (int a = 0; a < (ncolour * ncolour - 1); a++) 
+      generator(a, ta[a]);
+
+
+    for (int a = 0; a < (ncolour*ncolour - 1); a++){
+      tmp = ta[a] * ta[Index] - ta[Index] * ta[a];
+      for (int b = 0; b < (ncolour*ncolour - 1); b++){
+        iSUnMatrix<cplx> tmp1 = 2.0 * tmp * ta[b];  // 2.0 from the normalization
+        Complex iTr = TensorRemove(timesI(trace(tmp1)));
+        iAdjTa()()(b,a) = iTr;
+      }
+    }
+
+
+  }
   ////////////////////////////////////////////////////////////////////////
   // Map a su2 subgroup number to the pair of rows that are non zero
   ////////////////////////////////////////////////////////////////////////
-  static void su2SubGroupIndex(int &i1,int &i2,int su2_index){
+  static void su2SubGroupIndex(int &i1, int &i2, int su2_index) {
+    assert((su2_index >= 0) && (su2_index < (ncolour * (ncolour - 1)) / 2));
 
-    assert( (su2_index>=0) && (su2_index< (ncolour*(ncolour-1))/2) );
-
-    int spare=su2_index;
-    for(i1=0;spare >= (ncolour-1-i1);i1++ ){
-      spare = spare - (ncolour-1-i1);  // remove the Nc-1-i1 terms  
+    int spare = su2_index;
+    for (i1 = 0; spare >= (ncolour - 1 - i1); i1++) {
+      spare = spare - (ncolour - 1 - i1);  // remove the Nc-1-i1 terms
     }
-    i2=i1+1+spare;
+    i2 = i1 + 1 + spare;
   }
 
   //////////////////////////////////////////////////////////////////////////////////////////
   // Pull out a subgroup and project on to real coeffs x pauli basis
   //////////////////////////////////////////////////////////////////////////////////////////
-  template<class vcplx>
-  static void su2Extract(    Lattice<iSinglet<vcplx> > &Determinant,
-			     Lattice<iSU2Matrix<vcplx> > &subgroup, 
-			     const Lattice<iSUnMatrix<vcplx> > &source, 
-			     int su2_index)
-  {
+  template <class vcplx>
+  static void su2Extract(Lattice<iSinglet<vcplx> > &Determinant,
+                         Lattice<iSU2Matrix<vcplx> > &subgroup,
+                         const Lattice<iSUnMatrix<vcplx> > &source,
+                         int su2_index) {
     GridBase *grid(source._grid);
-    conformable(subgroup,source);
-    conformable(subgroup,Determinant);
-    int i0,i1;    
-    su2SubGroupIndex(i0,i1,su2_index);
+    conformable(subgroup, source);
+    conformable(subgroup, Determinant);
+    int i0, i1;
+    su2SubGroupIndex(i0, i1, su2_index);
 
-PARALLEL_FOR_LOOP
-    for(int ss=0;ss<grid->oSites();ss++){
-      subgroup._odata[ss]()()(0,0) = source._odata[ss]()()(i0,i0);
-      subgroup._odata[ss]()()(0,1) = source._odata[ss]()()(i0,i1);
-      subgroup._odata[ss]()()(1,0) = source._odata[ss]()()(i1,i0);
-      subgroup._odata[ss]()()(1,1) = source._odata[ss]()()(i1,i1);
+    PARALLEL_FOR_LOOP
+    for (int ss = 0; ss < grid->oSites(); ss++) {
+      subgroup._odata[ss]()()(0, 0) = source._odata[ss]()()(i0, i0);
+      subgroup._odata[ss]()()(0, 1) = source._odata[ss]()()(i0, i1);
+      subgroup._odata[ss]()()(1, 0) = source._odata[ss]()()(i1, i0);
+      subgroup._odata[ss]()()(1, 1) = source._odata[ss]()()(i1, i1);
 
       iSU2Matrix<vcplx> Sigma = subgroup._odata[ss];
 
-      Sigma = Sigma-adj(Sigma)+trace(adj(Sigma));
+      Sigma = Sigma - adj(Sigma) + trace(adj(Sigma));
 
       subgroup._odata[ss] = Sigma;
 
       // this should be purely real
-      Determinant._odata[ss] = Sigma()()(0,0)*Sigma()()(1,1)
-   	                     - Sigma()()(0,1)*Sigma()()(1,0);
-
+      Determinant._odata[ss] =
+          Sigma()()(0, 0) * Sigma()()(1, 1) - Sigma()()(0, 1) * Sigma()()(1, 0);
     }
-
   }
 
   //////////////////////////////////////////////////////////////////////////////////////////
   // Set matrix to one and insert a pauli subgroup
   //////////////////////////////////////////////////////////////////////////////////////////
-  template<class vcplx>
-  static void su2Insert( const Lattice<iSU2Matrix<vcplx> > &subgroup, 
-			       Lattice<iSUnMatrix<vcplx> > &dest,
-			int su2_index)
-  {
+  template <class vcplx>
+  static void su2Insert(const Lattice<iSU2Matrix<vcplx> > &subgroup,
+                        Lattice<iSUnMatrix<vcplx> > &dest, int su2_index) {
     GridBase *grid(dest._grid);
-    conformable(subgroup,dest);
-    int i0,i1;    
-    su2SubGroupIndex(i0,i1,su2_index);
+    conformable(subgroup, dest);
+    int i0, i1;
+    su2SubGroupIndex(i0, i1, su2_index);
 
-    dest = 1.0; // start out with identity
-PARALLEL_FOR_LOOP
-    for(int ss=0;ss<grid->oSites();ss++){
-      dest._odata[ss]()()(i0,i0) = subgroup._odata[ss]()()(0,0);
-      dest._odata[ss]()()(i0,i1) = subgroup._odata[ss]()()(0,1);
-      dest._odata[ss]()()(i1,i0) = subgroup._odata[ss]()()(1,0);
-      dest._odata[ss]()()(i1,i1) = subgroup._odata[ss]()()(1,1);
+    dest = 1.0;  // start out with identity
+    PARALLEL_FOR_LOOP
+    for (int ss = 0; ss < grid->oSites(); ss++) {
+      dest._odata[ss]()()(i0, i0) = subgroup._odata[ss]()()(0, 0);
+      dest._odata[ss]()()(i0, i1) = subgroup._odata[ss]()()(0, 1);
+      dest._odata[ss]()()(i1, i0) = subgroup._odata[ss]()()(1, 0);
+      dest._odata[ss]()()(i1, i1) = subgroup._odata[ss]()()(1, 1);
     }
   }
 
-
   ///////////////////////////////////////////////
-  // Generate e^{ Re Tr Staple Link} dlink 
+  // Generate e^{ Re Tr Staple Link} dlink
   //
-  // *** Note Staple should be appropriate linear compbination between all staples.
+  // *** Note Staple should be appropriate linear compbination between all
+  // staples.
   // *** If already by beta pass coefficient 1.0.
-  // *** This routine applies the additional 1/Nc factor that comes after trace in action.
+  // *** This routine applies the additional 1/Nc factor that comes after trace
+  // in action.
   //
   ///////////////////////////////////////////////
-  static void SubGroupHeatBath(      GridSerialRNG       &sRNG,
-				     GridParallelRNG     &pRNG,
-				     RealD beta,//coeff multiplying staple in action (with no 1/Nc)
-				     LatticeMatrix &link, 
-				     const LatticeMatrix &barestaple, // multiplied by action coeffs so th
-				     int su2_subgroup,
-				     int nheatbath,
-				     LatticeInteger &wheremask)
-  {
+  static void SubGroupHeatBath(
+      GridSerialRNG &sRNG, GridParallelRNG &pRNG,
+      RealD beta,  // coeff multiplying staple in action (with no 1/Nc)
+      LatticeMatrix &link,
+      const LatticeMatrix &barestaple,  // multiplied by action coeffs so th
+      int su2_subgroup, int nheatbath, LatticeInteger &wheremask) {
     GridBase *grid = link._grid;
 
-    int ntrials=0;
-    int nfails=0;
-    const RealD twopi=2.0*M_PI;
+    int ntrials = 0;
+    int nfails = 0;
+    const RealD twopi = 2.0 * M_PI;
 
-    LatticeMatrix staple(grid); 
+    LatticeMatrix staple(grid);
 
-    staple = barestaple * (beta/ncolour);
+    staple = barestaple * (beta / ncolour);
 
-    LatticeMatrix    V(grid);    V = link*staple;
+    LatticeMatrix V(grid);
+    V = link * staple;
 
     // Subgroup manipulation in the lie algebra space
-    LatticeSU2Matrix    u(grid);   // Kennedy pendleton "u" real projected normalised Sigma
+    LatticeSU2Matrix u(
+        grid);  // Kennedy pendleton "u" real projected normalised Sigma
     LatticeSU2Matrix uinv(grid);
-    LatticeSU2Matrix   ua(grid);   // a in pauli form
-    LatticeSU2Matrix    b(grid);   // rotated matrix after hb
+    LatticeSU2Matrix ua(grid);  // a in pauli form
+    LatticeSU2Matrix b(grid);   // rotated matrix after hb
 
     // Some handy constant fields
-    LatticeComplex ones (grid); ones = 1.0;
-    LatticeComplex zeros(grid); zeros=zero;
-    LatticeReal rones (grid); rones = 1.0;
-    LatticeReal rzeros(grid); rzeros=zero;
-    LatticeComplex udet(grid); // determinant of real(staple)
-    LatticeInteger mask_true (grid); mask_true = 1;
-    LatticeInteger mask_false(grid); mask_false= 0;
+    LatticeComplex ones(grid);
+    ones = 1.0;
+    LatticeComplex zeros(grid);
+    zeros = zero;
+    LatticeReal rones(grid);
+    rones = 1.0;
+    LatticeReal rzeros(grid);
+    rzeros = zero;
+    LatticeComplex udet(grid);  // determinant of real(staple)
+    LatticeInteger mask_true(grid);
+    mask_true = 1;
+    LatticeInteger mask_false(grid);
+    mask_false = 0;
 
-  /*
-PLB 156 P393 (1985) (Kennedy and Pendleton)
+    /*
+  PLB 156 P393 (1985) (Kennedy and Pendleton)
 
-Note: absorb "beta" into the def of sigma compared to KP paper; staple
-passed to this routine has "beta" already multiplied in
+  Note: absorb "beta" into the def of sigma compared to KP paper; staple
+  passed to this routine has "beta" already multiplied in
 
-Action linear in links h and of form:
+  Action linear in links h and of form:
 
-    beta S = beta  Sum_p (1 - 1/Nc Re Tr Plaq )
+      beta S = beta  Sum_p (1 - 1/Nc Re Tr Plaq )
 
-Writing Sigma = 1/Nc (beta Sigma') where sum over staples is "Sigma' "
+  Writing Sigma = 1/Nc (beta Sigma') where sum over staples is "Sigma' "
 
-     beta S = const - beta/Nc Re Tr h Sigma'
-            = const - Re Tr h Sigma
-      
-Decompose h and Sigma into (1, sigma_j) ; h_i real, h^2=1, Sigma_i complex arbitrary.
+       beta S = const - beta/Nc Re Tr h Sigma'
+              = const - Re Tr h Sigma
 
-    Tr h Sigma = h_i Sigma_j Tr (sigma_i sigma_j)  = h_i Sigma_j 2 delta_ij
- Re Tr h Sigma = 2 h_j Re Sigma_j
+  Decompose h and Sigma into (1, sigma_j) ; h_i real, h^2=1, Sigma_i complex
+  arbitrary.
 
-Normalised re Sigma_j = xi u_j 
+      Tr h Sigma = h_i Sigma_j Tr (sigma_i sigma_j)  = h_i Sigma_j 2 delta_ij
+   Re Tr h Sigma = 2 h_j Re Sigma_j
 
-With u_j a unit vector and U can be in SU(2);
+  Normalised re Sigma_j = xi u_j
 
-Re Tr h Sigma = 2 h_j Re Sigma_j = 2 xi (h.u)
+  With u_j a unit vector and U can be in SU(2);
 
-4xi^2 = Det [ Sig - Sig^dag  + 1 Tr Sigdag]
- u   = 1/2xi [ Sig - Sig^dag  + 1 Tr Sigdag]
+  Re Tr h Sigma = 2 h_j Re Sigma_j = 2 xi (h.u)
 
- xi = sqrt(Det)/2;
+  4xi^2 = Det [ Sig - Sig^dag  + 1 Tr Sigdag]
+   u   = 1/2xi [ Sig - Sig^dag  + 1 Tr Sigdag]
 
-Write a= u h in SU(2); a has pauli decomp a_j;
+   xi = sqrt(Det)/2;
 
-Note: Product b' xi is unvariant because scaling Sigma leaves
-      normalised vector "u" fixed; Can rescale Sigma so b' = 1.
-  */
+  Write a= u h in SU(2); a has pauli decomp a_j;
+
+  Note: Product b' xi is unvariant because scaling Sigma leaves
+        normalised vector "u" fixed; Can rescale Sigma so b' = 1.
+    */
 
     ////////////////////////////////////////////////////////
     // Real part of Pauli decomposition
     // Note a subgroup can project to zero in cold start
     ////////////////////////////////////////////////////////
-    su2Extract(udet,u,V,su2_subgroup); 
+    su2Extract(udet, u, V, su2_subgroup);
 
     //////////////////////////////////////////////////////
     // Normalising this vector if possible; else identity
     //////////////////////////////////////////////////////
-    LatticeComplex xi(grid);  
+    LatticeComplex xi(grid);
 
     LatticeSU2Matrix lident(grid);
-    
-    SU2Matrix ident = Complex(1.0); 
-    SU2Matrix pauli1; SU<2>::generator(0,pauli1);
-    SU2Matrix pauli2; SU<2>::generator(1,pauli2);
-    SU2Matrix pauli3; SU<2>::generator(2,pauli3);
-    pauli1 = timesI(pauli1)*2.0;
-    pauli2 = timesI(pauli2)*2.0;
-    pauli3 = timesI(pauli3)*2.0;
+
+    SU2Matrix ident = Complex(1.0);
+    SU2Matrix pauli1;
+    SU<2>::generator(0, pauli1);
+    SU2Matrix pauli2;
+    SU<2>::generator(1, pauli2);
+    SU2Matrix pauli3;
+    SU<2>::generator(2, pauli3);
+    pauli1 = timesI(pauli1) * 2.0;
+    pauli2 = timesI(pauli2) * 2.0;
+    pauli3 = timesI(pauli3) * 2.0;
 
     LatticeComplex cone(grid);
     LatticeReal adet(grid);
     adet = abs(toReal(udet));
-    lident=Complex(1.0);
-    cone  =Complex(1.0);
-    Real machine_epsilon=1.0e-7;
-    u   = where(adet>machine_epsilon,u,lident);
-    udet= where(adet>machine_epsilon,udet,cone);
+    lident = Complex(1.0);
+    cone = Complex(1.0);
+    Real machine_epsilon = 1.0e-7;
+    u = where(adet > machine_epsilon, u, lident);
+    udet = where(adet > machine_epsilon, udet, cone);
 
-    xi  = 0.5*sqrt(udet);     //4xi^2 = Det [ Sig - Sig^dag  + 1 Tr Sigdag]
-    u   = 0.5*u*pow(xi,-1.0); //  u   = 1/2xi [ Sig - Sig^dag  + 1 Tr Sigdag]
+    xi = 0.5 * sqrt(udet);  // 4xi^2 = Det [ Sig - Sig^dag  + 1 Tr Sigdag]
+    u = 0.5 * u *
+        pow(xi, -1.0);  //  u   = 1/2xi [ Sig - Sig^dag  + 1 Tr Sigdag]
 
     // Debug test for sanity
-    uinv=adj(u);
-    b=u*uinv-1.0;
-    assert(norm2(b)<1.0e-4);
+    uinv = adj(u);
+    b = u * uinv - 1.0;
+    assert(norm2(b) < 1.0e-4);
 
-  /*
-Measure: Haar measure dh has d^4a delta(1-|a^2|)
-In polars:
-  da = da0 r^2 sin theta dr dtheta dphi delta( 1 - r^2 -a0^2) 
-     = da0 r^2 sin theta dr dtheta dphi delta( (sqrt(1-a0^) - r)(sqrt(1-a0^) + r) )
-     = da0 r/2 sin theta dr dtheta dphi delta( (sqrt(1-a0^) - r) )
+    /*
+  Measure: Haar measure dh has d^4a delta(1-|a^2|)
+  In polars:
+    da = da0 r^2 sin theta dr dtheta dphi delta( 1 - r^2 -a0^2)
+       = da0 r^2 sin theta dr dtheta dphi delta( (sqrt(1-a0^) - r)(sqrt(1-a0^) +
+  r) )
+       = da0 r/2 sin theta dr dtheta dphi delta( (sqrt(1-a0^) - r) )
 
-Action factor Q(h) dh  = e^-S[h]  dh =  e^{  xi Tr uh} dh    // beta enters through xi
-                                     =  e^{2 xi (h.u)} dh
-                                     =  e^{2 xi h0u0}.e^{2 xi h1u1}.e^{2 xi h2u2}.e^{2 xi h3u3} dh
+  Action factor Q(h) dh  = e^-S[h]  dh =  e^{  xi Tr uh} dh    // beta enters
+  through xi
+                                       =  e^{2 xi (h.u)} dh
+                                       =  e^{2 xi h0u0}.e^{2 xi h1u1}.e^{2 xi
+  h2u2}.e^{2 xi h3u3} dh
 
-Therefore for each site, take xi for that site
-i) generate  |a0|<1 with dist 
-   (1-a0^2)^0.5 e^{2 xi a0 } da0
+  Therefore for each site, take xi for that site
+  i) generate  |a0|<1 with dist
+     (1-a0^2)^0.5 e^{2 xi a0 } da0
 
-Take alpha = 2 xi  = 2 xi [ recall 2 beta/Nc unmod staple norm]; hence 2.0/Nc factor in Chroma ]
-A. Generate two uniformly distributed pseudo-random numbers R and R', R'', R''' in the unit interval; 
-B. Set X = -(ln R)/alpha, X' =-(ln R')/alpha;
-C. Set C = cos^2(2pi R"), with R" another uniform random number in [0,1] ;
-D. Set A = XC;
-E. Let d  = X'+A;
-F. If R'''^2 :> 1 - 0.5 d,  go back to A;
-G. Set a0 = 1 - d;
+  Take alpha = 2 xi  = 2 xi [ recall 2 beta/Nc unmod staple norm]; hence 2.0/Nc
+  factor in Chroma ]
+  A. Generate two uniformly distributed pseudo-random numbers R and R', R'',
+  R''' in the unit interval;
+  B. Set X = -(ln R)/alpha, X' =-(ln R')/alpha;
+  C. Set C = cos^2(2pi R"), with R" another uniform random number in [0,1] ;
+  D. Set A = XC;
+  E. Let d  = X'+A;
+  F. If R'''^2 :> 1 - 0.5 d,  go back to A;
+  G. Set a0 = 1 - d;
 
-Note that in step D setting B ~ X - A and using B in place of A in step E will generate a second independent a 0 value.
-  */
+  Note that in step D setting B ~ X - A and using B in place of A in step E will
+  generate a second independent a 0 value.
+    */
 
     /////////////////////////////////////////////////////////
     // count the number of sites by picking "1"'s out of hat
     /////////////////////////////////////////////////////////
-    Integer hit=0;
+    Integer hit = 0;
     LatticeReal rtmp(grid);
-    rtmp=where(wheremask,rones,rzeros);
+    rtmp = where(wheremask, rones, rzeros);
     RealD numSites = sum(rtmp);
     RealD numAccepted;
-    LatticeInteger      Accepted(grid); Accepted = zero;
+    LatticeInteger Accepted(grid);
+    Accepted = zero;
     LatticeInteger newlyAccepted(grid);
-   
-    std::vector<LatticeReal> xr(4,grid);
-    std::vector<LatticeReal>  a(4,grid);
-    LatticeReal d(grid); d=zero;
+
+    std::vector<LatticeReal> xr(4, grid);
+    std::vector<LatticeReal> a(4, grid);
+    LatticeReal d(grid);
+    d = zero;
     LatticeReal alpha(grid);
 
     //    std::cout<<GridLogMessage<<"xi "<<xi <<std::endl;
-    alpha = toReal(2.0*xi);
+    alpha = toReal(2.0 * xi);
 
-    do { 
-
-      // A. Generate two uniformly distributed pseudo-random numbers R and R', R'', R''' in the unit interval; 
-      random(pRNG,xr[0]); 
-      random(pRNG,xr[1]); 
-      random(pRNG,xr[2]); 
-      random(pRNG,xr[3]); 
+    do {
+      // A. Generate two uniformly distributed pseudo-random numbers R and R',
+      // R'', R''' in the unit interval;
+      random(pRNG, xr[0]);
+      random(pRNG, xr[1]);
+      random(pRNG, xr[2]);
+      random(pRNG, xr[3]);
 
       // B. Set X = - ln R/alpha, X' = -ln R'/alpha
-      xr[1] = -log(xr[1])/alpha;  
-      xr[2] = -log(xr[2])/alpha;
+      xr[1] = -log(xr[1]) / alpha;
+      xr[2] = -log(xr[2]) / alpha;
 
       // C. Set C = cos^2(2piR'')
-      xr[3] = cos(xr[3]*twopi);
-      xr[3] = xr[3]*xr[3];
+      xr[3] = cos(xr[3] * twopi);
+      xr[3] = xr[3] * xr[3];
 
       LatticeReal xrsq(grid);
 
-      //D. Set A = XC;
-      //E. Let d  = X'+A;
-      xrsq = xr[2]+xr[1]*xr[3];
+      // D. Set A = XC;
+      // E. Let d  = X'+A;
+      xrsq = xr[2] + xr[1] * xr[3];
 
-      d = where(Accepted,d,xr[2]+xr[1]*xr[3]);
-	      
-      //F. If R'''^2 :> 1 - 0.5 d,  go back to A;
-      LatticeReal thresh(grid); thresh = 1.0-d*0.5;
-      xrsq = xr[0]*xr[0];
-      LatticeInteger ione(grid); ione = 1;
-      LatticeInteger izero(grid); izero=zero;
+      d = where(Accepted, d, xr[2] + xr[1] * xr[3]);
 
-      newlyAccepted = where ( xrsq < thresh,ione,izero);
-      Accepted = where ( newlyAccepted, newlyAccepted,Accepted);
-      Accepted = where ( wheremask, Accepted,izero);
+      // F. If R'''^2 :> 1 - 0.5 d,  go back to A;
+      LatticeReal thresh(grid);
+      thresh = 1.0 - d * 0.5;
+      xrsq = xr[0] * xr[0];
+      LatticeInteger ione(grid);
+      ione = 1;
+      LatticeInteger izero(grid);
+      izero = zero;
+
+      newlyAccepted = where(xrsq < thresh, ione, izero);
+      Accepted = where(newlyAccepted, newlyAccepted, Accepted);
+      Accepted = where(wheremask, Accepted, izero);
 
       // FIXME need an iSum for integer to avoid overload on return type??
-      rtmp=where(Accepted,rones,rzeros);
+      rtmp = where(Accepted, rones, rzeros);
       numAccepted = sum(rtmp);
 
       hit++;
 
-    } while ( (numAccepted < numSites) && ( hit < nheatbath) );
+    } while ((numAccepted < numSites) && (hit < nheatbath));
 
     // G. Set a0 = 1 - d;
-    a[0]=zero;
-    a[0]=where(wheremask,1.0-d,a[0]);
+    a[0] = zero;
+    a[0] = where(wheremask, 1.0 - d, a[0]);
 
     //////////////////////////////////////////
     //    ii) generate a_i uniform on two sphere radius (1-a0^2)^0.5
     //////////////////////////////////////////
 
     LatticeReal a123mag(grid);
-    a123mag = sqrt(abs(1.0-a[0]*a[0]));
+    a123mag = sqrt(abs(1.0 - a[0] * a[0]));
 
-    LatticeReal cos_theta (grid);
-    LatticeReal sin_theta (grid);
-    LatticeReal       phi (grid);
+    LatticeReal cos_theta(grid);
+    LatticeReal sin_theta(grid);
+    LatticeReal phi(grid);
 
-    random(pRNG,phi);            phi = phi * twopi;       // uniform in [0,2pi]
-    random(pRNG,cos_theta); cos_theta=(cos_theta*2.0)-1.0;  // uniform in [-1,1]
-    sin_theta = sqrt(abs(1.0-cos_theta*cos_theta));
+    random(pRNG, phi);
+    phi = phi * twopi;  // uniform in [0,2pi]
+    random(pRNG, cos_theta);
+    cos_theta = (cos_theta * 2.0) - 1.0;  // uniform in [-1,1]
+    sin_theta = sqrt(abs(1.0 - cos_theta * cos_theta));
 
-    a[1]    = a123mag * sin_theta * cos(phi);
-    a[2]    = a123mag * sin_theta * sin(phi);
-    a[3]    = a123mag * cos_theta;
-    
-    ua = toComplex(a[0])*ident 
-       + toComplex(a[1])*pauli1 
-       + toComplex(a[2])*pauli2 
-       + toComplex(a[3])*pauli3;
+    a[1] = a123mag * sin_theta * cos(phi);
+    a[2] = a123mag * sin_theta * sin(phi);
+    a[3] = a123mag * cos_theta;
+
+    ua = toComplex(a[0]) * ident + toComplex(a[1]) * pauli1 +
+         toComplex(a[2]) * pauli2 + toComplex(a[3]) * pauli3;
 
     b = 1.0;
-    b = where(wheremask,uinv*ua,b);
-    su2Insert(b,V,su2_subgroup);
+    b = where(wheremask, uinv * ua, b);
+    su2Insert(b, V, su2_subgroup);
 
-    //mask the assignment back based on Accptance
-    link = where(Accepted,V * link,link);
+    // mask the assignment back based on Accptance
+    link = where(Accepted, V * link, link);
 
     //////////////////////////////
     // Debug Checks
     // SU2 check
-    LatticeSU2Matrix    check(grid);   // rotated matrix after hb
+    LatticeSU2Matrix check(grid);  // rotated matrix after hb
     u = zero;
     check = ua * adj(ua) - 1.0;
-    check = where(Accepted,check,u);
-    assert(norm2(check)<1.0e-4);
+    check = where(Accepted, check, u);
+    assert(norm2(check) < 1.0e-4);
+
+    check = b * adj(b) - 1.0;
+    check = where(Accepted, check, u);
+    assert(norm2(check) < 1.0e-4);
 
-    check = b*adj(b)-1.0;
-    check = where(Accepted,check,u);
-    assert(norm2(check)<1.0e-4);
-    
     LatticeMatrix Vcheck(grid);
     Vcheck = zero;
-    Vcheck = where(Accepted,V*adj(V) - 1.0,Vcheck);
+    Vcheck = where(Accepted, V * adj(V) - 1.0, Vcheck);
     //    std::cout<<GridLogMessage << "SU3 check " <<norm2(Vcheck)<<std::endl;
-    assert(norm2(Vcheck)<1.0e-4);
-    
+    assert(norm2(Vcheck) < 1.0e-4);
+
     // Verify the link stays in SU(3)
     //    std::cout<<GridLogMessage <<"Checking the modified link"<<std::endl;
-    Vcheck = link*adj(link) - 1.0;
-    assert(norm2(Vcheck)<1.0e-4);
+    Vcheck = link * adj(link) - 1.0;
+    assert(norm2(Vcheck) < 1.0e-4);
     /////////////////////////////////
   }
 
-  static void printGenerators(void)
-  {
-    for(int gen=0;gen<generators();gen++){
+  static void printGenerators(void) {
+    for (int gen = 0; gen < generators(); gen++) {
       Matrix ta;
-      generator(gen,ta);
-      std::cout<<GridLogMessage<< "Nc = "<<ncolour<<" t_"<<gen<<std::endl;
-      std::cout<<GridLogMessage<<ta<<std::endl;
+      generator(gen, ta);
+      std::cout << GridLogMessage << "Nc = " << ncolour << " t_" << gen
+                << std::endl;
+      std::cout << GridLogMessage << ta << std::endl;
     }
   }
 
-  static void testGenerators(void){
+  static void printAdjointGenerators(void) {
+    for (int gen = 0; gen < generators(); gen++) {
+      AMatrix ta;
+      generatorAdjoint(gen, ta);
+      std::cout << GridLogMessage << "Nc = " << ncolour << " t_" << gen
+                << std::endl;
+      std::cout << GridLogMessage << ta << std::endl;
+    }
+  }
+
+
+
+  static void testGenerators(void) {
     Matrix ta;
     Matrix tb;
-    std::cout<<GridLogMessage<<"Checking trace ta tb is 0.5 delta_ab"<<std::endl;
-    for(int a=0;a<generators();a++){
-      for(int b=0;b<generators();b++){
-	generator(a,ta);
-	generator(b,tb);
-	Complex tr =TensorRemove(trace(ta*tb)); 
-	std::cout<<GridLogMessage<<tr<<" ";
-	if(a==b) assert(abs(tr-Complex(0.5))<1.0e-6);
-	if(a!=b) assert(abs(tr)<1.0e-6);
+    std::cout << GridLogMessage << "Fundamental - Checking trace ta tb is 0.5 delta_ab"
+              << std::endl;
+    for (int a = 0; a < generators(); a++) {
+      for (int b = 0; b < generators(); b++) {
+        generator(a, ta);
+        generator(b, tb);
+        Complex tr = TensorRemove(trace(ta * tb));
+        std::cout << GridLogMessage << "("<< a << "," << b << ") =  "<< tr << std::endl;
+        if (a == b) assert(abs(tr - Complex(0.5)) < 1.0e-6);
+        if (a != b) assert(abs(tr) < 1.0e-6);
       }
-      std::cout<<GridLogMessage<<std::endl;
+      std::cout << GridLogMessage << std::endl;
     }
-    std::cout<<GridLogMessage<<"Checking hermitian"<<std::endl;
-    for(int a=0;a<generators();a++){
-      generator(a,ta);
-      std::cout<<GridLogMessage<<a<<" ";
-      assert(norm2(ta-adj(ta))<1.0e-6);
-    }    
-    std::cout<<GridLogMessage<<std::endl;
+    std::cout << GridLogMessage << "Fundamental - Checking if hermitian" << std::endl;
+    for (int a = 0; a < generators(); a++) {
+      generator(a, ta);
+      std::cout << GridLogMessage << a << std::endl;
+      assert(norm2(ta - adj(ta)) < 1.0e-6) ; 
+    }
+    std::cout << GridLogMessage << std::endl;
+
+    std::cout << GridLogMessage << "Fundamental - Checking if traceless" << std::endl;
+    for (int a = 0; a < generators(); a++) {
+      generator(a, ta);
+      Complex tr = TensorRemove(trace(ta));
+      std::cout << GridLogMessage << a << " " << std::endl;
+      assert(abs(tr) < 1.0e-6);
+    }
+    std::cout << GridLogMessage << std::endl;
+
+    AMatrix adjTa;
+    std::cout << GridLogMessage << "Adjoint - Checking if real" << std::endl;
+    for (int a = 0; a < generators(); a++) {
+      generatorAdjoint(a, adjTa);
+      std::cout << GridLogMessage << a << std::endl;
+      assert(norm2(adjTa - conjugate(adjTa)) < 1.0e-6);
+    }
+    std::cout << GridLogMessage << std::endl;
+
+    std::cout << GridLogMessage << "Adjoint - Checking if antisymmetric" << std::endl;
+    for (int a = 0; a < generators(); a++) {
+      generatorAdjoint(a, adjTa);
+      std::cout << GridLogMessage << a << std::endl;
+      assert(norm2(adjTa + transpose(adjTa)) < 1.0e-6);
+    }
+    std::cout << GridLogMessage << std::endl;
+
+
+
 
-    std::cout<<GridLogMessage<<"Checking traceless"<<std::endl;
-    for(int a=0;a<generators();a++){
-      generator(a,ta);
-      Complex tr =TensorRemove(trace(ta)); 
-      std::cout<<GridLogMessage<<a<<" ";
-      assert(abs(tr)<1.0e-6);
-    }    
-    std::cout<<GridLogMessage<<std::endl;
   }
 
   // reunitarise??
-  template<typename LatticeMatrixType>
-  static void LieRandomize(GridParallelRNG     &pRNG,LatticeMatrixType &out,double scale=1.0){
+  template <typename LatticeMatrixType>
+  static void LieRandomize(GridParallelRNG &pRNG, LatticeMatrixType &out,
+                           double scale = 1.0) {
     GridBase *grid = out._grid;
-    
+
     typedef typename LatticeMatrixType::vector_type vector_type;
     typedef typename LatticeMatrixType::scalar_type scalar_type;
-    
+
     typedef iSinglet<vector_type> vTComplexType;
-    
+
     typedef Lattice<vTComplexType> LatticeComplexType;
-    typedef typename GridTypeMapper<typename LatticeMatrixType::vector_object>::scalar_object MatrixType;
-    
-    LatticeComplexType ca (grid);
-    LatticeMatrixType  lie(grid);
-    LatticeMatrixType  la (grid);
-    ComplexD ci(0.0,scale);
-    ComplexD cone(1.0,0.0);
+    typedef typename GridTypeMapper<
+        typename LatticeMatrixType::vector_object>::scalar_object MatrixType;
+
+    LatticeComplexType ca(grid);
+    LatticeMatrixType lie(grid);
+    LatticeMatrixType la(grid);
+    ComplexD ci(0.0, scale);
+    ComplexD cone(1.0, 0.0);
     MatrixType ta;
 
-    lie=zero;
-    for(int a=0;a<generators();a++){
+    lie = zero;
+    for (int a = 0; a < generators(); a++) {
+      random(pRNG, ca);
 
-      random(pRNG,ca); 
-
-      ca = (ca+conjugate(ca))*0.5;
+      ca = (ca + conjugate(ca)) * 0.5;
       ca = ca - 0.5;
 
-      generator(a,ta);
+      generator(a, ta);
 
-      la=ci*ca*ta;
+      la = ci * ca * ta;
 
-      lie = lie+la; // e^{i la ta}
+      lie = lie + la;  // e^{i la ta}
     }
-    taExp(lie,out);
+    taExp(lie, out);
   }
 
-  static void GaussianLieAlgebraMatrix(GridParallelRNG     &pRNG,LatticeMatrix &out,double scale=1.0){
+  static void GaussianFundamentalLieAlgebraMatrix(GridParallelRNG &pRNG,
+                                                  LatticeMatrix &out,
+                                                  Real scale = 1.0) {
     GridBase *grid = out._grid;
-    LatticeReal ca (grid);
-    LatticeMatrix  la (grid);
-    Complex ci(0.0,scale);
+    LatticeReal ca(grid);
+    LatticeMatrix la(grid);
+    Complex ci(0.0, scale);
     Matrix ta;
 
-    out=zero;
-    for(int a=0;a<generators();a++){
-      gaussian(pRNG,ca); 
-      generator(a,ta);
-      la=toComplex(ca)*ci*ta;
-      out += la; 
+    out = zero;
+    for (int a = 0; a < generators(); a++) {
+      gaussian(pRNG, ca);
+      generator(a, ta);
+      la = toComplex(ca) * ci * ta;
+      out += la;
     }
-
   }
 
-  template<typename GaugeField>
-  static void HotConfiguration(GridParallelRNG &pRNG,GaugeField &out){
+  static void FundamentalLieAlgebraMatrix(Vector<Real> &h, LatticeMatrix &out,
+                                          Real scale = 1.0) {
+    GridBase *grid = out._grid;
+    LatticeMatrix la(grid);
+    Matrix ta;
+
+    out = zero;
+    for (int a = 0; a < generators(); a++) {
+      generator(a, ta);
+      la = Complex(0.0, h[a]) * scale * ta;
+      out += la;
+    }
+  }
+
+  template <typename GaugeField>
+  static void HotConfiguration(GridParallelRNG &pRNG, GaugeField &out) {
     typedef typename GaugeField::vector_type vector_type;
     typedef iSUnMatrix<vector_type> vMatrixType;
     typedef Lattice<vMatrixType> LatticeMatrixType;
-    
+
     LatticeMatrixType Umu(out._grid);
-    for(int mu=0;mu<Nd;mu++){
-      LieRandomize(pRNG,Umu,1.0);
-      PokeIndex<LorentzIndex>(out,Umu,mu);
+    for (int mu = 0; mu < Nd; mu++) {
+      LieRandomize(pRNG, Umu, 1.0);
+      PokeIndex<LorentzIndex>(out, Umu, mu);
     }
   }
-  static void TepidConfiguration(GridParallelRNG &pRNG,LatticeGaugeField &out){
+  static void TepidConfiguration(GridParallelRNG &pRNG,
+                                 LatticeGaugeField &out) {
     LatticeMatrix Umu(out._grid);
-    for(int mu=0;mu<Nd;mu++){
-      LieRandomize(pRNG,Umu,0.01);
-      PokeIndex<LorentzIndex>(out,Umu,mu);
+    for (int mu = 0; mu < Nd; mu++) {
+      LieRandomize(pRNG, Umu, 0.01);
+      PokeIndex<LorentzIndex>(out, Umu, mu);
     }
   }
-  static void ColdConfiguration(GridParallelRNG &pRNG,LatticeGaugeField &out){
+  static void ColdConfiguration(GridParallelRNG &pRNG, LatticeGaugeField &out) {
     LatticeMatrix Umu(out._grid);
-    Umu=1.0;
-    for(int mu=0;mu<Nd;mu++){
-      PokeIndex<LorentzIndex>(out,Umu,mu);
+    Umu = 1.0;
+    for (int mu = 0; mu < Nd; mu++) {
+      PokeIndex<LorentzIndex>(out, Umu, mu);
     }
   }
 
-  static void taProj( const LatticeMatrix &in,  LatticeMatrix &out){
+  static void taProj(const LatticeMatrix &in, LatticeMatrix &out) {
     out = Ta(in);
   }
-  template<typename LatticeMatrixType>
-  static void taExp( const LatticeMatrixType &x,  LatticeMatrixType &ex){ 
-    typedef typename LatticeMatrixType::scalar_type ComplexType;    
-    
+  template <typename LatticeMatrixType>
+  static void taExp(const LatticeMatrixType &x, LatticeMatrixType &ex) {
+    typedef typename LatticeMatrixType::scalar_type ComplexType;
+
     LatticeMatrixType xn(x._grid);
     RealD nfac = 1.0;
 
     xn = x;
-    ex =xn+ComplexType(1.0); // 1+x
+    ex = xn + ComplexType(1.0);  // 1+x
 
     // Do a 12th order exponentiation
-    for(int i=2; i <= 12; ++i)
-    {
-      nfac = nfac/RealD(i); //1/2, 1/2.3 ...
-      xn   = xn * x; // x2, x3,x4....
-      ex   = ex+ xn*nfac;// x2/2!, x3/3!....
+    for (int i = 2; i <= 12; ++i) {
+      nfac = nfac / RealD(i);  // 1/2, 1/2.3 ...
+      xn = xn * x;             // x2, x3,x4....
+      ex = ex + xn * nfac;     // x2/2!, x3/3!....
     }
   }
-
 };
 
- typedef SU<2> SU2;
- typedef SU<3> SU3;
- typedef SU<4> SU4;
- typedef SU<5> SU5;
-
-  }
+typedef SU<2> SU2;
+typedef SU<3> SU3;
+typedef SU<4> SU4;
+typedef SU<5> SU5;
+}
 }
 #endif
diff --git a/tests/Test_contfrac_force.cc b/tests/Test_contfrac_force.cc
index b8a26d4d..0695537c 100644
--- a/tests/Test_contfrac_force.cc
+++ b/tests/Test_contfrac_force.cc
@@ -96,7 +96,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     PokeIndex<LorentzIndex>(mom,mommu,mu);
 
diff --git a/tests/Test_dwf_force.cc b/tests/Test_dwf_force.cc
index 389a7318..734d03a4 100644
--- a/tests/Test_dwf_force.cc
+++ b/tests/Test_dwf_force.cc
@@ -96,7 +96,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     PokeIndex<LorentzIndex>(mom,mommu,mu);
 
diff --git a/tests/Test_dwf_gpforce.cc b/tests/Test_dwf_gpforce.cc
index 4a8ceb5b..e336a924 100644
--- a/tests/Test_dwf_gpforce.cc
+++ b/tests/Test_dwf_gpforce.cc
@@ -113,7 +113,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     Hmom -= real(sum(trace(mommu*mommu)));
 
diff --git a/tests/Test_gp_rect_force.cc b/tests/Test_gp_rect_force.cc
index 51fcb7dd..c05f46ce 100644
--- a/tests/Test_gp_rect_force.cc
+++ b/tests/Test_gp_rect_force.cc
@@ -82,7 +82,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     PokeIndex<LorentzIndex>(mom,mommu,mu);
 
diff --git a/tests/Test_gpdwf_force.cc b/tests/Test_gpdwf_force.cc
index c600a2ff..3df2dc36 100644
--- a/tests/Test_gpdwf_force.cc
+++ b/tests/Test_gpdwf_force.cc
@@ -100,7 +100,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     PokeIndex<LorentzIndex>(mom,mommu,mu);
 
@@ -169,7 +169,7 @@ int main (int argc, char ** argv)
   //
   //	Pmu = zero;
   //	for(int mu=0;mu<Nd;mu++){
-  //	  SU<Ncol>::GaussianLieAlgebraMatrix(pRNG, Pmu);
+  //	  SU<Ncol>::GaussianFundamentalLieAlgebraMatrix(pRNG, Pmu);
   //	  PokeIndex<LorentzIndex>(P, Pmu, mu);
   //	}
   //
diff --git a/tests/Test_lie_generators.cc b/tests/Test_lie_generators.cc
index 02620718..11dba39c 100644
--- a/tests/Test_lie_generators.cc
+++ b/tests/Test_lie_generators.cc
@@ -1,70 +1,74 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./tests/Test_lie_generators.cc
+Source file: ./tests/Test_lie_generators.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include <Grid.h>
 
 #include <qcd/utils/CovariantCshift.h>
-#include <qcd/utils/WilsonLoops.h>
 #include <qcd/utils/SUn.h>
+#include <qcd/utils/WilsonLoops.h>
 
 using namespace std;
 using namespace Grid;
 using namespace Grid::QCD;
 
+int main(int argc, char** argv) {
+  Grid_init(&argc, &argv);
 
-int main (int argc, char ** argv)
-{
-  Grid_init(&argc,&argv);
+  std::vector<int> latt({4, 4, 4, 8});
+  GridCartesian* grid = SpaceTimeGrid::makeFourDimGrid(
+      latt, GridDefaultSimd(Nd, vComplex::Nsimd()), GridDefaultMpi());
 
-  std::vector<int> latt({4,4,4,8});
-  GridCartesian * grid = SpaceTimeGrid::makeFourDimGrid(latt, 
-							GridDefaultSimd(Nd,vComplex::Nsimd()),
-							GridDefaultMpi());
-  
-  GridRedBlackCartesian * rbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(grid);
+  GridRedBlackCartesian* rbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(grid);
 
-  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
-  std::cout<<GridLogMessage<<"* Generators for SU(2)"<<std::endl;
-  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+  std::cout << GridLogMessage << "* Generators for SU(2)" << std::endl;
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
   SU2::printGenerators();
+  SU2::printAdjointGenerators();
   SU2::testGenerators();
 
-  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
-  std::cout<<GridLogMessage<<"* Generators for SU(3)"<<std::endl;
-  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+  std::cout << GridLogMessage << "* Generators for SU(3)" << std::endl;
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
   SU3::printGenerators();
+  SU3::printAdjointGenerators();
   SU3::testGenerators();
 
-  //  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
-  //  std::cout<<GridLogMessage<<"* Generators for SU(4)"<<std::endl;
-  //  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
-  //  SU4::printGenerators();
-  //  SU4::testGenerators();
+  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
+  std::cout<<GridLogMessage<<"* Generators for SU(4)"<<std::endl;
+  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
+  SU4::printGenerators();
+  SU4::testGenerators();
 
   //  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
   //  std::cout<<GridLogMessage<<"* Generators for SU(5)"<<std::endl;
@@ -72,8 +76,5 @@ int main (int argc, char ** argv)
   //  SU5::printGenerators();
   //  SU5::testGenerators();
 
-
   Grid_finalize();
 }
-
-
diff --git a/tests/Test_partfrac_force.cc b/tests/Test_partfrac_force.cc
index e94a1ed4..a56c8a0d 100644
--- a/tests/Test_partfrac_force.cc
+++ b/tests/Test_partfrac_force.cc
@@ -96,7 +96,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     PokeIndex<LorentzIndex>(mom,mommu,mu);
 
diff --git a/tests/Test_rect_force.cc b/tests/Test_rect_force.cc
index f437fa21..32a8a7cd 100644
--- a/tests/Test_rect_force.cc
+++ b/tests/Test_rect_force.cc
@@ -81,7 +81,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     PokeIndex<LorentzIndex>(mom,mommu,mu);
 
diff --git a/tests/Test_wilson_force.cc b/tests/Test_wilson_force.cc
index 751c0896..7ac21852 100644
--- a/tests/Test_wilson_force.cc
+++ b/tests/Test_wilson_force.cc
@@ -93,7 +93,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     Hmom -= real(sum(trace(mommu*mommu)));
 
diff --git a/tests/Test_wilson_force_phiMdagMphi.cc b/tests/Test_wilson_force_phiMdagMphi.cc
index c89f30e2..5a19d58d 100644
--- a/tests/Test_wilson_force_phiMdagMphi.cc
+++ b/tests/Test_wilson_force_phiMdagMphi.cc
@@ -103,7 +103,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     //    Dw.DoubleStore(Dw.Umu,Uprime); // update U _and_ Udag
     Dw.DhopDirDisp(phi,Ftmp,mu,mu+4,DaggerYes); 
diff --git a/tests/Test_wilson_force_phiMphi.cc b/tests/Test_wilson_force_phiMphi.cc
index a7d00a71..0728aba2 100644
--- a/tests/Test_wilson_force_phiMphi.cc
+++ b/tests/Test_wilson_force_phiMphi.cc
@@ -86,7 +86,7 @@ int main (int argc, char ** argv)
   LatticeColourMatrix Umu_save(&Grid);
   LatticeColourMatrix dU (&Grid);
   LatticeColourMatrix mom(&Grid); 
-  SU3::GaussianLieAlgebraMatrix(pRNG, mom); // Traceless antihermitian momentum; gaussian in lie alg
+  SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mom); // Traceless antihermitian momentum; gaussian in lie alg
 
 
   // check mom is as i expect

From daea5297eecb03d3c884f06ffe5c0f1b9cd0dfdb Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 8 Jul 2016 16:14:16 +0100
Subject: [PATCH 041/295] Wrote the projector in the adjoint representation
 algebra

---
 lib/qcd/utils/SUn.h | 34 ++++++++++++++++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index 048e17c4..c884ad37 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -47,6 +47,10 @@ class SU {
   using iSU2Matrix = iScalar<iScalar<iMatrix<vtype, 2> > >;
   template <typename vtype>
   using iSUnAdjointMatrix = iScalar<iScalar<iMatrix<vtype, (ncolour*ncolour - 1)> > >;
+  template <typename vtype>
+  using iSUnAlgebraVector = iScalar<iScalar<iVector<vtype , (ncolour*ncolour -1)> > >;
+
+
 
   //////////////////////////////////////////////////////////////////////////////////////////////////
   // Types can be accessed as SU<2>::Matrix , SU<2>::vSUnMatrix,
@@ -70,10 +74,25 @@ class SU {
   typedef iSUnAdjointMatrix<vComplexF> vAMatrixF;
   typedef iSUnAdjointMatrix<vComplexD> vAMatrixD;
 
+  // For the projectors to the algebra
+  // these should be real...
+  // keeping complex for consistency with the SIMD vector types
+  typedef iSUnAlgebraVector<Complex> AlgebraVector;
+  typedef iSUnAlgebraVector<ComplexF> AlgebraVectorF;
+  typedef iSUnAlgebraVector<ComplexD> AlgebraVectorD;
+
+  typedef iSUnAlgebraVector<vComplex> vAlgebraVector;
+  typedef iSUnAlgebraVector<vComplexF> vAlgebraVectorF;
+  typedef iSUnAlgebraVector<vComplexD> vAlgebraVectorD;
+
   typedef Lattice<vMatrix> LatticeMatrix;
   typedef Lattice<vMatrixF> LatticeMatrixF;
   typedef Lattice<vMatrixD> LatticeMatrixD;
 
+  typedef Lattice<vAlgebraVector> LatticeAlgebraVector;
+  typedef Lattice<vAlgebraVectorF> LatticeAlgebraVectorF;
+  typedef Lattice<vAlgebraVectorD> LatticeAlgebraVectorD;
+
   typedef iSU2Matrix<Complex> SU2Matrix;
   typedef iSU2Matrix<ComplexF> SU2MatrixF;
   typedef iSU2Matrix<ComplexD> SU2MatrixD;
@@ -713,7 +732,7 @@ class SU {
     }
   }
 
-  static void FundamentalLieAlgebraMatrix(Vector<Real> &h, LatticeMatrix &out,
+  static void FundamentalLieAlgebraMatrix(LatticeAlgebraVector &h, LatticeMatrix &out,
                                           Real scale = 1.0) {
     GridBase *grid = out._grid;
     LatticeMatrix la(grid);
@@ -722,11 +741,22 @@ class SU {
     out = zero;
     for (int a = 0; a < generators(); a++) {
       generator(a, ta);
-      la = Complex(0.0, h[a]) * scale * ta;
+      la = peekColour(h,a) * scale * ta;
       out += la;
     }
   }
 
+  static void projectAdjointAlgebra(LatticeAlgebraVector &h_out, LatticeMatrix &in){
+    GridBase *grid = in._grid;
+    AMatrix iTa;
+
+    for (int a = 0; a< generators(); a++){
+      generatorAdjoint(a, iTa);
+      AlgebraVector tmp = real(trace(iTa * in));//*factor
+      pokeColour(h_out, tmp, a);
+    }
+  }
+
   template <typename GaugeField>
   static void HotConfiguration(GridParallelRNG &pRNG, GaugeField &out) {
     typedef typename GaugeField::vector_type vector_type;

From ef97e32152773f409c43fb60f18217efbf9300d5 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 8 Jul 2016 17:16:08 +0100
Subject: [PATCH 042/295] Adding persistent communicators

---
 benchmarks/Benchmark_comms.cc             | 121 ++++++++++++
 lib/cartesian/Cartesian_red_black.h       |  16 +-
 lib/communicator/Communicator_base.h      |   9 +
 lib/communicator/Communicator_mpi.cc      |  35 ++--
 lib/communicator/Communicator_none.cc     |  13 ++
 lib/communicator/Communicator_shmem.cc    |  13 ++
 lib/lattice/Lattice_base.h                |   1 +
 lib/qcd/QCD.h                             |   6 +
 lib/qcd/action/fermion/CayleyFermion5D.cc | 214 +++++++++++++++-------
 lib/qcd/action/fermion/CayleyFermion5D.h  |   6 +
 prerequisites/Makefile.am                 |   4 +-
 tests/Makefile.am                         |   4 +-
 12 files changed, 347 insertions(+), 95 deletions(-)

diff --git a/benchmarks/Benchmark_comms.cc b/benchmarks/Benchmark_comms.cc
index 1c954be8..7162a0f9 100644
--- a/benchmarks/Benchmark_comms.cc
+++ b/benchmarks/Benchmark_comms.cc
@@ -196,5 +196,126 @@ int main (int argc, char ** argv)
 
 
 
+  std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
+  std::cout<<GridLogMessage << "= Benchmarking sequential persistent halo exchange in "<<nmu<<" dimensions"<<std::endl;
+  std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
+  std::cout<<GridLogMessage << "  L  "<<"\t\t"<<" Ls  "<<"\t\t"<<"bytes"<<"\t\t"<<"MB/s uni"<<"\t\t"<<"MB/s bidi"<<std::endl;
+
+
+  for(int lat=4;lat<=32;lat+=2){
+    for(int Ls=1;Ls<=16;Ls*=2){
+
+      std::vector<int> latt_size  ({lat,lat,lat,lat});
+
+      GridCartesian     Grid(latt_size,simd_layout,mpi_layout);
+
+      std::vector<std::vector<HalfSpinColourVectorD> > xbuf(8,std::vector<HalfSpinColourVectorD>(lat*lat*lat*Ls));
+      std::vector<std::vector<HalfSpinColourVectorD> > rbuf(8,std::vector<HalfSpinColourVectorD>(lat*lat*lat*Ls));
+
+
+      int ncomm;
+      int bytes=lat*lat*lat*Ls*sizeof(HalfSpinColourVectorD);
+
+
+      std::vector<CartesianCommunicator::CommsRequest_t> empty;
+      std::vector<std::vector<CartesianCommunicator::CommsRequest_t> > requests_fwd(Nd,empty);
+      std::vector<std::vector<CartesianCommunicator::CommsRequest_t> > requests_bwd(Nd,empty);
+
+      for(int mu=0;mu<4;mu++){
+	ncomm=0;
+	if (mpi_layout[mu]>1 ) {
+	  ncomm++;
+
+	  int comm_proc;
+	  int xmit_to_rank;
+	  int recv_from_rank;
+
+	  comm_proc=1;
+	  Grid.ShiftedRanks(mu,comm_proc,xmit_to_rank,recv_from_rank);
+	  Grid.SendToRecvFromInit(requests_fwd[mu],
+				  (void *)&xbuf[mu][0],
+				  xmit_to_rank,
+				  (void *)&rbuf[mu][0],
+				  recv_from_rank,
+				  bytes);
+
+	  comm_proc = mpi_layout[mu]-1;
+	  Grid.ShiftedRanks(mu,comm_proc,xmit_to_rank,recv_from_rank);
+	  Grid.SendToRecvFromInit(requests_bwd[mu],
+				  (void *)&xbuf[mu+4][0],
+				  xmit_to_rank,
+				  (void *)&rbuf[mu+4][0],
+				  recv_from_rank,
+				  bytes);
+
+	}
+      }
+
+      {
+	double start=usecond();
+	for(int i=0;i<Nloop;i++){
+	  
+	  for(int mu=0;mu<4;mu++){
+	    
+	    if (mpi_layout[mu]>1 ) {
+	      
+	      Grid.SendToRecvFromBegin(requests_fwd[mu]);
+	      Grid.SendToRecvFromComplete(requests_fwd[mu]);
+	      Grid.SendToRecvFromBegin(requests_bwd[mu]);
+	      Grid.SendToRecvFromComplete(requests_bwd[mu]);
+	    }
+	  }
+	  Grid.Barrier();
+	}
+	
+	double stop=usecond();
+	
+	double dbytes    = bytes;
+	double xbytes    = Nloop*dbytes*2.0*ncomm;
+	double rbytes    = xbytes;
+	double bidibytes = xbytes+rbytes;
+	
+	double time = stop-start;
+	
+	std::cout<<GridLogMessage << lat<<"\t\t"<<Ls<<"\t\t"<<bytes<<"\t\t"<<xbytes/time<<"\t\t"<<bidibytes/time<<std::endl;
+
+      }
+
+
+      {
+	double start=usecond();
+	for(int i=0;i<Nloop;i++){
+	  
+	  for(int mu=0;mu<4;mu++){
+	    
+	    if (mpi_layout[mu]>1 ) {
+	      
+	      Grid.SendToRecvFromBegin(requests_fwd[mu]);
+	      Grid.SendToRecvFromBegin(requests_bwd[mu]);
+	      Grid.SendToRecvFromComplete(requests_fwd[mu]);
+	      Grid.SendToRecvFromComplete(requests_bwd[mu]);
+	    }
+	  }
+	  Grid.Barrier();
+	}
+	
+	double stop=usecond();
+	
+	double dbytes    = bytes;
+	double xbytes    = Nloop*dbytes*2.0*ncomm;
+	double rbytes    = xbytes;
+	double bidibytes = xbytes+rbytes;
+	
+	double time = stop-start;
+	
+	std::cout<<GridLogMessage << lat<<"\t\t"<<Ls<<"\t\t"<<bytes<<"\t\t"<<xbytes/time<<"\t\t"<<bidibytes/time<<std::endl;
+
+      }
+
+    }
+  }
+
+
+
   Grid_finalize();
 }
diff --git a/lib/cartesian/Cartesian_red_black.h b/lib/cartesian/Cartesian_red_black.h
index 2424d8dc..6077887a 100644
--- a/lib/cartesian/Cartesian_red_black.h
+++ b/lib/cartesian/Cartesian_red_black.h
@@ -32,17 +32,11 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
 namespace Grid {
 
-    static const int CbRed  =0;
-    static const int CbBlack=1;
-    static const int Even   =CbRed;
-    static const int Odd    =CbBlack;
-
-    // Perhaps these are misplaced and 
-    // should be in sparse matrix.
-    // Also should make these a named enum type
-    static const int DaggerNo=0;
-    static const int DaggerYes=1;
-
+  static const int CbRed  =0;
+  static const int CbBlack=1;
+  static const int Even   =CbRed;
+  static const int Odd    =CbBlack;
+    
 // Specialise this for red black grids storing half the data like a chess board.
 class GridRedBlackCartesian : public GridBase
 {
diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index 94d277e9..dd19c4f4 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -127,12 +127,21 @@ class CartesianCommunicator {
 			int recv_from_rank,
 			int bytes);
 
+    void SendToRecvFromInit(std::vector<CommsRequest_t> &list,
+			    void *xmit,
+			    int xmit_to_rank,
+			    void *recv,
+			    int recv_from_rank,
+			    int bytes);
+
     void SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
 			 void *xmit,
 			 int xmit_to_rank,
 			 void *recv,
 			 int recv_from_rank,
 			 int bytes);
+
+    void SendToRecvFromBegin(std::vector<CommsRequest_t> &list);
     void SendToRecvFromComplete(std::vector<CommsRequest_t> &waitall);
 
     ////////////////////////////////////////////////////////////
diff --git a/lib/communicator/Communicator_mpi.cc b/lib/communicator/Communicator_mpi.cc
index dff9811a..27455078 100644
--- a/lib/communicator/Communicator_mpi.cc
+++ b/lib/communicator/Communicator_mpi.cc
@@ -144,6 +144,28 @@ void CartesianCommunicator::SendRecvPacket(void *xmit,
 }
 
 // Basic Halo comms primitive
+// Basic Halo comms primitive
+void CartesianCommunicator::SendToRecvFromInit(std::vector<CommsRequest_t> &list,
+					       void *xmit,
+					       int dest,
+					       void *recv,
+					       int from,
+					       int bytes)
+{
+  MPI_Request xrq;
+  MPI_Request rrq;
+  int rank = _processor;
+  int ierr;
+  ierr =MPI_Send_init(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
+  ierr|=MPI_Recv_init(recv, bytes, MPI_CHAR,dest,_processor,communicator,&rrq);
+  assert(ierr==0);
+  list.push_back(xrq);
+  list.push_back(rrq);
+}
+void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list)
+{
+  MPI_Startall(list.size(),&list[0]);
+}
 void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
 						void *xmit,
 						int dest,
@@ -151,17 +173,8 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 						int from,
 						int bytes)
 {
-  MPI_Request xrq;
-  MPI_Request rrq;
-  int rank = _processor;
-  int ierr;
-  ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
-  ierr|=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
-  
-  assert(ierr==0);
-
-  list.push_back(xrq);
-  list.push_back(rrq);
+  SendToRecvFromInit(list,xmit,dest,recv,from,bytes);
+  SendToRecvFromBegin(list);
 }
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {
diff --git a/lib/communicator/Communicator_none.cc b/lib/communicator/Communicator_none.cc
index 8601255a..2873462a 100644
--- a/lib/communicator/Communicator_none.cc
+++ b/lib/communicator/Communicator_none.cc
@@ -84,6 +84,19 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 {
   assert(0);
 }
+void CartesianCommunicator::SendToRecvFromInit(std::vector<CommsRequest_t> &list,
+						void *xmit,
+						int dest,
+						void *recv,
+						int from,
+						int bytes)
+{
+  assert(0);
+}
+void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list)
+{
+  assert(0);
+}
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {
   assert(0);
diff --git a/lib/communicator/Communicator_shmem.cc b/lib/communicator/Communicator_shmem.cc
index 091e266e..c415b13d 100644
--- a/lib/communicator/Communicator_shmem.cc
+++ b/lib/communicator/Communicator_shmem.cc
@@ -268,6 +268,10 @@ void CartesianCommunicator::SendRecvPacket(void *xmit,
 }
 
 // Basic Halo comms primitive
+void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list)
+{
+  assert(0); //unimplemented
+}
 void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
 						void *xmit,
 						int dest,
@@ -280,6 +284,15 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
   //  shmem_putmem_nb(recv,xmit,bytes,dest,NULL);
   shmem_putmem(recv,xmit,bytes,dest);
 }
+void CartesianCommunicator::SendToRecvFromInit(std::vector<CommsRequest_t> &list,
+						void *xmit,
+						int dest,
+						void *recv,
+						int from,
+						int bytes)
+{
+  assert(0); // Unimplemented
+}
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {
   //  shmem_quiet();      // I'm done
diff --git a/lib/lattice/Lattice_base.h b/lib/lattice/Lattice_base.h
index dff6130d..fb679323 100644
--- a/lib/lattice/Lattice_base.h
+++ b/lib/lattice/Lattice_base.h
@@ -101,6 +101,7 @@ public:
     int begin(void) { return 0;};
     int end(void)   { return _odata.size(); }
     vobj & operator[](int i) { return _odata[i]; };
+    const vobj & operator[](int i) const { return _odata[i]; };
 
 public:
     typedef typename vobj::scalar_type scalar_type;
diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index 835878d9..e537c348 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -60,6 +60,12 @@ namespace QCD {
     static const int SpinIndex   = 1;
     static const int LorentzIndex= 0;
 
+    // Also should make these a named enum type
+    static const int DaggerNo=0;
+    static const int DaggerYes=1;
+    static const int InverseNo=0;
+    static const int InverseYes=1;
+
     // Useful traits is this a spin index
     //typename std::enable_if<matchGridTensorIndex<iVector<vtype,Ns>,SpinorIndex>::value,iVector<vtype,Ns> >::type *SFINAE;
 
diff --git a/lib/qcd/action/fermion/CayleyFermion5D.cc b/lib/qcd/action/fermion/CayleyFermion5D.cc
index 0ebcfb82..a60c1b6f 100644
--- a/lib/qcd/action/fermion/CayleyFermion5D.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5D.cc
@@ -28,7 +28,11 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
+#include <Grid/Eigen/Dense>
+
 #include <Grid.h>
+
+
 namespace Grid {
 namespace QCD {
 
@@ -95,22 +99,6 @@ namespace QCD {
     FermionField Din(psi._grid);
 
     // Assemble Din
-    /*
-    for(int s=0;s<Ls;s++){
-      if ( s==0 ) {
-	//	Din = bs psi[s] + cs[s] psi[s+1}
-	axpby_ssp_pminus(Din,bs[s],psi,cs[s],psi,s,s+1);
-	//      Din+= -mass*cs[s] psi[s+1}
-	axpby_ssp_pplus (Din,1.0,Din,-mass*cs[s],psi,s,Ls-1);
-      } else if ( s==(Ls-1)) { 
-	axpby_ssp_pminus(Din,bs[s],psi,-mass*cs[s],psi,s,0);
-	axpby_ssp_pplus (Din,1.0,Din,cs[s],psi,s,s-1);
-      } else {
-	axpby_ssp_pminus(Din,bs[s],psi,cs[s],psi,s,s+1);
-	axpby_ssp_pplus(Din,1.0,Din,cs[s],psi,s,s-1);
-      }
-    }
-    */
     Meooe5D(psi,Din);
 
     this->DW(Din,chi,DaggerNo);
@@ -152,18 +140,6 @@ namespace QCD {
       // Collect the terms in DW
       //	Chi = bs Din[s] + cs[s] Din[s+1}
       //    Chi+= -mass*cs[s] psi[s+1}
-      /*
-      if ( s==0 ) {
-	axpby_ssp_pplus (chi,bs[s],Din,cs[s+1],Din,s,s+1);
-	axpby_ssp_pminus(chi,1.0,chi,-mass*cs[Ls-1],Din,s,Ls-1);
-      } else if ( s==(Ls-1)) { 
-	axpby_ssp_pplus (chi,bs[s],Din,-mass*cs[0],Din,s,0);
-	axpby_ssp_pminus(chi,1.0,chi,cs[s-1],Din,s,s-1);
-      } else {
-	axpby_ssp_pplus (chi,bs[s],Din,cs[s+1],Din,s,s+1);
-	axpby_ssp_pminus(chi,1.0,chi,cs[s-1],Din,s,s-1);
-      }
-      */
 
       // FIXME just call MooeeDag??
 
@@ -193,24 +169,6 @@ namespace QCD {
     FermionField tmp(psi._grid);
     // Assemble the 5d matrix
     Meooe5D(psi,tmp); 
-#if 0
-    std::cout << "Meooe Test replacement norm2 tmp = " <<norm2(tmp)<<std::endl;
-    for(int s=0;s<Ls;s++){
-      if ( s==0 ) {
-	//	tmp = bs psi[s] + cs[s] psi[s+1}
-	//      tmp+= -mass*cs[s] psi[s+1}
-	axpby_ssp_pminus(tmp,beo[s],psi,-ceo[s],psi ,s, s+1);
-	axpby_ssp_pplus(tmp,1.0,tmp,mass*ceo[s],psi,s,Ls-1);
-      } else if ( s==(Ls-1)) { 
-	axpby_ssp_pminus(tmp,beo[s],psi,mass*ceo[s],psi,s,0);
-	axpby_ssp_pplus(tmp,1.0,tmp,-ceo[s],psi,s,s-1);
-      } else {
-	axpby_ssp_pminus(tmp,beo[s],psi,-ceo[s],psi,s,s+1);
-	axpby_ssp_pplus (tmp,1.0,tmp,-ceo[s],psi,s,s-1);
-      }
-    }
-    std::cout << "Meooe Test replacement norm2 tmp old = " <<norm2(tmp)<<std::endl;
-#endif
 
     // Apply 4d dslash
     if ( psi.checkerboard == Odd ) {
@@ -232,28 +190,10 @@ namespace QCD {
     }
 
     MeooeDag5D(tmp,chi); 
-#if 0
-    std::cout << "Meooe Test replacement norm2 chi new = " <<norm2(chi)<<std::endl;
-    // Assemble the 5d matrix
-    int Ls=this->Ls;
-    for(int s=0;s<Ls;s++){
-      if ( s==0 ) {
-	axpby_ssp_pplus(chi,beo[s],tmp,   -ceo[s+1]  ,tmp,s,s+1);
-	axpby_ssp_pminus(chi,   1.0,chi,mass*ceo[Ls-1],tmp,s,Ls-1);
-      } else if ( s==(Ls-1)) { 
-	axpby_ssp_pplus(chi,beo[s],tmp,mass*ceo[0],tmp,s,0);
-	axpby_ssp_pminus(chi,1.0,chi,-ceo[s-1],tmp,s,s-1);
-      } else {
-	axpby_ssp_pplus(chi,beo[s],tmp,-ceo[s+1],tmp,s,s+1);
-	axpby_ssp_pminus(chi,1.0   ,chi,-ceo[s-1],tmp,s,s-1);
-      }
-    }
-    std::cout << "Meooe Test replacement norm2 chi old = " <<norm2(chi)<<std::endl;
-#endif
 
   }
 
- template<class Impl>
+  template<class Impl>
   void CayleyFermion5D<Impl>::Mooee       (const FermionField &psi, FermionField &chi)
   {
     int Ls=this->Ls;
@@ -269,6 +209,10 @@ namespace QCD {
 	axpby_ssp_pplus (chi,1.0,chi,-cee[s],psi,s,s-1);
       }
     }
+    FermionField temp(psi._grid);
+    this->MooeeDenseInternal(psi,temp,DaggerNo,InverseNo);
+    temp = temp - chi;
+    std::cout << "Difference between dense and normal "<<  norm2(temp) <<std::endl;
   }
 
  template<class Impl>
@@ -294,7 +238,7 @@ namespace QCD {
     this->DhopDir(tmp,chi,dir,disp);
   }
 
- template<class Impl>
+  template<class Impl>
   void CayleyFermion5D<Impl>::MooeeDag    (const FermionField &psi, FermionField &chi)
   {
     int Ls=this->Ls;
@@ -311,11 +255,139 @@ namespace QCD {
 	axpby_ssp_pminus(chi,1.0   ,chi,-cee[s-1],psi,s,s-1);
       }
     }
+    FermionField temp(psi._grid);
+    this->MooeeDenseInternal(psi,temp,DaggerYes,InverseNo);
+    temp = temp - chi;
+    std::cout << "Difference between dense and normal "<<  norm2(temp) <<std::endl;
   }
 
- template<class Impl>
+  template<class Impl>
   void CayleyFermion5D<Impl>::MooeeInv    (const FermionField &psi, FermionField &chi)
   {
+    FermionField temp(psi._grid);
+    this->MooeeLDUInv(psi,chi);
+    this->MooeeDenseInv(psi,temp);
+    temp = temp - chi;
+    std::cout << "Difference between dense and normal "<<  norm2(temp) <<std::endl;
+  }
+
+  template<class Impl>
+  void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
+  {
+    FermionField temp(psi._grid);
+    this->MooeeLDUInvDag(psi,chi);
+    this->MooeeDenseInvDag(psi,temp);
+    temp = temp - chi;
+    std::cout << "Difference between dense and normal "<<  norm2(temp) <<std::endl;
+  }
+
+  template<class Impl>
+  void CayleyFermion5D<Impl>::MooeeDenseInvDag (const FermionField &psi, FermionField &chi)
+  {
+    this->MooeeDenseInternal(psi,chi,DaggerYes,InverseYes);
+  }
+
+  template<class Impl>
+  void CayleyFermion5D<Impl>::MooeeDenseInv(const FermionField &psi, FermionField &chi)
+  {
+    this->MooeeDenseInternal(psi,chi,DaggerNo,InverseYes);
+  }
+
+  template<class Impl>
+  void CayleyFermion5D<Impl>::MooeeDenseInternal(const FermionField &psi, FermionField &chi,int dag, int inv)
+  {
+    int Ls=this->Ls;
+    int LLs = psi._grid->_rdimensions[0];
+    int vol = psi._grid->oSites()/LLs;
+
+    chi.checkerboard=psi.checkerboard;
+
+    assert(Ls==LLs);
+
+    Eigen::MatrixXd Pplus  = Eigen::MatrixXd::Zero(Ls,Ls);
+    Eigen::MatrixXd Pminus = Eigen::MatrixXd::Zero(Ls,Ls);
+
+    for(int s=0;s<Ls;s++){
+      Pplus(s,s) = bee[s];
+      Pminus(s,s)= bee[s];
+    }
+
+    for(int s=0;s<Ls-1;s++){
+      Pminus(s,s+1) = -cee[s];
+    }
+
+    for(int s=0;s<Ls-1;s++){
+      Pplus(s+1,s) = -cee[s];
+    }
+
+    std::cout << " Pplus  "<<Pplus<<std::endl;
+    std::cout << " Pminus "<<Pminus<<std::endl;
+    Pplus (0,Ls-1) = mass*cee[0];
+    Pminus(Ls-1,0) = mass*cee[Ls-1];
+    
+    Eigen::MatrixXd PplusMat ;
+    Eigen::MatrixXd PminusMat;
+
+    if ( inv ) {
+      PplusMat =Pplus.inverse();
+      PminusMat=Pminus.inverse();
+    } else { 
+      PplusMat =Pplus;
+      PminusMat=Pminus;
+    }
+
+    if(dag){
+      PplusMat.adjointInPlace();
+      PminusMat.adjointInPlace();
+    }
+
+    // For the non-vectorised s-direction this is simple
+PARALLEL_FOR_LOOP
+    for(auto site=0;site<vol;site++){
+
+      SiteSpinor     SiteChi;
+      SiteHalfSpinor SitePplus;
+      SiteHalfSpinor SitePminus;
+
+      for(int s1=0;s1<Ls;s1++){
+	SiteChi =zero;
+	for(int s2=0;s2<Ls;s2++){
+	  int lex2 = s2+Ls*site;
+
+	  if ( PplusMat(s1,s2) != 0.0 ) {
+	    spProj5p(SitePplus,psi[lex2]);
+	    accumRecon5p(SiteChi,PplusMat (s1,s2)*SitePplus);
+	  }
+	  
+	  if ( PminusMat(s1,s2) != 0.0 ) {
+	    spProj5m(SitePminus,psi[lex2]);
+	    accumRecon5m(SiteChi,PminusMat(s1,s2)*SitePminus);
+	  }
+	}
+	chi[s1+Ls*site] = SiteChi;
+      }
+    }
+    // For the non-vectorised s-direction we have more work to do in an alternate implementation
+    // 
+    //  ai = Mij bj
+    //
+    //  where b == {b0} {b1}.. 
+    //
+    //  Best to load/bcast b0
+    //  
+    //   ai  = Mi0 b0
+    //   for(int i=0;i<Ls;i++){
+    //     ai += Mij bj
+    //   }
+    //
+    //   For rb5d shamir DWF, the Moo is proportional to the identity
+    //   For rb4d Moo, we need to set a vector of coeffs, and use a stencil type construct, which is cheap.
+  }
+
+  template<class Impl>
+  void CayleyFermion5D<Impl>::MooeeLDUInv    (const FermionField &psi, FermionField &chi)
+  {
+    chi.checkerboard=psi.checkerboard;
     int Ls=this->Ls;
     // Apply (L^{\prime})^{-1}
     axpby_ssp (chi,1.0,psi,     0.0,psi,0,0);      // chi[0]=psi[0]
@@ -340,8 +412,9 @@ namespace QCD {
   }
 
  template<class Impl>
-  void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
+  void CayleyFermion5D<Impl>::MooeeLDUInvDag (const FermionField &psi, FermionField &chi)
   {
+    chi.checkerboard=psi.checkerboard;
     int Ls=this->Ls;
     // Apply (U^{\prime})^{-dagger}
     axpby_ssp (chi,1.0,psi,     0.0,psi,0,0);      // chi[0]=psi[0]
@@ -364,6 +437,7 @@ namespace QCD {
     }
   }
 
+
   // force terms; five routines; default to Dhop on diagonal
   template<class Impl>
   void CayleyFermion5D<Impl>::MDeriv  (GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
@@ -416,7 +490,6 @@ namespace QCD {
   void CayleyFermion5D<Impl>::SetCoefficientsTanh(Approx::zolotarev_data *zdata,RealD b,RealD c)
   {
     SetCoefficientsZolotarev(1.0,zdata,b,c);
-
   }
   //Zolo
  template<class Impl>
@@ -524,8 +597,11 @@ namespace QCD {
       for(int j=0;j<Ls-1;j++) delta_d *= cee[j]/bee[j];
       dee[Ls-1] += delta_d;
     }
+
   }
 
+
+
   FermOpTemplateInstantiate(CayleyFermion5D);
   GparityFermOpTemplateInstantiate(CayleyFermion5D);
 
diff --git a/lib/qcd/action/fermion/CayleyFermion5D.h b/lib/qcd/action/fermion/CayleyFermion5D.h
index 3847f64f..01c278d5 100644
--- a/lib/qcd/action/fermion/CayleyFermion5D.h
+++ b/lib/qcd/action/fermion/CayleyFermion5D.h
@@ -51,6 +51,11 @@ namespace Grid {
       virtual void   MooeeDag    (const FermionField &in, FermionField &out);
       virtual void   MooeeInv    (const FermionField &in, FermionField &out);
       virtual void   MooeeInvDag (const FermionField &in, FermionField &out);
+      virtual void   MooeeLDUInv    (const FermionField &in, FermionField &out);
+      virtual void   MooeeLDUInvDag (const FermionField &in, FermionField &out);
+      virtual void   MooeeDenseInv    (const FermionField &in, FermionField &out);
+      virtual void   MooeeDenseInvDag (const FermionField &in, FermionField &out);
+      void   MooeeDenseInternal(const FermionField &in, FermionField &out,int dag,int inv);
       virtual void   Instantiatable(void)=0;
 
       // force terms; five routines; default to Dhop on diagonal
@@ -94,6 +99,7 @@ namespace Grid {
 		      GridRedBlackCartesian &FourDimRedBlackGrid,
 		      RealD _mass,RealD _M5,const ImplParams &p= ImplParams());
 
+
     protected:
       void SetCoefficientsZolotarev(RealD zolohi,Approx::zolotarev_data *zdata,RealD b,RealD c);
       void SetCoefficientsTanh(Approx::zolotarev_data *zdata,RealD b,RealD c);
diff --git a/prerequisites/Makefile.am b/prerequisites/Makefile.am
index 97c73382..401817ae 100644
--- a/prerequisites/Makefile.am
+++ b/prerequisites/Makefile.am
@@ -20,10 +20,10 @@ $(top_srcdir)/prerequisites/$(FFTWTAR):
 
 Eigen:  $(top_srcdir)/prerequisites/$(EIGENTAR)
 	tar xvf $(top_srcdir)/prerequisites/$(EIGENTAR)
-	- rm -rf  ../include/Grid/Eigen
+	- rm -rf  $(top_srcdir)/lib/Eigen
 	mv eigen-eigen*/Eigen .
 	echo EFILES=`find Eigen -type f -name '*.h' ` > $(top_srcdir)/lib/Eigen.inc
-	mv Eigen ../include/Grid/
+	mv Eigen $(top_srcdir)/lib/
 	touch Eigen
 
 FFTW: $(top_srcdir)/prerequisites/$(FFTWTAR)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 675f0610..24bc9190 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,9 +1,9 @@
 # additional include paths necessary to compile the C++ library
 
-SUBDIRS = core
+#SUBDIRS = core
 
 # Uncomment to enable complete test suite build
-#SUBDIRS = core forces hmc solver debug	
+SUBDIRS = core forces hmc solver debug	
 
 if BUILD_CHROMA_REGRESSION
   SUBDIRS+= qdpxx

From 62601bb64959bc08370905121403921d1b512e0b Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 8 Jul 2016 20:46:29 +0100
Subject: [PATCH 043/295] Bug fix

---
 lib/communicator/Communicator_mpi.cc | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/communicator/Communicator_mpi.cc b/lib/communicator/Communicator_mpi.cc
index 27455078..6830c14a 100644
--- a/lib/communicator/Communicator_mpi.cc
+++ b/lib/communicator/Communicator_mpi.cc
@@ -173,8 +173,12 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 						int from,
 						int bytes)
 {
-  SendToRecvFromInit(list,xmit,dest,recv,from,bytes);
-  SendToRecvFromBegin(list);
+  std::vector<CommsRequest_t> reqs(0);
+  SendToRecvFromInit(reqs,xmit,dest,recv,from,bytes);
+  SendToRecvFromBegin(reqs);
+  for(int i=0;i<reqs.size();i++){
+    list.push_back(reqs[i]);
+  }
 }
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {

From a3c0fb79b6fab365aca3cce8c7d736b804dbca55 Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Mon, 11 Jul 2016 17:15:22 -0400
Subject: [PATCH 044/295] Fix to iVector and iMatrix pokeIndex and checkerboard
 local site indexing.

---
 lib/cartesian/Cartesian_base.h      |  2 +-
 lib/cartesian/Cartesian_red_black.h | 15 +++++++++++++--
 lib/tensors/Tensor_index.h          |  8 ++++----
 3 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/lib/cartesian/Cartesian_base.h b/lib/cartesian/Cartesian_base.h
index 8272ac71..6fac30e9 100644
--- a/lib/cartesian/Cartesian_base.h
+++ b/lib/cartesian/Cartesian_base.h
@@ -123,7 +123,7 @@ public:
     //////////////////////////////////////////////////////////
     // SIMD lane addressing
     //////////////////////////////////////////////////////////
-    inline int iIndex(std::vector<int> &lcoor)
+    virtual int iIndex(std::vector<int> &lcoor)
     {
         int idx=0;
         for(int d=0;d<_ndimension;d++) idx+=_istride[d]*(lcoor[d]/_rdimensions[d]);
diff --git a/lib/cartesian/Cartesian_red_black.h b/lib/cartesian/Cartesian_red_black.h
index 2424d8dc..d6b6afe6 100644
--- a/lib/cartesian/Cartesian_red_black.h
+++ b/lib/cartesian/Cartesian_red_black.h
@@ -224,9 +224,20 @@ protected:
 	  idx+=_ostride[d]*(coor[d]%_rdimensions[d]);
 	}
       }
-        return idx;
+      return idx;
     };
-        
+    virtual int iIndex(std::vector<int> &lcoor)
+    {
+      int idx=0;
+      for(int d=0;d<_ndimension;d++) {
+	if( d==_checker_dim ) {
+	  idx+=_istride[d]*(lcoor[d]/(2*_rdimensions[d]));
+	} else { 
+	  idx+=_istride[d]*(lcoor[d]/_rdimensions[d]);
+	}
+      }
+      return idx;
+    }
 };
 
 }
diff --git a/lib/tensors/Tensor_index.h b/lib/tensors/Tensor_index.h
index bad9b1f1..7f34f3ac 100644
--- a/lib/tensors/Tensor_index.h
+++ b/lib/tensors/Tensor_index.h
@@ -146,14 +146,14 @@ class TensorIndexRecursion {
     }
 
   template<class vtype,int N> inline static 
-    void pokeIndex(iVector<vtype,N> &ret, const iVector<decltype(TensorIndexRecursion<Level-1>::peekIndex(ret._internal,0)),N> &arg, int i)
+    void pokeIndex(iVector<vtype,N> &ret, const iVector<decltype(TensorIndexRecursion<Level-1>::peekIndex(ret._internal[0],0)),N> &arg, int i)
     {
       for(int ii=0;ii<N;ii++){
 	TensorIndexRecursion<Level-1>::pokeIndex(ret._internal[ii],arg._internal[ii],i);
       }
     }
   template<class vtype,int N> inline static 
-    void pokeIndex(iVector<vtype,N> &ret, const iVector<decltype(TensorIndexRecursion<Level-1>::peekIndex(ret._internal,0)),N> &arg, int i,int j)
+    void pokeIndex(iVector<vtype,N> &ret, const iVector<decltype(TensorIndexRecursion<Level-1>::peekIndex(ret._internal[0],0)),N> &arg, int i,int j)
     {
       for(int ii=0;ii<N;ii++){
 	TensorIndexRecursion<Level-1>::pokeIndex(ret._internal[ii],arg._internal[ii],i,j);
@@ -161,7 +161,7 @@ class TensorIndexRecursion {
     }
 
   template<class vtype,int N> inline static 
-    void pokeIndex(iMatrix<vtype,N> &ret, const iMatrix<decltype(TensorIndexRecursion<Level-1>::peekIndex(ret._internal,0)),N> &arg, int i)
+    void pokeIndex(iMatrix<vtype,N> &ret, const iMatrix<decltype(TensorIndexRecursion<Level-1>::peekIndex(ret._internal[0][0],0)),N> &arg, int i)
     {
       for(int ii=0;ii<N;ii++){
       for(int jj=0;jj<N;jj++){
@@ -169,7 +169,7 @@ class TensorIndexRecursion {
       }}
     }
   template<class vtype,int N> inline static 
-    void pokeIndex(iMatrix<vtype,N> &ret, const iMatrix<decltype(TensorIndexRecursion<Level-1>::peekIndex(ret._internal,0)),N> &arg, int i,int j)
+    void pokeIndex(iMatrix<vtype,N> &ret, const iMatrix<decltype(TensorIndexRecursion<Level-1>::peekIndex(ret._internal[0][0],0)),N> &arg, int i,int j)
     {
       for(int ii=0;ii<N;ii++){
       for(int jj=0;jj<N;jj++){

From a9ae30f868edcc357c3eee8f49cc0fa15876e78d Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 12 Jul 2016 13:36:10 +0100
Subject: [PATCH 045/295] Added representations definitions for the HMC

---
 lib/Make.inc                                 |   2 +-
 lib/qcd/QCD.h                                |   8 +-
 lib/qcd/action/fermion/FermionOperatorImpl.h |   7 +-
 lib/qcd/action/gauge/GaugeImpl.h             |  16 +-
 lib/qcd/action/pseudofermion/TwoFlavour.h    | 226 ++++++++++---------
 lib/qcd/hmc/HmcRunner.h                      | 177 ++++++++-------
 lib/qcd/hmc/integrators/Integrator.h         |   5 +-
 lib/qcd/representations/adjoint.h            |  61 +++++
 lib/qcd/representations/hmc_types.h          |  46 ++++
 lib/qcd/utils/SUn.h                          | 143 +++---------
 lib/qcd/utils/SUnAdjoint.h                   | 149 ++++++++++++
 tests/Make.inc                               |   6 +-
 tests/Test_hmc_WilsonAdjointFermionGauge.cc  | 100 ++++++++
 tests/Test_hmc_WilsonFermionGauge.cc         | 102 ++++-----
 tests/Test_lie_generators.cc                 |  42 +++-
 tests/Test_wilson_force.cc                   |   2 +
 tests/Test_zmm.cc                            |  42 ++--
 17 files changed, 734 insertions(+), 400 deletions(-)
 create mode 100644 lib/qcd/representations/adjoint.h
 create mode 100644 lib/qcd/representations/hmc_types.h
 create mode 100644 lib/qcd/utils/SUnAdjoint.h
 create mode 100644 tests/Test_hmc_WilsonAdjointFermionGauge.cc

diff --git a/lib/Make.inc b/lib/Make.inc
index a3a36066..c99906f3 100644
--- a/lib/Make.inc
+++ b/lib/Make.inc
@@ -1,4 +1,4 @@
 
-HFILES=./tensors/Tensor_extract_merge.h ./tensors/Tensor_exp.h ./tensors/Tensor_index.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_determinant.h ./tensors/Tensor_outer.h ./tensors/Tensor_trace.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_logical.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_class.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith.h ./tensors/Tensor_unary.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_traits.h ./stencil/Lebesgue.h ./PerfCount.h ./Communicator.h ./simd/Grid_vector_types.h ./simd/Grid_qpx.h ./simd/Grid_imci.h ./simd/Grid_avx.h ./simd/Grid_empty.h ./simd/Intel512single.h ./simd/Grid_vector_unops.h ./simd/Grid_neon.h ./simd/Intel512common.h ./simd/Intel512wilson.h ./simd/Intel512imci.h ./simd/Intel512double.h ./simd/Grid_avx512.h ./simd/Grid_sse4.h ./simd/Intel512avx.h ./Threads.h ./Timer.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/SparseMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/Francis.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/Householder.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Matrix.h ./Algorithms.h ./lattice/Lattice_base.h ./lattice/Lattice_overload.h ./lattice/Lattice_ET.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_trace.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_arith.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_rng.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reality.h ./lattice/Lattice_transpose.h ./lattice/Lattice_transfer.h ./lattice/Lattice_conformable.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./lattice/Lattice_reduction.h ./Cartesian.h ./Simd.h ./Init.h ./serialisation/TextIO.h ./serialisation/Serialisation.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/XmlIO.h ./serialisation/BinaryIO.h ./communicator/Communicator_base.h ./Log.h ./Lattice.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./cshift/Cshift_common.h ./Lexicographic.h ./Tensors.h ./Cshift.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/Smearing.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/ActionBase.h ./qcd/QCD.h ./qcd/spin/TwoSpinor.h ./qcd/spin/Dirac.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./AlignedAllocator.h ./pugixml/pugixml.h ./Stencil.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Grid.h Config.h
+HFILES=./tensors/Tensor_extract_merge.h ./tensors/Tensor_exp.h ./tensors/Tensor_index.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_determinant.h ./tensors/Tensor_outer.h ./tensors/Tensor_trace.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_logical.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_class.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith.h ./tensors/Tensor_unary.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_traits.h ./stencil/Lebesgue.h ./PerfCount.h ./Communicator.h ./simd/Grid_vector_types.h ./simd/Grid_qpx.h ./simd/Grid_imci.h ./simd/Grid_avx.h ./simd/Grid_empty.h ./simd/Intel512single.h ./simd/Grid_vector_unops.h ./simd/Grid_neon.h ./simd/Intel512common.h ./simd/Intel512wilson.h ./simd/Intel512imci.h ./simd/Intel512double.h ./simd/Grid_avx512.h ./simd/Grid_sse4.h ./simd/Intel512avx.h ./Threads.h ./Timer.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/SparseMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/Francis.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/Householder.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Matrix.h ./Algorithms.h ./lattice/Lattice_base.h ./lattice/Lattice_overload.h ./lattice/Lattice_ET.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_trace.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_arith.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_rng.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reality.h ./lattice/Lattice_transpose.h ./lattice/Lattice_transfer.h ./lattice/Lattice_conformable.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./lattice/Lattice_reduction.h ./Cartesian.h ./Simd.h ./Init.h ./serialisation/TextIO.h ./serialisation/Serialisation.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/XmlIO.h ./serialisation/BinaryIO.h ./communicator/Communicator_base.h ./Log.h ./Lattice.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./cshift/Cshift_common.h ./Lexicographic.h ./Tensors.h ./Cshift.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/Smearing.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/ActionBase.h ./qcd/QCD.h ./qcd/spin/TwoSpinor.h ./qcd/spin/Dirac.h ./qcd/representations/hmc_types.h ./qcd/representations/adjoint.h ./qcd/utils/CovariantCshift.h ./qcd/utils/SUnAdjoint.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./AlignedAllocator.h ./pugixml/pugixml.h ./Stencil.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Grid.h Config.h
 
 CCFILES=./stencil/Stencil_common.cc ./stencil/Lebesgue.cc ./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./PerfCount.cc ./serialisation/BinaryIO.cc ./serialisation/XmlIO.cc ./serialisation/TextIO.cc ./qcd/hmc/HMC.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./Init.cc ./pugixml/pugixml.cc ./Log.cc
diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index 51358dfa..c475e74d 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -484,17 +484,23 @@ namespace QCD {
 }   //namespace QCD
 } // Grid
 
-#include <qcd/utils/SpaceTimeGrid.h>
 #include <qcd/spin/Dirac.h>
+
 #include <qcd/spin/TwoSpinor.h>
+
+#include <qcd/utils/SpaceTimeGrid.h>
 #include <qcd/utils/LinalgUtils.h>
 #include <qcd/utils/CovariantCshift.h>
 #include <qcd/utils/SUn.h>
+#include <qcd/utils/SUnAdjoint.h>
+
 #include <qcd/action/Actions.h>
+
 #include <qcd/hmc/integrators/Integrator.h>
 #include <qcd/hmc/integrators/Integrator_algorithm.h>
 #include <qcd/hmc/HMC.h>
 
 #include <qcd/smearing/Smearing.h>
 
+#include <qcd/representations/hmc_types.h>
 #endif
diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 1362d619..84e4910c 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -116,6 +116,7 @@ class WilsonImpl
     : public PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > {
  public:
   typedef PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > Gimpl;
+  constexpr bool is_fundamental() const{return Nrepresentation == Nc ? 1 : 0;}
 
   INHERIT_GIMPL_TYPES(Gimpl);
 
@@ -500,10 +501,14 @@ class GparityWilsonImpl
   }
 };
 
-typedef WilsonImpl<vComplex, Nc> WilsonImplR;   // Real.. whichever prec
+typedef WilsonImpl<vComplex,  Nc> WilsonImplR;   // Real.. whichever prec
 typedef WilsonImpl<vComplexF, Nc> WilsonImplF;  // Float
 typedef WilsonImpl<vComplexD, Nc> WilsonImplD;  // Double
 
+typedef WilsonImpl<vComplex,  SU_Adjoint<Nc>::Dimension > WilsonAdjImplR;   // Real.. whichever prec
+typedef WilsonImpl<vComplexF, SU_Adjoint<Nc>::Dimension > WilsonAdjImplF;  // Float
+typedef WilsonImpl<vComplexD, SU_Adjoint<Nc>::Dimension > WilsonAdjImplD;  // Double
+
 typedef DomainWallRedBlack5dImpl<vComplex, Nc>
     DomainWallRedBlack5dImplR;  // Real.. whichever prec
 typedef DomainWallRedBlack5dImpl<vComplexF, Nc>
diff --git a/lib/qcd/action/gauge/GaugeImpl.h b/lib/qcd/action/gauge/GaugeImpl.h
index 691d25f1..400381bb 100644
--- a/lib/qcd/action/gauge/GaugeImpl.h
+++ b/lib/qcd/action/gauge/GaugeImpl.h
@@ -30,7 +30,6 @@ directory
 #define GRID_QCD_GAUGE_IMPL_H
 
 namespace Grid {
-
 namespace QCD {
 
 ////////////////////////////////////////////////////////////////////////
@@ -52,7 +51,7 @@ public:
   typedef S Simd;
 
   template <typename vtype>
-  using iImplGaugeLink = iScalar<iScalar<iMatrix<vtype, Nrepresentation>>>;
+  using iImplGaugeLink  = iScalar<iScalar<iMatrix<vtype, Nrepresentation>>>;
   template <typename vtype>
   using iImplGaugeField = iVector<iScalar<iMatrix<vtype, Nrepresentation>>, Nd>;
 
@@ -64,7 +63,7 @@ public:
                                                  // ugly
   typedef Lattice<SiteGaugeField> GaugeField;
 
-  // Move this elsewhere?
+  // Move this elsewhere? FIXME
   static inline void AddGaugeLink(GaugeField &U, GaugeLinkField &W,
                                   int mu) { // U[mu] += W
     PARALLEL_FOR_LOOP
@@ -174,12 +173,19 @@ typedef GaugeImplTypes<vComplex, Nc> GimplTypesR;
 typedef GaugeImplTypes<vComplexF, Nc> GimplTypesF;
 typedef GaugeImplTypes<vComplexD, Nc> GimplTypesD;
 
+typedef GaugeImplTypes<vComplex, SU<Nc>::AdjointDimension> GimplAdjointTypesR;
+typedef GaugeImplTypes<vComplexF, SU<Nc>::AdjointDimension> GimplAdjointTypesF;
+typedef GaugeImplTypes<vComplexD, SU<Nc>::AdjointDimension> GimplAdjointTypesD;
+
 typedef PeriodicGaugeImpl<GimplTypesR> PeriodicGimplR; // Real.. whichever prec
 typedef PeriodicGaugeImpl<GimplTypesF> PeriodicGimplF; // Float
 typedef PeriodicGaugeImpl<GimplTypesD> PeriodicGimplD; // Double
 
-typedef ConjugateGaugeImpl<GimplTypesR>
-    ConjugateGimplR; // Real.. whichever prec
+typedef PeriodicGaugeImpl<GimplAdjointTypesR> PeriodicGimplAdjR; // Real.. whichever prec
+typedef PeriodicGaugeImpl<GimplAdjointTypesF> PeriodicGimplAdjF; // Float
+typedef PeriodicGaugeImpl<GimplAdjointTypesD> PeriodicGimplAdjD; // Double
+
+typedef ConjugateGaugeImpl<GimplTypesR> ConjugateGimplR; // Real.. whichever prec
 typedef ConjugateGaugeImpl<GimplTypesF> ConjugateGimplF; // Float
 typedef ConjugateGaugeImpl<GimplTypesD> ConjugateGimplD; // Double
 }
diff --git a/lib/qcd/action/pseudofermion/TwoFlavour.h b/lib/qcd/action/pseudofermion/TwoFlavour.h
index 21d23853..3595dc67 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavour.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavour.h
@@ -1,149 +1,151 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/pseudofermion/TwoFlavour.h
+Source file: ./lib/qcd/action/pseudofermion/TwoFlavour.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef QCD_PSEUDOFERMION_TWO_FLAVOUR_H
 #define QCD_PSEUDOFERMION_TWO_FLAVOUR_H
 
-namespace Grid{
-  namespace QCD{
+namespace Grid {
+namespace QCD {
 
-    ////////////////////////////////////////////////////////////////////////
-    // Two flavour pseudofermion action for any dop
-    ////////////////////////////////////////////////////////////////////////
-    template<class Impl>
-    class TwoFlavourPseudoFermionAction : public Action<typename Impl::GaugeField> {
-    public:
-      INHERIT_IMPL_TYPES(Impl);
+////////////////////////////////////////////////////////////////////////
+// Two flavour pseudofermion action for any dop
+////////////////////////////////////////////////////////////////////////
+template <class Impl>
+class TwoFlavourPseudoFermionAction : public Action<typename Impl::GaugeField> {
+ public:
+  INHERIT_IMPL_TYPES(Impl);
 
-    private:
-      
-      FermionOperator<Impl> & FermOp;// the basic operator
+ private:
+  FermionOperator<Impl> &FermOp;  // the basic operator
 
-      OperatorFunction<FermionField> &DerivativeSolver;
+  OperatorFunction<FermionField> &DerivativeSolver;
 
-      OperatorFunction<FermionField> &ActionSolver;
+  OperatorFunction<FermionField> &ActionSolver;
 
-      FermionField Phi; // the pseudo fermion field for this trajectory
+  FermionField Phi;  // the pseudo fermion field for this trajectory
 
-    public:
-      /////////////////////////////////////////////////
-      // Pass in required objects.
-      /////////////////////////////////////////////////
-    TwoFlavourPseudoFermionAction(FermionOperator<Impl>  &Op, 
-				  OperatorFunction<FermionField> & DS,
-				  OperatorFunction<FermionField> & AS
-				  ) : FermOp(Op), DerivativeSolver(DS), ActionSolver(AS), Phi(Op.FermionGrid()) {
-      };
-      
-      //////////////////////////////////////////////////////////////////////////////////////
-      // Push the gauge field in to the dops. Assume any BC's and smearing already applied
-      //////////////////////////////////////////////////////////////////////////////////////
-      virtual void refresh(const GaugeField &U, GridParallelRNG& pRNG) {
+ public:
+  /////////////////////////////////////////////////
+  // Pass in required objects.
+  /////////////////////////////////////////////////
+  TwoFlavourPseudoFermionAction(FermionOperator<Impl> &Op,
+                                OperatorFunction<FermionField> &DS,
+                                OperatorFunction<FermionField> &AS)
+      : FermOp(Op),
+        DerivativeSolver(DS),
+        ActionSolver(AS),
+        Phi(Op.FermionGrid()){};
 
-	// P(phi) = e^{- phi^dag (MdagM)^-1 phi}
-	// Phi = Mdag eta 
-	// P(eta) = e^{- eta^dag eta}
-	//
-	// e^{x^2/2 sig^2} => sig^2 = 0.5.
-	// 
-	// So eta should be of width sig = 1/sqrt(2).
-	// and must multiply by 0.707....
-	//
-	// Chroma has this scale factor: two_flavor_monomial_w.h
-	// IroIro: does not use this scale. It is absorbed by a change of vars
-	//         in the Phi integral, and thus is only an irrelevant prefactor for the partition function.
-	//
-	RealD scale = std::sqrt(0.5);
-	FermionField eta(FermOp.FermionGrid());
+  //////////////////////////////////////////////////////////////////////////////////////
+  // Push the gauge field in to the dops. Assume any BC's and smearing already
+  // applied
+  //////////////////////////////////////////////////////////////////////////////////////
+  virtual void refresh(const GaugeField &U, GridParallelRNG &pRNG) {
+    // P(phi) = e^{- phi^dag (MdagM)^-1 phi}
+    // Phi = Mdag eta
+    // P(eta) = e^{- eta^dag eta}
+    //
+    // e^{x^2/2 sig^2} => sig^2 = 0.5.
+    //
+    // So eta should be of width sig = 1/sqrt(2).
+    // and must multiply by 0.707....
+    //
+    // Chroma has this scale factor: two_flavor_monomial_w.h
+    // IroIro: does not use this scale. It is absorbed by a change of vars
+    //         in the Phi integral, and thus is only an irrelevant prefactor for
+    //         the partition function.
+    //
+    RealD scale = std::sqrt(0.5);
+    FermionField eta(FermOp.FermionGrid());
 
-	gaussian(pRNG,eta);
+    gaussian(pRNG, eta);
 
-	FermOp.ImportGauge(U);
-	FermOp.Mdag(eta,Phi);
+    FermOp.ImportGauge(U);
+    FermOp.Mdag(eta, Phi);
 
-	Phi=Phi*scale;
-	
-      };
+    Phi = Phi * scale;
+  };
 
-      //////////////////////////////////////////////////////
-      // S = phi^dag (Mdag M)^-1 phi
-      //////////////////////////////////////////////////////
-      virtual RealD S(const GaugeField &U) {
+  //////////////////////////////////////////////////////
+  // S = phi^dag (Mdag M)^-1 phi
+  //////////////////////////////////////////////////////
+  virtual RealD S(const GaugeField &U) {
+    FermOp.ImportGauge(U);
 
-	FermOp.ImportGauge(U);
+    FermionField X(FermOp.FermionGrid());
+    FermionField Y(FermOp.FermionGrid());
 
-	FermionField X(FermOp.FermionGrid());
-	FermionField Y(FermOp.FermionGrid());
-	
-	MdagMLinearOperator<FermionOperator<Impl> ,FermionField> MdagMOp(FermOp);
-	X=zero;
-	ActionSolver(MdagMOp,Phi,X);
-	MdagMOp.Op(X,Y);
+    MdagMLinearOperator<FermionOperator<Impl>, FermionField> MdagMOp(FermOp);
+    X = zero;
+    ActionSolver(MdagMOp, Phi, X);
+    MdagMOp.Op(X, Y);
 
-	RealD action = norm2(Y);
-	std::cout << GridLogMessage << "Pseudofermion action "<<action<<std::endl;
-	return action;
-      };
+    RealD action = norm2(Y);
+    std::cout << GridLogMessage << "Pseudofermion action " << action
+              << std::endl;
+    return action;
+  };
 
-      //////////////////////////////////////////////////////
-      // dS/du = - phi^dag  (Mdag M)^-1 [ Mdag dM + dMdag M ]  (Mdag M)^-1 phi
-      //       = - phi^dag M^-1 dM (MdagM)^-1 phi -  phi^dag (MdagM)^-1 dMdag dM (Mdag)^-1 phi 
-      //
-      //       = - Ydag dM X  - Xdag dMdag Y
-      //
-      //////////////////////////////////////////////////////
-      virtual void deriv(const GaugeField &U,GaugeField & dSdU) {
+  //////////////////////////////////////////////////////
+  // dS/du = - phi^dag  (Mdag M)^-1 [ Mdag dM + dMdag M ]  (Mdag M)^-1 phi
+  //       = - phi^dag M^-1 dM (MdagM)^-1 phi -  phi^dag (MdagM)^-1 dMdag dM
+  //       (Mdag)^-1 phi
+  //
+  //       = - Ydag dM X  - Xdag dMdag Y
+  //
+  //////////////////////////////////////////////////////
+  virtual void deriv(const GaugeField &U, GaugeField &dSdU) {
+    FermOp.ImportGauge(U);
 
-	FermOp.ImportGauge(U);
+    FermionField X(FermOp.FermionGrid());
+    FermionField Y(FermOp.FermionGrid());
+    GaugeField tmp(FermOp.GaugeGrid());
 
-	FermionField X(FermOp.FermionGrid());
-	FermionField Y(FermOp.FermionGrid());
-	GaugeField   tmp(FermOp.GaugeGrid());
+    MdagMLinearOperator<FermionOperator<Impl>, FermionField> MdagMOp(FermOp);
 
-	MdagMLinearOperator<FermionOperator<Impl> ,FermionField> MdagMOp(FermOp);
+    X = zero;
+    DerivativeSolver(MdagMOp, Phi, X);
+    MdagMOp.Op(X, Y);
 
-	X=zero;
-	DerivativeSolver(MdagMOp,Phi,X);
-	MdagMOp.Op(X,Y);
+    // Our conventions really make this UdSdU; We do not differentiate wrt Udag
+    // here.
+    // So must take dSdU - adj(dSdU) and left multiply by mom to get dS/dt.
 
-	// Our conventions really make this UdSdU; We do not differentiate wrt Udag here.
-	// So must take dSdU - adj(dSdU) and left multiply by mom to get dS/dt.
+    FermOp.MDeriv(tmp, Y, X, DaggerNo);
+    dSdU = tmp;
+    FermOp.MDeriv(tmp, X, Y, DaggerYes);
+    dSdU = dSdU + tmp;
 
-	FermOp.MDeriv(tmp , Y, X,DaggerNo );  dSdU=tmp;
-	FermOp.MDeriv(tmp , X, Y,DaggerYes);  dSdU=dSdU+tmp;
-	
-	//dSdU = Ta(dSdU);
-
-      };
-
-    };
-    
-  }
+    // not taking here the traceless antihermitian component
+  };
+};
+}
 }
 
 #endif
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index 5616582f..cd7acd56 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -1,179 +1,182 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/hmc/HmcRunner.h
+Source file: ./lib/qcd/hmc/HmcRunner.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef HMC_RUNNER
 #define HMC_RUNNER
 
-namespace Grid{
-  namespace QCD{
+namespace Grid {
+namespace QCD {
 
-
-template<class Gimpl>
+template <class Gimpl>
 class NerscHmcRunnerTemplate {
-public:
-
+ public:
   INHERIT_GIMPL_TYPES(Gimpl);
 
   enum StartType_t { ColdStart, HotStart, TepidStart, CheckpointStart };
 
   ActionSet<GaugeField> TheAction;
 
-  GridCartesian         * UGrid   ;
-  GridCartesian         * FGrid   ;
-  GridRedBlackCartesian * UrbGrid ;
-  GridRedBlackCartesian * FrbGrid ;
+  GridCartesian *UGrid;
+  GridCartesian *FGrid;
+  GridRedBlackCartesian *UrbGrid;
+  GridRedBlackCartesian *FrbGrid;
 
-  virtual void BuildTheAction (int argc, char **argv) = 0; // necessary?
-
-  
-  void Run (int argc, char  **argv){
+  virtual void BuildTheAction(int argc, char **argv) = 0;  // necessary?
 
+  void Run(int argc, char **argv) {
     StartType_t StartType = HotStart;
 
     std::string arg;
 
-    if( GridCmdOptionExists(argv,argv+argc,"--StartType") ){
-      arg = GridCmdOptionPayload(argv,argv+argc,"--StartType");
-      if ( arg == "HotStart" ) { StartType = HotStart; }
-      else if ( arg == "ColdStart" ) { StartType = ColdStart; }
-      else if ( arg == "TepidStart" ) { StartType = TepidStart; }
-      else if ( arg == "CheckpointStart" ) { StartType = CheckpointStart; }
-      else assert(0);
+    if (GridCmdOptionExists(argv, argv + argc, "--StartType")) {
+      arg = GridCmdOptionPayload(argv, argv + argc, "--StartType");
+      if (arg == "HotStart") {
+        StartType = HotStart;
+      } else if (arg == "ColdStart") {
+        StartType = ColdStart;
+      } else if (arg == "TepidStart") {
+        StartType = TepidStart;
+      } else if (arg == "CheckpointStart") {
+        StartType = CheckpointStart;
+      } else {
+        std::cout << GridLogError << "Unrecognized option in --StartType\n";
+        std::cout << GridLogError << "Valid [HotStart, ColdStart, TepidStart, CheckpointStart]\n";
+        assert(0);
+      }
     }
 
     int StartTraj = 0;
-    if( GridCmdOptionExists(argv,argv+argc,"--StartTrajectory") ){
-      arg= GridCmdOptionPayload(argv,argv+argc,"--StartTrajectory");
+    if (GridCmdOptionExists(argv, argv + argc, "--StartTrajectory")) {
+      arg = GridCmdOptionPayload(argv, argv + argc, "--StartTrajectory");
       std::vector<int> ivec(0);
-      GridCmdOptionIntVector(arg,ivec);
+      GridCmdOptionIntVector(arg, ivec);
       StartTraj = ivec[0];
-    }    
+    }
 
     int NumTraj = 1;
-    if( GridCmdOptionExists(argv,argv+argc,"--Trajectories") ){
-      arg= GridCmdOptionPayload(argv,argv+argc,"--Trajectories");
+    if (GridCmdOptionExists(argv, argv + argc, "--Trajectories")) {
+      arg = GridCmdOptionPayload(argv, argv + argc, "--Trajectories");
       std::vector<int> ivec(0);
-      GridCmdOptionIntVector(arg,ivec);
+      GridCmdOptionIntVector(arg, ivec);
       NumTraj = ivec[0];
     }
 
     int NumThermalizations = 10;
-    if( GridCmdOptionExists(argv,argv+argc,"--Thermalizations") ){
-      arg= GridCmdOptionPayload(argv,argv+argc,"--Thermalizations");
+    if (GridCmdOptionExists(argv, argv + argc, "--Thermalizations")) {
+      arg = GridCmdOptionPayload(argv, argv + argc, "--Thermalizations");
       std::vector<int> ivec(0);
-      GridCmdOptionIntVector(arg,ivec);
+      GridCmdOptionIntVector(arg, ivec);
       NumThermalizations = ivec[0];
     }
 
+    GridSerialRNG sRNG;
+    GridParallelRNG pRNG(UGrid);
+    LatticeGaugeField U(UGrid);  // change this to an extended field (smearing class)
 
-    GridSerialRNG    sRNG;
-    GridParallelRNG  pRNG(UGrid);
-    LatticeGaugeField  U(UGrid); // change this to an extended field (smearing class)
+    std::vector<int> SerSeed({1, 2, 3, 4, 5});
+    std::vector<int> ParSeed({6, 7, 8, 9, 10});
 
-    std::vector<int> SerSeed({1,2,3,4,5});
-    std::vector<int> ParSeed({6,7,8,9,10});
-
-    
     // Create integrator, including the smearing policy
     // Smearing policy
     std::cout << GridLogDebug << " Creating the Stout class\n";
-    double rho = 0.1; // smearing parameter, now hardcoded
-    int Nsmear = 1;   // number of smearing levels
+    double rho = 0.1;  // smearing parameter, now hardcoded
+    int Nsmear = 1;    // number of smearing levels
     Smear_Stout<Gimpl> Stout(rho);
     std::cout << GridLogDebug << " Creating the SmearedConfiguration class\n";
     SmearedConfiguration<Gimpl> SmearingPolicy(UGrid, Nsmear, Stout);
     std::cout << GridLogDebug << " done\n";
     //////////////
-    typedef MinimumNorm2<GaugeField, SmearedConfiguration<Gimpl> >  IntegratorType;// change here to change the algorithm
+    typedef MinimumNorm2<GaugeField, SmearedConfiguration<Gimpl> >
+        IntegratorType;  // change here to change the algorithm
     IntegratorParameters MDpar(20);
     IntegratorType MDynamics(UGrid, MDpar, TheAction, SmearingPolicy);
 
-    
     // Checkpoint strategy
-    NerscHmcCheckpointer<Gimpl> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
-    PlaquetteLogger<Gimpl>      PlaqLog(std::string("plaq"));
+    NerscHmcCheckpointer<Gimpl> Checkpoint(std::string("ckpoint_lat"),
+                                           std::string("ckpoint_rng"), 1);
+    PlaquetteLogger<Gimpl> PlaqLog(std::string("plaq"));
 
     HMCparameters HMCpar;
-    HMCpar.StartTrajectory   = StartTraj;
-    HMCpar.Trajectories      = NumTraj;
+    HMCpar.StartTrajectory = StartTraj;
+    HMCpar.Trajectories = NumTraj;
     HMCpar.NoMetropolisUntil = NumThermalizations;
-    
 
-    if ( StartType == HotStart ) {
+    if (StartType == HotStart) {
       // Hot start
       HMCpar.MetropolisTest = true;
       sRNG.SeedFixedIntegers(SerSeed);
       pRNG.SeedFixedIntegers(ParSeed);
       SU3::HotConfiguration(pRNG, U);
-    } else if ( StartType == ColdStart ) { 
+    } else if (StartType == ColdStart) {
       // Cold start
       HMCpar.MetropolisTest = true;
       sRNG.SeedFixedIntegers(SerSeed);
       pRNG.SeedFixedIntegers(ParSeed);
       SU3::ColdConfiguration(pRNG, U);
-    } else if ( StartType == TepidStart ) {       
+    } else if (StartType == TepidStart) {
       // Tepid start
       HMCpar.MetropolisTest = true;
       sRNG.SeedFixedIntegers(SerSeed);
       pRNG.SeedFixedIntegers(ParSeed);
       SU3::TepidConfiguration(pRNG, U);
-    } else if ( StartType == CheckpointStart ) { 
+    } else if (StartType == CheckpointStart) {
       HMCpar.MetropolisTest = true;
       // CheckpointRestart
       Checkpoint.CheckpointRestore(StartTraj, U, sRNG, pRNG);
     }
 
-    // Attach the gauge field to the smearing Policy and create the fill the smeared set
+    // Attach the gauge field to the smearing Policy and create the fill the
+    // smeared set
     // notice that the unit configuration is singular in this procedure
-    std::cout << GridLogMessage << "Filling the smeared set\n"; 
+    std::cout << GridLogMessage << "Filling the smeared set\n";
     SmearingPolicy.set_GaugeField(U);
-    
-    HybridMonteCarlo<GaugeField,IntegratorType>  HMC(HMCpar, MDynamics,sRNG,pRNG,U); 
+
+    HybridMonteCarlo<GaugeField, IntegratorType> HMC(HMCpar, MDynamics, sRNG,
+                                                     pRNG, U);
     HMC.AddObservable(&Checkpoint);
     HMC.AddObservable(&PlaqLog);
-    
+
     // Run it
     HMC.evolve();
-    
   }
-  
 };
 
- typedef NerscHmcRunnerTemplate<PeriodicGimplR> NerscHmcRunner;
- typedef NerscHmcRunnerTemplate<PeriodicGimplF> NerscHmcRunnerF;
- typedef NerscHmcRunnerTemplate<PeriodicGimplD> NerscHmcRunnerD;
+typedef NerscHmcRunnerTemplate<PeriodicGimplR> NerscHmcRunner;
+typedef NerscHmcRunnerTemplate<PeriodicGimplF> NerscHmcRunnerF;
+typedef NerscHmcRunnerTemplate<PeriodicGimplD> NerscHmcRunnerD;
 
- typedef NerscHmcRunnerTemplate<PeriodicGimplR> PeriodicNerscHmcRunner;
- typedef NerscHmcRunnerTemplate<PeriodicGimplF> PeriodicNerscHmcRunnerF;
- typedef NerscHmcRunnerTemplate<PeriodicGimplD> PeriodicNerscHmcRunnerD;
+typedef NerscHmcRunnerTemplate<PeriodicGimplR> PeriodicNerscHmcRunner;
+typedef NerscHmcRunnerTemplate<PeriodicGimplF> PeriodicNerscHmcRunnerF;
+typedef NerscHmcRunnerTemplate<PeriodicGimplD> PeriodicNerscHmcRunnerD;
 
- typedef NerscHmcRunnerTemplate<ConjugateGimplR> ConjugateNerscHmcRunner;
- typedef NerscHmcRunnerTemplate<ConjugateGimplF> ConjugateNerscHmcRunnerF;
- typedef NerscHmcRunnerTemplate<ConjugateGimplD> ConjugateNerscHmcRunnerD;
-
-}}
+typedef NerscHmcRunnerTemplate<ConjugateGimplR> ConjugateNerscHmcRunner;
+typedef NerscHmcRunnerTemplate<ConjugateGimplF> ConjugateNerscHmcRunnerF;
+typedef NerscHmcRunnerTemplate<ConjugateGimplD> ConjugateNerscHmcRunnerD;
+}
+}
 #endif
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index d604d67a..a8e10f55 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -138,8 +138,6 @@ class Integrator {
   }
   void update_U(GaugeField& Mom, GaugeField& U, double ep) {
     // rewrite exponential to deal automatically  with the lorentz index?
-    //	GaugeLinkField Umu(U._grid);
-    //	GaugeLinkField Pmu(U._grid);
     for (int mu = 0; mu < Nd; mu++) {
       auto Umu = PeekIndex<LorentzIndex>(U, mu);
       auto Pmu = PeekIndex<LorentzIndex>(Mom, mu);
@@ -168,6 +166,9 @@ class Integrator {
   void refresh(GaugeField& U, GridParallelRNG& pRNG) {
     std::cout << GridLogIntegrator << "Integrator refresh\n";
     generate_momenta(P, pRNG);
+    // The Smearer is attached to a pointer of the gauge field
+    // automatically gets the updated field
+    // whether or not has been accepted in the previous sweep
     for (int level = 0; level < as.size(); ++level) {
       for (int actionID = 0; actionID < as[level].actions.size(); ++actionID) {
         // get gauge field from the SmearingPolicy and
diff --git a/lib/qcd/representations/adjoint.h b/lib/qcd/representations/adjoint.h
new file mode 100644
index 00000000..93f8a27c
--- /dev/null
+++ b/lib/qcd/representations/adjoint.h
@@ -0,0 +1,61 @@
+/*
+ *	Policy classes for the HMC
+ *	Author: Guido Cossu
+*/	
+
+#ifndef ADJOINT_H
+#define ADJOINT_H
+
+
+namespace Grid {
+namespace QCD {
+
+/*
+* This is an helper class for the HMC
+* Should contain only the data for the adjoint representation
+* and the facility to convert from the fundamental -> adjoint
+*/
+
+template <int ncolour>
+class AdjointRep {
+ public:
+  typename SU_Adjoint<ncolour>::LatticeAdjMatrix U;
+  const int Dimension = ncolour * ncolour - 1;
+
+  explicit AdjointRep(GridBase* grid):U(grid) {}
+  void update_representation(const LatticeGaugeField& Uin) {
+    // Uin is in the fundamental representation
+    // get the U in AdjointRep
+    // (U_adj)_B = tr[e^a U e^b U^dag]
+    // e^a = t^a/sqrt(T_F)
+    // where t^a is the generator in the fundamental
+    // T_F is 1/2 for the fundamental representation
+    conformable(U, Uin);
+    U = zero;
+    LatticeGaugeField tmp(Uin._grid);
+
+    Vector<typename SU<ncolour>::Matrix > ta(ncolour * ncolour - 1);
+
+    // FIXME probably not very efficient to get all the generators everytime
+    for (int a = 0; a < Dimension; a++) SU<ncolour>::generator(a, ta[a]);
+
+    for (int a = 0; a < Dimension; a++) {
+    	tmp = 2.0 * adj(Uin) * ta[a] * Uin;
+      for (int b = 0; b < (ncolour * ncolour - 1); b++) {
+        auto Tr = TensorRemove(trace(tmp * ta[b]));
+        pokeColour(U, Tr, a,b);
+      }
+    }  	 
+
+  }
+};
+
+typedef	 AdjointRep<Nc> AdjointRepresentation;
+
+}
+}
+
+
+
+
+#endif
\ No newline at end of file
diff --git a/lib/qcd/representations/hmc_types.h b/lib/qcd/representations/hmc_types.h
new file mode 100644
index 00000000..b4e92c6b
--- /dev/null
+++ b/lib/qcd/representations/hmc_types.h
@@ -0,0 +1,46 @@
+#ifndef HMC_TYPES_H
+#define HMC_TYPES_H
+
+#include <tuple>
+#include <utility>
+#include <qcd/representations/adjoint.h>
+
+namespace Grid {
+namespace QCD {
+
+// Utility to add support for representations other than the fundamental
+
+template<class... Reptypes>
+class Representations{
+public:
+  typedef std::tuple<Reptypes...> Representation_type;
+  Representation_type rep;
+
+  // Multiple types constructor
+  explicit Representations(GridBase *grid):rep(Reptypes(grid)...){};
+
+  int size(){
+    return std::tuple_size< Representation_type >::value;
+  }
+
+  // update the fields
+  template <std::size_t I = 0>
+  inline typename std::enable_if< I == sizeof...(Reptypes), void >::type update(LatticeGaugeField& U) {}
+
+  template <std::size_t I = 0>
+      inline typename std::enable_if <
+      I<sizeof...(Reptypes), void >::type update(LatticeGaugeField& U) {
+    std::get<I>(rep).update_representation(U);
+    update<I + 1>(U);
+  }  
+};
+
+}
+}
+
+
+
+#endif
+
+
+
diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index c884ad37..4d07cf5f 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -38,7 +38,8 @@ namespace QCD {
 template <int ncolour>
 class SU {
  public:
-  static int generators(void) { return ncolour * ncolour - 1; }
+  static const int Dimension = ncolour;
+  static const int AdjointDimension = ncolour * ncolour - 1;
   static int su2subgroups(void) { return (ncolour * (ncolour - 1)) / 2; }
 
   template <typename vtype>
@@ -46,11 +47,8 @@ class SU {
   template <typename vtype>
   using iSU2Matrix = iScalar<iScalar<iMatrix<vtype, 2> > >;
   template <typename vtype>
-  using iSUnAdjointMatrix = iScalar<iScalar<iMatrix<vtype, (ncolour*ncolour - 1)> > >;
-  template <typename vtype>
-  using iSUnAlgebraVector = iScalar<iScalar<iVector<vtype , (ncolour*ncolour -1)> > >;
-
-
+  using iSUnAlgebraVector =
+      iScalar<iScalar<iVector<vtype, (ncolour * ncolour - 1)> > >;
 
   //////////////////////////////////////////////////////////////////////////////////////////////////
   // Types can be accessed as SU<2>::Matrix , SU<2>::vSUnMatrix,
@@ -64,16 +62,6 @@ class SU {
   typedef iSUnMatrix<vComplexF> vMatrixF;
   typedef iSUnMatrix<vComplexD> vMatrixD;
 
-  // Actually the adjoint matrices are real...
-  // Consider this overhead... FIXME
-  typedef iSUnAdjointMatrix<Complex> AMatrix;
-  typedef iSUnAdjointMatrix<ComplexF> AMatrixF;
-  typedef iSUnAdjointMatrix<ComplexD> AMatrixD;
-
-  typedef iSUnAdjointMatrix<vComplex> vAMatrix;
-  typedef iSUnAdjointMatrix<vComplexF> vAMatrixF;
-  typedef iSUnAdjointMatrix<vComplexD> vAMatrixD;
-
   // For the projectors to the algebra
   // these should be real...
   // keeping complex for consistency with the SIMD vector types
@@ -152,19 +140,6 @@ class SU {
   //   (    1   ) / sqrt(3) /2  = 1/2 lambda_8
   //   (      -2)
   //
-  //
-  // * Adjoint representation generators
-  //  
-  //   base for NxN hermitian traceless matrices
-  //   normalized to 1:
-  //
-  //   (e_Adj)^a = t^a / sqrt(T_F)
-  //   
-  //   then the real, antisymmetric generators for the adjoint representations
-  //   are computed ( shortcut: e^a == (e_Adj)^a )
-  //
-  //   (iT_adj)^d_ab = i tr[e^a t^d e^b - t^d e^a e^b]
-  // 
   ////////////////////////////////////////////////////////////////////////
   template <class cplx>
   static void generator(int lieIndex, iSUnMatrix<cplx> &ta) {
@@ -178,7 +153,7 @@ class SU {
       generatorDiagonal(diagIndex, ta);
       return;
     }
-    sigxy = lieIndex & 0x1;//even or odd
+    sigxy = lieIndex & 0x1;  // even or odd
     su2Index = lieIndex >> 1;
     if (sigxy)
       generatorSigmaY(su2Index, ta);
@@ -208,39 +183,15 @@ class SU {
   static void generatorDiagonal(int diagIndex, iSUnMatrix<cplx> &ta) {
     // diag ({1, 1, ..., 1}(k-times), -k, 0, 0, ...)
     ta = zero;
-    int k = diagIndex + 1;// diagIndex starts from 0
-    for (int i = 0; i <= diagIndex; i++) {// k iterations
+    int k = diagIndex + 1;                  // diagIndex starts from 0
+    for (int i = 0; i <= diagIndex; i++) {  // k iterations
       ta()()(i, i) = 1.0;
     }
-    ta()()(k,k) = -k;//indexing starts from 0
-    RealD nrm = 1.0 / std::sqrt(2.0 * k*(k+1));
+    ta()()(k, k) = -k;  // indexing starts from 0
+    RealD nrm = 1.0 / std::sqrt(2.0 * k * (k + 1));
     ta = ta * nrm;
   }
 
-  template <class cplx>
-  static void generatorAdjoint(int Index, iSUnAdjointMatrix<cplx> &iAdjTa){
-    // returns i(T_Adj)^index necessary for the projectors
-    // see definitions above
-    iAdjTa = zero;
-    Vector< iSUnMatrix<cplx> > ta(ncolour*ncolour -1);
-    iSUnMatrix<cplx> tmp;
-
-    // FIXME not very efficient to get all the generators everytime
-    for (int a = 0; a < (ncolour * ncolour - 1); a++) 
-      generator(a, ta[a]);
-
-
-    for (int a = 0; a < (ncolour*ncolour - 1); a++){
-      tmp = ta[a] * ta[Index] - ta[Index] * ta[a];
-      for (int b = 0; b < (ncolour*ncolour - 1); b++){
-        iSUnMatrix<cplx> tmp1 = 2.0 * tmp * ta[b];  // 2.0 from the normalization
-        Complex iTr = TensorRemove(timesI(trace(tmp1)));
-        iAdjTa()()(b,a) = iTr;
-      }
-    }
-
-
-  }
   ////////////////////////////////////////////////////////////////////////
   // Map a su2 subgroup number to the pair of rows that are non zero
   ////////////////////////////////////////////////////////////////////////
@@ -600,7 +551,7 @@ class SU {
   }
 
   static void printGenerators(void) {
-    for (int gen = 0; gen < generators(); gen++) {
+    for (int gen = 0; gen < AdjointDimension; gen++) {
       Matrix ta;
       generator(gen, ta);
       std::cout << GridLogMessage << "Nc = " << ncolour << " t_" << gen
@@ -609,71 +560,44 @@ class SU {
     }
   }
 
-  static void printAdjointGenerators(void) {
-    for (int gen = 0; gen < generators(); gen++) {
-      AMatrix ta;
-      generatorAdjoint(gen, ta);
-      std::cout << GridLogMessage << "Nc = " << ncolour << " t_" << gen
-                << std::endl;
-      std::cout << GridLogMessage << ta << std::endl;
-    }
-  }
-
 
 
   static void testGenerators(void) {
     Matrix ta;
     Matrix tb;
-    std::cout << GridLogMessage << "Fundamental - Checking trace ta tb is 0.5 delta_ab"
+    std::cout << GridLogMessage
+              << "Fundamental - Checking trace ta tb is 0.5 delta_ab"
               << std::endl;
-    for (int a = 0; a < generators(); a++) {
-      for (int b = 0; b < generators(); b++) {
+    for (int a = 0; a < AdjointDimension; a++) {
+      for (int b = 0; b < AdjointDimension; b++) {
         generator(a, ta);
         generator(b, tb);
         Complex tr = TensorRemove(trace(ta * tb));
-        std::cout << GridLogMessage << "("<< a << "," << b << ") =  "<< tr << std::endl;
+        std::cout << GridLogMessage << "(" << a << "," << b << ") =  " << tr
+                  << std::endl;
         if (a == b) assert(abs(tr - Complex(0.5)) < 1.0e-6);
         if (a != b) assert(abs(tr) < 1.0e-6);
       }
       std::cout << GridLogMessage << std::endl;
     }
-    std::cout << GridLogMessage << "Fundamental - Checking if hermitian" << std::endl;
-    for (int a = 0; a < generators(); a++) {
+    std::cout << GridLogMessage << "Fundamental - Checking if hermitian"
+              << std::endl;
+    for (int a = 0; a < AdjointDimension; a++) {
       generator(a, ta);
       std::cout << GridLogMessage << a << std::endl;
-      assert(norm2(ta - adj(ta)) < 1.0e-6) ; 
+      assert(norm2(ta - adj(ta)) < 1.0e-6);
     }
     std::cout << GridLogMessage << std::endl;
 
-    std::cout << GridLogMessage << "Fundamental - Checking if traceless" << std::endl;
-    for (int a = 0; a < generators(); a++) {
+    std::cout << GridLogMessage << "Fundamental - Checking if traceless"
+              << std::endl;
+    for (int a = 0; a < AdjointDimension; a++) {
       generator(a, ta);
       Complex tr = TensorRemove(trace(ta));
       std::cout << GridLogMessage << a << " " << std::endl;
       assert(abs(tr) < 1.0e-6);
     }
     std::cout << GridLogMessage << std::endl;
-
-    AMatrix adjTa;
-    std::cout << GridLogMessage << "Adjoint - Checking if real" << std::endl;
-    for (int a = 0; a < generators(); a++) {
-      generatorAdjoint(a, adjTa);
-      std::cout << GridLogMessage << a << std::endl;
-      assert(norm2(adjTa - conjugate(adjTa)) < 1.0e-6);
-    }
-    std::cout << GridLogMessage << std::endl;
-
-    std::cout << GridLogMessage << "Adjoint - Checking if antisymmetric" << std::endl;
-    for (int a = 0; a < generators(); a++) {
-      generatorAdjoint(a, adjTa);
-      std::cout << GridLogMessage << a << std::endl;
-      assert(norm2(adjTa + transpose(adjTa)) < 1.0e-6);
-    }
-    std::cout << GridLogMessage << std::endl;
-
-
-
-
   }
 
   // reunitarise??
@@ -699,7 +623,7 @@ class SU {
     MatrixType ta;
 
     lie = zero;
-    for (int a = 0; a < generators(); a++) {
+    for (int a = 0; a < AdjointDimension; a++) {
       random(pRNG, ca);
 
       ca = (ca + conjugate(ca)) * 0.5;
@@ -724,7 +648,7 @@ class SU {
     Matrix ta;
 
     out = zero;
-    for (int a = 0; a < generators(); a++) {
+    for (int a = 0; a < AdjointDimension; a++) {
       gaussian(pRNG, ca);
       generator(a, ta);
       la = toComplex(ca) * ci * ta;
@@ -732,30 +656,23 @@ class SU {
     }
   }
 
-  static void FundamentalLieAlgebraMatrix(LatticeAlgebraVector &h, LatticeMatrix &out,
+  static void FundamentalLieAlgebraMatrix(LatticeAlgebraVector &h,
+                                          LatticeMatrix &out,
                                           Real scale = 1.0) {
+    conformable(h, out);
     GridBase *grid = out._grid;
     LatticeMatrix la(grid);
     Matrix ta;
 
     out = zero;
-    for (int a = 0; a < generators(); a++) {
+    for (int a = 0; a < AdjointDimension; a++) {
       generator(a, ta);
-      la = peekColour(h,a) * scale * ta;
+      la = peekColour(h, a) * scale * ta;
       out += la;
     }
   }
 
-  static void projectAdjointAlgebra(LatticeAlgebraVector &h_out, LatticeMatrix &in){
-    GridBase *grid = in._grid;
-    AMatrix iTa;
 
-    for (int a = 0; a< generators(); a++){
-      generatorAdjoint(a, iTa);
-      AlgebraVector tmp = real(trace(iTa * in));//*factor
-      pokeColour(h_out, tmp, a);
-    }
-  }
 
   template <typename GaugeField>
   static void HotConfiguration(GridParallelRNG &pRNG, GaugeField &out) {
diff --git a/lib/qcd/utils/SUnAdjoint.h b/lib/qcd/utils/SUnAdjoint.h
new file mode 100644
index 00000000..87b64e93
--- /dev/null
+++ b/lib/qcd/utils/SUnAdjoint.h
@@ -0,0 +1,149 @@
+#ifndef QCD_UTIL_SUNADJOINT_H
+#define QCD_UTIL_SUNADJOINT_H
+
+////////////////////////////////////////////////////////////////////////
+//
+// * Adjoint representation generators
+//
+// * Normalisation for the fundamental generators: 
+//   trace ta tb = 1/2 delta_ab = T_F delta_ab
+//   T_F = 1/2  for SU(N) groups
+//
+//
+//   base for NxN hermitian traceless matrices
+//   normalized to 1:
+//
+//   (e_Adj)^a = t^a / sqrt(T_F)
+//
+//   then the real, antisymmetric generators for the adjoint representations
+//   are computed ( shortcut: e^a == (e_Adj)^a )
+//
+//   (iT_adj)^d_ba = i tr[e^a t^d e^b - t^d e^a e^b]
+//
+////////////////////////////////////////////////////////////////////////
+
+namespace Grid {
+namespace QCD {
+
+template <int ncolour>
+class SU_Adjoint : public SU<ncolour> {
+ public:
+  static const int Dimension = ncolour * ncolour - 1;
+
+  template <typename vtype>
+  using iSUnAdjointMatrix =
+      iScalar<iScalar<iMatrix<vtype, Dimension > > >;
+
+  // Actually the adjoint matrices are real...
+  // Consider this overhead... FIXME
+  typedef iSUnAdjointMatrix<Complex> AMatrix;
+  typedef iSUnAdjointMatrix<ComplexF> AMatrixF;
+  typedef iSUnAdjointMatrix<ComplexD> AMatrixD;
+
+  typedef iSUnAdjointMatrix<vComplex> vAMatrix;
+  typedef iSUnAdjointMatrix<vComplexF> vAMatrixF;
+  typedef iSUnAdjointMatrix<vComplexD> vAMatrixD;
+
+  typedef Lattice<vAMatrix>  LatticeAdjMatrix;
+  typedef Lattice<vAMatrixF> LatticeAdjMatrixF;
+  typedef Lattice<vAMatrixD> LatticeAdjMatrixD;
+
+
+  template <class cplx>
+  static void generator(int Index, iSUnAdjointMatrix<cplx> &iAdjTa) {
+    // returns i(T_Adj)^index necessary for the projectors
+    // see definitions above
+    iAdjTa = zero;
+    Vector<typename SU<ncolour>::template iSUnMatrix<cplx> > ta(ncolour * ncolour - 1);
+    typename SU<ncolour>::template iSUnMatrix<cplx> tmp;
+
+    // FIXME not very efficient to get all the generators everytime
+    for (int a = 0; a < Dimension; a++) SU<ncolour>::generator(a, ta[a]);
+
+    for (int a = 0; a < Dimension; a++) {
+      tmp = ta[a] * ta[Index] - ta[Index] * ta[a];
+      for (int b = 0; b < (ncolour * ncolour - 1); b++) {
+        typename SU<ncolour>::template iSUnMatrix<cplx> tmp1 =
+            2.0 * tmp * ta[b];  // 2.0 from the normalization
+        Complex iTr = TensorRemove(timesI(trace(tmp1)));
+        iAdjTa()()(b, a) = iTr;
+      }
+    }
+  }
+
+  static void printGenerators(void) {
+    for (int gen = 0; gen < Dimension; gen++) {
+      AMatrix ta;
+      generator(gen, ta);
+      std::cout << GridLogMessage << "Nc = " << ncolour << " t_" << gen
+                << std::endl;
+      std::cout << GridLogMessage << ta << std::endl;
+    }
+  }
+
+  static void testGenerators(void) {
+    AMatrix adjTa;
+    std::cout << GridLogMessage << "Adjoint - Checking if real" << std::endl;
+    for (int a = 0; a < Dimension; a++) {
+      generator(a, adjTa);
+      std::cout << GridLogMessage << a << std::endl;
+      assert(norm2(adjTa - conjugate(adjTa)) < 1.0e-6);
+    }
+    std::cout << GridLogMessage << std::endl;
+
+    std::cout << GridLogMessage << "Adjoint - Checking if antisymmetric"
+              << std::endl;
+    for (int a = 0; a < Dimension; a++) {
+      generator(a, adjTa);
+      std::cout << GridLogMessage << a << std::endl;
+      assert(norm2(adjTa + transpose(adjTa)) < 1.0e-6);
+    }
+    std::cout << GridLogMessage << std::endl;
+  }
+
+  // Projects the algebra components a lattice matrix (of dimension ncol*ncol -1 )
+  static void projectOnAlgebra(typename SU<ncolour>::LatticeAlgebraVector &h_out, LatticeAdjMatrix &in, Real scale = 1.0) {
+    conformable(h_out, in);
+    h_out = zero;
+    AMatrix iTa;
+
+    for (int a = 0; a < Dimension; a++) {
+      generator(a, iTa);
+      auto tmp = real(trace(iTa * in)) * scale; 
+      pokeColour(h_out, tmp, a);
+    }
+  }
+
+  // a projector that keeps the generators stored to avoid the overhead of recomputing. 
+  static void projector(typename SU<ncolour>::LatticeAlgebraVector &h_out, LatticeAdjMatrix &in, Real scale = 1.0) {
+    conformable(h_out, in);
+    static std::vector<AMatrix> iTa(Dimension);  // to store the generators
+    h_out = zero;
+    static bool precalculated = false; 
+    if (!precalculated){
+    	precalculated = true;
+        for (int a = 0; a < Dimension; a++) generator(a, iTa[a]);
+    }
+
+    for (int a = 0; a < Dimension; a++) {
+      auto tmp = real(trace(iTa[a] * in)) * scale; 
+      pokeColour(h_out, tmp, a);
+    }
+  }
+
+
+};
+
+
+
+
+
+
+typedef SU_Adjoint<2> SU2Adjoint;
+typedef SU_Adjoint<3> SU3Adjoint;
+typedef SU_Adjoint<4> SU4Adjoint;
+typedef SU_Adjoint<5> SU5Adjoint;
+}
+}
+
+#endif
\ No newline at end of file
diff --git a/tests/Make.inc b/tests/Make.inc
index 73a176e9..3e38c6be 100644
--- a/tests/Make.inc
+++ b/tests/Make.inc
@@ -1,5 +1,5 @@
 
-bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cf_coarsen_support Test_cf_cr_unprec Test_cheby Test_contfrac_cg Test_contfrac_even_odd Test_contfrac_force Test_cshift Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_even_odd Test_dwf_force Test_dwf_fpgcr Test_dwf_gpforce Test_dwf_hdcr Test_dwf_lanczos Test_dwf_mixedcg_prec Test_dwf_rb5d Test_gamma Test_GaugeAction Test_gparity Test_gpdwf_force Test_gp_rect_force Test_gpwilson_even_odd Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_lie_generators Test_main Test_multishift_sqrt Test_nersc_io Test_partfrac_force Test_quenched_update Test_rect_force Test_RectPlaq Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio Test_rng Test_rng_fixed Test_serialisation Test_simd Test_stencil Test_synthetic_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec Test_wilson_even_odd Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi Test_wilson_tm_even_odd 
+bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cf_coarsen_support Test_cf_cr_unprec Test_cheby Test_contfrac_cg Test_contfrac_even_odd Test_contfrac_force Test_cshift Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_even_odd Test_dwf_force Test_dwf_fpgcr Test_dwf_gpforce Test_dwf_hdcr Test_dwf_lanczos Test_dwf_mixedcg_prec Test_dwf_rb5d Test_gamma Test_GaugeAction Test_gparity Test_gpdwf_force Test_gp_rect_force Test_gpwilson_even_odd Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonAdjointFermionGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_lie_generators Test_main Test_multishift_sqrt Test_nersc_io Test_partfrac_force Test_quenched_update Test_rect_force Test_RectPlaq Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio Test_rng Test_rng_fixed Test_serialisation Test_simd Test_stencil Test_synthetic_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec Test_wilson_even_odd Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi Test_wilson_tm_even_odd 
 
 
 Test_cayley_cg_SOURCES=Test_cayley_cg.cc
@@ -162,6 +162,10 @@ Test_hmc_RectGauge_SOURCES=Test_hmc_RectGauge.cc
 Test_hmc_RectGauge_LDADD=-lGrid
 
 
+Test_hmc_WilsonAdjointFermionGauge_SOURCES=Test_hmc_WilsonAdjointFermionGauge.cc
+Test_hmc_WilsonAdjointFermionGauge_LDADD=-lGrid
+
+
 Test_hmc_WilsonFermionGauge_SOURCES=Test_hmc_WilsonFermionGauge.cc
 Test_hmc_WilsonFermionGauge_LDADD=-lGrid
 
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
new file mode 100644
index 00000000..3f5bf82c
--- /dev/null
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -0,0 +1,100 @@
+/*************************************************************************************
+
+Grid physics library, www.github.com/paboyle/Grid
+
+Source file: ./tests/Test_hmc_WilsonAdjointFermionGauge.cc
+
+Copyright (C) 2015
+
+Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: neo <cossu@post.kek.jp>
+Author: paboyle <paboyle@ph.ed.ac.uk>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
+#include "Grid.h"
+
+using namespace std;
+using namespace Grid;
+using namespace Grid::QCD;
+
+namespace Grid {
+namespace QCD {
+
+class HmcRunner : public NerscHmcRunner {
+ public:
+  void BuildTheAction(int argc, char **argv)
+
+  {
+    typedef WilsonImplR ImplPolicy; // gauge field implemetation
+    typedef WilsonFermionR FermionAction; // type of lattice fermions
+    typedef typename FermionAction::FermionField FermionField;
+
+    UGrid = SpaceTimeGrid::makeFourDimGrid(
+        GridDefaultLatt(), GridDefaultSimd(Nd, vComplex::Nsimd()),
+        GridDefaultMpi());
+    UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
+
+    FGrid = UGrid;
+    FrbGrid = UrbGrid;
+
+    // temporarily need a gauge field
+    LatticeGaugeField U(UGrid);
+
+    // Gauge action
+    WilsonGaugeActionR Waction(5.6);
+
+    Real mass = -0.77;
+    FermionAction FermOp(U, *FGrid, *FrbGrid, mass);
+
+    ConjugateGradient<FermionField> CG(1.0e-8, 10000);
+
+    TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
+
+    // Set smearing (true/false), default: false
+    Nf2.is_smeared = true;
+
+    // Collect actions
+    ActionLevel<LatticeGaugeField> Level1(1);
+    Level1.push_back(&Nf2);
+
+    ActionLevel<LatticeGaugeField> Level2(4);
+    Level2.push_back(&Waction);
+
+    TheAction.push_back(Level1);
+    TheAction.push_back(Level2);
+
+    Run(argc, argv);
+  };
+};
+}
+}
+
+int main(int argc, char **argv) {
+  Grid_init(&argc, &argv);
+
+  int threads = GridThread::GetThreads();
+  std::cout << GridLogMessage << "Grid is setup to use " << threads
+            << " threads" << std::endl;
+
+  HmcRunner TheHMC;
+
+  TheHMC.BuildTheAction(argc, argv);
+}
diff --git a/tests/Test_hmc_WilsonFermionGauge.cc b/tests/Test_hmc_WilsonFermionGauge.cc
index a6fc7ae2..245a4216 100644
--- a/tests/Test_hmc_WilsonFermionGauge.cc
+++ b/tests/Test_hmc_WilsonFermionGauge.cc
@@ -1,77 +1,77 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./tests/Test_hmc_WilsonFermionGauge.cc
+Source file: ./tests/Test_hmc_WilsonFermionGauge.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include "Grid.h"
 
 using namespace std;
 using namespace Grid;
 using namespace Grid::QCD;
 
-namespace Grid { 
-  namespace QCD { 
-
+namespace Grid {
+namespace QCD {
 
 class HmcRunner : public NerscHmcRunner {
-public:
-
-  void BuildTheAction (int argc, char **argv)
+ public:
+  void BuildTheAction(int argc, char **argv)
 
   {
     typedef WilsonImplR ImplPolicy;
     typedef WilsonFermionR FermionAction;
     typedef typename FermionAction::FermionField FermionField;
 
-    UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
+    UGrid = SpaceTimeGrid::makeFourDimGrid(
+        GridDefaultLatt(), GridDefaultSimd(Nd, vComplex::Nsimd()),
+        GridDefaultMpi());
     UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
-  
-    FGrid   = UGrid;
+
+    FGrid = UGrid;
     FrbGrid = UrbGrid;
 
     // temporarily need a gauge field
-    LatticeGaugeField  U(UGrid);
+    LatticeGaugeField U(UGrid);
 
     // Gauge action
     WilsonGaugeActionR Waction(5.6);
 
-    Real mass=-0.77;
-    FermionAction FermOp(U,*FGrid,*FrbGrid,mass);
-  
-    ConjugateGradient<FermionField>  CG(1.0e-8,10000);
+    Real mass = -0.77;
+    FermionAction FermOp(U, *FGrid, *FrbGrid, mass);
 
-    TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp,CG,CG);
-  
-    //Set smearing (true/false), default: false
+    ConjugateGradient<FermionField> CG(1.0e-8, 10000);
+
+    TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
+
+    // Set smearing (true/false), default: false
     Nf2.is_smeared = true;
 
-
-    //Collect actions
+    // Collect actions
     ActionLevel<LatticeGaugeField> Level1(1);
     Level1.push_back(&Nf2);
 
@@ -81,24 +81,20 @@ public:
     TheAction.push_back(Level1);
     TheAction.push_back(Level2);
 
-    Run(argc,argv);
+    Run(argc, argv);
   };
-
 };
-
-}}
-
-int main (int argc, char ** argv)
-{
-  Grid_init(&argc,&argv);
-
-  int threads = GridThread::GetThreads();
-  std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
-
-  HmcRunner TheHMC;
-  
-  TheHMC.BuildTheAction(argc,argv);
-
+}
 }
 
+int main(int argc, char **argv) {
+  Grid_init(&argc, &argv);
 
+  int threads = GridThread::GetThreads();
+  std::cout << GridLogMessage << "Grid is setup to use " << threads
+            << " threads" << std::endl;
+
+  HmcRunner TheHMC;
+
+  TheHMC.BuildTheAction(argc, argv);
+}
diff --git a/tests/Test_lie_generators.cc b/tests/Test_lie_generators.cc
index 11dba39c..13f711eb 100644
--- a/tests/Test_lie_generators.cc
+++ b/tests/Test_lie_generators.cc
@@ -31,6 +31,8 @@ directory
 
 #include <qcd/utils/CovariantCshift.h>
 #include <qcd/utils/SUn.h>
+#include <qcd/utils/SUnAdjoint.h>
+#include <qcd/representations/adjoint.h>
 #include <qcd/utils/WilsonLoops.h>
 
 using namespace std;
@@ -52,8 +54,10 @@ int main(int argc, char** argv) {
   std::cout << GridLogMessage << "*********************************************"
             << std::endl;
   SU2::printGenerators();
-  SU2::printAdjointGenerators();
+  std::cout << "Dimension of adjoint representation: "<< SU2Adjoint::Dimension << std::endl;
+  SU2Adjoint::printGenerators();
   SU2::testGenerators();
+  SU2Adjoint::testGenerators();
 
   std::cout << GridLogMessage << "*********************************************"
             << std::endl;
@@ -61,14 +65,19 @@ int main(int argc, char** argv) {
   std::cout << GridLogMessage << "*********************************************"
             << std::endl;
   SU3::printGenerators();
-  SU3::printAdjointGenerators();
+  std::cout << "Dimension of adjoint representation: "<< SU3Adjoint::Dimension << std::endl;
+  SU3Adjoint::printGenerators();
   SU3::testGenerators();
+  SU3Adjoint::testGenerators();
 
   std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
   std::cout<<GridLogMessage<<"* Generators for SU(4)"<<std::endl;
   std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
   SU4::printGenerators();
+  std::cout << "Dimension of adjoint representation: "<< SU4Adjoint::Dimension << std::endl;
+  SU4Adjoint::printGenerators();
   SU4::testGenerators();
+  SU4Adjoint::testGenerators();
 
   //  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
   //  std::cout<<GridLogMessage<<"* Generators for SU(5)"<<std::endl;
@@ -76,5 +85,34 @@ int main(int argc, char** argv) {
   //  SU5::printGenerators();
   //  SU5::testGenerators();
 
+
+  // Projectors 
+  GridParallelRNG gridRNG(grid);
+  gridRNG.SeedRandomDevice();
+  SU3Adjoint::LatticeAdjMatrix Gauss(grid);
+  SU3::LatticeAlgebraVector ha(grid);
+  SU3::LatticeAlgebraVector hb(grid);
+  random(gridRNG,Gauss);
+
+  std::cout << GridLogMessage << "Start projectOnAlgebra" << std::endl;
+  SU3Adjoint::projectOnAlgebra(ha, Gauss);
+  std::cout << GridLogMessage << "end projectOnAlgebra" << std::endl;
+  std::cout << GridLogMessage << "Start projector" << std::endl;
+  SU3Adjoint::projector(hb, Gauss);
+  std::cout << GridLogMessage << "end projector" << std::endl;
+
+  std::cout << GridLogMessage << "ReStart projector" << std::endl;
+  SU3Adjoint::projector(hb, Gauss);
+  std::cout << GridLogMessage << "end projector" << std::endl;
+  SU3::LatticeAlgebraVector diff = ha -hb;
+  std::cout << GridLogMessage << "Difference: " << norm2(diff) << std::endl;
+
+
+  // Testing HMC representation classes
+  AdjointRep<3> AdjRep(grid);
+
+  // AdjointRepresentation has the predefined number of colours Nc
+  Representations<AdjointRepresentation> RepresentationTypes(grid);  
+
   Grid_finalize();
 }
diff --git a/tests/Test_wilson_force.cc b/tests/Test_wilson_force.cc
index 7ac21852..0432fbfa 100644
--- a/tests/Test_wilson_force.cc
+++ b/tests/Test_wilson_force.cc
@@ -76,6 +76,8 @@ int main (int argc, char ** argv)
 
   Dw.MDeriv(tmp , Mphi,  phi,DaggerNo );  UdSdU=tmp;
   Dw.MDeriv(tmp , phi,  Mphi,DaggerYes ); UdSdU=(UdSdU+tmp);
+  // Take the trace
+  UdSdU = Ta(UdSdU);
   
   LatticeFermion Ftmp      (&Grid);
 
diff --git a/tests/Test_zmm.cc b/tests/Test_zmm.cc
index 98a792e5..923c86ac 100644
--- a/tests/Test_zmm.cc
+++ b/tests/Test_zmm.cc
@@ -1,37 +1,35 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./tests/Test_zmm.cc
+Source file: ./tests/Test_zmm.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include <Grid.h>
 #include <PerfCount.h>
 
-int main(int argc,char **argv)
-{
-  return 0;
-}
+int main(int argc, char **argv) { return 0; }
 #if 0
 #include <simd/Intel512wilson.h>
 using namespace Grid;

From 6f47fbb1e2ec67650580baef917cab1efb57fb6c Mon Sep 17 00:00:00 2001
From: Christopher Kelly <ckelly@phys.columbia.edu>
Date: Wed, 13 Jul 2016 10:49:18 -0400
Subject: [PATCH 046/295] Disabled parallel for loops in ExtractSlice and
 InsertSlice due to race conditions. Likely will need to do so for
 localConvert too.

---
 lib/lattice/Lattice_transfer.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/lattice/Lattice_transfer.h b/lib/lattice/Lattice_transfer.h
index bd53cde9..2fa72014 100644
--- a/lib/lattice/Lattice_transfer.h
+++ b/lib/lattice/Lattice_transfer.h
@@ -386,7 +386,7 @@ void InsertSlice(Lattice<vobj> &lowDim,Lattice<vobj> & higherDim,int slice, int
   }
 
   // the above should guarantee that the operations are local
-PARALLEL_FOR_LOOP
+  //PARALLEL_FOR_LOOP
   for(int idx=0;idx<lg->lSites();idx++){
     std::vector<int> lcoor(nl);
     std::vector<int> hcoor(nh);
@@ -420,15 +420,15 @@ void ExtractSlice(Lattice<vobj> &lowDim, Lattice<vobj> & higherDim,int slice, in
   assert(hg->_processors[orthog]==1);
 
   int dl; dl = 0;
-  for(int d=0;d<nh;d++){
-    if ( d != orthog) {
-      assert(lg->_processors[dl]  == hg->_processors[d]);
-      assert(lg->_ldimensions[dl] == hg->_ldimensions[d]);
-      dl++;
+    for(int d=0;d<nh;d++){
+      if ( d != orthog) {
+	assert(lg->_processors[dl]  == hg->_processors[d]);
+	assert(lg->_ldimensions[dl] == hg->_ldimensions[d]);
+	dl++;
     }
   }
   // the above should guarantee that the operations are local
-PARALLEL_FOR_LOOP
+  //PARALLEL_FOR_LOOP
   for(int idx=0;idx<lg->lSites();idx++){
     std::vector<int> lcoor(nl);
     std::vector<int> hcoor(nh);

From 9dc345e8e8858cf3eec2131efd8f46fedd8208df Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Wed, 13 Jul 2016 17:51:18 +0100
Subject: [PATCH 047/295] Debugged smearing and adding HMC functions for hirep

---
 lib/qcd/QCD.h                                 |  7 +--
 lib/qcd/action/ActionBase.h                   | 11 +++--
 lib/qcd/hmc/integrators/Integrator.h          | 48 +++++++++++++++++--
 .../hmc/integrators/Integrator_algorithm.h    | 26 ++++++----
 lib/qcd/representations/adjoint.h             | 22 +++++----
 lib/qcd/representations/fundamental.h         | 39 +++++++++++++++
 lib/qcd/representations/hmc_types.h           | 19 +++++++-
 lib/qcd/utils/SUn.h                           |  4 ++
 lib/qcd/utils/SUnAdjoint.h                    |  4 +-
 tests/Test_hmc_EOWilsonFermionGauge.cc        |  2 +-
 tests/Test_hmc_WilsonAdjointFermionGauge.cc   |  4 +-
 tests/Test_lie_generators.cc                  |  2 +-
 12 files changed, 150 insertions(+), 38 deletions(-)
 create mode 100644 lib/qcd/representations/fundamental.h

diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index c475e74d..f154fa6a 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -496,11 +496,12 @@ namespace QCD {
 
 #include <qcd/action/Actions.h>
 
+#include <qcd/smearing/Smearing.h>
+
+#include <qcd/representations/hmc_types.h>
+
 #include <qcd/hmc/integrators/Integrator.h>
 #include <qcd/hmc/integrators/Integrator_algorithm.h>
 #include <qcd/hmc/HMC.h>
 
-#include <qcd/smearing/Smearing.h>
-
-#include <qcd/representations/hmc_types.h>
 #endif
diff --git a/lib/qcd/action/ActionBase.h b/lib/qcd/action/ActionBase.h
index 7c9f6f1c..83bb3ff7 100644
--- a/lib/qcd/action/ActionBase.h
+++ b/lib/qcd/action/ActionBase.h
@@ -66,13 +66,13 @@ template<class GaugeField> struct ActionLevel{
 public:
    
   typedef Action<GaugeField>*  ActPtr; // now force the same colours as the rest of the code
-
-  int multiplier;
+    
+  unsigned int multiplier;
 
   std::vector<ActPtr> actions;
 
-  ActionLevel(int mul = 1) : multiplier(mul) {
-    assert (mul > 0);
+  ActionLevel(unsigned int mul = 1) : actions(0), multiplier(mul) {
+    assert (mul >= 1);
   };
    
   void push_back(ActPtr ptr){
@@ -83,5 +83,6 @@ public:
 template<class GaugeField> using ActionSet = std::vector<ActionLevel< GaugeField > >;
 
 
-}}
+}
+}
 #endif
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index a8e10f55..e9f0c0c7 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -64,7 +64,7 @@ struct IntegratorParameters {
 };
 
 /*! @brief Class for Molecular Dynamics management */
-template <class GaugeField, class SmearingPolicy>
+template <class GaugeField, class SmearingPolicy ,class RepresentationPolicy >
 class Integrator {
  protected:
   typedef IntegratorParameters ParameterType;
@@ -81,6 +81,8 @@ class Integrator {
 
   SmearingPolicy& Smearer;
 
+  RepresentationPolicy Representations; 
+
   // Should match any legal (SU(n)) gauge field
   // Need to use this template to match Ncol to pass to SU<N> class
   template <int Ncol, class vec>
@@ -108,8 +110,28 @@ class Integrator {
               << " dt " << ep << " : t_P " << t_P[level] << std::endl;
   }
 
+  // to be used by the actionlevel class to iterate
+  // over the representations
+  template <class Level>
+  void update_P_core(Level repr_level, GaugeField& Mom, GaugeField& U,
+                     double ep) {
+    typedef typename Level::LatticeField FieldType;
+    FieldType Ur = repr_level->getRepresentation();// update U is better
+    for (int a = 0; a < repr_level.size(); ++a) {
+      FieldType forceR(U._grid);
+      // Implement smearing only for the fundamental representation now
+      repr_level.at(a)->deriv(Ur, forceR);
+      GaugeField force = repr_level.at(a)->RtoFundamentalProject(forceR);
+      std::cout << GridLogIntegrator
+                << "Hirep Force average: " << norm2(force) / (U._grid->gSites())
+                << std::endl;
+      Mom -= force * ep;
+    }
+  }
+  // Add the specialized class for the fundamental case
+
   void update_P(GaugeField& Mom, GaugeField& U, int level, double ep) {
-    // input U actually not used...
+    // input U actually not used in the fundamental case
     for (int a = 0; a < as[level].actions.size(); ++a) {
       GaugeField force(U._grid);
       GaugeField& Us = Smearer.get_U(as[level].actions.at(a)->is_smeared);
@@ -125,6 +147,8 @@ class Integrator {
                 << std::endl;
       Mom -= force * ep;
     }
+    // Add here the other representations
+    // as[level].apply(update_P_hireps, Args...)
   }
 
   void update_U(GaugeField& U, double ep) {
@@ -147,6 +171,8 @@ class Integrator {
     }
     // Update the smeared fields, can be implemented as observer
     Smearer.set_GaugeField(U);
+    // Update the higher representations fields
+    //Representations.update(U);// void functions if fundamental representation
   }
 
   virtual void step(GaugeField& U, int level, int first, int last) = 0;
@@ -154,7 +180,7 @@ class Integrator {
  public:
   Integrator(GridBase* grid, IntegratorParameters Par,
              ActionSet<GaugeField>& Aset, SmearingPolicy& Sm)
-      : Params(Par), as(Aset), P(grid), levels(Aset.size()), Smearer(Sm) {
+      : Params(Par), as(Aset), P(grid), levels(Aset.size()), Smearer(Sm), Representations(grid) {
     t_P.resize(levels, 0.0);
     t_U = 0.0;
     // initialization of smearer delegated outside of Integrator
@@ -166,8 +192,16 @@ class Integrator {
   void refresh(GaugeField& U, GridParallelRNG& pRNG) {
     std::cout << GridLogIntegrator << "Integrator refresh\n";
     generate_momenta(P, pRNG);
+    
+    // Update the smeared fields, can be implemented as observer
+    // necessary to keep the fields updated even after a reject 
+    // of the Metropolis
+    Smearer.set_GaugeField(U);
+    // Set the (eventual) representations gauge fields
+    // Representations.update(U);
+
     // The Smearer is attached to a pointer of the gauge field
-    // automatically gets the updated field
+    // automatically gets the correct field
     // whether or not has been accepted in the previous sweep
     for (int level = 0; level < as.size(); ++level) {
       for (int actionID = 0; actionID < as[level].actions.size(); ++actionID) {
@@ -178,6 +212,9 @@ class Integrator {
         as[level].actions.at(actionID)->refresh(Us, pRNG);
       }
     }
+ 
+
+
   }
 
   // Calculate action
@@ -220,7 +257,8 @@ class Integrator {
       t_P[level] = 0;
     }
 
-    for (int step = 0; step < Params.MDsteps; ++step) {  // MD step
+
+     for (int step = 0; step < Params.MDsteps; ++step) {  // MD step
       int first_step = (step == 0);
       int last_step = (step == Params.MDsteps - 1);
       this->step(U, 0, first_step, last_step);
diff --git a/lib/qcd/hmc/integrators/Integrator_algorithm.h b/lib/qcd/hmc/integrators/Integrator_algorithm.h
index 66390742..9e12c0c3 100644
--- a/lib/qcd/hmc/integrators/Integrator_algorithm.h
+++ b/lib/qcd/hmc/integrators/Integrator_algorithm.h
@@ -91,17 +91,19 @@ namespace Grid{
     *  P 1/2                            P 1/2
     */    
 
-    template<class GaugeField, class SmearingPolicy> class LeapFrog :
-      public Integrator<GaugeField, SmearingPolicy> {
+    template<class GaugeField,
+	     class SmearingPolicy,
+	     class RepresentationPolicy = Representations< FundamentalRepresentation > > class LeapFrog :
+      public Integrator<GaugeField, SmearingPolicy, RepresentationPolicy> {
     public:
 
-      typedef LeapFrog<GaugeField, SmearingPolicy> Algorithm;
+      typedef LeapFrog<GaugeField, SmearingPolicy, RepresentationPolicy> Algorithm;
 
       LeapFrog(GridBase* grid, 
 	       IntegratorParameters Par,
 	       ActionSet<GaugeField> & Aset,
 	       SmearingPolicy & Sm):
-	Integrator<GaugeField, SmearingPolicy>(grid,Par,Aset,Sm) {};
+	Integrator<GaugeField, SmearingPolicy, RepresentationPolicy>(grid,Par,Aset,Sm) {};
 
 
       void step (GaugeField& U, int level,int _first, int _last){
@@ -138,8 +140,10 @@ namespace Grid{
       }
     };
 
-    template<class GaugeField, class SmearingPolicy> class MinimumNorm2 :
-      public Integrator<GaugeField, SmearingPolicy> {
+    template<class GaugeField,
+	     class SmearingPolicy,
+	     class RepresentationPolicy = Representations < FundamentalRepresentation > > class MinimumNorm2 :
+      public Integrator<GaugeField, SmearingPolicy, RepresentationPolicy> {
     private:
       const RealD lambda = 0.1931833275037836;
 
@@ -149,7 +153,7 @@ namespace Grid{
 		   IntegratorParameters Par,
 		   ActionSet<GaugeField> & Aset,
 		   SmearingPolicy& Sm):
-	Integrator<GaugeField, SmearingPolicy>(grid,Par,Aset,Sm) {};
+	Integrator<GaugeField, SmearingPolicy, RepresentationPolicy>(grid,Par,Aset,Sm) {};
 
       void step (GaugeField& U, int level, int _first,int _last){
 
@@ -197,8 +201,10 @@ namespace Grid{
     };
 
 
-    template<class GaugeField, class SmearingPolicy> class ForceGradient :
-      public Integrator<GaugeField, SmearingPolicy> {
+    template<class GaugeField,
+	     class SmearingPolicy,
+	     class RepresentationPolicy = Representations< FundamentalRepresentation > > class ForceGradient :
+      public Integrator<GaugeField, SmearingPolicy, RepresentationPolicy> {
     private:
       const RealD lambda = 1.0/6.0;;
       const RealD chi    = 1.0/72.0;
@@ -211,7 +217,7 @@ namespace Grid{
 		  IntegratorParameters Par,
 		  ActionSet<GaugeField> & Aset,
 		  SmearingPolicy &Sm):
-      Integrator<GaugeField, SmearingPolicy>(grid,Par,Aset, Sm) {};
+      Integrator<GaugeField, SmearingPolicy, RepresentationPolicy>(grid,Par,Aset, Sm) {};
 
 
       void FG_update_P(GaugeField&U, int level,double fg_dt,double ep){
diff --git a/lib/qcd/representations/adjoint.h b/lib/qcd/representations/adjoint.h
index 93f8a27c..b211e122 100644
--- a/lib/qcd/representations/adjoint.h
+++ b/lib/qcd/representations/adjoint.h
@@ -19,11 +19,16 @@ namespace QCD {
 template <int ncolour>
 class AdjointRep {
  public:
-  typename SU_Adjoint<ncolour>::LatticeAdjMatrix U;
+ 	// typdef to be used by the Representations class in HMC to get the
+ 	// types for the higher representation fields
+  typedef typename SU_Adjoint<ncolour>::LatticeAdjMatrix LatticeField;
   const int Dimension = ncolour * ncolour - 1;
 
-  explicit AdjointRep(GridBase* grid):U(grid) {}
-  void update_representation(const LatticeGaugeField& Uin) {
+  LatticeField U;
+  
+
+  explicit AdjointRep(GridBase* grid) : U(grid) {}
+  LatticeField update_representation(const LatticeGaugeField& Uin) {
     // Uin is in the fundamental representation
     // get the U in AdjointRep
     // (U_adj)_B = tr[e^a U e^b U^dag]
@@ -34,19 +39,20 @@ class AdjointRep {
     U = zero;
     LatticeGaugeField tmp(Uin._grid);
 
-    Vector<typename SU<ncolour>::Matrix > ta(ncolour * ncolour - 1);
+    Vector<typename SU<ncolour>::Matrix> ta(ncolour * ncolour - 1);
 
-    // FIXME probably not very efficient to get all the generators everytime
+    // FIXME probably not very efficient to get all the generators
+    // everytime
     for (int a = 0; a < Dimension; a++) SU<ncolour>::generator(a, ta[a]);
 
     for (int a = 0; a < Dimension; a++) {
-    	tmp = 2.0 * adj(Uin) * ta[a] * Uin;
+      tmp = 2.0 * adj(Uin) * ta[a] * Uin;
       for (int b = 0; b < (ncolour * ncolour - 1); b++) {
         auto Tr = TensorRemove(trace(tmp * ta[b]));
-        pokeColour(U, Tr, a,b);
+        pokeColour(U, Tr, a, b);
       }
     }  	 
-
+    
   }
 };
 
diff --git a/lib/qcd/representations/fundamental.h b/lib/qcd/representations/fundamental.h
new file mode 100644
index 00000000..886dd399
--- /dev/null
+++ b/lib/qcd/representations/fundamental.h
@@ -0,0 +1,39 @@
+/*
+ *	Policy classes for the HMC
+ *	Author: Guido Cossu
+*/	
+
+#ifndef FUNDAMENTAL_H
+#define FUNDAMENTAL_H
+
+
+namespace Grid {
+namespace QCD {
+
+/*
+* This is an helper class for the HMC
+* Empty since HMC updates already the fundamental representation 
+*/
+
+template <int ncolour>
+class FundamentalRep {
+ public:
+  const int Dimension = ncolour;
+
+  // typdef to be used by the Representations class in HMC to get the
+  // types for the higher representation fields
+  typedef typename SU<ncolour>::LatticeMatrix LatticeField;
+  
+  explicit FundamentalRep(GridBase* grid) {} //do nothing
+  void update_representation(const LatticeGaugeField& Uin) {} // do nothing
+};
+
+typedef	 FundamentalRep<Nc> FundamentalRepresentation;
+
+}
+}
+
+
+
+
+#endif
diff --git a/lib/qcd/representations/hmc_types.h b/lib/qcd/representations/hmc_types.h
index b4e92c6b..4a281e75 100644
--- a/lib/qcd/representations/hmc_types.h
+++ b/lib/qcd/representations/hmc_types.h
@@ -4,16 +4,27 @@
 #include <tuple>
 #include <utility>
 #include <qcd/representations/adjoint.h>
+#include <qcd/representations/fundamental.h>
 
 namespace Grid {
 namespace QCD {
 
-// Utility to add support for representations other than the fundamental
 
+// Supported types
+//enum {Fundamental, Adjoint} repr_type;
+
+// Utility to add support to the HMC for representations other than the fundamental
 template<class... Reptypes>
 class Representations{
 public:
   typedef std::tuple<Reptypes...> Representation_type;
+
+  // To access the Reptypes (FundamentalRepresentation, AdjointRepresentation)
+  template <std::size_t N>
+  using repr_type = typename std::tuple_element<N, Representation_type >::type;
+  // in order to get the typename of the field use
+  // type repr_type::LatticeField
+
   Representation_type rep;
 
   // Multiple types constructor
@@ -29,12 +40,16 @@ public:
 
   template <std::size_t I = 0>
       inline typename std::enable_if <
-      I<sizeof...(Reptypes), void >::type update(LatticeGaugeField& U) {
+      I<sizeof...(Reptypes), void>::type update(LatticeGaugeField& U) {
     std::get<I>(rep).update_representation(U);
     update<I + 1>(U);
   }  
 };
 
+
+typedef Representations<FundamentalRepresentation> JustTheFundamental;
+
+
 }
 }
 
diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index 4d07cf5f..c3e8295f 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -728,6 +728,10 @@ typedef SU<2> SU2;
 typedef SU<3> SU3;
 typedef SU<4> SU4;
 typedef SU<5> SU5;
+
+
+typedef SU<Nc> FundamentalMatrices;
+
 }
 }
 #endif
diff --git a/lib/qcd/utils/SUnAdjoint.h b/lib/qcd/utils/SUnAdjoint.h
index 87b64e93..18c21e0b 100644
--- a/lib/qcd/utils/SUnAdjoint.h
+++ b/lib/qcd/utils/SUnAdjoint.h
@@ -137,12 +137,14 @@ class SU_Adjoint : public SU<ncolour> {
 
 
 
-
+// Some useful type names
 
 typedef SU_Adjoint<2> SU2Adjoint;
 typedef SU_Adjoint<3> SU3Adjoint;
 typedef SU_Adjoint<4> SU4Adjoint;
 typedef SU_Adjoint<5> SU5Adjoint;
+
+typedef SU_Adjoint<Nc> AdjointMatrices;
 }
 }
 
diff --git a/tests/Test_hmc_EOWilsonFermionGauge.cc b/tests/Test_hmc_EOWilsonFermionGauge.cc
index a322fa2d..6065884a 100644
--- a/tests/Test_hmc_EOWilsonFermionGauge.cc
+++ b/tests/Test_hmc_EOWilsonFermionGauge.cc
@@ -67,7 +67,7 @@ public:
     TwoFlavourEvenOddPseudoFermionAction<ImplPolicy> Nf2(FermOp,CG,CG);
 
     //Set smearing (true/false), default: false
-    Nf2.is_smeared=false;
+    Nf2.is_smeared=true;
     
     //Collect actions
     ActionLevel<LatticeGaugeField> Level1(1);
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
index 3f5bf82c..b0a5cd2c 100644
--- a/tests/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -43,8 +43,8 @@ class HmcRunner : public NerscHmcRunner {
   void BuildTheAction(int argc, char **argv)
 
   {
-    typedef WilsonImplR ImplPolicy; // gauge field implemetation
-    typedef WilsonFermionR FermionAction; // type of lattice fermions
+    typedef WilsonImplR ImplPolicy; // gauge field implemetation for the pseudofermions
+    typedef WilsonFermionR FermionAction; // type of lattice fermions (Wilson, DW, ...)
     typedef typename FermionAction::FermionField FermionField;
 
     UGrid = SpaceTimeGrid::makeFourDimGrid(
diff --git a/tests/Test_lie_generators.cc b/tests/Test_lie_generators.cc
index 13f711eb..b30be869 100644
--- a/tests/Test_lie_generators.cc
+++ b/tests/Test_lie_generators.cc
@@ -112,7 +112,7 @@ int main(int argc, char** argv) {
   AdjointRep<3> AdjRep(grid);
 
   // AdjointRepresentation has the predefined number of colours Nc
-  Representations<AdjointRepresentation> RepresentationTypes(grid);  
+  Representations<FundamentalRepresentation, AdjointRepresentation> RepresentationTypes(grid);  
 
   Grid_finalize();
 }

From adbc7c1188d1544e6743f9c4228f487c605cea6c Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 22:59:21 +0100
Subject: [PATCH 048/295] Adding files for multiple implementations (cache opt)
 and Ls vectorisation of the 5D cayley form chiral fermions for the 5d matrix.
 With Ls entirely in the vector direction, s-hopping terms involve rotations.

The serial dependence of the LDU inversion for Mobius and 4d even odd
checkerboarding is removed by simply applying Ls^2 operations (vectorised
many ways) as a dense matrix operation.

This should give similar throughput but high flops (non-compulsory flops)
but enable use of the KNL cache friendly kernels throughout the code.

Ls is still constrained to be a multiple of Nsimd, which is as much as 8 for AVX512
with single precision.
---
 .../action/fermion/CayleyFermion5Dcache.cc    | 206 ++++++++
 .../action/fermion/CayleyFermion5Ddense.cc    | 129 +++++
 lib/qcd/action/fermion/CayleyFermion5Dssp.cc  | 144 ++++++
 lib/qcd/action/fermion/CayleyFermion5Dvec.cc  | 301 ++++++++++++
 tests/core/Test_checker.cc                    | 155 ++++++
 tests/debug/Test_cayley_even_odd_vec.cc       | 460 ++++++++++++++++++
 6 files changed, 1395 insertions(+)
 create mode 100644 lib/qcd/action/fermion/CayleyFermion5Dcache.cc
 create mode 100644 lib/qcd/action/fermion/CayleyFermion5Ddense.cc
 create mode 100644 lib/qcd/action/fermion/CayleyFermion5Dssp.cc
 create mode 100644 lib/qcd/action/fermion/CayleyFermion5Dvec.cc
 create mode 100644 tests/core/Test_checker.cc
 create mode 100644 tests/debug/Test_cayley_even_odd_vec.cc

diff --git a/lib/qcd/action/fermion/CayleyFermion5Dcache.cc b/lib/qcd/action/fermion/CayleyFermion5Dcache.cc
new file mode 100644
index 00000000..62afe93e
--- /dev/null
+++ b/lib/qcd/action/fermion/CayleyFermion5Dcache.cc
@@ -0,0 +1,206 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/qcd/action/fermion/CayleyFermion5D.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: Peter Boyle <peterboyle@Peters-MacBook-Pro-2.local>
+Author: paboyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+
+#include <Grid.h>
+
+
+namespace Grid {
+namespace QCD {
+
+  // FIXME -- make a version of these routines with site loop outermost for cache reuse.
+
+  // Pminus fowards
+  // Pplus  backwards..
+template<class Impl>  
+void CayleyFermion5D<Impl>::M5D(const FermionField &psi,
+				const FermionField &phi, 
+				FermionField &chi,
+				std::vector<RealD> &lower,
+				std::vector<RealD> &diag,
+				std::vector<RealD> &upper)
+{
+  int Ls =this->Ls;
+  GridBase *grid=psi._grid;
+  assert(phi.checkerboard == psi.checkerboard);
+  chi.checkerboard=psi.checkerboard;
+PARALLEL_FOR_LOOP
+  for(int ss=0;ss<grid->oSites();ss+=Ls){ // adds Ls
+    for(int s=0;s<Ls;s++){
+      auto tmp = psi._odata[0];
+      if ( s==0 ) {
+ 	                            spProj5m(tmp,psi._odata[ss+s+1]);
+	chi[ss+s]=diag[s]*phi[ss+s]+upper[s]*tmp;
+
+	                    spProj5p(tmp,psi._odata[ss+Ls-1]);
+	chi[ss+s]=chi[ss+s]+lower[s]*tmp;
+      } else if ( s==(Ls-1)) {
+	                            spProj5m(tmp,psi._odata[ss+0]);
+	chi[ss+s]=diag[s]*phi[ss+s]+upper[s]*tmp;
+
+ 	                    spProj5p(tmp,psi._odata[ss+s-1]);
+	chi[ss+s]=chi[ss+s]+lower[s]*tmp;
+      } else { 
+	                            spProj5m(tmp,psi._odata[ss+s+1]);
+	chi[ss+s]=diag[s]*phi[ss+s]+upper[s]*tmp;
+
+	                    spProj5p(tmp,psi._odata[ss+s-1]);
+	chi[ss+s]=chi[ss+s]+lower[s]*tmp;
+      }
+    }
+  }
+}
+
+template<class Impl>  
+void CayleyFermion5D<Impl>::M5Ddag(const FermionField &psi,
+				   const FermionField &phi, 
+				   FermionField &chi,
+				   std::vector<RealD> &lower,
+				   std::vector<RealD> &diag,
+				   std::vector<RealD> &upper)
+{
+  int Ls =this->Ls;
+  GridBase *grid=psi._grid;
+  assert(phi.checkerboard == psi.checkerboard);
+  chi.checkerboard=psi.checkerboard;
+
+PARALLEL_FOR_LOOP
+  for(int ss=0;ss<grid->oSites();ss+=Ls){ // adds Ls
+    auto tmp = psi._odata[0];
+    for(int s=0;s<Ls;s++){
+      if ( s==0 ) {
+	spProj5p(tmp,psi._odata[ss+s+1]);
+	chi[ss+s]=diag[s]*phi[ss+s]+upper[s]*tmp;
+
+	spProj5m(tmp,psi._odata[ss+Ls-1]);
+	chi[ss+s]=chi[ss+s]+lower[s]*tmp;
+      } else if ( s==(Ls-1)) {
+	spProj5p(tmp,psi._odata[ss+0]);
+	chi[ss+s]=diag[s]*phi[ss+s]+upper[s]*tmp;
+
+	spProj5m(tmp,psi._odata[ss+s-1]);
+	chi[ss+s]=chi[ss+s]+lower[s]*tmp;
+      } else { 
+	spProj5p(tmp,psi._odata[ss+s+1]);
+	chi[ss+s]=diag[s]*phi[ss+s]+upper[s]*tmp;
+
+	spProj5m(tmp,psi._odata[ss+s-1]);
+	chi[ss+s]=chi[ss+s]+lower[s]*tmp;
+      }
+    }
+  }
+}
+
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInv    (const FermionField &psi, FermionField &chi)
+{
+  GridBase *grid=psi._grid;
+  int Ls=this->Ls;
+
+  chi.checkerboard=psi.checkerboard;
+
+PARALLEL_FOR_LOOP
+  for(int ss=0;ss<grid->oSites();ss+=Ls){ // adds Ls
+    auto tmp = psi._odata[0];
+
+    // Apply (L^{\prime})^{-1}
+    chi[ss]=psi[ss]; // chi[0]=psi[0]
+    for(int s=1;s<Ls;s++){
+                            spProj5p(tmp,chi[ss+s-1]);  
+      chi[ss+s] = psi[ss+s]-lee[s-1]*tmp;
+    }
+    // L_m^{-1} 
+    for (int s=0;s<Ls-1;s++){ // Chi[ee] = 1 - sum[s<Ls-1] -leem[s]P_- chi
+                                   spProj5m(tmp,chi[ss+s]);    
+      chi[ss+Ls-1] = chi[ss+Ls-1] - leem[s]*tmp;
+    }
+    // U_m^{-1} D^{-1}
+    for (int s=0;s<Ls-1;s++){
+      // Chi[s] + 1/d chi[s] 
+                                                spProj5p(tmp,chi[ss+Ls-1]); 
+      chi[ss+s] = (1.0/dee[s])*chi[ss+s]-(ueem[s]/dee[Ls-1])*tmp;
+    }	
+    chi[ss+Ls-1]= (1.0/dee[Ls-1])*chi[ss+Ls-1];
+      
+    // Apply U^{-1}
+    for (int s=Ls-2;s>=0;s--){
+                            spProj5m(tmp,chi[ss+s+1]);  
+      chi[ss+s] = chi[ss+s] - uee[s]*tmp;
+    }
+  }
+}
+
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
+{
+  GridBase *grid=psi._grid;
+  int Ls=this->Ls;
+
+  assert(psi.checkerboard == psi.checkerboard);
+  chi.checkerboard=psi.checkerboard;
+
+
+PARALLEL_FOR_LOOP
+  for(int ss=0;ss<grid->oSites();ss+=Ls){ // adds Ls
+
+    auto tmp = psi._odata[0];
+
+    // Apply (U^{\prime})^{-dagger}
+    chi[ss]=psi[ss];
+    for (int s=1;s<Ls;s++){
+                            spProj5m(tmp,chi[ss+s-1]);
+      chi[ss+s] = psi[ss+s]-uee[s-1]*tmp;
+    }
+    // U_m^{-\dagger} 
+    for (int s=0;s<Ls-1;s++){
+                                   spProj5p(tmp,chi[ss+s]);
+      chi[ss+Ls-1] = chi[ss+Ls-1] - ueem[s]*tmp;
+    }
+
+    // L_m^{-\dagger} D^{-dagger}
+    for (int s=0;s<Ls-1;s++){
+      spProj5m(tmp,chi[ss+Ls-1]);
+      chi[ss+s] = (1.0/dee[s])*chi[ss+s]-(leem[s]/dee[Ls-1])*tmp;
+    }	
+    chi[ss+Ls-1]= (1.0/dee[Ls-1])*chi[ss+Ls-1];
+  
+    // Apply L^{-dagger}
+    for (int s=Ls-2;s>=0;s--){
+      spProj5p(tmp,chi[ss+s+1]);
+      chi[ss+s] = chi[ss+s] - lee[s]*tmp;
+    }
+  }
+}
+
+FermOp4dVecTemplateInstantiate(CayleyFermion5D);
+GparityFermOpTemplateInstantiate(CayleyFermion5D);
+
+
+}}
diff --git a/lib/qcd/action/fermion/CayleyFermion5Ddense.cc b/lib/qcd/action/fermion/CayleyFermion5Ddense.cc
new file mode 100644
index 00000000..2b12d628
--- /dev/null
+++ b/lib/qcd/action/fermion/CayleyFermion5Ddense.cc
@@ -0,0 +1,129 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/qcd/action/fermion/CayleyFermion5D.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: Peter Boyle <peterboyle@Peters-MacBook-Pro-2.local>
+Author: paboyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+
+#include <Grid/Eigen/Dense>
+#include <Grid.h>
+
+
+namespace Grid {
+namespace QCD {
+  /*
+   * Dense matrix versions of routines
+   */
+
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
+{
+  this->MooeeInternal(psi,chi,DaggerYes,InverseYes);
+}
+  
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInv(const FermionField &psi, FermionField &chi)
+{
+  this->MooeeInternal(psi,chi,DaggerNo,InverseYes);
+}
+
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv)
+{
+  int Ls=this->Ls;
+  int LLs = psi._grid->_rdimensions[0];
+  int vol = psi._grid->oSites()/LLs;
+  
+  chi.checkerboard=psi.checkerboard;
+  
+  assert(Ls==LLs);
+  
+  Eigen::MatrixXd Pplus  = Eigen::MatrixXd::Zero(Ls,Ls);
+  Eigen::MatrixXd Pminus = Eigen::MatrixXd::Zero(Ls,Ls);
+  
+  for(int s=0;s<Ls;s++){
+    Pplus(s,s) = bee[s];
+    Pminus(s,s)= bee[s];
+  }
+  
+  for(int s=0;s<Ls-1;s++){
+    Pminus(s,s+1) = -cee[s];
+  }
+  
+  for(int s=0;s<Ls-1;s++){
+    Pplus(s+1,s) = -cee[s+1];
+  }
+  Pplus (0,Ls-1) = mass*cee[0];
+  Pminus(Ls-1,0) = mass*cee[Ls-1];
+  
+  Eigen::MatrixXd PplusMat ;
+  Eigen::MatrixXd PminusMat;
+  
+  if ( inv ) {
+    PplusMat =Pplus.inverse();
+    PminusMat=Pminus.inverse();
+  } else { 
+    PplusMat =Pplus;
+    PminusMat=Pminus;
+  }
+  
+  if(dag){
+    PplusMat.adjointInPlace();
+    PminusMat.adjointInPlace();
+  }
+
+  // For the non-vectorised s-direction this is simple
+  
+  for(auto site=0;site<vol;site++){
+    
+    SiteSpinor     SiteChi;
+    SiteHalfSpinor SitePplus;
+    SiteHalfSpinor SitePminus;
+    
+    for(int s1=0;s1<Ls;s1++){
+      SiteChi =zero;
+      for(int s2=0;s2<Ls;s2++){
+	int lex2 = s2+Ls*site;
+	
+	if ( PplusMat(s1,s2) != 0.0 ) {
+	  spProj5p(SitePplus,psi[lex2]);
+	  accumRecon5p(SiteChi,PplusMat (s1,s2)*SitePplus);
+	}
+	
+	if ( PminusMat(s1,s2) != 0.0 ) {
+	  spProj5m(SitePminus,psi[lex2]);
+	  accumRecon5m(SiteChi,PminusMat(s1,s2)*SitePminus);
+	}
+      }
+      chi[s1+Ls*site] = SiteChi*0.5;
+    }
+  }
+}
+
+  FermOp4dVecTemplateInstantiate(CayleyFermion5D);
+
+}}
diff --git a/lib/qcd/action/fermion/CayleyFermion5Dssp.cc b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
new file mode 100644
index 00000000..9b476745
--- /dev/null
+++ b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
@@ -0,0 +1,144 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/qcd/action/fermion/CayleyFermion5D.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: Peter Boyle <peterboyle@Peters-MacBook-Pro-2.local>
+Author: paboyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+
+#include <Grid.h>
+
+
+namespace Grid {
+namespace QCD {
+
+  // FIXME -- make a version of these routines with site loop outermost for cache reuse.
+
+  // Pminus fowards
+  // Pplus  backwards
+template<class Impl>  
+void CayleyFermion5D<Impl>::M5D(const FermionField &psi,
+				const FermionField &phi, 
+				FermionField &chi,
+				std::vector<RealD> &lower,
+				std::vector<RealD> &diag,
+				std::vector<RealD> &upper)
+{
+  int Ls=this->Ls;
+  for(int s=0;s<Ls;s++){
+    if ( s==0 ) {
+      axpby_ssp_pminus(chi,diag[s],phi,upper[s],psi,s,s+1);
+      axpby_ssp_pplus (chi,1.0,chi,lower[s],psi,s,Ls-1);
+    } else if ( s==(Ls-1)) { 
+      axpby_ssp_pminus(chi,diag[s],phi,upper[s],psi,s,0);
+      axpby_ssp_pplus (chi,1.0,chi,lower[s],psi,s,s-1);
+    } else {
+      axpby_ssp_pminus(chi,diag[s],phi,upper[s],psi,s,s+1);
+      axpby_ssp_pplus(chi,1.0,chi,lower[s],psi,s,s-1);
+    }
+  }
+}
+template<class Impl>  
+void CayleyFermion5D<Impl>::M5Ddag(const FermionField &psi,
+				   const FermionField &phi, 
+				   FermionField &chi,
+				   std::vector<RealD> &lower,
+				   std::vector<RealD> &diag,
+				   std::vector<RealD> &upper)
+{
+  int Ls=this->Ls;
+  for(int s=0;s<Ls;s++){
+    if ( s==0 ) {
+      axpby_ssp_pplus (chi,diag[s],phi,upper[s],psi,s,s+1);
+      axpby_ssp_pminus(chi,1.0,chi,lower[s],psi,s,Ls-1);
+    } else if ( s==(Ls-1)) { 
+      axpby_ssp_pplus (chi,diag[s],phi,upper[s],psi,s,0);
+      axpby_ssp_pminus(chi,1.0,chi,lower[s],psi,s,s-1);
+    } else {
+      axpby_ssp_pplus (chi,diag[s],phi,upper[s],psi,s,s+1);
+      axpby_ssp_pminus(chi,1.0,chi,lower[s],psi,s,s-1);
+    }
+  }
+}
+
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInv    (const FermionField &psi, FermionField &chi)
+{
+  chi.checkerboard=psi.checkerboard;
+  int Ls=this->Ls;
+  // Apply (L^{\prime})^{-1}
+  axpby_ssp (chi,1.0,psi,     0.0,psi,0,0);      // chi[0]=psi[0]
+  for (int s=1;s<Ls;s++){
+    axpby_ssp_pplus(chi,1.0,psi,-lee[s-1],chi,s,s-1);// recursion Psi[s] -lee P_+ chi[s-1]
+  }
+  // L_m^{-1} 
+  for (int s=0;s<Ls-1;s++){ // Chi[ee] = 1 - sum[s<Ls-1] -leem[s]P_- chi
+    axpby_ssp_pminus(chi,1.0,chi,-leem[s],chi,Ls-1,s);
+  }
+  // U_m^{-1} D^{-1}
+  for (int s=0;s<Ls-1;s++){
+    // Chi[s] + 1/d chi[s] 
+    axpby_ssp_pplus(chi,1.0/dee[s],chi,-ueem[s]/dee[Ls-1],chi,s,Ls-1);
+  }	
+  axpby_ssp(chi,1.0/dee[Ls-1],chi,0.0,chi,Ls-1,Ls-1); // Modest avoidable 
+  
+  // Apply U^{-1}
+  for (int s=Ls-2;s>=0;s--){
+    axpby_ssp_pminus (chi,1.0,chi,-uee[s],chi,s,s+1);  // chi[Ls]
+  }
+}
+
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
+{
+  chi.checkerboard=psi.checkerboard;
+  int Ls=this->Ls;
+  // Apply (U^{\prime})^{-dagger}
+  axpby_ssp (chi,1.0,psi,     0.0,psi,0,0);      // chi[0]=psi[0]
+  for (int s=1;s<Ls;s++){
+    axpby_ssp_pminus(chi,1.0,psi,-uee[s-1],chi,s,s-1);
+  }
+  // U_m^{-\dagger} 
+  for (int s=0;s<Ls-1;s++){
+    axpby_ssp_pplus(chi,1.0,chi,-ueem[s],chi,Ls-1,s);
+  }
+  // L_m^{-\dagger} D^{-dagger}
+  for (int s=0;s<Ls-1;s++){
+    axpby_ssp_pminus(chi,1.0/dee[s],chi,-leem[s]/dee[Ls-1],chi,s,Ls-1);
+  }	
+  axpby_ssp(chi,1.0/dee[Ls-1],chi,0.0,chi,Ls-1,Ls-1); // Modest avoidable 
+  
+  // Apply L^{-dagger}
+  for (int s=Ls-2;s>=0;s--){
+    axpby_ssp_pplus (chi,1.0,chi,-lee[s],chi,s,s+1);  // chi[Ls]
+  }
+}
+
+  FermOp4dVecTemplateInstantiate(CayleyFermion5D);
+  GparityFermOpTemplateInstantiate(CayleyFermion5D);
+
+}
+}
diff --git a/lib/qcd/action/fermion/CayleyFermion5Dvec.cc b/lib/qcd/action/fermion/CayleyFermion5Dvec.cc
new file mode 100644
index 00000000..dfa36acb
--- /dev/null
+++ b/lib/qcd/action/fermion/CayleyFermion5Dvec.cc
@@ -0,0 +1,301 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/qcd/action/fermion/CayleyFermion5D.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: Peter Boyle <peterboyle@Peters-MacBook-Pro-2.local>
+Author: paboyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+
+#include <Grid/Eigen/Dense>
+#include <Grid.h>
+
+
+namespace Grid {
+namespace QCD {
+  /*
+   * Dense matrix versions of routines
+   */
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
+{
+  this->MooeeInternal(psi,chi,DaggerYes,InverseYes);
+}
+  
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInv(const FermionField &psi, FermionField &chi)
+{
+  this->MooeeInternal(psi,chi,DaggerNo,InverseYes);
+}
+template<class Impl>  
+void CayleyFermion5D<Impl>::M5D(const FermionField &psi,
+				const FermionField &phi, 
+				FermionField &chi,
+				std::vector<RealD> &lower,
+				std::vector<RealD> &diag,
+				std::vector<RealD> &upper)
+{
+  GridBase *grid=psi._grid;
+  int Ls   = this->Ls;
+  int LLs  = grid->_rdimensions[0];
+  int nsimd= Simd::Nsimd();
+
+  Vector<iSinglet<Simd> > u(LLs);
+  Vector<iSinglet<Simd> > l(LLs);
+  Vector<iSinglet<Simd> > d(LLs);
+
+  assert(Ls/LLs==nsimd);
+  assert(phi.checkerboard == psi.checkerboard);
+
+  chi.checkerboard=psi.checkerboard;
+
+  // just directly address via type pun
+  typedef typename Simd::scalar_type scalar_type;
+  scalar_type * u_p = (scalar_type *)&u[0];
+  scalar_type * l_p = (scalar_type *)&l[0];
+  scalar_type * d_p = (scalar_type *)&d[0];
+
+  for(int o=0;o<LLs;o++){ // outer
+  for(int i=0;i<nsimd;i++){ //inner
+    int s  = o+i*LLs;
+    int ss = o*nsimd+i;
+    u_p[ss] = upper[s];
+    l_p[ss] = lower[s];
+    d_p[ss] = diag[s];
+  }}
+
+PARALLEL_FOR_LOOP
+  for(int ss=0;ss<grid->oSites();ss+=LLs){ // adds LLs
+
+    alignas(64) SiteHalfSpinor hp;
+    alignas(64) SiteHalfSpinor hm;
+    alignas(64) SiteSpinor fp;
+    alignas(64) SiteSpinor fm;
+
+    for(int v=0;v<LLs;v++){
+
+      int vp=(v+1)%LLs;
+      int vm=(v+LLs-1)%LLs;
+
+      spProj5m(hp,psi[ss+vp]);
+      spProj5p(hm,psi[ss+vm]);
+      
+      if ( vp<=v ) rotate(hp,hp,1);
+      if ( vm>=v ) rotate(hm,hm,nsimd-1);
+
+      hp=hp*0.5;
+      hm=hm*0.5;
+      spRecon5m(fp,hp);
+      spRecon5p(fm,hm);
+
+      chi[ss+v] = d[v]*phi[ss+v]+u[v]*fp;
+      chi[ss+v] = chi[ss+v]     +l[v]*fm;
+
+    }
+  }
+}
+
+template<class Impl>  
+void CayleyFermion5D<Impl>::M5Ddag(const FermionField &psi,
+				   const FermionField &phi, 
+				   FermionField &chi,
+				   std::vector<RealD> &lower,
+				   std::vector<RealD> &diag,
+				   std::vector<RealD> &upper)
+{
+  GridBase *grid=psi._grid;
+  int Ls   = this->Ls;
+  int LLs  = grid->_rdimensions[0];
+  int nsimd= Simd::Nsimd();
+
+  Vector<iSinglet<Simd> > u(LLs);
+  Vector<iSinglet<Simd> > l(LLs);
+  Vector<iSinglet<Simd> > d(LLs);
+
+  assert(Ls/LLs==nsimd);
+  assert(phi.checkerboard == psi.checkerboard);
+
+  chi.checkerboard=psi.checkerboard;
+
+  // just directly address via type pun
+  typedef typename Simd::scalar_type scalar_type;
+  scalar_type * u_p = (scalar_type *)&u[0];
+  scalar_type * l_p = (scalar_type *)&l[0];
+  scalar_type * d_p = (scalar_type *)&d[0];
+
+  for(int o=0;o<LLs;o++){ // outer
+  for(int i=0;i<nsimd;i++){ //inner
+    int s  = o+i*LLs;
+    int ss = o*nsimd+i;
+    u_p[ss] = upper[s];
+    l_p[ss] = lower[s];
+    d_p[ss] = diag[s];
+  }}
+
+PARALLEL_FOR_LOOP
+  for(int ss=0;ss<grid->oSites();ss+=LLs){ // adds LLs
+
+    alignas(64) SiteHalfSpinor hp;
+    alignas(64) SiteHalfSpinor hm;
+    alignas(64) SiteSpinor fp;
+    alignas(64) SiteSpinor fm;
+
+    for(int v=0;v<LLs;v++){
+
+      int vp=(v+1)%LLs;
+      int vm=(v+LLs-1)%LLs;
+
+      spProj5p(hp,psi[ss+vp]);
+      spProj5m(hm,psi[ss+vm]);
+
+      if ( vp<=v ) rotate(hp,hp,1);
+      if ( vm>=v ) rotate(hm,hm,nsimd-1);
+      
+      hp=hp*0.5;
+      hm=hm*0.5;
+      spRecon5p(fp,hp);
+      spRecon5m(fm,hm);
+
+      chi[ss+v] = d[v]*phi[ss+v]+u[v]*fp;
+      chi[ss+v] = chi[ss+v]     +l[v]*fm;
+
+    }
+  }
+}
+
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv)
+{
+  int Ls=this->Ls;
+  int LLs = psi._grid->_rdimensions[0];
+  int vol = psi._grid->oSites()/LLs;
+
+  chi.checkerboard=psi.checkerboard;
+  
+  Eigen::MatrixXd Pplus  = Eigen::MatrixXd::Zero(Ls,Ls);
+  Eigen::MatrixXd Pminus = Eigen::MatrixXd::Zero(Ls,Ls);
+  
+  for(int s=0;s<Ls;s++){
+    Pplus(s,s) = bee[s];
+    Pminus(s,s)= bee[s];
+  }
+  
+  for(int s=0;s<Ls-1;s++){
+    Pminus(s,s+1) = -cee[s];
+  }
+  
+  for(int s=0;s<Ls-1;s++){
+    Pplus(s+1,s) = -cee[s+1];
+  }
+  Pplus (0,Ls-1) = mass*cee[0];
+  Pminus(Ls-1,0) = mass*cee[Ls-1];
+  
+  Eigen::MatrixXd PplusMat ;
+  Eigen::MatrixXd PminusMat;
+  
+  if ( inv ) {
+    PplusMat =Pplus.inverse();
+    PminusMat=Pminus.inverse();
+  } else { 
+    PplusMat =Pplus;
+    PminusMat=Pminus;
+  }
+  
+  if(dag){
+    PplusMat.adjointInPlace();
+    PminusMat.adjointInPlace();
+  }
+  
+  typedef typename SiteHalfSpinor::scalar_type scalar_type;
+  const int Nsimd=Simd::Nsimd();
+  Vector<iSinglet<Simd> > Matp(Ls*LLs);
+  Vector<iSinglet<Simd> > Matm(Ls*LLs);
+
+  for(int s2=0;s2<Ls;s2++){
+  for(int s1=0;s1<LLs;s1++){
+    int istride = LLs;
+    int ostride = 1;
+      Simd Vp;
+      Simd Vm;
+      scalar_type *sp = (scalar_type *)&Vp;
+      scalar_type *sm = (scalar_type *)&Vm;
+      for(int l=0;l<Nsimd;l++){
+	sp[l] = PplusMat (l*istride+s1*ostride ,s2);
+	sm[l] = PminusMat(l*istride+s1*ostride,s2);
+      }
+      Matp[LLs*s2+s1] = Vp;
+      Matm[LLs*s2+s1] = Vm;
+    }
+  }
+  
+  // Dynamic allocate on stack to get per thread without serialised heap acces
+PARALLEL_FOR_LOOP
+  for(auto site=0;site<vol;site++){
+    
+    //    SiteHalfSpinor *SitePplus =(SiteHalfSpinor *) alloca(LLs*sizeof(SiteHalfSpinor));
+    //    SiteHalfSpinor *SitePminus=(SiteHalfSpinor *) alloca(LLs*sizeof(SiteHalfSpinor));
+    //    SiteSpinor     *SiteChi   =(SiteSpinor *)     alloca(LLs*sizeof(SiteSpinor));
+
+    Vector<SiteHalfSpinor> SitePplus(LLs);
+    Vector<SiteHalfSpinor> SitePminus(LLs);
+    Vector<SiteHalfSpinor> SiteChiP(LLs);
+    Vector<SiteHalfSpinor> SiteChiM(LLs);
+    Vector<SiteSpinor>     SiteChi(LLs);
+
+    SiteHalfSpinor BcastP;
+    SiteHalfSpinor BcastM;
+
+    for(int s=0;s<LLs;s++){
+      int lex = s+LLs*site;
+      spProj5p(SitePplus[s] ,psi[lex]);
+      spProj5m(SitePminus[s],psi[lex]);
+      SiteChiP[s]=zero;
+      SiteChiM[s]=zero;
+    }
+      
+    int s=0;
+    for(int  l=0; l<Simd::Nsimd();l++){ // simd lane
+      for(int s2=0;s2<LLs;s2++){ // Column loop of right hand side
+	vbroadcast(BcastP,SitePplus [s2],l);
+	vbroadcast(BcastM,SitePminus[s2],l);
+	for(int s1=0;s1<LLs;s1++){ // Column loop of reduction variables
+	  SiteChiP[s1]=SiteChiP[s1]+Matp[LLs*s+s1]*BcastP;
+	  SiteChiM[s1]=SiteChiM[s1]+Matm[LLs*s+s1]*BcastM;
+	}
+      s++;
+    }}
+
+    for(int s=0;s<LLs;s++){
+      int lex = s+LLs*site;
+      spRecon5p(SiteChi[s],SiteChiP[s]);
+      accumRecon5m(SiteChi[s],SiteChiM[s]);
+      chi[lex] = SiteChi[s]*0.5;
+    }
+  }
+}
+
+  FermOp5dVecTemplateInstantiate(CayleyFermion5D);
+
+}}
diff --git a/tests/core/Test_checker.cc b/tests/core/Test_checker.cc
new file mode 100644
index 00000000..a974965b
--- /dev/null
+++ b/tests/core/Test_checker.cc
@@ -0,0 +1,155 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./tests/Test_dwf_cg_prec.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+
+#include <Grid/Grid.h>
+
+using namespace std;
+using namespace Grid;
+using namespace Grid::QCD;
+
+template<class d>
+struct scal {
+  d internal;
+};
+
+  Gamma::GammaMatrix Gmu [] = {
+    Gamma::GammaX,
+    Gamma::GammaY,
+    Gamma::GammaZ,
+    Gamma::GammaT
+  };
+
+int toint(const char* str){
+  std::stringstream os; os << str;
+  int out; os >> out;
+  return out;
+}
+
+int main (int argc, char ** argv)
+{
+  Grid_init(&argc,&argv);
+
+  assert(argc >= 5);
+  
+  std::vector<int> latt(4,0);
+  latt[0] = toint(argv[1]);
+  latt[1] = toint(argv[2]);
+  latt[2] = toint(argv[3]);
+  latt[3] = toint(argv[4]);
+  
+  const int Ls= toint(argv[5]);
+  
+  std::cout << "Lattice size (" << latt[0] << "," << latt[1] << "," << latt[2] << "," << latt[3] << ") Ls=" << Ls << std::endl;
+  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplexD::Nsimd());
+  std::cout << "SIMD layout (" << simd_layout[0] << "," << simd_layout[1] << "," << simd_layout[2] << "," << simd_layout[3] << ")" << std::endl;
+  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(latt, simd_layout,GridDefaultMpi());
+  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
+  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
+  GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid);
+
+  std::vector<int> seeds4({1,2,3,4});
+  std::vector<int> seeds5({5,6,7,8});
+  GridParallelRNG          RNG5(FGrid);  RNG5.SeedFixedIntegers(seeds5);
+  GridParallelRNG          RNG4(UGrid);  RNG4.SeedFixedIntegers(seeds4);
+
+  //typedef Lattice<iGparitySpinColourVector<vComplexD> > LatticeType;
+  typedef LatticeFermionD LatticeType;
+  
+  LatticeType    src(FGrid); random(RNG5,src);
+
+  LatticeType src_o(FrbGrid);
+  pickCheckerboard(Odd,src_o,src);
+
+  std::vector<int> site(5);
+  std::vector<int> cbsite(5);
+  typedef typename GridTypeMapper<LatticeType::vector_object>::scalar_object sobj;
+
+  // std::cout << "sizeof(vobj) " << sizeof(LatticeType::vector_object) << std::endl;
+  // std::cout << "sizeof(sobj) " << sizeof(sobj) << std::endl;
+  std::cout << "v1 from uncheckerboarded field, v2 from odd-parity red-black field\n";
+
+  for(site[0]=0;site[0]<Ls;site[0]++){
+    for(site[4]=0;site[4]<latt[3];site[4]++){
+      for(site[3]=0;site[3]<latt[2];site[3]++){
+	for(site[2]=0;site[2]<latt[1];site[2]++){
+	  for(site[1]=0;site[1]<latt[0];site[1]++){
+	    if(src_o._grid->CheckerBoard(site) != src_o.checkerboard)
+	      continue;
+
+	    std::cout << "Site (" << site[0] << "," << site[1] << "," << site[2] << "," << site[3] << "," << site[4] << ")" << std::endl;
+	    sobj v1, v2;
+	    peekLocalSite(v1,src,site);
+	    peekLocalSite(v2,src_o,site);
+	    
+	    RealD v1_norm = norm2(v1);
+	    RealD v2_norm = norm2(v2);
+	    RealD diff = v2_norm - v1_norm;
+
+	    std::cout << v1_norm << " " << v2_norm << " " << diff << '\n';
+	    if(fabs(diff) > 1e-12){
+	      std::cout << "ERROR!\n";
+	      exit(-1);
+	    }
+	  }
+	}
+      }
+    }
+  }
+
+  
+
+
+
+
+
+  
+  // LatticeFermion result(FGrid); result=zero;
+  // LatticeGaugeField Umu(UGrid); 
+
+  // SU3::HotConfiguration(RNG4,Umu);
+
+  // std::vector<LatticeColourMatrix> U(4,UGrid);
+  // for(int mu=0;mu<Nd;mu++){
+  //   U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
+  // }
+  
+  // RealD mass=0.1;
+  // RealD M5=1.8;
+  // DomainWallFermionR Ddwf(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
+
+  // LatticeFermion    src_o(FrbGrid);
+  // LatticeFermion result_o(FrbGrid);
+  // pickCheckerboard(Odd,src_o,src);
+  // result_o=zero;
+
+  // SchurDiagMooeeOperator<DomainWallFermionR,LatticeFermion> HermOpEO(Ddwf);
+  // ConjugateGradient<LatticeFermion> CG(1.0e-8,10000);
+  // CG(HermOpEO,src_o,result_o);
+
+  Grid_finalize();
+}
diff --git a/tests/debug/Test_cayley_even_odd_vec.cc b/tests/debug/Test_cayley_even_odd_vec.cc
new file mode 100644
index 00000000..68315b88
--- /dev/null
+++ b/tests/debug/Test_cayley_even_odd_vec.cc
@@ -0,0 +1,460 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./tests/Test_cayley_even_odd.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include <Grid/Grid.h>
+
+using namespace std;
+using namespace Grid;
+using namespace Grid::QCD;
+
+template<class d>
+struct scal {
+  d internal;
+};
+
+  Gamma::GammaMatrix Gmu [] = {
+    Gamma::GammaX,
+    Gamma::GammaY,
+    Gamma::GammaZ,
+    Gamma::GammaT
+  };
+
+typedef DomainWallFermion<DomainWallVec5dImplR>                      DomainWallVecFermionR;
+typedef MobiusFermion<DomainWallVec5dImplR>                          MobiusVecFermionR;
+typedef MobiusZolotarevFermion<DomainWallVec5dImplR>                 MobiusZolotarevVecFermionR;
+typedef ScaledShamirFermion<DomainWallVec5dImplR>                    ScaledShamirVecFermionR;
+typedef ShamirZolotarevFermion<DomainWallVec5dImplR>                 ShamirZolotarevVecFermionR;
+typedef OverlapWilsonCayleyTanhFermion<DomainWallVec5dImplR>         OverlapWilsonCayleyTanhVecFermionR;
+typedef OverlapWilsonCayleyZolotarevFermion<DomainWallVec5dImplR>    OverlapWilsonCayleyZolotarevVecFermionR;
+
+template<class What> 
+void  TestWhat(What & Ddwf,
+	       GridCartesian         * FGrid,	       GridRedBlackCartesian * FrbGrid,
+	       GridCartesian         * UGrid,
+	       RealD mass, RealD M5,
+	       GridParallelRNG *RNG4,   GridParallelRNG *RNG5);
+
+template<class This,class That> 
+void  TestMoo(This & Dw, That &sDw);
+
+int main (int argc, char ** argv)
+{
+  Grid_init(&argc,&argv);
+
+  int threads = GridThread::GetThreads();
+  std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
+
+  const int Ls=16;
+
+  std::vector<int> latt4  =GridDefaultLatt();
+
+  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(latt4, GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
+  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
+  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
+  GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid);
+
+  GridCartesian         * sUGrid   = SpaceTimeGrid::makeFourDimDWFGrid(latt4,GridDefaultMpi());
+  GridRedBlackCartesian * sUrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(sUGrid);
+  GridCartesian         * sFGrid   = SpaceTimeGrid::makeFiveDimDWFGrid(Ls,UGrid);
+  GridRedBlackCartesian * sFrbGrid = SpaceTimeGrid::makeFiveDimDWFRedBlackGrid(Ls,UGrid);
+
+  std::vector<int> seeds4({1,2,3,4});
+  std::vector<int> seeds5({5,6,7,8});
+
+  GridParallelRNG          RNG4(UGrid);  RNG4.SeedFixedIntegers(seeds4);
+  GridParallelRNG          RNG5(FGrid);  RNG5.SeedFixedIntegers(seeds5);
+  GridParallelRNG          sRNG4(sUGrid);  sRNG4.SeedFixedIntegers(seeds4);
+  GridParallelRNG          sRNG5(sFGrid);  sRNG5.SeedFixedIntegers(seeds5);
+
+  LatticeGaugeField Umu(UGrid); random(RNG4,Umu);
+
+  RealD mass=0.1;
+  RealD M5  =1.8;
+
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  std::cout<<GridLogMessage <<"DomainWallFermion vectorised test"<<std::endl;
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  DomainWallFermionR Ddwf(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
+  DomainWallVecFermionR sDdwf(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,mass,M5);
+
+  TestMoo(Ddwf,sDdwf);
+  TestWhat<DomainWallFermionR>(Ddwf,FGrid,FrbGrid,UGrid,mass,M5,&RNG4,&RNG5);
+  TestWhat<DomainWallVecFermionR>(sDdwf,sFGrid,sFrbGrid,sUGrid,mass,M5,&sRNG4,&sRNG5);
+
+  RealD b=1.5;// Scale factor b+c=2, b-c=1
+  RealD c=0.5;
+
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  std::cout<<GridLogMessage <<"MobiusFermion test"<<std::endl;
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  MobiusFermionR     Dmob(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,b,c);
+  MobiusVecFermionR sDmob(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,mass,M5,b,c);
+  TestMoo(Dmob,sDmob);
+  TestWhat<MobiusFermionR>(Dmob,FGrid,FrbGrid,UGrid,mass,M5,&RNG4,&RNG5);
+  TestWhat<MobiusVecFermionR>(sDmob,sFGrid,sFrbGrid,sUGrid,mass,M5,&sRNG4,&sRNG5);
+
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  std::cout<<GridLogMessage <<"MobiusZolotarevFermion test"<<std::endl;
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+
+  MobiusZolotarevFermionR Dzolo(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,b,c,0.1,2.0);
+  MobiusZolotarevVecFermionR sDzolo(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,mass,M5,b,c,0.1,2.0);
+
+  TestMoo(Dzolo,sDzolo);
+  TestWhat<MobiusZolotarevFermionR>(Dzolo,FGrid,FrbGrid,UGrid,mass,M5,&RNG4,&RNG5);
+  TestWhat<MobiusZolotarevVecFermionR>(sDzolo,sFGrid,sFrbGrid,sUGrid,mass,M5,&sRNG4,&sRNG5);
+
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  std::cout<<GridLogMessage <<"ScaledShamirFermion test"<<std::endl;
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+
+  ScaledShamirFermionR Dsham(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,2.0);
+  ScaledShamirVecFermionR sDsham(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,mass,M5,2.0);
+
+  TestMoo(Dsham,sDsham);
+  TestWhat<ScaledShamirFermionR>(Dsham,FGrid,FrbGrid,UGrid,mass,M5,&RNG4,&RNG5);
+  TestWhat<ScaledShamirVecFermionR>(sDsham,sFGrid,sFrbGrid,sUGrid,mass,M5,&sRNG4,&sRNG5);
+
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  std::cout<<GridLogMessage <<"ShamirZolotarevFermion test"<<std::endl;
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+
+  ShamirZolotarevFermionR Dshamz(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,0.1,2.0);
+  ShamirZolotarevVecFermionR sDshamz(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,mass,M5,0.1,2.0);
+
+  TestMoo(Dshamz,sDshamz);
+  TestWhat<ShamirZolotarevFermionR>(Dshamz,FGrid,FrbGrid,UGrid,mass,M5,&RNG4,&RNG5);
+  TestWhat<ShamirZolotarevVecFermionR>(sDshamz,sFGrid,sFrbGrid,sUGrid,mass,M5,&sRNG4,&sRNG5);
+
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  std::cout<<GridLogMessage <<"OverlapWilsonCayleyTanhFermion test"<<std::endl;
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  OverlapWilsonCayleyTanhFermionR Dov(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,1.0);
+  OverlapWilsonCayleyTanhVecFermionR sDov(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,mass,M5,1.0);
+
+  TestMoo(Dov,sDov);
+  TestWhat<OverlapWilsonCayleyTanhFermionR>(Dov,FGrid,FrbGrid,UGrid,mass,M5,&RNG4,&RNG5);
+  TestWhat<OverlapWilsonCayleyTanhVecFermionR>(sDov,sFGrid,sFrbGrid,sUGrid,mass,M5,&sRNG4,&sRNG5);
+
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  std::cout<<GridLogMessage <<"OverlapWilsonCayleyZolotarevFermion test"<<std::endl;
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+
+  OverlapWilsonCayleyZolotarevFermionR Dovz(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,0.1,2.0);
+  OverlapWilsonCayleyZolotarevVecFermionR sDovz(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,mass,M5,0.1,2.0);
+
+  TestMoo(Dovz,sDovz);
+  TestWhat<OverlapWilsonCayleyZolotarevFermionR>(Dovz,FGrid,FrbGrid,UGrid,mass,M5,&RNG4,&RNG5);
+  TestWhat<OverlapWilsonCayleyZolotarevVecFermionR>(sDovz,sFGrid,sFrbGrid,sUGrid,mass,M5,&sRNG4,&sRNG5);
+
+  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+
+  Grid_finalize();
+}
+
+template<class What> 
+void  TestWhat(What & Ddwf, 
+	       GridCartesian         * FGrid,	       GridRedBlackCartesian * FrbGrid,
+	       GridCartesian         * UGrid,
+	       RealD mass, RealD M5,
+	       GridParallelRNG *RNG4,
+	       GridParallelRNG *RNG5)
+{
+
+  LatticeFermion src   (FGrid); random(*RNG5,src);
+  LatticeFermion phi   (FGrid); random(*RNG5,phi);
+  LatticeFermion chi   (FGrid); random(*RNG5,chi);
+  LatticeFermion result(FGrid); result=zero;
+  LatticeFermion    ref(FGrid);    ref=zero;
+  LatticeFermion    tmp(FGrid);    tmp=zero;
+  LatticeFermion    err(FGrid);    tmp=zero;
+
+  LatticeFermion src_e (FrbGrid);
+  LatticeFermion src_o (FrbGrid);
+  LatticeFermion r_e   (FrbGrid);
+  LatticeFermion r_o   (FrbGrid);
+  LatticeFermion r_eo  (FGrid);
+  LatticeFermion r_eeoo(FGrid);
+
+  std::cout<<GridLogMessage<<"=========================================================="<<std::endl;
+  std::cout<<GridLogMessage<<"= Testing that Meo + Moe + Moo + Mee = Munprec "<<std::endl;
+  std::cout<<GridLogMessage<<"=========================================================="<<std::endl;
+
+  pickCheckerboard(Even,src_e,src);
+  pickCheckerboard(Odd,src_o,src);
+
+  Ddwf.Meooe(src_e,r_o);  std::cout<<GridLogMessage<<"Applied Meo"<<std::endl;
+  Ddwf.Meooe(src_o,r_e);  std::cout<<GridLogMessage<<"Applied Moe"<<std::endl;
+  setCheckerboard(r_eo,r_o);
+  setCheckerboard(r_eo,r_e);
+
+  Ddwf.Mooee(src_e,r_e);  std::cout<<GridLogMessage<<"Applied Mee"<<std::endl;
+  Ddwf.Mooee(src_o,r_o);  std::cout<<GridLogMessage<<"Applied Moo"<<std::endl;
+  setCheckerboard(r_eeoo,r_e);
+  setCheckerboard(r_eeoo,r_o);
+
+  r_eo=r_eo+r_eeoo;
+  Ddwf.M(src,ref);  
+
+  //  std::cout<<GridLogMessage << r_eo<<std::endl;
+  //  std::cout<<GridLogMessage << ref <<std::endl;
+
+  err= ref - r_eo;
+  std::cout<<GridLogMessage << "EO norm diff   "<< norm2(err)<< " "<<norm2(ref)<< " " << norm2(r_eo) <<std::endl;
+    
+  LatticeComplex cerr(FGrid);
+  cerr = localInnerProduct(err,err);
+  //  std::cout<<GridLogMessage << cerr<<std::endl;
+
+  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+  std::cout<<GridLogMessage<<"= Test Ddagger is the dagger of D by requiring                "<<std::endl;
+  std::cout<<GridLogMessage<<"=  < phi | Deo | chi > * = < chi | Deo^dag| phi>  "<<std::endl;
+  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+  
+  LatticeFermion chi_e   (FrbGrid);
+  LatticeFermion chi_o   (FrbGrid);
+
+  LatticeFermion dchi_e  (FrbGrid);
+  LatticeFermion dchi_o  (FrbGrid);
+
+  LatticeFermion phi_e   (FrbGrid);
+  LatticeFermion phi_o   (FrbGrid);
+
+  LatticeFermion dphi_e  (FrbGrid);
+  LatticeFermion dphi_o  (FrbGrid);
+
+
+  pickCheckerboard(Even,chi_e,chi);
+  pickCheckerboard(Odd ,chi_o,chi);
+  pickCheckerboard(Even,phi_e,phi);
+  pickCheckerboard(Odd ,phi_o,phi);
+
+  Ddwf.Meooe(chi_e,dchi_o);
+  Ddwf.Meooe(chi_o,dchi_e);
+  Ddwf.MeooeDag(phi_e,dphi_o);
+  Ddwf.MeooeDag(phi_o,dphi_e);
+
+  ComplexD pDce = innerProduct(phi_e,dchi_e);
+  ComplexD pDco = innerProduct(phi_o,dchi_o);
+  ComplexD cDpe = innerProduct(chi_e,dphi_e);
+  ComplexD cDpo = innerProduct(chi_o,dphi_o);
+
+  std::cout<<GridLogMessage <<"e "<<pDce<<" "<<cDpe <<std::endl;
+  std::cout<<GridLogMessage <<"o "<<pDco<<" "<<cDpo <<std::endl;
+
+  std::cout<<GridLogMessage <<"pDce - conj(cDpo) "<< pDce-conj(cDpo) <<std::endl;
+  std::cout<<GridLogMessage <<"pDco - conj(cDpe) "<< pDco-conj(cDpe) <<std::endl;
+
+  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+  std::cout<<GridLogMessage<<"= Test MeeInv Mee = 1                                         "<<std::endl;
+  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+
+  pickCheckerboard(Even,chi_e,chi);
+  pickCheckerboard(Odd ,chi_o,chi);
+
+  Ddwf.Mooee(chi_e,src_e);
+  Ddwf.MooeeInv(src_e,phi_e);
+
+  Ddwf.Mooee(chi_o,src_o);
+  Ddwf.MooeeInv(src_o,phi_o);
+  
+  setCheckerboard(phi,phi_e);
+  setCheckerboard(phi,phi_o);
+
+  err = phi-chi;
+  std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<< std::endl;
+
+  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+  std::cout<<GridLogMessage<<"= Test MeeInvDag MeeDag = 1                                   "<<std::endl;
+  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+
+  pickCheckerboard(Even,chi_e,chi);
+  pickCheckerboard(Odd ,chi_o,chi);
+
+  Ddwf.MooeeDag(chi_e,src_e);
+  Ddwf.MooeeInvDag(src_e,phi_e);
+
+  Ddwf.MooeeDag(chi_o,src_o);
+  Ddwf.MooeeInvDag(src_o,phi_o);
+  
+  setCheckerboard(phi,phi_e);
+  setCheckerboard(phi,phi_o);
+
+  err = phi-chi;
+  std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<< std::endl;
+
+  
+}
+
+
+template<class This,class That> 
+void  TestMoo(This & Dw, That &sDw)
+{
+  GridBase *sgrid= sDw.FermionGrid();
+  GridBase *ngrid=  Dw.FermionGrid();
+
+  int Ls = Dw.Ls;
+
+  LatticeFermion ssrc(sgrid);
+  LatticeFermion nsrc(ngrid);
+  LatticeFermion zz(ngrid); zz=zero;
+  LatticeFermion sres(sgrid);
+  LatticeFermion nres(ngrid);
+  LatticeFermion ndiff(ngrid);
+  LatticeFermion sdiff(sgrid);
+
+  Gamma g5( Gamma::Gamma5 );
+
+  std::vector<int> seeds({1,2,3,4,5,7,8});
+  GridParallelRNG    RNG5(ngrid);  
+  RNG5.SeedFixedIntegers(seeds);
+  random(RNG5,nsrc);
+  //  nsrc = nsrc + g5*nsrc;
+
+  //  Lattice<iScalar<vInteger> > coor(ngrid);
+  //  LatticeCoordinate(coor,0);//scoor
+  //  nsrc = where(coor==(Integer)0,zz,nsrc);
+
+  std::vector<int> latt4(4);
+  for(int d=0;d<4;d++){
+    latt4[d] = ngrid->_fdimensions[d+1];
+  }
+
+  for(int x=0;x<latt4[0];x++){
+  for(int y=0;y<latt4[1];y++){
+  for(int z=0;z<latt4[2];z++){
+  for(int t=0;t<latt4[3];t++){
+  for(int s=0;s<Ls;s++){
+    std::vector<int> site({s,x,y,z,t});
+    SpinColourVector tmp;
+    peekSite(tmp,nsrc,site);
+    pokeSite(tmp,ssrc,site);
+  }}}}}
+
+  sDw.Mooee(ssrc,sres);
+   Dw.Mooee(nsrc,nres);
+
+  sDw.MooeeInternal(ssrc,sdiff,DaggerNo,InverseNo);
+
+
+  for(int x=0;x<latt4[0];x++){
+  for(int y=0;y<latt4[1];y++){
+  for(int z=0;z<latt4[2];z++){
+  for(int t=0;t<latt4[3];t++){
+  for(int s=0;s<Ls;s++){
+
+    std::vector<int> site({s,x,y,z,t});
+    SpinColourVector stmp;
+    SpinColourVector itmp;
+    SpinColourVector dtmp;
+    peekSite(stmp,sres,site);
+    peekSite(itmp,sdiff,site);
+
+    dtmp=itmp-stmp;
+    if ( norm2(dtmp)>1.0e-6) { 
+      std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+      std:: cout << x<<" "<<y<<" "<< z<< " "<<t<<"; s= "<<s<<std::endl;
+      std:: cout << "stmp "<< stmp <<std::endl;
+      std:: cout << "itmp "<< itmp <<std::endl;
+      std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+    }
+  }}}}}
+  sdiff = sdiff -sres;
+  std::cout<<GridLogMessage<<" norm MooInternal diff "<<norm2(sdiff)<<std::endl;
+
+  for(int x=0;x<latt4[0];x++){
+  for(int y=0;y<latt4[1];y++){
+  for(int z=0;z<latt4[2];z++){
+  for(int t=0;t<latt4[3];t++){
+  for(int s=0;s<Ls;s++){
+    std::vector<int> site({s,x,y,z,t});
+
+    SpinColourVector tmp;
+    peekSite(tmp,sres,site);
+    pokeSite(tmp,ndiff,site);
+  }}}}}
+  ndiff=ndiff-nres;
+  std::cout<<GridLogMessage<<" norm Moo diff "<<norm2(ndiff)<<std::endl;
+
+  sDw.MooeeDag(ssrc,sres);
+   Dw.MooeeDag(nsrc,nres);
+  sDw.MooeeInternal(ssrc,sdiff,DaggerYes,InverseNo);
+
+  sdiff = sdiff -sres;
+  std::cout<<GridLogMessage<<" norm MooInternalDag diff "<<norm2(sdiff)<<std::endl;
+
+  for(int x=0;x<latt4[0];x++){
+  for(int y=0;y<latt4[1];y++){
+  for(int z=0;z<latt4[2];z++){
+  for(int t=0;t<latt4[3];t++){
+  for(int s=0;s<Ls;s++){
+    std::vector<int> site({s,x,y,z,t});
+
+    SpinColourVector tmp;
+    peekSite(tmp,sres,site);
+    pokeSite(tmp,ndiff,site);
+  }}}}}
+  ndiff=ndiff-nres;
+  std::cout<<GridLogMessage<<" norm MooeeDag diff "<<norm2(ndiff)<<std::endl;
+
+  sDw.MooeeInv(ssrc,sres);
+   Dw.MooeeInv(nsrc,nres);
+
+  for(int x=0;x<latt4[0];x++){
+  for(int y=0;y<latt4[1];y++){
+  for(int z=0;z<latt4[2];z++){
+  for(int t=0;t<latt4[3];t++){
+  for(int s=0;s<Ls;s++){
+    std::vector<int> site({s,x,y,z,t});
+
+    SpinColourVector tmp;
+    peekSite(tmp,sres,site);
+    pokeSite(tmp,ndiff,site);
+  }}}}}
+  ndiff=ndiff-nres;
+  std::cout<<GridLogMessage<<" norm MooeeInv diff "<<norm2(ndiff)<<std::endl;
+
+  sDw.MooeeInvDag(ssrc,sres);
+   Dw.MooeeInvDag(nsrc,nres);
+
+  for(int x=0;x<latt4[0];x++){
+  for(int y=0;y<latt4[1];y++){
+  for(int z=0;z<latt4[2];z++){
+  for(int t=0;t<latt4[3];t++){
+  for(int s=0;s<Ls;s++){
+    std::vector<int> site({s,x,y,z,t});
+    SpinColourVector tmp;
+    peekSite(tmp,sres,site);
+    pokeSite(tmp,ndiff,site);
+  }}}}}
+  ndiff=ndiff-nres;
+  std::cout<<GridLogMessage<<" norm MooeeInvDag diff "<<norm2(ndiff)<<std::endl;
+
+  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
+
+
+}

From 9db2c6525de51fc9402f0f17b0b27fdfaf14fd61 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:44:02 +0100
Subject: [PATCH 049/295] updating benchmarks for red black 4d for Ls
 vectorised code

---
 benchmarks/Benchmark_dwf.cc       |  45 +++++---
 benchmarks/Benchmark_dwf_sweep.cc | 174 +++++++++++++++---------------
 2 files changed, 112 insertions(+), 107 deletions(-)

diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index d7e69ee6..c4a7c29e 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -45,9 +45,9 @@ struct scal {
   };
 
 bool overlapComms = false;
-typedef WilsonFermion5D<DomainWallRedBlack5dImplR> WilsonFermion5DR;
-typedef WilsonFermion5D<DomainWallRedBlack5dImplF> WilsonFermion5DF;
-typedef WilsonFermion5D<DomainWallRedBlack5dImplD> WilsonFermion5DD;
+typedef WilsonFermion5D<DomainWallVec5dImplR> WilsonFermion5DR;
+typedef WilsonFermion5D<DomainWallVec5dImplF> WilsonFermion5DF;
+typedef WilsonFermion5D<DomainWallVec5dImplD> WilsonFermion5DD;
 
 
 int main (int argc, char ** argv)
@@ -70,8 +70,8 @@ int main (int argc, char ** argv)
 
   std::cout << GridLogMessage << "Making s innermost grids"<<std::endl;
   GridCartesian         * sUGrid   = SpaceTimeGrid::makeFourDimDWFGrid(GridDefaultLatt(),GridDefaultMpi());
+  GridRedBlackCartesian * sUrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(sUGrid);
   GridCartesian         * sFGrid   = SpaceTimeGrid::makeFiveDimDWFGrid(Ls,UGrid);
-  std::cout << GridLogMessage << "Making s innermost rb grids"<<std::endl;
   GridRedBlackCartesian * sFrbGrid = SpaceTimeGrid::makeFiveDimDWFRedBlackGrid(Ls,UGrid);
 
   std::vector<int> seeds4({1,2,3,4});
@@ -86,6 +86,16 @@ int main (int argc, char ** argv)
   LatticeFermion    tmp(FGrid);
   LatticeFermion    err(FGrid);
 
+  /*  src=zero;
+  std::vector<int> origin(5,0);
+  SpinColourVector f=zero;
+  for(int sp=0;sp<4;sp++){
+  for(int co=0;co<3;co++){
+    f()(sp)(co)=Complex(1.0,0.0); 
+  }}
+  pokeSite(f,src,origin);
+  */
+
   ColourMatrix cm = Complex(1.0,0.0);
 
   LatticeGaugeField Umu(UGrid); 
@@ -126,19 +136,16 @@ int main (int argc, char ** argv)
   RealD mass=0.1;
   RealD M5  =1.8;
 
-  typename DomainWallFermionR::ImplParams params; 
-  params.overlapCommsCompute = overlapComms;
-  
   RealD NP = UGrid->_Nprocessors;
 
   for(int doasm=1;doasm<2;doasm++){
 
     QCD::WilsonKernelsStatic::AsmOpt=doasm;
 
-  DomainWallFermionR Dw(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,params);
+  DomainWallFermionR Dw(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
   
   std::cout<<GridLogMessage << "Calling Dw"<<std::endl;
-  int ncall =10;
+  int ncall =100;
   if (1) {
 
     double t0=usecond();
@@ -164,11 +171,12 @@ int main (int argc, char ** argv)
 
   if (1)
   {
-    typedef WilsonFermion5D<DomainWallRedBlack5dImplR> WilsonFermion5DR;
+    typedef WilsonFermion5D<DomainWallVec5dImplR> WilsonFermion5DR;
     LatticeFermion ssrc(sFGrid);
     LatticeFermion sref(sFGrid);
     LatticeFermion sresult(sFGrid);
-    WilsonFermion5DR sDw(1,Umu,*sFGrid,*sFrbGrid,*sUGrid,M5,params);
+
+    WilsonFermion5DR sDw(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,M5);
   
     for(int x=0;x<latt4[0];x++){
     for(int y=0;y<latt4[1];y++){
@@ -180,7 +188,7 @@ int main (int argc, char ** argv)
       peekSite(tmp,src,site);
       pokeSite(tmp,ssrc,site);
     }}}}}
-
+    std::cout<<"src norms "<< norm2(src)<<" " <<norm2(ssrc)<<std::endl;
     double t0=usecond();
     for(int i=0;i<ncall;i++){
       __SSC_START;
@@ -207,6 +215,7 @@ int main (int argc, char ** argv)
       }
     }
 
+    std::cout<<"res norms "<< norm2(result)<<" " <<norm2(sresult)<<std::endl;
 
 
     RealF sum=0;
@@ -220,9 +229,11 @@ int main (int argc, char ** argv)
       peekSite(normal,result,site);
       peekSite(simd,sresult,site);
       sum=sum+norm2(normal-simd);
-      //      std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" "<<norm2(normal-simd)<<std::endl;
-      //      std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" "<<normal<<std::endl;
-      //      std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" "<<simd<<std::endl;
+      if (norm2(normal-simd) > 1.0e-6 ) {
+	std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" "<<norm2(normal-simd)<<std::endl;
+	std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" normal "<<normal<<std::endl;
+	std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" simd   "<<simd<<std::endl;
+      }
     }}}}}
     std::cout<<" difference between normal and simd is "<<sum<<std::endl;
 
@@ -267,9 +278,9 @@ int main (int argc, char ** argv)
       pickCheckerboard(Even,ssrc_e,sresult);
       pickCheckerboard(Odd ,ssrc_o,sresult);
       ssrc_e = ssrc_e - sr_e;
-      std::cout<<GridLogMessage << "sE norm diff   "<< norm2(ssrc_e)<<std::endl;
+      std::cout<<GridLogMessage << "sE norm diff   "<< norm2(ssrc_e)<< "  vec nrm"<<norm2(sr_e) <<std::endl;
       ssrc_o = ssrc_o - sr_o;
-      std::cout<<GridLogMessage << "sO norm diff   "<< norm2(ssrc_o)<<std::endl;
+      std::cout<<GridLogMessage << "sO norm diff   "<< norm2(ssrc_o)<< "  vec nrm"<<norm2(sr_o) <<std::endl;
     }
 
 
diff --git a/benchmarks/Benchmark_dwf_sweep.cc b/benchmarks/Benchmark_dwf_sweep.cc
index e720b01d..d52112ba 100644
--- a/benchmarks/Benchmark_dwf_sweep.cc
+++ b/benchmarks/Benchmark_dwf_sweep.cc
@@ -125,7 +125,6 @@ void benchDw(std::vector<int> & latt4, int Ls, int threads,int report )
 
   ColourMatrix cm = Complex(1.0,0.0);
 
-
   LatticeGaugeField Umu5d(FGrid); 
 
   // replicate across fifth dimension
@@ -144,11 +143,10 @@ void benchDw(std::vector<int> & latt4, int Ls, int threads,int report )
   }
 
 #ifdef CHECK
-  if (1)
-  {
+  if (1) {
+
     ref = zero;
     for(int mu=0;mu<Nd;mu++){
-
       tmp = U[mu]*Cshift(src,mu+1,1);
       ref=ref + tmp - Gamma(Gmu[mu])*tmp;
 
@@ -192,20 +190,19 @@ void benchDw(std::vector<int> & latt4, int Ls, int threads,int report )
     Counter.Report();
   }
   
-  if ( ! report ) 
-    {
-      double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
-      double flops=1344*volume*ncall;
-      std::cout <<"\t"<<NP<< "\t"<<flops/(t1-t0)<< "\t";
-    }
+  if ( ! report ) {
+    double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
+    double flops=1344*volume*ncall;
+    std::cout <<"\t"<<NP<< "\t"<<flops/(t1-t0)<< "\t";
+  }
   
 #ifdef CHECK
-    err = ref-result; 
-    RealD errd = norm2(err);
-    if ( errd> 1.0e-4 ) {
-      std::cout<<GridLogMessage << "oops !!! norm diff   "<< norm2(err)<<std::endl;
-      exit(-1);
-    }
+  err = ref-result; 
+  RealD errd = norm2(err);
+  if ( errd> 1.0e-4 ) {
+    std::cout<<GridLogMessage << "oops !!! norm diff   "<< norm2(err)<<std::endl;
+    exit(-1);
+  }
 #endif
     
   LatticeFermion src_e (FrbGrid);
@@ -231,10 +228,9 @@ void benchDw(std::vector<int> & latt4, int Ls, int threads,int report )
       std::cout<< flops/(t1-t0);
     }
   }
-  
 }
 
-#undef CHECK_SDW
+#define CHECK_SDW
 void benchsDw(std::vector<int> & latt4, int Ls, int threads, int report )
 {
 
@@ -242,7 +238,9 @@ void benchsDw(std::vector<int> & latt4, int Ls, int threads, int report )
   GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
   GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
   GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid);
+
   GridCartesian         * sUGrid   = SpaceTimeGrid::makeFourDimDWFGrid(latt4,GridDefaultMpi());
+  GridRedBlackCartesian * sUrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(sUGrid);
   GridCartesian         * sFGrid   = SpaceTimeGrid::makeFiveDimDWFGrid(Ls,UGrid);
   GridRedBlackCartesian * sFrbGrid = SpaceTimeGrid::makeFiveDimDWFRedBlackGrid(Ls,UGrid);
 
@@ -276,93 +274,89 @@ void benchsDw(std::vector<int> & latt4, int Ls, int threads, int report )
     }
   }
 
-
   RealD mass=0.1;
   RealD M5  =1.8;
 
-    typedef WilsonFermion5D<DomainWallRedBlack5dImplR> WilsonFermion5DR;
-    LatticeFermion ssrc(sFGrid);
-    LatticeFermion sref(sFGrid);
-    LatticeFermion sresult(sFGrid);
-    WilsonFermion5DR sDw(1,Umu,*sFGrid,*sFrbGrid,*sUGrid,M5);
+  typedef WilsonFermion5D<DomainWallVec5dImplR> WilsonFermion5DR;
+  LatticeFermion ssrc(sFGrid);
+  LatticeFermion sref(sFGrid);
+  LatticeFermion sresult(sFGrid);
+  WilsonFermion5DR sDw(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,M5);
   
-    for(int x=0;x<latt4[0];x++){
-    for(int y=0;y<latt4[1];y++){
-    for(int z=0;z<latt4[2];z++){
-    for(int t=0;t<latt4[3];t++){
-    for(int s=0;s<Ls;s++){
-      std::vector<int> site({s,x,y,z,t});
-      SpinColourVector tmp;
-      peekSite(tmp,src,site);
-      pokeSite(tmp,ssrc,site);
-    }}}}}
+  for(int x=0;x<latt4[0];x++){
+  for(int y=0;y<latt4[1];y++){
+  for(int z=0;z<latt4[2];z++){
+  for(int t=0;t<latt4[3];t++){
+  for(int s=0;s<Ls;s++){
+    std::vector<int> site({s,x,y,z,t});
+    SpinColourVector tmp;
+    peekSite(tmp,src,site);
+    pokeSite(tmp,ssrc,site);
+  }}}}}
 
-    double t0=usecond();
-    sDw.Dhop(ssrc,sresult,0);
-    double t1=usecond();
+  double t0=usecond();
+  sDw.Dhop(ssrc,sresult,0);
+  double t1=usecond();
 
 #ifdef TIMERS_OFF
-    int ncall =10;
+  int ncall =10;
 #else 
-    int ncall =1+(int) ((5.0*1000*1000)/(t1-t0));
+  int ncall =1+(int) ((5.0*1000*1000)/(t1-t0));
 #endif
 
-    PerformanceCounter Counter(8);
-    Counter.Start();
-    t0=usecond();
-    for(int i=0;i<ncall;i++){
-      sDw.Dhop(ssrc,sresult,0);
-    }
-    t1=usecond();
-    Counter.Stop();
+  PerformanceCounter Counter(8);
+  Counter.Start();
+  t0=usecond();
+  for(int i=0;i<ncall;i++){
+    sDw.Dhop(ssrc,sresult,0);
+  }
+  t1=usecond();
+  Counter.Stop();
+  
+  if ( report ) {
+    Counter.Report();
+  } else { 
+    double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
+    double flops=1344*volume*ncall;
+    std::cout<<"\t"<< flops/(t1-t0);
+  }
 
-    if ( report ) {
-      Counter.Report();
-    } else { 
-
-      double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
-      double flops=1344*volume*ncall;
-      std::cout<<"\t"<< flops/(t1-t0);
-    }
-
-
-    LatticeFermion sr_eo(sFGrid);
-    LatticeFermion serr(sFGrid);
-    
-    LatticeFermion ssrc_e (sFrbGrid);
-    LatticeFermion ssrc_o (sFrbGrid);
-    LatticeFermion sr_e   (sFrbGrid);
-    LatticeFermion sr_o   (sFrbGrid);
+  LatticeFermion sr_eo(sFGrid);
+  LatticeFermion serr(sFGrid);
+  
+  LatticeFermion ssrc_e (sFrbGrid);
+  LatticeFermion ssrc_o (sFrbGrid);
+  LatticeFermion sr_e   (sFrbGrid);
+  LatticeFermion sr_o   (sFrbGrid);
       
-    pickCheckerboard(Even,ssrc_e,ssrc);
-    pickCheckerboard(Odd,ssrc_o,ssrc);
-
-    setCheckerboard(sr_eo,ssrc_o);
-    setCheckerboard(sr_eo,ssrc_e);
-    
-    sr_e = zero;
-    sr_o = zero;
+  pickCheckerboard(Even,ssrc_e,ssrc);
+  pickCheckerboard(Odd,ssrc_o,ssrc);
+  
+  setCheckerboard(sr_eo,ssrc_o);
+  setCheckerboard(sr_eo,ssrc_e);
     
+  sr_e = zero;
+  sr_o = zero;
+  
+  sDw.DhopEO(ssrc_o,sr_e,DaggerNo);
+  PerformanceCounter CounterSdw(8);
+  CounterSdw.Start();
+  t0=usecond();
+  for(int i=0;i<ncall;i++){
+    __SSC_START;
     sDw.DhopEO(ssrc_o,sr_e,DaggerNo);
-    PerformanceCounter CounterSdw(8);
-    CounterSdw.Start();
-    t0=usecond();
-    for(int i=0;i<ncall;i++){
-      __SSC_START;
-      sDw.DhopEO(ssrc_o,sr_e,DaggerNo);
-      __SSC_STOP;
-    }
-    t1=usecond();
-    CounterSdw.Stop();
+    __SSC_STOP;
+  }
+  t1=usecond();
+  CounterSdw.Stop();
 
-    if ( report ) { 
-      CounterSdw.Report();
-    } else {
-
-      double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
-      double flops=(1344.0*volume*ncall)/2;
-      std::cout<<"\t"<< flops/(t1-t0);
-    }
+  if ( report ) { 
+    CounterSdw.Report();
+  } else {
+    double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
+    double flops=(1344.0*volume*ncall)/2;
+    std::cout<<"\t"<< flops/(t1-t0);
+  }
 }
 
 

From 42af132dabaee95553c387d09ef67995495b1192 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:44:48 +0100
Subject: [PATCH 050/295] Fix for chris kellys request to peek poke on
 checkerboarded fields

---
 lib/cartesian/Cartesian_base.h      | 14 +++++++-------
 lib/cartesian/Cartesian_red_black.h | 12 ++++++++++++
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/lib/cartesian/Cartesian_base.h b/lib/cartesian/Cartesian_base.h
index 77de84b3..b69c3435 100644
--- a/lib/cartesian/Cartesian_base.h
+++ b/lib/cartesian/Cartesian_base.h
@@ -106,6 +106,12 @@ public:
         for(int d=0;d<_ndimension;d++) idx+=_ostride[d]*(coor[d]%_rdimensions[d]);
         return idx;
     }
+    virtual int iIndex(std::vector<int> &lcoor)
+    {
+        int idx=0;
+        for(int d=0;d<_ndimension;d++) idx+=_istride[d]*(lcoor[d]/_rdimensions[d]);
+        return idx;
+    }
     inline int oIndexReduced(std::vector<int> &ocoor)
     {
       int idx=0; 
@@ -122,12 +128,6 @@ public:
     //////////////////////////////////////////////////////////
     // SIMD lane addressing
     //////////////////////////////////////////////////////////
-    inline int iIndex(std::vector<int> &lcoor)
-    {
-        int idx=0;
-        for(int d=0;d<_ndimension;d++) idx+=_istride[d]*(lcoor[d]/_rdimensions[d]);
-        return idx;
-    }
     inline void iCoorFromIindex(std::vector<int> &coor,int lane)
     {
       Lexicographic::CoorFromIndex(coor,lane,_simd_layout);
@@ -219,7 +219,7 @@ public:
       }
 
       i_idx= iIndex(cblcoor);// this does not imply divide by 2 on checker dim
-      o_idx= oIndex(lcoor);// this implies divide by 2 on checkerdim
+      o_idx= oIndex(lcoor);  // this implies divide by 2 on checkerdim
     }
 
     void RankIndexToGlobalCoor(int rank, int o_idx, int i_idx , std::vector<int> &gcoor)
diff --git a/lib/cartesian/Cartesian_red_black.h b/lib/cartesian/Cartesian_red_black.h
index 6077887a..2f37334e 100644
--- a/lib/cartesian/Cartesian_red_black.h
+++ b/lib/cartesian/Cartesian_red_black.h
@@ -221,6 +221,18 @@ protected:
         return idx;
     };
         
+    virtual int iIndex(std::vector<int> &lcoor)
+    {
+        int idx=0;
+        for(int d=0;d<_ndimension;d++) {
+	  if( d==_checker_dim ) {
+	    idx+=_istride[d]*(lcoor[d]/(2*_rdimensions[d]));
+	  } else { 
+	    idx+=_istride[d]*(lcoor[d]/_rdimensions[d]);
+	  }
+	}
+        return idx;
+    }
 };
 
 }

From 8f47d0b5ab1c98d2d446a60c0191a3cd7c9ad1c0 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:45:36 +0100
Subject: [PATCH 051/295] Rotation needed for hopping term in fifth dim with Ls
 vectorised fields

---
 lib/simd/Grid_vector_types.h | 37 ++++++++++++++++++++++++++++--------
 1 file changed, 29 insertions(+), 8 deletions(-)

diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index 0e979477..1c113024 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -303,13 +303,14 @@ namespace Grid {
 	int dist = perm&0xF;
         y=rotate(b,dist);
 	return;
-      }
-      switch(perm){
-      case 3: permute3(y,b); break;
-      case 2: permute2(y,b); break;
-      case 1: permute1(y,b); break;
-      case 0: permute0(y,b); break;
-      default: assert(0);
+      } else { 
+	switch(perm){
+	case 3: permute3(y,b); break;
+	case 2: permute2(y,b); break;
+	case 1: permute1(y,b); break;
+	case 0: permute0(y,b); break;
+	default: assert(0);
+	}
       }
     }
     
@@ -336,6 +337,20 @@ namespace Grid {
     ret.v = Optimization::Rotate::rotate(b.v,2*nrot);
     return ret;
   }
+  template <class S, class V, IfNotComplex<S> =0> 
+  inline void rotate( Grid_simd<S,V> &ret,Grid_simd<S,V> b,int nrot)
+  {
+    nrot = nrot % Grid_simd<S,V>::Nsimd();
+    //    std::cout << "Rotate Real by "<<nrot<<std::endl;
+    ret.v = Optimization::Rotate::rotate(b.v,nrot);
+  }
+  template <class S, class V, IfComplex<S> =0> 
+    inline void rotate(Grid_simd<S,V> &ret,Grid_simd<S,V> b,int nrot)
+  {
+    nrot = nrot % Grid_simd<S,V>::Nsimd();
+    //    std::cout << "Rotate Complex by "<<nrot<<std::endl;
+    ret.v = Optimization::Rotate::rotate(b.v,2*nrot);
+  }
 
   ///////////////////////
   // Splat
@@ -347,6 +362,12 @@ namespace Grid {
     ret.v = binary<V>(a, b, VsplatSIMD());
   }    
 
+  template <class S, class V> 
+  inline void vbroadcast(Grid_simd<S,V> &ret,const Grid_simd<S,V> &src,int lane){
+    S* typepun =(S*) &src;
+    vsplat(ret,typepun[lane]);
+  }    
+
   // overload if complex
   template <class S,class V> inline void vsplat(Grid_simd<S,V> &ret, EnableIf<is_complex < S >, S> c) {
     vsplat(ret,real(c),imag(c));
@@ -354,7 +375,7 @@ namespace Grid {
 
   //if real fill with a, if complex fill with a in the real part (first function above)
   template <class S,class V>
-    inline void vsplat(Grid_simd<S,V> &ret,NotEnableIf<is_complex< S>,S> a){
+  inline void vsplat(Grid_simd<S,V> &ret,NotEnableIf<is_complex< S>,S> a){
     ret.v = unary<V>(a, VsplatSIMD());
   }    
   //////////////////////////

From dd62a61c5c5bdefcef649dc955b3686525531fb8 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:49:00 +0100
Subject: [PATCH 052/295] Added broadcast and rotation of simd vectors

---
 lib/tensors/Tensor_class.h | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/lib/tensors/Tensor_class.h b/lib/tensors/Tensor_class.h
index 3d9c4366..15f37115 100644
--- a/lib/tensors/Tensor_class.h
+++ b/lib/tensors/Tensor_class.h
@@ -84,6 +84,9 @@ public:
   friend strong_inline void vstream(iScalar<vtype> &out,const iScalar<vtype> &in){
     vstream(out._internal,in._internal);
   }
+  friend strong_inline void vbroadcast(iScalar<vtype> &out,const iScalar<vtype> &in,int lane){
+    vbroadcast(out._internal,in._internal,lane);
+  }
   friend strong_inline void zeroit(iScalar<vtype> &that){
     zeroit(that._internal);
   }
@@ -93,6 +96,9 @@ public:
   friend strong_inline void permute(iScalar<vtype> &out,const iScalar<vtype> &in,int permutetype){
     permute(out._internal,in._internal,permutetype);
   }
+  friend strong_inline void rotate(iScalar<vtype> &out,const iScalar<vtype> &in,int rot){
+    rotate(out._internal,in._internal,rot);
+  }
 
   // Unary negation
   friend strong_inline iScalar<vtype> operator -(const iScalar<vtype> &r) {
@@ -200,11 +206,21 @@ public:
       vstream(out._internal[i],in._internal[i]);
     }
   }
+  friend strong_inline void vbroadcast(iVector<vtype,N> &out,const iVector<vtype,N> &in,int lane){
+    for(int i=0;i<N;i++){
+      vbroadcast(out._internal[i],in._internal[i],lane);
+    }
+  }
   friend strong_inline void permute(iVector<vtype,N> &out,const iVector<vtype,N> &in,int permutetype){
     for(int i=0;i<N;i++){
       permute(out._internal[i],in._internal[i],permutetype);
     }
   }
+  friend strong_inline void rotate(iVector<vtype,N> &out,const iVector<vtype,N> &in,int rot){
+    for(int i=0;i<N;i++){
+      rotate(out._internal[i],in._internal[i],rot);
+    }
+  }
 
   // Unary negation
   friend strong_inline iVector<vtype,N> operator -(const iVector<vtype,N> &r) {
@@ -318,7 +334,13 @@ public:
       for(int j=0;j<N;j++){
 	vstream(out._internal[i][j],in._internal[i][j]);
       }}
-    }
+  }
+  friend strong_inline void vbroadcast(iMatrix<vtype,N> &out,const iMatrix<vtype,N> &in,int lane){
+      for(int i=0;i<N;i++){
+      for(int j=0;j<N;j++){
+	vbroadcast(out._internal[i][j],in._internal[i][j],lane);
+      }}
+  }
 
   friend strong_inline void permute(iMatrix<vtype,N> &out,const iMatrix<vtype,N> &in,int permutetype){
     for(int i=0;i<N;i++){
@@ -326,6 +348,12 @@ public:
 	permute(out._internal[i][j],in._internal[i][j],permutetype);
     }}
   }
+  friend strong_inline void rotate(iMatrix<vtype,N> &out,const iMatrix<vtype,N> &in,int rot){
+    for(int i=0;i<N;i++){
+      for(int j=0;j<N;j++){
+	rotate(out._internal[i][j],in._internal[i][j],rot);
+    }}
+  }
 
 
   // Unary negation

From de3e79d3006303e74e3f52988f96da1bf9dcbb59 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:49:42 +0100
Subject: [PATCH 053/295] red black for Ls vectorised is 4d red black. Update
 accordingly now I've made this choice

---
 tests/core/Test_dwf_rb5d.cc | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/tests/core/Test_dwf_rb5d.cc b/tests/core/Test_dwf_rb5d.cc
index c3356153..ab9e4d6e 100644
--- a/tests/core/Test_dwf_rb5d.cc
+++ b/tests/core/Test_dwf_rb5d.cc
@@ -44,9 +44,9 @@ struct scal {
     Gamma::GammaT
   };
 
-typedef WilsonFermion5D<DomainWallRedBlack5dImplR> WilsonFermion5DR;
-typedef WilsonFermion5D<DomainWallRedBlack5dImplF> WilsonFermion5DF;
-typedef WilsonFermion5D<DomainWallRedBlack5dImplD> WilsonFermion5DD;
+typedef WilsonFermion5D<DomainWallVec5dImplR> WilsonFermion5DR;
+typedef WilsonFermion5D<DomainWallVec5dImplF> WilsonFermion5DF;
+typedef WilsonFermion5D<DomainWallVec5dImplD> WilsonFermion5DD;
 
 typedef WilsonFermion5D<WilsonImplR> WilsonFermion5D_OKR;
 
@@ -97,14 +97,12 @@ int main (int argc, char ** argv)
   RealD M5  =1.8;
   typename WilsonFermion5DR::ImplParams params;
 
-  WilsonFermion5DR Dw(1,Umu,*FGrid,*FrbGrid,*sUGrid,M5,params);
+  WilsonFermion5DR Dw(Umu,*FGrid,*FrbGrid,*sUGrid,*sUrbGrid,M5,params);
 
   Dw.Dhop(src,result,0);
 
   std::cout << "Norm src = "<<norm2(src)<<" Norm res = "<<norm2(result) << std::endl;
 
-
-
   GridCartesian         * FokGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
   GridRedBlackCartesian * FokrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid);
   WilsonFermion5D_OKR Dok(Umu,*FokGrid,*FokrbGrid,*UGrid,*UrbGrid,M5,params);
@@ -131,7 +129,7 @@ int main (int argc, char ** argv)
   
   std::cout << "Reference = "<<norm2(src_ok)<<" res = "<<norm2(ref_ok) << std::endl;
   ref_ok = ref_ok - result_ok;
-  std::cout << "Reference diff = "<<norm2(result_ok)<< std::endl;
+  std::cout << "Result = "<<norm2(result_ok)<< std::endl;
   std::cout << "Reference diff = "<<norm2(ref_ok)<< std::endl;
 
   Grid_finalize();

From 3493b51879414637ab03bff750bfaa2fbe94657f Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:52:13 +0100
Subject: [PATCH 054/295] Modest updates

---
 tests/debug/Test_cayley_even_odd.cc | 30 -----------------------------
 1 file changed, 30 deletions(-)

diff --git a/tests/debug/Test_cayley_even_odd.cc b/tests/debug/Test_cayley_even_odd.cc
index 9912dd37..5c15450c 100644
--- a/tests/debug/Test_cayley_even_odd.cc
+++ b/tests/debug/Test_cayley_even_odd.cc
@@ -240,34 +240,4 @@ void  TestWhat(What & Ddwf,
   err = phi-chi;
   std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<< std::endl;
 
-  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
-  std::cout<<GridLogMessage<<"= Test DiagMoo MpcDagMpc is Hermitian              "<<std::endl;
-  std::cout<<GridLogMessage<<"=============================================================="<<std::endl;
-  
-  random(*RNG5,phi);
-  random(*RNG5,chi);
-  pickCheckerboard(Even,chi_e,chi);
-  pickCheckerboard(Odd ,chi_o,chi);
-  pickCheckerboard(Even,phi_e,phi);
-  pickCheckerboard(Odd ,phi_o,phi);
-  RealD t1,t2;
-
-  SchurDiagMooeeOperator<What,LatticeFermion> HermOpEO(Ddwf);
-  HermOpEO.MpcDagMpc(chi_e,dchi_e,t1,t2);
-  HermOpEO.MpcDagMpc(chi_o,dchi_o,t1,t2);
-
-  HermOpEO.MpcDagMpc(phi_e,dphi_e,t1,t2);
-  HermOpEO.MpcDagMpc(phi_o,dphi_o,t1,t2);
-
-  pDce = innerProduct(phi_e,dchi_e);
-  pDco = innerProduct(phi_o,dchi_o);
-  cDpe = innerProduct(chi_e,dphi_e);
-  cDpo = innerProduct(chi_o,dphi_o);
-
-  std::cout<<GridLogMessage <<"e "<<pDce<<" "<<cDpe <<std::endl;
-  std::cout<<GridLogMessage <<"o "<<pDco<<" "<<cDpo <<std::endl;
-
-  std::cout<<GridLogMessage <<"pDce - conj(cDpo) "<< pDco-conj(cDpo) <<std::endl;
-  std::cout<<GridLogMessage <<"pDco - conj(cDpe) "<< pDce-conj(cDpe) <<std::endl;
-  
 }

From 8a79e93cc280a94a50a1f222e1357cac82589b4b Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:53:00 +0100
Subject: [PATCH 055/295] Rename the 5d domain wall fermion vectorised Ls impl
 class

---
 lib/qcd/action/fermion/WilsonKernelsHand.cc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonKernelsHand.cc b/lib/qcd/action/fermion/WilsonKernelsHand.cc
index cb6c01a1..d073e677 100644
--- a/lib/qcd/action/fermion/WilsonKernelsHand.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsHand.cc
@@ -867,16 +867,16 @@ template void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(Stencil
 									 int ss,int sU,const FermionField &in, FermionField &out);
 
 
-template void WilsonKernels<DomainWallRedBlack5dImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
+template void WilsonKernels<DomainWallVec5dImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 								      int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<DomainWallRedBlack5dImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
+template void WilsonKernels<DomainWallVec5dImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 								      int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<DomainWallRedBlack5dImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
+template void WilsonKernels<DomainWallVec5dImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 									 int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<DomainWallRedBlack5dImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
+template void WilsonKernels<DomainWallVec5dImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 									 int ss,int sU,const FermionField &in, FermionField &out);
 

From 48fb1cdc1122725dd140fee9a745d12561868e26 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:54:35 +0100
Subject: [PATCH 056/295] Update domain 5d vectorised impl type, move the type
 over to 4d redblack with the dense OO inverse

---
 lib/qcd/action/fermion/WilsonFermion5D.cc  | 118 ++++++++++++---------
 lib/qcd/action/fermion/WilsonKernels.cc    |   3 -
 lib/qcd/action/fermion/WilsonKernelsAsm.cc |   6 +-
 3 files changed, 70 insertions(+), 57 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonFermion5D.cc b/lib/qcd/action/fermion/WilsonFermion5D.cc
index 08069bed..ef7e84ab 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.cc
+++ b/lib/qcd/action/fermion/WilsonFermion5D.cc
@@ -48,9 +48,9 @@ WilsonFermion5D<Impl>::WilsonFermion5D(GaugeField &_Umu,
 				       GridRedBlackCartesian &FourDimRedBlackGrid,
 				       RealD _M5,const ImplParams &p) :
   Kernels(p),
-  _FiveDimGrid(&FiveDimGrid),
+  _FiveDimGrid        (&FiveDimGrid),
   _FiveDimRedBlackGrid(&FiveDimRedBlackGrid),
-  _FourDimGrid(&FourDimGrid),
+  _FourDimGrid        (&FourDimGrid),
   _FourDimRedBlackGrid(&FourDimRedBlackGrid),
   Stencil    (_FiveDimGrid,npoint,Even,directions,displacements),
   StencilEven(_FiveDimRedBlackGrid,npoint,Even,directions,displacements), // source is Even
@@ -62,60 +62,83 @@ WilsonFermion5D<Impl>::WilsonFermion5D(GaugeField &_Umu,
   Lebesgue(_FourDimGrid),
   LebesgueEvenOdd(_FourDimRedBlackGrid)
 {
-  // some assertions
-  assert(FiveDimGrid._ndimension==5);
-  assert(FourDimGrid._ndimension==4);
-  assert(FiveDimRedBlackGrid._ndimension==5);
-  assert(FourDimRedBlackGrid._ndimension==4);
-  assert(FiveDimRedBlackGrid._checker_dim==1);
+  if (Impl::LsVectorised) { 
 
-  // Dimension zero of the five-d is the Ls direction
-  Ls=FiveDimGrid._fdimensions[0];
-  assert(FiveDimRedBlackGrid._fdimensions[0]==Ls);
-  assert(FiveDimRedBlackGrid._processors[0] ==1);
-  assert(FiveDimRedBlackGrid._simd_layout[0]==1);
-  assert(FiveDimGrid._processors[0]         ==1);
-  assert(FiveDimGrid._simd_layout[0]        ==1);
+    int nsimd = Simd::Nsimd();
+    
+    // some assertions
+    assert(FiveDimGrid._ndimension==5);
+    assert(FiveDimRedBlackGrid._ndimension==5);
+    assert(FiveDimRedBlackGrid._checker_dim==1); // Don't checker the s direction
+    assert(FourDimGrid._ndimension==4);
 
-  // Other dimensions must match the decomposition of the four-D fields 
-  for(int d=0;d<4;d++){
-    assert(FourDimRedBlackGrid._fdimensions[d]  ==FourDimGrid._fdimensions[d]);
-    assert(FiveDimRedBlackGrid._fdimensions[d+1]==FourDimGrid._fdimensions[d]);
+    // Dimension zero of the five-d is the Ls direction
+    Ls=FiveDimGrid._fdimensions[0];
+    assert(FiveDimGrid._processors[0]         ==1);
+    assert(FiveDimGrid._simd_layout[0]        ==nsimd);
 
-    assert(FourDimRedBlackGrid._processors[d]   ==FourDimGrid._processors[d]);
-    assert(FiveDimRedBlackGrid._processors[d+1] ==FourDimGrid._processors[d]);
+    assert(FiveDimRedBlackGrid._fdimensions[0]==Ls);
+    assert(FiveDimRedBlackGrid._processors[0] ==1);
+    assert(FiveDimRedBlackGrid._simd_layout[0]==nsimd);
 
-    assert(FourDimRedBlackGrid._simd_layout[d]  ==FourDimGrid._simd_layout[d]);
-    assert(FiveDimRedBlackGrid._simd_layout[d+1]==FourDimGrid._simd_layout[d]);
+    // Other dimensions must match the decomposition of the four-D fields 
+    for(int d=0;d<4;d++){
+      assert(FiveDimRedBlackGrid._fdimensions[d+1]==FourDimGrid._fdimensions[d]);
+      assert(FiveDimRedBlackGrid._processors[d+1] ==FourDimGrid._processors[d]);
+      
+      assert(FourDimGrid._simd_layout[d]=1);
+      assert(FourDimRedBlackGrid._simd_layout[d]=1);
+      assert(FiveDimRedBlackGrid._simd_layout[d+1]==1);
 
-    assert(FiveDimGrid._fdimensions[d+1]        ==FourDimGrid._fdimensions[d]);
-    assert(FiveDimGrid._processors[d+1]         ==FourDimGrid._processors[d]);
-    assert(FiveDimGrid._simd_layout[d+1]        ==FourDimGrid._simd_layout[d]);
+      assert(FiveDimGrid._fdimensions[d+1]        ==FourDimGrid._fdimensions[d]);
+      assert(FiveDimGrid._processors[d+1]         ==FourDimGrid._processors[d]);
+      assert(FiveDimGrid._simd_layout[d+1]        ==FourDimGrid._simd_layout[d]);
+    }
+
+  } else {
+
+    // some assertions
+    assert(FiveDimGrid._ndimension==5);
+    assert(FourDimGrid._ndimension==4);
+    assert(FiveDimRedBlackGrid._ndimension==5);
+    assert(FourDimRedBlackGrid._ndimension==4);
+    assert(FiveDimRedBlackGrid._checker_dim==1);
+    
+    // Dimension zero of the five-d is the Ls direction
+    Ls=FiveDimGrid._fdimensions[0];
+    assert(FiveDimRedBlackGrid._fdimensions[0]==Ls);
+    assert(FiveDimRedBlackGrid._processors[0] ==1);
+    assert(FiveDimRedBlackGrid._simd_layout[0]==1);
+    assert(FiveDimGrid._processors[0]         ==1);
+    assert(FiveDimGrid._simd_layout[0]        ==1);
+    
+    // Other dimensions must match the decomposition of the four-D fields 
+    for(int d=0;d<4;d++){
+      assert(FourDimRedBlackGrid._fdimensions[d]  ==FourDimGrid._fdimensions[d]);
+      assert(FiveDimRedBlackGrid._fdimensions[d+1]==FourDimGrid._fdimensions[d]);
+      
+      assert(FourDimRedBlackGrid._processors[d]   ==FourDimGrid._processors[d]);
+      assert(FiveDimRedBlackGrid._processors[d+1] ==FourDimGrid._processors[d]);
+      
+      assert(FourDimRedBlackGrid._simd_layout[d]  ==FourDimGrid._simd_layout[d]);
+      assert(FiveDimRedBlackGrid._simd_layout[d+1]==FourDimGrid._simd_layout[d]);
+      
+      assert(FiveDimGrid._fdimensions[d+1]        ==FourDimGrid._fdimensions[d]);
+      assert(FiveDimGrid._processors[d+1]         ==FourDimGrid._processors[d]);
+      assert(FiveDimGrid._simd_layout[d+1]        ==FourDimGrid._simd_layout[d]);
+    }
   }
-
+    
   // Allocate the required comms buffer
   ImportGauge(_Umu);
-}  
-
+}
+  /*
 template<class Impl>
 WilsonFermion5D<Impl>::WilsonFermion5D(int simd,GaugeField &_Umu,
 				       GridCartesian         &FiveDimGrid,
 				       GridRedBlackCartesian &FiveDimRedBlackGrid,
 				       GridCartesian         &FourDimGrid,
 				       RealD _M5,const ImplParams &p) :
-  Kernels(p),
-  _FiveDimGrid        (&FiveDimGrid),
-  _FiveDimRedBlackGrid(&FiveDimRedBlackGrid),
-  _FourDimGrid        (&FourDimGrid),
-  Stencil    (_FiveDimGrid,npoint,Even,directions,displacements),
-  StencilEven(_FiveDimRedBlackGrid,npoint,Even,directions,displacements), // source is Even
-  StencilOdd (_FiveDimRedBlackGrid,npoint,Odd ,directions,displacements), // source is Odd
-  M5(_M5),
-  Umu(_FourDimGrid),
-  UmuEven(_FourDimGrid),
-  UmuOdd (_FourDimGrid),
-  Lebesgue(_FourDimGrid),
-  LebesgueEvenOdd(_FourDimGrid)
 {
   int nsimd = Simd::Nsimd();
 
@@ -148,15 +171,10 @@ WilsonFermion5D<Impl>::WilsonFermion5D(int simd,GaugeField &_Umu,
   }
 
   {
-    GaugeField HUmu(_Umu._grid);
-    HUmu = _Umu*(-0.5);
-    Impl::DoubleStore(GaugeGrid(),Umu,HUmu);
-    UmuEven=Umu;// Really want a reference.
-    UmuOdd =Umu;
   }
 }  
-
-
+  */
+     
 template<class Impl>
 void WilsonFermion5D<Impl>::ImportGauge(const GaugeField &_Umu)
 {
@@ -376,8 +394,6 @@ void WilsonFermion5D<Impl>::DW(const FermionField &in, FermionField &out,int dag
 
 FermOpTemplateInstantiate(WilsonFermion5D);
 GparityFermOpTemplateInstantiate(WilsonFermion5D);
-template class WilsonFermion5D<DomainWallRedBlack5dImplF>;		
-template class WilsonFermion5D<DomainWallRedBlack5dImplD>;
   
 }}
 
diff --git a/lib/qcd/action/fermion/WilsonKernels.cc b/lib/qcd/action/fermion/WilsonKernels.cc
index 4edd25f9..d644f6ef 100644
--- a/lib/qcd/action/fermion/WilsonKernels.cc
+++ b/lib/qcd/action/fermion/WilsonKernels.cc
@@ -572,7 +572,4 @@ void WilsonKernels<Impl>::DiracOptDhopDir(StencilImpl &st,DoubledGaugeField &U,
 
   FermOpTemplateInstantiate(WilsonKernels);
 
-template class WilsonKernels<DomainWallRedBlack5dImplF>;		
-template class WilsonKernels<DomainWallRedBlack5dImplD>;
-
 }}
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index 33c464ac..83871b7b 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -90,7 +90,7 @@ void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrd
 #define VMOVRDUP(A,B,C)                                  VBCASTRDUPf(A,B,C)
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
 template<>
-void WilsonKernels<DomainWallRedBlack5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
 								   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 								   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
@@ -110,10 +110,10 @@ template void WilsonKernels<GparityWilsonImplF>::DiracOptAsmDhopSite(StencilImpl
 template void WilsonKernels<GparityWilsonImplD>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
 							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<DomainWallRedBlack5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
+template void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
 							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<DomainWallRedBlack5dImplD>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
+template void WilsonKernels<DomainWallVec5dImplD>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
 							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
 }}

From 3f2c44a5fe3a2d2f78d893f76b377dcb51e4c080 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:55:26 +0100
Subject: [PATCH 057/295] Updating the class to 5d selection based on impl type

---
 lib/qcd/action/fermion/WilsonFermion5D.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/qcd/action/fermion/WilsonFermion5D.h b/lib/qcd/action/fermion/WilsonFermion5D.h
index be7d7322..4ff37007 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.h
+++ b/lib/qcd/action/fermion/WilsonFermion5D.h
@@ -125,12 +125,14 @@ namespace Grid {
 		      double _M5,const ImplParams &p= ImplParams());
 
       // Constructors
+      /*
       WilsonFermion5D(int simd, 
 		      GaugeField &_Umu,
 		      GridCartesian         &FiveDimGrid,
 		      GridRedBlackCartesian &FiveDimRedBlackGrid,
 		      GridCartesian         &FourDimGrid,
 		      double _M5,const ImplParams &p= ImplParams());
+      */
 
       // DoubleStore
       void ImportGauge(const GaugeField &_Umu);

From a307274c96eb34fcc8d39df60bf5200f81d94b7d Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:56:13 +0100
Subject: [PATCH 058/295] Fermion impl rename for ls vectorised 5d approaches

---
 lib/qcd/action/fermion/FermionOperatorImpl.h | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 399c780b..2f8a2404 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -113,6 +113,8 @@ namespace Grid {
     class WilsonImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { 
     public:
 
+      const bool LsVectorised=false;
+
       typedef PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > Gimpl;
 
       INHERIT_GIMPL_TYPES(Gimpl);
@@ -191,8 +193,10 @@ PARALLEL_FOR_LOOP
     // Single flavour four spinors with colour index, 5d redblack
     ///////
     template<class S,int Nrepresentation=Nc>
-    class DomainWallRedBlack5dImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { 
+    class DomainWallVec5dImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { 
     public:
+    
+      const bool LsVectorised=true;
 
       typedef PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > Gimpl;
 
@@ -221,7 +225,7 @@ PARALLEL_FOR_LOOP
 
       ImplParams Params;
 
-      DomainWallRedBlack5dImpl(const ImplParams &p= ImplParams()) : Params(p) {}; 
+      DomainWallVec5dImpl(const ImplParams &p= ImplParams()) : Params(p) {}; 
 
       bool overlapCommsCompute(void) { return false; };
     
@@ -287,6 +291,8 @@ PARALLEL_FOR_LOOP
     class GparityWilsonImpl : public ConjugateGaugeImpl< GaugeImplTypes<S,Nrepresentation> >{ 
     public:
 
+      const bool LsVectorised=false;
+
       typedef ConjugateGaugeImpl< GaugeImplTypes<S,Nrepresentation> > Gimpl;
 
       INHERIT_GIMPL_TYPES(Gimpl);
@@ -449,7 +455,7 @@ PARALLEL_FOR_LOOP
 	auto tmp = TraceIndex<SpinIndex>(outerProduct(Btilde,A));  
 PARALLEL_FOR_LOOP
         for(auto ss=tmp.begin();ss<tmp.end();ss++){
-	  link[ss]() = tmp[ss](0,0) - conjugate(tmp[ss](1,1)) ;
+	  link[ss]() = tmp[ss](0,0) - conjugate(tmp[ss](1,1)) ; // IS THIS SIGN RIGHT?
 	}
 	PokeIndex<LorentzIndex>(mat,link,mu);
 	return;
@@ -477,9 +483,9 @@ PARALLEL_FOR_LOOP
     typedef WilsonImpl<vComplexF,Nc> WilsonImplF; // Float
     typedef WilsonImpl<vComplexD,Nc> WilsonImplD; // Double
 
-    typedef DomainWallRedBlack5dImpl<vComplex ,Nc> DomainWallRedBlack5dImplR; // Real.. whichever prec
-    typedef DomainWallRedBlack5dImpl<vComplexF,Nc> DomainWallRedBlack5dImplF; // Float
-    typedef DomainWallRedBlack5dImpl<vComplexD,Nc> DomainWallRedBlack5dImplD; // Double
+    typedef DomainWallVec5dImpl<vComplex ,Nc> DomainWallVec5dImplR; // Real.. whichever prec
+    typedef DomainWallVec5dImpl<vComplexF,Nc> DomainWallVec5dImplF; // Float
+    typedef DomainWallVec5dImpl<vComplexD,Nc> DomainWallVec5dImplD; // Double
 
     typedef GparityWilsonImpl<vComplex ,Nc> GparityWilsonImplR; // Real.. whichever prec
     typedef GparityWilsonImpl<vComplexF,Nc> GparityWilsonImplF; // Float

From fb45eb2eb2cc59625d44d5a9258bfa9b73ed86a1 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:57:26 +0100
Subject: [PATCH 059/295] 5d ls vec rename of impl class

---
 lib/qcd/action/Actions.h | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lib/qcd/action/Actions.h b/lib/qcd/action/Actions.h
index e2505f25..be08cdde 100644
--- a/lib/qcd/action/Actions.h
+++ b/lib/qcd/action/Actions.h
@@ -107,12 +107,21 @@ typedef SymanzikGaugeAction<ConjugateGimplD>        ConjugateSymanzikGaugeAction
 // for EVERY .cc file. This define centralises the list and restores global push of impl cases
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
-#define FermOpTemplateInstantiate(A) \
+
+#define FermOp4dVecTemplateInstantiate(A) \
   template class A<WilsonImplF>;		\
   template class A<WilsonImplD>;		\
   template class A<GparityWilsonImplF>;		\
   template class A<GparityWilsonImplD>;		
 
+#define FermOp5dVecTemplateInstantiate(A) \
+  template class A<DomainWallVec5dImplF>;	\
+  template class A<DomainWallVec5dImplD>;	
+
+#define FermOpTemplateInstantiate(A) \
+ FermOp4dVecTemplateInstantiate(A) \
+ FermOp5dVecTemplateInstantiate(A) 
+
 #define GparityFermOpTemplateInstantiate(A) 
 
 ////////////////////////////////////////////

From 79a8ca1a62f30cc1ba3039f7b7f59d1bbecafc85 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 14 Jul 2016 23:58:15 +0100
Subject: [PATCH 060/295] Rewrite for performance. Impl dependent
 instantiations give 4d linalg impls of the 5d hopping terms (and inverse)
 Cache friendly loop orderings of the above Dense matrix stored and apply to
 the above

-- Switch to Ls vectorised, and use dense matrix approach for the MooeeInv
   and rotate/shift of the Mooee M5D routines.
---
 lib/qcd/action/fermion/CayleyFermion5D.cc | 837 ++++++++--------------
 1 file changed, 310 insertions(+), 527 deletions(-)

diff --git a/lib/qcd/action/fermion/CayleyFermion5D.cc b/lib/qcd/action/fermion/CayleyFermion5D.cc
index a60c1b6f..066cede4 100644
--- a/lib/qcd/action/fermion/CayleyFermion5D.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5D.cc
@@ -28,7 +28,6 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid/Eigen/Dense>
 
 #include <Grid.h>
 
@@ -49,556 +48,340 @@ namespace QCD {
 		   FourDimGrid,
  	 	   FourDimRedBlackGrid,_M5,p),
    mass(_mass)
- {
- }
+ { }
 
- template<class Impl>
-  void CayleyFermion5D<Impl>::Meooe5D    (const FermionField &psi, FermionField &Din)
-  {
-    // Assemble Din
-    int Ls=this->Ls;
-    for(int s=0;s<Ls;s++){
-      if ( s==0 ) {
-	//	Din = bs psi[s] + cs[s] psi[s+1}
-	axpby_ssp_pminus(Din,bs[s],psi,cs[s],psi,s,s+1);
-	//      Din+= -mass*cs[s] psi[s+1}
-	axpby_ssp_pplus (Din,1.0,Din,-mass*cs[s],psi,s,Ls-1);
-      } else if ( s==(Ls-1)) { 
-	axpby_ssp_pminus(Din,bs[s],psi,-mass*cs[s],psi,s,0);
-	axpby_ssp_pplus (Din,1.0,Din,cs[s],psi,s,s-1);
-      } else {
-	axpby_ssp_pminus(Din,bs[s],psi,cs[s],psi,s,s+1);
-	axpby_ssp_pplus(Din,1.0,Din,cs[s],psi,s,s-1);
-      }
-    }
+template<class Impl>  
+void CayleyFermion5D<Impl>::M5D   (const FermionField &psi, FermionField &chi)
+{
+  int Ls=this->Ls;
+  std::vector<RealD> diag (Ls,1.0);
+  std::vector<RealD> upper(Ls,-1.0); upper[Ls-1]=mass;
+  std::vector<RealD> lower(Ls,-1.0); lower[0]   =mass;
+  M5D(psi,chi,chi,lower,diag,upper);
+}
+template<class Impl>
+void CayleyFermion5D<Impl>::Meooe5D    (const FermionField &psi, FermionField &Din)
+{
+  int Ls=this->Ls;
+  std::vector<RealD> diag = bs;
+  std::vector<RealD> upper= cs;
+  std::vector<RealD> lower= cs; 
+  upper[Ls-1]=-mass*upper[Ls-1];
+  lower[0]   =-mass*lower[0];
+  M5D(psi,psi,Din,lower,diag,upper);
+}
+template<class Impl> void CayleyFermion5D<Impl>::Meo5D     (const FermionField &psi, FermionField &chi)
+{
+  int Ls=this->Ls;
+  std::vector<RealD> diag = beo;
+  std::vector<RealD> upper(Ls);
+  std::vector<RealD> lower(Ls);
+  for(int i=0;i<Ls;i++) {
+    upper[i]=-ceo[i];
+    lower[i]=-ceo[i];
   }
- template<class Impl>
-  void CayleyFermion5D<Impl>::MeooeDag5D    (const FermionField &psi, FermionField &Din)
-  {
-    int Ls=this->Ls;
-    for(int s=0;s<Ls;s++){
-      if ( s==0 ) {
-	axpby_ssp_pplus (Din,bs[s],psi,cs[s+1],psi,s,s+1);
-	axpby_ssp_pminus(Din,1.0,Din,-mass*cs[Ls-1],psi,s,Ls-1);
-      } else if ( s==(Ls-1)) { 
-	axpby_ssp_pplus (Din,bs[s],psi,-mass*cs[0],psi,s,0);
-	axpby_ssp_pminus(Din,1.0,Din,cs[s-1],psi,s,s-1);
-      } else {
-	axpby_ssp_pplus (Din,bs[s],psi,cs[s+1],psi,s,s+1);
-	axpby_ssp_pminus(Din,1.0,Din,cs[s-1],psi,s,s-1);
-      }
-    }
+  upper[Ls-1]=-mass*upper[Ls-1];
+  lower[0]   =-mass*lower[0];
+  M5D(psi,psi,chi,lower,diag,upper);
+}
+template<class Impl>
+void CayleyFermion5D<Impl>::Mooee       (const FermionField &psi, FermionField &chi)
+{
+  int Ls=this->Ls;
+  std::vector<RealD> diag = bee;
+  std::vector<RealD> upper(Ls);
+  std::vector<RealD> lower(Ls);
+  for(int i=0;i<Ls;i++) {
+    upper[i]=-cee[i];
+    lower[i]=-cee[i];
   }
+  upper[Ls-1]=-mass*upper[Ls-1];
+  lower[0]   =-mass*lower[0];
+  M5D(psi,psi,chi,lower,diag,upper);
+}
 
-  // override multiply
- template<class Impl>
-  RealD CayleyFermion5D<Impl>::M    (const FermionField &psi, FermionField &chi)
-  {
-    int Ls=this->Ls;
+template<class Impl>
+void CayleyFermion5D<Impl>::MooeeDag    (const FermionField &psi, FermionField &chi)
+{
+  int Ls=this->Ls;
+  std::vector<RealD> diag = bee;
+  std::vector<RealD> upper(Ls);
+  std::vector<RealD> lower(Ls);
 
-    FermionField Din(psi._grid);
-
-    // Assemble Din
-    Meooe5D(psi,Din);
-
-    this->DW(Din,chi,DaggerNo);
-    // ((b D_W + D_w hop terms +1) on s-diag
-    axpby(chi,1.0,1.0,chi,psi); 
-
-    // Call Mooee??
-    for(int s=0;s<Ls;s++){
-      if ( s==0 ){
-	axpby_ssp_pminus(chi,1.0,chi,-1.0,psi,s,s+1);
-	axpby_ssp_pplus (chi,1.0,chi,mass,psi,s,Ls-1);
-      } else if ( s==(Ls-1)) {
-	axpby_ssp_pminus(chi,1.0,chi,mass,psi,s,0);
-	axpby_ssp_pplus (chi,1.0,chi,-1.0,psi,s,s-1);
-      } else {
-	axpby_ssp_pminus(chi,1.0,chi,-1.0,psi,s,s+1);
-	axpby_ssp_pplus (chi,1.0,chi,-1.0,psi,s,s-1);
-      }
-    }
-    return norm2(chi);
-  }
-
- template<class Impl>
-  RealD CayleyFermion5D<Impl>::Mdag (const FermionField &psi, FermionField &chi)
-  {
-    // Under adjoint
-    //D1+        D1- P-    ->   D1+^dag   P+ D2-^dag
-    //D2- P+     D2+            P-D1-^dag D2+dag
-
-    FermionField Din(psi._grid);
-    // Apply Dw
-    this->DW(psi,Din,DaggerYes); 
-
-    MeooeDag5D(Din,chi);
-
-    int Ls=this->Ls;
-    for(int s=0;s<Ls;s++){
-
-      // Collect the terms in DW
-      //	Chi = bs Din[s] + cs[s] Din[s+1}
-      //    Chi+= -mass*cs[s] psi[s+1}
-
-      // FIXME just call MooeeDag??
-
-      // Collect the terms indept of DW
-      if ( s==0 ){
-	axpby_ssp_pplus (chi,1.0,chi,-1.0,psi,s,s+1);
-	axpby_ssp_pminus(chi,1.0,chi,mass,psi,s,Ls-1);
-      } else if ( s==(Ls-1)) {
-	axpby_ssp_pplus (chi,1.0,chi,mass,psi,s,0);
-	axpby_ssp_pminus(chi,1.0,chi,-1.0,psi,s,s-1);
-      } else {
-	axpby_ssp_pplus(chi,1.0,chi,-1.0,psi,s,s+1);
-	axpby_ssp_pminus(chi,1.0,chi,-1.0,psi,s,s-1);
-      }
-    }
-    // ((b D_W + D_w hop terms +1) on s-diag
-    axpby (chi,1.0,1.0,chi,psi); 
-    return norm2(chi);
-  }
-
-  // half checkerboard operations
- template<class Impl>
-  void CayleyFermion5D<Impl>::Meooe       (const FermionField &psi, FermionField &chi)
-  {
-    int Ls=this->Ls;
-
-    FermionField tmp(psi._grid);
+  for (int s=0;s<Ls;s++){
     // Assemble the 5d matrix
-    Meooe5D(psi,tmp); 
-
-    // Apply 4d dslash
-    if ( psi.checkerboard == Odd ) {
-      this->DhopEO(tmp,chi,DaggerNo);
+    if ( s==0 ) {
+      upper[s] = -cee[s+1] ;
+      lower[s] = mass*cee[Ls-1];
+    } else if ( s==(Ls-1)) { 
+      upper[s] = mass*cee[0];
+      lower[s] = -cee[s-1];
     } else {
-      this->DhopOE(tmp,chi,DaggerNo);
+      upper[s]=-cee[s+1];
+      lower[s]=-cee[s-1];
     }
   }
 
-  template<class Impl>
-  void CayleyFermion5D<Impl>::MeooeDag    (const FermionField &psi, FermionField &chi)
-  {
-    FermionField tmp(psi._grid);
-    // Apply 4d dslash
-    if ( psi.checkerboard == Odd ) {
-      this->DhopEO(psi,tmp,DaggerYes);
-    } else {
-      this->DhopOE(psi,tmp,DaggerYes);
-    }
+  M5Ddag(psi,psi,chi,lower,diag,upper);
+}
 
-    MeooeDag5D(tmp,chi); 
+template<class Impl>
+void CayleyFermion5D<Impl>::M5Ddag (const FermionField &psi, FermionField &chi)
+{
+  int Ls=this->Ls;
+  std::vector<RealD> diag(Ls,1.0);
+  std::vector<RealD> upper(Ls,-1.0);
+  std::vector<RealD> lower(Ls,-1.0);
+  upper[Ls-1]=-mass*upper[Ls-1];
+  lower[0]   =-mass*lower[0];
+  M5Ddag(psi,chi,chi,lower,diag,upper);
+}
 
+template<class Impl>
+void CayleyFermion5D<Impl>::MeooeDag5D    (const FermionField &psi, FermionField &Din)
+{
+  int Ls=this->Ls;
+  std::vector<RealD> diag =bs;
+  std::vector<RealD> upper=cs;
+  std::vector<RealD> lower=cs;
+  upper[Ls-1]=-mass*upper[Ls-1];
+  lower[0]   =-mass*lower[0];
+  M5Ddag(psi,psi,Din,lower,diag,upper);
+}
+
+template<class Impl>
+RealD CayleyFermion5D<Impl>::M    (const FermionField &psi, FermionField &chi)
+{
+  int Ls=this->Ls;
+  
+  FermionField Din(psi._grid);
+  
+  // Assemble Din
+  Meooe5D(psi,Din);
+  
+  this->DW(Din,chi,DaggerNo);
+  // ((b D_W + D_w hop terms +1) on s-diag
+  axpby(chi,1.0,1.0,chi,psi); 
+  
+  M5D(psi,chi);
+  return(norm2(chi));
+}
+
+template<class Impl>
+RealD CayleyFermion5D<Impl>::Mdag (const FermionField &psi, FermionField &chi)
+{
+  // Under adjoint
+  //D1+        D1- P-    ->   D1+^dag   P+ D2-^dag
+  //D2- P+     D2+            P-D1-^dag D2+dag
+  
+  FermionField Din(psi._grid);
+  // Apply Dw
+  this->DW(psi,Din,DaggerYes); 
+  
+  MeooeDag5D(Din,chi);
+  
+  M5Ddag(psi,chi);
+  // ((b D_W + D_w hop terms +1) on s-diag
+  axpby (chi,1.0,1.0,chi,psi); 
+  return norm2(chi);
+}
+
+// half checkerboard operations
+template<class Impl>
+void CayleyFermion5D<Impl>::Meooe       (const FermionField &psi, FermionField &chi)
+{
+  int Ls=this->Ls;
+  FermionField tmp(psi._grid);
+
+  Meooe5D(psi,tmp); 
+
+  if ( psi.checkerboard == Odd ) {
+    this->DhopEO(tmp,chi,DaggerNo);
+  } else {
+    this->DhopOE(tmp,chi,DaggerNo);
   }
+}
 
-  template<class Impl>
-  void CayleyFermion5D<Impl>::Mooee       (const FermionField &psi, FermionField &chi)
-  {
-    int Ls=this->Ls;
-    for (int s=0;s<Ls;s++){
-      if ( s==0 ) {
-	axpby_ssp_pminus(chi,bee[s],psi ,-cee[s],psi,s,s+1);
-	axpby_ssp_pplus (chi,1.0,chi,mass*cee[s],psi,s,Ls-1);
-      } else if ( s==(Ls-1)) { 
-	axpby_ssp_pminus(chi,bee[s],psi,mass*cee[s],psi,s,0);
-	axpby_ssp_pplus (chi,1.0,chi,-cee[s],psi,s,s-1);
-      } else {
-	axpby_ssp_pminus(chi,bee[s],psi,-cee[s],psi,s,s+1);
-	axpby_ssp_pplus (chi,1.0,chi,-cee[s],psi,s,s-1);
-      }
-    }
-    FermionField temp(psi._grid);
-    this->MooeeDenseInternal(psi,temp,DaggerNo,InverseNo);
-    temp = temp - chi;
-    std::cout << "Difference between dense and normal "<<  norm2(temp) <<std::endl;
+template<class Impl>
+void CayleyFermion5D<Impl>::MeooeDag    (const FermionField &psi, FermionField &chi)
+{
+  FermionField tmp(psi._grid);
+  // Apply 4d dslash
+  if ( psi.checkerboard == Odd ) {
+    this->DhopEO(psi,tmp,DaggerYes);
+  } else {
+    this->DhopOE(psi,tmp,DaggerYes);
   }
+  MeooeDag5D(tmp,chi); 
+}
 
- template<class Impl>
-  void  CayleyFermion5D<Impl>::Mdir (const FermionField &psi, FermionField &chi,int dir,int disp){
-    int Ls=this->Ls;
-    FermionField tmp(psi._grid);
-    // Assemble the 5d matrix
-    for(int s=0;s<Ls;s++){
-      if ( s==0 ) {
-	//	tmp = bs psi[s] + cs[s] psi[s+1}
-	//      tmp+= -mass*cs[s] psi[s+1}
-	axpby_ssp_pminus(tmp,beo[s],psi,-ceo[s],psi ,s, s+1);
-	axpby_ssp_pplus(tmp,1.0,tmp,mass*ceo[s],psi,s,Ls-1);
-      } else if ( s==(Ls-1)) { 
-	axpby_ssp_pminus(tmp,beo[s],psi,mass*ceo[s],psi,s,0);
-	axpby_ssp_pplus(tmp,1.0,tmp,-ceo[s],psi,s,s-1);
-      } else {
-	axpby_ssp_pminus(tmp,beo[s],psi,-ceo[s],psi,s,s+1);
-	axpby_ssp_pplus (tmp,1.0,tmp,-ceo[s],psi,s,s-1);
-      }
-    }
-    // Apply 4d dslash fragment
-    this->DhopDir(tmp,chi,dir,disp);
+template<class Impl>
+void  CayleyFermion5D<Impl>::Mdir (const FermionField &psi, FermionField &chi,int dir,int disp){
+  FermionField tmp(psi._grid);
+  Meo5D(psi,tmp);
+  // Apply 4d dslash fragment
+  this->DhopDir(tmp,chi,dir,disp);
+}
+// force terms; five routines; default to Dhop on diagonal
+template<class Impl>
+void CayleyFermion5D<Impl>::MDeriv  (GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
+{
+  FermionField Din(V._grid);
+  
+  if ( dag == DaggerNo ) {
+    //      U d/du [D_w D5] V = U d/du DW D5 V
+    Meooe5D(V,Din);
+    this->DhopDeriv(mat,U,Din,dag);
+  } else {
+    //      U d/du [D_w D5]^dag V = U D5^dag d/du DW^dag Y // implicit adj on U in call
+    Meooe5D(U,Din);
+    this->DhopDeriv(mat,Din,V,dag);
   }
-
-  template<class Impl>
-  void CayleyFermion5D<Impl>::MooeeDag    (const FermionField &psi, FermionField &chi)
-  {
-    int Ls=this->Ls;
-    for (int s=0;s<Ls;s++){
-      // Assemble the 5d matrix
-      if ( s==0 ) {
-	axpby_ssp_pplus(chi,bee[s],psi,-cee[s+1]  ,psi,s,s+1);
-	axpby_ssp_pminus(chi,1.0,chi,mass*cee[Ls-1],psi,s,Ls-1);
-      } else if ( s==(Ls-1)) { 
-	axpby_ssp_pplus(chi,bee[s],psi,mass*cee[0],psi,s,0);
-	axpby_ssp_pminus(chi,1.0,chi,-cee[s-1],psi,s,s-1);
-      } else {
-	axpby_ssp_pplus(chi,bee[s],psi,-cee[s+1],psi,s,s+1);
-	axpby_ssp_pminus(chi,1.0   ,chi,-cee[s-1],psi,s,s-1);
-      }
-    }
-    FermionField temp(psi._grid);
-    this->MooeeDenseInternal(psi,temp,DaggerYes,InverseNo);
-    temp = temp - chi;
-    std::cout << "Difference between dense and normal "<<  norm2(temp) <<std::endl;
-  }
-
-  template<class Impl>
-  void CayleyFermion5D<Impl>::MooeeInv    (const FermionField &psi, FermionField &chi)
-  {
-    FermionField temp(psi._grid);
-    this->MooeeLDUInv(psi,chi);
-    this->MooeeDenseInv(psi,temp);
-    temp = temp - chi;
-    std::cout << "Difference between dense and normal "<<  norm2(temp) <<std::endl;
-  }
-
-  template<class Impl>
-  void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
-  {
-    FermionField temp(psi._grid);
-    this->MooeeLDUInvDag(psi,chi);
-    this->MooeeDenseInvDag(psi,temp);
-    temp = temp - chi;
-    std::cout << "Difference between dense and normal "<<  norm2(temp) <<std::endl;
-  }
-
-  template<class Impl>
-  void CayleyFermion5D<Impl>::MooeeDenseInvDag (const FermionField &psi, FermionField &chi)
-  {
-    this->MooeeDenseInternal(psi,chi,DaggerYes,InverseYes);
-  }
-
-  template<class Impl>
-  void CayleyFermion5D<Impl>::MooeeDenseInv(const FermionField &psi, FermionField &chi)
-  {
-    this->MooeeDenseInternal(psi,chi,DaggerNo,InverseYes);
-  }
-
-  template<class Impl>
-  void CayleyFermion5D<Impl>::MooeeDenseInternal(const FermionField &psi, FermionField &chi,int dag, int inv)
-  {
-    int Ls=this->Ls;
-    int LLs = psi._grid->_rdimensions[0];
-    int vol = psi._grid->oSites()/LLs;
-
-    chi.checkerboard=psi.checkerboard;
-
-    assert(Ls==LLs);
-
-    Eigen::MatrixXd Pplus  = Eigen::MatrixXd::Zero(Ls,Ls);
-    Eigen::MatrixXd Pminus = Eigen::MatrixXd::Zero(Ls,Ls);
-
-    for(int s=0;s<Ls;s++){
-      Pplus(s,s) = bee[s];
-      Pminus(s,s)= bee[s];
-    }
-
-    for(int s=0;s<Ls-1;s++){
-      Pminus(s,s+1) = -cee[s];
-    }
-
-    for(int s=0;s<Ls-1;s++){
-      Pplus(s+1,s) = -cee[s];
-    }
-
-    std::cout << " Pplus  "<<Pplus<<std::endl;
-    std::cout << " Pminus "<<Pminus<<std::endl;
-    Pplus (0,Ls-1) = mass*cee[0];
-    Pminus(Ls-1,0) = mass*cee[Ls-1];
-    
-    Eigen::MatrixXd PplusMat ;
-    Eigen::MatrixXd PminusMat;
-
-    if ( inv ) {
-      PplusMat =Pplus.inverse();
-      PminusMat=Pminus.inverse();
-    } else { 
-      PplusMat =Pplus;
-      PminusMat=Pminus;
-    }
-
-    if(dag){
-      PplusMat.adjointInPlace();
-      PminusMat.adjointInPlace();
-    }
-
-    // For the non-vectorised s-direction this is simple
-PARALLEL_FOR_LOOP
-    for(auto site=0;site<vol;site++){
-
-      SiteSpinor     SiteChi;
-      SiteHalfSpinor SitePplus;
-      SiteHalfSpinor SitePminus;
-
-      for(int s1=0;s1<Ls;s1++){
-	SiteChi =zero;
-	for(int s2=0;s2<Ls;s2++){
-	  int lex2 = s2+Ls*site;
-
-	  if ( PplusMat(s1,s2) != 0.0 ) {
-	    spProj5p(SitePplus,psi[lex2]);
-	    accumRecon5p(SiteChi,PplusMat (s1,s2)*SitePplus);
-	  }
-	  
-	  if ( PminusMat(s1,s2) != 0.0 ) {
-	    spProj5m(SitePminus,psi[lex2]);
-	    accumRecon5m(SiteChi,PminusMat(s1,s2)*SitePminus);
-	  }
-	}
-	chi[s1+Ls*site] = SiteChi;
-      }
-    }
-    // For the non-vectorised s-direction we have more work to do in an alternate implementation
-    // 
-    //  ai = Mij bj
-    //
-    //  where b == {b0} {b1}.. 
-    //
-    //  Best to load/bcast b0
-    //  
-    //   ai  = Mi0 b0
-    //   for(int i=0;i<Ls;i++){
-    //     ai += Mij bj
-    //   }
-    //
-    //   For rb5d shamir DWF, the Moo is proportional to the identity
-    //   For rb4d Moo, we need to set a vector of coeffs, and use a stencil type construct, which is cheap.
-  }
-
-  template<class Impl>
-  void CayleyFermion5D<Impl>::MooeeLDUInv    (const FermionField &psi, FermionField &chi)
-  {
-    chi.checkerboard=psi.checkerboard;
-    int Ls=this->Ls;
-    // Apply (L^{\prime})^{-1}
-    axpby_ssp (chi,1.0,psi,     0.0,psi,0,0);      // chi[0]=psi[0]
-    for (int s=1;s<Ls;s++){
-      axpby_ssp_pplus(chi,1.0,psi,-lee[s-1],chi,s,s-1);// recursion Psi[s] -lee P_+ chi[s-1]
-    }
-    // L_m^{-1} 
-    for (int s=0;s<Ls-1;s++){ // Chi[ee] = 1 - sum[s<Ls-1] -leem[s]P_- chi
-      axpby_ssp_pminus(chi,1.0,chi,-leem[s],chi,Ls-1,s);
-    }
-    // U_m^{-1} D^{-1}
-    for (int s=0;s<Ls-1;s++){
-      // Chi[s] + 1/d chi[s] 
-      axpby_ssp_pplus(chi,1.0/dee[s],chi,-ueem[s]/dee[Ls-1],chi,s,Ls-1);
-    }	
-    axpby_ssp(chi,1.0/dee[Ls-1],chi,0.0,chi,Ls-1,Ls-1); // Modest avoidable 
-    
-    // Apply U^{-1}
-    for (int s=Ls-2;s>=0;s--){
-      axpby_ssp_pminus (chi,1.0,chi,-uee[s],chi,s,s+1);  // chi[Ls]
-    }
-  }
-
- template<class Impl>
-  void CayleyFermion5D<Impl>::MooeeLDUInvDag (const FermionField &psi, FermionField &chi)
-  {
-    chi.checkerboard=psi.checkerboard;
-    int Ls=this->Ls;
-    // Apply (U^{\prime})^{-dagger}
-    axpby_ssp (chi,1.0,psi,     0.0,psi,0,0);      // chi[0]=psi[0]
-    for (int s=1;s<Ls;s++){
-      axpby_ssp_pminus(chi,1.0,psi,-uee[s-1],chi,s,s-1);
-    }
-    // U_m^{-\dagger} 
-    for (int s=0;s<Ls-1;s++){
-      axpby_ssp_pplus(chi,1.0,chi,-ueem[s],chi,Ls-1,s);
-    }
-    // L_m^{-\dagger} D^{-dagger}
-    for (int s=0;s<Ls-1;s++){
-      axpby_ssp_pminus(chi,1.0/dee[s],chi,-leem[s]/dee[Ls-1],chi,s,Ls-1);
-    }	
-    axpby_ssp(chi,1.0/dee[Ls-1],chi,0.0,chi,Ls-1,Ls-1); // Modest avoidable 
-    
-    // Apply L^{-dagger}
-    for (int s=Ls-2;s>=0;s--){
-      axpby_ssp_pplus (chi,1.0,chi,-lee[s],chi,s,s+1);  // chi[Ls]
-    }
-  }
-
-
-  // force terms; five routines; default to Dhop on diagonal
-  template<class Impl>
-  void CayleyFermion5D<Impl>::MDeriv  (GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
-  {
-    FermionField Din(V._grid);
-
-    if ( dag == DaggerNo ) {
-      //      U d/du [D_w D5] V = U d/du DW D5 V
-      Meooe5D(V,Din);
-      this->DhopDeriv(mat,U,Din,dag);
-    } else {
-      //      U d/du [D_w D5]^dag V = U D5^dag d/du DW^dag Y // implicit adj on U in call
-      Meooe5D(U,Din);
-      this->DhopDeriv(mat,Din,V,dag);
-    }
-  };
- template<class Impl>
-  void CayleyFermion5D<Impl>::MoeDeriv(GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
-  {
-    FermionField Din(V._grid);
-
-    if ( dag == DaggerNo ) {
-      //      U d/du [D_w D5] V = U d/du DW D5 V
-      Meooe5D(V,Din);
-      this->DhopDerivOE(mat,U,Din,dag);
-    } else {
-      //      U d/du [D_w D5]^dag V = U D5^dag d/du DW^dag Y // implicit adj on U in call
+};
+template<class Impl>
+void CayleyFermion5D<Impl>::MoeDeriv(GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
+{
+  FermionField Din(V._grid);
+  
+  if ( dag == DaggerNo ) {
+    //      U d/du [D_w D5] V = U d/du DW D5 V
+    Meooe5D(V,Din);
+    this->DhopDerivOE(mat,U,Din,dag);
+  } else {
+    //      U d/du [D_w D5]^dag V = U D5^dag d/du DW^dag Y // implicit adj on U in call
       Meooe5D(U,Din);
       this->DhopDerivOE(mat,Din,V,dag);
-    }
-  };
- template<class Impl>
-  void CayleyFermion5D<Impl>::MeoDeriv(GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
-  {
-    FermionField Din(V._grid);
-
-    if ( dag == DaggerNo ) {
-      //      U d/du [D_w D5] V = U d/du DW D5 V
-      Meooe5D(V,Din);
-      this->DhopDerivEO(mat,U,Din,dag);
-    } else {
-      //      U d/du [D_w D5]^dag V = U D5^dag d/du DW^dag Y // implicit adj on U in call
-      Meooe5D(U,Din);
-      this->DhopDerivEO(mat,Din,V,dag);
-    }
-  };
+  }
+};
+template<class Impl>
+void CayleyFermion5D<Impl>::MeoDeriv(GaugeField &mat,const FermionField &U,const FermionField &V,int dag)
+{
+  FermionField Din(V._grid);
   
-  // Tanh
- template<class Impl>
-  void CayleyFermion5D<Impl>::SetCoefficientsTanh(Approx::zolotarev_data *zdata,RealD b,RealD c)
-  {
-    SetCoefficientsZolotarev(1.0,zdata,b,c);
+  if ( dag == DaggerNo ) {
+    //      U d/du [D_w D5] V = U d/du DW D5 V
+    Meooe5D(V,Din);
+    this->DhopDerivEO(mat,U,Din,dag);
+  } else {
+    //      U d/du [D_w D5]^dag V = U D5^dag d/du DW^dag Y // implicit adj on U in call
+    Meooe5D(U,Din);
+    this->DhopDerivEO(mat,Din,V,dag);
   }
-  //Zolo
- template<class Impl>
-  void CayleyFermion5D<Impl>::SetCoefficientsZolotarev(RealD zolo_hi,Approx::zolotarev_data *zdata,RealD b,RealD c)
-  {
-    int Ls=this->Ls;
+};
+  
+// Tanh
+template<class Impl>
+void CayleyFermion5D<Impl>::SetCoefficientsTanh(Approx::zolotarev_data *zdata,RealD b,RealD c)
+{
+  SetCoefficientsZolotarev(1.0,zdata,b,c);
+}
+//Zolo
+template<class Impl>
+void CayleyFermion5D<Impl>::SetCoefficientsZolotarev(RealD zolo_hi,Approx::zolotarev_data *zdata,RealD b,RealD c)
+{
+  int Ls=this->Ls;
 
-    ///////////////////////////////////////////////////////////
-    // The Cayley coeffs (unprec)
-    ///////////////////////////////////////////////////////////
-    omega.resize(Ls);
-    bs.resize(Ls);
-    cs.resize(Ls);
-    as.resize(Ls);
+  ///////////////////////////////////////////////////////////
+  // The Cayley coeffs (unprec)
+  ///////////////////////////////////////////////////////////
+  omega.resize(Ls);
+  bs.resize(Ls);
+  cs.resize(Ls);
+  as.resize(Ls);
+  
+  // 
+  // Ts = (    [bs+cs]Dw        )^-1 (    (bs+cs) Dw         )
+  //     -(g5  -------       -1 )    ( g5 ---------     + 1  )
+  //      (   {2+(bs-cs)Dw}     )    (    2+(bs-cs) Dw       )
+  //
+  //  bs = 1/2( (1/omega_s + 1)*b + (1/omega - 1)*c ) = 1/2(  1/omega(b+c) + (b-c) )
+  //  cs = 1/2( (1/omega_s - 1)*b + (1/omega + 1)*c ) = 1/2(  1/omega(b+c) - (b-c) )
+  //
+  // bs+cs = 0.5*( 1/omega(b+c) + (b-c) + 1/omega(b+c) - (b-c) ) = 1/omega(b+c)
+  // bs-cs = 0.5*( 1/omega(b+c) + (b-c) - 1/omega(b+c) + (b-c) ) = b-c
+  //
+  // So 
+  //
+  // Ts = (    [b+c]Dw/omega_s    )^-1 (    (b+c) Dw /omega_s        )
+  //     -(g5  -------         -1 )    ( g5 ---------           + 1  )
+  //      (   {2+(b-c)Dw}         )    (    2+(b-c) Dw               )
+  //
+  // Ts = (    [b+c]Dw            )^-1 (    (b+c) Dw                 )
+  //     -(g5  -------    -omega_s)    ( g5 ---------      + omega_s )
+  //      (   {2+(b-c)Dw}         )    (    2+(b-c) Dw               )
+  // 
     
-    // 
-    // Ts = (    [bs+cs]Dw        )^-1 (    (bs+cs) Dw         )
-    //     -(g5  -------       -1 )    ( g5 ---------     + 1  )
-    //      (   {2+(bs-cs)Dw}     )    (    2+(bs-cs) Dw       )
-    //
-    //  bs = 1/2( (1/omega_s + 1)*b + (1/omega - 1)*c ) = 1/2(  1/omega(b+c) + (b-c) )
-    //  cs = 1/2( (1/omega_s - 1)*b + (1/omega + 1)*c ) = 1/2(  1/omega(b+c) - (b-c) )
-    //
-    // bs+cs = 0.5*( 1/omega(b+c) + (b-c) + 1/omega(b+c) - (b-c) ) = 1/omega(b+c)
-    // bs-cs = 0.5*( 1/omega(b+c) + (b-c) - 1/omega(b+c) + (b-c) ) = b-c
-    //
-    // So 
-    //
-    // Ts = (    [b+c]Dw/omega_s    )^-1 (    (b+c) Dw /omega_s        )
-    //     -(g5  -------         -1 )    ( g5 ---------           + 1  )
-    //      (   {2+(b-c)Dw}         )    (    2+(b-c) Dw               )
-    //
-    // Ts = (    [b+c]Dw            )^-1 (    (b+c) Dw                 )
-    //     -(g5  -------    -omega_s)    ( g5 ---------      + omega_s )
-    //      (   {2+(b-c)Dw}         )    (    2+(b-c) Dw               )
-    // 
-    
-    double bpc = b+c;
-    double bmc = b-c;
-    for(int i=0; i < Ls; i++){
-      as[i] = 1.0;
-      omega[i] = ((double)zdata->gamma[i])*zolo_hi; //NB reciprocal relative to Chroma NEF code
-      bs[i] = 0.5*(bpc/omega[i] + bmc);
-      cs[i] = 0.5*(bpc/omega[i] - bmc);
-    }
-
-    ////////////////////////////////////////////////////////
-    // Constants for the preconditioned matrix Cayley form
-    ////////////////////////////////////////////////////////
-    bee.resize(Ls);
-    cee.resize(Ls);
-    beo.resize(Ls);
-    ceo.resize(Ls);
-    
-    for(int i=0;i<Ls;i++){
-      bee[i]=as[i]*(bs[i]*(4.0-this->M5) +1.0);
-      cee[i]=as[i]*(1.0-cs[i]*(4.0-this->M5));
-      beo[i]=as[i]*bs[i];
-      ceo[i]=-as[i]*cs[i];
-    }
-
-    aee.resize(Ls);
-    aeo.resize(Ls);
-    for(int i=0;i<Ls;i++){
-      aee[i]=cee[i];
-      aeo[i]=ceo[i];
-    }
-
-    //////////////////////////////////////////
-    // LDU decomposition of eeoo
-    //////////////////////////////////////////
-    dee.resize(Ls);
-    lee.resize(Ls);
-    leem.resize(Ls);
-    uee.resize(Ls);
-    ueem.resize(Ls);
-    
-    for(int i=0;i<Ls;i++){
-      
-      dee[i] = bee[i];
-      
-      if ( i < Ls-1 ) {
-	
-	lee[i] =-cee[i+1]/bee[i]; // sub-diag entry on the ith column
-	    
-	leem[i]=mass*cee[Ls-1]/bee[0];
-	for(int j=0;j<i;j++)  leem[i]*= aee[j]/bee[j+1];
-	
-	uee[i] =-aee[i]/bee[i];   // up-diag entry on the ith row
-	
-	ueem[i]=mass;
-	for(int j=1;j<=i;j++) ueem[i]*= cee[j]/bee[j];
-	ueem[i]*= aee[0]/bee[0];
-	    
-      } else { 
-	lee[i] =0.0;
-	leem[i]=0.0;
-	uee[i] =0.0;
-	ueem[i]=0.0;
-      }
-    }
-	
-    { 
-      double delta_d=mass*cee[Ls-1];
-      for(int j=0;j<Ls-1;j++) delta_d *= cee[j]/bee[j];
-      dee[Ls-1] += delta_d;
-    }
-
+  double bpc = b+c;
+  double bmc = b-c;
+  for(int i=0; i < Ls; i++){
+    as[i] = 1.0;
+    omega[i] = ((double)zdata->gamma[i])*zolo_hi; //NB reciprocal relative to Chroma NEF code
+    bs[i] = 0.5*(bpc/omega[i] + bmc);
+    cs[i] = 0.5*(bpc/omega[i] - bmc);
   }
+  
+  ////////////////////////////////////////////////////////
+  // Constants for the preconditioned matrix Cayley form
+  ////////////////////////////////////////////////////////
+  bee.resize(Ls);
+  cee.resize(Ls);
+  beo.resize(Ls);
+  ceo.resize(Ls);
+  
+  for(int i=0;i<Ls;i++){
+    bee[i]=as[i]*(bs[i]*(4.0-this->M5) +1.0);
+    cee[i]=as[i]*(1.0-cs[i]*(4.0-this->M5));
+    beo[i]=as[i]*bs[i];
+    ceo[i]=-as[i]*cs[i];
+  }
+  
+  aee.resize(Ls);
+  aeo.resize(Ls);
+  for(int i=0;i<Ls;i++){
+    aee[i]=cee[i];
+    aeo[i]=ceo[i];
+  }
+  
+  //////////////////////////////////////////
+  // LDU decomposition of eeoo
+  //////////////////////////////////////////
+  dee.resize(Ls);
+  lee.resize(Ls);
+  leem.resize(Ls);
+  uee.resize(Ls);
+  ueem.resize(Ls);
+  
+  for(int i=0;i<Ls;i++){
+    
+    dee[i] = bee[i];
+    
+    if ( i < Ls-1 ) {
+      
+      lee[i] =-cee[i+1]/bee[i]; // sub-diag entry on the ith column
+      
+      leem[i]=mass*cee[Ls-1]/bee[0];
+      for(int j=0;j<i;j++)  leem[i]*= aee[j]/bee[j+1];
+      
+      uee[i] =-aee[i]/bee[i];   // up-diag entry on the ith row
+      
+      ueem[i]=mass;
+      for(int j=1;j<=i;j++) ueem[i]*= cee[j]/bee[j];
+      ueem[i]*= aee[0]/bee[0];
+      
+    } else { 
+      lee[i] =0.0;
+      leem[i]=0.0;
+      uee[i] =0.0;
+      ueem[i]=0.0;
+    }
+  }
+	
+  { 
+    double delta_d=mass*cee[Ls-1];
+    for(int j=0;j<Ls-1;j++) delta_d *= cee[j]/bee[j];
+    dee[Ls-1] += delta_d;
+  }  
+}
 
 
 

From dfd714e1ef7ee7b6a48270a4d1f2bda6ab919676 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 15 Jul 2016 00:00:09 +0100
Subject: [PATCH 061/295] Multiple implementations for the 5d hopping terms,
 depending on cache friendly ops and/or the 5th direction being vectorised All
 use 4d redblack.

---
 lib/qcd/action/fermion/CayleyFermion5D.h | 29 ++++++++++++++++++++----
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/lib/qcd/action/fermion/CayleyFermion5D.h b/lib/qcd/action/fermion/CayleyFermion5D.h
index 01c278d5..c7ce6dcd 100644
--- a/lib/qcd/action/fermion/CayleyFermion5D.h
+++ b/lib/qcd/action/fermion/CayleyFermion5D.h
@@ -51,11 +51,29 @@ namespace Grid {
       virtual void   MooeeDag    (const FermionField &in, FermionField &out);
       virtual void   MooeeInv    (const FermionField &in, FermionField &out);
       virtual void   MooeeInvDag (const FermionField &in, FermionField &out);
-      virtual void   MooeeLDUInv    (const FermionField &in, FermionField &out);
-      virtual void   MooeeLDUInvDag (const FermionField &in, FermionField &out);
-      virtual void   MooeeDenseInv    (const FermionField &in, FermionField &out);
-      virtual void   MooeeDenseInvDag (const FermionField &in, FermionField &out);
-      void   MooeeDenseInternal(const FermionField &in, FermionField &out,int dag,int inv);
+      virtual void   Meo5D (const FermionField &psi, FermionField &chi);
+
+      virtual void   M5D   (const FermionField &psi, FermionField &chi);
+      virtual void   M5Ddag(const FermionField &psi, FermionField &chi);
+
+      /////////////////////////////////////////////////////
+      // Instantiate different versions depending on Impl
+      /////////////////////////////////////////////////////
+      void M5D(const FermionField &psi,
+	       const FermionField &phi, 
+	       FermionField &chi,
+	       std::vector<RealD> &lower,
+	       std::vector<RealD> &diag,
+	       std::vector<RealD> &upper);
+
+      void M5Ddag(const FermionField &psi,
+		  const FermionField &phi, 
+		  FermionField &chi,
+		  std::vector<RealD> &lower,
+		  std::vector<RealD> &diag,
+		  std::vector<RealD> &upper);
+      void MooeeInternal(const FermionField &in, FermionField &out,int dag,int inv);
+
       virtual void   Instantiatable(void)=0;
 
       // force terms; five routines; default to Dhop on diagonal
@@ -100,6 +118,7 @@ namespace Grid {
 		      RealD _mass,RealD _M5,const ImplParams &p= ImplParams());
 
 
+
     protected:
       void SetCoefficientsZolotarev(RealD zolohi,Approx::zolotarev_data *zdata,RealD b,RealD c);
       void SetCoefficientsTanh(Approx::zolotarev_data *zdata,RealD b,RealD c);

From 5c0c8efb9edcb9da864cbb49b7f1ec90d230b73d Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 15 Jul 2016 00:02:11 +0100
Subject: [PATCH 062/295] Updated file list

---
 lib/Make.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/Make.inc b/lib/Make.inc
index 733c613b..c4380b48 100644
--- a/lib/Make.inc
+++ b/lib/Make.inc
@@ -1,4 +1,4 @@
 
-HFILES=./algorithms/approx/bigfloat.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/Francis.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/SparseMatrix.h ./Algorithms.h ./AlignedAllocator.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./Cartesian.h ./communicator/Communicator_base.h ./Communicator.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./Cshift.h ./Grid.h ./Init.h ./lattice/Lattice_arith.h ./lattice/Lattice_base.h ./lattice/Lattice_comparison.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_conformable.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_ET.h ./lattice/Lattice_local.h ./lattice/Lattice_overload.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_reality.h ./lattice/Lattice_reduction.h ./lattice/Lattice_rng.h ./lattice/Lattice_trace.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./Lattice.h ./Lexicographic.h ./Log.h ./Old/Tensor_peek.h ./Old/Tensor_poke.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./PerfCount.h ./pugixml/pugixml.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/hmc/HMC.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/NerscCheckpointer.h ./qcd/QCD.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./serialisation/BaseIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/XmlIO.h ./simd/Grid_avx.h ./simd/Grid_avx512.h ./simd/Grid_empty.h ./simd/Grid_imci.h ./simd/Grid_neon.h ./simd/Grid_qpx.h ./simd/Grid_sse4.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./simd/Intel512avx.h ./simd/Intel512common.h ./simd/Intel512double.h ./simd/Intel512imci.h ./simd/Intel512single.h ./simd/Intel512wilson.h ./Simd.h ./stencil/Lebesgue.h ./Stencil.h ./tensors/Tensor_arith.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_class.h ./tensors/Tensor_determinant.h ./tensors/Tensor_exp.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_index.h ./tensors/Tensor_inner.h ./tensors/Tensor_logical.h ./tensors/Tensor_outer.h ./tensors/Tensor_reality.h ./tensors/Tensor_Ta.h ./tensors/Tensor_trace.h ./tensors/Tensor_traits.h ./tensors/Tensor_transpose.h ./tensors/Tensor_unary.h ./Tensors.h ./Threads.h ./Timer.h
+HFILES=./algorithms/approx/bigfloat.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/Francis.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/SparseMatrix.h ./Algorithms.h ./AlignedAllocator.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./Cartesian.h ./communicator/Communicator_base.h ./Communicator.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./Cshift.h ./Eigen/src/Cholesky/LDLT.h ./Eigen/src/Cholesky/LLT.h ./Eigen/src/Cholesky/LLT_MKL.h ./Eigen/src/CholmodSupport/CholmodSupport.h ./Eigen/src/Core/arch/AltiVec/Complex.h ./Eigen/src/Core/arch/AltiVec/PacketMath.h ./Eigen/src/Core/arch/Default/Settings.h ./Eigen/src/Core/arch/NEON/Complex.h ./Eigen/src/Core/arch/NEON/PacketMath.h ./Eigen/src/Core/arch/SSE/Complex.h ./Eigen/src/Core/arch/SSE/MathFunctions.h ./Eigen/src/Core/arch/SSE/PacketMath.h ./Eigen/src/Core/Array.h ./Eigen/src/Core/ArrayBase.h ./Eigen/src/Core/ArrayWrapper.h ./Eigen/src/Core/Assign.h ./Eigen/src/Core/Assign_MKL.h ./Eigen/src/Core/BandMatrix.h ./Eigen/src/Core/Block.h ./Eigen/src/Core/BooleanRedux.h ./Eigen/src/Core/CommaInitializer.h ./Eigen/src/Core/CoreIterators.h ./Eigen/src/Core/CwiseBinaryOp.h ./Eigen/src/Core/CwiseNullaryOp.h ./Eigen/src/Core/CwiseUnaryOp.h ./Eigen/src/Core/CwiseUnaryView.h ./Eigen/src/Core/DenseBase.h ./Eigen/src/Core/DenseCoeffsBase.h ./Eigen/src/Core/DenseStorage.h ./Eigen/src/Core/Diagonal.h ./Eigen/src/Core/DiagonalMatrix.h ./Eigen/src/Core/DiagonalProduct.h ./Eigen/src/Core/Dot.h ./Eigen/src/Core/EigenBase.h ./Eigen/src/Core/Flagged.h ./Eigen/src/Core/ForceAlignedAccess.h ./Eigen/src/Core/Functors.h ./Eigen/src/Core/Fuzzy.h ./Eigen/src/Core/GeneralProduct.h ./Eigen/src/Core/GenericPacketMath.h ./Eigen/src/Core/GlobalFunctions.h ./Eigen/src/Core/IO.h ./Eigen/src/Core/Map.h ./Eigen/src/Core/MapBase.h ./Eigen/src/Core/MathFunctions.h ./Eigen/src/Core/Matrix.h ./Eigen/src/Core/MatrixBase.h ./Eigen/src/Core/NestByValue.h ./Eigen/src/Core/NoAlias.h ./Eigen/src/Core/NumTraits.h ./Eigen/src/Core/PermutationMatrix.h ./Eigen/src/Core/PlainObjectBase.h ./Eigen/src/Core/ProductBase.h ./Eigen/src/Core/products/CoeffBasedProduct.h ./Eigen/src/Core/products/GeneralBlockPanelKernel.h ./Eigen/src/Core/products/GeneralMatrixMatrix.h ./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h ./Eigen/src/Core/products/GeneralMatrixVector.h ./Eigen/src/Core/products/GeneralMatrixVector_MKL.h ./Eigen/src/Core/products/Parallelizer.h ./Eigen/src/Core/products/SelfadjointMatrixMatrix.h ./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h ./Eigen/src/Core/products/SelfadjointMatrixVector.h ./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h ./Eigen/src/Core/products/SelfadjointProduct.h ./Eigen/src/Core/products/SelfadjointRank2Update.h ./Eigen/src/Core/products/TriangularMatrixMatrix.h ./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h ./Eigen/src/Core/products/TriangularMatrixVector.h ./Eigen/src/Core/products/TriangularMatrixVector_MKL.h ./Eigen/src/Core/products/TriangularSolverMatrix.h ./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h ./Eigen/src/Core/products/TriangularSolverVector.h ./Eigen/src/Core/Random.h ./Eigen/src/Core/Redux.h ./Eigen/src/Core/Ref.h ./Eigen/src/Core/Replicate.h ./Eigen/src/Core/ReturnByValue.h ./Eigen/src/Core/Reverse.h ./Eigen/src/Core/Select.h ./Eigen/src/Core/SelfAdjointView.h ./Eigen/src/Core/SelfCwiseBinaryOp.h ./Eigen/src/Core/SolveTriangular.h ./Eigen/src/Core/StableNorm.h ./Eigen/src/Core/Stride.h ./Eigen/src/Core/Swap.h ./Eigen/src/Core/Transpose.h ./Eigen/src/Core/Transpositions.h ./Eigen/src/Core/TriangularMatrix.h ./Eigen/src/Core/util/BlasUtil.h ./Eigen/src/Core/util/Constants.h ./Eigen/src/Core/util/DisableStupidWarnings.h ./Eigen/src/Core/util/ForwardDeclarations.h ./Eigen/src/Core/util/Macros.h ./Eigen/src/Core/util/Memory.h ./Eigen/src/Core/util/Meta.h ./Eigen/src/Core/util/MKL_support.h ./Eigen/src/Core/util/NonMPL2.h ./Eigen/src/Core/util/ReenableStupidWarnings.h ./Eigen/src/Core/util/StaticAssert.h ./Eigen/src/Core/util/XprHelper.h ./Eigen/src/Core/VectorBlock.h ./Eigen/src/Core/VectorwiseOp.h ./Eigen/src/Core/Visitor.h ./Eigen/src/Eigen2Support/Block.h ./Eigen/src/Eigen2Support/Cwise.h ./Eigen/src/Eigen2Support/CwiseOperators.h ./Eigen/src/Eigen2Support/Geometry/AlignedBox.h ./Eigen/src/Eigen2Support/Geometry/All.h ./Eigen/src/Eigen2Support/Geometry/AngleAxis.h ./Eigen/src/Eigen2Support/Geometry/Hyperplane.h ./Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h ./Eigen/src/Eigen2Support/Geometry/Quaternion.h ./Eigen/src/Eigen2Support/Geometry/Rotation2D.h ./Eigen/src/Eigen2Support/Geometry/RotationBase.h ./Eigen/src/Eigen2Support/Geometry/Scaling.h ./Eigen/src/Eigen2Support/Geometry/Transform.h ./Eigen/src/Eigen2Support/Geometry/Translation.h ./Eigen/src/Eigen2Support/Lazy.h ./Eigen/src/Eigen2Support/LeastSquares.h ./Eigen/src/Eigen2Support/LU.h ./Eigen/src/Eigen2Support/Macros.h ./Eigen/src/Eigen2Support/MathFunctions.h ./Eigen/src/Eigen2Support/Memory.h ./Eigen/src/Eigen2Support/Meta.h ./Eigen/src/Eigen2Support/Minor.h ./Eigen/src/Eigen2Support/QR.h ./Eigen/src/Eigen2Support/SVD.h ./Eigen/src/Eigen2Support/TriangularSolver.h ./Eigen/src/Eigen2Support/VectorBlock.h ./Eigen/src/Eigenvalues/ComplexEigenSolver.h ./Eigen/src/Eigenvalues/ComplexSchur.h ./Eigen/src/Eigenvalues/ComplexSchur_MKL.h ./Eigen/src/Eigenvalues/EigenSolver.h ./Eigen/src/Eigenvalues/GeneralizedEigenSolver.h ./Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h ./Eigen/src/Eigenvalues/HessenbergDecomposition.h ./Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h ./Eigen/src/Eigenvalues/RealQZ.h ./Eigen/src/Eigenvalues/RealSchur.h ./Eigen/src/Eigenvalues/RealSchur_MKL.h ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h ./Eigen/src/Eigenvalues/Tridiagonalization.h ./Eigen/src/Geometry/AlignedBox.h ./Eigen/src/Geometry/AngleAxis.h ./Eigen/src/Geometry/arch/Geometry_SSE.h ./Eigen/src/Geometry/EulerAngles.h ./Eigen/src/Geometry/Homogeneous.h ./Eigen/src/Geometry/Hyperplane.h ./Eigen/src/Geometry/OrthoMethods.h ./Eigen/src/Geometry/ParametrizedLine.h ./Eigen/src/Geometry/Quaternion.h ./Eigen/src/Geometry/Rotation2D.h ./Eigen/src/Geometry/RotationBase.h ./Eigen/src/Geometry/Scaling.h ./Eigen/src/Geometry/Transform.h ./Eigen/src/Geometry/Translation.h ./Eigen/src/Geometry/Umeyama.h ./Eigen/src/Householder/BlockHouseholder.h ./Eigen/src/Householder/Householder.h ./Eigen/src/Householder/HouseholderSequence.h ./Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h ./Eigen/src/IterativeLinearSolvers/BiCGSTAB.h ./Eigen/src/IterativeLinearSolvers/ConjugateGradient.h ./Eigen/src/IterativeLinearSolvers/IncompleteLUT.h ./Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h ./Eigen/src/Jacobi/Jacobi.h ./Eigen/src/LU/arch/Inverse_SSE.h ./Eigen/src/LU/Determinant.h ./Eigen/src/LU/FullPivLU.h ./Eigen/src/LU/Inverse.h ./Eigen/src/LU/PartialPivLU.h ./Eigen/src/LU/PartialPivLU_MKL.h ./Eigen/src/MetisSupport/MetisSupport.h ./Eigen/src/misc/blas.h ./Eigen/src/misc/Image.h ./Eigen/src/misc/Kernel.h ./Eigen/src/misc/Solve.h ./Eigen/src/misc/SparseSolve.h ./Eigen/src/OrderingMethods/Amd.h ./Eigen/src/OrderingMethods/Eigen_Colamd.h ./Eigen/src/OrderingMethods/Ordering.h ./Eigen/src/PardisoSupport/PardisoSupport.h ./Eigen/src/PaStiXSupport/PaStiXSupport.h ./Eigen/src/plugins/ArrayCwiseBinaryOps.h ./Eigen/src/plugins/ArrayCwiseUnaryOps.h ./Eigen/src/plugins/BlockMethods.h ./Eigen/src/plugins/CommonCwiseBinaryOps.h ./Eigen/src/plugins/CommonCwiseUnaryOps.h ./Eigen/src/plugins/MatrixCwiseBinaryOps.h ./Eigen/src/plugins/MatrixCwiseUnaryOps.h ./Eigen/src/QR/ColPivHouseholderQR.h ./Eigen/src/QR/ColPivHouseholderQR_MKL.h ./Eigen/src/QR/FullPivHouseholderQR.h ./Eigen/src/QR/HouseholderQR.h ./Eigen/src/QR/HouseholderQR_MKL.h ./Eigen/src/SparseCholesky/SimplicialCholesky.h ./Eigen/src/SparseCholesky/SimplicialCholesky_impl.h ./Eigen/src/SparseCore/AmbiVector.h ./Eigen/src/SparseCore/CompressedStorage.h ./Eigen/src/SparseCore/ConservativeSparseSparseProduct.h ./Eigen/src/SparseCore/MappedSparseMatrix.h ./Eigen/src/SparseCore/SparseBlock.h ./Eigen/src/SparseCore/SparseColEtree.h ./Eigen/src/SparseCore/SparseCwiseBinaryOp.h ./Eigen/src/SparseCore/SparseCwiseUnaryOp.h ./Eigen/src/SparseCore/SparseDenseProduct.h ./Eigen/src/SparseCore/SparseDiagonalProduct.h ./Eigen/src/SparseCore/SparseDot.h ./Eigen/src/SparseCore/SparseFuzzy.h ./Eigen/src/SparseCore/SparseMatrix.h ./Eigen/src/SparseCore/SparseMatrixBase.h ./Eigen/src/SparseCore/SparsePermutation.h ./Eigen/src/SparseCore/SparseProduct.h ./Eigen/src/SparseCore/SparseRedux.h ./Eigen/src/SparseCore/SparseSelfAdjointView.h ./Eigen/src/SparseCore/SparseSparseProductWithPruning.h ./Eigen/src/SparseCore/SparseTranspose.h ./Eigen/src/SparseCore/SparseTriangularView.h ./Eigen/src/SparseCore/SparseUtil.h ./Eigen/src/SparseCore/SparseVector.h ./Eigen/src/SparseCore/SparseView.h ./Eigen/src/SparseCore/TriangularSolver.h ./Eigen/src/SparseLU/SparseLU.h ./Eigen/src/SparseLU/SparseLU_column_bmod.h ./Eigen/src/SparseLU/SparseLU_column_dfs.h ./Eigen/src/SparseLU/SparseLU_copy_to_ucol.h ./Eigen/src/SparseLU/SparseLU_gemm_kernel.h ./Eigen/src/SparseLU/SparseLU_heap_relax_snode.h ./Eigen/src/SparseLU/SparseLU_kernel_bmod.h ./Eigen/src/SparseLU/SparseLU_Memory.h ./Eigen/src/SparseLU/SparseLU_panel_bmod.h ./Eigen/src/SparseLU/SparseLU_panel_dfs.h ./Eigen/src/SparseLU/SparseLU_pivotL.h ./Eigen/src/SparseLU/SparseLU_pruneL.h ./Eigen/src/SparseLU/SparseLU_relax_snode.h ./Eigen/src/SparseLU/SparseLU_Structs.h ./Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h ./Eigen/src/SparseLU/SparseLU_Utils.h ./Eigen/src/SparseLU/SparseLUImpl.h ./Eigen/src/SparseQR/SparseQR.h ./Eigen/src/SPQRSupport/SuiteSparseQRSupport.h ./Eigen/src/StlSupport/details.h ./Eigen/src/StlSupport/StdDeque.h ./Eigen/src/StlSupport/StdList.h ./Eigen/src/StlSupport/StdVector.h ./Eigen/src/SuperLUSupport/SuperLUSupport.h ./Eigen/src/SVD/JacobiSVD.h ./Eigen/src/SVD/JacobiSVD_MKL.h ./Eigen/src/SVD/UpperBidiagonalization.h ./Eigen/src/UmfPackSupport/UmfPackSupport.h ./Grid.h ./Init.h ./lattice/Lattice_arith.h ./lattice/Lattice_base.h ./lattice/Lattice_comparison.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_conformable.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_ET.h ./lattice/Lattice_local.h ./lattice/Lattice_overload.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_reality.h ./lattice/Lattice_reduction.h ./lattice/Lattice_rng.h ./lattice/Lattice_trace.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./Lattice.h ./Lexicographic.h ./Log.h ./Old/Tensor_peek.h ./Old/Tensor_poke.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./PerfCount.h ./pugixml/pugixml.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/hmc/HMC.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/NerscCheckpointer.h ./qcd/QCD.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./serialisation/BaseIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/XmlIO.h ./simd/Grid_avx.h ./simd/Grid_avx512.h ./simd/Grid_empty.h ./simd/Grid_imci.h ./simd/Grid_neon.h ./simd/Grid_qpx.h ./simd/Grid_sse4.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./simd/Intel512avx.h ./simd/Intel512common.h ./simd/Intel512double.h ./simd/Intel512imci.h ./simd/Intel512single.h ./simd/Intel512wilson.h ./Simd.h ./stencil/Lebesgue.h ./Stencil.h ./tensors/Tensor_arith.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_class.h ./tensors/Tensor_determinant.h ./tensors/Tensor_exp.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_index.h ./tensors/Tensor_inner.h ./tensors/Tensor_logical.h ./tensors/Tensor_outer.h ./tensors/Tensor_reality.h ./tensors/Tensor_Ta.h ./tensors/Tensor_trace.h ./tensors/Tensor_traits.h ./tensors/Tensor_transpose.h ./tensors/Tensor_unary.h ./Tensors.h ./Threads.h ./Timer.h
 
-CCFILES=./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./Init.cc ./Log.cc ./PerfCount.cc ./pugixml/pugixml.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/hmc/HMC.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./serialisation/BinaryIO.cc ./serialisation/TextIO.cc ./serialisation/XmlIO.cc ./stencil/Lebesgue.cc ./stencil/Stencil_common.cc
+CCFILES=./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./Init.cc ./Log.cc ./PerfCount.cc ./pugixml/pugixml.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/CayleyFermion5Dcache.cc ./qcd/action/fermion/CayleyFermion5Ddense.cc ./qcd/action/fermion/CayleyFermion5Dssp.cc ./qcd/action/fermion/CayleyFermion5Dvec.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/hmc/HMC.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./serialisation/BinaryIO.cc ./serialisation/TextIO.cc ./serialisation/XmlIO.cc ./stencil/Lebesgue.cc ./stencil/Stencil_common.cc

From c0e878705ece44b386c8b861fa7bf68891cb1b7f Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 15 Jul 2016 00:02:39 +0100
Subject: [PATCH 063/295] Updated file list

---
 tests/core/Make.inc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/core/Make.inc b/tests/core/Make.inc
index 6ed518d3..c139f44b 100644
--- a/tests/core/Make.inc
+++ b/tests/core/Make.inc
@@ -1,5 +1,5 @@
 
-bin_PROGRAMS += Test_GaugeAction Test_RectPlaq Test_cf_coarsen_support Test_contfrac_even_odd Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_even_odd Test_dwf_rb5d Test_gamma Test_gparity Test_gpwilson_even_odd Test_lie_generators Test_main Test_quenched_update Test_rng Test_rng_fixed Test_wilson_even_odd Test_wilson_tm_even_odd
+bin_PROGRAMS += Test_GaugeAction Test_RectPlaq Test_cf_coarsen_support Test_checker Test_contfrac_even_odd Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_even_odd Test_dwf_rb5d Test_gamma Test_gparity Test_gpwilson_even_odd Test_lie_generators Test_main Test_quenched_update Test_rng Test_rng_fixed Test_wilson_even_odd Test_wilson_tm_even_odd
 
 
 Test_GaugeAction_SOURCES=Test_GaugeAction.cc
@@ -14,6 +14,10 @@ Test_cf_coarsen_support_SOURCES=Test_cf_coarsen_support.cc
 Test_cf_coarsen_support_LDADD=-lGrid
 
 
+Test_checker_SOURCES=Test_checker.cc
+Test_checker_LDADD=-lGrid
+
+
 Test_contfrac_even_odd_SOURCES=Test_contfrac_even_odd.cc
 Test_contfrac_even_odd_LDADD=-lGrid
 

From 35d0d3523842c536d2785c78939d146b5e2687da Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 15 Jul 2016 00:02:53 +0100
Subject: [PATCH 064/295] Updated file list

---
 tests/debug/Make.inc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/debug/Make.inc b/tests/debug/Make.inc
index 91229b6e..bb84690d 100644
--- a/tests/debug/Make.inc
+++ b/tests/debug/Make.inc
@@ -1,5 +1,5 @@
 
-bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_ldop_cr Test_cheby Test_synthetic_lanczos 
+bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_even_odd_vec Test_cayley_ldop_cr Test_cheby Test_synthetic_lanczos 
 
 
 Test_cayley_cg_SOURCES=Test_cayley_cg.cc
@@ -14,6 +14,10 @@ Test_cayley_even_odd_SOURCES=Test_cayley_even_odd.cc
 Test_cayley_even_odd_LDADD=-lGrid
 
 
+Test_cayley_even_odd_vec_SOURCES=Test_cayley_even_odd_vec.cc
+Test_cayley_even_odd_vec_LDADD=-lGrid
+
+
 Test_cayley_ldop_cr_SOURCES=Test_cayley_ldop_cr.cc
 Test_cayley_ldop_cr_LDADD=-lGrid
 

From 6049d5ac4784f55fadb8402f1e7e1e7ab4bd7526 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 15 Jul 2016 00:08:32 +0100
Subject: [PATCH 065/295] Update

---
 scripts/linecount | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/linecount b/scripts/linecount
index 4463ce84..071ae466 100755
--- a/scripts/linecount
+++ b/scripts/linecount
@@ -19,7 +19,7 @@ count=`grep total tmp.fil`
 echo $count " in lib/${sdir}" 
 done
 
-wc -l tests/*.cc | grep total >& tmp.fil
+wc -l tests/*.cc tests/*/*.cc | grep total >& tmp.fil
 count=`grep total tmp.fil`
 echo  $count " in tests"
 

From 49310fbab33c2c11f667b503fdcc30e2d11defa3 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 15 Jul 2016 00:08:43 +0100
Subject: [PATCH 066/295] Done with red black change over

---
 lib/qcd/utils/SpaceTimeGrid.cc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/qcd/utils/SpaceTimeGrid.cc b/lib/qcd/utils/SpaceTimeGrid.cc
index efa7b8b9..695c7f69 100644
--- a/lib/qcd/utils/SpaceTimeGrid.cc
+++ b/lib/qcd/utils/SpaceTimeGrid.cc
@@ -84,7 +84,7 @@ GridRedBlackCartesian *SpaceTimeGrid::makeFiveDimRedBlackGrid(int Ls,const GridC
 
 GridCartesian         *SpaceTimeGrid::makeFiveDimDWFGrid(int Ls,const GridCartesian *FourDimGrid)
 {
-  int N4=FourDimGrid->_ndimension;
+  int N4    = FourDimGrid->_ndimension;
   int nsimd = FourDimGrid->Nsimd();
 
   std::vector<int> latt5(1,Ls);
@@ -103,11 +103,11 @@ GridRedBlackCartesian *SpaceTimeGrid::makeFiveDimDWFRedBlackGrid(int Ls,const Gr
 {
   int N4=FourDimGrid->_ndimension;
   int nsimd = FourDimGrid->Nsimd();
-  int cbd=0;
+  int cbd=1;
   std::vector<int> latt5(1,Ls);
   std::vector<int> simd5(1,nsimd);
   std::vector<int>  mpi5(1,1);
-  std::vector<int>   cb5(1,1);
+  std::vector<int>   cb5(1,0);
     
   for(int d=0;d<N4;d++){
     latt5.push_back(FourDimGrid->_fdimensions[d]);

From 1a6c7204aca3c19b0b1dd16cf93429173e35fa8c Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 15 Jul 2016 00:34:39 +0100
Subject: [PATCH 067/295] Disable instantiation; Use cache version instead

---
 lib/qcd/action/fermion/CayleyFermion5Dssp.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/qcd/action/fermion/CayleyFermion5Dssp.cc b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
index 9b476745..0577202e 100644
--- a/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
@@ -137,8 +137,8 @@ void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &
   }
 }
 
-  FermOp4dVecTemplateInstantiate(CayleyFermion5D);
-  GparityFermOpTemplateInstantiate(CayleyFermion5D);
+  //  FermOp4dVecTemplateInstantiate(CayleyFermion5D);
+  //  GparityFermOpTemplateInstantiate(CayleyFermion5D);
 
 }
 }

From 7edf4c6c043fb9ddd21f650bbfc107e9d3081462 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 15 Jul 2016 13:39:47 +0100
Subject: [PATCH 068/295] Added HMC utitities for the higher representations

TODO: Inherit types for the pseudofermions, Debugging, testing
---
 lib/qcd/QCD.h                                 |   6 +-
 lib/qcd/action/ActionBase.h                   | 146 +++++++++++++-----
 lib/qcd/hmc/HmcRunner.h                       |  12 +-
 lib/qcd/hmc/integrators/Integrator.h          |  10 +-
 .../hmc/integrators/Integrator_algorithm.h    |   2 +-
 lib/qcd/representations/adjoint.h             |   5 +-
 lib/qcd/representations/fundamental.h         |   3 +-
 lib/qcd/representations/hmc_types.h           |  75 ++++++---
 lib/qcd/utils/SUnAdjoint.h                    |   9 ++
 tests/Test_hmc_WilsonAdjointFermionGauge.cc   |  13 +-
 10 files changed, 201 insertions(+), 80 deletions(-)

diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index f154fa6a..ddb0e217 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -484,6 +484,8 @@ namespace QCD {
 }   //namespace QCD
 } // Grid
 
+
+
 #include <qcd/spin/Dirac.h>
 
 #include <qcd/spin/TwoSpinor.h>
@@ -494,12 +496,12 @@ namespace QCD {
 #include <qcd/utils/SUn.h>
 #include <qcd/utils/SUnAdjoint.h>
 
+#include <qcd/representations/hmc_types.h>
+
 #include <qcd/action/Actions.h>
 
 #include <qcd/smearing/Smearing.h>
 
-#include <qcd/representations/hmc_types.h>
-
 #include <qcd/hmc/integrators/Integrator.h>
 #include <qcd/hmc/integrators/Integrator_algorithm.h>
 #include <qcd/hmc/HMC.h>
diff --git a/lib/qcd/action/ActionBase.h b/lib/qcd/action/ActionBase.h
index 83bb3ff7..c79416b8 100644
--- a/lib/qcd/action/ActionBase.h
+++ b/lib/qcd/action/ActionBase.h
@@ -1,49 +1,52 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/ActionBase.h
+Source file: ./lib/qcd/action/ActionBase.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: neo <cossu@post.kek.jp>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef QCD_ACTION_BASE
 #define QCD_ACTION_BASE
 namespace Grid {
-namespace QCD{
-
-template<class GaugeField>
-class Action { 
+namespace QCD {
 
+template <class GaugeField>
+class Action {
  public:
   bool is_smeared = false;
   // Boundary conditions? // Heatbath?
-  virtual void  refresh(const GaugeField &U, GridParallelRNG& pRNG) = 0;// refresh pseudofermions
-  virtual RealD S    (const GaugeField &U)                        = 0;  // evaluate the action
-  virtual void  deriv(const GaugeField &U,GaugeField & dSdU )     = 0;  // evaluate the action derivative
-  virtual ~Action() {};
+  virtual void refresh(const GaugeField& U,
+                       GridParallelRNG& pRNG) = 0;  // refresh pseudofermions
+  virtual RealD S(const GaugeField& U) = 0;         // evaluate the action
+  virtual void deriv(const GaugeField& U,
+                     GaugeField& dSdU) = 0;  // evaluate the action derivative
+  virtual ~Action(){};
 };
 
-// Could derive PseudoFermion action with a PF field, FermionField, and a Grid; implement refresh
+// Could derive PseudoFermion action with a PF field, FermionField, and a Grid;
+// implement refresh
 /*
 template<class GaugeField, class FermionField>
 class PseudoFermionAction : public Action<GaugeField> {
@@ -52,7 +55,8 @@ class PseudoFermionAction : public Action<GaugeField> {
   GridParallelRNG &pRNG;
   GridBase &Grid;
 
-  PseudoFermionAction(GridBase &_Grid,GridParallelRNG &_pRNG) : Grid(_Grid), Phi(&_Grid), pRNG(_pRNG) {
+  PseudoFermionAction(GridBase &_Grid,GridParallelRNG &_pRNG) : Grid(_Grid),
+Phi(&_Grid), pRNG(_pRNG) {
   };
 
   virtual void refresh(const GaugeField &gauge) {
@@ -62,26 +66,90 @@ class PseudoFermionAction : public Action<GaugeField> {
 };
 */
 
-template<class GaugeField> struct ActionLevel{
-public:
-   
-  typedef Action<GaugeField>*  ActPtr; // now force the same colours as the rest of the code
-    
+template <class GaugeField>
+struct ActionLevel {
+ public:
+  typedef Action<GaugeField>*
+      ActPtr;  // now force the same colours as the rest of the code
+
+  //Add supported representations here
+
+
   unsigned int multiplier;
 
   std::vector<ActPtr> actions;
 
   ActionLevel(unsigned int mul = 1) : actions(0), multiplier(mul) {
-    assert (mul >= 1);
+    assert(mul >= 1);
   };
-   
-  void push_back(ActPtr ptr){
-    actions.push_back(ptr);
-  }
+
+  void push_back(ActPtr ptr) { actions.push_back(ptr); }
 };
 
-template<class GaugeField> using ActionSet = std::vector<ActionLevel< GaugeField > >;
 
+template <class GaugeField, class Repr>
+struct ActionLevelHirep {
+ public:
+  unsigned int multiplier; 
+
+  // Fundamental repr actions separated because of the smearing
+  typedef Action<GaugeField>* ActPtr;
+  //std::vector<ActPtr> actions;
+  // construct a tuple of vectors of the actions for the corresponding higher
+  // representation fields
+  typename AccessTypes<Action, Repr>::VectorCollection actions_hirep;
+  typedef typename  AccessTypes<Action, Repr>::ClassCollection actions_hirep_ptrs_type;
+
+  std::vector<ActPtr>& actions;
+
+  // Temporary conversion between ActionLevel and ActionLevelHirep
+  ActionLevelHirep(ActionLevel<GaugeField>& AL ):actions(AL.actions), multiplier(AL.multiplier){}
+
+
+
+  ActionLevelHirep(unsigned int mul = 1) : actions(std::get<0>(actions_hirep)), multiplier(mul) {
+    // initialize the hirep vectors to zero.
+    //apply(&ActionLevelHirep::resize, actions_hirep, 0); //need a working resize
+    assert(mul >= 1);
+  };
+
+  void push_back(ActPtr ptr) { actions.push_back(ptr); }
+
+// SFINAE construct, check
+  template <class actionpointer, size_t N>
+  void push_back(actionpointer ptr, decltype(std::tuple_element<N, actions_hirep_ptrs_type>::value)* = 0) {
+    //insert only in the correct vector
+    std::get<N>(actions_hirep).push_back(ptr);
+  };
+
+  template < class ActPtr>
+  static void resize(ActPtr ap, unsigned int n){
+    ap->resize(n);
+
+  }
+
+  
+
+  // Loop on tuple for a callable function
+  template <std::size_t I = 0, class Tuple, typename Callable, typename ...Args>
+  inline typename std::enable_if<(I == std::tuple_size<Tuple>::value), void>::type apply(
+      Callable&, Tuple& , Args...) {}
+
+  template <std::size_t I = 0, class Tuple, typename Callable, typename ...Args>
+  inline typename std::enable_if<(I < std::tuple_size<Tuple>::value), void>::type apply(
+      Callable& fn,  Tuple& T, Args... arguments) {
+    fn(std::get<I>(T), arguments...);
+    apply<I + 1>(T, fn, arguments...);
+  }  
+
+};
+
+
+template <class GaugeField>
+using ActionSet = std::vector<ActionLevel<GaugeField> >;
+
+template <class GaugeField, class R>
+using ActionSetHirep = std::vector<ActionLevelHirep<GaugeField, R> >;
 
 }
 }
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index cd7acd56..d434970c 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -32,14 +32,14 @@ directory
 namespace Grid {
 namespace QCD {
 
-template <class Gimpl>
+template <class Gimpl, class RepresentationsPolicy = NoHirep >
 class NerscHmcRunnerTemplate {
  public:
   INHERIT_GIMPL_TYPES(Gimpl);
 
   enum StartType_t { ColdStart, HotStart, TepidStart, CheckpointStart };
 
-  ActionSet<GaugeField> TheAction;
+  ActionSetHirep<GaugeField, RepresentationsPolicy> TheAction;
 
   GridCartesian *UGrid;
   GridCartesian *FGrid;
@@ -111,7 +111,7 @@ class NerscHmcRunnerTemplate {
     SmearedConfiguration<Gimpl> SmearingPolicy(UGrid, Nsmear, Stout);
     std::cout << GridLogDebug << " done\n";
     //////////////
-    typedef MinimumNorm2<GaugeField, SmearedConfiguration<Gimpl> >
+    typedef MinimumNorm2<GaugeField, SmearedConfiguration<Gimpl>, RepresentationsPolicy >
         IntegratorType;  // change here to change the algorithm
     IntegratorParameters MDpar(20);
     IntegratorType MDynamics(UGrid, MDpar, TheAction, SmearingPolicy);
@@ -177,6 +177,12 @@ typedef NerscHmcRunnerTemplate<PeriodicGimplD> PeriodicNerscHmcRunnerD;
 typedef NerscHmcRunnerTemplate<ConjugateGimplR> ConjugateNerscHmcRunner;
 typedef NerscHmcRunnerTemplate<ConjugateGimplF> ConjugateNerscHmcRunnerF;
 typedef NerscHmcRunnerTemplate<ConjugateGimplD> ConjugateNerscHmcRunnerD;
+
+template <class RepresentationsPolicy>
+using NerscHmcRunnerHirep = NerscHmcRunnerTemplate<PeriodicGimplR, RepresentationsPolicy>;
+
+
+
 }
 }
 #endif
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index e9f0c0c7..55eaf818 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -71,7 +71,7 @@ class Integrator {
 
   IntegratorParameters Params;
 
-  const ActionSet<GaugeField> as;
+  const ActionSetHirep<GaugeField, RepresentationPolicy> as;
 
   int levels;  //
   double t_U;  // Track time passing on each level and for U and for P
@@ -113,7 +113,7 @@ class Integrator {
   // to be used by the actionlevel class to iterate
   // over the representations
   template <class Level>
-  void update_P_core(Level repr_level, GaugeField& Mom, GaugeField& U,
+  void update_P_hireps(Level repr_level, GaugeField& Mom, GaugeField& U,
                      double ep) {
     typedef typename Level::LatticeField FieldType;
     FieldType Ur = repr_level->getRepresentation();// update U is better
@@ -128,10 +128,10 @@ class Integrator {
       Mom -= force * ep;
     }
   }
-  // Add the specialized class for the fundamental case
 
   void update_P(GaugeField& Mom, GaugeField& U, int level, double ep) {
     // input U actually not used in the fundamental case
+  	// Fundamental updates, include smearing
     for (int a = 0; a < as[level].actions.size(); ++a) {
       GaugeField force(U._grid);
       GaugeField& Us = Smearer.get_U(as[level].actions.at(a)->is_smeared);
@@ -148,7 +148,7 @@ class Integrator {
       Mom -= force * ep;
     }
     // Add here the other representations
-    // as[level].apply(update_P_hireps, Args...)
+    //apply(update_P_hireps, as[level], Args...)
   }
 
   void update_U(GaugeField& U, double ep) {
@@ -179,7 +179,7 @@ class Integrator {
 
  public:
   Integrator(GridBase* grid, IntegratorParameters Par,
-             ActionSet<GaugeField>& Aset, SmearingPolicy& Sm)
+             ActionSetHirep<GaugeField, RepresentationPolicy>& Aset, SmearingPolicy& Sm)
       : Params(Par), as(Aset), P(grid), levels(Aset.size()), Smearer(Sm), Representations(grid) {
     t_P.resize(levels, 0.0);
     t_U = 0.0;
diff --git a/lib/qcd/hmc/integrators/Integrator_algorithm.h b/lib/qcd/hmc/integrators/Integrator_algorithm.h
index 9e12c0c3..3c89a14d 100644
--- a/lib/qcd/hmc/integrators/Integrator_algorithm.h
+++ b/lib/qcd/hmc/integrators/Integrator_algorithm.h
@@ -151,7 +151,7 @@ namespace Grid{
 
       MinimumNorm2(GridBase* grid, 
 		   IntegratorParameters Par,
-		   ActionSet<GaugeField> & Aset,
+		   ActionSetHirep<GaugeField, RepresentationPolicy> & Aset,
 		   SmearingPolicy& Sm):
 	Integrator<GaugeField, SmearingPolicy, RepresentationPolicy>(grid,Par,Aset,Sm) {};
 
diff --git a/lib/qcd/representations/adjoint.h b/lib/qcd/representations/adjoint.h
index b211e122..9e960952 100644
--- a/lib/qcd/representations/adjoint.h
+++ b/lib/qcd/representations/adjoint.h
@@ -21,14 +21,15 @@ class AdjointRep {
  public:
  	// typdef to be used by the Representations class in HMC to get the
  	// types for the higher representation fields
-  typedef typename SU_Adjoint<ncolour>::LatticeAdjMatrix LatticeField;
+  typedef typename SU_Adjoint<ncolour>::LatticeAdjMatrix LatticeMatrix;
+  typedef typename SU_Adjoint<ncolour>::LatticeAdjField LatticeField;
   const int Dimension = ncolour * ncolour - 1;
 
   LatticeField U;
   
 
   explicit AdjointRep(GridBase* grid) : U(grid) {}
-  LatticeField update_representation(const LatticeGaugeField& Uin) {
+  void update_representation(const LatticeGaugeField& Uin) {
     // Uin is in the fundamental representation
     // get the U in AdjointRep
     // (U_adj)_B = tr[e^a U e^b U^dag]
diff --git a/lib/qcd/representations/fundamental.h b/lib/qcd/representations/fundamental.h
index 886dd399..0e9470a7 100644
--- a/lib/qcd/representations/fundamental.h
+++ b/lib/qcd/representations/fundamental.h
@@ -22,7 +22,8 @@ class FundamentalRep {
 
   // typdef to be used by the Representations class in HMC to get the
   // types for the higher representation fields
-  typedef typename SU<ncolour>::LatticeMatrix LatticeField;
+  typedef typename SU<ncolour>::LatticeMatrix LatticeMatrix;
+  typedef LatticeGaugeField LatticeField;
   
   explicit FundamentalRep(GridBase* grid) {} //do nothing
   void update_representation(const LatticeGaugeField& Uin) {} // do nothing
diff --git a/lib/qcd/representations/hmc_types.h b/lib/qcd/representations/hmc_types.h
index 4a281e75..a8d3ed7c 100644
--- a/lib/qcd/representations/hmc_types.h
+++ b/lib/qcd/representations/hmc_types.h
@@ -1,61 +1,90 @@
 #ifndef HMC_TYPES_H
 #define HMC_TYPES_H
 
-#include <tuple>
-#include <utility>
 #include <qcd/representations/adjoint.h>
 #include <qcd/representations/fundamental.h>
+#include <tuple>
+#include <utility>
 
 namespace Grid {
 namespace QCD {
 
-
 // Supported types
-//enum {Fundamental, Adjoint} repr_type;
+// enum {Fundamental, Adjoint} repr_type;
 
-// Utility to add support to the HMC for representations other than the fundamental
-template<class... Reptypes>
-class Representations{
-public:
+// Utility to add support to the HMC for representations other than the
+// fundamental
+template <class... Reptypes>
+class Representations {
+ public:
   typedef std::tuple<Reptypes...> Representation_type;
 
+  // Size of the tuple, known at compile time
+  static const int tuple_size = sizeof...(Reptypes);
+  // The collection of types for the gauge fields
+  typedef std::tuple<typename Reptypes::LatticeField...> Representation_Fields;
+
   // To access the Reptypes (FundamentalRepresentation, AdjointRepresentation)
   template <std::size_t N>
-  using repr_type = typename std::tuple_element<N, Representation_type >::type;
+  using repr_type = typename std::tuple_element<N, Representation_type>::type;
   // in order to get the typename of the field use
   // type repr_type::LatticeField
 
   Representation_type rep;
 
   // Multiple types constructor
-  explicit Representations(GridBase *grid):rep(Reptypes(grid)...){};
+  explicit Representations(GridBase* grid) : rep(Reptypes(grid)...){};
 
-  int size(){
-    return std::tuple_size< Representation_type >::value;
-  }
+  int size() { return tuple_size; }
 
   // update the fields
   template <std::size_t I = 0>
-  inline typename std::enable_if< I == sizeof...(Reptypes), void >::type update(LatticeGaugeField& U) {}
+  inline typename std::enable_if<(I == tuple_size), void>::type update(
+      LatticeGaugeField& U) {}
 
   template <std::size_t I = 0>
-      inline typename std::enable_if <
-      I<sizeof...(Reptypes), void>::type update(LatticeGaugeField& U) {
+  inline typename std::enable_if<(I < tuple_size), void>::type update(
+      LatticeGaugeField& U) {
     std::get<I>(rep).update_representation(U);
     update<I + 1>(U);
-  }  
+  }
+
+
+
 };
 
+typedef Representations<FundamentalRepresentation> NoHirep;
 
-typedef Representations<FundamentalRepresentation> JustTheFundamental;
+// Helper classes to access the elements
+// Strips the first N parameters from the tuple
+// sequence of classes to obtain the S sequence
+// Creates a type that is a tuple of vectors of the template type A
+template <template <typename> class A, class TupleClass,
+          size_t N = TupleClass::tuple_size, size_t... S>
+struct AccessTypes : AccessTypes<A, TupleClass, N - 1, N - 1, S...> {};
 
+template <template <typename> class A, class TupleClass, size_t... S>
+struct AccessTypes<A, TupleClass, 0, S...> {
+ public:
+  typedef typename TupleClass::Representation_Fields Rfields;
 
+  template <std::size_t N>
+  using elem = typename std::tuple_element<N, Rfields>::type;  // fields types
+
+  typedef std::tuple<std::vector< A< elem<S> >* > ... > VectorCollection;
+  typedef std::tuple< A< elem<S> >* ... > ClassCollection;
+
+  // Debug
+  void return_size() {
+    std::cout << GridLogMessage
+              << "Access:" << std::tuple_size<std::tuple<elem<S>...> >::value
+              << "\n";
+    std::cout << GridLogMessage
+              << "Access vectors:" << std::tuple_size<VectorCollection>::value
+              << "\n";
+  }
+};
 }
 }
 
-
-
 #endif
-
-
-
diff --git a/lib/qcd/utils/SUnAdjoint.h b/lib/qcd/utils/SUnAdjoint.h
index 18c21e0b..21b31605 100644
--- a/lib/qcd/utils/SUnAdjoint.h
+++ b/lib/qcd/utils/SUnAdjoint.h
@@ -48,6 +48,15 @@ class SU_Adjoint : public SU<ncolour> {
   typedef Lattice<vAMatrixF> LatticeAdjMatrixF;
   typedef Lattice<vAMatrixD> LatticeAdjMatrixD;
 
+  typedef Lattice<iVector<iScalar<iMatrix<vComplex, Dimension> >, Nd> >
+      LatticeAdjField;
+  typedef Lattice<iVector<iScalar<iMatrix<vComplexF, Dimension> >, Nd> >
+      LatticeAdjFieldF;
+  typedef Lattice<iVector<iScalar<iMatrix<vComplexD, Dimension> >, Nd> >
+      LatticeAdjFieldD;
+
+
+
 
   template <class cplx>
   static void generator(int Index, iSUnAdjointMatrix<cplx> &iAdjTa) {
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
index b0a5cd2c..f54fe03d 100644
--- a/tests/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -30,6 +30,7 @@ directory
 *************************************************************************************/
 /*  END LEGAL */
 #include "Grid.h"
+//#include "qcd/hmc/HmcRunner.h"
 
 using namespace std;
 using namespace Grid;
@@ -38,7 +39,11 @@ using namespace Grid::QCD;
 namespace Grid {
 namespace QCD {
 
-class HmcRunner : public NerscHmcRunner {
+// Here change the allowed (higher) representations
+typedef Representations< FundamentalRepresentation, FundamentalRepresentation > TheRepresentations;
+
+
+class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
  public:
   void BuildTheAction(int argc, char **argv)
 
@@ -69,13 +74,13 @@ class HmcRunner : public NerscHmcRunner {
     TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
 
     // Set smearing (true/false), default: false
-    Nf2.is_smeared = true;
+    Nf2.is_smeared = false;
 
     // Collect actions
-    ActionLevel<LatticeGaugeField> Level1(1);
+    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level1(1);
     Level1.push_back(&Nf2);
 
-    ActionLevel<LatticeGaugeField> Level2(4);
+    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level2(4);
     Level2.push_back(&Waction);
 
     TheAction.push_back(Level1);

From 980ff18956c84db7328c051cb6e687500c4eacfe Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 15 Jul 2016 17:19:44 +0100
Subject: [PATCH 069/295] Solving the instantiation no compile issue

---
 lib/qcd/action/fermion/CayleyFermion5D.h       | 10 ++++++++++
 lib/qcd/action/fermion/CayleyFermion5Dcache.cc |  9 ++++++---
 lib/qcd/action/fermion/CayleyFermion5Ddense.cc |  8 ++++++--
 lib/qcd/action/fermion/CayleyFermion5Dssp.cc   |  9 +++++++--
 lib/qcd/action/fermion/CayleyFermion5Dvec.cc   |  6 +++++-
 5 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/lib/qcd/action/fermion/CayleyFermion5D.h b/lib/qcd/action/fermion/CayleyFermion5D.h
index c7ce6dcd..a5af4e73 100644
--- a/lib/qcd/action/fermion/CayleyFermion5D.h
+++ b/lib/qcd/action/fermion/CayleyFermion5D.h
@@ -126,5 +126,15 @@ namespace Grid {
 
   }
 }
+#define INSTANTIATE_DPERP(A)\
+template void CayleyFermion5D< A >::M5D(const FermionField &psi,const FermionField &phi,FermionField &chi,\
+					std::vector<RealD> &lower,std::vector<RealD> &diag,std::vector<RealD> &upper); \
+template void CayleyFermion5D< A >::M5Ddag(const FermionField &psi,const FermionField &phi,FermionField &chi,\
+					   std::vector<RealD> &lower,std::vector<RealD> &diag,std::vector<RealD> &upper); \
+template void CayleyFermion5D< A >::MooeeInv    (const FermionField &psi, FermionField &chi); \
+template void CayleyFermion5D< A >::MooeeInvDag (const FermionField &psi, FermionField &chi);
+
+#define CAYLEY_DPERP_CACHE
+#undef  CAYLEY_DPERP_LINALG
 
 #endif
diff --git a/lib/qcd/action/fermion/CayleyFermion5Dcache.cc b/lib/qcd/action/fermion/CayleyFermion5Dcache.cc
index 62afe93e..4791e7a2 100644
--- a/lib/qcd/action/fermion/CayleyFermion5Dcache.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5Dcache.cc
@@ -199,8 +199,11 @@ PARALLEL_FOR_LOOP
   }
 }
 
-FermOp4dVecTemplateInstantiate(CayleyFermion5D);
-GparityFermOpTemplateInstantiate(CayleyFermion5D);
-
+#ifdef CAYLEY_DPERP_CACHE
+  INSTANTIATE_DPERP(WilsonImplF);
+  INSTANTIATE_DPERP(WilsonImplD);
+  INSTANTIATE_DPERP(GparityWilsonImplF);
+  INSTANTIATE_DPERP(GparityWilsonImplD);
+#endif
 
 }}
diff --git a/lib/qcd/action/fermion/CayleyFermion5Ddense.cc b/lib/qcd/action/fermion/CayleyFermion5Ddense.cc
index 2b12d628..5fa75b50 100644
--- a/lib/qcd/action/fermion/CayleyFermion5Ddense.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5Ddense.cc
@@ -39,6 +39,7 @@ namespace QCD {
    * Dense matrix versions of routines
    */
 
+  /*
 template<class Impl>
 void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
 {
@@ -50,7 +51,7 @@ void CayleyFermion5D<Impl>::MooeeInv(const FermionField &psi, FermionField &chi)
 {
   this->MooeeInternal(psi,chi,DaggerNo,InverseYes);
 }
-
+  */
 template<class Impl>
 void CayleyFermion5D<Impl>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv)
 {
@@ -124,6 +125,9 @@ void CayleyFermion5D<Impl>::MooeeInternal(const FermionField &psi, FermionField
   }
 }
 
-  FermOp4dVecTemplateInstantiate(CayleyFermion5D);
+template void CayleyFermion5D<GparityWilsonImplF>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
+template void CayleyFermion5D<GparityWilsonImplD>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
+template void CayleyFermion5D<WilsonImplF>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
+template void CayleyFermion5D<WilsonImplD>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
 
 }}
diff --git a/lib/qcd/action/fermion/CayleyFermion5Dssp.cc b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
index 0577202e..a2c96d87 100644
--- a/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
@@ -137,8 +137,13 @@ void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &
   }
 }
 
-  //  FermOp4dVecTemplateInstantiate(CayleyFermion5D);
-  //  GparityFermOpTemplateInstantiate(CayleyFermion5D);
+
+#ifdef CAYLEY_DPERP_LINALG
+  INSTANTIATE(WilsonImplF);
+  INSTANTIATE(WilsonImplD);
+  INSTANTIATE(GparityWilsonImplF);
+  INSTANTIATE(GparityWilsonImplD);
+#endif
 
 }
 }
diff --git a/lib/qcd/action/fermion/CayleyFermion5Dvec.cc b/lib/qcd/action/fermion/CayleyFermion5Dvec.cc
index dfa36acb..26c0999e 100644
--- a/lib/qcd/action/fermion/CayleyFermion5Dvec.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5Dvec.cc
@@ -296,6 +296,10 @@ PARALLEL_FOR_LOOP
   }
 }
 
-  FermOp5dVecTemplateInstantiate(CayleyFermion5D);
+INSTANTIATE_DPERP(DomainWallVec5dImplD);
+INSTANTIATE_DPERP(DomainWallVec5dImplF);
+
+template void CayleyFermion5D<DomainWallVec5dImplF>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
+template void CayleyFermion5D<DomainWallVec5dImplD>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
 
 }}

From 4908b77d46c8c4c065250184443d20c67c18a0e2 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 15 Jul 2016 20:59:07 +0100
Subject: [PATCH 070/295] Fixed conflicts. PLEASE avoid making wholesale
 cosmetic only changes, this created a HUGE amount of difficult to resolve and
 understand conflicts .

Wholesale formatting, reordering functions etc... in a central file like Tensor_class
or Grid_vector_types while others are also editing without making substantial functionality
changes creates pain.
---
 configure                      | 266 ++++++++++++++++++++++++++++++---
 lib/Algorithms.h               |   4 +-
 lib/cartesian/Cartesian_base.h |   6 -
 lib/qcd/QCD.h                  |   3 +-
 lib/qcd/smearing/Smearing.h    |   8 +-
 lib/simd/Grid_vector_types.h   | 100 +++----------
 lib/tensors/Tensor_class.h     |  39 -----
 tests/Test_dwf_mixedcg_prec.cc |   2 +-
 8 files changed, 273 insertions(+), 155 deletions(-)

diff --git a/configure b/configure
index 491eb20c..d003936e 100755
--- a/configure
+++ b/configure
@@ -626,6 +626,13 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
+enable_latex_docs
+enable_html_docs
+enable_dot
+DOXYGEN_DOC_FALSE
+DOXYGEN_DOC_TRUE
+DOT
+DOXYGEN
 USE_LAPACK_LIB_FALSE
 USE_LAPACK_LIB_TRUE
 USE_LAPACK_FALSE
@@ -727,7 +734,6 @@ infodir
 docdir
 oldincludedir
 includedir
-runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -760,6 +766,10 @@ enable_rng
 enable_timers
 enable_chroma
 enable_lapack
+enable_doxygen
+enable_dot
+enable_html_docs
+enable_latex_docs
 '
       ac_precious_vars='build_alias
 host_alias
@@ -811,7 +821,6 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1064,15 +1073,6 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1210,7 +1210,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir runstatedir
+		libdir localedir mandir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1363,7 +1363,6 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -1421,6 +1420,11 @@ Optional Features:
   --enable-timers=yes|no  Enable system dependent high res timers
   --enable-chroma         Expect chroma compiled under c++11
   --enable-lapack         Enable lapack yes/no
+  --enable-doxygen        enable documentation generation with doxygen (auto)
+  --enable-dot            use 'dot' to generate graphs in doxygen (auto)
+  --enable-html-docs      enable HTML generation with doxygen (yes)
+  --enable-latex-docs     enable LaTeX documentation generation with doxygen
+                          (no)
 
 Some influential environment variables:
   CXX         C++ compiler command
@@ -3171,6 +3175,15 @@ END
 fi
 
 
+ac_sources="lib"
+ac_dests="include/Grid "
+while test -n "$ac_sources"; do
+  set $ac_dests; ac_dest=$1; shift; ac_dests=$*
+  set $ac_sources; ac_source=$1; shift; ac_sources=$*
+  ac_config_links_1="$ac_config_links_1 $ac_dest:$ac_source"
+done
+ac_config_links="$ac_config_links $ac_config_links_1"
+
 
 ac_config_headers="$ac_config_headers lib/Config.h"
 
@@ -6672,7 +6685,6 @@ else
   ac_CHROMA=no
 fi
 
-
 case ${ac_CHROMA} in
      yes)
        echo Enabling tests regressing to Chroma
@@ -6737,15 +6749,160 @@ fi
 ###################################################################
 # Checks for doxygen support
 # if present enables the "make doxyfile" command
-#echo
-#echo Checking doxygen support
-#echo :::::::::::::::::::::::::::::::::::::::::::
-#AC_PROG_DOXYGEN
+echo
+echo Checking doxygen support
+echo :::::::::::::::::::::::::::::::::::::::::::
 
-#if test -n "$DOXYGEN"
-#then
-#AC_CONFIG_FILES([docs/doxy.cfg])
-#fi
+# Check whether --enable-doxygen was given.
+if test "${enable_doxygen+set}" = set; then :
+  enableval=$enable_doxygen;
+fi
+
+
+# Check whether --enable-dot was given.
+if test "${enable_dot+set}" = set; then :
+  enableval=$enable_dot;
+fi
+
+# Check whether --enable-html-docs was given.
+if test "${enable_html_docs+set}" = set; then :
+  enableval=$enable_html_docs;
+else
+   enable_html_docs=yes
+fi
+
+# Check whether --enable-latex-docs was given.
+if test "${enable_latex_docs+set}" = set; then :
+  enableval=$enable_latex_docs;
+else
+  enable_latex_docs=no
+fi
+
+
+if test "x$enable_doxygen" = xno; then
+ enable_doc=no
+else
+ # Extract the first word of "doxygen", so it can be a program name with args.
+set dummy doxygen; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DOXYGEN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DOXYGEN"; then
+  ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DOXYGEN="doxygen"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DOXYGEN=$ac_cv_prog_DOXYGEN
+if test -n "$DOXYGEN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
+$as_echo "$DOXYGEN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test x$DOXYGEN = x; then
+  if test "x$enable_doxygen" = xyes; then
+   as_fn_error $? "could not find doxygen" "$LINENO" 5
+  fi
+  enable_doc=no
+ else
+  doxy_ver=`doxygen --version`
+  doxy_major=`expr "$doxy_ver" : '\([0-9]\)\..*'`
+  doxy_minor=`expr "$doxy_ver" : '[0-9]\.\([0-9]\).*'`
+  if test $doxy_major -eq "1" -a $doxy_minor -ge "3" ; then
+   enable_doc=yes
+   # Extract the first word of "dot", so it can be a program name with args.
+set dummy dot; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DOT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DOT"; then
+  ac_cv_prog_DOT="$DOT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DOT="dot"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DOT=$ac_cv_prog_DOT
+if test -n "$DOT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
+$as_echo "$DOT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: doxygen version $doxy_ver too old, doxygen will not be used." >&5
+$as_echo "$as_me: WARNING: doxygen version $doxy_ver too old, doxygen will not be used." >&2;}
+   enable_doc=no
+  fi
+ fi
+fi
+
+ if test x$enable_doc = xyes; then
+  DOXYGEN_DOC_TRUE=
+  DOXYGEN_DOC_FALSE='#'
+else
+  DOXYGEN_DOC_TRUE='#'
+  DOXYGEN_DOC_FALSE=
+fi
+
+
+if test x$DOT = x; then
+ if test "x$enable_dot" = xyes; then
+  as_fn_error $? "could not find dot" "$LINENO" 5
+ fi
+ enable_dot=no
+else
+ enable_dot=yes
+fi
+
+
+
+
+
+
+if test -n "$DOXYGEN"
+then
+ac_config_files="$ac_config_files docs/doxy.cfg"
+
+fi
 
 echo
 echo Creating configuration files
@@ -6756,10 +6913,24 @@ ac_config_files="$ac_config_files lib/Makefile"
 
 ac_config_files="$ac_config_files tests/Makefile"
 
+ac_config_files="$ac_config_files tests/IO/Makefile"
+
+ac_config_files="$ac_config_files tests/core/Makefile"
+
+ac_config_files="$ac_config_files tests/debug/Makefile"
+
+ac_config_files="$ac_config_files tests/forces/Makefile"
+
+ac_config_files="$ac_config_files tests/hmc/Makefile"
+
+ac_config_files="$ac_config_files tests/solver/Makefile"
+
 ac_config_files="$ac_config_files tests/qdpxx/Makefile"
 
 ac_config_files="$ac_config_files benchmarks/Makefile"
 
+ac_config_files="$ac_config_files prerequisites/Makefile"
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -6925,6 +7096,10 @@ if test -z "${USE_LAPACK_LIB_TRUE}" && test -z "${USE_LAPACK_LIB_FALSE}"; then
   as_fn_error $? "conditional \"USE_LAPACK_LIB\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${DOXYGEN_DOC_TRUE}" && test -z "${DOXYGEN_DOC_FALSE}"; then
+  as_fn_error $? "conditional \"DOXYGEN_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 
 : "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
@@ -7349,6 +7524,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 # Files that config.status was made for.
 config_files="$ac_config_files"
 config_headers="$ac_config_headers"
+config_links="$ac_config_links"
 config_commands="$ac_config_commands"
 
 _ACEOF
@@ -7379,6 +7555,9 @@ $config_files
 Configuration headers:
 $config_headers
 
+Configuration links:
+$config_links
+
 Configuration commands:
 $config_commands
 
@@ -7517,13 +7696,22 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
+    "$ac_config_links_1") CONFIG_LINKS="$CONFIG_LINKS $ac_config_links_1" ;;
     "lib/Config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/Config.h" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "docs/doxy.cfg") CONFIG_FILES="$CONFIG_FILES docs/doxy.cfg" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
     "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+    "tests/IO/Makefile") CONFIG_FILES="$CONFIG_FILES tests/IO/Makefile" ;;
+    "tests/core/Makefile") CONFIG_FILES="$CONFIG_FILES tests/core/Makefile" ;;
+    "tests/debug/Makefile") CONFIG_FILES="$CONFIG_FILES tests/debug/Makefile" ;;
+    "tests/forces/Makefile") CONFIG_FILES="$CONFIG_FILES tests/forces/Makefile" ;;
+    "tests/hmc/Makefile") CONFIG_FILES="$CONFIG_FILES tests/hmc/Makefile" ;;
+    "tests/solver/Makefile") CONFIG_FILES="$CONFIG_FILES tests/solver/Makefile" ;;
     "tests/qdpxx/Makefile") CONFIG_FILES="$CONFIG_FILES tests/qdpxx/Makefile" ;;
     "benchmarks/Makefile") CONFIG_FILES="$CONFIG_FILES benchmarks/Makefile" ;;
+    "prerequisites/Makefile") CONFIG_FILES="$CONFIG_FILES prerequisites/Makefile" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
@@ -7537,6 +7725,7 @@ done
 if $ac_need_defaults; then
   test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
   test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
   test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
 fi
 
@@ -7834,7 +8023,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 fi # test -n "$CONFIG_HEADERS"
 
 
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
 shift
 for ac_tag
 do
@@ -8111,7 +8300,38 @@ $as_echo X"$_am_arg" |
 	  }
 	  s/.*/./; q'`/stamp-h$_am_stamp_count
  ;;
+  :L)
+  #
+  # CONFIG_LINK
+  #
 
+  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
+    :
+  else
+    # Prefer the file from the source tree if names are identical.
+    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
+      ac_source=$srcdir/$ac_source
+    fi
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
+$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
+
+    if test ! -r "$ac_source"; then
+      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
+    fi
+    rm -f "$ac_file"
+
+    # Try a relative symlink, then a hard link, then a copy.
+    case $ac_source in
+    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
+	*) ac_rel_source=$ac_top_build_prefix$ac_source ;;
+    esac
+    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
+      ln "$ac_source" "$ac_file" 2>/dev/null ||
+      cp -p "$ac_source" "$ac_file" ||
+      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
+  fi
+ ;;
   :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
 $as_echo "$as_me: executing $ac_file commands" >&6;}
  ;;
diff --git a/lib/Algorithms.h b/lib/Algorithms.h
index e5d1606e..67eb11c3 100644
--- a/lib/Algorithms.h
+++ b/lib/Algorithms.h
@@ -43,8 +43,8 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #include <Grid/algorithms/iterative/NormalEquations.h>
 #include <Grid/algorithms/iterative/SchurRedBlack.h>
 
-#include <algorithms/iterative/ConjugateGradientMultiShift.h>
-#include <algorithms/iterative/ConjugateGradientMixedPrec.h>
+#include <Grid/algorithms/iterative/ConjugateGradientMultiShift.h>
+#include <Grid/algorithms/iterative/ConjugateGradientMixedPrec.h>
 
 // Lanczos support
 #include <Grid/algorithms/iterative/MatrixUtils.h>
diff --git a/lib/cartesian/Cartesian_base.h b/lib/cartesian/Cartesian_base.h
index 5d4b67ec..b69c3435 100644
--- a/lib/cartesian/Cartesian_base.h
+++ b/lib/cartesian/Cartesian_base.h
@@ -128,12 +128,6 @@ public:
     //////////////////////////////////////////////////////////
     // SIMD lane addressing
     //////////////////////////////////////////////////////////
-    virtual int iIndex(std::vector<int> &lcoor)
-    {
-        int idx=0;
-        for(int d=0;d<_ndimension;d++) idx+=_istride[d]*(lcoor[d]/_rdimensions[d]);
-        return idx;
-    }
     inline void iCoorFromIindex(std::vector<int> &coor,int lane)
     {
       Lexicographic::CoorFromIndex(coor,lane,_simd_layout);
diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index 6c900965..ec11c837 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -500,7 +500,6 @@ namespace QCD {
 #include <Grid/qcd/hmc/integrators/Integrator.h>
 #include <Grid/qcd/hmc/integrators/Integrator_algorithm.h>
 #include <Grid/qcd/hmc/HMC.h>
-
-#include <qcd/smearing/Smearing.h>
+#include <Grid/qcd/smearing/Smearing.h>
 
 #endif
diff --git a/lib/qcd/smearing/Smearing.h b/lib/qcd/smearing/Smearing.h
index 89842c80..47b74301 100644
--- a/lib/qcd/smearing/Smearing.h
+++ b/lib/qcd/smearing/Smearing.h
@@ -1,9 +1,9 @@
 #ifndef GRID_QCD_SMEARING_H
 #define GRID_QCD_SMEARING_H
 
-#include <qcd/smearing/BaseSmearing.h>
-#include <qcd/smearing/APEsmearing.h>
-#include <qcd/smearing/StoutSmearing.h>
-#include <qcd/smearing/GaugeConfiguration.h>
+#include <Grid/qcd/smearing/BaseSmearing.h>
+#include <Grid/qcd/smearing/APEsmearing.h>
+#include <Grid/qcd/smearing/StoutSmearing.h>
+#include <Grid/qcd/smearing/GaugeConfiguration.h>
 
 #endif
diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index e4dab85a..fc719217 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -142,88 +142,12 @@ class Grid_simd {
     conv_t_union(){};
   } conv_t;
 
-    ////////////////////////////////////////////////////////////////////
-    // General permute; assumes vector length is same across 
-    // all subtypes; may not be a good assumption, but could
-    // add the vector width as a template param for BG/Q for example
-    ////////////////////////////////////////////////////////////////////
-    friend inline void permute0(Grid_simd &y,Grid_simd b){
-      y.v = Optimization::Permute::Permute0(b.v);
-    }
-    friend inline void permute1(Grid_simd &y,Grid_simd b){
-      y.v = Optimization::Permute::Permute1(b.v);
-    }
-    friend inline void permute2(Grid_simd &y,Grid_simd b){
-      y.v = Optimization::Permute::Permute2(b.v);
-    }
-    friend inline void permute3(Grid_simd &y,Grid_simd b){
-      y.v = Optimization::Permute::Permute3(b.v);
-    }
-    friend inline void permute(Grid_simd &y,Grid_simd b,int perm)
-    {
-      if ( perm & RotateBit ) {
-	int dist = perm&0xF;
-        y=rotate(b,dist);
-	return;
-      } else { 
-	switch(perm){
-	case 3: permute3(y,b); break;
-	case 2: permute2(y,b); break;
-	case 1: permute1(y,b); break;
-	case 0: permute0(y,b); break;
-	default: assert(0);
-	}
-      }
-    }
-    
-  };// end of Grid_simd class definition 
+  Vector_type v;
 
   static inline int Nsimd(void) {
     return sizeof(Vector_type) / sizeof(Scalar_type);
   }
-  template <class S, class V, IfNotComplex<S> =0> 
-  inline void rotate( Grid_simd<S,V> &ret,Grid_simd<S,V> b,int nrot)
-  {
-    nrot = nrot % Grid_simd<S,V>::Nsimd();
-    //    std::cout << "Rotate Real by "<<nrot<<std::endl;
-    ret.v = Optimization::Rotate::rotate(b.v,nrot);
-  }
-  template <class S, class V, IfComplex<S> =0> 
-    inline void rotate(Grid_simd<S,V> &ret,Grid_simd<S,V> b,int nrot)
-  {
-    nrot = nrot % Grid_simd<S,V>::Nsimd();
-    //    std::cout << "Rotate Complex by "<<nrot<<std::endl;
-    ret.v = Optimization::Rotate::rotate(b.v,2*nrot);
-  }
 
-  ///////////////////////
-  // Splat
-  ///////////////////////
-  
-  // this is only for the complex version
-  template <class S, class V, IfComplex<S> =0, class ABtype> 
-  inline void vsplat(Grid_simd<S,V> &ret,ABtype a, ABtype b){
-    ret.v = binary<V>(a, b, VsplatSIMD());
-  }    
-
-  template <class S, class V> 
-  inline void vbroadcast(Grid_simd<S,V> &ret,const Grid_simd<S,V> &src,int lane){
-    S* typepun =(S*) &src;
-    vsplat(ret,typepun[lane]);
-  }    
-
-  // overload if complex
-  template <class S,class V> inline void vsplat(Grid_simd<S,V> &ret, EnableIf<is_complex < S >, S> c) {
-    vsplat(ret,real(c),imag(c));
-  }
-
-  //if real fill with a, if complex fill with a in the real part (first function above)
-  template <class S,class V>
-  inline void vsplat(Grid_simd<S,V> &ret,NotEnableIf<is_complex< S>,S> a){
-    ret.v = unary<V>(a, VsplatSIMD());
-  }    
-  //////////////////////////
-=======
   Grid_simd &operator=(const Grid_simd &&rhs) {
     v = rhs.v;
     return *this;
@@ -251,7 +175,6 @@ class Grid_simd {
   };
 
   Grid_simd(const Real a) { vsplat(*this, Scalar_type(a)); };
->>>>>>> 8b9301a74cde2f28a321baf4bca854d950585b56
 
   ///////////////////////////////////////////////
   // mac, mult, sub, add, adj
@@ -484,6 +407,27 @@ inline Grid_simd<S, V> rotate(Grid_simd<S, V> b, int nrot) {
   ret.v = Optimization::Rotate::rotate(b.v, 2 * nrot);
   return ret;
 }
+template <class S, class V, IfNotComplex<S> =0> 
+inline void rotate( Grid_simd<S,V> &ret,Grid_simd<S,V> b,int nrot)
+{
+  nrot = nrot % Grid_simd<S,V>::Nsimd();
+  //    std::cout << "Rotate Real by "<<nrot<<std::endl;
+  ret.v = Optimization::Rotate::rotate(b.v,nrot);
+}
+template <class S, class V, IfComplex<S> =0> 
+inline void rotate(Grid_simd<S,V> &ret,Grid_simd<S,V> b,int nrot)
+{
+  nrot = nrot % Grid_simd<S,V>::Nsimd();
+  //    std::cout << "Rotate Complex by "<<nrot<<std::endl;
+  ret.v = Optimization::Rotate::rotate(b.v,2*nrot);
+}
+
+
+template <class S, class V> 
+inline void vbroadcast(Grid_simd<S,V> &ret,const Grid_simd<S,V> &src,int lane){
+  S* typepun =(S*) &src;
+  vsplat(ret,typepun[lane]);
+}    
 
 ///////////////////////
 // Splat
diff --git a/lib/tensors/Tensor_class.h b/lib/tensors/Tensor_class.h
index 680d0f0c..473dd6b1 100644
--- a/lib/tensors/Tensor_class.h
+++ b/lib/tensors/Tensor_class.h
@@ -233,7 +233,6 @@ class iVector {
       vstream(out._internal[i], in._internal[i]);
     }
   }
-<<<<<<< HEAD
   friend strong_inline void vbroadcast(iVector<vtype,N> &out,const iVector<vtype,N> &in,int lane){
     for(int i=0;i<N;i++){
       vbroadcast(out._internal[i],in._internal[i],lane);
@@ -242,13 +241,6 @@ class iVector {
   friend strong_inline void permute(iVector<vtype,N> &out,const iVector<vtype,N> &in,int permutetype){
     for(int i=0;i<N;i++){
       permute(out._internal[i],in._internal[i],permutetype);
-=======
-  friend strong_inline void permute(iVector<vtype, N> &out,
-                                    const iVector<vtype, N> &in,
-                                    int permutetype) {
-    for (int i = 0; i < N; i++) {
-      permute(out._internal[i], in._internal[i], permutetype);
->>>>>>> 8b9301a74cde2f28a321baf4bca854d950585b56
     }
   }
   friend strong_inline void rotate(iVector<vtype,N> &out,const iVector<vtype,N> &in,int rot){
@@ -346,7 +338,6 @@ class iMatrix {
     return *this;
   }
 
-<<<<<<< HEAD
   friend strong_inline void zeroit(iMatrix<vtype,N> &that){
     for(int i=0;i<N;i++){
       for(int j=0;j<N;j++){
@@ -376,26 +367,6 @@ class iMatrix {
       for(int j=0;j<N;j++){
 	permute(out._internal[i][j],in._internal[i][j],permutetype);
     }}
-=======
-  friend strong_inline void zeroit(iMatrix<vtype, N> &that) {
-    for (int i = 0; i < N; i++) {
-      for (int j = 0; j < N; j++) {
-        zeroit(that._internal[i][j]);
-      }
-    }
-  }
-  friend strong_inline void prefetch(iMatrix<vtype, N> &that) {
-    for (int i = 0; i < N; i++)
-      for (int j = 0; j < N; j++) prefetch(that._internal[i][j]);
-  }
-  friend strong_inline void vstream(iMatrix<vtype, N> &out,
-                                    const iMatrix<vtype, N> &in) {
-    for (int i = 0; i < N; i++) {
-      for (int j = 0; j < N; j++) {
-        vstream(out._internal[i][j], in._internal[i][j]);
-      }
-    }
->>>>>>> 8b9301a74cde2f28a321baf4bca854d950585b56
   }
   friend strong_inline void rotate(iMatrix<vtype,N> &out,const iMatrix<vtype,N> &in,int rot){
     for(int i=0;i<N;i++){
@@ -404,16 +375,6 @@ class iMatrix {
     }}
   }
 
-  friend strong_inline void permute(iMatrix<vtype, N> &out,
-                                    const iMatrix<vtype, N> &in,
-                                    int permutetype) {
-    for (int i = 0; i < N; i++) {
-      for (int j = 0; j < N; j++) {
-        permute(out._internal[i][j], in._internal[i][j], permutetype);
-      }
-    }
-  }
-
   // Unary negation
   friend strong_inline iMatrix<vtype, N> operator-(const iMatrix<vtype, N> &r) {
     iMatrix<vtype, N> ret;
diff --git a/tests/Test_dwf_mixedcg_prec.cc b/tests/Test_dwf_mixedcg_prec.cc
index 637b8141..56394a5e 100644
--- a/tests/Test_dwf_mixedcg_prec.cc
+++ b/tests/Test_dwf_mixedcg_prec.cc
@@ -25,7 +25,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-#include <Grid.h>
+#include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;

From fad5c675eb5a8921bde6261b1c6a56d039318b3f Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Sat, 16 Jul 2016 01:51:56 +0100
Subject: [PATCH 071/295] sign error on the 4d gparity force

---
 lib/qcd/action/fermion/FermionOperatorImpl.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 8729053a..4126d185 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -452,10 +452,10 @@ PARALLEL_FOR_LOOP
 	// DhopDir provides U or Uconj depending on coor/flavour.
 	GaugeLinkField link(mat._grid);
 	// use lorentz for flavour as hack.
-	auto tmp = TraceIndex<SpinIndex>(outerProduct(Btilde,A));  
 PARALLEL_FOR_LOOP
-        for(auto ss=tmp.begin();ss<tmp.end();ss++){
-	  link[ss]() = tmp[ss](0,0) - conjugate(tmp[ss](1,1)) ; // IS THIS SIGN RIGHT?
+        for(auto ss=link.begin();ss<link.end();ss++){
+	  auto ttmp = traceIndex<SpinIndex>(outerProduct(Btilde[ss],A[ss]));  
+	  link[ss]() = ttmp(0,0) + conjugate(ttmp(1,1)) ; 
 	}
 	PokeIndex<LorentzIndex>(mat,link,mu);
 	return;

From f9e90eeb1ffc792d70c141decce1410721a8ebfe Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Sat, 16 Jul 2016 01:52:44 +0100
Subject: [PATCH 072/295] Sign error on the force for 4d fields fixed

---
 lib/Make.inc                        |   2 +-
 tests/forces/Make.inc               |   6 +-
 tests/forces/Test_gpwilson_force.cc | 169 ++++++++++++++++++++++++++++
 3 files changed, 175 insertions(+), 2 deletions(-)
 create mode 100644 tests/forces/Test_gpwilson_force.cc

diff --git a/lib/Make.inc b/lib/Make.inc
index 94528a50..caa2b8a1 100644
--- a/lib/Make.inc
+++ b/lib/Make.inc
@@ -1,4 +1,4 @@
 
-HFILES=./algorithms/approx/bigfloat.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/Francis.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/SparseMatrix.h ./Algorithms.h ./AlignedAllocator.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./Cartesian.h ./communicator/Communicator_base.h ./Communicator.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./Cshift.h ./Eigen/src/Cholesky/LDLT.h ./Eigen/src/Cholesky/LLT.h ./Eigen/src/Cholesky/LLT_MKL.h ./Eigen/src/CholmodSupport/CholmodSupport.h ./Eigen/src/Core/arch/AltiVec/Complex.h ./Eigen/src/Core/arch/AltiVec/PacketMath.h ./Eigen/src/Core/arch/Default/Settings.h ./Eigen/src/Core/arch/NEON/Complex.h ./Eigen/src/Core/arch/NEON/PacketMath.h ./Eigen/src/Core/arch/SSE/Complex.h ./Eigen/src/Core/arch/SSE/MathFunctions.h ./Eigen/src/Core/arch/SSE/PacketMath.h ./Eigen/src/Core/Array.h ./Eigen/src/Core/ArrayBase.h ./Eigen/src/Core/ArrayWrapper.h ./Eigen/src/Core/Assign.h ./Eigen/src/Core/Assign_MKL.h ./Eigen/src/Core/BandMatrix.h ./Eigen/src/Core/Block.h ./Eigen/src/Core/BooleanRedux.h ./Eigen/src/Core/CommaInitializer.h ./Eigen/src/Core/CoreIterators.h ./Eigen/src/Core/CwiseBinaryOp.h ./Eigen/src/Core/CwiseNullaryOp.h ./Eigen/src/Core/CwiseUnaryOp.h ./Eigen/src/Core/CwiseUnaryView.h ./Eigen/src/Core/DenseBase.h ./Eigen/src/Core/DenseCoeffsBase.h ./Eigen/src/Core/DenseStorage.h ./Eigen/src/Core/Diagonal.h ./Eigen/src/Core/DiagonalMatrix.h ./Eigen/src/Core/DiagonalProduct.h ./Eigen/src/Core/Dot.h ./Eigen/src/Core/EigenBase.h ./Eigen/src/Core/Flagged.h ./Eigen/src/Core/ForceAlignedAccess.h ./Eigen/src/Core/Functors.h ./Eigen/src/Core/Fuzzy.h ./Eigen/src/Core/GeneralProduct.h ./Eigen/src/Core/GenericPacketMath.h ./Eigen/src/Core/GlobalFunctions.h ./Eigen/src/Core/IO.h ./Eigen/src/Core/Map.h ./Eigen/src/Core/MapBase.h ./Eigen/src/Core/MathFunctions.h ./Eigen/src/Core/Matrix.h ./Eigen/src/Core/MatrixBase.h ./Eigen/src/Core/NestByValue.h ./Eigen/src/Core/NoAlias.h ./Eigen/src/Core/NumTraits.h ./Eigen/src/Core/PermutationMatrix.h ./Eigen/src/Core/PlainObjectBase.h ./Eigen/src/Core/ProductBase.h ./Eigen/src/Core/products/CoeffBasedProduct.h ./Eigen/src/Core/products/GeneralBlockPanelKernel.h ./Eigen/src/Core/products/GeneralMatrixMatrix.h ./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h ./Eigen/src/Core/products/GeneralMatrixVector.h ./Eigen/src/Core/products/GeneralMatrixVector_MKL.h ./Eigen/src/Core/products/Parallelizer.h ./Eigen/src/Core/products/SelfadjointMatrixMatrix.h ./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h ./Eigen/src/Core/products/SelfadjointMatrixVector.h ./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h ./Eigen/src/Core/products/SelfadjointProduct.h ./Eigen/src/Core/products/SelfadjointRank2Update.h ./Eigen/src/Core/products/TriangularMatrixMatrix.h ./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h ./Eigen/src/Core/products/TriangularMatrixVector.h ./Eigen/src/Core/products/TriangularMatrixVector_MKL.h ./Eigen/src/Core/products/TriangularSolverMatrix.h ./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h ./Eigen/src/Core/products/TriangularSolverVector.h ./Eigen/src/Core/Random.h ./Eigen/src/Core/Redux.h ./Eigen/src/Core/Ref.h ./Eigen/src/Core/Replicate.h ./Eigen/src/Core/ReturnByValue.h ./Eigen/src/Core/Reverse.h ./Eigen/src/Core/Select.h ./Eigen/src/Core/SelfAdjointView.h ./Eigen/src/Core/SelfCwiseBinaryOp.h ./Eigen/src/Core/SolveTriangular.h ./Eigen/src/Core/StableNorm.h ./Eigen/src/Core/Stride.h ./Eigen/src/Core/Swap.h ./Eigen/src/Core/Transpose.h ./Eigen/src/Core/Transpositions.h ./Eigen/src/Core/TriangularMatrix.h ./Eigen/src/Core/util/BlasUtil.h ./Eigen/src/Core/util/Constants.h ./Eigen/src/Core/util/DisableStupidWarnings.h ./Eigen/src/Core/util/ForwardDeclarations.h ./Eigen/src/Core/util/Macros.h ./Eigen/src/Core/util/Memory.h ./Eigen/src/Core/util/Meta.h ./Eigen/src/Core/util/MKL_support.h ./Eigen/src/Core/util/NonMPL2.h ./Eigen/src/Core/util/ReenableStupidWarnings.h ./Eigen/src/Core/util/StaticAssert.h ./Eigen/src/Core/util/XprHelper.h ./Eigen/src/Core/VectorBlock.h ./Eigen/src/Core/VectorwiseOp.h ./Eigen/src/Core/Visitor.h ./Eigen/src/Eigen2Support/Block.h ./Eigen/src/Eigen2Support/Cwise.h ./Eigen/src/Eigen2Support/CwiseOperators.h ./Eigen/src/Eigen2Support/Geometry/AlignedBox.h ./Eigen/src/Eigen2Support/Geometry/All.h ./Eigen/src/Eigen2Support/Geometry/AngleAxis.h ./Eigen/src/Eigen2Support/Geometry/Hyperplane.h ./Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h ./Eigen/src/Eigen2Support/Geometry/Quaternion.h ./Eigen/src/Eigen2Support/Geometry/Rotation2D.h ./Eigen/src/Eigen2Support/Geometry/RotationBase.h ./Eigen/src/Eigen2Support/Geometry/Scaling.h ./Eigen/src/Eigen2Support/Geometry/Transform.h ./Eigen/src/Eigen2Support/Geometry/Translation.h ./Eigen/src/Eigen2Support/Lazy.h ./Eigen/src/Eigen2Support/LeastSquares.h ./Eigen/src/Eigen2Support/LU.h ./Eigen/src/Eigen2Support/Macros.h ./Eigen/src/Eigen2Support/MathFunctions.h ./Eigen/src/Eigen2Support/Memory.h ./Eigen/src/Eigen2Support/Meta.h ./Eigen/src/Eigen2Support/Minor.h ./Eigen/src/Eigen2Support/QR.h ./Eigen/src/Eigen2Support/SVD.h ./Eigen/src/Eigen2Support/TriangularSolver.h ./Eigen/src/Eigen2Support/VectorBlock.h ./Eigen/src/Eigenvalues/ComplexEigenSolver.h ./Eigen/src/Eigenvalues/ComplexSchur.h ./Eigen/src/Eigenvalues/ComplexSchur_MKL.h ./Eigen/src/Eigenvalues/EigenSolver.h ./Eigen/src/Eigenvalues/GeneralizedEigenSolver.h ./Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h ./Eigen/src/Eigenvalues/HessenbergDecomposition.h ./Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h ./Eigen/src/Eigenvalues/RealQZ.h ./Eigen/src/Eigenvalues/RealSchur.h ./Eigen/src/Eigenvalues/RealSchur_MKL.h ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h ./Eigen/src/Eigenvalues/Tridiagonalization.h ./Eigen/src/Geometry/AlignedBox.h ./Eigen/src/Geometry/AngleAxis.h ./Eigen/src/Geometry/arch/Geometry_SSE.h ./Eigen/src/Geometry/EulerAngles.h ./Eigen/src/Geometry/Homogeneous.h ./Eigen/src/Geometry/Hyperplane.h ./Eigen/src/Geometry/OrthoMethods.h ./Eigen/src/Geometry/ParametrizedLine.h ./Eigen/src/Geometry/Quaternion.h ./Eigen/src/Geometry/Rotation2D.h ./Eigen/src/Geometry/RotationBase.h ./Eigen/src/Geometry/Scaling.h ./Eigen/src/Geometry/Transform.h ./Eigen/src/Geometry/Translation.h ./Eigen/src/Geometry/Umeyama.h ./Eigen/src/Householder/BlockHouseholder.h ./Eigen/src/Householder/Householder.h ./Eigen/src/Householder/HouseholderSequence.h ./Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h ./Eigen/src/IterativeLinearSolvers/BiCGSTAB.h ./Eigen/src/IterativeLinearSolvers/ConjugateGradient.h ./Eigen/src/IterativeLinearSolvers/IncompleteLUT.h ./Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h ./Eigen/src/Jacobi/Jacobi.h ./Eigen/src/LU/arch/Inverse_SSE.h ./Eigen/src/LU/Determinant.h ./Eigen/src/LU/FullPivLU.h ./Eigen/src/LU/Inverse.h ./Eigen/src/LU/PartialPivLU.h ./Eigen/src/LU/PartialPivLU_MKL.h ./Eigen/src/MetisSupport/MetisSupport.h ./Eigen/src/misc/blas.h ./Eigen/src/misc/Image.h ./Eigen/src/misc/Kernel.h ./Eigen/src/misc/Solve.h ./Eigen/src/misc/SparseSolve.h ./Eigen/src/OrderingMethods/Amd.h ./Eigen/src/OrderingMethods/Eigen_Colamd.h ./Eigen/src/OrderingMethods/Ordering.h ./Eigen/src/PardisoSupport/PardisoSupport.h ./Eigen/src/PaStiXSupport/PaStiXSupport.h ./Eigen/src/plugins/ArrayCwiseBinaryOps.h ./Eigen/src/plugins/ArrayCwiseUnaryOps.h ./Eigen/src/plugins/BlockMethods.h ./Eigen/src/plugins/CommonCwiseBinaryOps.h ./Eigen/src/plugins/CommonCwiseUnaryOps.h ./Eigen/src/plugins/MatrixCwiseBinaryOps.h ./Eigen/src/plugins/MatrixCwiseUnaryOps.h ./Eigen/src/QR/ColPivHouseholderQR.h ./Eigen/src/QR/ColPivHouseholderQR_MKL.h ./Eigen/src/QR/FullPivHouseholderQR.h ./Eigen/src/QR/HouseholderQR.h ./Eigen/src/QR/HouseholderQR_MKL.h ./Eigen/src/SparseCholesky/SimplicialCholesky.h ./Eigen/src/SparseCholesky/SimplicialCholesky_impl.h ./Eigen/src/SparseCore/AmbiVector.h ./Eigen/src/SparseCore/CompressedStorage.h ./Eigen/src/SparseCore/ConservativeSparseSparseProduct.h ./Eigen/src/SparseCore/MappedSparseMatrix.h ./Eigen/src/SparseCore/SparseBlock.h ./Eigen/src/SparseCore/SparseColEtree.h ./Eigen/src/SparseCore/SparseCwiseBinaryOp.h ./Eigen/src/SparseCore/SparseCwiseUnaryOp.h ./Eigen/src/SparseCore/SparseDenseProduct.h ./Eigen/src/SparseCore/SparseDiagonalProduct.h ./Eigen/src/SparseCore/SparseDot.h ./Eigen/src/SparseCore/SparseFuzzy.h ./Eigen/src/SparseCore/SparseMatrix.h ./Eigen/src/SparseCore/SparseMatrixBase.h ./Eigen/src/SparseCore/SparsePermutation.h ./Eigen/src/SparseCore/SparseProduct.h ./Eigen/src/SparseCore/SparseRedux.h ./Eigen/src/SparseCore/SparseSelfAdjointView.h ./Eigen/src/SparseCore/SparseSparseProductWithPruning.h ./Eigen/src/SparseCore/SparseTranspose.h ./Eigen/src/SparseCore/SparseTriangularView.h ./Eigen/src/SparseCore/SparseUtil.h ./Eigen/src/SparseCore/SparseVector.h ./Eigen/src/SparseCore/SparseView.h ./Eigen/src/SparseCore/TriangularSolver.h ./Eigen/src/SparseLU/SparseLU.h ./Eigen/src/SparseLU/SparseLU_column_bmod.h ./Eigen/src/SparseLU/SparseLU_column_dfs.h ./Eigen/src/SparseLU/SparseLU_copy_to_ucol.h ./Eigen/src/SparseLU/SparseLU_gemm_kernel.h ./Eigen/src/SparseLU/SparseLU_heap_relax_snode.h ./Eigen/src/SparseLU/SparseLU_kernel_bmod.h ./Eigen/src/SparseLU/SparseLU_Memory.h ./Eigen/src/SparseLU/SparseLU_panel_bmod.h ./Eigen/src/SparseLU/SparseLU_panel_dfs.h ./Eigen/src/SparseLU/SparseLU_pivotL.h ./Eigen/src/SparseLU/SparseLU_pruneL.h ./Eigen/src/SparseLU/SparseLU_relax_snode.h ./Eigen/src/SparseLU/SparseLU_Structs.h ./Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h ./Eigen/src/SparseLU/SparseLU_Utils.h ./Eigen/src/SparseLU/SparseLUImpl.h ./Eigen/src/SparseQR/SparseQR.h ./Eigen/src/SPQRSupport/SuiteSparseQRSupport.h ./Eigen/src/StlSupport/details.h ./Eigen/src/StlSupport/StdDeque.h ./Eigen/src/StlSupport/StdList.h ./Eigen/src/StlSupport/StdVector.h ./Eigen/src/SuperLUSupport/SuperLUSupport.h ./Eigen/src/SVD/JacobiSVD.h ./Eigen/src/SVD/JacobiSVD_MKL.h ./Eigen/src/SVD/UpperBidiagonalization.h ./Eigen/src/UmfPackSupport/UmfPackSupport.h ./Grid.h ./Init.h ./lattice/Lattice_arith.h ./lattice/Lattice_base.h ./lattice/Lattice_comparison.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_conformable.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_ET.h ./lattice/Lattice_local.h ./lattice/Lattice_overload.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_reality.h ./lattice/Lattice_reduction.h ./lattice/Lattice_rng.h ./lattice/Lattice_trace.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./Lattice.h ./Lexicographic.h ./Log.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./PerfCount.h ./pugixml/pugixml.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/hmc/HMC.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/NerscCheckpointer.h ./qcd/QCD.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/Smearing.h ./qcd/smearing/StoutSmearing.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./serialisation/BaseIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/XmlIO.h ./simd/Grid_avx.h ./simd/Grid_avx512.h ./simd/Grid_empty.h ./simd/Grid_imci.h ./simd/Grid_neon.h ./simd/Grid_qpx.h ./simd/Grid_sse4.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./simd/Intel512avx.h ./simd/Intel512common.h ./simd/Intel512double.h ./simd/Intel512imci.h ./simd/Intel512single.h ./simd/Intel512wilson.h ./Simd.h ./stencil/Lebesgue.h ./Stencil.h ./tensors/Tensor_arith.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_class.h ./tensors/Tensor_determinant.h ./tensors/Tensor_exp.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_index.h ./tensors/Tensor_inner.h ./tensors/Tensor_logical.h ./tensors/Tensor_outer.h ./tensors/Tensor_reality.h ./tensors/Tensor_Ta.h ./tensors/Tensor_trace.h ./tensors/Tensor_traits.h ./tensors/Tensor_transpose.h ./tensors/Tensor_unary.h ./Tensors.h ./Threads.h ./Timer.h Config.h
+HFILES=./algorithms/approx/bigfloat.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/Francis.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/SparseMatrix.h ./Algorithms.h ./AlignedAllocator.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./Cartesian.h ./communicator/Communicator_base.h ./Communicator.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./Cshift.h ./Eigen/src/Cholesky/LDLT.h ./Eigen/src/Cholesky/LLT.h ./Eigen/src/Cholesky/LLT_MKL.h ./Eigen/src/CholmodSupport/CholmodSupport.h ./Eigen/src/Core/arch/AltiVec/Complex.h ./Eigen/src/Core/arch/AltiVec/PacketMath.h ./Eigen/src/Core/arch/Default/Settings.h ./Eigen/src/Core/arch/NEON/Complex.h ./Eigen/src/Core/arch/NEON/PacketMath.h ./Eigen/src/Core/arch/SSE/Complex.h ./Eigen/src/Core/arch/SSE/MathFunctions.h ./Eigen/src/Core/arch/SSE/PacketMath.h ./Eigen/src/Core/Array.h ./Eigen/src/Core/ArrayBase.h ./Eigen/src/Core/ArrayWrapper.h ./Eigen/src/Core/Assign.h ./Eigen/src/Core/Assign_MKL.h ./Eigen/src/Core/BandMatrix.h ./Eigen/src/Core/Block.h ./Eigen/src/Core/BooleanRedux.h ./Eigen/src/Core/CommaInitializer.h ./Eigen/src/Core/CoreIterators.h ./Eigen/src/Core/CwiseBinaryOp.h ./Eigen/src/Core/CwiseNullaryOp.h ./Eigen/src/Core/CwiseUnaryOp.h ./Eigen/src/Core/CwiseUnaryView.h ./Eigen/src/Core/DenseBase.h ./Eigen/src/Core/DenseCoeffsBase.h ./Eigen/src/Core/DenseStorage.h ./Eigen/src/Core/Diagonal.h ./Eigen/src/Core/DiagonalMatrix.h ./Eigen/src/Core/DiagonalProduct.h ./Eigen/src/Core/Dot.h ./Eigen/src/Core/EigenBase.h ./Eigen/src/Core/Flagged.h ./Eigen/src/Core/ForceAlignedAccess.h ./Eigen/src/Core/Functors.h ./Eigen/src/Core/Fuzzy.h ./Eigen/src/Core/GeneralProduct.h ./Eigen/src/Core/GenericPacketMath.h ./Eigen/src/Core/GlobalFunctions.h ./Eigen/src/Core/IO.h ./Eigen/src/Core/Map.h ./Eigen/src/Core/MapBase.h ./Eigen/src/Core/MathFunctions.h ./Eigen/src/Core/Matrix.h ./Eigen/src/Core/MatrixBase.h ./Eigen/src/Core/NestByValue.h ./Eigen/src/Core/NoAlias.h ./Eigen/src/Core/NumTraits.h ./Eigen/src/Core/PermutationMatrix.h ./Eigen/src/Core/PlainObjectBase.h ./Eigen/src/Core/ProductBase.h ./Eigen/src/Core/products/CoeffBasedProduct.h ./Eigen/src/Core/products/GeneralBlockPanelKernel.h ./Eigen/src/Core/products/GeneralMatrixMatrix.h ./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h ./Eigen/src/Core/products/GeneralMatrixVector.h ./Eigen/src/Core/products/GeneralMatrixVector_MKL.h ./Eigen/src/Core/products/Parallelizer.h ./Eigen/src/Core/products/SelfadjointMatrixMatrix.h ./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h ./Eigen/src/Core/products/SelfadjointMatrixVector.h ./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h ./Eigen/src/Core/products/SelfadjointProduct.h ./Eigen/src/Core/products/SelfadjointRank2Update.h ./Eigen/src/Core/products/TriangularMatrixMatrix.h ./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h ./Eigen/src/Core/products/TriangularMatrixVector.h ./Eigen/src/Core/products/TriangularMatrixVector_MKL.h ./Eigen/src/Core/products/TriangularSolverMatrix.h ./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h ./Eigen/src/Core/products/TriangularSolverVector.h ./Eigen/src/Core/Random.h ./Eigen/src/Core/Redux.h ./Eigen/src/Core/Ref.h ./Eigen/src/Core/Replicate.h ./Eigen/src/Core/ReturnByValue.h ./Eigen/src/Core/Reverse.h ./Eigen/src/Core/Select.h ./Eigen/src/Core/SelfAdjointView.h ./Eigen/src/Core/SelfCwiseBinaryOp.h ./Eigen/src/Core/SolveTriangular.h ./Eigen/src/Core/StableNorm.h ./Eigen/src/Core/Stride.h ./Eigen/src/Core/Swap.h ./Eigen/src/Core/Transpose.h ./Eigen/src/Core/Transpositions.h ./Eigen/src/Core/TriangularMatrix.h ./Eigen/src/Core/util/BlasUtil.h ./Eigen/src/Core/util/Constants.h ./Eigen/src/Core/util/DisableStupidWarnings.h ./Eigen/src/Core/util/ForwardDeclarations.h ./Eigen/src/Core/util/Macros.h ./Eigen/src/Core/util/Memory.h ./Eigen/src/Core/util/Meta.h ./Eigen/src/Core/util/MKL_support.h ./Eigen/src/Core/util/NonMPL2.h ./Eigen/src/Core/util/ReenableStupidWarnings.h ./Eigen/src/Core/util/StaticAssert.h ./Eigen/src/Core/util/XprHelper.h ./Eigen/src/Core/VectorBlock.h ./Eigen/src/Core/VectorwiseOp.h ./Eigen/src/Core/Visitor.h ./Eigen/src/Eigen2Support/Block.h ./Eigen/src/Eigen2Support/Cwise.h ./Eigen/src/Eigen2Support/CwiseOperators.h ./Eigen/src/Eigen2Support/Geometry/AlignedBox.h ./Eigen/src/Eigen2Support/Geometry/All.h ./Eigen/src/Eigen2Support/Geometry/AngleAxis.h ./Eigen/src/Eigen2Support/Geometry/Hyperplane.h ./Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h ./Eigen/src/Eigen2Support/Geometry/Quaternion.h ./Eigen/src/Eigen2Support/Geometry/Rotation2D.h ./Eigen/src/Eigen2Support/Geometry/RotationBase.h ./Eigen/src/Eigen2Support/Geometry/Scaling.h ./Eigen/src/Eigen2Support/Geometry/Transform.h ./Eigen/src/Eigen2Support/Geometry/Translation.h ./Eigen/src/Eigen2Support/Lazy.h ./Eigen/src/Eigen2Support/LeastSquares.h ./Eigen/src/Eigen2Support/LU.h ./Eigen/src/Eigen2Support/Macros.h ./Eigen/src/Eigen2Support/MathFunctions.h ./Eigen/src/Eigen2Support/Memory.h ./Eigen/src/Eigen2Support/Meta.h ./Eigen/src/Eigen2Support/Minor.h ./Eigen/src/Eigen2Support/QR.h ./Eigen/src/Eigen2Support/SVD.h ./Eigen/src/Eigen2Support/TriangularSolver.h ./Eigen/src/Eigen2Support/VectorBlock.h ./Eigen/src/Eigenvalues/ComplexEigenSolver.h ./Eigen/src/Eigenvalues/ComplexSchur.h ./Eigen/src/Eigenvalues/ComplexSchur_MKL.h ./Eigen/src/Eigenvalues/EigenSolver.h ./Eigen/src/Eigenvalues/GeneralizedEigenSolver.h ./Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h ./Eigen/src/Eigenvalues/HessenbergDecomposition.h ./Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h ./Eigen/src/Eigenvalues/RealQZ.h ./Eigen/src/Eigenvalues/RealSchur.h ./Eigen/src/Eigenvalues/RealSchur_MKL.h ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h ./Eigen/src/Eigenvalues/Tridiagonalization.h ./Eigen/src/Geometry/AlignedBox.h ./Eigen/src/Geometry/AngleAxis.h ./Eigen/src/Geometry/arch/Geometry_SSE.h ./Eigen/src/Geometry/EulerAngles.h ./Eigen/src/Geometry/Homogeneous.h ./Eigen/src/Geometry/Hyperplane.h ./Eigen/src/Geometry/OrthoMethods.h ./Eigen/src/Geometry/ParametrizedLine.h ./Eigen/src/Geometry/Quaternion.h ./Eigen/src/Geometry/Rotation2D.h ./Eigen/src/Geometry/RotationBase.h ./Eigen/src/Geometry/Scaling.h ./Eigen/src/Geometry/Transform.h ./Eigen/src/Geometry/Translation.h ./Eigen/src/Geometry/Umeyama.h ./Eigen/src/Householder/BlockHouseholder.h ./Eigen/src/Householder/Householder.h ./Eigen/src/Householder/HouseholderSequence.h ./Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h ./Eigen/src/IterativeLinearSolvers/BiCGSTAB.h ./Eigen/src/IterativeLinearSolvers/ConjugateGradient.h ./Eigen/src/IterativeLinearSolvers/IncompleteLUT.h ./Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h ./Eigen/src/Jacobi/Jacobi.h ./Eigen/src/LU/arch/Inverse_SSE.h ./Eigen/src/LU/Determinant.h ./Eigen/src/LU/FullPivLU.h ./Eigen/src/LU/Inverse.h ./Eigen/src/LU/PartialPivLU.h ./Eigen/src/LU/PartialPivLU_MKL.h ./Eigen/src/MetisSupport/MetisSupport.h ./Eigen/src/misc/blas.h ./Eigen/src/misc/Image.h ./Eigen/src/misc/Kernel.h ./Eigen/src/misc/Solve.h ./Eigen/src/misc/SparseSolve.h ./Eigen/src/OrderingMethods/Amd.h ./Eigen/src/OrderingMethods/Eigen_Colamd.h ./Eigen/src/OrderingMethods/Ordering.h ./Eigen/src/PardisoSupport/PardisoSupport.h ./Eigen/src/PaStiXSupport/PaStiXSupport.h ./Eigen/src/plugins/ArrayCwiseBinaryOps.h ./Eigen/src/plugins/ArrayCwiseUnaryOps.h ./Eigen/src/plugins/BlockMethods.h ./Eigen/src/plugins/CommonCwiseBinaryOps.h ./Eigen/src/plugins/CommonCwiseUnaryOps.h ./Eigen/src/plugins/MatrixCwiseBinaryOps.h ./Eigen/src/plugins/MatrixCwiseUnaryOps.h ./Eigen/src/QR/ColPivHouseholderQR.h ./Eigen/src/QR/ColPivHouseholderQR_MKL.h ./Eigen/src/QR/FullPivHouseholderQR.h ./Eigen/src/QR/HouseholderQR.h ./Eigen/src/QR/HouseholderQR_MKL.h ./Eigen/src/SparseCholesky/SimplicialCholesky.h ./Eigen/src/SparseCholesky/SimplicialCholesky_impl.h ./Eigen/src/SparseCore/AmbiVector.h ./Eigen/src/SparseCore/CompressedStorage.h ./Eigen/src/SparseCore/ConservativeSparseSparseProduct.h ./Eigen/src/SparseCore/MappedSparseMatrix.h ./Eigen/src/SparseCore/SparseBlock.h ./Eigen/src/SparseCore/SparseColEtree.h ./Eigen/src/SparseCore/SparseCwiseBinaryOp.h ./Eigen/src/SparseCore/SparseCwiseUnaryOp.h ./Eigen/src/SparseCore/SparseDenseProduct.h ./Eigen/src/SparseCore/SparseDiagonalProduct.h ./Eigen/src/SparseCore/SparseDot.h ./Eigen/src/SparseCore/SparseFuzzy.h ./Eigen/src/SparseCore/SparseMatrix.h ./Eigen/src/SparseCore/SparseMatrixBase.h ./Eigen/src/SparseCore/SparsePermutation.h ./Eigen/src/SparseCore/SparseProduct.h ./Eigen/src/SparseCore/SparseRedux.h ./Eigen/src/SparseCore/SparseSelfAdjointView.h ./Eigen/src/SparseCore/SparseSparseProductWithPruning.h ./Eigen/src/SparseCore/SparseTranspose.h ./Eigen/src/SparseCore/SparseTriangularView.h ./Eigen/src/SparseCore/SparseUtil.h ./Eigen/src/SparseCore/SparseVector.h ./Eigen/src/SparseCore/SparseView.h ./Eigen/src/SparseCore/TriangularSolver.h ./Eigen/src/SparseLU/SparseLU.h ./Eigen/src/SparseLU/SparseLU_column_bmod.h ./Eigen/src/SparseLU/SparseLU_column_dfs.h ./Eigen/src/SparseLU/SparseLU_copy_to_ucol.h ./Eigen/src/SparseLU/SparseLU_gemm_kernel.h ./Eigen/src/SparseLU/SparseLU_heap_relax_snode.h ./Eigen/src/SparseLU/SparseLU_kernel_bmod.h ./Eigen/src/SparseLU/SparseLU_Memory.h ./Eigen/src/SparseLU/SparseLU_panel_bmod.h ./Eigen/src/SparseLU/SparseLU_panel_dfs.h ./Eigen/src/SparseLU/SparseLU_pivotL.h ./Eigen/src/SparseLU/SparseLU_pruneL.h ./Eigen/src/SparseLU/SparseLU_relax_snode.h ./Eigen/src/SparseLU/SparseLU_Structs.h ./Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h ./Eigen/src/SparseLU/SparseLU_Utils.h ./Eigen/src/SparseLU/SparseLUImpl.h ./Eigen/src/SparseQR/SparseQR.h ./Eigen/src/SPQRSupport/SuiteSparseQRSupport.h ./Eigen/src/StlSupport/details.h ./Eigen/src/StlSupport/StdDeque.h ./Eigen/src/StlSupport/StdList.h ./Eigen/src/StlSupport/StdVector.h ./Eigen/src/SuperLUSupport/SuperLUSupport.h ./Eigen/src/SVD/JacobiSVD.h ./Eigen/src/SVD/JacobiSVD_MKL.h ./Eigen/src/SVD/UpperBidiagonalization.h ./Eigen/src/UmfPackSupport/UmfPackSupport.h ./Grid.h ./Init.h ./lattice/Lattice_arith.h ./lattice/Lattice_base.h ./lattice/Lattice_comparison.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_conformable.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_ET.h ./lattice/Lattice_local.h ./lattice/Lattice_overload.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_reality.h ./lattice/Lattice_reduction.h ./lattice/Lattice_rng.h ./lattice/Lattice_trace.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./Lattice.h ./Lexicographic.h ./Log.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./PerfCount.h ./pugixml/pugixml.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/hmc/HMC.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/NerscCheckpointer.h ./qcd/QCD.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/Smearing.h ./qcd/smearing/StoutSmearing.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./serialisation/BaseIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/XmlIO.h ./simd/Grid_avx.h ./simd/Grid_avx512.h ./simd/Grid_empty.h ./simd/Grid_imci.h ./simd/Grid_neon.h ./simd/Grid_qpx.h ./simd/Grid_sse4.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./simd/Intel512avx.h ./simd/Intel512common.h ./simd/Intel512double.h ./simd/Intel512imci.h ./simd/Intel512single.h ./simd/Intel512wilson.h ./simd/pab.h ./Simd.h ./stencil/Lebesgue.h ./Stencil.h ./tensors/Tensor_arith.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_class.h ./tensors/Tensor_determinant.h ./tensors/Tensor_exp.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_index.h ./tensors/Tensor_inner.h ./tensors/Tensor_logical.h ./tensors/Tensor_outer.h ./tensors/Tensor_reality.h ./tensors/Tensor_Ta.h ./tensors/Tensor_trace.h ./tensors/Tensor_traits.h ./tensors/Tensor_transpose.h ./tensors/Tensor_unary.h ./Tensors.h ./Threads.h ./Timer.h Config.h
 
 CCFILES=./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./Init.cc ./Log.cc ./PerfCount.cc ./pugixml/pugixml.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/CayleyFermion5Dcache.cc ./qcd/action/fermion/CayleyFermion5Ddense.cc ./qcd/action/fermion/CayleyFermion5Dssp.cc ./qcd/action/fermion/CayleyFermion5Dvec.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/hmc/HMC.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./serialisation/BinaryIO.cc ./serialisation/TextIO.cc ./serialisation/XmlIO.cc ./stencil/Lebesgue.cc ./stencil/Stencil_common.cc
diff --git a/tests/forces/Make.inc b/tests/forces/Make.inc
index 6b72167d..0ccbeade 100644
--- a/tests/forces/Make.inc
+++ b/tests/forces/Make.inc
@@ -1,5 +1,5 @@
 
-bin_PROGRAMS += Test_contfrac_force Test_dwf_force Test_dwf_gpforce Test_gp_rect_force Test_gpdwf_force Test_partfrac_force Test_rect_force Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi
+bin_PROGRAMS += Test_contfrac_force Test_dwf_force Test_dwf_gpforce Test_gp_rect_force Test_gpdwf_force Test_gpwilson_force Test_partfrac_force Test_rect_force Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi
 
 
 Test_contfrac_force_SOURCES=Test_contfrac_force.cc
@@ -22,6 +22,10 @@ Test_gpdwf_force_SOURCES=Test_gpdwf_force.cc
 Test_gpdwf_force_LDADD=-lGrid
 
 
+Test_gpwilson_force_SOURCES=Test_gpwilson_force.cc
+Test_gpwilson_force_LDADD=-lGrid
+
+
 Test_partfrac_force_SOURCES=Test_partfrac_force.cc
 Test_partfrac_force_LDADD=-lGrid
 
diff --git a/tests/forces/Test_gpwilson_force.cc b/tests/forces/Test_gpwilson_force.cc
new file mode 100644
index 00000000..5a0a72bf
--- /dev/null
+++ b/tests/forces/Test_gpwilson_force.cc
@@ -0,0 +1,169 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./tests/Test_gpdwf_force.cc
+
+    Copyright (C) 2015
+
+Author: paboyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include <Grid/Grid.h>
+
+using namespace std;
+using namespace Grid;
+using namespace Grid::QCD;
+
+#define parallel_for PARALLEL_FOR_LOOP for
+
+int main (int argc, char ** argv)
+{
+  Grid_init(&argc,&argv);
+
+  std::vector<int> latt_size   = GridDefaultLatt();
+  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
+  std::vector<int> mpi_layout  = GridDefaultMpi();
+
+  const int Ls=8;
+
+  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), 
+								   GridDefaultSimd(Nd,vComplex::Nsimd()),
+								   GridDefaultMpi());
+  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
+  GridCartesian         * FGrid   = UGrid;
+  GridRedBlackCartesian * FrbGrid = UrbGrid;
+
+  std::vector<int> seeds4({1,2,3,4});
+  GridParallelRNG          RNG4(UGrid);  RNG4.SeedFixedIntegers(seeds4);
+
+  int threads = GridThread::GetThreads();
+  std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
+
+  typedef typename GparityDomainWallFermionR::FermionField FermionField;
+  FermionField phi        (FGrid); gaussian(RNG4,phi);
+  FermionField Mphi       (FGrid); 
+  FermionField MphiPrime  (FGrid); 
+
+  LatticeGaugeField U(UGrid);
+
+  SU3::HotConfiguration(RNG4,U);
+  
+  ////////////////////////////////////
+  // Unmodified matrix element
+  ////////////////////////////////////
+  RealD mass=0.01; 
+  RealD M5=1.8; 
+
+  const int nu = 3;
+  std::vector<int> twists(Nd,0);  twists[nu] = 1;
+  GparityWilsonFermionR::ImplParams params;  params.twists = twists;
+  GparityWilsonFermionR Wil(U,*UGrid,*UrbGrid,mass,params);
+  Wil.M   (phi,Mphi);
+
+  ComplexD S    = innerProduct(Mphi,Mphi); // pdag MdagM p
+
+  // get the deriv of phidag MdagM phi with respect to "U"
+  LatticeGaugeField UdSdU(UGrid);
+  LatticeGaugeField tmp(UGrid);
+
+  Wil.MDeriv(tmp , Mphi,  phi,DaggerNo );  UdSdU=tmp;
+  Wil.MDeriv(tmp , phi,  Mphi,DaggerYes ); UdSdU=(UdSdU+tmp);  
+  
+  FermionField Ftmp      (FGrid);
+
+  ////////////////////////////////////
+  // Modify the gauge field a little 
+  ////////////////////////////////////
+  RealD dt = 0.00001;
+
+  LatticeColourMatrix mommu(UGrid); 
+  LatticeColourMatrix forcemu(UGrid); 
+  LatticeGaugeField mom(UGrid); 
+  LatticeGaugeField Uprime(UGrid); 
+
+  for(int mu=0;mu<Nd;mu++){
+
+    SU3::GaussianLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+
+    PokeIndex<LorentzIndex>(mom,mommu,mu);
+
+    // fourth order exponential approx
+    parallel_for(auto i=mom.begin();i<mom.end();i++){
+      Uprime[i](mu) =
+	  U[i](mu)
+	+ mom[i](mu)*U[i](mu)*dt 
+	+ mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt/2.0)
+	+ mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt/6.0)
+	+ mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt*dt/24.0)
+	+ mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt*dt*dt/120.0)
+	+ mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt*dt*dt*dt/720.0)
+	;
+    }
+
+  }
+  
+  Wil.ImportGauge(Uprime);
+  Wil.M          (phi,MphiPrime);
+
+  ComplexD Sprime    = innerProduct(MphiPrime   ,MphiPrime);
+
+  //////////////////////////////////////////////
+  // Use derivative to estimate dS
+  //////////////////////////////////////////////
+
+
+  LatticeComplex dS(UGrid); dS = zero;
+  for(int mu=0;mu<Nd;mu++){
+    mommu   = PeekIndex<LorentzIndex>(UdSdU,mu);
+    mommu=Ta(mommu)*2.0;
+    PokeIndex<LorentzIndex>(UdSdU,mommu,mu);
+  }
+
+  for(int mu=0;mu<Nd;mu++){
+    forcemu = PeekIndex<LorentzIndex>(UdSdU,mu);
+    mommu   = PeekIndex<LorentzIndex>(mom,mu);
+
+    // Update PF action density
+    dS = dS+trace(mommu*forcemu)*dt;
+
+  }
+
+  Complex dSpred    = sum(dS);
+
+  // From TwoFlavourPseudoFermion:
+  //////////////////////////////////////////////////////
+  // dS/du = - phi^dag  (Mdag M)^-1 [ Mdag dM + dMdag M ]  (Mdag M)^-1 phi
+  //       = - phi^dag M^-1 dM (MdagM)^-1 phi -  phi^dag (MdagM)^-1 dMdag dM (Mdag)^-1 phi 
+  //
+  //       = - Ydag dM X  - Xdag dMdag Y
+  //
+  //////////////////////////////////////////////////////
+  // So must take dSdU - adj(dSdU) and left multiply by mom to get dS/dt.
+  //
+  // 
+
+  std::cout << GridLogMessage << " S      "<<S<<std::endl;
+  std::cout << GridLogMessage << " Sprime "<<Sprime<<std::endl;
+  std::cout << GridLogMessage << "dS      "<<Sprime-S<<std::endl;
+  std::cout << GridLogMessage << "predict dS    "<< dSpred <<std::endl;
+
+  std::cout<< GridLogMessage << "Done" <<std::endl;
+  Grid_finalize();
+}

From 9c77bb69a579ac9e5481f97293ad1068478feb41 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 18 Jul 2016 12:05:23 +0100
Subject: [PATCH 073/295] Added all elements for Hirep HMC

TODO: Test and debug
---
 lib/qcd/action/ActionBase.h                  | 24 ++---
 lib/qcd/action/fermion/FermionOperatorImpl.h | 23 ++---
 lib/qcd/hmc/HmcRunner.h                      |  2 +-
 lib/qcd/hmc/integrators/Integrator.h         | 93 +++++++++++++-------
 lib/qcd/representations/adjoint.h            | 70 ++++++++++-----
 lib/qcd/representations/fundamental.h        |  7 +-
 lib/qcd/representations/hmc_types.h          |  2 +-
 lib/qcd/utils/SUnAdjoint.h                   |  4 +-
 tests/Test_hmc_WilsonAdjointFermionGauge.cc  |  2 +-
 9 files changed, 148 insertions(+), 79 deletions(-)

diff --git a/lib/qcd/action/ActionBase.h b/lib/qcd/action/ActionBase.h
index c79416b8..210055e6 100644
--- a/lib/qcd/action/ActionBase.h
+++ b/lib/qcd/action/ActionBase.h
@@ -97,7 +97,8 @@ struct ActionLevelHirep {
   //std::vector<ActPtr> actions;
   // construct a tuple of vectors of the actions for the corresponding higher
   // representation fields
-  typename AccessTypes<Action, Repr>::VectorCollection actions_hirep;
+  typedef typename AccessTypes<Action, Repr>::VectorCollection action_collection;
+  action_collection actions_hirep;
   typedef typename  AccessTypes<Action, Repr>::ClassCollection actions_hirep_ptrs_type;
 
   std::vector<ActPtr>& actions;
@@ -109,7 +110,7 @@ struct ActionLevelHirep {
 
   ActionLevelHirep(unsigned int mul = 1) : actions(std::get<0>(actions_hirep)), multiplier(mul) {
     // initialize the hirep vectors to zero.
-    //apply(&ActionLevelHirep::resize, actions_hirep, 0); //need a working resize
+    //apply(this->resize, actions_hirep, 0); //need a working resize
     assert(mul >= 1);
   };
 
@@ -128,18 +129,19 @@ struct ActionLevelHirep {
 
   }
 
-  
+  template <std::size_t I>
+  auto getRepresentation(Repr& R)->decltype(std::get<I>(R).U)  {return std::get<I>(R).U;}
 
   // Loop on tuple for a callable function
-  template <std::size_t I = 0, class Tuple, typename Callable, typename ...Args>
-  inline typename std::enable_if<(I == std::tuple_size<Tuple>::value), void>::type apply(
-      Callable&, Tuple& , Args...) {}
+  template <std::size_t I = 1, typename Callable, typename ...Args>
+  inline typename std::enable_if<I == std::tuple_size<action_collection>::value, void>::type apply(
+      Callable, Repr& R,Args...) const {}
 
-  template <std::size_t I = 0, class Tuple, typename Callable, typename ...Args>
-  inline typename std::enable_if<(I < std::tuple_size<Tuple>::value), void>::type apply(
-      Callable& fn,  Tuple& T, Args... arguments) {
-    fn(std::get<I>(T), arguments...);
-    apply<I + 1>(T, fn, arguments...);
+  template <std::size_t I = 1, typename Callable, typename ...Args>
+  inline typename std::enable_if<I < std::tuple_size<action_collection>::value, void>::type apply(
+      Callable fn, Repr& R, Args... arguments) const {
+    fn(std::get<I>(actions_hirep), std::get<I>(R.rep), arguments...);
+    apply<I + 1>(fn, R, arguments...);
   }  
 
 };
diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 84e4910c..7e661e1a 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -111,12 +111,15 @@ namespace Grid {
 ///////
 // Single flavour four spinors with colour index
 ///////
-template <class S, int Nrepresentation = Nc>
+template <class S, class Representation = FundamentalRepresentation >
 class WilsonImpl
-    : public PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > {
+    : public PeriodicGaugeImpl<GaugeImplTypes<S, Representation::Dimension > > {
  public:
-  typedef PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > Gimpl;
-  constexpr bool is_fundamental() const{return Nrepresentation == Nc ? 1 : 0;}
+  static const int Nrepresentation = Representation::Dimension;
+  typedef PeriodicGaugeImpl<GaugeImplTypes<S, Representation::Dimension > > Gimpl;
+  
+  //Necessary?
+  constexpr bool is_fundamental() const{return Representation::Dimension == Nc ? 1 : 0;}
 
   INHERIT_GIMPL_TYPES(Gimpl);
 
@@ -501,13 +504,13 @@ class GparityWilsonImpl
   }
 };
 
-typedef WilsonImpl<vComplex,  Nc> WilsonImplR;   // Real.. whichever prec
-typedef WilsonImpl<vComplexF, Nc> WilsonImplF;  // Float
-typedef WilsonImpl<vComplexD, Nc> WilsonImplD;  // Double
+typedef WilsonImpl<vComplex,  FundamentalRepresentation> WilsonImplR;   // Real.. whichever prec
+typedef WilsonImpl<vComplexF, FundamentalRepresentation> WilsonImplF;  // Float
+typedef WilsonImpl<vComplexD, FundamentalRepresentation> WilsonImplD;  // Double
 
-typedef WilsonImpl<vComplex,  SU_Adjoint<Nc>::Dimension > WilsonAdjImplR;   // Real.. whichever prec
-typedef WilsonImpl<vComplexF, SU_Adjoint<Nc>::Dimension > WilsonAdjImplF;  // Float
-typedef WilsonImpl<vComplexD, SU_Adjoint<Nc>::Dimension > WilsonAdjImplD;  // Double
+typedef WilsonImpl<vComplex,  AdjointRepresentation > WilsonAdjImplR;   // Real.. whichever prec
+typedef WilsonImpl<vComplexF, AdjointRepresentation > WilsonAdjImplF;  // Float
+typedef WilsonImpl<vComplexD, AdjointRepresentation > WilsonAdjImplD;  // Double
 
 typedef DomainWallRedBlack5dImpl<vComplex, Nc>
     DomainWallRedBlack5dImplR;  // Real.. whichever prec
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index d434970c..f52088f1 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -113,7 +113,7 @@ class NerscHmcRunnerTemplate {
     //////////////
     typedef MinimumNorm2<GaugeField, SmearedConfiguration<Gimpl>, RepresentationsPolicy >
         IntegratorType;  // change here to change the algorithm
-    IntegratorParameters MDpar(20);
+    IntegratorParameters MDpar(20, 1.0);
     IntegratorType MDynamics(UGrid, MDpar, TheAction, SmearingPolicy);
 
     // Checkpoint strategy
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index 55eaf818..67725621 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -64,7 +64,7 @@ struct IntegratorParameters {
 };
 
 /*! @brief Class for Molecular Dynamics management */
-template <class GaugeField, class SmearingPolicy ,class RepresentationPolicy >
+template <class GaugeField, class SmearingPolicy, class RepresentationPolicy>
 class Integrator {
  protected:
   typedef IntegratorParameters ParameterType;
@@ -81,7 +81,7 @@ class Integrator {
 
   SmearingPolicy& Smearer;
 
-  RepresentationPolicy Representations; 
+  RepresentationPolicy Representations;
 
   // Should match any legal (SU(n)) gauge field
   // Need to use this template to match Ncol to pass to SU<N> class
@@ -112,26 +112,26 @@ class Integrator {
 
   // to be used by the actionlevel class to iterate
   // over the representations
-  template <class Level>
-  void update_P_hireps(Level repr_level, GaugeField& Mom, GaugeField& U,
-                     double ep) {
-    typedef typename Level::LatticeField FieldType;
-    FieldType Ur = repr_level->getRepresentation();// update U is better
-    for (int a = 0; a < repr_level.size(); ++a) {
-      FieldType forceR(U._grid);
-      // Implement smearing only for the fundamental representation now
-      repr_level.at(a)->deriv(Ur, forceR);
-      GaugeField force = repr_level.at(a)->RtoFundamentalProject(forceR);
-      std::cout << GridLogIntegrator
-                << "Hirep Force average: " << norm2(force) / (U._grid->gSites())
-                << std::endl;
-      Mom -= force * ep;
+  struct _updateP {
+    template <class FieldType, class GF, class Repr>
+    void operator()(std::vector<Action<FieldType>*> repr_set, Repr& Rep,
+                    GF& Mom, GF& U, double ep) {
+      for (int a = 0; a < repr_set.size(); ++a) {
+        FieldType forceR(U._grid);
+        // Implement smearing only for the fundamental representation now
+        repr_set.at(a)->deriv(Rep.U, forceR);
+        GF force =
+            Rep.RtoFundamentalProject(forceR);  // Ta for the fundamental rep
+        std::cout << GridLogIntegrator << "Hirep Force average: "
+                  << norm2(force) / (U._grid->gSites()) << std::endl;
+        Mom -= force * ep;
+      }
     }
-  }
+  } update_P_hireps{};
 
   void update_P(GaugeField& Mom, GaugeField& U, int level, double ep) {
     // input U actually not used in the fundamental case
-  	// Fundamental updates, include smearing
+    // Fundamental updates, include smearing
     for (int a = 0; a < as[level].actions.size(); ++a) {
       GaugeField force(U._grid);
       GaugeField& Us = Smearer.get_U(as[level].actions.at(a)->is_smeared);
@@ -147,8 +147,9 @@ class Integrator {
                 << std::endl;
       Mom -= force * ep;
     }
-    // Add here the other representations
-    //apply(update_P_hireps, as[level], Args...)
+
+    // Force from the other representations
+    as[level].apply(update_P_hireps, Representations, Mom, U, ep);
   }
 
   void update_U(GaugeField& U, double ep) {
@@ -172,15 +173,21 @@ class Integrator {
     // Update the smeared fields, can be implemented as observer
     Smearer.set_GaugeField(U);
     // Update the higher representations fields
-    //Representations.update(U);// void functions if fundamental representation
+    Representations.update(U);  // void functions if fundamental representation
   }
 
   virtual void step(GaugeField& U, int level, int first, int last) = 0;
 
  public:
   Integrator(GridBase* grid, IntegratorParameters Par,
-             ActionSetHirep<GaugeField, RepresentationPolicy>& Aset, SmearingPolicy& Sm)
-      : Params(Par), as(Aset), P(grid), levels(Aset.size()), Smearer(Sm), Representations(grid) {
+             ActionSetHirep<GaugeField, RepresentationPolicy>& Aset,
+             SmearingPolicy& Sm)
+      : Params(Par),
+        as(Aset),
+        P(grid),
+        levels(Aset.size()),
+        Smearer(Sm),
+        Representations(grid) {
     t_P.resize(levels, 0.0);
     t_U = 0.0;
     // initialization of smearer delegated outside of Integrator
@@ -188,13 +195,24 @@ class Integrator {
 
   virtual ~Integrator() {}
 
+  // to be used by the actionlevel class to iterate
+  // over the representations
+  struct _refresh {
+    template <class FieldType, class Repr>
+    void operator()(std::vector<Action<FieldType>*> repr_set, Repr& Rep,
+                    GridParallelRNG& pRNG) {
+      for (int a = 0; a < repr_set.size(); ++a)
+        repr_set.at(a)->refresh(Rep.U, pRNG);
+    }
+  } refresh_hireps{};
+
   // Initialization of momenta and actions
   void refresh(GaugeField& U, GridParallelRNG& pRNG) {
     std::cout << GridLogIntegrator << "Integrator refresh\n";
     generate_momenta(P, pRNG);
-    
+
     // Update the smeared fields, can be implemented as observer
-    // necessary to keep the fields updated even after a reject 
+    // necessary to keep the fields updated even after a reject
     // of the Metropolis
     Smearer.set_GaugeField(U);
     // Set the (eventual) representations gauge fields
@@ -211,12 +229,27 @@ class Integrator {
             Smearer.get_U(as[level].actions.at(actionID)->is_smeared);
         as[level].actions.at(actionID)->refresh(Us, pRNG);
       }
+
+      as[level].apply(refresh_hireps, Representations, pRNG);
     }
- 
-
-
   }
 
+  // to be used by the actionlevel class to iterate
+  // over the representations
+  struct _S {
+    template <class FieldType, class Repr>
+    void operator()(std::vector<Action<FieldType>*> repr_set, Repr& Rep,
+                    int level, RealD& H) {
+      RealD H_hirep = 0.0;
+      for (int a = 0; a < repr_set.size(); ++a) {
+        RealD Hterm = repr_set.at(a)->S(Rep.U);
+        std::cout << GridLogMessage << "S Level " << level << " term " << a
+                  << " H Hirep = " << Hterm << std::endl;
+        H += Hterm;
+      }
+    }
+  } S_hireps{};
+
   // Calculate action
   RealD S(GaugeField& U) {  // here also U not used
 
@@ -245,6 +278,7 @@ class Integrator {
                   << actionID << " H = " << Hterm << std::endl;
         H += Hterm;
       }
+      as[level].apply(S_hireps, Representations, level, H);
     }
 
     return H;
@@ -257,8 +291,7 @@ class Integrator {
       t_P[level] = 0;
     }
 
-
-     for (int step = 0; step < Params.MDsteps; ++step) {  // MD step
+    for (int step = 0; step < Params.MDsteps; ++step) {  // MD step
       int first_step = (step == 0);
       int last_step = (step == Params.MDsteps - 1);
       this->step(U, 0, first_step, last_step);
diff --git a/lib/qcd/representations/adjoint.h b/lib/qcd/representations/adjoint.h
index 9e960952..d873353f 100644
--- a/lib/qcd/representations/adjoint.h
+++ b/lib/qcd/representations/adjoint.h
@@ -1,12 +1,11 @@
 /*
  *	Policy classes for the HMC
  *	Author: Guido Cossu
-*/	
+*/
 
 #ifndef ADJOINT_H
 #define ADJOINT_H
 
-
 namespace Grid {
 namespace QCD {
 
@@ -19,17 +18,16 @@ namespace QCD {
 template <int ncolour>
 class AdjointRep {
  public:
- 	// typdef to be used by the Representations class in HMC to get the
- 	// types for the higher representation fields
+  // typdef to be used by the Representations class in HMC to get the
+  // types for the higher representation fields
   typedef typename SU_Adjoint<ncolour>::LatticeAdjMatrix LatticeMatrix;
   typedef typename SU_Adjoint<ncolour>::LatticeAdjField LatticeField;
-  const int Dimension = ncolour * ncolour - 1;
+  static const int Dimension = ncolour * ncolour - 1;
 
   LatticeField U;
-  
 
-  explicit AdjointRep(GridBase* grid) : U(grid) {}
-  void update_representation(const LatticeGaugeField& Uin) {
+  explicit AdjointRep(GridBase *grid) : U(grid) {}
+  void update_representation(const LatticeGaugeField &Uin) {
     // Uin is in the fundamental representation
     // get the U in AdjointRep
     // (U_adj)_B = tr[e^a U e^b U^dag]
@@ -38,31 +36,59 @@ class AdjointRep {
     // T_F is 1/2 for the fundamental representation
     conformable(U, Uin);
     U = zero;
-    LatticeGaugeField tmp(Uin._grid);
+    LatticeColourMatrix tmp(Uin._grid);
 
-    Vector<typename SU<ncolour>::Matrix> ta(ncolour * ncolour - 1);
+    Vector<typename SU<ncolour>::Matrix> ta(Dimension);
 
     // FIXME probably not very efficient to get all the generators
     // everytime
     for (int a = 0; a < Dimension; a++) SU<ncolour>::generator(a, ta[a]);
 
-    for (int a = 0; a < Dimension; a++) {
-      tmp = 2.0 * adj(Uin) * ta[a] * Uin;
-      for (int b = 0; b < (ncolour * ncolour - 1); b++) {
-        auto Tr = TensorRemove(trace(tmp * ta[b]));
-        pokeColour(U, Tr, a, b);
+    for (int mu = 0; mu < Nd; mu++) {
+      auto Uin_mu = peekLorentz(Uin, mu);
+      auto U_mu = peekLorentz(U, mu);
+      for (int a = 0; a < Dimension; a++) {
+        tmp = 2.0 * adj(Uin_mu) * ta[a] * Uin_mu;
+        for (int b = 0; b < (ncolour * ncolour - 1); b++)
+          pokeColour(U_mu, trace(tmp * ta[b]), a, b);
       }
-    }  	 
-    
+      pokeLorentz(U, U_mu, mu);
+    }
+  }
+
+  LatticeGaugeField RtoFundamentalProject(const LatticeField &in,
+                                          Real scale = 1.0) const {
+    LatticeGaugeField out(in._grid);
+
+    for (int mu = 0; mu < Nd; mu++) {
+      LatticeColourMatrix out_mu(in._grid);  // fundamental representation
+      LatticeMatrix in_mu = peekLorentz(in, mu);
+
+      out_mu = zero;
+
+      typename SU<ncolour>::LatticeAlgebraVector h(in._grid);
+      projectOnAlgebra(h, in_mu, scale);
+      FundamentalLieAlgebraMatrix(h, out_mu, 1.0);  // apply scale only once
+      pokeLorentz(out, out_mu, mu);
+    }
+    return out;
+  }
+
+ private:
+  void projectOnAlgebra(typename SU<ncolour>::LatticeAlgebraVector &h_out,
+                        const LatticeMatrix &in, Real scale = 1.0) const {
+    SU_Adjoint<ncolour>::projectOnAlgebra(h_out, in, scale);
+  }
+
+  void FundamentalLieAlgebraMatrix(
+      typename SU<ncolour>::LatticeAlgebraVector &h,
+      typename SU<ncolour>::LatticeMatrix &out, Real scale = 1.0) const {
+    SU<ncolour>::FundamentalLieAlgebraMatrix(h, out, scale);
   }
 };
 
-typedef	 AdjointRep<Nc> AdjointRepresentation;
-
+typedef AdjointRep<Nc> AdjointRepresentation;
 }
 }
 
-
-
-
 #endif
\ No newline at end of file
diff --git a/lib/qcd/representations/fundamental.h b/lib/qcd/representations/fundamental.h
index 0e9470a7..7d85d357 100644
--- a/lib/qcd/representations/fundamental.h
+++ b/lib/qcd/representations/fundamental.h
@@ -18,7 +18,7 @@ namespace QCD {
 template <int ncolour>
 class FundamentalRep {
  public:
-  const int Dimension = ncolour;
+  static const int Dimension = ncolour;
 
   // typdef to be used by the Representations class in HMC to get the
   // types for the higher representation fields
@@ -27,6 +27,11 @@ class FundamentalRep {
   
   explicit FundamentalRep(GridBase* grid) {} //do nothing
   void update_representation(const LatticeGaugeField& Uin) {} // do nothing
+
+  LatticeField RtoFundamentalProject(const LatticeField& in, Real scale = 1.0) const{
+    return (scale * in);
+  }
+
 };
 
 typedef	 FundamentalRep<Nc> FundamentalRepresentation;
diff --git a/lib/qcd/representations/hmc_types.h b/lib/qcd/representations/hmc_types.h
index a8d3ed7c..2c3d52dd 100644
--- a/lib/qcd/representations/hmc_types.h
+++ b/lib/qcd/representations/hmc_types.h
@@ -28,7 +28,7 @@ class Representations {
   template <std::size_t N>
   using repr_type = typename std::tuple_element<N, Representation_type>::type;
   // in order to get the typename of the field use
-  // type repr_type::LatticeField
+  // type repr_type<I>::LatticeField
 
   Representation_type rep;
 
diff --git a/lib/qcd/utils/SUnAdjoint.h b/lib/qcd/utils/SUnAdjoint.h
index 21b31605..93a7601e 100644
--- a/lib/qcd/utils/SUnAdjoint.h
+++ b/lib/qcd/utils/SUnAdjoint.h
@@ -111,7 +111,7 @@ class SU_Adjoint : public SU<ncolour> {
   }
 
   // Projects the algebra components a lattice matrix (of dimension ncol*ncol -1 )
-  static void projectOnAlgebra(typename SU<ncolour>::LatticeAlgebraVector &h_out, LatticeAdjMatrix &in, Real scale = 1.0) {
+  static void projectOnAlgebra(typename SU<ncolour>::LatticeAlgebraVector &h_out, const LatticeAdjMatrix &in, Real scale = 1.0) {
     conformable(h_out, in);
     h_out = zero;
     AMatrix iTa;
@@ -124,7 +124,7 @@ class SU_Adjoint : public SU<ncolour> {
   }
 
   // a projector that keeps the generators stored to avoid the overhead of recomputing. 
-  static void projector(typename SU<ncolour>::LatticeAlgebraVector &h_out, LatticeAdjMatrix &in, Real scale = 1.0) {
+  static void projector(typename SU<ncolour>::LatticeAlgebraVector &h_out, const LatticeAdjMatrix &in, Real scale = 1.0) {
     conformable(h_out, in);
     static std::vector<AMatrix> iTa(Dimension);  // to store the generators
     h_out = zero;
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
index f54fe03d..727181fd 100644
--- a/tests/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -40,7 +40,7 @@ namespace Grid {
 namespace QCD {
 
 // Here change the allowed (higher) representations
-typedef Representations< FundamentalRepresentation, FundamentalRepresentation > TheRepresentations;
+typedef Representations< FundamentalRepresentation, AdjointRepresentation > TheRepresentations;
 
 
 class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {

From b93e18ed503131d2aac6d3cdcda9dd7398339123 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 18 Jul 2016 16:36:28 +0100
Subject: [PATCH 074/295] Modified the Dirac Kernel class to compile with
 different number of colours

Added the general push_back functionality to accomodate for all defined representations

Compiles, not tested
---
 lib/qcd/action/ActionBase.h                  |  37 +-
 lib/qcd/action/Actions.h                     |   8 +
 lib/qcd/action/fermion/FermionOperatorImpl.h |  16 +-
 lib/qcd/action/fermion/WilsonFermion.cc      |   1 +
 lib/qcd/action/fermion/WilsonFermion.h       |   2 +
 lib/qcd/action/fermion/WilsonKernels.cc      | 681 ++++++++++---------
 lib/qcd/action/fermion/WilsonKernels.h       | 239 ++++---
 lib/qcd/action/fermion/WilsonKernelsAsm.cc   |   4 +-
 lib/qcd/action/fermion/WilsonKernelsHand.cc  |   8 +-
 lib/qcd/hmc/HmcRunner.h                      |   2 +-
 lib/qcd/representations/hmc_types.h          |   2 +-
 tests/Test_hmc_WilsonAdjointFermionGauge.cc  |   4 +-
 12 files changed, 579 insertions(+), 425 deletions(-)

diff --git a/lib/qcd/action/ActionBase.h b/lib/qcd/action/ActionBase.h
index 210055e6..5c9ca6b5 100644
--- a/lib/qcd/action/ActionBase.h
+++ b/lib/qcd/action/ActionBase.h
@@ -66,6 +66,20 @@ Phi(&_Grid), pRNG(_pRNG) {
 };
 */
 
+// Indexing of tuple types
+template <class T, class Tuple>
+struct Index;
+
+template <class T, class... Types>
+struct Index<T, std::tuple<T, Types...>> {
+  static const std::size_t value = 0;
+};
+
+template <class T, class U, class... Types>
+struct Index<T, std::tuple<U, Types...>> {
+  static const std::size_t value = 1 + Index<T, std::tuple<Types...>>::value;
+};
+
 template <class GaugeField>
 struct ActionLevel {
  public:
@@ -99,38 +113,39 @@ struct ActionLevelHirep {
   // representation fields
   typedef typename AccessTypes<Action, Repr>::VectorCollection action_collection;
   action_collection actions_hirep;
-  typedef typename  AccessTypes<Action, Repr>::ClassCollection actions_hirep_ptrs_type;
+  typedef typename  AccessTypes<Action, Repr>::FieldTypeCollection action_hirep_types;
 
   std::vector<ActPtr>& actions;
 
   // Temporary conversion between ActionLevel and ActionLevelHirep
   ActionLevelHirep(ActionLevel<GaugeField>& AL ):actions(AL.actions), multiplier(AL.multiplier){}
 
-
-
   ActionLevelHirep(unsigned int mul = 1) : actions(std::get<0>(actions_hirep)), multiplier(mul) {
     // initialize the hirep vectors to zero.
     //apply(this->resize, actions_hirep, 0); //need a working resize
     assert(mul >= 1);
   };
 
-  void push_back(ActPtr ptr) { actions.push_back(ptr); }
+  //void push_back(ActPtr ptr) { actions.push_back(ptr); }
 
-// SFINAE construct, check
-  template <class actionpointer, size_t N>
-  void push_back(actionpointer ptr, decltype(std::tuple_element<N, actions_hirep_ptrs_type>::value)* = 0) {
-    //insert only in the correct vector
-    std::get<N>(actions_hirep).push_back(ptr);
+
+
+  template < class Field >
+  void push_back(Action<Field>* ptr) {
+    // insert only in the correct vector
+    std::get< Index < Field, action_hirep_types>::value >(actions_hirep).push_back(ptr);
   };
 
+ 
+
   template < class ActPtr>
   static void resize(ActPtr ap, unsigned int n){
     ap->resize(n);
 
   }
 
-  template <std::size_t I>
-  auto getRepresentation(Repr& R)->decltype(std::get<I>(R).U)  {return std::get<I>(R).U;}
+  //template <std::size_t I>
+  //auto getRepresentation(Repr& R)->decltype(std::get<I>(R).U)  {return std::get<I>(R).U;}
 
   // Loop on tuple for a callable function
   template <std::size_t I = 1, typename Callable, typename ...Args>
diff --git a/lib/qcd/action/Actions.h b/lib/qcd/action/Actions.h
index ffa3a4d9..48123f04 100644
--- a/lib/qcd/action/Actions.h
+++ b/lib/qcd/action/Actions.h
@@ -113,6 +113,10 @@ typedef SymanzikGaugeAction<ConjugateGimplD>        ConjugateSymanzikGaugeAction
   template class A<GparityWilsonImplF>;		\
   template class A<GparityWilsonImplD>;		
 
+#define AdjointFermOpTemplateInstantiate(A) \
+  template class A<WilsonAdjImplF>; \
+  template class A<WilsonAdjImplD>; 
+
 #define GparityFermOpTemplateInstantiate(A) 
 
 ////////////////////////////////////////////
@@ -157,6 +161,10 @@ typedef WilsonFermion<WilsonImplR> WilsonFermionR;
 typedef WilsonFermion<WilsonImplF> WilsonFermionF;
 typedef WilsonFermion<WilsonImplD> WilsonFermionD;
 
+typedef WilsonFermion<WilsonAdjImplR> WilsonAdjFermionR;
+typedef WilsonFermion<WilsonAdjImplF> WilsonAdjFermionF;
+typedef WilsonFermion<WilsonAdjImplD> WilsonAdjFermionD;
+
 typedef WilsonTMFermion<WilsonImplR> WilsonTMFermionR;
 typedef WilsonTMFermion<WilsonImplF> WilsonTMFermionF;
 typedef WilsonTMFermion<WilsonImplD> WilsonTMFermionD;
diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 7e661e1a..d7eae8d8 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -115,22 +115,23 @@ template <class S, class Representation = FundamentalRepresentation >
 class WilsonImpl
     : public PeriodicGaugeImpl<GaugeImplTypes<S, Representation::Dimension > > {
  public:
-  static const int Nrepresentation = Representation::Dimension;
-  typedef PeriodicGaugeImpl<GaugeImplTypes<S, Representation::Dimension > > Gimpl;
+  static const int Dimension = Representation::Dimension;
+//  static const int Nrepresentation = Representation::Dimension;
+  typedef PeriodicGaugeImpl<GaugeImplTypes<S, Dimension > > Gimpl;
   
   //Necessary?
-  constexpr bool is_fundamental() const{return Representation::Dimension == Nc ? 1 : 0;}
+  constexpr bool is_fundamental() const{return Dimension == Nc ? 1 : 0;}
 
   INHERIT_GIMPL_TYPES(Gimpl);
 
   template <typename vtype>
-  using iImplSpinor = iScalar<iVector<iVector<vtype, Nrepresentation>, Ns> >;
+  using iImplSpinor = iScalar<iVector<iVector<vtype, Dimension>, Ns> >;
   template <typename vtype>
   using iImplHalfSpinor =
-      iScalar<iVector<iVector<vtype, Nrepresentation>, Nhs> >;
+      iScalar<iVector<iVector<vtype, Dimension>, Nhs> >;
   template <typename vtype>
   using iImplDoubledGaugeField =
-      iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds>;
+      iVector<iScalar<iMatrix<vtype, Dimension> >, Nds>;
 
   typedef iImplSpinor<Simd> SiteSpinor;
   typedef iImplHalfSpinor<Simd> SiteHalfSpinor;
@@ -214,6 +215,8 @@ template <class S, int Nrepresentation = Nc>
 class DomainWallRedBlack5dImpl
     : public PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > {
  public:
+  static const int Dimension = Nrepresentation;
+
   typedef PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > Gimpl;
 
   INHERIT_GIMPL_TYPES(Gimpl);
@@ -318,6 +321,7 @@ template <class S, int Nrepresentation>
 class GparityWilsonImpl
     : public ConjugateGaugeImpl<GaugeImplTypes<S, Nrepresentation> > {
  public:
+  static const int Dimension = Nrepresentation;
   typedef ConjugateGaugeImpl<GaugeImplTypes<S, Nrepresentation> > Gimpl;
 
   INHERIT_GIMPL_TYPES(Gimpl);
diff --git a/lib/qcd/action/fermion/WilsonFermion.cc b/lib/qcd/action/fermion/WilsonFermion.cc
index 0992559b..aef2b674 100644
--- a/lib/qcd/action/fermion/WilsonFermion.cc
+++ b/lib/qcd/action/fermion/WilsonFermion.cc
@@ -308,6 +308,7 @@ void WilsonFermion<Impl>::DhopInternal(StencilImpl &st, LebesgueOrder &lo,
 };
 
 FermOpTemplateInstantiate(WilsonFermion);
+AdjointFermOpTemplateInstantiate(WilsonFermion);
 GparityFermOpTemplateInstantiate(WilsonFermion);
 }
 }
diff --git a/lib/qcd/action/fermion/WilsonFermion.h b/lib/qcd/action/fermion/WilsonFermion.h
index c6dad97c..40616073 100644
--- a/lib/qcd/action/fermion/WilsonFermion.h
+++ b/lib/qcd/action/fermion/WilsonFermion.h
@@ -148,6 +148,8 @@ class WilsonFermion : public WilsonKernels<Impl>, public WilsonFermionStatic {
 
 typedef WilsonFermion<WilsonImplF> WilsonFermionF;
 typedef WilsonFermion<WilsonImplD> WilsonFermionD;
+
+
 }
 }
 #endif
diff --git a/lib/qcd/action/fermion/WilsonKernels.cc b/lib/qcd/action/fermion/WilsonKernels.cc
index 4edd25f9..716aa73a 100644
--- a/lib/qcd/action/fermion/WilsonKernels.cc
+++ b/lib/qcd/action/fermion/WilsonKernels.cc
@@ -1,72 +1,94 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/fermion/WilsonKernels.cc
+Source file: ./lib/qcd/action/fermion/WilsonKernels.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: Peter Boyle <peterboyle@Peters-MacBook-Pro-2.local>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include <Grid.h>
 namespace Grid {
 namespace QCD {
 
-  int WilsonKernelsStatic::HandOpt;
-  int WilsonKernelsStatic::AsmOpt;
+int WilsonKernelsStatic::HandOpt;
+int WilsonKernelsStatic::AsmOpt;
 
-template<class Impl> 
-WilsonKernels<Impl>::WilsonKernels(const ImplParams &p): Base(p) {};
+template <class Impl>
+WilsonKernels<Impl>::WilsonKernels(const ImplParams &p) : Base(p){};
 
-template<class Impl> 
-void WilsonKernels<Impl>::DiracOptDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-						  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-						  int sF,int sU,int Ls, int Ns, const FermionField &in, FermionField &out)
-{
+/*
+template <class Impl>
+typename std::enable_if<Impl::Dimension == 3>::type WilsonKernels<Impl>::DiracOptDhopSite(
+    StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf, int sF,
+    int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
 #ifdef AVX512
-  if ( AsmOpt ) {
-
-    WilsonKernels<Impl>::DiracOptAsmDhopSite(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
+  if (AsmOpt) {
+    WilsonKernels<Impl>::DiracOptAsmDhopSite(st, lo, U, buf, sF, sU, Ls, Ns, in,
+                                             out);
 
   } else {
 #else
-  {  
+  {
 #endif
-    for(int site=0;site<Ns;site++) {
-      for(int s=0;s<Ls;s++) {
-	if (HandOpt) WilsonKernels<Impl>::DiracOptHandDhopSite(st,lo,U,buf,sF,sU,in,out);
-	else         WilsonKernels<Impl>::DiracOptGenericDhopSite(st,lo,U,buf,sF,sU,in,out);
-	sF++;
+    for (int site = 0; site < Ns; site++) {
+      for (int s = 0; s < Ls; s++) {
+        if (HandOpt)
+          WilsonKernels<Impl>::DiracOptHandDhopSite(st, lo, U, buf, sF, sU, in,
+                                                    out);
+        else
+          WilsonKernels<Impl>::DiracOptGenericDhopSite(st, lo, U, buf, sF, sU,
+                                                       in, out);
+        sF++;
       }
       sU++;
     }
-
   }
 }
 
+template <class Impl>
+typename std::enable_if<Impl::Dimension != 3>::type WilsonKernels<Impl>::DiracOptDhopSite(
+    StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf, int sF,
+    int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
+  for (int site = 0; site < Ns; site++) {
+    for (int s = 0; s < Ls; s++) {
+      WilsonKernels<Impl>::DiracOptGenericDhopSite(st, lo, U, buf, sF, sU, in,
+                                                   out);
+      sF++;
+    }
+    sU++;
+  }
+}
+
+
 template<class Impl> 
 void WilsonKernels<Impl>::DiracOptDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-					   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-					   int sF,int sU,int Ls, int Ns, const FermionField &in, FermionField &out)
+             std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+             int sF,int sU,int Ls, int Ns, const FermionField &in, FermionField &out,
+             typename std::enable_if<Impl::Dimension == 3, int>::type = 0)
 {
   // No asm implementation yet.
   //  if ( AsmOpt )     WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
@@ -82,17 +104,35 @@ void WilsonKernels<Impl>::DiracOptDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,
 }
 
 
-  ////////////////////////////////////////////
-  // Generic implementation; move to different file?
-  ////////////////////////////////////////////
 
-template<class Impl> 
-void WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-					   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-					   int sF,int sU,const FermionField &in, FermionField &out)
-{
-  SiteHalfSpinor  tmp;    
-  SiteHalfSpinor  chi;    
+
+template <class Impl>
+void WilsonKernels<Impl>::DiracOptDhopSiteDag(
+    StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf, int sF,
+    int sU, int Ls, int Ns, const FermionField &in, FermionField &out,
+    typename std::enable_if<Impl::Dimension != 3, int>::type = 0) {
+  for (int site = 0; site < Ns; site++) {
+    for (int s = 0; s < Ls; s++) {
+      WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st, lo, U, buf, sF, sU,
+                                                      in, out);
+      sF++;
+    }
+    sU++;
+  }
+}
+*/
+////////////////////////////////////////////
+// Generic implementation; move to different file?
+////////////////////////////////////////////
+
+template <class Impl>
+void WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(
+    StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf, int sF,
+    int sU, const FermionField &in, FermionField &out) {
+  SiteHalfSpinor tmp;
+  SiteHalfSpinor chi;
   SiteHalfSpinor *chi_p;
   SiteHalfSpinor Uchi;
   SiteSpinor result;
@@ -102,176 +142,175 @@ void WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(StencilImpl &st,LebesgueOrd
   ///////////////////////////
   // Xp
   ///////////////////////////
-  SE=st.GetEntry(ptype,Xp,sF);
+  SE = st.GetEntry(ptype, Xp, sF);
 
-  if (SE->_is_local ) { 
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjXp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjXp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjXp(chi,in._odata[SE->_offset]);
+      spProjXp(chi, in._odata[SE->_offset]);
     }
-  } else { 
-    chi_p=&buf[SE->_offset];
+  } else {
+    chi_p = &buf[SE->_offset];
   }
-  
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Xp,SE,st);
-  spReconXp(result,Uchi);
-    
+
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Xp, SE, st);
+  spReconXp(result, Uchi);
+
   ///////////////////////////
   // Yp
   ///////////////////////////
-  SE=st.GetEntry(ptype,Yp,sF);
+  SE = st.GetEntry(ptype, Yp, sF);
 
-  if ( SE->_is_local ) { 
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjYp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjYp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjYp(chi,in._odata[SE->_offset]);
+      spProjYp(chi, in._odata[SE->_offset]);
     }
-  } else { 
-    chi_p=&buf[SE->_offset];
+  } else {
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Yp,SE,st);
-  accumReconYp(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Yp, SE, st);
+  accumReconYp(result, Uchi);
 
   ///////////////////////////
   // Zp
   ///////////////////////////
-  SE=st.GetEntry(ptype,Zp,sF);
+  SE = st.GetEntry(ptype, Zp, sF);
 
-  if ( SE->_is_local ) { 
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjZp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjZp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjZp(chi,in._odata[SE->_offset]);
+      spProjZp(chi, in._odata[SE->_offset]);
     }
-  } else { 
-    chi_p=&buf[SE->_offset];
+  } else {
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Zp,SE,st);
-  accumReconZp(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Zp, SE, st);
+  accumReconZp(result, Uchi);
 
   ///////////////////////////
   // Tp
   ///////////////////////////
-  SE=st.GetEntry(ptype,Tp,sF);
+  SE = st.GetEntry(ptype, Tp, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjTp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjTp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjTp(chi,in._odata[SE->_offset]);
+      spProjTp(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Tp,SE,st);
-  accumReconTp(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Tp, SE, st);
+  accumReconTp(result, Uchi);
 
   ///////////////////////////
   // Xm
   ///////////////////////////
-  SE=st.GetEntry(ptype,Xm,sF);
+  SE = st.GetEntry(ptype, Xm, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjXm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjXm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjXm(chi,in._odata[SE->_offset]);
+      spProjXm(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Xm,SE,st);
-  accumReconXm(result,Uchi);
-  
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Xm, SE, st);
+  accumReconXm(result, Uchi);
+
   ///////////////////////////
   // Ym
   ///////////////////////////
-  SE=st.GetEntry(ptype,Ym,sF);
+  SE = st.GetEntry(ptype, Ym, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjYm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjYm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjYm(chi,in._odata[SE->_offset]);
+      spProjYm(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Ym,SE,st);
-  accumReconYm(result,Uchi);
-  
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Ym, SE, st);
+  accumReconYm(result, Uchi);
+
   ///////////////////////////
   // Zm
   ///////////////////////////
-  SE=st.GetEntry(ptype,Zm,sF);
+  SE = st.GetEntry(ptype, Zm, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjZm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjZm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjZm(chi,in._odata[SE->_offset]);
+      spProjZm(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Zm,SE,st);
-  accumReconZm(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Zm, SE, st);
+  accumReconZm(result, Uchi);
 
   ///////////////////////////
   // Tm
   ///////////////////////////
-  SE=st.GetEntry(ptype,Tm,sF);
+  SE = st.GetEntry(ptype, Tm, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjTm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else { 
-      spProjTm(chi,in._odata[SE->_offset]);
+    if (SE->_permute) {
+      spProjTm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else {
+      spProjTm(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Tm,SE,st);
-  accumReconTm(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Tm, SE, st);
+  accumReconTm(result, Uchi);
 
-  vstream(out._odata[sF],result);
+  vstream(out._odata[sF], result);
 };
 
-
-  // Need controls to do interior, exterior, or both
-template<class Impl> 
-void WilsonKernels<Impl>::DiracOptGenericDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-						  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-						  int sF,int sU,const FermionField &in, FermionField &out)
-{
-  SiteHalfSpinor  tmp;    
-  SiteHalfSpinor  chi;    
-  SiteHalfSpinor *chi_p;    
+// Need controls to do interior, exterior, or both
+template <class Impl>
+void WilsonKernels<Impl>::DiracOptGenericDhopSite(
+    StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf, int sF,
+    int sU, const FermionField &in, FermionField &out) {
+  SiteHalfSpinor tmp;
+  SiteHalfSpinor chi;
+  SiteHalfSpinor *chi_p;
   SiteHalfSpinor Uchi;
   SiteSpinor result;
   StencilEntry *SE;
@@ -280,299 +319,299 @@ void WilsonKernels<Impl>::DiracOptGenericDhopSite(StencilImpl &st,LebesgueOrder
   ///////////////////////////
   // Xp
   ///////////////////////////
-  SE=st.GetEntry(ptype,Xm,sF);
+  SE = st.GetEntry(ptype, Xm, sF);
 
-  if ( SE->_is_local ) { 
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjXp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjXp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjXp(chi,in._odata[SE->_offset]);
+      spProjXp(chi, in._odata[SE->_offset]);
     }
-  } else { 
-    chi_p=&buf[SE->_offset];
+  } else {
+    chi_p = &buf[SE->_offset];
   }
-  
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Xm,SE,st);
-  spReconXp(result,Uchi);
-    
+
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Xm, SE, st);
+  spReconXp(result, Uchi);
+
   ///////////////////////////
   // Yp
   ///////////////////////////
-  SE=st.GetEntry(ptype,Ym,sF);
+  SE = st.GetEntry(ptype, Ym, sF);
 
-  if ( SE->_is_local ) { 
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjYp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjYp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjYp(chi,in._odata[SE->_offset]);
+      spProjYp(chi, in._odata[SE->_offset]);
     }
-  } else { 
-    chi_p=&buf[SE->_offset];
+  } else {
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Ym,SE,st);
-  accumReconYp(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Ym, SE, st);
+  accumReconYp(result, Uchi);
 
   ///////////////////////////
   // Zp
   ///////////////////////////
-  SE=st.GetEntry(ptype,Zm,sF);
+  SE = st.GetEntry(ptype, Zm, sF);
 
-  if ( SE->_is_local ) { 
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjZp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjZp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjZp(chi,in._odata[SE->_offset]);
+      spProjZp(chi, in._odata[SE->_offset]);
     }
-  } else { 
-    chi_p=&buf[SE->_offset];
+  } else {
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Zm,SE,st);
-  accumReconZp(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Zm, SE, st);
+  accumReconZp(result, Uchi);
 
   ///////////////////////////
   // Tp
   ///////////////////////////
-  SE=st.GetEntry(ptype,Tm,sF);
+  SE = st.GetEntry(ptype, Tm, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjTp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjTp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjTp(chi,in._odata[SE->_offset]);
+      spProjTp(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Tm,SE,st);
-  accumReconTp(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Tm, SE, st);
+  accumReconTp(result, Uchi);
 
   ///////////////////////////
   // Xm
   ///////////////////////////
-  SE=st.GetEntry(ptype,Xp,sF);
+  SE = st.GetEntry(ptype, Xp, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjXm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjXm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjXm(chi,in._odata[SE->_offset]);
+      spProjXm(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Xp,SE,st);
-  accumReconXm(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Xp, SE, st);
+  accumReconXm(result, Uchi);
 
   ///////////////////////////
   // Ym
   ///////////////////////////
-  SE=st.GetEntry(ptype,Yp,sF);
+  SE = st.GetEntry(ptype, Yp, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjYm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjYm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjYm(chi,in._odata[SE->_offset]);
+      spProjYm(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Yp,SE,st);
-  accumReconYm(result,Uchi);
-  
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Yp, SE, st);
+  accumReconYm(result, Uchi);
+
   ///////////////////////////
   // Zm
   ///////////////////////////
-  SE=st.GetEntry(ptype,Zp,sF);
+  SE = st.GetEntry(ptype, Zp, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjZm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
+    if (SE->_permute) {
+      spProjZm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
     } else {
-      spProjZm(chi,in._odata[SE->_offset]);
+      spProjZm(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Zp,SE,st);
-  accumReconZm(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Zp, SE, st);
+  accumReconZm(result, Uchi);
 
   ///////////////////////////
   // Tm
   ///////////////////////////
-  SE=st.GetEntry(ptype,Tp,sF);
+  SE = st.GetEntry(ptype, Tp, sF);
 
-  if ( SE->_is_local ) {
+  if (SE->_is_local) {
     chi_p = &chi;
-    if ( SE->_permute ) {
-      spProjTm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else { 
-      spProjTm(chi,in._odata[SE->_offset]);
+    if (SE->_permute) {
+      spProjTm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else {
+      spProjTm(chi, in._odata[SE->_offset]);
     }
   } else {
-    chi_p=&buf[SE->_offset];
+    chi_p = &buf[SE->_offset];
   }
 
-  Impl::multLink(Uchi,U._odata[sU],*chi_p,Tp,SE,st);
-  accumReconTm(result,Uchi);
+  Impl::multLink(Uchi, U._odata[sU], *chi_p, Tp, SE, st);
+  accumReconTm(result, Uchi);
 
-  vstream(out._odata[sF],result);
+  vstream(out._odata[sF], result);
 };
 
-template<class Impl> 
-void WilsonKernels<Impl>::DiracOptDhopDir(StencilImpl &st,DoubledGaugeField &U,
-					  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-					  int sF,int sU,const FermionField &in, FermionField &out,int dir,int gamma)
-{
-  SiteHalfSpinor  tmp;    
-  SiteHalfSpinor  chi;    
-  SiteSpinor   result;
+template <class Impl>
+void WilsonKernels<Impl>::DiracOptDhopDir(
+    StencilImpl &st, DoubledGaugeField &U,
+    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf, int sF,
+    int sU, const FermionField &in, FermionField &out, int dir, int gamma) {
+  SiteHalfSpinor tmp;
+  SiteHalfSpinor chi;
+  SiteSpinor result;
   SiteHalfSpinor Uchi;
   StencilEntry *SE;
   int ptype;
 
-  SE=st.GetEntry(ptype,dir,sF);
+  SE = st.GetEntry(ptype, dir, sF);
 
   // Xp
-  if(gamma==Xp){
-    if (  SE->_is_local && SE->_permute ) {
-      spProjXp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else if ( SE->_is_local ) {
-      spProjXp(chi,in._odata[SE->_offset]);
-    } else { 
-      chi=buf[SE->_offset];
+  if (gamma == Xp) {
+    if (SE->_is_local && SE->_permute) {
+      spProjXp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else if (SE->_is_local) {
+      spProjXp(chi, in._odata[SE->_offset]);
+    } else {
+      chi = buf[SE->_offset];
     }
-    Impl::multLink(Uchi,U._odata[sU],chi,dir,SE,st);
-    spReconXp(result,Uchi);
+    Impl::multLink(Uchi, U._odata[sU], chi, dir, SE, st);
+    spReconXp(result, Uchi);
   }
 
   // Yp
-  if ( gamma==Yp ){
-    if (  SE->_is_local && SE->_permute ) {
-      spProjYp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else if ( SE->_is_local ) {
-      spProjYp(chi,in._odata[SE->_offset]);
-    } else { 
-      chi=buf[SE->_offset];
+  if (gamma == Yp) {
+    if (SE->_is_local && SE->_permute) {
+      spProjYp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else if (SE->_is_local) {
+      spProjYp(chi, in._odata[SE->_offset]);
+    } else {
+      chi = buf[SE->_offset];
     }
-    Impl::multLink(Uchi,U._odata[sU],chi,dir,SE,st);
-    spReconYp(result,Uchi);
+    Impl::multLink(Uchi, U._odata[sU], chi, dir, SE, st);
+    spReconYp(result, Uchi);
   }
-  
+
   // Zp
-  if ( gamma ==Zp ){
-    if (  SE->_is_local && SE->_permute ) {
-      spProjZp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else if ( SE->_is_local ) {
-      spProjZp(chi,in._odata[SE->_offset]);
-    } else { 
-      chi=buf[SE->_offset];
+  if (gamma == Zp) {
+    if (SE->_is_local && SE->_permute) {
+      spProjZp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else if (SE->_is_local) {
+      spProjZp(chi, in._odata[SE->_offset]);
+    } else {
+      chi = buf[SE->_offset];
     }
-    Impl::multLink(Uchi,U._odata[sU],chi,dir,SE,st);
-    spReconZp(result,Uchi);
+    Impl::multLink(Uchi, U._odata[sU], chi, dir, SE, st);
+    spReconZp(result, Uchi);
   }
-  
+
   // Tp
-  if ( gamma ==Tp ){
-    if (  SE->_is_local && SE->_permute ) {
-      spProjTp(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else if ( SE->_is_local ) {
-      spProjTp(chi,in._odata[SE->_offset]);
-    } else { 
-      chi=buf[SE->_offset];
+  if (gamma == Tp) {
+    if (SE->_is_local && SE->_permute) {
+      spProjTp(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else if (SE->_is_local) {
+      spProjTp(chi, in._odata[SE->_offset]);
+    } else {
+      chi = buf[SE->_offset];
     }
-    Impl::multLink(Uchi,U._odata[sU],chi,dir,SE,st);
-    spReconTp(result,Uchi);
+    Impl::multLink(Uchi, U._odata[sU], chi, dir, SE, st);
+    spReconTp(result, Uchi);
   }
 
   // Xm
-  if ( gamma==Xm ){
-    if (  SE->_is_local && SE->_permute ) {
-      spProjXm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else if ( SE->_is_local ) {
-      spProjXm(chi,in._odata[SE->_offset]);
-    } else { 
-      chi=buf[SE->_offset];
+  if (gamma == Xm) {
+    if (SE->_is_local && SE->_permute) {
+      spProjXm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else if (SE->_is_local) {
+      spProjXm(chi, in._odata[SE->_offset]);
+    } else {
+      chi = buf[SE->_offset];
     }
-    Impl::multLink(Uchi,U._odata[sU],chi,dir,SE,st);
-    spReconXm(result,Uchi);
+    Impl::multLink(Uchi, U._odata[sU], chi, dir, SE, st);
+    spReconXm(result, Uchi);
   }
 
   // Ym
-  if ( gamma == Ym ){
-    if (  SE->_is_local && SE->_permute ) {
-      spProjYm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else if ( SE->_is_local ) {
-      spProjYm(chi,in._odata[SE->_offset]);
-    } else { 
-      chi=buf[SE->_offset];
+  if (gamma == Ym) {
+    if (SE->_is_local && SE->_permute) {
+      spProjYm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else if (SE->_is_local) {
+      spProjYm(chi, in._odata[SE->_offset]);
+    } else {
+      chi = buf[SE->_offset];
     }
-    Impl::multLink(Uchi,U._odata[sU],chi,dir,SE,st);
-    spReconYm(result,Uchi);
+    Impl::multLink(Uchi, U._odata[sU], chi, dir, SE, st);
+    spReconYm(result, Uchi);
   }
 
   // Zm
-  if ( gamma == Zm ){
-    if (  SE->_is_local && SE->_permute ) {
-      spProjZm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else if ( SE->_is_local ) {
-      spProjZm(chi,in._odata[SE->_offset]);
-    } else { 
-      chi=buf[SE->_offset];
+  if (gamma == Zm) {
+    if (SE->_is_local && SE->_permute) {
+      spProjZm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else if (SE->_is_local) {
+      spProjZm(chi, in._odata[SE->_offset]);
+    } else {
+      chi = buf[SE->_offset];
     }
-    Impl::multLink(Uchi,U._odata[sU],chi,dir,SE,st);
-    spReconZm(result,Uchi);
-  }
-  
-  // Tm
-  if ( gamma==Tm ) {
-    if (  SE->_is_local && SE->_permute ) {
-      spProjTm(tmp,in._odata[SE->_offset]);
-      permute(chi,tmp,ptype);
-    } else if ( SE->_is_local ) {
-      spProjTm(chi,in._odata[SE->_offset]);
-    } else { 
-      chi=buf[SE->_offset];
-    }
-    Impl::multLink(Uchi,U._odata[sU],chi,dir,SE,st);
-    spReconTm(result,Uchi);
+    Impl::multLink(Uchi, U._odata[sU], chi, dir, SE, st);
+    spReconZm(result, Uchi);
   }
 
-  vstream(out._odata[sF],result);
+  // Tm
+  if (gamma == Tm) {
+    if (SE->_is_local && SE->_permute) {
+      spProjTm(tmp, in._odata[SE->_offset]);
+      permute(chi, tmp, ptype);
+    } else if (SE->_is_local) {
+      spProjTm(chi, in._odata[SE->_offset]);
+    } else {
+      chi = buf[SE->_offset];
+    }
+    Impl::multLink(Uchi, U._odata[sU], chi, dir, SE, st);
+    spReconTm(result, Uchi);
+  }
+
+  vstream(out._odata[sF], result);
 }
 
+FermOpTemplateInstantiate(WilsonKernels);
+AdjointFermOpTemplateInstantiate(WilsonKernels);
 
-  FermOpTemplateInstantiate(WilsonKernels);
-
-template class WilsonKernels<DomainWallRedBlack5dImplF>;		
+template class WilsonKernels<DomainWallRedBlack5dImplF>;
 template class WilsonKernels<DomainWallRedBlack5dImplD>;
-
-}}
+}
+}
diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index 231fa293..59c71bfd 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -1,98 +1,183 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/qcd/action/fermion/WilsonKernels.h
+Source file: ./lib/qcd/action/fermion/WilsonKernels.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
-#ifndef  GRID_QCD_DHOP_H
-#define  GRID_QCD_DHOP_H
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
+#ifndef GRID_QCD_DHOP_H
+#define GRID_QCD_DHOP_H
 
 namespace Grid {
 
-  namespace QCD {
+namespace QCD {
 
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Helper routines that implement Wilson stencil for a single site.
-    // Common to both the WilsonFermion and WilsonFermion5D
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    class WilsonKernelsStatic { 
-    public:
-      // S-direction is INNERMOST and takes no part in the parity.
-      static int AsmOpt;  // these are a temporary hack
-      static int HandOpt; // these are a temporary hack
-    };
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Helper routines that implement Wilson stencil for a single site.
+// Common to both the WilsonFermion and WilsonFermion5D
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+class WilsonKernelsStatic {
+ public:
+  // S-direction is INNERMOST and takes no part in the parity.
+  static int AsmOpt;   // these are a temporary hack
+  static int HandOpt;  // these are a temporary hack
+};
 
-    template<class Impl> class WilsonKernels : public FermionOperator<Impl> , public WilsonKernelsStatic { 
-    public:
+template <class Impl>
+class WilsonKernels : public FermionOperator<Impl>, public WilsonKernelsStatic {
+ public:
+  INHERIT_IMPL_TYPES(Impl);
+  typedef FermionOperator<Impl> Base;
 
-     INHERIT_IMPL_TYPES(Impl);
-     typedef FermionOperator<Impl> Base;
-     
-    public:
-
-     void DiracOptDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-			   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-			   int sF, int sU,int Ls, int Ns, const FermionField &in, FermionField &out);
-      
-     void DiracOptDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-			      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-			      int sF,int sU,int Ls, int Ns, const FermionField &in,FermionField &out);
-
-     void DiracOptDhopDir(StencilImpl &st,DoubledGaugeField &U,
-			  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-			  int sF,int sU,const FermionField &in, FermionField &out,int dirdisp,int gamma);
-
-    private:
-     // Specialised variants
-     void DiracOptGenericDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-			   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-			   int sF,int sU, const FermionField &in, FermionField &out);
-      
-     void DiracOptGenericDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-			      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-			      int sF,int sU,const FermionField &in,FermionField &out);
-
-     void DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-			      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-			      int sF,int sU,int Ls, int Ns, const FermionField &in, FermionField &out);
-
-
-     void DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-			      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-			      int sF,int sU,const FermionField &in, FermionField &out);
-     
-     void DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-				 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-				 int sF,int sU,const FermionField &in, FermionField &out);
-    public:
-
-     WilsonKernels(const ImplParams &p= ImplParams());
-     
-    };
+ public:
+  template <bool EnableBool = true>
+  typename std::enable_if<Impl::Dimension == 3 && EnableBool, void>::type
+  DiracOptDhopSite(
+      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, int Ls, int Ns, const FermionField &in,
+      FermionField &out) {
+#ifdef AVX512
+    if (AsmOpt) {
+      WilsonKernels<Impl>::DiracOptAsmDhopSite(st, lo, U, buf, sF, sU, Ls, Ns,
+                                               in, out);
 
+    } else {
+#else
+    {
+#endif
+      for (int site = 0; site < Ns; site++) {
+        for (int s = 0; s < Ls; s++) {
+          if (HandOpt)
+            WilsonKernels<Impl>::DiracOptHandDhopSite(st, lo, U, buf, sF, sU,
+                                                      in, out);
+          else
+            WilsonKernels<Impl>::DiracOptGenericDhopSite(st, lo, U, buf, sF, sU,
+                                                         in, out);
+          sF++;
+        }
+        sU++;
+      }
+    }
   }
+
+  template <bool EnableBool = true>
+  typename std::enable_if<Impl::Dimension != 3 && EnableBool, void>::type
+  DiracOptDhopSite(
+      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, int Ls, int Ns, const FermionField &in,
+      FermionField &out) {
+    for (int site = 0; site < Ns; site++) {
+      for (int s = 0; s < Ls; s++) {
+        WilsonKernels<Impl>::DiracOptGenericDhopSite(st, lo, U, buf, sF, sU, in,
+                                                     out);
+        sF++;
+      }
+      sU++;
+    }
+  }
+
+  template <bool EnableBool = true>
+  typename std::enable_if<Impl::Dimension == 3 && EnableBool, void>::type
+  DiracOptDhopSiteDag(
+      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
+    // No asm implementation yet.
+    //  if ( AsmOpt )
+    //  WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
+    //  else
+    for (int site = 0; site < Ns; site++) {
+      for (int s = 0; s < Ls; s++) {
+        if (HandOpt)
+          WilsonKernels<Impl>::DiracOptHandDhopSiteDag(st, lo, U, buf, sF, sU,
+                                                       in, out);
+        else
+          WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st, lo, U, buf, sF,
+                                                          sU, in, out);
+        sF++;
+      }
+      sU++;
+    }
+  }
+
+  template <bool EnableBool = true>
+  typename std::enable_if<Impl::Dimension != 3 && EnableBool, void>::type
+  DiracOptDhopSiteDag(
+      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
+    for (int site = 0; site < Ns; site++) {
+      for (int s = 0; s < Ls; s++) {
+        WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st, lo, U, buf, sF, sU,
+                                                        in, out);
+        sF++;
+      }
+      sU++;
+    }
+  }
+
+  void DiracOptDhopDir(
+      StencilImpl &st, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, const FermionField &in, FermionField &out, int dirdisp,
+      int gamma);
+
+ private:
+  // Specialised variants
+  void DiracOptGenericDhopSite(
+      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, const FermionField &in, FermionField &out);
+
+  void DiracOptGenericDhopSiteDag(
+      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, const FermionField &in, FermionField &out);
+
+  void DiracOptAsmDhopSite(
+      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, int Ls, int Ns, const FermionField &in,
+      FermionField &out);
+
+  void DiracOptHandDhopSite(
+      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, const FermionField &in, FermionField &out);
+
+  void DiracOptHandDhopSiteDag(
+      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+      int sF, int sU, const FermionField &in, FermionField &out);
+
+ public:
+  WilsonKernels(const ImplParams &p = ImplParams());
+};
+}
 }
 #endif
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index 33c464ac..da50d12c 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -38,8 +38,8 @@ namespace QCD {
   ///////////////////////////////////////////////////////////
   // Default to no assembler implementation
   ///////////////////////////////////////////////////////////
-template<class Impl>
-void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+  template<class Impl>
+  void WilsonKernels<Impl>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
 					       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 					       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 {
diff --git a/lib/qcd/action/fermion/WilsonKernelsHand.cc b/lib/qcd/action/fermion/WilsonKernelsHand.cc
index cb6c01a1..9f14d0a8 100644
--- a/lib/qcd/action/fermion/WilsonKernelsHand.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsHand.cc
@@ -311,8 +311,8 @@ namespace Grid {
 namespace QCD {
 
 
-template<class Impl>
-void WilsonKernels<Impl >::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
+  template<class Impl>
+  void WilsonKernels<Impl>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 					       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 					       int ss,int sU,const FermionField &in, FermionField &out)
 {
@@ -554,8 +554,8 @@ void WilsonKernels<Impl >::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &l
   }
 }
 
-template<class Impl>
-void WilsonKernels<Impl >::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
+  template<class Impl>
+  void WilsonKernels<Impl>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 					       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 					       int ss,int sU,const FermionField &in, FermionField &out)
 {
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index f52088f1..1981ab01 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -96,7 +96,7 @@ class NerscHmcRunnerTemplate {
 
     GridSerialRNG sRNG;
     GridParallelRNG pRNG(UGrid);
-    LatticeGaugeField U(UGrid);  // change this to an extended field (smearing class)
+    LatticeGaugeField U(UGrid);  // change this to an extended field (smearing class)?
 
     std::vector<int> SerSeed({1, 2, 3, 4, 5});
     std::vector<int> ParSeed({6, 7, 8, 9, 10});
diff --git a/lib/qcd/representations/hmc_types.h b/lib/qcd/representations/hmc_types.h
index 2c3d52dd..deef3b04 100644
--- a/lib/qcd/representations/hmc_types.h
+++ b/lib/qcd/representations/hmc_types.h
@@ -72,7 +72,7 @@ struct AccessTypes<A, TupleClass, 0, S...> {
   using elem = typename std::tuple_element<N, Rfields>::type;  // fields types
 
   typedef std::tuple<std::vector< A< elem<S> >* > ... > VectorCollection;
-  typedef std::tuple< A< elem<S> >* ... > ClassCollection;
+  typedef std::tuple< elem<S> ... > FieldTypeCollection;
 
   // Debug
   void return_size() {
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
index 727181fd..0de43427 100644
--- a/tests/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -30,7 +30,6 @@ directory
 *************************************************************************************/
 /*  END LEGAL */
 #include "Grid.h"
-//#include "qcd/hmc/HmcRunner.h"
 
 using namespace std;
 using namespace Grid;
@@ -62,6 +61,7 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
 
     // temporarily need a gauge field
     LatticeGaugeField U(UGrid);
+    //AdjointRepresentation::LatticeField Ua(UGrid);
 
     // Gauge action
     WilsonGaugeActionR Waction(5.6);
@@ -69,7 +69,7 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     Real mass = -0.77;
     FermionAction FermOp(U, *FGrid, *FrbGrid, mass);
 
-    ConjugateGradient<FermionField> CG(1.0e-8, 10000);
+    ConjugateGradient<FermionField> CG(1.0e-6, 10000);
 
     TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
 

From df6c9f55d1af1c40607087f241c2a98edf021075 Mon Sep 17 00:00:00 2001
From: Richard Rollins <rprollins@users.noreply.github.com>
Date: Wed, 20 Jul 2016 17:38:56 +0100
Subject: [PATCH 075/295] Use common benchmark output format for dwf_sweep and
 zmm

---
 benchmarks/Benchmark_dwf_sweep.cc |  2 ++
 benchmarks/Benchmark_zmm.cc       | 16 ++++++++++------
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/benchmarks/Benchmark_dwf_sweep.cc b/benchmarks/Benchmark_dwf_sweep.cc
index d52112ba..18d2f389 100644
--- a/benchmarks/Benchmark_dwf_sweep.cc
+++ b/benchmarks/Benchmark_dwf_sweep.cc
@@ -61,6 +61,8 @@ int main (int argc, char ** argv)
     QCD::WilsonKernelsStatic::AsmOpt=0;
   }
 
+  std::cout<<GridLogMessage << "=========================================================================="<<std::endl;
+  std::cout<<GridLogMessage << "= Benchmarking DWF"<<std::endl;
   std::cout<<GridLogMessage << "=========================================================================="<<std::endl;
   std::cout<<GridLogMessage << "Volume \t\t\tProcs \t Dw \t eoDw \t sDw \t eosDw (Mflop/s)  "<<std::endl;
   std::cout<<GridLogMessage << "=========================================================================="<<std::endl;
diff --git a/benchmarks/Benchmark_zmm.cc b/benchmarks/Benchmark_zmm.cc
index 6de5604b..c8ece12c 100644
--- a/benchmarks/Benchmark_zmm.cc
+++ b/benchmarks/Benchmark_zmm.cc
@@ -40,14 +40,20 @@ int main(int argc,char **argv)
   std::ofstream os("zmm.dat");
 
   os << "#V Ls Lxy Lzt C++ Asm OMP L1 " <<std::endl;
+  std::cout<<GridLogMessage << "====================================================================="<<std::endl;
+  std::cout<<GridLogMessage << "= Benchmarking ZMM"<<std::endl;
+  std::cout<<GridLogMessage << "====================================================================="<<std::endl;
+  std::cout<<GridLogMessage << "Volume \t\t\t\tC++DW/MFLOPs\tASM-DW/MFLOPs\tdiff"<<std::endl;
+  std::cout<<GridLogMessage << "====================================================================="<<std::endl;
   for(int L=4;L<=32;L+=4){
     for(int m=1;m<=2;m++){
       for(int Ls=8;Ls<=16;Ls+=8){
 	std::vector<int> grid({L,L,m*L,m*L});
+  std::cout << GridLogMessage <<"\t";
 	for(int i=0;i<4;i++) { 
 	  std::cout << grid[i]<<"x";
 	}
-	std::cout << Ls<<std::endl;
+	std::cout << Ls<<"\t\t";
 	bench(os,grid,Ls);
       }
     }
@@ -104,7 +110,6 @@ int bench(std::ofstream &os, std::vector<int> &latt4,int Ls)
   RealD M5  =1.8;
   DomainWallFermionR Dw(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
 
-  std::cout<<GridLogMessage << "Calling Dw"<<std::endl;
   int ncall=50;
   double t0=usecond();
   for(int i=0;i<ncall;i++){
@@ -116,7 +121,7 @@ int bench(std::ofstream &os, std::vector<int> &latt4,int Ls)
   double flops=1344*volume/2;
 
   mfc = flops*ncall/(t1-t0);
-  std::cout<<GridLogMessage << "Called C++ Dw"<< " mflop/s =   "<< mfc<<std::endl;
+  std::cout<<mfc<<"\t\t";
 
   QCD::WilsonKernelsStatic::AsmOpt=1;
   t0=usecond();
@@ -125,7 +130,7 @@ int bench(std::ofstream &os, std::vector<int> &latt4,int Ls)
   }
   t1=usecond();
   mfa = flops*ncall/(t1-t0);
-  std::cout<<GridLogMessage << "Called ASM Dw"<< " mflop/s =   "<< mfa<<std::endl;
+  std::cout<<mfa<<"\t\t";
   /*
   int dag=DaggerNo;
   t0=usecond();
@@ -163,8 +168,7 @@ int bench(std::ofstream &os, std::vector<int> &latt4,int Ls)
   //resulta = (-0.5) * resulta;
 
   diff = resulto-resulta;
-  std::cout<<GridLogMessage << "diff "<< norm2(diff)<<std::endl;
-  std::cout<<std::endl;
+  std::cout<<norm2(diff)<<std::endl;
   return 0;
 }
 

From 089f0ab582071b76769a8f2be7697922b016fe70 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Thu, 28 Jul 2016 16:44:41 +0100
Subject: [PATCH 076/295] Debugged HMC for Creutz relation

---
 lib/qcd/action/ActionBase.h                 |  4 ++--
 lib/qcd/action/fermion/WilsonKernels.h      | 18 +++++++--------
 lib/qcd/action/pseudofermion/TwoFlavour.h   | 22 ++++++++++++++++++
 lib/qcd/hmc/HmcRunner.h                     | 11 +++++----
 lib/qcd/hmc/integrators/Integrator.h        | 15 ++++++++-----
 lib/qcd/representations/adjoint.h           | 15 ++++++++++++-
 lib/qcd/smearing/GaugeConfiguration.h       | 25 +++++++++++++++++++++
 lib/qcd/smearing/StoutSmearing.h            |  6 ++---
 lib/qcd/utils/SUn.h                         |  6 ++---
 lib/qcd/utils/SUnAdjoint.h                  |  4 ++--
 lib/tensors/Tensor_exp.h                    |  2 +-
 tests/Test_hmc_WilsonAdjointFermionGauge.cc |  7 +++---
 12 files changed, 100 insertions(+), 35 deletions(-)

diff --git a/lib/qcd/action/ActionBase.h b/lib/qcd/action/ActionBase.h
index 5c9ca6b5..ad8d20ae 100644
--- a/lib/qcd/action/ActionBase.h
+++ b/lib/qcd/action/ActionBase.h
@@ -150,11 +150,11 @@ struct ActionLevelHirep {
   // Loop on tuple for a callable function
   template <std::size_t I = 1, typename Callable, typename ...Args>
   inline typename std::enable_if<I == std::tuple_size<action_collection>::value, void>::type apply(
-      Callable, Repr& R,Args...) const {}
+      Callable, Repr& R,Args&...) const {}
 
   template <std::size_t I = 1, typename Callable, typename ...Args>
   inline typename std::enable_if<I < std::tuple_size<action_collection>::value, void>::type apply(
-      Callable fn, Repr& R, Args... arguments) const {
+      Callable fn, Repr& R, Args&... arguments) const {
     fn(std::get<I>(actions_hirep), std::get<I>(R.rep), arguments...);
     apply<I + 1>(fn, R, arguments...);
   }  
diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index 59c71bfd..23e590b9 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -54,7 +54,7 @@ class WilsonKernels : public FermionOperator<Impl>, public WilsonKernelsStatic {
 
  public:
   template <bool EnableBool = true>
-  typename std::enable_if<Impl::Dimension == 3 && EnableBool, void>::type
+  typename std::enable_if<Impl::Dimension == 3 && Nc == 3 &&EnableBool, void>::type
   DiracOptDhopSite(
       StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
       std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
@@ -85,7 +85,7 @@ class WilsonKernels : public FermionOperator<Impl>, public WilsonKernelsStatic {
   }
 
   template <bool EnableBool = true>
-  typename std::enable_if<Impl::Dimension != 3 && EnableBool, void>::type
+    typename std::enable_if<(Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool, void>::type
   DiracOptDhopSite(
       StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
       std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
@@ -102,7 +102,7 @@ class WilsonKernels : public FermionOperator<Impl>, public WilsonKernelsStatic {
   }
 
   template <bool EnableBool = true>
-  typename std::enable_if<Impl::Dimension == 3 && EnableBool, void>::type
+  typename std::enable_if<Impl::Dimension == 3 && Nc== 3 && EnableBool, void>::type
   DiracOptDhopSiteDag(
       StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
       std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
@@ -126,11 +126,11 @@ class WilsonKernels : public FermionOperator<Impl>, public WilsonKernelsStatic {
   }
 
   template <bool EnableBool = true>
-  typename std::enable_if<Impl::Dimension != 3 && EnableBool, void>::type
-  DiracOptDhopSiteDag(
-      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
-      int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
+    typename std::enable_if<(Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool, void>::type
+    DiracOptDhopSiteDag(
+			StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+			std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+			int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
     for (int site = 0; site < Ns; site++) {
       for (int s = 0; s < Ls; s++) {
         WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st, lo, U, buf, sF, sU,
@@ -140,7 +140,7 @@ class WilsonKernels : public FermionOperator<Impl>, public WilsonKernelsStatic {
       sU++;
     }
   }
-
+  
   void DiracOptDhopDir(
       StencilImpl &st, DoubledGaugeField &U,
       std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
diff --git a/lib/qcd/action/pseudofermion/TwoFlavour.h b/lib/qcd/action/pseudofermion/TwoFlavour.h
index 3595dc67..01e56daf 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavour.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavour.h
@@ -133,6 +133,28 @@ class TwoFlavourPseudoFermionAction : public Action<typename Impl::GaugeField> {
     DerivativeSolver(MdagMOp, Phi, X);
     MdagMOp.Op(X, Y);
 
+    // Check hermiticity
+    /*
+    std::vector<int> seeds({1,2,3,4});
+    GridParallelRNG          RNG(U._grid);   RNG.SeedFixedIntegers(seeds);
+    FermionField RNGphi(FermOp.FermionGrid());
+    FermionField RNGchi(FermOp.FermionGrid());
+    FermionField Achi(FermOp.FermionGrid());
+    FermionField Aphi(FermOp.FermionGrid());
+
+    random(RNG, RNGphi);
+    random(RNG, RNGchi);
+    MdagMOp.Op(RNGchi, Achi);
+    MdagMOp.Op(RNGphi, Aphi);
+    ComplexD pAc = innerProduct(RNGphi, Achi);
+    ComplexD cAp = innerProduct(RNGchi, Aphi);
+    //these should be real
+    ComplexD pAp = innerProduct(RNGphi, Aphi);
+    ComplexD cAc = innerProduct(RNGchi, Achi);
+
+    std::cout<<GridLogMessage<< "pAc "<<pAc<<" cAp "<< cAp<< " diff "<<pAc-adj(cAp)<<std::endl;
+    std::cout << GridLogMessage << "pAp " << pAp << " cAc " << cAc << std::endl;
+*/
     // Our conventions really make this UdSdU; We do not differentiate wrt Udag
     // here.
     // So must take dSdU - adj(dSdU) and left multiply by mom to get dS/dt.
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index 1981ab01..0e78a243 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -102,7 +102,8 @@ class NerscHmcRunnerTemplate {
     std::vector<int> ParSeed({6, 7, 8, 9, 10});
 
     // Create integrator, including the smearing policy
-    // Smearing policy
+    // Smearing policy, only defined for Nc=3
+    
     std::cout << GridLogDebug << " Creating the Stout class\n";
     double rho = 0.1;  // smearing parameter, now hardcoded
     int Nsmear = 1;    // number of smearing levels
@@ -110,7 +111,9 @@ class NerscHmcRunnerTemplate {
     std::cout << GridLogDebug << " Creating the SmearedConfiguration class\n";
     SmearedConfiguration<Gimpl> SmearingPolicy(UGrid, Nsmear, Stout);
     std::cout << GridLogDebug << " done\n";
+    
     //////////////
+    //NoSmearing<Gimpl> SmearingPolicy;
     typedef MinimumNorm2<GaugeField, SmearedConfiguration<Gimpl>, RepresentationsPolicy >
         IntegratorType;  // change here to change the algorithm
     IntegratorParameters MDpar(20, 1.0);
@@ -131,19 +134,19 @@ class NerscHmcRunnerTemplate {
       HMCpar.MetropolisTest = true;
       sRNG.SeedFixedIntegers(SerSeed);
       pRNG.SeedFixedIntegers(ParSeed);
-      SU3::HotConfiguration(pRNG, U);
+      SU<Nc>::HotConfiguration(pRNG, U);
     } else if (StartType == ColdStart) {
       // Cold start
       HMCpar.MetropolisTest = true;
       sRNG.SeedFixedIntegers(SerSeed);
       pRNG.SeedFixedIntegers(ParSeed);
-      SU3::ColdConfiguration(pRNG, U);
+      SU<Nc>::ColdConfiguration(pRNG, U);
     } else if (StartType == TepidStart) {
       // Tepid start
       HMCpar.MetropolisTest = true;
       sRNG.SeedFixedIntegers(SerSeed);
       pRNG.SeedFixedIntegers(ParSeed);
-      SU3::TepidConfiguration(pRNG, U);
+      SU<Nc>::TepidConfiguration(pRNG, U);
     } else if (StartType == CheckpointStart) {
       HMCpar.MetropolisTest = true;
       // CheckpointRestart
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index 67725621..80ce9e53 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -149,7 +149,7 @@ class Integrator {
     }
 
     // Force from the other representations
-    as[level].apply(update_P_hireps, Representations, Mom, U, ep);
+    //as[level].apply(update_P_hireps, Representations, Mom, U, ep);
   }
 
   void update_U(GaugeField& U, double ep) {
@@ -173,7 +173,7 @@ class Integrator {
     // Update the smeared fields, can be implemented as observer
     Smearer.set_GaugeField(U);
     // Update the higher representations fields
-    Representations.update(U);  // void functions if fundamental representation
+    //Representations.update(U);  // void functions if fundamental representation
   }
 
   virtual void step(GaugeField& U, int level, int first, int last) = 0;
@@ -203,6 +203,7 @@ class Integrator {
                     GridParallelRNG& pRNG) {
       for (int a = 0; a < repr_set.size(); ++a)
         repr_set.at(a)->refresh(Rep.U, pRNG);
+      std::cout << GridLogDebug << "Hirep refreshing pseudofermions" << std::endl;
     }
   } refresh_hireps{};
 
@@ -216,7 +217,7 @@ class Integrator {
     // of the Metropolis
     Smearer.set_GaugeField(U);
     // Set the (eventual) representations gauge fields
-    // Representations.update(U);
+    //Representations.update(U);
 
     // The Smearer is attached to a pointer of the gauge field
     // automatically gets the correct field
@@ -230,7 +231,8 @@ class Integrator {
         as[level].actions.at(actionID)->refresh(Us, pRNG);
       }
 
-      as[level].apply(refresh_hireps, Representations, pRNG);
+      // Refresh the higher representation actions
+      //as[level].apply(refresh_hireps, Representations, pRNG);
     }
   }
 
@@ -240,12 +242,13 @@ class Integrator {
     template <class FieldType, class Repr>
     void operator()(std::vector<Action<FieldType>*> repr_set, Repr& Rep,
                     int level, RealD& H) {
-      RealD H_hirep = 0.0;
+      
       for (int a = 0; a < repr_set.size(); ++a) {
         RealD Hterm = repr_set.at(a)->S(Rep.U);
         std::cout << GridLogMessage << "S Level " << level << " term " << a
                   << " H Hirep = " << Hterm << std::endl;
         H += Hterm;
+
       }
     }
   } S_hireps{};
@@ -278,7 +281,7 @@ class Integrator {
                   << actionID << " H = " << Hterm << std::endl;
         H += Hterm;
       }
-      as[level].apply(S_hireps, Representations, level, H);
+      //as[level].apply(S_hireps, Representations, level, H);
     }
 
     return H;
diff --git a/lib/qcd/representations/adjoint.h b/lib/qcd/representations/adjoint.h
index d873353f..34cf2a42 100644
--- a/lib/qcd/representations/adjoint.h
+++ b/lib/qcd/representations/adjoint.h
@@ -28,6 +28,7 @@ class AdjointRep {
 
   explicit AdjointRep(GridBase *grid) : U(grid) {}
   void update_representation(const LatticeGaugeField &Uin) {
+  	std::cout << GridLogDebug << "Updating adjoint representation\n" ;
     // Uin is in the fundamental representation
     // get the U in AdjointRep
     // (U_adj)_B = tr[e^a U e^b U^dag]
@@ -49,9 +50,18 @@ class AdjointRep {
       auto U_mu = peekLorentz(U, mu);
       for (int a = 0; a < Dimension; a++) {
         tmp = 2.0 * adj(Uin_mu) * ta[a] * Uin_mu;
-        for (int b = 0; b < (ncolour * ncolour - 1); b++)
+        for (int b = 0; b < Dimension; b++)
           pokeColour(U_mu, trace(tmp * ta[b]), a, b);
       }
+      // Check matrix U_mu, must be real orthogonal
+      //reality
+      LatticeMatrix Ucheck = U_mu - conjugate(U_mu);
+      std::cout << GridLogMessage << "Reality check: " << norm2(Ucheck) << std::endl;
+      LatticeMatrix uno(Uin._grid);
+      uno = 1.0;
+      Ucheck = U_mu * adj(U_mu) - uno;
+      std::cout << GridLogMessage << "orthogonality check: " << norm2(Ucheck) << std::endl;
+
       pokeLorentz(U, U_mu, mu);
     }
   }
@@ -59,6 +69,7 @@ class AdjointRep {
   LatticeGaugeField RtoFundamentalProject(const LatticeField &in,
                                           Real scale = 1.0) const {
     LatticeGaugeField out(in._grid);
+    out = zero;
 
     for (int mu = 0; mu < Nd; mu++) {
       LatticeColourMatrix out_mu(in._grid);  // fundamental representation
@@ -70,6 +81,8 @@ class AdjointRep {
       projectOnAlgebra(h, in_mu, scale);
       FundamentalLieAlgebraMatrix(h, out_mu, 1.0);  // apply scale only once
       pokeLorentz(out, out_mu, mu);
+	  // Returns traceless antihermitian matrix Nc * Nc.
+	  // Confirmed            
     }
     return out;
   }
diff --git a/lib/qcd/smearing/GaugeConfiguration.h b/lib/qcd/smearing/GaugeConfiguration.h
index 6219702b..57cccb0a 100644
--- a/lib/qcd/smearing/GaugeConfiguration.h
+++ b/lib/qcd/smearing/GaugeConfiguration.h
@@ -10,6 +10,29 @@ namespace Grid {
 
 namespace QCD {
 
+  //trivial class for no smearing
+  template< class Gimpl >
+class NoSmearing {
+public:
+  INHERIT_GIMPL_TYPES(Gimpl);
+
+  GaugeField*
+      ThinLinks;
+
+  NoSmearing(): ThinLinks(NULL) {}
+
+  void set_GaugeField(GaugeField& U) { ThinLinks = &U; }
+
+  void smeared_force(GaugeField& SigmaTilde) const {}
+
+  GaugeField& get_SmearedU() { return *ThinLinks; }
+
+  GaugeField& get_U(bool smeared = false) {
+    return *ThinLinks;
+  }
+
+};
+
 /*!
   @brief Smeared configuration container
 
@@ -201,6 +224,8 @@ class SmearedConfiguration {
   SmearedConfiguration()
       : smearingLevels(0), StoutSmearing(), SmearedSet(), ThinLinks(NULL) {}
 
+
+  
   // attach the smeared routines to the thin links U and fill the smeared set
   void set_GaugeField(GaugeField& U) { fill_smearedSet(U); }
 
diff --git a/lib/qcd/smearing/StoutSmearing.h b/lib/qcd/smearing/StoutSmearing.h
index 50a09972..b50ffe21 100644
--- a/lib/qcd/smearing/StoutSmearing.h
+++ b/lib/qcd/smearing/StoutSmearing.h
@@ -18,14 +18,12 @@ class Smear_Stout : public Smear<Gimpl> {
   INHERIT_GIMPL_TYPES(Gimpl)
 
   Smear_Stout(Smear<Gimpl>* base) : SmearBase(base) {
-    static_assert(Nc == 3,
-                  "Stout smearing currently implemented only for Nc==3");
+    assert(Nc == 3);//                  "Stout smearing currently implemented only for Nc==3");
   }
 
   /*! Default constructor */
   Smear_Stout(double rho = 1.0) : SmearBase(new Smear_APE<Gimpl>(rho)) {
-    static_assert(Nc == 3,
-                  "Stout smearing currently implemented only for Nc==3");
+    assert(Nc == 3);//                  "Stout smearing currently implemented only for Nc==3");
   }
 
   ~Smear_Stout() {}  // delete SmearBase...
diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index c3e8295f..26c7f32d 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -48,7 +48,7 @@ class SU {
   using iSU2Matrix = iScalar<iScalar<iMatrix<vtype, 2> > >;
   template <typename vtype>
   using iSUnAlgebraVector =
-      iScalar<iScalar<iVector<vtype, (ncolour * ncolour - 1)> > >;
+      iScalar<iScalar<iVector<vtype, AdjointDimension> > >;
 
   //////////////////////////////////////////////////////////////////////////////////////////////////
   // Types can be accessed as SU<2>::Matrix , SU<2>::vSUnMatrix,
@@ -656,7 +656,7 @@ class SU {
     }
   }
 
-  static void FundamentalLieAlgebraMatrix(LatticeAlgebraVector &h,
+  static void FundamentalLieAlgebraMatrix(const LatticeAlgebraVector &h,
                                           LatticeMatrix &out,
                                           Real scale = 1.0) {
     conformable(h, out);
@@ -667,7 +667,7 @@ class SU {
     out = zero;
     for (int a = 0; a < AdjointDimension; a++) {
       generator(a, ta);
-      la = peekColour(h, a) * scale * ta;
+      la = peekColour(h, a) * timesI(ta) * scale;
       out += la;
     }
   }
diff --git a/lib/qcd/utils/SUnAdjoint.h b/lib/qcd/utils/SUnAdjoint.h
index 93a7601e..70f22f4c 100644
--- a/lib/qcd/utils/SUnAdjoint.h
+++ b/lib/qcd/utils/SUnAdjoint.h
@@ -118,7 +118,7 @@ class SU_Adjoint : public SU<ncolour> {
 
     for (int a = 0; a < Dimension; a++) {
       generator(a, iTa);
-      auto tmp = real(trace(iTa * in)) * scale; 
+      auto tmp = - 2.0 * real(trace(iTa * in)) * scale; 
       pokeColour(h_out, tmp, a);
     }
   }
@@ -135,7 +135,7 @@ class SU_Adjoint : public SU<ncolour> {
     }
 
     for (int a = 0; a < Dimension; a++) {
-      auto tmp = real(trace(iTa[a] * in)) * scale; 
+      auto tmp = - 2.0*real(trace(iTa[a] * in)) * scale; 
       pokeColour(h_out, tmp, a);
     }
   }
diff --git a/lib/tensors/Tensor_exp.h b/lib/tensors/Tensor_exp.h
index 058e524d..ad0d2071 100644
--- a/lib/tensors/Tensor_exp.h
+++ b/lib/tensors/Tensor_exp.h
@@ -56,7 +56,7 @@ namespace Grid {
 	temp = unit + temp*arg;
       }
       
-      return ProjectOnGroup(temp);//maybe not strictly necessary
+      return temp;
       
     }
 
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
index 0de43427..e5125756 100644
--- a/tests/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -39,7 +39,8 @@ namespace Grid {
 namespace QCD {
 
 // Here change the allowed (higher) representations
-typedef Representations< FundamentalRepresentation, AdjointRepresentation > TheRepresentations;
+//typedef Representations< FundamentalRepresentation, AdjointRepresentation > TheRepresentations;
+typedef Representations< FundamentalRepresentation > TheRepresentations;
 
 
 class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
@@ -61,7 +62,7 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
 
     // temporarily need a gauge field
     LatticeGaugeField U(UGrid);
-    //AdjointRepresentation::LatticeField Ua(UGrid);
+    //AdjointRepresentation::LatticeField U(UGrid);
 
     // Gauge action
     WilsonGaugeActionR Waction(5.6);
@@ -69,7 +70,7 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     Real mass = -0.77;
     FermionAction FermOp(U, *FGrid, *FrbGrid, mass);
 
-    ConjugateGradient<FermionField> CG(1.0e-6, 10000);
+    ConjugateGradient<FermionField> CG(1.0e-8, 10000);
 
     TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
 

From e9f30cab2cce3398e4155110b8f7bc6895b437eb Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Sat, 30 Jul 2016 17:53:18 +0100
Subject: [PATCH 077/295] first working version for the new build system

---
 .gitignore                         |    24 +-
 Makefile.am                        |     7 +-
 autogen.sh                         |     4 -
 benchmarks/Make.inc                |    39 -
 benchmarks/Makefile.am             |     4 -
 bootstrap.sh                       |     5 +
 configure                          |  8497 --------------------
 configure.ac                       |   308 +-
 eigen-3.2.9.tar.bz2                |   Bin 0 -> 1163762 bytes
 lib/Eigen.inc                      |     1 -
 lib/Make.inc                       |     4 -
 lib/Makefile.am                    |    17 +-
 lib/algorithms/approx/Remez.h      |     4 +-
 lib/simd/Grid_vector_types.h       |     2 +-
 ltmain.sh                          | 11147 +++++++++++++++++++++++++++
 m4/ax_compiler_vendor.m4           |    87 +
 m4/ax_compiler_version.m4          |   492 ++
 m4/ax_gcc_option.m4                |    34 +
 m4/ax_gcc_version.m4               |    64 +
 m4/ax_gxx_version.m4               |    67 +
 m4/lx_find_mpi.m4                  |   203 +
 prerequisites/Makefile.am          |    38 -
 prerequisites/eigen3.2.8.tar.bz2   |   Bin 1161201 -> 0 bytes
 prerequisites/eigenIGENVER.tar.bz2 |   Bin 1161201 -> 0 bytes
 scripts/Make.inc                   |     4 -
 scripts/filelist                   |    11 +-
 scripts/update_eigen.sh            |    19 +
 tests/IO/Make.inc                  |    11 -
 tests/IO/Makefile.am               |     4 -
 tests/Make.inc                     |    19 -
 tests/Makefile.am                  |     7 -
 tests/core/Make.inc                |    83 -
 tests/core/Makefile.am             |     4 -
 tests/debug/Make.inc               |    35 -
 tests/debug/Makefile.am            |     4 -
 tests/debug/Test_zmm.cc            |    14 +-
 tests/forces/Make.inc              |    47 -
 tests/forces/Makefile.am           |     4 -
 tests/hmc/Make.inc                 |    71 -
 tests/hmc/Makefile.am              |     4 -
 tests/qdpxx/Make.inc               |    11 -
 tests/qdpxx/Makefile.am            |     4 +-
 tests/solver/Make.inc              |    55 -
 tests/solver/Makefile.am           |     4 -
 44 files changed, 12289 insertions(+), 9174 deletions(-)
 delete mode 100755 autogen.sh
 delete mode 100644 benchmarks/Make.inc
 create mode 100755 bootstrap.sh
 delete mode 100755 configure
 create mode 100644 eigen-3.2.9.tar.bz2
 delete mode 100644 lib/Eigen.inc
 delete mode 100644 lib/Make.inc
 create mode 100644 ltmain.sh
 create mode 100644 m4/ax_compiler_vendor.m4
 create mode 100644 m4/ax_compiler_version.m4
 create mode 100644 m4/ax_gcc_option.m4
 create mode 100644 m4/ax_gcc_version.m4
 create mode 100644 m4/ax_gxx_version.m4
 create mode 100644 m4/lx_find_mpi.m4
 delete mode 100644 prerequisites/Makefile.am
 delete mode 100644 prerequisites/eigen3.2.8.tar.bz2
 delete mode 100644 prerequisites/eigenIGENVER.tar.bz2
 delete mode 100644 scripts/Make.inc
 create mode 100755 scripts/update_eigen.sh
 delete mode 100644 tests/IO/Make.inc
 delete mode 100644 tests/Make.inc
 delete mode 100644 tests/core/Make.inc
 delete mode 100644 tests/debug/Make.inc
 delete mode 100644 tests/forces/Make.inc
 delete mode 100644 tests/hmc/Make.inc
 delete mode 100644 tests/qdpxx/Make.inc
 delete mode 100644 tests/solver/Make.inc

diff --git a/.gitignore b/.gitignore
index 80ea8e86..da626dd6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,7 +5,6 @@
 *.o
 *.obj
 
-
 # Editor files #
 ################
 *~
@@ -48,6 +47,7 @@ Config.h.in
 config.log
 config.status
 .deps
+*.inc
 
 # http://www.gnu.org/software/autoconf #
 ########################################
@@ -63,19 +63,6 @@ config.sub
 config.guess
 INSTALL
 .dirstamp
-
-# Packages #
-############
-# it's better to unpack these files and commit the raw source
-# git has its own built in compression methods
-*.7z
-*.dmg
-*.gz
-*.iso
-*.jar
-*.rar
-*.tar
-*.zip
  
 # Logs and databases #
 ######################
@@ -101,3 +88,12 @@ build*/*
 #####################
 *.xcodeproj/*
 build.sh
+
+# Eigen source #
+################
+lib/Eigen/*
+
+# libtool macros #
+##################
+m4/lt*
+m4/libtool.m4
\ No newline at end of file
diff --git a/Makefile.am b/Makefile.am
index 80ed72bf..90c5cd71 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,5 @@
 # additional include paths necessary to compile the C++ library
-AM_CXXFLAGS = -I$(top_srcdir)/include/
+SUBDIRS = lib benchmarks tests
 
-SUBDIRS = prerequisites lib benchmarks tests
-
-filelist: $(SUBDIRS)
\ No newline at end of file
+AM_CXXFLAGS += -I$(top_builddir)/include
+ACLOCAL_AMFLAGS = -I m4
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100755
index d8d7212d..00000000
--- a/autogen.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-aclocal -I m4
-autoheader -f
-automake -f --add-missing
-autoconf -f
diff --git a/benchmarks/Make.inc b/benchmarks/Make.inc
deleted file mode 100644
index 8d0721a4..00000000
--- a/benchmarks/Make.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-
-bin_PROGRAMS = Benchmark_comms Benchmark_dwf Benchmark_dwf_ntpf Benchmark_dwf_sweep Benchmark_memory_asynch Benchmark_memory_bandwidth Benchmark_su3 Benchmark_wilson Benchmark_zmm
-
-
-Benchmark_comms_SOURCES=Benchmark_comms.cc
-Benchmark_comms_LDADD=-lGrid
-
-
-Benchmark_dwf_SOURCES=Benchmark_dwf.cc
-Benchmark_dwf_LDADD=-lGrid
-
-
-Benchmark_dwf_ntpf_SOURCES=Benchmark_dwf_ntpf.cc
-Benchmark_dwf_ntpf_LDADD=-lGrid
-
-
-Benchmark_dwf_sweep_SOURCES=Benchmark_dwf_sweep.cc
-Benchmark_dwf_sweep_LDADD=-lGrid
-
-
-Benchmark_memory_asynch_SOURCES=Benchmark_memory_asynch.cc
-Benchmark_memory_asynch_LDADD=-lGrid
-
-
-Benchmark_memory_bandwidth_SOURCES=Benchmark_memory_bandwidth.cc
-Benchmark_memory_bandwidth_LDADD=-lGrid
-
-
-Benchmark_su3_SOURCES=Benchmark_su3.cc
-Benchmark_su3_LDADD=-lGrid
-
-
-Benchmark_wilson_SOURCES=Benchmark_wilson.cc
-Benchmark_wilson_LDADD=-lGrid
-
-
-Benchmark_zmm_SOURCES=Benchmark_zmm.cc
-Benchmark_zmm_LDADD=-lGrid
-
diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am
index bfb18e0d..05affc99 100644
--- a/benchmarks/Makefile.am
+++ b/benchmarks/Makefile.am
@@ -1,8 +1,4 @@
 # additional include paths necessary to compile the C++ library
-AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
-#
-# Test code
-#
 include Make.inc
diff --git a/bootstrap.sh b/bootstrap.sh
new file mode 100755
index 00000000..a094692a
--- /dev/null
+++ b/bootstrap.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+autoreconf -fvi
+./scripts/update_eigen.sh eigen-3.2.9.tar.bz2
+./scripts/filelist
diff --git a/configure b/configure
deleted file mode 100755
index d003936e..00000000
--- a/configure
+++ /dev/null
@@ -1,8497 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Grid 1.0.
-#
-# Report bugs to <paboyle@ph.ed.ac.uk>.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-	 /*)
-	   for as_base in sh bash ksh sh5; do
-	     # Try only shells that exist, to save several forks.
-	     as_shell=$as_dir/$as_base
-	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-	   done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: paboyle@ph.ed.ac.uk about your system, including any
-$0: error possibly output before this message. Then install
-$0: a modern shell, or manually run the script under such a
-$0: shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='	';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='Grid'
-PACKAGE_TARNAME='grid'
-PACKAGE_VERSION='1.0'
-PACKAGE_STRING='Grid 1.0'
-PACKAGE_BUGREPORT='paboyle@ph.ed.ac.uk'
-PACKAGE_URL=''
-
-ac_unique_file="lib/Grid.h"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-enable_latex_docs
-enable_html_docs
-enable_dot
-DOXYGEN_DOC_FALSE
-DOXYGEN_DOC_TRUE
-DOT
-DOXYGEN
-USE_LAPACK_LIB_FALSE
-USE_LAPACK_LIB_TRUE
-USE_LAPACK_FALSE
-USE_LAPACK_TRUE
-BUILD_CHROMA_REGRESSION_FALSE
-BUILD_CHROMA_REGRESSION_TRUE
-BUILD_COMMS_NONE_FALSE
-BUILD_COMMS_NONE_TRUE
-BUILD_COMMS_MPI_FALSE
-BUILD_COMMS_MPI_TRUE
-BUILD_COMMS_SHMEM_FALSE
-BUILD_COMMS_SHMEM_TRUE
-BUILD_ZMM_FALSE
-BUILD_ZMM_TRUE
-EGREP
-GREP
-CXXCPP
-SIMD_FLAGS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-ac_ct_CC
-CFLAGS
-CC
-RANLIB
-OPENMP_CXXFLAGS
-am__fastdepCXX_FALSE
-am__fastdepCXX_TRUE
-CXXDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CXX
-CPPFLAGS
-LDFLAGS
-CXXFLAGS
-CXX
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_silent_rules
-enable_dependency_tracking
-enable_openmp
-enable_simd
-enable_precision
-enable_comms
-enable_rng
-enable_timers
-enable_chroma
-enable_lapack
-enable_doxygen
-enable_dot
-enable_html_docs
-enable_latex_docs
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CXX
-CXXFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CCC
-CC
-CFLAGS
-CXXCPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
-		datadir sysconfdir sharedstatedir localstatedir includedir \
-		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_myself" : 'X\(//\)[^/]' \| \
-	 X"$as_myself" : 'X\(//\)$' \| \
-	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-	pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures Grid 1.0 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/grid]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of Grid 1.0:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-silent-rules   less verbose build output (undo: "make V=1")
-  --disable-silent-rules  verbose build output (undo: "make V=0")
-  --enable-dependency-tracking
-                          do not reject slow dependency extractors
-  --disable-dependency-tracking
-                          speeds up one-time build
-  --disable-openmp        do not use OpenMP
-  --enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|IMCI
-                          Select instructions to be SSE4.0, AVX 1.0, AVX
-                          2.0+FMA, AVX 512, IMCI
-  --enable-precision=single|double
-                          Select default word size of Real
-  --enable-comms=none|mpi Select communications
-  --enable-rng=ranlux48|mt19937
-                          Select Random Number Generator to be used
-  --enable-timers=yes|no  Enable system dependent high res timers
-  --enable-chroma         Expect chroma compiled under c++11
-  --enable-lapack         Enable lapack yes/no
-  --enable-doxygen        enable documentation generation with doxygen (auto)
-  --enable-dot            use 'dot' to generate graphs in doxygen (auto)
-  --enable-html-docs      enable HTML generation with doxygen (yes)
-  --enable-latex-docs     enable LaTeX documentation generation with doxygen
-                          (no)
-
-Some influential environment variables:
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  CXXCPP      C++ preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <paboyle@ph.ed.ac.uk>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-Grid configure 1.0
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_cxx_try_compile LINENO
-# ----------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_compile
-
-# ac_fn_cxx_try_link LINENO
-# -------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_link
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_cxx_try_cpp LINENO
-# ------------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_cpp
-
-# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
-# ---------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_cxx_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ---------------------------------- ##
-## Report this to paboyle@ph.ed.ac.uk ##
-## ---------------------------------- ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_header_mongrel
-
-# ac_fn_cxx_try_run LINENO
-# ------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_cxx_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_run
-
-# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
-# ---------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_cxx_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_header_compile
-
-# ac_fn_cxx_check_decl LINENO SYMBOL VAR INCLUDES
-# -----------------------------------------------
-# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-# accordingly.
-ac_fn_cxx_check_decl ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  as_decl_name=`echo $2|sed 's/ *(.*//'`
-  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-#ifndef $as_decl_name
-#ifdef __cplusplus
-  (void) $as_decl_use;
-#else
-  (void) $as_decl_name;
-#endif
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_decl
-
-# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES
-# ---------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_cxx_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-	 return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-	    return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_type
-
-# ac_fn_c_find_uintX_t LINENO BITS VAR
-# ------------------------------------
-# Finds an unsigned integer type with width BITS, setting cache variable VAR
-# accordingly.
-ac_fn_c_find_uintX_t ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
-$as_echo_n "checking for uint$2_t... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-     # Order is important - never check a type that is potentially smaller
-     # than half of the expected target width.
-     for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \
-	 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
-test_array [0] = 0;
-return test_array [0];
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  case $ac_type in #(
-  uint$2_t) :
-    eval "$3=yes" ;; #(
-  *) :
-    eval "$3=\$ac_type" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-       if eval test \"x\$"$3"\" = x"no"; then :
-
-else
-  break
-fi
-     done
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_find_uintX_t
-
-# ac_fn_cxx_check_func LINENO FUNC VAR
-# ------------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_cxx_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by Grid $as_me 1.0, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-	ac_must_keep_next=false # Got value, back to normal.
-      else
-	case $ac_arg in
-	  *=* | --config-cache | -C | -disable-* | --disable-* \
-	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-	  | -with-* | --with-* | -without-* | --without-* | --x)
-	    case "$ac_configure_args0 " in
-	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-	    esac
-	    ;;
-	  -* ) ac_must_keep_next=true ;;
-	esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-	"s/'\''/'\''\\\\'\'''\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-	eval ac_val=\$$ac_var
-	case $ac_val in
-	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-	esac
-	$as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-	# differences in whitespace do not lead to failure.
-	ac_old_val_w=`echo x $ac_old_val`
-	ac_new_val_w=`echo x $ac_new_val`
-	if test "$ac_old_val_w" != "$ac_new_val_w"; then
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-	  ac_cache_corrupted=:
-	else
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-	  eval $ac_var=\$ac_old_val
-	fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-am__api_version='1.15'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    rm -rf conftest.one conftest.two conftest.dir
-	    echo one > conftest.one
-	    echo two > conftest.two
-	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-	      test -s conftest.one && test -s conftest.two &&
-	      test -s conftest.dir/conftest.one &&
-	      test -s conftest.dir/conftest.two
-	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	      break 3
-	    fi
-	  fi
-	fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   am_has_slept=no
-   for am_try in 1 2; do
-     echo "timestamp, slept: $am_has_slept" > conftest.file
-     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-     if test "$*" = "X"; then
-	# -L didn't work.
-	set X `ls -t "$srcdir/configure" conftest.file`
-     fi
-     if test "$*" != "X $srcdir/configure conftest.file" \
-	&& test "$*" != "X conftest.file $srcdir/configure"; then
-
-	# If neither matched, then we have a broken ls.  This can happen
-	# if, for instance, CONFIG_SHELL is bash and it inherits a
-	# broken ls alias from the environment.  This has actually
-	# happened.  Such a system could not be considered "sane".
-	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-  alias in your environment" "$LINENO" 5
-     fi
-     if test "$2" = conftest.file || test $am_try -eq 2; then
-       break
-     fi
-     # Just in case.
-     sleep 1
-     am_has_slept=yes
-   done
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
-  ( sleep 1 ) &
-  am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
-  am_missing_run="$MISSING "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip".  However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
-	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-	     'mkdir (GNU coreutils) '* | \
-	     'mkdir (coreutils) '* | \
-	     'mkdir (fileutils) '4.1*)
-	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-	       break 3;;
-	   esac
-	 done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-	@echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=1;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-	@$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
-    AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='grid'
- VERSION='1.0'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# For better backward compatibility.  To be removed once Automake 1.9.x
-# dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
-mkdir_p='$(MKDIR_P)'
-
-# We need awk for the "check" target (and possibly the TAP driver).  The
-# system "awk" is bad on some platforms.
-# Always define AMTAR for backward compatibility.  Yes, it's still used
-# in the wild :-(  We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar  pax cpio none'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes.  So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
-  cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present.  This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message.  This
-can help us improve future automake versions.
-
-END
-  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
-    echo 'Configuration will proceed anyway, since you have set the' >&2
-    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
-    echo >&2
-  else
-    cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
-    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
-  fi
-fi
-
-
-ac_sources="lib"
-ac_dests="include/Grid "
-while test -n "$ac_sources"; do
-  set $ac_dests; ac_dest=$1; shift; ac_dests=$*
-  set $ac_sources; ac_source=$1; shift; ac_sources=$*
-  ac_config_links_1="$ac_config_links_1 $ac_dest:$ac_source"
-done
-ac_config_links="$ac_config_links $ac_config_links_1"
-
-
-ac_config_headers="$ac_config_headers lib/Config.h"
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=0;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-	@$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
-    AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}:
-
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-Configuring $PACKAGE v$VERSION  for $host
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-" >&5
-$as_echo "$as_me:
-
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-Configuring $PACKAGE v$VERSION  for $host
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-" >&6;}
-
-# Checks for programs.
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
-$as_echo_n "checking whether the C++ compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-	;;
-    [ab].out )
-	# We found the default executable, but exeext='' is most
-	# certainly right.
-	break;;
-    *.* )
-	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-	then :; else
-	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	fi
-	# We set ac_cv_exeext here because the later test for it is not
-	# safe: cross compilers may not add the suffix if given an `-o'
-	# argument, so we may need to know it at that point already.
-	# Even if this section looks crufty: it has the advantage of
-	# actually working.
-	break;;
-    * )
-	break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C++ compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
-$as_echo_n "checking for C++ compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C++ compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if ${ac_cv_cxx_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if ${ac_cv_prog_cxx_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-else
-  CXXFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-  am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CXX"  am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
-
-
-
-
-  OPENMP_CXXFLAGS=
-  # Check whether --enable-openmp was given.
-if test "${enable_openmp+set}" = set; then :
-  enableval=$enable_openmp;
-fi
-
-  if test "$enable_openmp" != no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CXX option to support OpenMP" >&5
-$as_echo_n "checking for $CXX option to support OpenMP... " >&6; }
-if ${ac_cv_prog_cxx_openmp+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifndef _OPENMP
- choke me
-#endif
-#include <omp.h>
-int main () { return omp_get_num_threads (); }
-
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_prog_cxx_openmp='none needed'
-else
-  ac_cv_prog_cxx_openmp='unsupported'
-	  	  	  	  	  	  	                                	  	  	  	  	  	  for ac_option in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \
-                           -Popenmp --openmp; do
-	    ac_save_CXXFLAGS=$CXXFLAGS
-	    CXXFLAGS="$CXXFLAGS $ac_option"
-	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifndef _OPENMP
- choke me
-#endif
-#include <omp.h>
-int main () { return omp_get_num_threads (); }
-
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_prog_cxx_openmp=$ac_option
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-	    CXXFLAGS=$ac_save_CXXFLAGS
-	    if test "$ac_cv_prog_cxx_openmp" != unsupported; then
-	      break
-	    fi
-	  done
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_openmp" >&5
-$as_echo "$ac_cv_prog_cxx_openmp" >&6; }
-    case $ac_cv_prog_cxx_openmp in #(
-      "none needed" | unsupported)
-	;; #(
-      *)
-	OPENMP_CXXFLAGS=$ac_cv_prog_cxx_openmp ;;
-    esac
-  fi
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-#AX_CXX_COMPILE_STDCXX_11(noext, mandatory)
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
-   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid  output" >&5
-$as_echo_n "checking for x86 cpuid  output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_cpuid_=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = , eax, ebx, ecx, edx;
-     FILE *f;
-      __asm__("cpuid"
-        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-        : "a" (op));
-     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_cpuid_=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
-  ax_cv_gcc_x86_cpuid_=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_" >&6; }
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86-AVX xgetbv  output" >&5
-$as_echo_n "checking for x86-AVX xgetbv  output... " >&6; }
-if ${ax_cv_gcc_x86_avx_xgetbv_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_avx_xgetbv_=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = , eax, edx;
-     FILE *f;
-      /* Opcodes for xgetbv */
-      __asm__(".byte 0x0f, 0x01, 0xd0"
-        : "=a" (eax), "=d" (edx)
-        : "c" (op));
-     f = fopen("conftest_xgetbv", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x\n", eax, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_avx_xgetbv_=`cat conftest_xgetbv`; rm -f conftest_xgetbv
-else
-  ax_cv_gcc_x86_avx_xgetbv_=unknown; rm -f conftest_xgetbv
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_avx_xgetbv_" >&5
-$as_echo "$ax_cv_gcc_x86_avx_xgetbv_" >&6; }
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-
-
-  case $host_cpu in
-    powerpc*)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether altivec is supported" >&5
-$as_echo_n "checking whether altivec is supported... " >&6; }
-if ${ax_cv_have_altivec_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-            if test `/usr/sbin/sysctl -a 2>/dev/null| grep -c hw.optional.altivec` != 0; then
-                if test `/usr/sbin/sysctl -n hw.optional.altivec` = 1; then
-                  ax_cv_have_altivec_ext=yes
-                fi
-            fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_altivec_ext" >&5
-$as_echo "$ax_cv_have_altivec_ext" >&6; }
-
-          if test "$ax_cv_have_altivec_ext" = yes; then
-
-$as_echo "#define HAVE_ALTIVEC /**/" >>confdefs.h
-
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -faltivec" >&5
-$as_echo_n "checking whether C++ compiler accepts -faltivec... " >&6; }
-if ${ax_cv_check_cxxflags___faltivec+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -faltivec"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___faltivec=yes
-else
-  ax_cv_check_cxxflags___faltivec=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___faltivec" >&5
-$as_echo "$ax_cv_check_cxxflags___faltivec" >&6; }
-if test x"$ax_cv_check_cxxflags___faltivec" = xyes; then :
-  SIMD_FLAGS="$SIMD_FLAGS -faltivec"
-else
-  :
-fi
-
-          fi
-    ;;
-
-
-    i[3456]86*|x86_64*|amd64*)
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x00000001 output" >&5
-$as_echo_n "checking for x86 cpuid 0x00000001 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_0x00000001+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_cpuid_0x00000001=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = 0x00000001, eax, ebx, ecx, edx;
-     FILE *f;
-      __asm__("cpuid"
-        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-        : "a" (op));
-     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_cpuid_0x00000001=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
-  ax_cv_gcc_x86_cpuid_0x00000001=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x00000001" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_0x00000001" >&6; }
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-      ecx=0
-      edx=0
-      ebx=0
-      if test "$ax_cv_gcc_x86_cpuid_0x00000001" != "unknown";
-      then
-        ecx=`echo $ax_cv_gcc_x86_cpuid_0x00000001 | cut -d ":" -f 3`
-        edx=`echo $ax_cv_gcc_x86_cpuid_0x00000001 | cut -d ":" -f 4`
-      fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x00000007 output" >&5
-$as_echo_n "checking for x86 cpuid 0x00000007 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_0x00000007+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_cpuid_0x00000007=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = 0x00000007, eax, ebx, ecx, edx;
-     FILE *f;
-      __asm__("cpuid"
-        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-        : "a" (op));
-     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_cpuid_0x00000007=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
-  ax_cv_gcc_x86_cpuid_0x00000007=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x00000007" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_0x00000007" >&6; }
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-      if test "$ax_cv_gcc_x86_cpuid_0x00000007" != "unknown";
-      then
-        ebx=`echo $ax_cv_gcc_x86_cpuid_0x00000007 | cut -d ":" -f 2`
-      fi
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmx is supported" >&5
-$as_echo_n "checking whether mmx is supported... " >&6; }
-if ${ax_cv_have_mmx_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_mmx_ext=no
-        if test "$((0x$edx>>23&0x01))" = 1; then
-          ax_cv_have_mmx_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_mmx_ext" >&5
-$as_echo "$ax_cv_have_mmx_ext" >&6; }
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sse is supported" >&5
-$as_echo_n "checking whether sse is supported... " >&6; }
-if ${ax_cv_have_sse_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_sse_ext=no
-        if test "$((0x$edx>>25&0x01))" = 1; then
-          ax_cv_have_sse_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_sse_ext" >&5
-$as_echo "$ax_cv_have_sse_ext" >&6; }
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sse2 is supported" >&5
-$as_echo_n "checking whether sse2 is supported... " >&6; }
-if ${ax_cv_have_sse2_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_sse2_ext=no
-        if test "$((0x$edx>>26&0x01))" = 1; then
-          ax_cv_have_sse2_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_sse2_ext" >&5
-$as_echo "$ax_cv_have_sse2_ext" >&6; }
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sse3 is supported" >&5
-$as_echo_n "checking whether sse3 is supported... " >&6; }
-if ${ax_cv_have_sse3_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_sse3_ext=no
-        if test "$((0x$ecx&0x01))" = 1; then
-          ax_cv_have_sse3_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_sse3_ext" >&5
-$as_echo "$ax_cv_have_sse3_ext" >&6; }
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ssse3 is supported" >&5
-$as_echo_n "checking whether ssse3 is supported... " >&6; }
-if ${ax_cv_have_ssse3_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_ssse3_ext=no
-        if test "$((0x$ecx>>9&0x01))" = 1; then
-          ax_cv_have_ssse3_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_ssse3_ext" >&5
-$as_echo "$ax_cv_have_ssse3_ext" >&6; }
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sse4.1 is supported" >&5
-$as_echo_n "checking whether sse4.1 is supported... " >&6; }
-if ${ax_cv_have_sse41_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_sse41_ext=no
-        if test "$((0x$ecx>>19&0x01))" = 1; then
-          ax_cv_have_sse41_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_sse41_ext" >&5
-$as_echo "$ax_cv_have_sse41_ext" >&6; }
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sse4.2 is supported" >&5
-$as_echo_n "checking whether sse4.2 is supported... " >&6; }
-if ${ax_cv_have_sse42_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_sse42_ext=no
-        if test "$((0x$ecx>>20&0x01))" = 1; then
-          ax_cv_have_sse42_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_sse42_ext" >&5
-$as_echo "$ax_cv_have_sse42_ext" >&6; }
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether avx is supported by processor" >&5
-$as_echo_n "checking whether avx is supported by processor... " >&6; }
-if ${ax_cv_have_avx_cpu_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_avx_cpu_ext=no
-        if test "$((0x$ecx>>28&0x01))" = 1; then
-          ax_cv_have_avx_cpu_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_avx_cpu_ext" >&5
-$as_echo "$ax_cv_have_avx_cpu_ext" >&6; }
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether avx2 is supported by processor" >&5
-$as_echo_n "checking whether avx2 is supported by processor... " >&6; }
-if ${ax_cv_have_avx2_cpu_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_avx2_cpu_ext=no
-        if test "$((0x$ebx>>5&0x01))" = 1; then
-          ax_cv_have_avx2_cpu_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_avx2_cpu_ext" >&5
-$as_echo "$ax_cv_have_avx2_cpu_ext" >&6; }
-
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fma is supported by processor" >&5
-$as_echo_n "checking whether fma is supported by processor... " >&6; }
-if ${ax_cv_have_fma_cpu_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_have_fma_cpu_ext=no
-        if test "$((0x$ecx>>12&0x01))" = 1; then
-          ax_cv_have_fma_cpu_ext=yes
-        fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_fma_cpu_ext" >&5
-$as_echo "$ax_cv_have_fma_cpu_ext" >&6; }
-
-
-      if test x"$ax_cv_have_avx_cpu_ext" = x"yes"; then
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86-AVX xgetbv 0x00000000 output" >&5
-$as_echo_n "checking for x86-AVX xgetbv 0x00000000 output... " >&6; }
-if ${ax_cv_gcc_x86_avx_xgetbv_0x00000000+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_avx_xgetbv_0x00000000=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = 0x00000000, eax, edx;
-     FILE *f;
-      /* Opcodes for xgetbv */
-      __asm__(".byte 0x0f, 0x01, 0xd0"
-        : "=a" (eax), "=d" (edx)
-        : "c" (op));
-     f = fopen("conftest_xgetbv", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x\n", eax, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_avx_xgetbv_0x00000000=`cat conftest_xgetbv`; rm -f conftest_xgetbv
-else
-  ax_cv_gcc_x86_avx_xgetbv_0x00000000=unknown; rm -f conftest_xgetbv
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_avx_xgetbv_0x00000000" >&5
-$as_echo "$ax_cv_gcc_x86_avx_xgetbv_0x00000000" >&6; }
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-        xgetbv_eax="0"
-        if test x"$ax_cv_gcc_x86_avx_xgetbv_0x00000000" != x"unknown"; then
-          xgetbv_eax=`echo $ax_cv_gcc_x86_avx_xgetbv_0x00000000 | cut -d ":" -f 1`
-        fi
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether avx is supported by operating system" >&5
-$as_echo_n "checking whether avx is supported by operating system... " >&6; }
-if ${ax_cv_have_avx_ext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-          ax_cv_have_avx_ext=no
-
-          if test "$((0x$ecx>>27&0x01))" = 1; then
-            if test "$((0x$xgetbv_eax&0x6))" = 6; then
-              ax_cv_have_avx_ext=yes
-            fi
-          fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_avx_ext" >&5
-$as_echo "$ax_cv_have_avx_ext" >&6; }
-        if test x"$ax_cv_have_avx_ext" = x"no"; then
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports AVX, but your operating system doesn't" >&5
-$as_echo "$as_me: WARNING: Your processor supports AVX, but your operating system doesn't" >&2;}
-        fi
-      fi
-
-      if test "$ax_cv_have_mmx_ext" = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -mmmx" >&5
-$as_echo_n "checking whether C++ compiler accepts -mmmx... " >&6; }
-if ${ax_cv_check_cxxflags___mmmx+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -mmmx"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___mmmx=yes
-else
-  ax_cv_check_cxxflags___mmmx=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___mmmx" >&5
-$as_echo "$ax_cv_check_cxxflags___mmmx" >&6; }
-if test x"$ax_cv_check_cxxflags___mmmx" = xyes; then :
-  ax_cv_support_mmx_ext=yes
-else
-  :
-fi
-
-        if test x"$ax_cv_support_mmx_ext" = x"yes"; then
-          SIMD_FLAGS="$SIMD_FLAGS -mmmx"
-
-$as_echo "#define HAVE_MMX /**/" >>confdefs.h
-
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports mmx instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports mmx instructions but not your compiler, can you try another compiler?" >&2;}
-        fi
-      fi
-
-      if test "$ax_cv_have_sse_ext" = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -msse" >&5
-$as_echo_n "checking whether C++ compiler accepts -msse... " >&6; }
-if ${ax_cv_check_cxxflags___msse+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -msse"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___msse=yes
-else
-  ax_cv_check_cxxflags___msse=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___msse" >&5
-$as_echo "$ax_cv_check_cxxflags___msse" >&6; }
-if test x"$ax_cv_check_cxxflags___msse" = xyes; then :
-  ax_cv_support_sse_ext=yes
-else
-  :
-fi
-
-        if test x"$ax_cv_support_sse_ext" = x"yes"; then
-          SIMD_FLAGS="$SIMD_FLAGS -msse"
-
-$as_echo "#define HAVE_SSE /**/" >>confdefs.h
-
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports sse instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports sse instructions but not your compiler, can you try another compiler?" >&2;}
-        fi
-      fi
-
-      if test "$ax_cv_have_sse2_ext" = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -msse2" >&5
-$as_echo_n "checking whether C++ compiler accepts -msse2... " >&6; }
-if ${ax_cv_check_cxxflags___msse2+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -msse2"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___msse2=yes
-else
-  ax_cv_check_cxxflags___msse2=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___msse2" >&5
-$as_echo "$ax_cv_check_cxxflags___msse2" >&6; }
-if test x"$ax_cv_check_cxxflags___msse2" = xyes; then :
-  ax_cv_support_sse2_ext=yes
-else
-  :
-fi
-
-        if test x"$ax_cv_support_sse2_ext" = x"yes"; then
-          SIMD_FLAGS="$SIMD_FLAGS -msse2"
-
-$as_echo "#define HAVE_SSE2 /**/" >>confdefs.h
-
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports sse2 instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports sse2 instructions but not your compiler, can you try another compiler?" >&2;}
-        fi
-      fi
-
-      if test "$ax_cv_have_sse3_ext" = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -msse3" >&5
-$as_echo_n "checking whether C++ compiler accepts -msse3... " >&6; }
-if ${ax_cv_check_cxxflags___msse3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -msse3"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___msse3=yes
-else
-  ax_cv_check_cxxflags___msse3=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___msse3" >&5
-$as_echo "$ax_cv_check_cxxflags___msse3" >&6; }
-if test x"$ax_cv_check_cxxflags___msse3" = xyes; then :
-  ax_cv_support_sse3_ext=yes
-else
-  :
-fi
-
-        if test x"$ax_cv_support_sse3_ext" = x"yes"; then
-          SIMD_FLAGS="$SIMD_FLAGS -msse3"
-
-$as_echo "#define HAVE_SSE3 /**/" >>confdefs.h
-
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports sse3 instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports sse3 instructions but not your compiler, can you try another compiler?" >&2;}
-        fi
-      fi
-
-      if test "$ax_cv_have_ssse3_ext" = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -mssse3" >&5
-$as_echo_n "checking whether C++ compiler accepts -mssse3... " >&6; }
-if ${ax_cv_check_cxxflags___mssse3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -mssse3"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___mssse3=yes
-else
-  ax_cv_check_cxxflags___mssse3=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___mssse3" >&5
-$as_echo "$ax_cv_check_cxxflags___mssse3" >&6; }
-if test x"$ax_cv_check_cxxflags___mssse3" = xyes; then :
-  ax_cv_support_ssse3_ext=yes
-else
-  :
-fi
-
-        if test x"$ax_cv_support_ssse3_ext" = x"yes"; then
-          SIMD_FLAGS="$SIMD_FLAGS -mssse3"
-
-$as_echo "#define HAVE_SSSE3 /**/" >>confdefs.h
-
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports ssse3 instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports ssse3 instructions but not your compiler, can you try another compiler?" >&2;}
-        fi
-      fi
-
-      if test "$ax_cv_have_sse41_ext" = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -msse4.1" >&5
-$as_echo_n "checking whether C++ compiler accepts -msse4.1... " >&6; }
-if ${ax_cv_check_cxxflags___msse4_1+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -msse4.1"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___msse4_1=yes
-else
-  ax_cv_check_cxxflags___msse4_1=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___msse4_1" >&5
-$as_echo "$ax_cv_check_cxxflags___msse4_1" >&6; }
-if test x"$ax_cv_check_cxxflags___msse4_1" = xyes; then :
-  ax_cv_support_sse41_ext=yes
-else
-  :
-fi
-
-        if test x"$ax_cv_support_sse41_ext" = x"yes"; then
-          SIMD_FLAGS="$SIMD_FLAGS -msse4.1"
-
-$as_echo "#define HAVE_SSE4_1 /**/" >>confdefs.h
-
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports sse4.1 instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports sse4.1 instructions but not your compiler, can you try another compiler?" >&2;}
-        fi
-      fi
-
-      if test "$ax_cv_have_sse42_ext" = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -msse4.2" >&5
-$as_echo_n "checking whether C++ compiler accepts -msse4.2... " >&6; }
-if ${ax_cv_check_cxxflags___msse4_2+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -msse4.2"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___msse4_2=yes
-else
-  ax_cv_check_cxxflags___msse4_2=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___msse4_2" >&5
-$as_echo "$ax_cv_check_cxxflags___msse4_2" >&6; }
-if test x"$ax_cv_check_cxxflags___msse4_2" = xyes; then :
-  ax_cv_support_sse42_ext=yes
-else
-  :
-fi
-
-        if test x"$ax_cv_support_sse42_ext" = x"yes"; then
-          SIMD_FLAGS="$SIMD_FLAGS -msse4.2"
-
-$as_echo "#define HAVE_SSE4_2 /**/" >>confdefs.h
-
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports sse4.2 instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports sse4.2 instructions but not your compiler, can you try another compiler?" >&2;}
-        fi
-      fi
-
-      if test "$ax_cv_have_avx_ext" = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -mavx" >&5
-$as_echo_n "checking whether C++ compiler accepts -mavx... " >&6; }
-if ${ax_cv_check_cxxflags___mavx+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -mavx"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___mavx=yes
-else
-  ax_cv_check_cxxflags___mavx=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___mavx" >&5
-$as_echo "$ax_cv_check_cxxflags___mavx" >&6; }
-if test x"$ax_cv_check_cxxflags___mavx" = xyes; then :
-  ax_cv_support_avx_ext=yes
-else
-  :
-fi
-
-        if test x"$ax_cv_support_avx_ext" = x"yes"; then
-          SIMD_FLAGS="$SIMD_FLAGS -mavx"
-
-$as_echo "#define HAVE_AVX /**/" >>confdefs.h
-
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports avx instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports avx instructions but not your compiler, can you try another compiler?" >&2;}
-        fi
-      fi
-
-       if test "$ax_cv_have_avx2_ext" = yes; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -mavx2" >&5
-$as_echo_n "checking whether C++ compiler accepts -mavx2... " >&6; }
-if ${ax_cv_check_cxxflags___mavx2+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -mavx2"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___mavx2=yes
-else
-  ax_cv_check_cxxflags___mavx2=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___mavx2" >&5
-$as_echo "$ax_cv_check_cxxflags___mavx2" >&6; }
-if test x"$ax_cv_check_cxxflags___mavx2" = xyes; then :
-  ax_cv_support_avx2_ext=yes
-else
-  :
-fi
-
-         if test x"$ax_cv_support_avx2_ext" = x"yes"; then
-           SIMD_FLAGS="$SIMD_FLAGS -mavx2"
-
-$as_echo "#define HAVE_AVX2 /**/" >>confdefs.h
-
-         else
-           { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports avx2 instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports avx2 instructions but not your compiler, can you try another compiler?" >&2;}
-         fi
-        fi
-
-       if test "$ax_cv_have_fma_ext" = yes; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -mfma" >&5
-$as_echo_n "checking whether C++ compiler accepts -mfma... " >&6; }
-if ${ax_cv_check_cxxflags___mfma+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS  -mfma"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_check_cxxflags___mfma=yes
-else
-  ax_cv_check_cxxflags___mfma=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CXXFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___mfma" >&5
-$as_echo "$ax_cv_check_cxxflags___mfma" >&6; }
-if test x"$ax_cv_check_cxxflags___mfma" = xyes; then :
-  ax_cv_support_fma_ext=yes
-else
-  :
-fi
-
-         if test x"$ax_cv_support_fma_ext" = x"yes"; then
-           SIMD_FLAGS="$SIMD_FLAGS -mfma"
-
-$as_echo "#define HAVE_FMA /**/" >>confdefs.h
-
-         else
-           { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor supports fma instructions but not your compiler, can you try another compiler?" >&5
-$as_echo "$as_me: WARNING: Your processor supports fma instructions but not your compiler, can you try another compiler?" >&2;}
-         fi
-      fi
-
-  ;;
-  esac
-
-
-
-
-# Checks for libraries.
-#AX_GCC_VAR_ATTRIBUTE(aligned)
-
-# Checks for header files.
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if ${ac_cv_prog_CXXCPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in stdint.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdint_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDINT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in mm_malloc.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "mm_malloc.h" "ac_cv_header_mm_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_mm_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MM_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in malloc/malloc.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "malloc/malloc.h" "ac_cv_header_malloc_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_malloc_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MALLOC_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in malloc.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in endian.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default"
-if test "x$ac_cv_header_endian_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ENDIAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in execinfo.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default"
-if test "x$ac_cv_header_execinfo_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_EXECINFO_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in gmp.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default"
-if test "x$ac_cv_header_gmp_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GMP_H 1
-_ACEOF
-
-fi
-
-done
-
-ac_fn_cxx_check_decl "$LINENO" "ntohll" "ac_cv_have_decl_ntohll" "#include <arpa/inet.h>
-"
-if test "x$ac_cv_have_decl_ntohll" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_NTOHLL $ac_have_decl
-_ACEOF
-
-ac_fn_cxx_check_decl "$LINENO" "be64toh" "ac_cv_have_decl_be64toh" "#include <arpa/inet.h>
-"
-if test "x$ac_cv_have_decl_be64toh" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_BE64TOH $ac_have_decl
-_ACEOF
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t"
-case $ac_cv_c_uint32_t in #(
-  no|yes) ;; #(
-  *)
-
-$as_echo "#define _UINT32_T 1" >>confdefs.h
-
-
-cat >>confdefs.h <<_ACEOF
-#define uint32_t $ac_cv_c_uint32_t
-_ACEOF
-;;
-  esac
-
-ac_fn_c_find_uintX_t "$LINENO" "64" "ac_cv_c_uint64_t"
-case $ac_cv_c_uint64_t in #(
-  no|yes) ;; #(
-  *)
-
-$as_echo "#define _UINT64_T 1" >>confdefs.h
-
-
-cat >>confdefs.h <<_ACEOF
-#define uint64_t $ac_cv_c_uint64_t
-_ACEOF
-;;
-  esac
-
-
-# Checks for library functions.
-echo
-echo Checking libraries
-echo :::::::::::::::::::::::::::::::::::::::::::
-
-for ac_func in gettimeofday
-do :
-  ac_fn_cxx_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday"
-if test "x$ac_cv_func_gettimeofday" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETTIMEOFDAY 1
-_ACEOF
-
-fi
-done
-
-
-#AC_CHECK_LIB([gmp],[__gmpf_init],,
-#        [AC_MSG_ERROR(GNU Multiple Precision GMP library was not found in your system.
-#Please install or provide the correct path to your installation
-#Info at: http://www.gmplib.org)])
-
-#AC_CHECK_LIB([mpfr],[mpfr_init],,
-#        [AC_MSG_ERROR(GNU Multiple Precision MPFR library was not found in your system.
-#Please install or provide the correct path to your installation
-#Info at: http://www.mpfr.org/)])
-
-#
-# SIMD instructions selection
-#
-
-# Check whether --enable-simd was given.
-if test "${enable_simd+set}" = set; then :
-  enableval=$enable_simd; \
-	ac_SIMD=${enable_simd}
-else
-  ac_SIMD=DEBUG
-fi
-
-
-supported=no
-
-ac_ZMM=no;
-
-case ${ac_SIMD} in
-     SSE4)
-       echo Configuring for SSE4
-
-$as_echo "#define SSE4 1" >>confdefs.h
-
-       if test x"$ax_cv_support_ssse3_ext" = x"yes"; then           supported=yes
-       else
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor does not support SSE4 instructions" >&5
-$as_echo "$as_me: WARNING: Your processor does not support SSE4 instructions" >&2;}
-       fi
-     ;;
-     AVX)
-       echo Configuring for AVX
-
-$as_echo "#define AVX1 1" >>confdefs.h
-
-       if test x"$ax_cv_support_avx_ext" = x"yes"; then         supported=yes
-       else
-       	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor does not support AVX instructions" >&5
-$as_echo "$as_me: WARNING: Your processor does not support AVX instructions" >&2;}
-       fi
-     ;;
-     AVXFMA4)
-       echo Configuring for AVX
-
-$as_echo "#define AVXFMA4 1" >>confdefs.h
-
-       if test x"$ax_cv_support_avx_ext" = x"yes"; then         supported=yes
-       else
-       	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor does not support AVX instructions" >&5
-$as_echo "$as_me: WARNING: Your processor does not support AVX instructions" >&2;}
-       fi
-     ;;
-     AVX2)
-       echo Configuring for AVX2
-
-$as_echo "#define AVX2 1" >>confdefs.h
-
-       if test x"$ax_cv_support_avx2_ext" = x"yes"; then         supported=yes
-       else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your processor does not support AVX2 instructions" >&5
-$as_echo "$as_me: WARNING: Your processor does not support AVX2 instructions" >&2;}
-       fi
-     ;;
-     AVX512)
-       echo Configuring for AVX512
-
-$as_echo "#define AVX512 1" >>confdefs.h
-
-       supported="cross compilation"
-       ac_ZMM=yes;
-     ;;
-     IMCI)
-       echo Configuring for IMCI
-
-$as_echo "#define IMCI 1" >>confdefs.h
-
-       supported="cross compilation"
-       ac_ZMM=no;
-     ;;
-     NEONv8)
-       echo Configuring for experimental ARMv8a support
-
-$as_echo "#define NEONv8 1" >>confdefs.h
-
-       supported="cross compilation"
-     ;;
-     DEBUG)
-       echo Configuring without SIMD support - only for compiler DEBUGGING!
-
-$as_echo "#define EMPTY_SIMD 1" >>confdefs.h
-
-      ;;
-     *)
-     as_fn_error $? "${ac_SIMD} flag unsupported as --enable-simd option\nRun ./configure --help for the list of options" "$LINENO" 5;
-     ;;
-esac
-
-case ${ac_ZMM} in
-yes)
-	echo Enabling ZMM source code
-;;
-no)
-	echo Disabling ZMM source code
-;;
-esac
-
- if  test "X${ac_ZMM}X" == "XyesX" ; then
-  BUILD_ZMM_TRUE=
-  BUILD_ZMM_FALSE='#'
-else
-  BUILD_ZMM_TRUE='#'
-  BUILD_ZMM_FALSE=
-fi
-
-
-# Check whether --enable-precision was given.
-if test "${enable_precision+set}" = set; then :
-  enableval=$enable_precision; ac_PRECISION=${enable_precision}
-else
-  ac_PRECISION=double
-fi
-
-case ${ac_PRECISION} in
-     single)
-       echo default precision is single
-
-$as_echo "#define GRID_DEFAULT_PRECISION_SINGLE 1" >>confdefs.h
-
-     ;;
-     double)
-       echo default precision is double
-
-$as_echo "#define GRID_DEFAULT_PRECISION_DOUBLE 1" >>confdefs.h
-
-     ;;
-esac
-
-#
-# Comms selection
-#
-
-# Check whether --enable-comms was given.
-if test "${enable_comms+set}" = set; then :
-  enableval=$enable_comms; ac_COMMS=${enable_comms}
-else
-  ac_COMMS=none
-fi
-
-
-case ${ac_COMMS} in
-     none)
-       echo Configuring for NO communications
-
-$as_echo "#define GRID_COMMS_NONE 1" >>confdefs.h
-
-     ;;
-     mpi)
-       echo Configuring for MPI communications
-
-$as_echo "#define GRID_COMMS_MPI 1" >>confdefs.h
-
-     ;;
-     shmem)
-       echo Configuring for SHMEM communications
-
-$as_echo "#define GRID_COMMS_SHMEM 1" >>confdefs.h
-
-     ;;
-     *)
-     as_fn_error $? "${ac_COMMS} unsupported --enable-comms option" "$LINENO" 5;
-     ;;
-esac
-
- if  test "X${ac_COMMS}X" == "XshmemX" ; then
-  BUILD_COMMS_SHMEM_TRUE=
-  BUILD_COMMS_SHMEM_FALSE='#'
-else
-  BUILD_COMMS_SHMEM_TRUE='#'
-  BUILD_COMMS_SHMEM_FALSE=
-fi
-
- if  test "X${ac_COMMS}X" == "XmpiX" ; then
-  BUILD_COMMS_MPI_TRUE=
-  BUILD_COMMS_MPI_FALSE='#'
-else
-  BUILD_COMMS_MPI_TRUE='#'
-  BUILD_COMMS_MPI_FALSE=
-fi
-
- if  test "X${ac_COMMS}X" == "XnoneX" ; then
-  BUILD_COMMS_NONE_TRUE=
-  BUILD_COMMS_NONE_FALSE='#'
-else
-  BUILD_COMMS_NONE_TRUE='#'
-  BUILD_COMMS_NONE_FALSE=
-fi
-
-
-#
-# RNG selection
-#
-# Check whether --enable-rng was given.
-if test "${enable_rng+set}" = set; then :
-  enableval=$enable_rng; \
-	ac_RNG=${enable_rng}
-else
-  ac_RNG=ranlux48
-fi
-
-case ${ac_RNG} in
-     ranlux48)
-
-$as_echo "#define RNG_RANLUX 1" >>confdefs.h
-
-     ;;
-     mt19937)
-
-$as_echo "#define RNG_MT19937 1" >>confdefs.h
-
-     ;;
-     *)
-     as_fn_error $? "${ac_RNG} unsupported --enable-rng option" "$LINENO" 5;
-     ;;
-esac
-
-#
-# SDE timing mode
-#
-# Check whether --enable-timers was given.
-if test "${enable_timers+set}" = set; then :
-  enableval=$enable_timers; \
-	ac_TIMERS=${enable_timers}
-else
-  ac_TIMERS=yes
-fi
-
-case ${ac_TIMERS} in
-     yes)
-
-$as_echo "#define TIMERS_ON 1" >>confdefs.h
-
-     ;;
-     no)
-
-$as_echo "#define TIMERS_OFF 1" >>confdefs.h
-
-     ;;
-     *)
-     as_fn_error $? "${ac_TIMERS} unsupported --enable-timers option" "$LINENO" 5;
-     ;;
-esac
-
-#
-# Chroma regression tests
-#
-# Check whether --enable-chroma was given.
-if test "${enable_chroma+set}" = set; then :
-  enableval=$enable_chroma; ac_CHROMA=yes
-else
-  ac_CHROMA=no
-fi
-
-case ${ac_CHROMA} in
-     yes)
-       echo Enabling tests regressing to Chroma
-     ;;
-     no)
-       echo Disabling tests regressing to Chroma
-     ;;
-     *)
-     as_fn_error $? "${ac_CHROMA} unsupported --enable-chroma option" "$LINENO" 5;
-     ;;
-esac
-
- if  test "X${ac_CHROMA}X" == "XyesX" ; then
-  BUILD_CHROMA_REGRESSION_TRUE=
-  BUILD_CHROMA_REGRESSION_FALSE='#'
-else
-  BUILD_CHROMA_REGRESSION_TRUE='#'
-  BUILD_CHROMA_REGRESSION_FALSE=
-fi
-
-
-#
-# Lapack
-#
-# Check whether --enable-lapack was given.
-if test "${enable_lapack+set}" = set; then :
-  enableval=$enable_lapack; ac_LAPACK=${enable_lapack}
-else
-  ac_LAPACK=no
-fi
-
-
-case ${ac_LAPACK} in
-     yes)
-       echo Enabling lapack
-     ;;
-     no)
-       echo Disabling lapack
-     ;;
-     *)
-       echo Enabling lapack at ${ac_LAPACK}
-     ;;
-esac
-
- if  test "X${ac_LAPACK}X" != "XnoX" ; then
-  USE_LAPACK_TRUE=
-  USE_LAPACK_FALSE='#'
-else
-  USE_LAPACK_TRUE='#'
-  USE_LAPACK_FALSE=
-fi
-
- if  test "X${ac_LAPACK}X" != "XyesX" ; then
-  USE_LAPACK_LIB_TRUE=
-  USE_LAPACK_LIB_FALSE='#'
-else
-  USE_LAPACK_LIB_TRUE='#'
-  USE_LAPACK_LIB_FALSE=
-fi
-
-
-###################################################################
-# Checks for doxygen support
-# if present enables the "make doxyfile" command
-echo
-echo Checking doxygen support
-echo :::::::::::::::::::::::::::::::::::::::::::
-
-# Check whether --enable-doxygen was given.
-if test "${enable_doxygen+set}" = set; then :
-  enableval=$enable_doxygen;
-fi
-
-
-# Check whether --enable-dot was given.
-if test "${enable_dot+set}" = set; then :
-  enableval=$enable_dot;
-fi
-
-# Check whether --enable-html-docs was given.
-if test "${enable_html_docs+set}" = set; then :
-  enableval=$enable_html_docs;
-else
-   enable_html_docs=yes
-fi
-
-# Check whether --enable-latex-docs was given.
-if test "${enable_latex_docs+set}" = set; then :
-  enableval=$enable_latex_docs;
-else
-  enable_latex_docs=no
-fi
-
-
-if test "x$enable_doxygen" = xno; then
- enable_doc=no
-else
- # Extract the first word of "doxygen", so it can be a program name with args.
-set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DOXYGEN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DOXYGEN"; then
-  ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DOXYGEN="doxygen"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DOXYGEN=$ac_cv_prog_DOXYGEN
-if test -n "$DOXYGEN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
-$as_echo "$DOXYGEN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test x$DOXYGEN = x; then
-  if test "x$enable_doxygen" = xyes; then
-   as_fn_error $? "could not find doxygen" "$LINENO" 5
-  fi
-  enable_doc=no
- else
-  doxy_ver=`doxygen --version`
-  doxy_major=`expr "$doxy_ver" : '\([0-9]\)\..*'`
-  doxy_minor=`expr "$doxy_ver" : '[0-9]\.\([0-9]\).*'`
-  if test $doxy_major -eq "1" -a $doxy_minor -ge "3" ; then
-   enable_doc=yes
-   # Extract the first word of "dot", so it can be a program name with args.
-set dummy dot; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DOT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DOT"; then
-  ac_cv_prog_DOT="$DOT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DOT="dot"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DOT=$ac_cv_prog_DOT
-if test -n "$DOT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
-$as_echo "$DOT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: doxygen version $doxy_ver too old, doxygen will not be used." >&5
-$as_echo "$as_me: WARNING: doxygen version $doxy_ver too old, doxygen will not be used." >&2;}
-   enable_doc=no
-  fi
- fi
-fi
-
- if test x$enable_doc = xyes; then
-  DOXYGEN_DOC_TRUE=
-  DOXYGEN_DOC_FALSE='#'
-else
-  DOXYGEN_DOC_TRUE='#'
-  DOXYGEN_DOC_FALSE=
-fi
-
-
-if test x$DOT = x; then
- if test "x$enable_dot" = xyes; then
-  as_fn_error $? "could not find dot" "$LINENO" 5
- fi
- enable_dot=no
-else
- enable_dot=yes
-fi
-
-
-
-
-
-
-if test -n "$DOXYGEN"
-then
-ac_config_files="$ac_config_files docs/doxy.cfg"
-
-fi
-
-echo
-echo Creating configuration files
-echo :::::::::::::::::::::::::::::::::::::::::::
-ac_config_files="$ac_config_files Makefile"
-
-ac_config_files="$ac_config_files lib/Makefile"
-
-ac_config_files="$ac_config_files tests/Makefile"
-
-ac_config_files="$ac_config_files tests/IO/Makefile"
-
-ac_config_files="$ac_config_files tests/core/Makefile"
-
-ac_config_files="$ac_config_files tests/debug/Makefile"
-
-ac_config_files="$ac_config_files tests/forces/Makefile"
-
-ac_config_files="$ac_config_files tests/hmc/Makefile"
-
-ac_config_files="$ac_config_files tests/solver/Makefile"
-
-ac_config_files="$ac_config_files tests/qdpxx/Makefile"
-
-ac_config_files="$ac_config_files benchmarks/Makefile"
-
-ac_config_files="$ac_config_files prerequisites/Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-	"s/'/'\\\\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-	cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-	  mv -f confcache "$cache_file"$$ &&
-	  mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-	  mv -f confcache "$cache_file" ;;
-	esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
-   if test -n "$am_sleep_pid"; then
-     # Hide warnings about reused PIDs.
-     wait $am_sleep_pid 2>/dev/null
-   fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_ZMM_TRUE}" && test -z "${BUILD_ZMM_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_ZMM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_COMMS_SHMEM_TRUE}" && test -z "${BUILD_COMMS_SHMEM_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_COMMS_SHMEM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_COMMS_MPI_TRUE}" && test -z "${BUILD_COMMS_MPI_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_COMMS_MPI\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_COMMS_NONE_TRUE}" && test -z "${BUILD_COMMS_NONE_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_COMMS_NONE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_CHROMA_REGRESSION_TRUE}" && test -z "${BUILD_CHROMA_REGRESSION_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_CHROMA_REGRESSION\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_LAPACK_TRUE}" && test -z "${USE_LAPACK_FALSE}"; then
-  as_fn_error $? "conditional \"USE_LAPACK\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_LAPACK_LIB_TRUE}" && test -z "${USE_LAPACK_LIB_FALSE}"; then
-  as_fn_error $? "conditional \"USE_LAPACK_LIB\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${DOXYGEN_DOC_TRUE}" && test -z "${DOXYGEN_DOC_FALSE}"; then
-  as_fn_error $? "conditional \"DOXYGEN_DOC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='	';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by Grid $as_me 1.0, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <paboyle@ph.ed.ac.uk>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-Grid config.status 1.0
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "$ac_config_links_1") CONFIG_LINKS="$CONFIG_LINKS $ac_config_links_1" ;;
-    "lib/Config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/Config.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "docs/doxy.cfg") CONFIG_FILES="$CONFIG_FILES docs/doxy.cfg" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "tests/IO/Makefile") CONFIG_FILES="$CONFIG_FILES tests/IO/Makefile" ;;
-    "tests/core/Makefile") CONFIG_FILES="$CONFIG_FILES tests/core/Makefile" ;;
-    "tests/debug/Makefile") CONFIG_FILES="$CONFIG_FILES tests/debug/Makefile" ;;
-    "tests/forces/Makefile") CONFIG_FILES="$CONFIG_FILES tests/forces/Makefile" ;;
-    "tests/hmc/Makefile") CONFIG_FILES="$CONFIG_FILES tests/hmc/Makefile" ;;
-    "tests/solver/Makefile") CONFIG_FILES="$CONFIG_FILES tests/solver/Makefile" ;;
-    "tests/qdpxx/Makefile") CONFIG_FILES="$CONFIG_FILES tests/qdpxx/Makefile" ;;
-    "benchmarks/Makefile") CONFIG_FILES="$CONFIG_FILES benchmarks/Makefile" ;;
-    "prerequisites/Makefile") CONFIG_FILES="$CONFIG_FILES prerequisites/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = ""
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
-h
-s///
-s/^/:/
-s/[	 ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[	 ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[	 ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
-	 # because $ac_f cannot contain `:'.
-	 test -f "$ac_f" ||
-	   case $ac_f in
-	   [\\/$]*) false;;
-	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-	   esac ||
-	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-	`' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_file" : 'X\(//\)[^/]' \| \
-	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$_am_arg" : 'X\(//\)[^/]' \| \
-	 X"$_am_arg" : 'X\(//\)$' \| \
-	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-	*) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Older Autoconf quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named 'Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$mf" : 'X\(//\)[^/]' \| \
-	 X"$mf" : 'X\(//\)$' \| \
-	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running 'make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "$am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$file" : 'X\(//\)[^/]' \| \
-	 X"$file" : 'X\(//\)$' \| \
-	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
-
-echo "
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Summary of configuration for $PACKAGE v$VERSION
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following features are enabled:
-
-- architecture (build)          : $build_cpu
-- os (build)                    : $build_os
-- architecture (target)         : $target_cpu
-- os (target)                   : $target_os
-- build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
-- graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
-- Supported SIMD flags          : $SIMD_FLAGS
-----------------------------------------------------------
-- enabled simd support          : ${ac_SIMD}   (config macro says supported: $supported )
-- communications type           : ${ac_COMMS}
-- default precision             : ${ac_PRECISION}
-- RNG choice                    : ${ac_RNG}
-- LAPACK	                : ${ac_LAPACK}
-
-
-"
diff --git a/configure.ac b/configure.ac
index 9229dd9f..bc76469b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,254 +1,217 @@
-#                         -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-#
-# Project Grid package  
-# 
-# Time-stamp: <2015-07-10 17:46:21 neo>
-
 AC_PREREQ([2.63])
-AC_INIT([Grid], [1.0], [paboyle@ph.ed.ac.uk])
-AC_CANONICAL_SYSTEM
+AC_INIT([Grid], [0.5.1-dev], [https://github.com/paboyle/Grid], [Grid])
 AM_INIT_AUTOMAKE(subdir-objects)
 AC_CONFIG_MACRO_DIR([m4])
-AC_LINK_FILES(lib,include/Grid )
 AC_CONFIG_SRCDIR([lib/Grid.h])
 AC_CONFIG_HEADERS([lib/Config.h])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
-AC_MSG_NOTICE([
-
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-Configuring $PACKAGE v$VERSION  for $host
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-])
-
-# Checks for programs.
+############### Checks for programs
 AC_LANG(C++)
 AC_PROG_CXX
 AC_OPENMP
-AC_PROG_RANLIB
-#AX_CXX_COMPILE_STDCXX_11(noext, mandatory)
-AX_EXT
+LT_INIT([disable-shared])
 
-# Checks for libraries.
-#AX_GCC_VAR_ATTRIBUTE(aligned)
-
-# Checks for header files.
+############### Checks for header files
 AC_CHECK_HEADERS(stdint.h)
 AC_CHECK_HEADERS(mm_malloc.h)
 AC_CHECK_HEADERS(malloc/malloc.h)
 AC_CHECK_HEADERS(malloc.h)
 AC_CHECK_HEADERS(endian.h)
 AC_CHECK_HEADERS(execinfo.h)
-AC_CHECK_HEADERS(gmp.h)
 AC_CHECK_DECLS([ntohll],[], [], [[#include <arpa/inet.h>]])
 AC_CHECK_DECLS([be64toh],[], [], [[#include <arpa/inet.h>]])
 
-# Checks for typedefs, structures, and compiler characteristics.
+############### Checks for typedefs, structures, and compiler characteristics
 AC_TYPE_SIZE_T
 AC_TYPE_UINT32_T
 AC_TYPE_UINT64_T
 
-# Checks for library functions.
-echo
-echo Checking libraries 
-echo :::::::::::::::::::::::::::::::::::::::::::
+############### Options
+AC_ARG_WITH([gmp],
+    [AS_HELP_STRING([--with-gmp=prefix],
+    [try this for a non-standard install prefix of the GMP library])],
+    [AM_CXXFLAGS="$AM_CXXFLAGS -I$with_gmp/include"]
+    [AM_LDFLAGS="$AM_LDFLAGS -L$with_gmp/lib"])
+AC_ARG_WITH([mpfr],
+    [AS_HELP_STRING([--with-mpfr=prefix],
+    [try this for a non-standard install prefix of the MPFR library])],
+    [AM_CXXFLAGS="$AM_CXXFLAGS -I$with_mpfr/include"]
+    [AM_LDFLAGS="$AM_LDFLAGS -L$with_mpfr/lib"])
 
+################ Get compiler informations
+AC_LANG([C++])
+AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
+AX_COMPILER_VENDOR
+AC_DEFINE_UNQUOTED([CXX_COMP_VENDOR],["$ax_cv_cxx_compiler_vendor"],
+      [vendor of C++ compiler that will compile the code])
+AX_GXX_VERSION
+AC_DEFINE_UNQUOTED([GXX_VERSION],["$GXX_VERSION"],
+      [version of g++ that will compile the code])
+
+############### Checks for library functions
 AC_CHECK_FUNCS([gettimeofday])
+AC_CHECK_LIB([gmp],[__gmpf_init],[],[])
+AC_CHECK_LIB([mpfr],[mpfr_init],[],[])
 
-#AC_CHECK_LIB([gmp],[__gmpf_init],,
-#        [AC_MSG_ERROR(GNU Multiple Precision GMP library was not found in your system.
-#Please install or provide the correct path to your installation
-#Info at: http://www.gmplib.org)])
-
-#AC_CHECK_LIB([mpfr],[mpfr_init],,
-#        [AC_MSG_ERROR(GNU Multiple Precision MPFR library was not found in your system.
-#Please install or provide the correct path to your installation
-#Info at: http://www.mpfr.org/)])
-
-#
-# SIMD instructions selection
-#
-
-AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|IMCI],\
+############### SIMD instruction selection
+AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC],\
 	[Select instructions to be SSE4.0, AVX 1.0, AVX 2.0+FMA, AVX 512, IMCI])],\
-	[ac_SIMD=${enable_simd}],[ac_SIMD=DEBUG])
+	[ac_SIMD=${enable_simd}],[ac_SIMD=GEN])
 
-supported=no
-
-ac_ZMM=no;
+case ${ax_cv_cxx_compiler_vendor} in
+  clang|gnu)
+    case ${ac_SIMD} in
+      SSE4)
+        AC_DEFINE([SSE4],[1],[SSE4 intrinsics])
+        SIMD_FLAGS='-msse4.2';;
+      AVX)
+        AC_DEFINE([AVX1],[1],[AVX intrinsics])
+        SIMD_FLAGS='-mavx';;
+      AVXFMA4)
+        AC_DEFINE([AVXFMA4],[1],[AVX intrinsics with FMA4])
+        SIMD_FLAGS='-mavx -mfma4';;
+      AVX2)
+        AC_DEFINE([AVX2],[1],[AVX2 intrinsics])
+        SIMD_FLAGS='-mavx2';;
+      AVX512|AVX512MIC|KNL)
+        AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
+        SIMD_FLAGS='-mavx512f -mavx512pf -mavx512er -mavx512cd';;
+      IMCI|KNC)
+        AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner])
+        SIMD_FLAGS='';;
+      GEN)
+        AC_DEFINE([GENERIC_VEC],[1],[generic vector code])
+        SIMD_FLAGS='';;
+      *)
+        AC_MSG_ERROR(["SIMD option ${ac_SIMD} not supported by the GCC/Clang"]);;
+    esac;;
+  intel)
+    case ${ac_SIMD} in
+      SSE4)
+        AC_DEFINE([SSE4],[1],[SSE4 intrinsics])
+        SIMD_FLAGS='-msse4.2 -xsse4.2';;
+      AVX)
+        AC_DEFINE([AVX1],[1],[AVX intrinsics])
+        SIMD_FLAGS='-mavx -xavx';;
+      AVXFMA4)
+        AC_DEFINE([AVXFMA4],[1],[AVX intrinsics with FMA4])
+        SIMD_FLAGS='-mavx -xavx -mfma';;
+      AVX2)
+        AC_DEFINE([AVX2],[1],[AVX2 intrinsics])
+        SIMD_FLAGS='-march=core-avx2 -xcore-avx2';;
+      AVX512)
+        AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
+        SIMD_FLAGS='-xcore-avx512';;
+      AVX512MIC|KNL)
+        AC_DEFINE([AVX512],[1],[AVX512 intrinsics for Knights Landing])
+        SIMD_FLAGS='-xmic-avx512';;
+      IMCI|KNC)
+        AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner])
+        SIMD_FLAGS='';;
+      GEN)
+        AC_DEFINE([GENERIC_VEC],[1],[generic vector code])
+        SIMD_FLAGS='';;
+      *)
+        AC_MSG_ERROR(["SIMD option ${ac_SIMD} not supported by the Intel compiler"]);;
+    esac;;
+  *)
+    AC_MSG_WARN([Compiler unknown, using generic vector code])
+    AC_DEFINE([GENERIC_VEC],[1],[generic vector code]);;
+esac
+AM_CXXFLAGS="$SIMD_FLAGS $AM_CXXFLAGS"
+AM_CFLAGS="$SIMD_FLAGS $AM_CFLAGS"
 
 case ${ac_SIMD} in
-     SSE4)
-       echo Configuring for SSE4
-       AC_DEFINE([SSE4],[1],[SSE4 Intrinsics] )
-       if test x"$ax_cv_support_ssse3_ext" = x"yes"; then  dnl minimal support for SSE4
-         supported=yes
-       else
-  	AC_MSG_WARN([Your processor does not support SSE4 instructions])
-       fi
-     ;;
-     AVX)
-       echo Configuring for AVX
-       AC_DEFINE([AVX1],[1],[AVX Intrinsics] )
-       if test x"$ax_cv_support_avx_ext" = x"yes"; then  dnl minimal support for AVX
-       supported=yes			  
-       else
-       	AC_MSG_WARN([Your processor does not support AVX instructions])
-       fi
-     ;;
-     AVXFMA4)
-       echo Configuring for AVX
-       AC_DEFINE([AVXFMA4],[1],[AVX Intrinsics with FMA4] )
-       if test x"$ax_cv_support_avx_ext" = x"yes"; then  dnl minimal support for AVX
-       supported=yes			  
-       else
-       	AC_MSG_WARN([Your processor does not support AVX instructions])
-       fi
-     ;;
-     AVX2)
-       echo Configuring for AVX2
-       AC_DEFINE([AVX2],[1],[AVX2 Intrinsics] )
-       if test x"$ax_cv_support_avx2_ext" = x"yes"; then  dnl minimal support for AVX2
-       supported=yes
-       else
-       AC_MSG_WARN([Your processor does not support AVX2 instructions])
-       fi
-     ;;
-     AVX512)
-       echo Configuring for AVX512 
-       AC_DEFINE([AVX512],[1],[AVX512 Intrinsics for Knights Landing] )
-       supported="cross compilation"
-       ac_ZMM=yes;
-     ;;
-     IMCI)
-       echo Configuring for IMCI
-       AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner] )
-       supported="cross compilation"
-       ac_ZMM=no;
-     ;;
-     NEONv8)
-       echo Configuring for experimental ARMv8a support 
-       AC_DEFINE([NEONv8],[1],[NEON ARMv8 Experimental support ] )
-       supported="cross compilation"
-     ;;
-     DEBUG)
-       echo Configuring without SIMD support - only for compiler DEBUGGING!
-       AC_DEFINE([EMPTY_SIMD],[1],[EMPTY_SIMD only for DEBUGGING] )
-      ;;     
-     *)
-     AC_MSG_ERROR([${ac_SIMD} flag unsupported as --enable-simd option\nRun ./configure --help for the list of options]); 
-     ;;
+  AVX512|AVX512MIC|KNL)
+    AC_DEFINE([TEST_ZMM],[1],[compile ZMM test]);;
+  *)
+	;;
 esac
 
-case ${ac_ZMM} in
-yes)
-	echo Enabling ZMM source code
-;;
-no)
-	echo Disabling ZMM source code
-;;
-esac
-
-AM_CONDITIONAL(BUILD_ZMM,[ test "X${ac_ZMM}X" == "XyesX" ])
-
+############### precision selection
 AC_ARG_ENABLE([precision],[AC_HELP_STRING([--enable-precision=single|double],[Select default word size of Real])],[ac_PRECISION=${enable_precision}],[ac_PRECISION=double])
 case ${ac_PRECISION} in
      single)
-       echo default precision is single
        AC_DEFINE([GRID_DEFAULT_PRECISION_SINGLE],[1],[GRID_DEFAULT_PRECISION is SINGLE] )
      ;;
      double)
-       echo default precision is double
        AC_DEFINE([GRID_DEFAULT_PRECISION_DOUBLE],[1],[GRID_DEFAULT_PRECISION is DOUBLE] )
      ;;
 esac
 
-#
-# Comms selection
-#
-
+############### communication type selection
 AC_ARG_ENABLE([comms],[AC_HELP_STRING([--enable-comms=none|mpi],[Select communications])],[ac_COMMS=${enable_comms}],[ac_COMMS=none])
 
 case ${ac_COMMS} in
      none)
-       echo Configuring for NO communications
        AC_DEFINE([GRID_COMMS_NONE],[1],[GRID_COMMS_NONE] )
      ;;
      mpi)
-       echo Configuring for MPI communications
        AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
+       LX_FIND_MPI
+       AM_CXXFLAGS="$MPI_CXXFLAGS $AM_CXXFLAGS"
+       AM_CFLAGS="$MPI_CFLAGS $AM_CFLAGS"
+       AM_LDFLAGS="$MPI_CXXLDFLAGS $AM_LDFLAGS"
+       AM_LIBS="$MPI_CXXLDFLAGS $AM_LIBS"
      ;;
      shmem)
-       echo Configuring for SHMEM communications
        AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
      ;;
      *)
      AC_MSG_ERROR([${ac_COMMS} unsupported --enable-comms option]); 
      ;;
 esac
-
 AM_CONDITIONAL(BUILD_COMMS_SHMEM,[ test "X${ac_COMMS}X" == "XshmemX" ])
 AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" ])
 AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
 
-#
-# RNG selection
-#
+############### RNG selection
 AC_ARG_ENABLE([rng],[AC_HELP_STRING([--enable-rng=ranlux48|mt19937],\
 	[Select Random Number Generator to be used])],\
 	[ac_RNG=${enable_rng}],[ac_RNG=ranlux48])
+
 case ${ac_RNG} in
      ranlux48)
-     AC_DEFINE([RNG_RANLUX],[1],[RNG_RANLUX] )
+      AC_DEFINE([RNG_RANLUX],[1],[RNG_RANLUX] )
      ;;
      mt19937)
-     AC_DEFINE([RNG_MT19937],[1],[RNG_MT19937] )
+      AC_DEFINE([RNG_MT19937],[1],[RNG_MT19937] )
      ;;
      *)
-     AC_MSG_ERROR([${ac_RNG} unsupported --enable-rng option]); 
+      AC_MSG_ERROR([${ac_RNG} unsupported --enable-rng option]); 
      ;;
 esac
 
-#
-# SDE timing mode
-#
-AC_ARG_ENABLE([timers],[AC_HELP_STRING([--enable-timers=yes|no],\
+############### timer option
+AC_ARG_ENABLE([timers],[AC_HELP_STRING([--enable-timers],\
 	[Enable system dependent high res timers])],\
 	[ac_TIMERS=${enable_timers}],[ac_TIMERS=yes])
 case ${ac_TIMERS} in
      yes)
-     AC_DEFINE([TIMERS_ON],[1],[TIMERS_ON] )
+      AC_DEFINE([TIMERS_ON],[1],[TIMERS_ON] )
      ;;
      no)
-     AC_DEFINE([TIMERS_OFF],[1],[TIMERS_OFF] )
+      AC_DEFINE([TIMERS_OFF],[1],[TIMERS_OFF] )
      ;;
      *)
-     AC_MSG_ERROR([${ac_TIMERS} unsupported --enable-timers option]); 
+      AC_MSG_ERROR([${ac_TIMERS} unsupported --enable-timers option]); 
      ;;
 esac
 
-#
-# Chroma regression tests
-#
+############### Chroma regression test
 AC_ARG_ENABLE([chroma],[AC_HELP_STRING([--enable-chroma],[Expect chroma compiled under c++11 ])],ac_CHROMA=yes,ac_CHROMA=no)
 case ${ac_CHROMA} in
-     yes)
-       echo Enabling tests regressing to Chroma
-     ;;
-     no)
-       echo Disabling tests regressing to Chroma
+     yes|no)
      ;;
      *)
-     AC_MSG_ERROR([${ac_CHROMA} unsupported --enable-chroma option]); 
+       AC_MSG_ERROR([${ac_CHROMA} unsupported --enable-chroma option]); 
      ;;
 esac
 
 AM_CONDITIONAL(BUILD_CHROMA_REGRESSION,[ test "X${ac_CHROMA}X" == "XyesX" ])
 
-#
-# Lapack
-#
+############### Lapack
 AC_ARG_ENABLE([lapack],[AC_HELP_STRING([--enable-lapack],[Enable lapack yes/no ])],[ac_LAPACK=${enable_lapack}],[ac_LAPACK=no])
 
 case ${ac_LAPACK} in
@@ -266,12 +229,7 @@ esac
 AM_CONDITIONAL(USE_LAPACK,[ test "X${ac_LAPACK}X" != "XnoX" ])
 AM_CONDITIONAL(USE_LAPACK_LIB,[ test "X${ac_LAPACK}X" != "XyesX" ])
 
-###################################################################
-# Checks for doxygen support
-# if present enables the "make doxyfile" command
-echo
-echo Checking doxygen support 
-echo :::::::::::::::::::::::::::::::::::::::::::
+############### Doxygen
 AC_PROG_DOXYGEN
 
 if test -n "$DOXYGEN"
@@ -279,9 +237,14 @@ then
 AC_CONFIG_FILES([docs/doxy.cfg])
 fi
 
-echo
-echo Creating configuration files
-echo :::::::::::::::::::::::::::::::::::::::::::
+############### Ouput
+cwd=`pwd -P`; cd ${srcdir}; abs_srcdir=`pwd -P`; cd ${cwd}
+AM_CXXFLAGS="-I${abs_srcdir}/include $AM_CXXFLAGS"
+AM_CFLAGS="-I${abs_srcdir}/include $AM_CFLAGS"
+AC_SUBST([AM_CFLAGS])
+AC_SUBST([AM_CXXFLAGS])
+AC_SUBST([AM_LDFLAGS])
+AC_SUBST([AM_LIBS])
 AC_CONFIG_FILES(Makefile)
 AC_CONFIG_FILES(lib/Makefile)
 AC_CONFIG_FILES(tests/Makefile)
@@ -293,30 +256,25 @@ AC_CONFIG_FILES(tests/hmc/Makefile)
 AC_CONFIG_FILES(tests/solver/Makefile)
 AC_CONFIG_FILES(tests/qdpxx/Makefile)
 AC_CONFIG_FILES(benchmarks/Makefile)
-AC_CONFIG_FILES(prerequisites/Makefile)
 AC_OUTPUT
 
-
 echo "
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Summary of configuration for $PACKAGE v$VERSION
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following features are enabled:
-
 - architecture (build)          : $build_cpu
 - os (build)                    : $build_os
 - architecture (target)         : $target_cpu
 - os (target)                   : $target_os
 - build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
 - graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
-- Supported SIMD flags          : $SIMD_FLAGS
 ----------------------------------------------------------
-- enabled simd support          : ${ac_SIMD}   (config macro says supported: $supported )
+- compiler vendor               : ${ax_cv_cxx_compiler_vendor}
+- compiler version              : ${ax_cv_gxx_version}
+- SIMD                          : ${ac_SIMD}
+- SIMD flags                    : ${SIMD_FLAGS}
 - communications type           : ${ac_COMMS}
 - default precision             : ${ac_PRECISION}
 - RNG choice                    : ${ac_RNG} 
-- LAPACK	                : ${ac_LAPACK} 
-
-
+- LAPACK                        : ${ac_LAPACK} 
 "
diff --git a/eigen-3.2.9.tar.bz2 b/eigen-3.2.9.tar.bz2
new file mode 100644
index 0000000000000000000000000000000000000000..2210a2c3a3661b66bec76b2a73c89e43e73a79cb
GIT binary patch
literal 1163762
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%0A)Hq4qS^C3Ag`38&lehMp1-;5f;S
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

literal 0
HcmV?d00001

diff --git a/lib/Eigen.inc b/lib/Eigen.inc
deleted file mode 100644
index e274c69c..00000000
--- a/lib/Eigen.inc
+++ /dev/null
@@ -1 +0,0 @@
-EFILES=Eigen/src/Cholesky/LDLT.h Eigen/src/Cholesky/LLT.h Eigen/src/Cholesky/LLT_MKL.h Eigen/src/CholmodSupport/CholmodSupport.h Eigen/src/Core/arch/AltiVec/Complex.h Eigen/src/Core/arch/AltiVec/PacketMath.h Eigen/src/Core/arch/Default/Settings.h Eigen/src/Core/arch/NEON/Complex.h Eigen/src/Core/arch/NEON/PacketMath.h Eigen/src/Core/arch/SSE/Complex.h Eigen/src/Core/arch/SSE/MathFunctions.h Eigen/src/Core/arch/SSE/PacketMath.h Eigen/src/Core/Array.h Eigen/src/Core/ArrayBase.h Eigen/src/Core/ArrayWrapper.h Eigen/src/Core/Assign.h Eigen/src/Core/Assign_MKL.h Eigen/src/Core/BandMatrix.h Eigen/src/Core/Block.h Eigen/src/Core/BooleanRedux.h Eigen/src/Core/CommaInitializer.h Eigen/src/Core/CoreIterators.h Eigen/src/Core/CwiseBinaryOp.h Eigen/src/Core/CwiseNullaryOp.h Eigen/src/Core/CwiseUnaryOp.h Eigen/src/Core/CwiseUnaryView.h Eigen/src/Core/DenseBase.h Eigen/src/Core/DenseCoeffsBase.h Eigen/src/Core/DenseStorage.h Eigen/src/Core/Diagonal.h Eigen/src/Core/DiagonalMatrix.h Eigen/src/Core/DiagonalProduct.h Eigen/src/Core/Dot.h Eigen/src/Core/EigenBase.h Eigen/src/Core/Flagged.h Eigen/src/Core/ForceAlignedAccess.h Eigen/src/Core/Functors.h Eigen/src/Core/Fuzzy.h Eigen/src/Core/GeneralProduct.h Eigen/src/Core/GenericPacketMath.h Eigen/src/Core/GlobalFunctions.h Eigen/src/Core/IO.h Eigen/src/Core/Map.h Eigen/src/Core/MapBase.h Eigen/src/Core/MathFunctions.h Eigen/src/Core/Matrix.h Eigen/src/Core/MatrixBase.h Eigen/src/Core/NestByValue.h Eigen/src/Core/NoAlias.h Eigen/src/Core/NumTraits.h Eigen/src/Core/PermutationMatrix.h Eigen/src/Core/PlainObjectBase.h Eigen/src/Core/ProductBase.h Eigen/src/Core/products/CoeffBasedProduct.h Eigen/src/Core/products/GeneralBlockPanelKernel.h Eigen/src/Core/products/GeneralMatrixMatrix.h Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h Eigen/src/Core/products/GeneralMatrixVector.h Eigen/src/Core/products/GeneralMatrixVector_MKL.h Eigen/src/Core/products/Parallelizer.h Eigen/src/Core/products/SelfadjointMatrixMatrix.h Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h Eigen/src/Core/products/SelfadjointMatrixVector.h Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h Eigen/src/Core/products/SelfadjointProduct.h Eigen/src/Core/products/SelfadjointRank2Update.h Eigen/src/Core/products/TriangularMatrixMatrix.h Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h Eigen/src/Core/products/TriangularMatrixVector.h Eigen/src/Core/products/TriangularMatrixVector_MKL.h Eigen/src/Core/products/TriangularSolverMatrix.h Eigen/src/Core/products/TriangularSolverMatrix_MKL.h Eigen/src/Core/products/TriangularSolverVector.h Eigen/src/Core/Random.h Eigen/src/Core/Redux.h Eigen/src/Core/Ref.h Eigen/src/Core/Replicate.h Eigen/src/Core/ReturnByValue.h Eigen/src/Core/Reverse.h Eigen/src/Core/Select.h Eigen/src/Core/SelfAdjointView.h Eigen/src/Core/SelfCwiseBinaryOp.h Eigen/src/Core/SolveTriangular.h Eigen/src/Core/StableNorm.h Eigen/src/Core/Stride.h Eigen/src/Core/Swap.h Eigen/src/Core/Transpose.h Eigen/src/Core/Transpositions.h Eigen/src/Core/TriangularMatrix.h Eigen/src/Core/util/BlasUtil.h Eigen/src/Core/util/Constants.h Eigen/src/Core/util/DisableStupidWarnings.h Eigen/src/Core/util/ForwardDeclarations.h Eigen/src/Core/util/Macros.h Eigen/src/Core/util/Memory.h Eigen/src/Core/util/Meta.h Eigen/src/Core/util/MKL_support.h Eigen/src/Core/util/NonMPL2.h Eigen/src/Core/util/ReenableStupidWarnings.h Eigen/src/Core/util/StaticAssert.h Eigen/src/Core/util/XprHelper.h Eigen/src/Core/VectorBlock.h Eigen/src/Core/VectorwiseOp.h Eigen/src/Core/Visitor.h Eigen/src/Eigen2Support/Block.h Eigen/src/Eigen2Support/Cwise.h Eigen/src/Eigen2Support/CwiseOperators.h Eigen/src/Eigen2Support/Geometry/AlignedBox.h Eigen/src/Eigen2Support/Geometry/All.h Eigen/src/Eigen2Support/Geometry/AngleAxis.h Eigen/src/Eigen2Support/Geometry/Hyperplane.h Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h Eigen/src/Eigen2Support/Geometry/Quaternion.h Eigen/src/Eigen2Support/Geometry/Rotation2D.h Eigen/src/Eigen2Support/Geometry/RotationBase.h Eigen/src/Eigen2Support/Geometry/Scaling.h Eigen/src/Eigen2Support/Geometry/Transform.h Eigen/src/Eigen2Support/Geometry/Translation.h Eigen/src/Eigen2Support/Lazy.h Eigen/src/Eigen2Support/LeastSquares.h Eigen/src/Eigen2Support/LU.h Eigen/src/Eigen2Support/Macros.h Eigen/src/Eigen2Support/MathFunctions.h Eigen/src/Eigen2Support/Memory.h Eigen/src/Eigen2Support/Meta.h Eigen/src/Eigen2Support/Minor.h Eigen/src/Eigen2Support/QR.h Eigen/src/Eigen2Support/SVD.h Eigen/src/Eigen2Support/TriangularSolver.h Eigen/src/Eigen2Support/VectorBlock.h Eigen/src/Eigenvalues/ComplexEigenSolver.h Eigen/src/Eigenvalues/ComplexSchur.h Eigen/src/Eigenvalues/ComplexSchur_MKL.h Eigen/src/Eigenvalues/EigenSolver.h Eigen/src/Eigenvalues/GeneralizedEigenSolver.h Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h Eigen/src/Eigenvalues/HessenbergDecomposition.h Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h Eigen/src/Eigenvalues/RealQZ.h Eigen/src/Eigenvalues/RealSchur.h Eigen/src/Eigenvalues/RealSchur_MKL.h Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h Eigen/src/Eigenvalues/Tridiagonalization.h Eigen/src/Geometry/AlignedBox.h Eigen/src/Geometry/AngleAxis.h Eigen/src/Geometry/arch/Geometry_SSE.h Eigen/src/Geometry/EulerAngles.h Eigen/src/Geometry/Homogeneous.h Eigen/src/Geometry/Hyperplane.h Eigen/src/Geometry/OrthoMethods.h Eigen/src/Geometry/ParametrizedLine.h Eigen/src/Geometry/Quaternion.h Eigen/src/Geometry/Rotation2D.h Eigen/src/Geometry/RotationBase.h Eigen/src/Geometry/Scaling.h Eigen/src/Geometry/Transform.h Eigen/src/Geometry/Translation.h Eigen/src/Geometry/Umeyama.h Eigen/src/Householder/BlockHouseholder.h Eigen/src/Householder/Householder.h Eigen/src/Householder/HouseholderSequence.h Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h Eigen/src/IterativeLinearSolvers/BiCGSTAB.h Eigen/src/IterativeLinearSolvers/ConjugateGradient.h Eigen/src/IterativeLinearSolvers/IncompleteLUT.h Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h Eigen/src/Jacobi/Jacobi.h Eigen/src/LU/arch/Inverse_SSE.h Eigen/src/LU/Determinant.h Eigen/src/LU/FullPivLU.h Eigen/src/LU/Inverse.h Eigen/src/LU/PartialPivLU.h Eigen/src/LU/PartialPivLU_MKL.h Eigen/src/MetisSupport/MetisSupport.h Eigen/src/misc/blas.h Eigen/src/misc/Image.h Eigen/src/misc/Kernel.h Eigen/src/misc/Solve.h Eigen/src/misc/SparseSolve.h Eigen/src/OrderingMethods/Amd.h Eigen/src/OrderingMethods/Eigen_Colamd.h Eigen/src/OrderingMethods/Ordering.h Eigen/src/PardisoSupport/PardisoSupport.h Eigen/src/PaStiXSupport/PaStiXSupport.h Eigen/src/plugins/ArrayCwiseBinaryOps.h Eigen/src/plugins/ArrayCwiseUnaryOps.h Eigen/src/plugins/BlockMethods.h Eigen/src/plugins/CommonCwiseBinaryOps.h Eigen/src/plugins/CommonCwiseUnaryOps.h Eigen/src/plugins/MatrixCwiseBinaryOps.h Eigen/src/plugins/MatrixCwiseUnaryOps.h Eigen/src/QR/ColPivHouseholderQR.h Eigen/src/QR/ColPivHouseholderQR_MKL.h Eigen/src/QR/FullPivHouseholderQR.h Eigen/src/QR/HouseholderQR.h Eigen/src/QR/HouseholderQR_MKL.h Eigen/src/SparseCholesky/SimplicialCholesky.h Eigen/src/SparseCholesky/SimplicialCholesky_impl.h Eigen/src/SparseCore/AmbiVector.h Eigen/src/SparseCore/CompressedStorage.h Eigen/src/SparseCore/ConservativeSparseSparseProduct.h Eigen/src/SparseCore/MappedSparseMatrix.h Eigen/src/SparseCore/SparseBlock.h Eigen/src/SparseCore/SparseColEtree.h Eigen/src/SparseCore/SparseCwiseBinaryOp.h Eigen/src/SparseCore/SparseCwiseUnaryOp.h Eigen/src/SparseCore/SparseDenseProduct.h Eigen/src/SparseCore/SparseDiagonalProduct.h Eigen/src/SparseCore/SparseDot.h Eigen/src/SparseCore/SparseFuzzy.h Eigen/src/SparseCore/SparseMatrix.h Eigen/src/SparseCore/SparseMatrixBase.h Eigen/src/SparseCore/SparsePermutation.h Eigen/src/SparseCore/SparseProduct.h Eigen/src/SparseCore/SparseRedux.h Eigen/src/SparseCore/SparseSelfAdjointView.h Eigen/src/SparseCore/SparseSparseProductWithPruning.h Eigen/src/SparseCore/SparseTranspose.h Eigen/src/SparseCore/SparseTriangularView.h Eigen/src/SparseCore/SparseUtil.h Eigen/src/SparseCore/SparseVector.h Eigen/src/SparseCore/SparseView.h Eigen/src/SparseCore/TriangularSolver.h Eigen/src/SparseLU/SparseLU.h Eigen/src/SparseLU/SparseLU_column_bmod.h Eigen/src/SparseLU/SparseLU_column_dfs.h Eigen/src/SparseLU/SparseLU_copy_to_ucol.h Eigen/src/SparseLU/SparseLU_gemm_kernel.h Eigen/src/SparseLU/SparseLU_heap_relax_snode.h Eigen/src/SparseLU/SparseLU_kernel_bmod.h Eigen/src/SparseLU/SparseLU_Memory.h Eigen/src/SparseLU/SparseLU_panel_bmod.h Eigen/src/SparseLU/SparseLU_panel_dfs.h Eigen/src/SparseLU/SparseLU_pivotL.h Eigen/src/SparseLU/SparseLU_pruneL.h Eigen/src/SparseLU/SparseLU_relax_snode.h Eigen/src/SparseLU/SparseLU_Structs.h Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h Eigen/src/SparseLU/SparseLU_Utils.h Eigen/src/SparseLU/SparseLUImpl.h Eigen/src/SparseQR/SparseQR.h Eigen/src/SPQRSupport/SuiteSparseQRSupport.h Eigen/src/StlSupport/details.h Eigen/src/StlSupport/StdDeque.h Eigen/src/StlSupport/StdList.h Eigen/src/StlSupport/StdVector.h Eigen/src/SuperLUSupport/SuperLUSupport.h Eigen/src/SVD/JacobiSVD.h Eigen/src/SVD/JacobiSVD_MKL.h Eigen/src/SVD/UpperBidiagonalization.h Eigen/src/UmfPackSupport/UmfPackSupport.h
diff --git a/lib/Make.inc b/lib/Make.inc
deleted file mode 100644
index caa2b8a1..00000000
--- a/lib/Make.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-HFILES=./algorithms/approx/bigfloat.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/Francis.h ./algorithms/iterative/Householder.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/Matrix.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/SparseMatrix.h ./Algorithms.h ./AlignedAllocator.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./cartesian/Cartesian_red_black.h ./Cartesian.h ./communicator/Communicator_base.h ./Communicator.h ./cshift/Cshift_common.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./Cshift.h ./Eigen/src/Cholesky/LDLT.h ./Eigen/src/Cholesky/LLT.h ./Eigen/src/Cholesky/LLT_MKL.h ./Eigen/src/CholmodSupport/CholmodSupport.h ./Eigen/src/Core/arch/AltiVec/Complex.h ./Eigen/src/Core/arch/AltiVec/PacketMath.h ./Eigen/src/Core/arch/Default/Settings.h ./Eigen/src/Core/arch/NEON/Complex.h ./Eigen/src/Core/arch/NEON/PacketMath.h ./Eigen/src/Core/arch/SSE/Complex.h ./Eigen/src/Core/arch/SSE/MathFunctions.h ./Eigen/src/Core/arch/SSE/PacketMath.h ./Eigen/src/Core/Array.h ./Eigen/src/Core/ArrayBase.h ./Eigen/src/Core/ArrayWrapper.h ./Eigen/src/Core/Assign.h ./Eigen/src/Core/Assign_MKL.h ./Eigen/src/Core/BandMatrix.h ./Eigen/src/Core/Block.h ./Eigen/src/Core/BooleanRedux.h ./Eigen/src/Core/CommaInitializer.h ./Eigen/src/Core/CoreIterators.h ./Eigen/src/Core/CwiseBinaryOp.h ./Eigen/src/Core/CwiseNullaryOp.h ./Eigen/src/Core/CwiseUnaryOp.h ./Eigen/src/Core/CwiseUnaryView.h ./Eigen/src/Core/DenseBase.h ./Eigen/src/Core/DenseCoeffsBase.h ./Eigen/src/Core/DenseStorage.h ./Eigen/src/Core/Diagonal.h ./Eigen/src/Core/DiagonalMatrix.h ./Eigen/src/Core/DiagonalProduct.h ./Eigen/src/Core/Dot.h ./Eigen/src/Core/EigenBase.h ./Eigen/src/Core/Flagged.h ./Eigen/src/Core/ForceAlignedAccess.h ./Eigen/src/Core/Functors.h ./Eigen/src/Core/Fuzzy.h ./Eigen/src/Core/GeneralProduct.h ./Eigen/src/Core/GenericPacketMath.h ./Eigen/src/Core/GlobalFunctions.h ./Eigen/src/Core/IO.h ./Eigen/src/Core/Map.h ./Eigen/src/Core/MapBase.h ./Eigen/src/Core/MathFunctions.h ./Eigen/src/Core/Matrix.h ./Eigen/src/Core/MatrixBase.h ./Eigen/src/Core/NestByValue.h ./Eigen/src/Core/NoAlias.h ./Eigen/src/Core/NumTraits.h ./Eigen/src/Core/PermutationMatrix.h ./Eigen/src/Core/PlainObjectBase.h ./Eigen/src/Core/ProductBase.h ./Eigen/src/Core/products/CoeffBasedProduct.h ./Eigen/src/Core/products/GeneralBlockPanelKernel.h ./Eigen/src/Core/products/GeneralMatrixMatrix.h ./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h ./Eigen/src/Core/products/GeneralMatrixVector.h ./Eigen/src/Core/products/GeneralMatrixVector_MKL.h ./Eigen/src/Core/products/Parallelizer.h ./Eigen/src/Core/products/SelfadjointMatrixMatrix.h ./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h ./Eigen/src/Core/products/SelfadjointMatrixVector.h ./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h ./Eigen/src/Core/products/SelfadjointProduct.h ./Eigen/src/Core/products/SelfadjointRank2Update.h ./Eigen/src/Core/products/TriangularMatrixMatrix.h ./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h ./Eigen/src/Core/products/TriangularMatrixVector.h ./Eigen/src/Core/products/TriangularMatrixVector_MKL.h ./Eigen/src/Core/products/TriangularSolverMatrix.h ./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h ./Eigen/src/Core/products/TriangularSolverVector.h ./Eigen/src/Core/Random.h ./Eigen/src/Core/Redux.h ./Eigen/src/Core/Ref.h ./Eigen/src/Core/Replicate.h ./Eigen/src/Core/ReturnByValue.h ./Eigen/src/Core/Reverse.h ./Eigen/src/Core/Select.h ./Eigen/src/Core/SelfAdjointView.h ./Eigen/src/Core/SelfCwiseBinaryOp.h ./Eigen/src/Core/SolveTriangular.h ./Eigen/src/Core/StableNorm.h ./Eigen/src/Core/Stride.h ./Eigen/src/Core/Swap.h ./Eigen/src/Core/Transpose.h ./Eigen/src/Core/Transpositions.h ./Eigen/src/Core/TriangularMatrix.h ./Eigen/src/Core/util/BlasUtil.h ./Eigen/src/Core/util/Constants.h ./Eigen/src/Core/util/DisableStupidWarnings.h ./Eigen/src/Core/util/ForwardDeclarations.h ./Eigen/src/Core/util/Macros.h ./Eigen/src/Core/util/Memory.h ./Eigen/src/Core/util/Meta.h ./Eigen/src/Core/util/MKL_support.h ./Eigen/src/Core/util/NonMPL2.h ./Eigen/src/Core/util/ReenableStupidWarnings.h ./Eigen/src/Core/util/StaticAssert.h ./Eigen/src/Core/util/XprHelper.h ./Eigen/src/Core/VectorBlock.h ./Eigen/src/Core/VectorwiseOp.h ./Eigen/src/Core/Visitor.h ./Eigen/src/Eigen2Support/Block.h ./Eigen/src/Eigen2Support/Cwise.h ./Eigen/src/Eigen2Support/CwiseOperators.h ./Eigen/src/Eigen2Support/Geometry/AlignedBox.h ./Eigen/src/Eigen2Support/Geometry/All.h ./Eigen/src/Eigen2Support/Geometry/AngleAxis.h ./Eigen/src/Eigen2Support/Geometry/Hyperplane.h ./Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h ./Eigen/src/Eigen2Support/Geometry/Quaternion.h ./Eigen/src/Eigen2Support/Geometry/Rotation2D.h ./Eigen/src/Eigen2Support/Geometry/RotationBase.h ./Eigen/src/Eigen2Support/Geometry/Scaling.h ./Eigen/src/Eigen2Support/Geometry/Transform.h ./Eigen/src/Eigen2Support/Geometry/Translation.h ./Eigen/src/Eigen2Support/Lazy.h ./Eigen/src/Eigen2Support/LeastSquares.h ./Eigen/src/Eigen2Support/LU.h ./Eigen/src/Eigen2Support/Macros.h ./Eigen/src/Eigen2Support/MathFunctions.h ./Eigen/src/Eigen2Support/Memory.h ./Eigen/src/Eigen2Support/Meta.h ./Eigen/src/Eigen2Support/Minor.h ./Eigen/src/Eigen2Support/QR.h ./Eigen/src/Eigen2Support/SVD.h ./Eigen/src/Eigen2Support/TriangularSolver.h ./Eigen/src/Eigen2Support/VectorBlock.h ./Eigen/src/Eigenvalues/ComplexEigenSolver.h ./Eigen/src/Eigenvalues/ComplexSchur.h ./Eigen/src/Eigenvalues/ComplexSchur_MKL.h ./Eigen/src/Eigenvalues/EigenSolver.h ./Eigen/src/Eigenvalues/GeneralizedEigenSolver.h ./Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h ./Eigen/src/Eigenvalues/HessenbergDecomposition.h ./Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h ./Eigen/src/Eigenvalues/RealQZ.h ./Eigen/src/Eigenvalues/RealSchur.h ./Eigen/src/Eigenvalues/RealSchur_MKL.h ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h ./Eigen/src/Eigenvalues/Tridiagonalization.h ./Eigen/src/Geometry/AlignedBox.h ./Eigen/src/Geometry/AngleAxis.h ./Eigen/src/Geometry/arch/Geometry_SSE.h ./Eigen/src/Geometry/EulerAngles.h ./Eigen/src/Geometry/Homogeneous.h ./Eigen/src/Geometry/Hyperplane.h ./Eigen/src/Geometry/OrthoMethods.h ./Eigen/src/Geometry/ParametrizedLine.h ./Eigen/src/Geometry/Quaternion.h ./Eigen/src/Geometry/Rotation2D.h ./Eigen/src/Geometry/RotationBase.h ./Eigen/src/Geometry/Scaling.h ./Eigen/src/Geometry/Transform.h ./Eigen/src/Geometry/Translation.h ./Eigen/src/Geometry/Umeyama.h ./Eigen/src/Householder/BlockHouseholder.h ./Eigen/src/Householder/Householder.h ./Eigen/src/Householder/HouseholderSequence.h ./Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h ./Eigen/src/IterativeLinearSolvers/BiCGSTAB.h ./Eigen/src/IterativeLinearSolvers/ConjugateGradient.h ./Eigen/src/IterativeLinearSolvers/IncompleteLUT.h ./Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h ./Eigen/src/Jacobi/Jacobi.h ./Eigen/src/LU/arch/Inverse_SSE.h ./Eigen/src/LU/Determinant.h ./Eigen/src/LU/FullPivLU.h ./Eigen/src/LU/Inverse.h ./Eigen/src/LU/PartialPivLU.h ./Eigen/src/LU/PartialPivLU_MKL.h ./Eigen/src/MetisSupport/MetisSupport.h ./Eigen/src/misc/blas.h ./Eigen/src/misc/Image.h ./Eigen/src/misc/Kernel.h ./Eigen/src/misc/Solve.h ./Eigen/src/misc/SparseSolve.h ./Eigen/src/OrderingMethods/Amd.h ./Eigen/src/OrderingMethods/Eigen_Colamd.h ./Eigen/src/OrderingMethods/Ordering.h ./Eigen/src/PardisoSupport/PardisoSupport.h ./Eigen/src/PaStiXSupport/PaStiXSupport.h ./Eigen/src/plugins/ArrayCwiseBinaryOps.h ./Eigen/src/plugins/ArrayCwiseUnaryOps.h ./Eigen/src/plugins/BlockMethods.h ./Eigen/src/plugins/CommonCwiseBinaryOps.h ./Eigen/src/plugins/CommonCwiseUnaryOps.h ./Eigen/src/plugins/MatrixCwiseBinaryOps.h ./Eigen/src/plugins/MatrixCwiseUnaryOps.h ./Eigen/src/QR/ColPivHouseholderQR.h ./Eigen/src/QR/ColPivHouseholderQR_MKL.h ./Eigen/src/QR/FullPivHouseholderQR.h ./Eigen/src/QR/HouseholderQR.h ./Eigen/src/QR/HouseholderQR_MKL.h ./Eigen/src/SparseCholesky/SimplicialCholesky.h ./Eigen/src/SparseCholesky/SimplicialCholesky_impl.h ./Eigen/src/SparseCore/AmbiVector.h ./Eigen/src/SparseCore/CompressedStorage.h ./Eigen/src/SparseCore/ConservativeSparseSparseProduct.h ./Eigen/src/SparseCore/MappedSparseMatrix.h ./Eigen/src/SparseCore/SparseBlock.h ./Eigen/src/SparseCore/SparseColEtree.h ./Eigen/src/SparseCore/SparseCwiseBinaryOp.h ./Eigen/src/SparseCore/SparseCwiseUnaryOp.h ./Eigen/src/SparseCore/SparseDenseProduct.h ./Eigen/src/SparseCore/SparseDiagonalProduct.h ./Eigen/src/SparseCore/SparseDot.h ./Eigen/src/SparseCore/SparseFuzzy.h ./Eigen/src/SparseCore/SparseMatrix.h ./Eigen/src/SparseCore/SparseMatrixBase.h ./Eigen/src/SparseCore/SparsePermutation.h ./Eigen/src/SparseCore/SparseProduct.h ./Eigen/src/SparseCore/SparseRedux.h ./Eigen/src/SparseCore/SparseSelfAdjointView.h ./Eigen/src/SparseCore/SparseSparseProductWithPruning.h ./Eigen/src/SparseCore/SparseTranspose.h ./Eigen/src/SparseCore/SparseTriangularView.h ./Eigen/src/SparseCore/SparseUtil.h ./Eigen/src/SparseCore/SparseVector.h ./Eigen/src/SparseCore/SparseView.h ./Eigen/src/SparseCore/TriangularSolver.h ./Eigen/src/SparseLU/SparseLU.h ./Eigen/src/SparseLU/SparseLU_column_bmod.h ./Eigen/src/SparseLU/SparseLU_column_dfs.h ./Eigen/src/SparseLU/SparseLU_copy_to_ucol.h ./Eigen/src/SparseLU/SparseLU_gemm_kernel.h ./Eigen/src/SparseLU/SparseLU_heap_relax_snode.h ./Eigen/src/SparseLU/SparseLU_kernel_bmod.h ./Eigen/src/SparseLU/SparseLU_Memory.h ./Eigen/src/SparseLU/SparseLU_panel_bmod.h ./Eigen/src/SparseLU/SparseLU_panel_dfs.h ./Eigen/src/SparseLU/SparseLU_pivotL.h ./Eigen/src/SparseLU/SparseLU_pruneL.h ./Eigen/src/SparseLU/SparseLU_relax_snode.h ./Eigen/src/SparseLU/SparseLU_Structs.h ./Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h ./Eigen/src/SparseLU/SparseLU_Utils.h ./Eigen/src/SparseLU/SparseLUImpl.h ./Eigen/src/SparseQR/SparseQR.h ./Eigen/src/SPQRSupport/SuiteSparseQRSupport.h ./Eigen/src/StlSupport/details.h ./Eigen/src/StlSupport/StdDeque.h ./Eigen/src/StlSupport/StdList.h ./Eigen/src/StlSupport/StdVector.h ./Eigen/src/SuperLUSupport/SuperLUSupport.h ./Eigen/src/SVD/JacobiSVD.h ./Eigen/src/SVD/JacobiSVD_MKL.h ./Eigen/src/SVD/UpperBidiagonalization.h ./Eigen/src/UmfPackSupport/UmfPackSupport.h ./Grid.h ./Init.h ./lattice/Lattice_arith.h ./lattice/Lattice_base.h ./lattice/Lattice_comparison.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_conformable.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_ET.h ./lattice/Lattice_local.h ./lattice/Lattice_overload.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_reality.h ./lattice/Lattice_reduction.h ./lattice/Lattice_rng.h ./lattice/Lattice_trace.h ./lattice/Lattice_transfer.h ./lattice/Lattice_transpose.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./Lattice.h ./Lexicographic.h ./Log.h ./parallelIO/BinaryIO.h ./parallelIO/NerscIO.h ./PerfCount.h ./pugixml/pugixml.h ./qcd/action/ActionBase.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/hmc/HMC.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/NerscCheckpointer.h ./qcd/QCD.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/Smearing.h ./qcd/smearing/StoutSmearing.h ./qcd/spin/Dirac.h ./qcd/spin/TwoSpinor.h ./qcd/utils/CovariantCshift.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./serialisation/BaseIO.h ./serialisation/BinaryIO.h ./serialisation/MacroMagic.h ./serialisation/Serialisation.h ./serialisation/TextIO.h ./serialisation/XmlIO.h ./simd/Grid_avx.h ./simd/Grid_avx512.h ./simd/Grid_empty.h ./simd/Grid_imci.h ./simd/Grid_neon.h ./simd/Grid_qpx.h ./simd/Grid_sse4.h ./simd/Grid_vector_types.h ./simd/Grid_vector_unops.h ./simd/Intel512avx.h ./simd/Intel512common.h ./simd/Intel512double.h ./simd/Intel512imci.h ./simd/Intel512single.h ./simd/Intel512wilson.h ./simd/pab.h ./Simd.h ./stencil/Lebesgue.h ./Stencil.h ./tensors/Tensor_arith.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_class.h ./tensors/Tensor_determinant.h ./tensors/Tensor_exp.h ./tensors/Tensor_extract_merge.h ./tensors/Tensor_index.h ./tensors/Tensor_inner.h ./tensors/Tensor_logical.h ./tensors/Tensor_outer.h ./tensors/Tensor_reality.h ./tensors/Tensor_Ta.h ./tensors/Tensor_trace.h ./tensors/Tensor_traits.h ./tensors/Tensor_transpose.h ./tensors/Tensor_unary.h ./Tensors.h ./Threads.h ./Timer.h Config.h
-
-CCFILES=./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./Init.cc ./Log.cc ./PerfCount.cc ./pugixml/pugixml.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/CayleyFermion5Dcache.cc ./qcd/action/fermion/CayleyFermion5Ddense.cc ./qcd/action/fermion/CayleyFermion5Dssp.cc ./qcd/action/fermion/CayleyFermion5Dvec.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/hmc/HMC.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./serialisation/BinaryIO.cc ./serialisation/TextIO.cc ./serialisation/XmlIO.cc ./stencil/Lebesgue.cc ./stencil/Stencil_common.cc
diff --git a/lib/Makefile.am b/lib/Makefile.am
index fa2c77bf..ee287659 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,5 +1,4 @@
 # additional include paths necessary to compile the C++ library
-AM_CXXFLAGS = -I$(top_srcdir)/include/
 
 extra_sources=
 if BUILD_COMMS_MPI
@@ -20,16 +19,8 @@ endif
 include Make.inc
 include Eigen.inc
 
-lib_LIBRARIES = libGrid.a
-
-libGrid_a_SOURCES = $(CCFILES) $(extra_sources)
-
-fftwdir = $(prefix)/lib/
-fftw_DATA = libfftw3.a
-
-#
-# Include files
-#
-otherincludedir = $(includedir)/Grid
-nobase_otherinclude_HEADERS =$(HFILES) $(EFILES) fftw3.h Config.h
+lib_LTLIBRARIES = libGrid.la
 
+libGrid_la_SOURCES             = $(CCFILES) $(extra_sources)
+libGrid_ladir                  = $(pkgincludedir)
+nobase_dist_pkginclude_HEADERS = $(HFILES) $(eigen_files) Config.h
diff --git a/lib/algorithms/approx/Remez.h b/lib/algorithms/approx/Remez.h
index 52729013..31938779 100644
--- a/lib/algorithms/approx/Remez.h
+++ b/lib/algorithms/approx/Remez.h
@@ -18,10 +18,10 @@
 #include <stddef.h>
 #include <Config.h>
 
-#ifdef HAVE_GMP_H
+#ifdef HAVE_LIBGMP
 #include "bigfloat.h"
 #else
-#include "algorithms/approx/bigfloat_double.h"
+#include "bigfloat_double.h"
 #endif
 
 #define JMAX 10000 //Maximum number of iterations of Newton's approximation
diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index fc719217..2677d174 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -38,7 +38,7 @@ directory
 #ifndef GRID_VECTOR_TYPES
 #define GRID_VECTOR_TYPES
 
-#ifdef EMPTY_SIMD
+#ifdef GENERIC_VEC
 #include "Grid_empty.h"
 #endif
 #ifdef SSE4
diff --git a/ltmain.sh b/ltmain.sh
new file mode 100644
index 00000000..0f0a2da3
--- /dev/null
+++ b/ltmain.sh
@@ -0,0 +1,11147 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+##               by inline-source v2014-01-03.01
+
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+PROGRAM=libtool
+PACKAGE=libtool
+VERSION=2.4.6
+package_revision=2.4.6
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+#   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
+fi
+
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test set = \"\${$_G_var+set}\"; then
+          save_$_G_var=\$$_G_var
+          $_G_var=C
+	  export $_G_var
+	  _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+	  _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
+	fi"
+done
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp	$nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+    test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+    _G_progs_list=$1
+    _G_check_func=$2
+    _G_PATH=${3-"$PATH"}
+
+    _G_path_prog_max=0
+    _G_path_prog_found=false
+    _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+    for _G_dir in $_G_PATH; do
+      IFS=$_G_save_IFS
+      test -z "$_G_dir" && _G_dir=.
+      for _G_prog_name in $_G_progs_list; do
+        for _exeext in '' .EXE; do
+          _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+          func_executable_p "$_G_path_prog" || continue
+          case `"$_G_path_prog" --version 2>&1` in
+            *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+            *)     $_G_check_func $_G_path_prog
+		   func_path_progs_result=$func_check_prog_result
+		   ;;
+          esac
+          $_G_path_prog_found && break 3
+        done
+      done
+    done
+    IFS=$_G_save_IFS
+    test -z "$func_path_progs_result" && {
+      echo "no acceptable sed could be found in \$PATH" >&2
+      exit 1
+    }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+  _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+  for _G_i in 1 2 3 4 5 6 7; do
+    _G_sed_script=$_G_sed_script$nl$_G_sed_script
+  done
+  echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+  _G_sed_script=
+
+  func_check_prog_sed ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo '' >> conftest.nl
+      "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+  rm -f conftest.sed
+  SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+  func_check_prog_grep ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    _G_path_prog_max=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo 'GREP' >> conftest.nl
+      "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+  GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables.  These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
+
+: ${CP="cp -f"}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+
+
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
+
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
+
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes.  A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same.  If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion.  Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'.  '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+  s/$_G_bs4/&\\
+/g
+  s/^$_G_bs2$_G_dollar/$_G_bs&/
+  s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+  s/\n//g"
+
+
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
+
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
+
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
+
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
+
+# By convention, finish your script with:
+#
+#    exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath=$0
+
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
+
+# Make sure we have an absolute progpath for reexecution:
+case $progpath in
+  [\\/]*|[A-Za-z]:\\*) ;;
+  *[\\/]*)
+     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
+     progdir=`cd "$progdir" && pwd`
+     progpath=$progdir/$progname
+     ;;
+  *)
+     _G_IFS=$IFS
+     IFS=${PATH_SEPARATOR-:}
+     for progdir in $PATH; do
+       IFS=$_G_IFS
+       test -x "$progdir/$progname" && break
+     done
+     IFS=$_G_IFS
+     test -n "$progdir" || progdir=`pwd`
+     progpath=$progdir/$progname
+     ;;
+esac
+
+
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
+
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
+
+opt_dry_run=false
+opt_quiet=false
+opt_verbose=false
+
+# Categories 'all' and 'none' are always available.  Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
+
+# By default, display warnings according to 'opt_warning_types'.  Set
+# 'warning_func'  to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
+
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
+
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
+
+
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
+{
+    $debug_cmd
+
+    test -t 1 && {
+      # COLORTERM and USE_ANSI_COLORS environment variables take
+      # precedence, because most terminfo databases neglect to describe
+      # whether color sequences are supported.
+      test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+      if test 1 = "$USE_ANSI_COLORS"; then
+        # Standard ANSI escape sequences
+        tc_reset=''
+        tc_bold='';   tc_standout=''
+        tc_red='';   tc_green=''
+        tc_blue='';  tc_cyan=''
+      else
+        # Otherwise trust the terminfo database after all.
+        test -n "`tput sgr0 2>/dev/null`" && {
+          tc_reset=`tput sgr0`
+          test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+          tc_standout=$tc_bold
+          test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+          test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+          test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+          test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+          test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+        }
+      fi
+    }
+
+    require_term_colors=:
+}
+
+
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+  # We should try to minimise forks, especially on Windows where they are
+  # unreasonably slow, so skip the feature probes when bash or zsh are
+  # being used:
+  if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+    : ${_G_HAVE_ARITH_OP="yes"}
+    : ${_G_HAVE_XSI_OPS="yes"}
+    # The += operator was introduced in bash 3.1
+    case $BASH_VERSION in
+      [12].* | 3.0 | 3.0*) ;;
+      *)
+        : ${_G_HAVE_PLUSEQ_OP="yes"}
+        ;;
+    esac
+  fi
+
+  # _G_HAVE_PLUSEQ_OP
+  # Can be empty, in which case the shell is probed, "yes" if += is
+  # useable or anything else if it does not work.
+  test -z "$_G_HAVE_PLUSEQ_OP" \
+    && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+    && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_append ()
+  {
+    $debug_cmd
+
+    eval "$1+=\$2"
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_append ()
+  {
+    $debug_cmd
+
+    eval "$1=\$$1\$2"
+  }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+  eval 'func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1+=\\ \$func_quote_for_eval_result"
+  }'
+else
+  func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1=\$$1\\ \$func_quote_for_eval_result"
+  }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE.  For example:
+#
+#   func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+    $debug_cmd
+
+    eval _G_current_value='`$ECHO $'$1'`'
+    _G_delim=`expr "$2" : '\(.\)'`
+
+    case $_G_delim$_G_current_value$_G_delim in
+      *"$2$_G_delim"*) ;;
+      *) func_append "$@" ;;
+    esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+  test -z "$_G_HAVE_ARITH_OP" \
+    && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+    && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+  eval 'func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=$(( $* ))
+  }'
+else
+  func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=`expr "$@"`
+  }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  # If this shell supports suffix pattern removal, then use it to avoid
+  # forking. Hide the definitions single quotes in case the shell chokes
+  # on unsupported syntax...
+  _b='func_basename_result=${1##*/}'
+  _d='case $1 in
+        */*) func_dirname_result=${1%/*}$2 ;;
+        *  ) func_dirname_result=$3        ;;
+      esac'
+
+else
+  # ...otherwise fall back to using sed.
+  _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+  _d='func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`
+      if test "X$func_dirname_result" = "X$1"; then
+        func_dirname_result=$3
+      else
+        func_append func_dirname_result "$2"
+      fi'
+fi
+
+eval 'func_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+    $debug_cmd
+
+    '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+    '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+    $debug_cmd
+
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    _G_infix=$1; shift
+    _G_indent=$_G_infix
+    _G_prefix="$progname: $_G_infix: "
+    _G_message=$*
+
+    # Strip color escape sequences before counting printable length
+    for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+    do
+      test -n "$_G_tc" && {
+        _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+        _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+      }
+    done
+    _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`"  " ## exclude from sc_prohibit_nested_quotes
+
+    func_echo_infix_1_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_infix_1_IFS
+      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+      _G_prefix=$_G_indent
+    done
+    IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    func_echo_infix_1 "  $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    $debug_cmd
+
+    func_error "$*"
+    exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+    $debug_cmd
+
+    $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+  test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=${#1}
+  }'
+else
+  func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+  }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+    $debug_cmd
+
+    _G_directory_path=$1
+    _G_dir_list=
+
+    if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
+
+      # Protect directory names starting with '-'
+      case $_G_directory_path in
+        -*) _G_directory_path=./$_G_directory_path ;;
+      esac
+
+      # While some portion of DIR does not yet exist...
+      while test ! -d "$_G_directory_path"; do
+        # ...make a list in topmost first order.  Use a colon delimited
+	# list incase some portion of path contains whitespace.
+        _G_dir_list=$_G_directory_path:$_G_dir_list
+
+        # If the last portion added has no slash in it, the list is done
+        case $_G_directory_path in */*) ;; *) break ;; esac
+
+        # ...otherwise throw away the child directory and loop
+        _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
+      done
+      _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
+
+      func_mkdir_p_IFS=$IFS; IFS=:
+      for _G_dir in $_G_dir_list; do
+	IFS=$func_mkdir_p_IFS
+        # mkdir can fail with a 'File exist' error if two processes
+        # try to create one of the directories concurrently.  Don't
+        # stop in that case!
+        $MKDIR "$_G_dir" 2>/dev/null || :
+      done
+      IFS=$func_mkdir_p_IFS
+
+      # Bail out if we (or some other process) failed to create a directory.
+      test -d "$_G_directory_path" || \
+        func_fatal_error "Failed to create '$1'"
+    fi
+}
+
+
+# func_mktempdir [BASENAME]
+# -------------------------
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, BASENAME is the basename for that directory.
+func_mktempdir ()
+{
+    $debug_cmd
+
+    _G_template=${TMPDIR-/tmp}/${1-$progname}
+
+    if test : = "$opt_dry_run"; then
+      # Return a directory name, but don't create it in dry-run mode
+      _G_tmpdir=$_G_template-$$
+    else
+
+      # If mktemp works, use that first and foremost
+      _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$_G_tmpdir"; then
+        # Failing that, at least try and use $RANDOM to avoid a race
+        _G_tmpdir=$_G_template-${RANDOM-0}$$
+
+        func_mktempdir_umask=`umask`
+        umask 0077
+        $MKDIR "$_G_tmpdir"
+        umask $func_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$_G_tmpdir" || \
+        func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
+    fi
+
+    $ECHO "$_G_tmpdir"
+}
+
+
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
+{
+    $debug_cmd
+
+    # These SED scripts presuppose an absolute path with a trailing slash.
+    _G_pathcar='s|^/\([^/]*\).*$|\1|'
+    _G_pathcdr='s|^/[^/]*||'
+    _G_removedotparts=':dotsl
+		s|/\./|/|g
+		t dotsl
+		s|/\.$|/|'
+    _G_collapseslashes='s|/\{1,\}|/|g'
+    _G_finalslash='s|/*$|/|'
+
+    # Start from root dir and reassemble the path.
+    func_normal_abspath_result=
+    func_normal_abspath_tpath=$1
+    func_normal_abspath_altnamespace=
+    case $func_normal_abspath_tpath in
+      "")
+        # Empty path, that just means $cwd.
+        func_stripname '' '/' "`pwd`"
+        func_normal_abspath_result=$func_stripname_result
+        return
+        ;;
+      # The next three entries are used to spot a run of precisely
+      # two leading slashes without using negated character classes;
+      # we take advantage of case's first-match behaviour.
+      ///*)
+        # Unusual form of absolute path, do nothing.
+        ;;
+      //*)
+        # Not necessarily an ordinary path; POSIX reserves leading '//'
+        # and for example Cygwin uses it to access remote file shares
+        # over CIFS/SMB, so we conserve a leading double slash if found.
+        func_normal_abspath_altnamespace=/
+        ;;
+      /*)
+        # Absolute path, do nothing.
+        ;;
+      *)
+        # Relative path, prepend $cwd.
+        func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+        ;;
+    esac
+
+    # Cancel out all the simple stuff to save iterations.  We also want
+    # the path to end with a slash for ease of parsing, so make sure
+    # there is one (and only one) here.
+    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+    while :; do
+      # Processed it all yet?
+      if test / = "$func_normal_abspath_tpath"; then
+        # If we ascended to the root using ".." the result may be empty now.
+        if test -z "$func_normal_abspath_result"; then
+          func_normal_abspath_result=/
+        fi
+        break
+      fi
+      func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcar"`
+      func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcdr"`
+      # Figure out what to do with it
+      case $func_normal_abspath_tcomponent in
+        "")
+          # Trailing empty path component, ignore it.
+          ;;
+        ..)
+          # Parent dir; strip last assembled component from result.
+          func_dirname "$func_normal_abspath_result"
+          func_normal_abspath_result=$func_dirname_result
+          ;;
+        *)
+          # Actual path component, append it.
+          func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+          ;;
+      esac
+    done
+    # Restore leading double-slash if one was found on entry.
+    func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+    $debug_cmd
+
+    $opt_quiet || func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+    $debug_cmd
+
+    func_relative_path_result=
+    func_normal_abspath "$1"
+    func_relative_path_tlibdir=$func_normal_abspath_result
+    func_normal_abspath "$2"
+    func_relative_path_tbindir=$func_normal_abspath_result
+
+    # Ascend the tree starting from libdir
+    while :; do
+      # check if we have found a prefix of bindir
+      case $func_relative_path_tbindir in
+        $func_relative_path_tlibdir)
+          # found an exact match
+          func_relative_path_tcancelled=
+          break
+          ;;
+        $func_relative_path_tlibdir*)
+          # found a matching prefix
+          func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+          func_relative_path_tcancelled=$func_stripname_result
+          if test -z "$func_relative_path_result"; then
+            func_relative_path_result=.
+          fi
+          break
+          ;;
+        *)
+          func_dirname $func_relative_path_tlibdir
+          func_relative_path_tlibdir=$func_dirname_result
+          if test -z "$func_relative_path_tlibdir"; then
+            # Have to descend all the way to the root!
+            func_relative_path_result=../$func_relative_path_result
+            func_relative_path_tcancelled=$func_relative_path_tbindir
+            break
+          fi
+          func_relative_path_result=../$func_relative_path_result
+          ;;
+      esac
+    done
+
+    # Now calculate path; take care to avoid doubling-up slashes.
+    func_stripname '' '/' "$func_relative_path_result"
+    func_relative_path_result=$func_stripname_result
+    func_stripname '/' '/' "$func_relative_path_tcancelled"
+    if test -n "$func_stripname_result"; then
+      func_append func_relative_path_result "/$func_stripname_result"
+    fi
+
+    # Normalisation. If bindir is libdir, return '.' else relative path.
+    if test -n "$func_relative_path_result"; then
+      func_stripname './' '' "$func_relative_path_result"
+      func_relative_path_result=$func_stripname_result
+    fi
+
+    test -n "$func_relative_path_result" || func_relative_path_result=.
+
+    :
+}
+
+
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+#   i) func_quote_for_eval_result
+#      double-quoted, suitable for a subsequent eval
+#  ii) func_quote_for_eval_unquoted_result
+#      has all characters that are still active within double
+#      quotes backslashified.
+func_quote_for_eval ()
+{
+    $debug_cmd
+
+    func_quote_for_eval_unquoted_result=
+    func_quote_for_eval_result=
+    while test 0 -lt $#; do
+      case $1 in
+        *[\\\`\"\$]*)
+	  _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+        *)
+          _G_unquoted_arg=$1 ;;
+      esac
+      if test -n "$func_quote_for_eval_unquoted_result"; then
+	func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
+      else
+        func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+      fi
+
+      case $_G_unquoted_arg in
+        # Double-quote args containing shell metacharacters to delay
+        # word splitting, command substitution and variable expansion
+        # for a subsequent eval.
+        # Many Bourne shells cannot handle close brackets correctly
+        # in scan sets, so we specify it separately.
+        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+          _G_quoted_arg=\"$_G_unquoted_arg\"
+          ;;
+        *)
+          _G_quoted_arg=$_G_unquoted_arg
+	  ;;
+      esac
+
+      if test -n "$func_quote_for_eval_result"; then
+	func_append func_quote_for_eval_result " $_G_quoted_arg"
+      else
+        func_append func_quote_for_eval_result "$_G_quoted_arg"
+      fi
+      shift
+    done
+}
+
+
+# func_quote_for_expand ARG
+# -------------------------
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+    $debug_cmd
+
+    case $1 in
+      *[\\\`\"]*)
+	_G_arg=`$ECHO "$1" | $SED \
+	    -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
+      *)
+        _G_arg=$1 ;;
+    esac
+
+    case $_G_arg in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting and command substitution for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+        _G_arg=\"$_G_arg\"
+        ;;
+    esac
+
+    func_quote_for_expand_result=$_G_arg
+}
+
+
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_stripname ()
+  {
+    $debug_cmd
+
+    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+    # positional parameters, so assign one to ordinary variable first.
+    func_stripname_result=$3
+    func_stripname_result=${func_stripname_result#"$1"}
+    func_stripname_result=${func_stripname_result%"$2"}
+  }'
+else
+  func_stripname ()
+  {
+    $debug_cmd
+
+    case $2 in
+      .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+      *)  func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+    esac
+  }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    func_quote_for_expand "$_G_cmd"
+    eval "func_notquiet $func_quote_for_expand_result"
+
+    $opt_dry_run || {
+      eval "$_G_cmd"
+      _G_status=$?
+      if test 0 -ne "$_G_status"; then
+	eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    $opt_quiet || {
+      func_quote_for_expand "$_G_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    $opt_dry_run || {
+      eval "$_G_user_locale
+	    $_G_cmd"
+      _G_status=$?
+      eval "$_G_safe_locale"
+      if test 0 -ne "$_G_status"; then
+	eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_tr_sh
+# ----------
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result.  All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+    $debug_cmd
+
+    case $1 in
+    [0-9]* | *[!a-zA-Z0-9_]*)
+      func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+      ;;
+    * )
+      func_tr_sh_result=$1
+      ;;
+    esac
+}
+
+
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $debug_cmd
+
+    $opt_verbose && func_echo "$*"
+
+    :
+}
+
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+    $debug_cmd
+
+    # CATEGORY must be in the warning_categories list!
+    case " $warning_categories " in
+      *" $1 "*) ;;
+      *) func_internal_error "invalid warning category '$1'" ;;
+    esac
+
+    _G_category=$1
+    shift
+
+    case " $opt_warning_types " in
+      *" $_G_category "*) $warning_func ${1+"$@"} ;;
+    esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+    $debug_cmd
+
+    printf '%s\n%s\n' "$1" "$2" \
+      | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false.  Use it like this:
+#
+#  func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+    $debug_cmd
+
+    test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2014-01-07.03; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+#   #!/bin/sh
+#   . relative/path/to/funclib.sh
+#   . relative/path/to/options-parser
+#   scriptversion=1.0
+#   func_options ${1+"$@"}
+#   eval set dummy "$func_options_result"; shift
+#   ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'.  Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+       --debug        enable verbose shell tracing
+   -W, --warnings=CATEGORY
+                      report the warnings falling in CATEGORY [all]
+   -v, --verbose      verbosely report processing
+       --version      print version information and exit
+   -h, --help         print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+       'all'          show all warnings
+       'none'         turn off all the warnings
+       'error'        warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code.  A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+    $debug_cmd
+
+    func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+    $debug_cmd
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not accept hook functions." ;;
+    esac
+
+    eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+    $debug_cmd
+
+    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+    $debug_cmd
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+    esac
+
+    eval _G_hook_fns=\$$1_hooks; shift
+
+    for _G_hook in $_G_hook_fns; do
+      eval $_G_hook '"$@"'
+
+      # store returned options list back into positional
+      # parameters for next 'cmd' execution.
+      eval _G_hook_result=\$${_G_hook}_result
+      eval set dummy "$_G_hook_result"; shift
+    done
+
+    func_quote_for_eval ${1+"$@"}
+    func_run_hooks_result=$func_quote_for_eval_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
+# options in '<hooked_function_name>_result', escaped suitably for
+# 'eval'.  Like this:
+#
+#    my_options_prep ()
+#    {
+#        $debug_cmd
+#
+#        # Extend the existing usage message.
+#        usage_message=$usage_message'
+#      -s, --silent       don'\''t print informational messages
+#    '
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_options_prep_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_options_prep my_options_prep
+#
+#
+#    my_silent_option ()
+#    {
+#        $debug_cmd
+#
+#        # Note that for efficiency, we parse as many options as we can
+#        # recognise in a loop before passing the remainder back to the
+#        # caller on the first unrecognised argument we encounter.
+#        while test $# -gt 0; do
+#          opt=$1; shift
+#          case $opt in
+#            --silent|-s) opt_silent=: ;;
+#            # Separate non-argument short options:
+#            -s*)         func_split_short_opt "$_G_opt"
+#                         set dummy "$func_split_short_opt_name" \
+#                             "-$func_split_short_opt_arg" ${1+"$@"}
+#                         shift
+#                         ;;
+#            *)            set dummy "$_G_opt" "$*"; shift; break ;;
+#          esac
+#        done
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_silent_option_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_parse_options my_silent_option
+#
+#
+#    my_option_validation ()
+#    {
+#        $debug_cmd
+#
+#        $opt_silent && $opt_verbose && func_fatal_help "\
+#    '--silent' and '--verbose' options are mutually exclusive."
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_option_validation_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_validate_options my_option_validation
+#
+# You'll alse need to manually amend $usage_message to reflect the extra
+# options you parse.  It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+    $debug_cmd
+
+    func_options_prep ${1+"$@"}
+    eval func_parse_options \
+        ${func_options_prep_result+"$func_options_prep_result"}
+    eval func_validate_options \
+        ${func_parse_options_result+"$func_parse_options_result"}
+
+    eval func_run_hooks func_options \
+        ${func_validate_options_result+"$func_validate_options_result"}
+
+    # save modified positional parameters for caller
+    func_options_result=$func_run_hooks_result
+}
+
+
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters.  If a hook function modifies that list, and
+# needs to propogate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning.
+func_hookable func_options_prep
+func_options_prep ()
+{
+    $debug_cmd
+
+    # Option defaults:
+    opt_verbose=false
+    opt_warning_types=
+
+    func_run_hooks func_options_prep ${1+"$@"}
+
+    # save modified positional parameters for caller
+    func_options_prep_result=$func_run_hooks_result
+}
+
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
+{
+    $debug_cmd
+
+    func_parse_options_result=
+
+    # this just eases exit handling
+    while test $# -gt 0; do
+      # Defer to hook functions for initial option parsing, so they
+      # get priority in the event of reusing an option name.
+      func_run_hooks func_parse_options ${1+"$@"}
+
+      # Adjust func_parse_options positional parameters to match
+      eval set dummy "$func_run_hooks_result"; shift
+
+      # Break out of the loop if we already parsed every option.
+      test $# -gt 0 || break
+
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --debug|-x)   debug_cmd='set -x'
+                      func_echo "enabling shell trace mode"
+                      $debug_cmd
+                      ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                      set dummy --warnings none ${1+"$@"}
+                      shift
+		      ;;
+
+        --warnings|--warning|-W)
+                      test $# = 0 && func_missing_arg $_G_opt && break
+                      case " $warning_categories $1" in
+                        *" $1 "*)
+                          # trailing space prevents matching last $1 above
+                          func_append_uniq opt_warning_types " $1"
+                          ;;
+                        *all)
+                          opt_warning_types=$warning_categories
+                          ;;
+                        *none)
+                          opt_warning_types=none
+                          warning_func=:
+                          ;;
+                        *error)
+                          opt_warning_types=$warning_categories
+                          warning_func=func_fatal_error
+                          ;;
+                        *)
+                          func_fatal_error \
+                             "unsupported warning category: '$1'"
+                          ;;
+                      esac
+                      shift
+                      ;;
+
+        --verbose|-v) opt_verbose=: ;;
+        --version)    func_version ;;
+        -\?|-h)       func_usage ;;
+        --help)       func_help ;;
+
+	# Separate optargs to long options (plugins may need this):
+	--*=*)        func_split_equals "$_G_opt"
+	              set dummy "$func_split_equals_lhs" \
+                          "$func_split_equals_rhs" ${1+"$@"}
+                      shift
+                      ;;
+
+       # Separate optargs to short options:
+        -W*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        # Separate non-argument short options:
+        -\?*|-h*|-v*|-x*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "-$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        --)           break ;;
+        -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
+        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+      esac
+    done
+
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    func_parse_options_result=$func_quote_for_eval_result
+}
+
+
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
+{
+    $debug_cmd
+
+    # Display all warnings if -W was not given.
+    test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+    func_run_hooks func_validate_options ${1+"$@"}
+
+    # Bail if the options were screwed!
+    $exit_cmd $EXIT_FAILURE
+
+    # save modified positional parameters for caller
+    func_validate_options_result=$func_run_hooks_result
+}
+
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+    $debug_cmd
+
+    eval \$ECHO \""Usage: $usage"\"
+    eval \$ECHO \""$fatal_help"\"
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
+}
+
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
+func_help ()
+{
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "$long_help_message"
+    exit 0
+}
+
+
+# func_missing_arg ARGNAME
+# ------------------------
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    $debug_cmd
+
+    func_error "Missing argument for '$1'."
+    exit_cmd=exit
+}
+
+
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=${1%%=*}
+      func_split_equals_rhs=${1#*=}
+      test "x$func_split_equals_lhs" = "x$1" \
+        && func_split_equals_rhs=
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+      func_split_equals_rhs=
+      test "x$func_split_equals_lhs" = "x$1" \
+        || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+  }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_arg=${1#??}
+      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+      func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+  }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+    exit 0
+}
+
+
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
+{
+    $debug_cmd
+
+    eval \$ECHO \""Usage: $usage"\"
+    echo
+    $SED -n 's|^# ||
+        /^Written by/{
+          x;p;x
+        }
+	h
+	/^Written by/q' < "$progpath"
+    echo
+    eval \$ECHO \""$usage_message"\"
+}
+
+
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $debug_cmd
+
+    printf '%s\n' "$progname $scriptversion"
+    $SED -n '
+        /(C)/!b go
+        :more
+        /\./!{
+          N
+          s|\n# | |
+          b more
+        }
+        :go
+        /^# Written by /,/# warranty; / {
+          s|^# ||
+          s|^# *$||
+          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+          p
+        }
+        /^# Written by / {
+          s|^# ||
+          p
+        }
+        /^warranty; /q' < "$progpath"
+
+    exit $?
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6'
+
+
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
+{
+    $debug_cmd
+
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
+
+
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
+{
+    $debug_cmd
+
+    $warning_func ${1+"$@"}
+}
+
+
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+       --config             show all configuration variables
+       --debug              enable verbose shell tracing
+   -n, --dry-run            display commands without modifying any files
+       --features           display basic configuration information and exit
+       --mode=MODE          use operation mode MODE
+       --no-warnings        equivalent to '-Wnone'
+       --preserve-dup-deps  don't remove duplicate dependency libraries
+       --quiet, --silent    don't print informational messages
+       --tag=TAG            use configuration variables from tag TAG
+   -v, --verbose            print more informational messages than default
+       --version            print version information
+   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]
+   -h, --help, --help-all   print short, long, or detailed help message
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
+{
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "$long_help_message
+
+MODE must be one of the following:
+
+       clean           remove files from the build directory
+       compile         compile a source file into a libtool object
+       execute         automatically set library path, then run a program
+       finish          complete the installation of libtool libraries
+       install         install libraries or executables
+       link            create a library or an executable
+       uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+       host-triplet:   $host
+       shell:          $SHELL
+       compiler:       $LTCC
+       compiler flags: $LTCFLAGS
+       linker:         $LD (gnu? $with_gnu_ld)
+       version:        $progname (GNU libtool) 2.4.6
+       automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+       autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool@gnu.org>.
+GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+    exit 0
+}
+
+
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_lo2o ()
+  {
+    case $1 in
+      *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+      *   ) func_lo2o_result=$1               ;;
+    esac
+  }'
+
+  # func_xform LIBOBJ-OR-SOURCE
+  # ---------------------------
+  # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+  # suffix to a '.lo' libtool-object suffix.
+  eval 'func_xform ()
+  {
+    func_xform_result=${1%.*}.lo
+  }'
+else
+  # ...otherwise fall back to using sed.
+  func_lo2o ()
+  {
+    func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+  }
+
+  func_xform ()
+  {
+    func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+  }
+fi
+
+
+# func_fatal_configuration ARG...
+# -------------------------------
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+    func__fatal_error ${1+"$@"} \
+      "See the $PACKAGE documentation for more information." \
+      "Fatal configuration error."
+}
+
+
+# func_config
+# -----------
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+    re_begincf='^# ### BEGIN LIBTOOL'
+    re_endcf='^# ### END LIBTOOL'
+
+    # Default configuration.
+    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+    done
+
+    exit $?
+}
+
+
+# func_features
+# -------------
+# Display the features supported by this script.
+func_features ()
+{
+    echo "host: $host"
+    if test yes = "$build_libtool_libs"; then
+      echo "enable shared libraries"
+    else
+      echo "disable shared libraries"
+    fi
+    if test yes = "$build_old_libs"; then
+      echo "enable static libraries"
+    else
+      echo "disable static libraries"
+    fi
+
+    exit $?
+}
+
+
+# func_enable_tag TAGNAME
+# -----------------------
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+    # Global variable:
+    tagname=$1
+
+    re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+    re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+    sed_extractcf=/$re_begincf/,/$re_endcf/p
+
+    # Validate tagname.
+    case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+        func_fatal_error "invalid tag name: $tagname"
+        ;;
+    esac
+
+    # Don't test for the "default" C tag, as we know it's
+    # there but not specially marked.
+    case $tagname in
+        CC) ;;
+    *)
+        if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+	  taglist="$taglist $tagname"
+
+	  # Evaluate the configuration.  Be careful to quote the path
+	  # and the sed script, to avoid splitting on whitespace, but
+	  # also don't use non-portable quotes within backquotes within
+	  # quotes we have to do it in 2 steps:
+	  extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+	  eval "$extractedcf"
+        else
+	  func_error "ignoring unknown tag $tagname"
+        fi
+        ;;
+    esac
+}
+
+
+# func_check_version_match
+# ------------------------
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+    if test "$package_revision" != "$macro_revision"; then
+      if test "$VERSION" != "$macro_version"; then
+        if test -z "$macro_version"; then
+          cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+        else
+          cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+        fi
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+      fi
+
+      exit $EXIT_MISMATCH
+    fi
+}
+
+
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+    $debug_mode
+
+    # Option defaults:
+    opt_config=false
+    opt_dlopen=
+    opt_dry_run=false
+    opt_help=false
+    opt_mode=
+    opt_preserve_dup_deps=false
+    opt_quiet=false
+
+    nonopt=
+    preserve_args=
+
+    # Shorthand for --mode=foo, only valid as the first argument
+    case $1 in
+    clean|clea|cle|cl)
+      shift; set dummy --mode clean ${1+"$@"}; shift
+      ;;
+    compile|compil|compi|comp|com|co|c)
+      shift; set dummy --mode compile ${1+"$@"}; shift
+      ;;
+    execute|execut|execu|exec|exe|ex|e)
+      shift; set dummy --mode execute ${1+"$@"}; shift
+      ;;
+    finish|finis|fini|fin|fi|f)
+      shift; set dummy --mode finish ${1+"$@"}; shift
+      ;;
+    install|instal|insta|inst|ins|in|i)
+      shift; set dummy --mode install ${1+"$@"}; shift
+      ;;
+    link|lin|li|l)
+      shift; set dummy --mode link ${1+"$@"}; shift
+      ;;
+    uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+      shift; set dummy --mode uninstall ${1+"$@"}; shift
+      ;;
+    esac
+
+    # Pass back the list of options.
+    func_quote_for_eval ${1+"$@"}
+    libtool_options_prep_result=$func_quote_for_eval_result
+}
+func_add_hook func_options_prep libtool_options_prep
+
+
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
+{
+    $debug_cmd
+
+    # Perform our own loop to consume as many options as possible in
+    # each iteration.
+    while test $# -gt 0; do
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --dry-run|--dryrun|-n)
+                        opt_dry_run=:
+                        ;;
+
+        --config)       func_config ;;
+
+        --dlopen|-dlopen)
+                        opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+                        shift
+                        ;;
+
+        --preserve-dup-deps)
+                        opt_preserve_dup_deps=: ;;
+
+        --features)     func_features ;;
+
+        --finish)       set dummy --mode finish ${1+"$@"}; shift ;;
+
+        --help)         opt_help=: ;;
+
+        --help-all)     opt_help=': help-all' ;;
+
+        --mode)         test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_mode=$1
+                        case $1 in
+                          # Valid mode arguments:
+                          clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+                          # Catch anything else as an error
+                          *) func_error "invalid argument for $_G_opt"
+                             exit_cmd=exit
+                             break
+                             ;;
+                        esac
+                        shift
+                        ;;
+
+        --no-silent|--no-quiet)
+                        opt_quiet=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                        opt_warning=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-verbose)
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --silent|--quiet)
+                        opt_quiet=:
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --tag)          test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_tag=$1
+                        func_append preserve_args " $_G_opt $1"
+                        func_enable_tag "$1"
+                        shift
+                        ;;
+
+        --verbose|-v)   opt_quiet=false
+                        opt_verbose=:
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+	# An option not handled by this hook function:
+        *)		set dummy "$_G_opt" ${1+"$@"};	shift; break  ;;
+      esac
+    done
+
+
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    libtool_parse_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_parse_options libtool_parse_options
+
+
+
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+    # save first non-option argument
+    if test 0 -lt $#; then
+      nonopt=$1
+      shift
+    fi
+
+    # preserve --debug
+    test : = "$debug_cmd" || func_append preserve_args " --debug"
+
+    case $host in
+      # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+      # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+        # don't eliminate duplications in $postdeps and $predeps
+        opt_duplicate_compiler_generated_deps=:
+        ;;
+      *)
+        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+        ;;
+    esac
+
+    $opt_help || {
+      # Sanity checks first:
+      func_check_version_match
+
+      test yes != "$build_libtool_libs" \
+        && test yes != "$build_old_libs" \
+        && func_fatal_configuration "not configured to build any kind of library"
+
+      # Darwin sucks
+      eval std_shrext=\"$shrext_cmds\"
+
+      # Only execute mode is allowed to have -dlopen flags.
+      if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+        func_error "unrecognized option '-dlopen'"
+        $ECHO "$help" 1>&2
+        exit $EXIT_FAILURE
+      fi
+
+      # Change the help message to a mode-specific one.
+      generic_help=$help
+      help="Try '$progname --help --mode=$opt_mode' for more information."
+    }
+
+    # Pass back the unparsed argument list
+    func_quote_for_eval ${1+"$@"}
+    libtool_validate_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_validate_options libtool_validate_options
+
+
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
+
+
+
+## ----------- ##
+##    Main.    ##
+## ----------- ##
+
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+  $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+    test -f "$1" &&
+      $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs.  To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway.  Works if 'file' does not exist.
+func_lalib_unsafe_p ()
+{
+    lalib_p=no
+    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+	for lalib_p_l in 1 2 3 4
+	do
+	    read lalib_p_line
+	    case $lalib_p_line in
+		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+	    esac
+	done
+	exec 0<&5 5<&-
+    fi
+    test yes = "$lalib_p"
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+    test -f "$1" &&
+      $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+    func_ltwrapper_exec_suffix=
+    case $1 in
+    *.exe) ;;
+    *) func_ltwrapper_exec_suffix=.exe ;;
+    esac
+    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+    func_dirname_and_basename "$1" "" "."
+    func_stripname '' '.exe' "$func_basename_result"
+    func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+    $debug_cmd
+
+    save_ifs=$IFS; IFS='~'
+    for cmd in $1; do
+      IFS=$sp$nl
+      eval cmd=\"$cmd\"
+      IFS=$save_ifs
+      func_show_eval "$cmd" "${2-:}"
+    done
+    IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)!  Also, sourcing
+# 'FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+    $debug_cmd
+
+    case $1 in
+    */* | *\\*)	. "$1" ;;
+    *)		. "./$1" ;;
+    esac
+}
+
+
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot.  Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+  func_resolve_sysroot_result=$1
+  case $func_resolve_sysroot_result in
+  =*)
+    func_stripname '=' '' "$func_resolve_sysroot_result"
+    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+    ;;
+  esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+  case $lt_sysroot:$1 in
+  ?*:"$lt_sysroot"*)
+    func_stripname "$lt_sysroot" '' "$1"
+    func_replace_sysroot_result='='$func_stripname_result
+    ;;
+  *)
+    # Including no sysroot.
+    func_replace_sysroot_result=$1
+    ;;
+  esac
+}
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    $debug_cmd
+
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+	func_append_quoted CC_quoted "$arg"
+      done
+      CC_expanded=`func_echo_all $CC`
+      CC_quoted_expanded=`func_echo_all $CC_quoted`
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	      # Double-quote args containing other shell metacharacters.
+	      func_append_quoted CC_quoted "$arg"
+	    done
+	    CC_expanded=`func_echo_all $CC`
+	    CC_quoted_expanded=`func_echo_all $CC_quoted`
+	    case "$@ " in
+	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  func_echo "unable to infer tagged configuration"
+	  func_fatal_error "specify a tag with '--tag'"
+#	else
+#	  func_verbose "using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+    write_libobj=$1
+    if test yes = "$build_libtool_libs"; then
+      write_lobj=\'$2\'
+    else
+      write_lobj=none
+    fi
+
+    if test yes = "$build_old_libs"; then
+      write_oldobj=\'$3\'
+    else
+      write_oldobj=none
+    fi
+
+    $opt_dry_run || {
+      cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+      $MV "${write_libobj}T" "$write_libobj"
+    }
+}
+
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+  $debug_cmd
+
+  func_convert_core_file_wine_to_w32_result=$1
+  if test -n "$1"; then
+    # Unfortunately, winepath does not exit with a non-zero error code, so we
+    # are forced to check the contents of stdout. On the other hand, if the
+    # command is not found, the shell will set an exit code of 127 and print
+    # *an error message* to stdout. So we must check for both error code of
+    # zero AND non-empty stdout, which explains the odd construction:
+    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+    if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
+      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+        $SED -e "$sed_naive_backslashify"`
+    else
+      func_convert_core_file_wine_to_w32_result=
+    fi
+  fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+  $debug_cmd
+
+  # unfortunately, winepath doesn't convert paths, only file names
+  func_convert_core_path_wine_to_w32_result=
+  if test -n "$1"; then
+    oldIFS=$IFS
+    IFS=:
+    for func_convert_core_path_wine_to_w32_f in $1; do
+      IFS=$oldIFS
+      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+      if test -n "$func_convert_core_file_wine_to_w32_result"; then
+        if test -z "$func_convert_core_path_wine_to_w32_result"; then
+          func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
+        else
+          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+        fi
+      fi
+    done
+    IFS=$oldIFS
+  fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+  $debug_cmd
+
+  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+    if test "$?" -ne 0; then
+      # on failure, ensure result is empty
+      func_cygpath_result=
+    fi
+  else
+    func_cygpath_result=
+    func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
+  fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format.  Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+  $debug_cmd
+
+  # awkward: cmd appends spaces to result
+  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+    $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+  $debug_cmd
+
+  if test -z "$2" && test -n "$1"; then
+    func_error "Could not determine host file name corresponding to"
+    func_error "  '$1'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback:
+    func_to_host_file_result=$1
+  fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+  $debug_cmd
+
+  if test -z "$4" && test -n "$3"; then
+    func_error "Could not determine the host path corresponding to"
+    func_error "  '$3'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback.  This is a deliberately simplistic "conversion" and
+    # should not be "improved".  See libtool.info.
+    if test "x$1" != "x$2"; then
+      lt_replace_pathsep_chars="s|$1|$2|g"
+      func_to_host_path_result=`echo "$3" |
+        $SED -e "$lt_replace_pathsep_chars"`
+    else
+      func_to_host_path_result=$3
+    fi
+  fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+  $debug_cmd
+
+  case $4 in
+  $1 ) func_to_host_path_result=$3$func_to_host_path_result
+    ;;
+  esac
+  case $4 in
+  $2 ) func_append func_to_host_path_result "$3"
+    ;;
+  esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via '$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+  $debug_cmd
+
+  $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result.  If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+  $debug_cmd
+
+  case ,$2, in
+    *,"$to_tool_file_cmd",*)
+      func_to_tool_file_result=$1
+      ;;
+    *)
+      $to_tool_file_cmd "$1"
+      func_to_tool_file_result=$func_to_host_file_result
+      ;;
+  esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+  func_to_host_file_result=$1
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_to_host_file_result=$func_convert_core_msys_to_w32_result
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+    # LT_CYGPATH in this case.
+    func_to_host_file_result=`cygpath -m "$1"`
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format.  Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    func_convert_core_file_wine_to_w32 "$1"
+    func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_msys_to_w32_result"
+    func_to_host_file_result=$func_cygpath_result
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+    func_convert_core_file_wine_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+    func_to_host_file_result=$func_cygpath_result
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via '$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format.  If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+#   file name conversion function    : func_convert_file_X_to_Y ()
+#   path conversion function         : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same.  If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+  $debug_cmd
+
+  if test -z "$to_host_path_cmd"; then
+    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+    to_host_path_cmd=func_convert_path_$func_stripname_result
+  fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+  $debug_cmd
+
+  func_init_to_host_path_cmd
+  $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+  func_to_host_path_result=$1
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from ARG.  MSYS
+    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+    # and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result=$func_convert_core_msys_to_w32_result
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format.  Requires a wine environment and
+# a working winepath.  Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+    func_to_host_path_result=$func_cygpath_result
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from
+    # ARG. msys behavior is inconsistent here, cygpath turns them
+    # into '.;' and ';.', and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+    func_to_host_path_result=$func_cygpath_result
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
+}
+# end func_convert_path_nix_to_cygwin
+
+
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+  $debug_cmd
+
+  func_dll_def_p_tmp=`$SED -n \
+    -e 's/^[	 ]*//' \
+    -e '/^\(;.*\)*$/d' \
+    -e 's/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p' \
+    -e q \
+    "$1"`
+  test DEF = "$func_dll_def_p_tmp"
+}
+
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+    $debug_cmd
+
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile=$nonopt  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+    pie_flag=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg=$arg
+	arg_mode=normal
+	;;
+
+      target )
+	libobj=$arg
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  test -n "$libobj" && \
+	    func_fatal_error "you cannot specify '-o' more than once"
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-pie | -fpie | -fPIE)
+          func_append pie_flag " $arg"
+	  continue
+	  ;;
+
+	-shared | -static | -prefer-pic | -prefer-non-pic)
+	  func_append later " $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  func_stripname '-Wc,' '' "$arg"
+	  args=$func_stripname_result
+	  lastarg=
+	  save_ifs=$IFS; IFS=,
+	  for arg in $args; do
+	    IFS=$save_ifs
+	    func_append_quoted lastarg "$arg"
+	  done
+	  IFS=$save_ifs
+	  func_stripname ' ' '' "$lastarg"
+	  lastarg=$func_stripname_result
+
+	  # Add the arguments to base_compile.
+	  func_append base_compile " $lastarg"
+	  continue
+	  ;;
+
+	*)
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg=$srcfile
+	  srcfile=$arg
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      func_append_quoted base_compile "$lastarg"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      func_fatal_error "you must specify an argument for -Xcompile"
+      ;;
+    target)
+      func_fatal_error "you must specify a target with '-o'"
+      ;;
+    *)
+      # Get the name of the library object.
+      test -z "$libobj" && {
+	func_basename "$srcfile"
+	libobj=$func_basename_result
+      }
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    case $libobj in
+    *.[cCFSifmso] | \
+    *.ada | *.adb | *.ads | *.asm | \
+    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+      func_xform "$libobj"
+      libobj=$func_xform_result
+      ;;
+    esac
+
+    case $libobj in
+    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+    *)
+      func_fatal_error "cannot determine name of library object from '$libobj'"
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -shared)
+	test yes = "$build_libtool_libs" \
+	  || func_fatal_configuration "cannot build a shared library"
+	build_old_libs=no
+	continue
+	;;
+
+      -static)
+	build_libtool_libs=no
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    func_quote_for_eval "$libobj"
+    test "X$libobj" != "X$func_quote_for_eval_result" \
+      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
+      && func_warning "libobj name '$libobj' may not contain shell special characters."
+    func_dirname_and_basename "$obj" "/" ""
+    objname=$func_basename_result
+    xdir=$func_dirname_result
+    lobj=$xdir$objdir/$objname
+
+    test -z "$base_compile" && \
+      func_fatal_help "you must specify a compilation command"
+
+    # Delete any leftover library objects.
+    if test yes = "$build_old_libs"; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2* | cegcc*)
+      pic_mode=default
+      ;;
+    esac
+    if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test no = "$compiler_c_o"; then
+      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+      lockfile=$output_obj.lock
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test yes = "$need_locks"; then
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test warn = "$need_locks"; then
+      if test -f "$lockfile"; then
+	$ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+      func_append removelist " $output_obj"
+      $ECHO "$srcfile" > "$lockfile"
+    fi
+
+    $opt_dry_run || $RM $removelist
+    func_append removelist " $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+    srcfile=$func_to_tool_file_result
+    func_quote_for_eval "$srcfile"
+    qsrcfile=$func_quote_for_eval_result
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test yes = "$build_libtool_libs"; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test no != "$pic_mode"; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      func_mkdir_p "$xdir$objdir"
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	func_append command " -o $lobj"
+      fi
+
+      func_show_eval_locale "$command"	\
+          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+      if test warn = "$need_locks" &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	func_show_eval '$MV "$output_obj" "$lobj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+
+      # Allow error messages only from the first compilation.
+      if test yes = "$suppress_opt"; then
+	suppress_output=' >/dev/null 2>&1'
+      fi
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test yes = "$build_old_libs"; then
+      if test yes != "$pic_mode"; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile$pie_flag"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test yes = "$compiler_c_o"; then
+	func_append command " -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      func_append command "$suppress_output"
+      func_show_eval_locale "$command" \
+        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+      if test warn = "$need_locks" &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	func_show_eval '$MV "$output_obj" "$obj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+    fi
+
+    $opt_dry_run || {
+      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+      # Unlock the critical section if it was locked
+      if test no != "$need_locks"; then
+	removelist=$lockfile
+        $RM "$lockfile"
+      fi
+    }
+
+    exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+  test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+    # We need to display help for each of the modes.
+    case $opt_mode in
+      "")
+        # Generic help is extracted from the usage comments
+        # at the start of this file.
+        func_help
+        ;;
+
+      clean)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      compile)
+      $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -no-suppress      do not suppress compiler output for multiple passes
+  -prefer-pic       try to build PIC objects only
+  -prefer-non-pic   try to build non-PIC objects only
+  -shared           do not build a '.o' file suitable for static linking
+  -static           only build a '.o' file suitable for static linking
+  -Wc,FLAG          pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
+        ;;
+
+      execute)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to '-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+        ;;
+
+      finish)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the '--dry-run' option if you just want to see what would be executed."
+        ;;
+
+      install)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the 'install' or 'cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+        ;;
+
+      link)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -bindir BINDIR    specify path to binaries directory (for systems where
+                    libraries must be found in the PATH setting at runtime)
+  -dlopen FILE      '-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+                    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+                    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  use a list of object files found in FILE to specify objects
+  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -shared           only do dynamic linking of libtool libraries
+  -shrext SUFFIX    override the standard shared library file extension
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+                    specify library version info [each variable defaults to 0]
+  -weak LIBNAME     declare that the target provides the LIBNAME interface
+  -Wc,FLAG
+  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
+  -Wl,FLAG
+  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
+  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with '-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in '.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
+
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
+is created, otherwise an executable program is created."
+        ;;
+
+      uninstall)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      *)
+        func_fatal_help "invalid operation mode '$opt_mode'"
+        ;;
+    esac
+
+    echo
+    $ECHO "Try '$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+  if test : = "$opt_help"; then
+    func_mode_help
+  else
+    {
+      func_help noexit
+      for opt_mode in compile link execute install finish uninstall clean; do
+	func_mode_help
+      done
+    } | $SED -n '1p; 2,$s/^Usage:/  or: /p'
+    {
+      func_help noexit
+      for opt_mode in compile link execute install finish uninstall clean; do
+	echo
+	func_mode_help
+      done
+    } |
+    $SED '1d
+      /^When reporting/,/^Report/{
+	H
+	d
+      }
+      $x
+      /information about other modes/d
+      /more detailed .*MODE/d
+      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+  fi
+  exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+    $debug_cmd
+
+    # The first argument is the command name.
+    cmd=$nonopt
+    test -z "$cmd" && \
+      func_fatal_help "you must specify a COMMAND"
+
+    # Handle -dlopen flags immediately.
+    for file in $opt_dlopen; do
+      test -f "$file" \
+	|| func_fatal_help "'$file' is not a file"
+
+      dir=
+      case $file in
+      *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "'$lib' is not a valid libtool archive"
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+	func_source "$file"
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && \
+	    func_warning "'$file' was not linked with '-export-dynamic'"
+	  continue
+	fi
+
+	func_dirname "$file" "" "."
+	dir=$func_dirname_result
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  func_append dir "/$objdir"
+	else
+	  if test ! -f "$dir/$dlname"; then
+	    func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
+	  fi
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	func_dirname "$file" "" "."
+	dir=$func_dirname_result
+	;;
+
+      *)
+	func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir=$absdir
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic=$magic
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -* | *.la | *.lo ) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if func_ltwrapper_script_p "$file"; then
+	  func_source "$file"
+	  # Transform arg to wrapped name.
+	  file=$progdir/$program
+	elif func_ltwrapper_executable_p "$file"; then
+	  func_ltwrapper_scriptname "$file"
+	  func_source "$func_ltwrapper_scriptname_result"
+	  # Transform arg to wrapped name.
+	  file=$progdir/$program
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      func_append_quoted args "$file"
+    done
+
+    if $opt_dry_run; then
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+	echo "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    else
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+	eval "if test \"\${save_$lt_var+set}\" = set; then
+                $lt_var=\$save_$lt_var; export $lt_var
+	      else
+		$lt_unset $lt_var
+	      fi"
+      done
+
+      # Now prepare to actually exec the command.
+      exec_cmd=\$cmd$args
+    fi
+}
+
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $debug_cmd
+
+    libs=
+    libdirs=
+    admincmds=
+
+    for opt in "$nonopt" ${1+"$@"}
+    do
+      if test -d "$opt"; then
+	func_append libdirs " $opt"
+
+      elif test -f "$opt"; then
+	if func_lalib_unsafe_p "$opt"; then
+	  func_append libs " $opt"
+	else
+	  func_warning "'$opt' is not a valid libtool archive"
+	fi
+
+      else
+	func_fatal_error "invalid argument '$opt'"
+      fi
+    done
+
+    if test -n "$libs"; then
+      if test -n "$lt_sysroot"; then
+        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+      else
+        sysroot_cmd=
+      fi
+
+      # Remove sysroot references
+      if $opt_dry_run; then
+        for lib in $libs; do
+          echo "removing references to $lt_sysroot and '=' prefixes from $lib"
+        done
+      else
+        tmpdir=`func_mktempdir`
+        for lib in $libs; do
+	  $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+	    > $tmpdir/tmp-la
+	  mv -f $tmpdir/tmp-la $lib
+	done
+        ${RM}r "$tmpdir"
+      fi
+    fi
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $opt_dry_run || eval "$cmds" || func_append admincmds "
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    $opt_quiet && exit $EXIT_SUCCESS
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      echo "----------------------------------------------------------------------"
+      echo "Libraries have been installed in:"
+      for libdir in $libdirs; do
+	$ECHO "   $libdir"
+      done
+      echo
+      echo "If you ever happen to want to link against installed libraries"
+      echo "in a given directory, LIBDIR, you must either use libtool, and"
+      echo "specify the full pathname of the library, or use the '-LLIBDIR'"
+      echo "flag during linking and do at least one of the following:"
+      if test -n "$shlibpath_var"; then
+	echo "   - add LIBDIR to the '$shlibpath_var' environment variable"
+	echo "     during execution"
+      fi
+      if test -n "$runpath_var"; then
+	echo "   - add LIBDIR to the '$runpath_var' environment variable"
+	echo "     during linking"
+      fi
+      if test -n "$hardcode_libdir_flag_spec"; then
+	libdir=LIBDIR
+	eval flag=\"$hardcode_libdir_flag_spec\"
+
+	$ECHO "   - use the '$flag' linker flag"
+      fi
+      if test -n "$admincmds"; then
+	$ECHO "   - have your system administrator run these commands:$admincmds"
+      fi
+      if test -f /etc/ld.so.conf; then
+	echo "   - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
+      fi
+      echo
+
+      echo "See any operating system documentation about shared libraries for"
+      case $host in
+	solaris2.[6789]|solaris2.1[0-9])
+	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+	  echo "pages."
+	  ;;
+	*)
+	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
+	  ;;
+      esac
+      echo "----------------------------------------------------------------------"
+    fi
+    exit $EXIT_SUCCESS
+}
+
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+    $debug_cmd
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
+       # Allow the use of GNU shtool's install command.
+       case $nonopt in *shtool*) :;; *) false;; esac
+    then
+      # Aesthetically quote it.
+      func_quote_for_eval "$nonopt"
+      install_prog="$func_quote_for_eval_result "
+      arg=$1
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    func_quote_for_eval "$arg"
+    func_append install_prog "$func_quote_for_eval_result"
+    install_shared_prog=$install_prog
+    case " $install_prog " in
+      *[\\\ /]cp\ *) install_cp=: ;;
+      *) install_cp=false ;;
+    esac
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=false
+    stripme=
+    no_mode=:
+    for arg
+    do
+      arg2=
+      if test -n "$dest"; then
+	func_append files " $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=: ;;
+      -f)
+	if $install_cp; then :; else
+	  prev=$arg
+	fi
+	;;
+      -g | -m | -o)
+	prev=$arg
+	;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  if test X-m = "X$prev" && test -n "$install_override_mode"; then
+	    arg2=$install_override_mode
+	    no_mode=false
+	  fi
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      func_quote_for_eval "$arg"
+      func_append install_prog " $func_quote_for_eval_result"
+      if test -n "$arg2"; then
+	func_quote_for_eval "$arg2"
+      fi
+      func_append install_shared_prog " $func_quote_for_eval_result"
+    done
+
+    test -z "$install_prog" && \
+      func_fatal_help "you must specify an install program"
+
+    test -n "$prev" && \
+      func_fatal_help "the '$prev' option requires an argument"
+
+    if test -n "$install_override_mode" && $no_mode; then
+      if $install_cp; then :; else
+	func_quote_for_eval "$install_override_mode"
+	func_append install_shared_prog " -m $func_quote_for_eval_result"
+      fi
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	func_fatal_help "no file or destination specified"
+      else
+	func_fatal_help "you must specify a destination"
+      fi
+    fi
+
+    # Strip any trailing slash from the destination.
+    func_stripname '' '/' "$dest"
+    dest=$func_stripname_result
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=:
+    if $isdir; then
+      destdir=$dest
+      destname=
+    else
+      func_dirname_and_basename "$dest" "" "."
+      destdir=$func_dirname_result
+      destname=$func_basename_result
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files; shift
+      test "$#" -gt 1 && \
+	func_fatal_help "'$dest' is not a directory"
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  func_fatal_help "'$destdir' must be an absolute directory name"
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic=$magic
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	func_append staticlibs " $file"
+	;;
+
+      *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "'$file' is not a valid libtool archive"
+
+	library_names=
+	old_library=
+	relink_command=
+	func_source "$file"
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) func_append current_libdirs " $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) func_append future_libdirs " $libdir" ;;
+	  esac
+	fi
+
+	func_dirname "$file" "/" ""
+	dir=$func_dirname_result
+	func_append dir "$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  test "$inst_prefix_dir" = "$destdir" && \
+	    func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  func_warning "relinking '$file'"
+	  func_show_eval "$relink_command" \
+	    'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names; shift
+	if test -n "$1"; then
+	  realname=$1
+	  shift
+
+	  srcname=$realname
+	  test -n "$relink_command" && srcname=${realname}T
+
+	  # Install the shared library and build the symlinks.
+	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+	      'exit $?'
+	  tstripme=$stripme
+	  case $host_os in
+	  cygwin* | mingw* | pw32* | cegcc*)
+	    case $realname in
+	    *.dll.a)
+	      tstripme=
+	      ;;
+	    esac
+	    ;;
+	  os2*)
+	    case $realname in
+	    *_dll.a)
+	      tstripme=
+	      ;;
+	    esac
+	    ;;
+	  esac
+	  if test -n "$tstripme" && test -n "$striplib"; then
+	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try 'ln -sf' first, because the 'ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      test "$linkname" != "$realname" \
+		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib=$destdir/$realname
+	  func_execute_cmds "$postinstall_cmds" 'exit $?'
+	fi
+
+	# Install the pseudo-library for information purposes.
+	func_basename "$file"
+	name=$func_basename_result
+	instname=$dir/${name}i
+	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile=$destdir/$destname
+	else
+	  func_basename "$file"
+	  destfile=$func_basename_result
+	  destfile=$destdir/$destfile
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  func_lo2o "$destfile"
+	  staticdest=$func_lo2o_result
+	  ;;
+	*.$objext)
+	  staticdest=$destfile
+	  destfile=
+	  ;;
+	*)
+	  func_fatal_help "cannot copy a libtool object to '$destfile'"
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	test -n "$destfile" && \
+	  func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+	# Install the old object if enabled.
+	if test yes = "$build_old_libs"; then
+	  # Deduce the name of the old-style object file.
+	  func_lo2o "$file"
+	  staticobj=$func_lo2o_result
+	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile=$destdir/$destname
+	else
+	  func_basename "$file"
+	  destfile=$func_basename_result
+	  destfile=$destdir/$destfile
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      func_stripname '' '.exe' "$file"
+	      file=$func_stripname_result
+	      stripped_ext=.exe
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin* | *mingw*)
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      wrapper=$func_ltwrapper_scriptname_result
+	    else
+	      func_stripname '' '.exe' "$file"
+	      wrapper=$func_stripname_result
+	    fi
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if func_ltwrapper_script_p "$wrapper"; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  func_source "$wrapper"
+
+	  # Check the variables that should have been set.
+	  test -z "$generated_by_libtool_version" && \
+	    func_fatal_error "invalid libtool wrapper script '$wrapper'"
+
+	  finalize=:
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      func_source "$lib"
+	    fi
+	    libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      func_warning "'$lib' has not been installed in '$libdir'"
+	      finalize=false
+	    fi
+	  done
+
+	  relink_command=
+	  func_source "$wrapper"
+
+	  outputname=
+	  if test no = "$fast_install" && test -n "$relink_command"; then
+	    $opt_dry_run || {
+	      if $finalize; then
+	        tmpdir=`func_mktempdir`
+		func_basename "$file$stripped_ext"
+		file=$func_basename_result
+	        outputname=$tmpdir/$file
+	        # Replace the output file specification.
+	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+	        $opt_quiet || {
+	          func_quote_for_expand "$relink_command"
+		  eval "func_echo $func_quote_for_expand_result"
+	        }
+	        if eval "$relink_command"; then :
+	          else
+		  func_error "error: relink '$file' with the above command before installing it"
+		  $opt_dry_run || ${RM}r "$tmpdir"
+		  continue
+	        fi
+	        file=$outputname
+	      else
+	        func_warning "cannot relink '$file'"
+	      fi
+	    }
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    func_stripname '' '.exe' "$destfile"
+	    destfile=$func_stripname_result
+	    ;;
+	  esac
+	  ;;
+	esac
+	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+	$opt_dry_run || if test -n "$outputname"; then
+	  ${RM}r "$tmpdir"
+	fi
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      func_basename "$file"
+      name=$func_basename_result
+
+      # Set up the ranlib parameters.
+      oldlib=$destdir/$name
+      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+      tool_oldlib=$func_to_tool_file_result
+
+      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
+      fi
+
+      # Do each command in the postinstall commands.
+      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+    done
+
+    test -n "$future_libdirs" && \
+      func_warning "remember to run '$progname --finish$future_libdirs'"
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      $opt_dry_run && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+    $debug_cmd
+
+    my_outputname=$1
+    my_originator=$2
+    my_pic_p=${3-false}
+    my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
+    my_dlsyms=
+
+    if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+      if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	my_dlsyms=${my_outputname}S.c
+      else
+	func_error "not configured to extract global symbols from dlpreopened files"
+      fi
+    fi
+
+    if test -n "$my_dlsyms"; then
+      case $my_dlsyms in
+      "") ;;
+      *.c)
+	# Discover the nlist of each of the dlfiles.
+	nlist=$output_objdir/$my_outputname.nm
+
+	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+	# Parse the name list into a source file.
+	func_verbose "creating $output_objdir/$my_dlsyms"
+
+	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* External symbol declarations for the compiler. */\
+"
+
+	if test yes = "$dlself"; then
+	  func_verbose "generating symbol list for '$output'"
+
+	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+	  # Add our own program objects to the symbol list.
+	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	  for progfile in $progfiles; do
+	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+	    func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
+	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -n "$exclude_expsyms"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  if test -n "$export_symbols_regex"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  # Prepare the list of exported symbols
+	  if test -z "$export_symbols"; then
+	    export_symbols=$output_objdir/$outputname.exp
+	    $opt_dry_run || {
+	      $RM $export_symbols
+	      eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+	      case $host in
+	      *cygwin* | *mingw* | *cegcc* )
+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+	        ;;
+	      esac
+	    }
+	  else
+	    $opt_dry_run || {
+	      eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	      case $host in
+	        *cygwin* | *mingw* | *cegcc* )
+	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+	          ;;
+	      esac
+	    }
+	  fi
+	fi
+
+	for dlprefile in $dlprefiles; do
+	  func_verbose "extracting global C symbols from '$dlprefile'"
+	  func_basename "$dlprefile"
+	  name=$func_basename_result
+          case $host in
+	    *cygwin* | *mingw* | *cegcc* )
+	      # if an import library, we need to obtain dlname
+	      if func_win32_import_lib_p "$dlprefile"; then
+	        func_tr_sh "$dlprefile"
+	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
+	        dlprefile_dlbasename=
+	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+	          # Use subshell, to avoid clobbering current variable values
+	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+	          if test -n "$dlprefile_dlname"; then
+	            func_basename "$dlprefile_dlname"
+	            dlprefile_dlbasename=$func_basename_result
+	          else
+	            # no lafile. user explicitly requested -dlpreopen <import library>.
+	            $sharedlib_from_linklib_cmd "$dlprefile"
+	            dlprefile_dlbasename=$sharedlib_from_linklib_result
+	          fi
+	        fi
+	        $opt_dry_run || {
+	          if test -n "$dlprefile_dlbasename"; then
+	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+	          else
+	            func_warning "Could not compute DLL name from $name"
+	            eval '$ECHO ": $name " >> "$nlist"'
+	          fi
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+	        }
+	      else # not an import lib
+	        $opt_dry_run || {
+	          eval '$ECHO ": $name " >> "$nlist"'
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	        }
+	      fi
+	    ;;
+	    *)
+	      $opt_dry_run || {
+	        eval '$ECHO ": $name " >> "$nlist"'
+	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	      }
+	    ;;
+          esac
+	done
+
+	$opt_dry_run || {
+	  # Make sure we have at least an empty file.
+	  test -f "$nlist" || : > "$nlist"
+
+	  if test -n "$exclude_expsyms"; then
+	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	    $MV "$nlist"T "$nlist"
+	  fi
+
+	  # Try sorting and uniquifying the output.
+	  if $GREP -v "^: " < "$nlist" |
+	      if sort -k 3 </dev/null >/dev/null 2>&1; then
+		sort -k 3
+	      else
+		sort +2
+	      fi |
+	      uniq > "$nlist"S; then
+	    :
+	  else
+	    $GREP -v "^: " < "$nlist" > "$nlist"S
+	  fi
+
+	  if test -f "$nlist"S; then
+	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+	  else
+	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+	  fi
+
+	  func_show_eval '$RM "${nlist}I"'
+	  if test -n "$global_symbol_to_import"; then
+	    eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+	  fi
+
+	  echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols.  */
+typedef struct {
+  const char *name;
+  void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+	  if test -s "$nlist"I; then
+	    echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+  LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+  for (; symbol->name; ++symbol)
+    {"
+	    $SED 's/.*/      if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+	    echo >> "$output_objdir/$my_dlsyms" "\
+    }
+}"
+	  fi
+	  echo >> "$output_objdir/$my_dlsyms" "\
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{ {\"$my_originator\", (void *) 0},"
+
+	  if test -s "$nlist"I; then
+	    echo >> "$output_objdir/$my_dlsyms" "\
+  {\"@INIT@\", (void *) &lt_syminit},"
+	  fi
+
+	  case $need_lib_prefix in
+	  no)
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  *)
+	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  esac
+	  echo >> "$output_objdir/$my_dlsyms" "\
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	} # !$opt_dry_run
+
+	pic_flag_for_symtable=
+	case "$compile_command " in
+	*" -static "*) ;;
+	*)
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+	  *-*-hpux*)
+	    pic_flag_for_symtable=" $pic_flag"  ;;
+	  *)
+	    $my_pic_p && pic_flag_for_symtable=" $pic_flag"
+	    ;;
+	  esac
+	  ;;
+	esac
+	symtab_cflags=
+	for arg in $LTCFLAGS; do
+	  case $arg in
+	  -pie | -fpie | -fPIE) ;;
+	  *) func_append symtab_cflags " $arg" ;;
+	  esac
+	done
+
+	# Now compile the dynamic symbol file.
+	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+	# Clean up the generated files.
+	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
+
+	# Transform the symbol file into the correct name.
+	symfileobj=$output_objdir/${my_outputname}S.$objext
+	case $host in
+	*cygwin* | *mingw* | *cegcc* )
+	  if test -f "$output_objdir/$my_outputname.def"; then
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	  else
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  fi
+	  ;;
+	*)
+	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  ;;
+	esac
+	;;
+      *)
+	func_fatal_error "unknown suffix for '$my_dlsyms'"
+	;;
+      esac
+    else
+      # We keep going just in case the user didn't refer to
+      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+      # really was required.
+
+      # Nullify the symbol file.
+      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+    fi
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+  test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+  test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+  $debug_cmd
+
+  win32_libid_type=unknown
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+      case $nm_interface in
+      "MS dumpbin")
+	if func_cygming_ms_implib_p "$1" ||
+	   func_cygming_gnu_implib_p "$1"
+	then
+	  win32_nmres=import
+	else
+	  win32_nmres=
+	fi
+	;;
+      *)
+	func_to_tool_file "$1" func_convert_file_msys_to_w32
+	win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+	  $SED -n -e '
+	    1,100{
+		/ I /{
+		    s|.*|import|
+		    p
+		    q
+		}
+	    }'`
+	;;
+      esac
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+  $debug_cmd
+
+  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+  $debug_cmd
+
+  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+    $SED '/^Contents of section '"$match_literal"':/{
+      # Place marker at beginning of archive member dllname section
+      s/.*/====MARK====/
+      p
+      d
+    }
+    # These lines can sometimes be longer than 43 characters, but
+    # are always uninteresting
+    /:[	 ]*file format pe[i]\{,1\}-/d
+    /^In archive [^:]*:/d
+    # Ensure marker is printed
+    /^====MARK====/p
+    # Remove all lines with less than 43 characters
+    /^.\{43\}/!d
+    # From remaining lines, remove first 43 characters
+    s/^.\{43\}//' |
+    $SED -n '
+      # Join marker and all lines until next marker into a single line
+      /^====MARK====/ b para
+      H
+      $ b para
+      b
+      :para
+      x
+      s/\n//g
+      # Remove the marker
+      s/^====MARK====//
+      # Remove trailing dots and whitespace
+      s/[\. \t]*$//
+      # Print
+      /./p' |
+    # we now have a list, one entry per line, of the stringified
+    # contents of the appropriate section of all members of the
+    # archive that possess that section. Heuristic: eliminate
+    # all those that have a first or second character that is
+    # a '.' (that is, objdump's representation of an unprintable
+    # character.) This should work for all archives with less than
+    # 0x302f exports -- but will fail for DLLs whose name actually
+    # begins with a literal '.' or a single character followed by
+    # a '.'.
+    #
+    # Of those that remain, print the first one.
+    $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+  $debug_cmd
+
+  if func_cygming_gnu_implib_p "$1"; then
+    # binutils import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+  elif func_cygming_ms_implib_p "$1"; then
+    # ms-generated import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+  else
+    # unknown
+    sharedlib_from_linklib_result=
+  fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    $debug_cmd
+
+    f_ex_an_ar_dir=$1; shift
+    f_ex_an_ar_oldlib=$1
+    if test yes = "$lock_old_archive_extraction"; then
+      lockfile=$f_ex_an_ar_oldlib.lock
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    fi
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+		   'stat=$?; rm -f "$lockfile"; exit $stat'
+    if test yes = "$lock_old_archive_extraction"; then
+      $opt_dry_run || rm -f "$lockfile"
+    fi
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+    fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    $debug_cmd
+
+    my_gentop=$1; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=
+    my_xlib=
+    my_xabs=
+    my_xdir=
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      func_basename "$my_xlib"
+      my_xlib=$func_basename_result
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+	*" $my_xlib_u "*)
+	  func_arith $extracted_serial + 1
+	  extracted_serial=$func_arith_result
+	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
+	*) break ;;
+	esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir=$my_gentop/$my_xlib_u
+
+      func_mkdir_p "$my_xdir"
+
+      case $host in
+      *-darwin*)
+	func_verbose "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	$opt_dry_run || {
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  func_basename "$darwin_archive"
+	  darwin_base_archive=$func_basename_result
+	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+	  if test -n "$darwin_arches"; then
+	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches; do
+	      func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+	      $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+	      cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+	      func_extract_an_archive "`pwd`" "$darwin_base_archive"
+	      cd "$darwin_curdir"
+	      $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
+	    done # $darwin_arches
+            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+	      $LIPO -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    $RM -rf unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd $darwin_orig_dir
+	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	} # !$opt_dry_run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+	;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+    done
+
+    func_extract_archives_result=$my_oldobjs
+}
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory where it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+	func_emit_wrapper_arg1=${1-no}
+
+	$ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='$macro_version'
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$ECHO are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    file=\"\$0\""
+
+    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+    $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+    ECHO=\"$qECHO\"
+  fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ that is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options that match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+  lt_script_arg0=\$0
+  shift
+  for lt_opt
+  do
+    case \"\$lt_opt\" in
+    --lt-debug) lt_option_debug=1 ;;
+    --lt-dump-script)
+        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+        cat \"\$lt_dump_D/\$lt_dump_F\"
+        exit 0
+      ;;
+    --lt-*)
+        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+        exit 1
+      ;;
+    esac
+  done
+
+  # Print the debug banner immediately:
+  if test -n \"\$lt_option_debug\"; then
+    echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
+  fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+  lt_dump_args_N=1;
+  for lt_arg
+  do
+    \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
+    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+  done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+  case $host in
+  # Backslashes separate directories on plain windows
+  *-*-mingw | *-*-os2* | *-cegcc*)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+    ;;
+
+  *)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+    ;;
+  esac
+  $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+  case \" \$* \" in
+  *\\ --lt-*)
+    for lt_wr_arg
+    do
+      case \$lt_wr_arg in
+      --lt-*) ;;
+      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+      esac
+      shift
+    done ;;
+  esac
+  func_exec_program_core \${1+\"\$@\"}
+}
+
+  # Parse options
+  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+  done
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+    # special case for '.'
+    if test \"\$thisdir\" = \".\"; then
+      thisdir=\`pwd\`
+    fi
+    # remove .libs from thisdir
+    case \"\$thisdir\" in
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    $objdir )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test yes = "$fast_install"; then
+	  $ECHO "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" ||
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $MKDIR \"\$progdir\"
+    else
+      $RM \"\$progdir/\$file\"
+    fi"
+
+	  $ECHO "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	\$ECHO \"\$relink_command_output\" >&2
+	$RM \"\$progdir/\$file\"
+	exit 1
+      fi
+    fi
+
+    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $RM \"\$progdir/\$program\";
+      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $RM \"\$progdir/\$file\"
+  fi"
+	else
+	  $ECHO "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$ECHO "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# fixup the dll searchpath if we need to.
+	#
+	# Fix the DLL searchpath if we need to.  Do this before prepending
+	# to shlibpath, because on Windows, both are PATH and uninstalled
+	# libraries must come first.
+	if test -n "$dllsearchpath"; then
+	  $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	# Export our shlibpath_var if we have one.
+	if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $ECHO "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	$ECHO "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+      func_exec_program \${1+\"\$@\"}
+    fi
+  else
+    # The program doesn't exist.
+    \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+}
+
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+	cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+*/
+EOF
+	    cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+#  include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* declarations of non-ANSI functions */
+#if defined __MINGW32__
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined __CYGWIN__
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined other_platform || defined ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined _MSC_VER
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+# define S_IXUSR _S_IEXEC
+#elif defined __MINGW32__
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+#elif defined __CYGWIN__
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined other platforms ... */
+#endif
+
+#if defined PATH_MAX
+# define LT_PATHMAX PATH_MAX
+#elif defined MAXPATHLEN
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+  defined __OS2__
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free (stale); stale = 0; } \
+} while (0)
+
+#if defined LT_DEBUGWRAPPER
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
+
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
+
+	    cat <<EOF
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+	    if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+              func_to_host_path "$temp_rpath"
+	      cat <<EOF
+const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
+EOF
+	    else
+	      cat <<"EOF"
+const char * LIB_PATH_VALUE   = "";
+EOF
+	    fi
+
+	    if test -n "$dllsearchpath"; then
+              func_to_host_path "$dllsearchpath:"
+	      cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
+EOF
+	    else
+	      cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE   = "";
+EOF
+	    fi
+
+	    if test yes = "$fast_install"; then
+	      cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+	    else
+	      cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+	    fi
+
+
+	    cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX         "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int  newargc;
+  char *tmp_pathspec;
+  char *actual_cwrapper_path;
+  char *actual_cwrapper_name;
+  char *target_name;
+  char *lt_argv_zero;
+  int rval = 127;
+
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  newargz = XMALLOC (char *, (size_t) argc + 1);
+
+  /* very simple arg parsing; don't want to rely on getopt
+   * also, copy all non cwrapper options to newargz, except
+   * argz[0], which is handled differently
+   */
+  newargc=0;
+  for (i = 1; i < argc; i++)
+    {
+      if (STREQ (argv[i], dumpscript_opt))
+	{
+EOF
+	    case $host in
+	      *mingw* | *cygwin* )
+		# make stdout use "unix" line endings
+		echo "          setmode(1,_O_BINARY);"
+		;;
+	      esac
+
+	    cat <<"EOF"
+	  lt_dump_script (stdout);
+	  return 0;
+	}
+      if (STREQ (argv[i], debug_opt))
+	{
+          lt_debug = 1;
+          continue;
+	}
+      if (STREQ (argv[i], ltwrapper_option_prefix))
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal (__FILE__, __LINE__,
+		    "unrecognized %s option: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
+    }
+  newargz[++newargc] = NULL;
+
+EOF
+	    cat <<EOF
+  /* The GNU banner must be the first non-error debug message */
+  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
+EOF
+	    cat <<"EOF"
+  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+  tmp_pathspec = find_executable (argv[0]);
+  if (tmp_pathspec == NULL)
+    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (before symlink chase) at: %s\n",
+		  tmp_pathspec);
+
+  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (after symlink chase) at: %s\n",
+		  actual_cwrapper_path);
+  XFREE (tmp_pathspec);
+
+  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+  strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+  /* wrapper name transforms */
+  strendzap (actual_cwrapper_name, ".exe");
+  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+  XFREE (actual_cwrapper_name);
+  actual_cwrapper_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  /* target_name transforms -- use actual target program name; might have lt- prefix */
+  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+  strendzap (target_name, ".exe");
+  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+  XFREE (target_name);
+  target_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(main) libtool target name: %s\n",
+		  target_name);
+EOF
+
+	    cat <<EOF
+  newargz[0] =
+    XMALLOC (char, (strlen (actual_cwrapper_path) +
+		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+  strcpy (newargz[0], actual_cwrapper_path);
+  strcat (newargz[0], "$objdir");
+  strcat (newargz[0], "/");
+EOF
+
+	    cat <<"EOF"
+  /* stop here, and copy so we don't have to do this twice */
+  tmp_pathspec = xstrdup (newargz[0]);
+
+  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+  strcat (newargz[0], actual_cwrapper_name);
+
+  /* DO want the lt- prefix here if it exists, so use target_name */
+  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+  XFREE (tmp_pathspec);
+  tmp_pathspec = NULL;
+EOF
+
+	    case $host_os in
+	      mingw*)
+	    cat <<"EOF"
+  {
+    char* p;
+    while ((p = strchr (newargz[0], '\\')) != NULL)
+      {
+	*p = '/';
+      }
+    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+      {
+	*p = '/';
+      }
+  }
+EOF
+	    ;;
+	    esac
+
+	    cat <<"EOF"
+  XFREE (target_name);
+  XFREE (actual_cwrapper_path);
+  XFREE (actual_cwrapper_name);
+
+  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
+  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
+     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+     because on Windows, both *_VARNAMEs are PATH but uninstalled
+     libraries must come first. */
+  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+		  nonnull (lt_argv_zero));
+  for (i = 0; i < newargc; i++)
+    {
+      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+		      i, nonnull (newargz[i]));
+    }
+
+EOF
+
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+  /* execv doesn't actually work on mingw as expected on unix */
+  newargz = prepare_spawn (newargz);
+  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  if (rval == -1)
+    {
+      /* failed to start process */
+      lt_debugprintf (__FILE__, __LINE__,
+		      "(main) failed to launch target \"%s\": %s\n",
+		      lt_argv_zero, nonnull (strerror (errno)));
+      return 127;
+    }
+  return rval;
+EOF
+		;;
+	      *)
+		cat <<"EOF"
+  execv (lt_argv_zero, newargz);
+  return rval; /* =127, but avoids unused variable warning */
+EOF
+		;;
+	    esac
+
+	    cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+  void *p = (void *) malloc (num);
+  if (!p)
+    lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+			  string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable (const char *path)
+{
+  struct stat st;
+
+  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+                  nonempty (path));
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0)
+      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+    return 1;
+  else
+    return 0;
+}
+
+int
+make_executable (const char *path)
+{
+  int rval = 0;
+  struct stat st;
+
+  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+                  nonempty (path));
+  if ((!path) || (!*path))
+    return 0;
+
+  if (stat (path, &st) >= 0)
+    {
+      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+    }
+  return rval;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise
+   Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+  int has_slash = 0;
+  const char *p;
+  const char *p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  size_t tmp_len;
+  char *concat_name;
+
+  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+                  nonempty (wrapper));
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable (concat_name))
+	return concat_name;
+      XFREE (concat_name);
+    }
+  else
+    {
+#endif
+      if (IS_DIR_SEPARATOR (wrapper[0]))
+	{
+	  concat_name = xstrdup (wrapper);
+	  if (check_executable (concat_name))
+	    return concat_name;
+	  XFREE (concat_name);
+	}
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+    }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+      {
+	has_slash = 1;
+	break;
+      }
+  if (!has_slash)
+    {
+      /* no slashes; search PATH */
+      const char *path = getenv ("PATH");
+      if (path != NULL)
+	{
+	  for (p = path; *p; p = p_next)
+	    {
+	      const char *q;
+	      size_t p_len;
+	      for (q = p; *q; q++)
+		if (IS_PATH_SEPARATOR (*q))
+		  break;
+	      p_len = (size_t) (q - p);
+	      p_next = (*q == '\0' ? q : q + 1);
+	      if (p_len == 0)
+		{
+		  /* empty path: current directory */
+		  if (getcwd (tmp, LT_PATHMAX) == NULL)
+		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+                              nonnull (strerror (errno)));
+		  tmp_len = strlen (tmp);
+		  concat_name =
+		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, tmp, tmp_len);
+		  concat_name[tmp_len] = '/';
+		  strcpy (concat_name + tmp_len + 1, wrapper);
+		}
+	      else
+		{
+		  concat_name =
+		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, p, p_len);
+		  concat_name[p_len] = '/';
+		  strcpy (concat_name + p_len + 1, wrapper);
+		}
+	      if (check_executable (concat_name))
+		return concat_name;
+	      XFREE (concat_name);
+	    }
+	}
+      /* not found in PATH; assume curdir */
+    }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+              nonnull (strerror (errno)));
+  tmp_len = strlen (tmp);
+  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable (concat_name))
+    return concat_name;
+  XFREE (concat_name);
+  return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+  return xstrdup (pathspec);
+#else
+  char buf[LT_PATHMAX];
+  struct stat s;
+  char *tmp_pathspec = xstrdup (pathspec);
+  char *p;
+  int has_symlinks = 0;
+  while (strlen (tmp_pathspec) && !has_symlinks)
+    {
+      lt_debugprintf (__FILE__, __LINE__,
+		      "checking path component for symlinks: %s\n",
+		      tmp_pathspec);
+      if (lstat (tmp_pathspec, &s) == 0)
+	{
+	  if (S_ISLNK (s.st_mode) != 0)
+	    {
+	      has_symlinks = 1;
+	      break;
+	    }
+
+	  /* search backwards for last DIR_SEPARATOR */
+	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    p--;
+	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    {
+	      /* no more DIR_SEPARATORS left */
+	      break;
+	    }
+	  *p = '\0';
+	}
+      else
+	{
+	  lt_fatal (__FILE__, __LINE__,
+		    "error accessing file \"%s\": %s",
+		    tmp_pathspec, nonnull (strerror (errno)));
+	}
+    }
+  XFREE (tmp_pathspec);
+
+  if (!has_symlinks)
+    {
+      return xstrdup (pathspec);
+    }
+
+  tmp_pathspec = realpath (pathspec, buf);
+  if (tmp_pathspec == 0)
+    {
+      lt_fatal (__FILE__, __LINE__,
+		"could not follow symlinks for %s", pathspec);
+    }
+  return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert (str != NULL);
+  assert (pat != NULL);
+
+  len = strlen (str);
+  patlen = strlen (pat);
+
+  if (patlen <= len)
+    {
+      str += len - patlen;
+      if (STREQ (str, pat))
+	*str = '\0';
+    }
+  return str;
+}
+
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+  va_list args;
+  if (lt_debug)
+    {
+      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+      va_start (args, fmt);
+      (void) vfprintf (stderr, fmt, args);
+      va_end (args);
+    }
+}
+
+static void
+lt_error_core (int exit_status, const char *file,
+	       int line, const char *mode,
+	       const char *message, va_list ap)
+{
+  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+  va_end (ap);
+}
+
+static const char *
+nonnull (const char *s)
+{
+  return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+  return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_setenv) setting '%s' to '%s'\n",
+                  nonnull (name), nonnull (value));
+  {
+#ifdef HAVE_SETENV
+    /* always make a copy, for consistency with !HAVE_SETENV */
+    char *str = xstrdup (value);
+    setenv (name, str, 1);
+#else
+    size_t len = strlen (name) + 1 + strlen (value) + 1;
+    char *str = XMALLOC (char, len);
+    sprintf (str, "%s=%s", name, value);
+    if (putenv (str) != EXIT_SUCCESS)
+      {
+        XFREE (str);
+      }
+#endif
+  }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+  char *new_value;
+  if (orig_value && *orig_value)
+    {
+      size_t orig_value_len = strlen (orig_value);
+      size_t add_len = strlen (add);
+      new_value = XMALLOC (char, add_len + orig_value_len + 1);
+      if (to_end)
+        {
+          strcpy (new_value, orig_value);
+          strcpy (new_value + orig_value_len, add);
+        }
+      else
+        {
+          strcpy (new_value, add);
+          strcpy (new_value + add_len, orig_value);
+        }
+    }
+  else
+    {
+      new_value = xstrdup (add);
+    }
+  return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      /* some systems can't cope with a ':'-terminated path #' */
+      size_t len = strlen (new_value);
+      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+        {
+          new_value[--len] = '\0';
+        }
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+EOF
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+   Note that spawn() does not by itself call the command interpreter
+     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+         GetVersionEx(&v);
+         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+      }) ? "cmd.exe" : "command.com").
+   Instead it simply concatenates the arguments, separated by ' ', and calls
+   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
+   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+   special way:
+   - Space and tab are interpreted as delimiters. They are not treated as
+     delimiters if they are surrounded by double quotes: "...".
+   - Unescaped double quotes are removed from the input. Their only effect is
+     that within double quotes, space and tab are treated like normal
+     characters.
+   - Backslashes not followed by double quotes are not special.
+   - But 2*n+1 backslashes followed by a double quote become
+     n backslashes followed by a double quote (n >= 0):
+       \" -> "
+       \\\" -> \"
+       \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+  size_t argc;
+  char **new_argv;
+  size_t i;
+
+  /* Count number of arguments.  */
+  for (argc = 0; argv[argc] != NULL; argc++)
+    ;
+
+  /* Allocate new argument vector.  */
+  new_argv = XMALLOC (char *, argc + 1);
+
+  /* Put quoted arguments into the new argument vector.  */
+  for (i = 0; i < argc; i++)
+    {
+      const char *string = argv[i];
+
+      if (string[0] == '\0')
+	new_argv[i] = xstrdup ("\"\"");
+      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+	{
+	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+	  size_t length;
+	  unsigned int backslashes;
+	  const char *s;
+	  char *quoted_string;
+	  char *p;
+
+	  length = 0;
+	  backslashes = 0;
+	  if (quote_around)
+	    length++;
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		length += backslashes + 1;
+	      length++;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    length += backslashes + 1;
+
+	  quoted_string = XMALLOC (char, length + 1);
+
+	  p = quoted_string;
+	  backslashes = 0;
+	  if (quote_around)
+	    *p++ = '"';
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		{
+		  unsigned int j;
+		  for (j = backslashes + 1; j > 0; j--)
+		    *p++ = '\\';
+		}
+	      *p++ = c;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    {
+	      unsigned int j;
+	      for (j = backslashes; j > 0; j--)
+		*p++ = '\\';
+	      *p++ = '"';
+	    }
+	  *p = '\0';
+
+	  new_argv[i] = quoted_string;
+	}
+      else
+	new_argv[i] = (char *) string;
+    }
+  new_argv[argc] = NULL;
+
+  return new_argv;
+}
+EOF
+		;;
+	    esac
+
+            cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+	    func_emit_wrapper yes |
+	      $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/  fputs ("\1", f);/p
+g
+D'
+            cat <<"EOF"
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+    $debug_cmd
+
+    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+    *import*) : ;;
+    *) false ;;
+    esac
+}
+
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+    $debug_cmd
+
+    case " $compile_command " in
+    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+      suncc_use_cstd_abi=no
+      ;;
+    *)
+      suncc_use_cstd_abi=yes
+      ;;
+    esac
+}
+
+# func_mode_link arg...
+func_mode_link ()
+{
+    $debug_cmd
+
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # what system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll that has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args=$nonopt
+    base_compile="$nonopt $@"
+    compile_command=$nonopt
+    finalize_command=$nonopt
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+    new_inherited_linker_flags=
+
+    avoid_version=no
+    bindir=
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    os2dllname=
+    non_pic_objects=
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=false
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+    weak_libs=
+    single_module=$wl-single_module
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -shared)
+	test yes != "$build_libtool_libs" \
+	  && func_fatal_configuration "cannot build a shared library"
+	build_old_libs=no
+	break
+	;;
+      -all-static | -static | -static-libtool-libs)
+	case $arg in
+	-all-static)
+	  if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
+	    func_warning "complete static linking is impossible in this configuration"
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	-static)
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	  ;;
+	-static-libtool-libs)
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	esac
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg=$1
+      shift
+      func_quote_for_eval "$arg"
+      qarg=$func_quote_for_eval_unquoted_result
+      func_append libtool_args " $func_quote_for_eval_result"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  func_append compile_command " @OUTPUT@"
+	  func_append finalize_command " @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	bindir)
+	  bindir=$arg
+	  prev=
+	  continue
+	  ;;
+	dlfiles|dlprefiles)
+	  $preload || {
+	    # Add the symbol object into the linking commands.
+	    func_append compile_command " @SYMFILE@"
+	    func_append finalize_command " @SYMFILE@"
+	    preload=:
+	  }
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test no = "$dlself"; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test dlprefiles = "$prev"; then
+	      dlself=yes
+	    elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test dlfiles = "$prev"; then
+	      func_append dlfiles " $arg"
+	    else
+	      func_append dlprefiles " $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols=$arg
+	  test -f "$arg" \
+	    || func_fatal_error "symbol file '$arg' does not exist"
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex=$arg
+	  prev=
+	  continue
+	  ;;
+	framework)
+	  case $host in
+	    *-*-darwin*)
+	      case "$deplibs " in
+		*" $qarg.ltframework "*) ;;
+		*) func_append deplibs " $qarg.ltframework" # this is fixed later
+		   ;;
+	      esac
+	      ;;
+	  esac
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir=$arg
+	  prev=
+	  continue
+	  ;;
+	mllvm)
+	  # Clang does not use LLVM to link, so we can simply discard any
+	  # '-mllvm $arg' options when doing the link step.
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat "$save_arg"`
+	    do
+#	      func_append moreargs " $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if func_lalib_unsafe_p "$arg"; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		func_source "$arg"
+
+		if test -z "$pic_object" ||
+		   test -z "$non_pic_object" ||
+		   test none = "$pic_object" &&
+		   test none = "$non_pic_object"; then
+		  func_fatal_error "cannot find name of object for '$arg'"
+		fi
+
+		# Extract subdirectory from the argument.
+		func_dirname "$arg" "/" ""
+		xdir=$func_dirname_result
+
+		if test none != "$pic_object"; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object=$xdir$pic_object
+
+		  if test dlfiles = "$prev"; then
+		    if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+		      func_append dlfiles " $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test dlprefiles = "$prev"; then
+		    # Preload the old-style object.
+		    func_append dlprefiles " $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  func_append libobjs " $pic_object"
+		  arg=$pic_object
+		fi
+
+		# Non-PIC object.
+		if test none != "$non_pic_object"; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object=$xdir$non_pic_object
+
+		  # A standard non-PIC object
+		  func_append non_pic_objects " $non_pic_object"
+		  if test -z "$pic_object" || test none = "$pic_object"; then
+		    arg=$non_pic_object
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object=$pic_object
+		  func_append non_pic_objects " $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if $opt_dry_run; then
+		  # Extract subdirectory from the argument.
+		  func_dirname "$arg" "/" ""
+		  xdir=$func_dirname_result
+
+		  func_lo2o "$arg"
+		  pic_object=$xdir$objdir/$func_lo2o_result
+		  non_pic_object=$xdir$func_lo2o_result
+		  func_append libobjs " $pic_object"
+		  func_append non_pic_objects " $non_pic_object"
+	        else
+		  func_fatal_error "'$arg' is not a valid libtool object"
+		fi
+	      fi
+	    done
+	  else
+	    func_fatal_error "link input file '$arg' does not exist"
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	os2dllname)
+	  os2dllname=$arg
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex=$arg
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release=-$arg
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    func_fatal_error "only absolute run-paths are allowed"
+	    ;;
+	  esac
+	  if test rpath = "$prev"; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) func_append rpath " $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) func_append xrpath " $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	shrext)
+	  shrext_cmds=$arg
+	  prev=
+	  continue
+	  ;;
+	weak)
+	  func_append weak_libs " $arg"
+	  prev=
+	  continue
+	  ;;
+	xcclinker)
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $qarg"
+	  prev=
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
+	  continue
+	  ;;
+	xcompiler)
+	  func_append compiler_flags " $qarg"
+	  prev=
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $wl$qarg"
+	  prev=
+	  func_append compile_command " $wl$qarg"
+	  func_append finalize_command " $wl$qarg"
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg=$arg
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  # See comment for -static flag below, for more details.
+	  func_append compile_command " $link_static_flag"
+	  func_append finalize_command " $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	func_fatal_error "'-allow-undefined' must not be used because it is the default"
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -bindir)
+	prev=bindir
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  func_fatal_error "more than one -exported-symbols argument is not allowed"
+	fi
+	if test X-export-symbols = "X$arg"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework)
+	prev=framework
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	func_stripname "-L" '' "$arg"
+	if test -z "$func_stripname_result"; then
+	  if test "$#" -gt 0; then
+	    func_fatal_error "require no space between '-L' and '$1'"
+	  else
+	    func_fatal_error "need path for '-L' option"
+	  fi
+	fi
+	func_resolve_sysroot "$func_stripname_result"
+	dir=$func_resolve_sysroot_result
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  test -z "$absdir" && \
+	    func_fatal_error "cannot determine absolute directory name of '$dir'"
+	  dir=$absdir
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "* | *" $arg "*)
+	  # Will only happen for absolute or sysroot arguments
+	  ;;
+	*)
+	  # Preserve sysroot, but never include relative directories
+	  case $dir in
+	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+	    *) func_append deplibs " -L$dir" ;;
+	  esac
+	  func_append lib_search_path " $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  ::) dllsearchpath=$dir;;
+	  *) func_append dllsearchpath ":$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  ::) dllsearchpath=$testbindir;;
+	  *) func_append dllsearchpath ":$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test X-lc = "X$arg" || test X-lm = "X$arg"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test X-lc = "X$arg" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test X-lc = "X$arg" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    func_append deplibs " System.ltframework"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test X-lc = "X$arg" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test X-lc = "X$arg" && continue
+	    ;;
+	  esac
+	elif test X-lc_r = "X$arg"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	func_append deplibs " $arg"
+	continue
+	;;
+
+      -mllvm)
+	prev=mllvm
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      # Darwin uses the -arch flag to determine output architecture.
+      -model|-arch|-isysroot|--sysroot)
+	func_append compiler_flags " $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+	prev=xcompiler
+	continue
+	;;
+
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+	func_append compiler_flags " $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+	case "$new_inherited_linker_flags " in
+	    *" $arg "*) ;;
+	    * ) func_append new_inherited_linker_flags " $arg" ;;
+	esac
+	continue
+	;;
+
+      -multi_module)
+	single_module=$wl-multi_module
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # and Darwin in order for the loader to find any dlls it needs.
+	  func_warning "'-no-install' is ignored for $host"
+	  func_warning "assuming '-no-fast-install' instead"
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -os2dllname)
+	prev=os2dllname
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	func_stripname '-R' '' "$arg"
+	dir=$func_stripname_result
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	=*)
+	  func_stripname '=' '' "$dir"
+	  dir=$lt_sysroot$func_stripname_result
+	  ;;
+	*)
+	  func_fatal_error "only absolute run-paths are allowed"
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) func_append xrpath " $dir" ;;
+	esac
+	continue
+	;;
+
+      -shared)
+	# The effects of -shared are defined in a previous loop.
+	continue
+	;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -static | -static-libtool-libs)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -weak)
+        prev=weak
+	continue
+	;;
+
+      -Wc,*)
+	func_stripname '-Wc,' '' "$arg"
+	args=$func_stripname_result
+	arg=
+	save_ifs=$IFS; IFS=,
+	for flag in $args; do
+	  IFS=$save_ifs
+          func_quote_for_eval "$flag"
+	  func_append arg " $func_quote_for_eval_result"
+	  func_append compiler_flags " $func_quote_for_eval_result"
+	done
+	IFS=$save_ifs
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
+	;;
+
+      -Wl,*)
+	func_stripname '-Wl,' '' "$arg"
+	args=$func_stripname_result
+	arg=
+	save_ifs=$IFS; IFS=,
+	for flag in $args; do
+	  IFS=$save_ifs
+          func_quote_for_eval "$flag"
+	  func_append arg " $wl$func_quote_for_eval_result"
+	  func_append compiler_flags " $wl$func_quote_for_eval_result"
+	  func_append linker_flags " $func_quote_for_eval_result"
+	done
+	IFS=$save_ifs
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # -msg_* for osf cc
+      -msg_*)
+	func_quote_for_eval "$arg"
+	arg=$func_quote_for_eval_result
+	;;
+
+      # Flags to be passed through unchanged, with rationale:
+      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
+      # -r[0-9][0-9]*        specify processor for the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+      # +DA*, +DD*           enable 64-bit mode for the HP compiler
+      # -q*                  compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+      # -F/path              path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
+      # -fstack-protector*   stack protector flags for GCC
+      # @file                GCC response files
+      # -tp=*                Portland pgcc target processor selection
+      # --sysroot=*          for sysroot support
+      # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -stdlib=*            select c++ std lib with clang
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+        func_quote_for_eval "$arg"
+	arg=$func_quote_for_eval_result
+        func_append compile_command " $arg"
+        func_append finalize_command " $arg"
+        func_append compiler_flags " $arg"
+        continue
+        ;;
+
+      -Z*)
+        if test os2 = "`expr $host : '.*\(os2\)'`"; then
+          # OS/2 uses -Zxxx to specify OS/2-specific options
+	  compiler_flags="$compiler_flags $arg"
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
+	  case $arg in
+	  -Zlinker | -Zstack)
+	    prev=xcompiler
+	    ;;
+	  esac
+	  continue
+        else
+	  # Otherwise treat like 'Some other compiler flag' below
+	  func_quote_for_eval "$arg"
+	  arg=$func_quote_for_eval_result
+        fi
+	;;
+
+      # Some other compiler flag.
+      -* | +*)
+        func_quote_for_eval "$arg"
+	arg=$func_quote_for_eval_result
+	;;
+
+      *.$objext)
+	# A standard object.
+	func_append objs " $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if func_lalib_unsafe_p "$arg"; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  func_source "$arg"
+
+	  if test -z "$pic_object" ||
+	     test -z "$non_pic_object" ||
+	     test none = "$pic_object" &&
+	     test none = "$non_pic_object"; then
+	    func_fatal_error "cannot find name of object for '$arg'"
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  func_dirname "$arg" "/" ""
+	  xdir=$func_dirname_result
+
+	  test none = "$pic_object" || {
+	    # Prepend the subdirectory the object is found in.
+	    pic_object=$xdir$pic_object
+
+	    if test dlfiles = "$prev"; then
+	      if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+		func_append dlfiles " $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test dlprefiles = "$prev"; then
+	      # Preload the old-style object.
+	      func_append dlprefiles " $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    func_append libobjs " $pic_object"
+	    arg=$pic_object
+	  }
+
+	  # Non-PIC object.
+	  if test none != "$non_pic_object"; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object=$xdir$non_pic_object
+
+	    # A standard non-PIC object
+	    func_append non_pic_objects " $non_pic_object"
+	    if test -z "$pic_object" || test none = "$pic_object"; then
+	      arg=$non_pic_object
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object=$pic_object
+	    func_append non_pic_objects " $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if $opt_dry_run; then
+	    # Extract subdirectory from the argument.
+	    func_dirname "$arg" "/" ""
+	    xdir=$func_dirname_result
+
+	    func_lo2o "$arg"
+	    pic_object=$xdir$objdir/$func_lo2o_result
+	    non_pic_object=$xdir$func_lo2o_result
+	    func_append libobjs " $pic_object"
+	    func_append non_pic_objects " $non_pic_object"
+	  else
+	    func_fatal_error "'$arg' is not a valid libtool object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	func_append deplibs " $arg"
+	func_append old_deplibs " $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	func_resolve_sysroot "$arg"
+	if test dlfiles = "$prev"; then
+	  # This library was specified with -dlopen.
+	  func_append dlfiles " $func_resolve_sysroot_result"
+	  prev=
+	elif test dlprefiles = "$prev"; then
+	  # The library was specified with -dlpreopen.
+	  func_append dlprefiles " $func_resolve_sysroot_result"
+	  prev=
+	else
+	  func_append deplibs " $func_resolve_sysroot_result"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	func_quote_for_eval "$arg"
+	arg=$func_quote_for_eval_result
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+      fi
+    done # argument parsing loop
+
+    test -n "$prev" && \
+      func_fatal_help "the '$prevarg' option requires an argument"
+
+    if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      func_append compile_command " $arg"
+      func_append finalize_command " $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    func_basename "$output"
+    outputname=$func_basename_result
+    libobjs_save=$libobjs
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    # Definition is injected by LT_CONFIG during libtool generation.
+    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
+    func_dirname "$output" "/" ""
+    output_objdir=$func_dirname_result$objdir
+    func_to_tool_file "$output_objdir/"
+    tool_output_objdir=$func_to_tool_file_result
+    # Create the object directory.
+    func_mkdir_p "$output_objdir"
+
+    # Determine the type of output
+    case $output in
+    "")
+      func_fatal_help "you must specify an output file"
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if $opt_preserve_dup_deps; then
+	case "$libs " in
+	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	esac
+      fi
+      func_append libs " $deplib"
+    done
+
+    if test lib = "$linkmode"; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if $opt_duplicate_compiler_generated_deps; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+	  esac
+	  func_append pre_post_deps " $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    notinst_path= # paths that contain not-installed libtool libraries
+
+    case $linkmode in
+    lib)
+	passes="conv dlpreopen link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=false
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+
+    for pass in $passes; do
+      # The preopen pass in lib mode reverses $deplibs; put it back here
+      # so that -L comes before libs that need it for instance...
+      if test lib,link = "$linkmode,$pass"; then
+	## FIXME: Find the place where the list is rebuilt in the wrong
+	##        order, and fix it there properly
+        tmp_deplibs=
+	for deplib in $deplibs; do
+	  tmp_deplibs="$deplib $tmp_deplibs"
+	done
+	deplibs=$tmp_deplibs
+      fi
+
+      if test lib,link = "$linkmode,$pass" ||
+	 test prog,scan = "$linkmode,$pass"; then
+	libs=$deplibs
+	deplibs=
+      fi
+      if test prog = "$linkmode"; then
+	case $pass in
+	dlopen) libs=$dlfiles ;;
+	dlpreopen) libs=$dlprefiles ;;
+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+	esac
+      fi
+      if test lib,dlpreopen = "$linkmode,$pass"; then
+	# Collect and forward deplibs of preopened libtool libs
+	for lib in $dlprefiles; do
+	  # Ignore non-libtool-libs
+	  dependency_libs=
+	  func_resolve_sysroot "$lib"
+	  case $lib in
+	  *.la)	func_source "$func_resolve_sysroot_result" ;;
+	  esac
+
+	  # Collect preopened libtool deplibs, except any this library
+	  # has declared as weak libs
+	  for deplib in $dependency_libs; do
+	    func_basename "$deplib"
+            deplib_base=$func_basename_result
+	    case " $weak_libs " in
+	    *" $deplib_base "*) ;;
+	    *) func_append deplibs " $deplib" ;;
+	    esac
+	  done
+	done
+	libs=$dlprefiles
+      fi
+      if test dlopen = "$pass"; then
+	# Collect dlpreopened libraries
+	save_deplibs=$deplibs
+	deplibs=
+      fi
+
+      for deplib in $libs; do
+	lib=
+	found=false
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+	  if test prog,link = "$linkmode,$pass"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    func_append compiler_flags " $deplib"
+	    if test lib = "$linkmode"; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
+		esac
+	    fi
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test lib != "$linkmode" && test prog != "$linkmode"; then
+	    func_warning "'-l' is ignored for archives/objects"
+	    continue
+	  fi
+	  func_stripname '-l' '' "$deplib"
+	  name=$func_stripname_result
+	  if test lib = "$linkmode"; then
+	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+	  else
+	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+	  fi
+	  for searchdir in $searchdirs; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib=$searchdir/lib$name$search_ext
+	      if test -f "$lib"; then
+		if test .la = "$search_ext"; then
+		  found=:
+		else
+		  found=false
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if $found; then
+	    # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if func_lalib_p "$lib"; then
+		  library_names=
+		  old_library=
+		  func_source "$lib"
+		  for l in $old_library $library_names; do
+		    ll=$l
+		  done
+		  if test "X$ll" = "X$old_library"; then # only static version available
+		    found=false
+		    func_dirname "$lib" "" "."
+		    ladir=$func_dirname_result
+		    lib=$ladir/$old_library
+		    if test prog,link = "$linkmode,$pass"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+		;;
+	      *) ;;
+	      esac
+	    fi
+	  else
+	    # deplib doesn't seem to be a libtool library
+	    if test prog,link = "$linkmode,$pass"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  fi
+	  ;; # -l
+	*.ltframework)
+	  if test prog,link = "$linkmode,$pass"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    deplibs="$deplib $deplibs"
+	    if test lib = "$linkmode"; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
+		esac
+	    fi
+	  fi
+	  continue
+	  ;;
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test conv = "$pass" && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    func_stripname '-L' '' "$deplib"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
+	    ;;
+	  prog)
+	    if test conv = "$pass"; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test scan = "$pass"; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    func_stripname '-L' '' "$deplib"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
+	    ;;
+	  *)
+	    func_warning "'-L' is ignored for archives/objects"
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test link = "$pass"; then
+	    func_stripname '-R' '' "$deplib"
+	    func_resolve_sysroot "$func_stripname_result"
+	    dir=$func_resolve_sysroot_result
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) func_append xrpath " $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la)
+	  func_resolve_sysroot "$deplib"
+	  lib=$func_resolve_sysroot_result
+	  ;;
+	*.$libext)
+	  if test conv = "$pass"; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    # Linking convenience modules into shared libraries is allowed,
+	    # but linking other static libraries is non-portable.
+	    case " $dlpreconveniencelibs " in
+	    *" $deplib "*) ;;
+	    *)
+	      valid_a_lib=false
+	      case $deplibs_check_method in
+		match_pattern*)
+		  set dummy $deplibs_check_method; shift
+		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		    valid_a_lib=:
+		  fi
+		;;
+		pass_all)
+		  valid_a_lib=:
+		;;
+	      esac
+	      if $valid_a_lib; then
+		echo
+		$ECHO "*** Warning: Linking the shared library $output against the"
+		$ECHO "*** static library $deplib is not portable!"
+		deplibs="$deplib $deplibs"
+	      else
+		echo
+		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because the file extensions .$libext of this argument makes me believe"
+		echo "*** that it is just a static archive that I should not use here."
+	      fi
+	      ;;
+	    esac
+	    continue
+	    ;;
+	  prog)
+	    if test link != "$pass"; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test conv = "$pass"; then
+	    deplibs="$deplib $deplibs"
+	  elif test prog = "$linkmode"; then
+	    if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      func_append newdlprefiles " $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      func_append newdlfiles " $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=:
+	  continue
+	  ;;
+	esac # case $deplib
+
+	$found || test -f "$lib" \
+	  || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$lib" \
+	  || func_fatal_error "'$lib' is not a valid libtool archive"
+
+	func_dirname "$lib" "" "."
+	ladir=$func_dirname_result
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	inherited_linker_flags=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	func_source "$lib"
+
+	# Convert "-framework foo" to "foo.ltframework"
+	if test -n "$inherited_linker_flags"; then
+	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+	    case " $new_inherited_linker_flags " in
+	      *" $tmp_inherited_linker_flag "*) ;;
+	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+	    esac
+	  done
+	fi
+	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	if test lib,link = "$linkmode,$pass" ||
+	   test prog,scan = "$linkmode,$pass" ||
+	   { test prog != "$linkmode" && test lib != "$linkmode"; }; then
+	  test -n "$dlopen" && func_append dlfiles " $dlopen"
+	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+	fi
+
+	if test conv = "$pass"; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      func_fatal_error "cannot find name of link library for '$lib'"
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    func_append convenience " $ladir/$objdir/$old_library"
+	    func_append old_convenience " $ladir/$objdir/$old_library"
+	  elif test prog != "$linkmode" && test lib != "$linkmode"; then
+	    func_fatal_error "'$lib' is not a convenience library"
+	  fi
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    deplibs="$deplib $deplibs"
+	    if $opt_preserve_dup_deps; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $deplib"
+	  done
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	if test -n "$old_library" &&
+	   { test yes = "$prefer_static_libs" ||
+	     test built,no = "$prefer_static_libs,$installed"; }; then
+	  linklib=$old_library
+	else
+	  for l in $old_library $library_names; do
+	    linklib=$l
+	  done
+	fi
+	if test -z "$linklib"; then
+	  func_fatal_error "cannot find name of link library for '$lib'"
+	fi
+
+	# This library was specified with -dlopen.
+	if test dlopen = "$pass"; then
+	  test -z "$libdir" \
+	    && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
+	  if test -z "$dlname" ||
+	     test yes != "$dlopen_support" ||
+	     test no = "$build_libtool_libs"
+	  then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    func_append dlprefiles " $lib $dependency_libs"
+	  else
+	    func_append newdlfiles " $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    func_warning "cannot determine absolute directory name of '$ladir'"
+	    func_warning "passing it literally to the linker, although it might fail"
+	    abs_ladir=$ladir
+	  fi
+	  ;;
+	esac
+	func_basename "$lib"
+	laname=$func_basename_result
+
+	# Find the relevant object directory and library name.
+	if test yes = "$installed"; then
+	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    func_warning "library '$lib' was moved."
+	    dir=$ladir
+	    absdir=$abs_ladir
+	    libdir=$abs_ladir
+	  else
+	    dir=$lt_sysroot$libdir
+	    absdir=$lt_sysroot$libdir
+	  fi
+	  test yes = "$hardcode_automatic" && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir=$ladir
+	    absdir=$abs_ladir
+	    # Remove this search path later
+	    func_append notinst_path " $abs_ladir"
+	  else
+	    dir=$ladir/$objdir
+	    absdir=$abs_ladir/$objdir
+	    # Remove this search path later
+	    func_append notinst_path " $abs_ladir"
+	  fi
+	fi # $installed = yes
+	func_stripname 'lib' '.la' "$laname"
+	name=$func_stripname_result
+
+	# This library was specified with -dlpreopen.
+	if test dlpreopen = "$pass"; then
+	  if test -z "$libdir" && test prog = "$linkmode"; then
+	    func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
+	  fi
+	  case $host in
+	    # special handling for platforms with PE-DLLs.
+	    *cygwin* | *mingw* | *cegcc* )
+	      # Linker will automatically link against shared library if both
+	      # static and shared are present.  Therefore, ensure we extract
+	      # symbols from the import library if a shared library is present
+	      # (otherwise, the dlopen module name will be incorrect).  We do
+	      # this by putting the import library name into $newdlprefiles.
+	      # We recover the dlopen module name by 'saving' the la file
+	      # name in a special purpose variable, and (later) extracting the
+	      # dlname from the la file.
+	      if test -n "$dlname"; then
+	        func_tr_sh "$dir/$linklib"
+	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+	        func_append newdlprefiles " $dir/$linklib"
+	      else
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      fi
+	    ;;
+	    * )
+	      # Prefer using a static library (so that no silly _DYNAMIC symbols
+	      # are required to link).
+	      if test -n "$old_library"; then
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      # Otherwise, use the dlname, so that lt_dlopen finds it.
+	      elif test -n "$dlname"; then
+	        func_append newdlprefiles " $dir/$dlname"
+	      else
+	        func_append newdlprefiles " $dir/$linklib"
+	      fi
+	    ;;
+	  esac
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test lib = "$linkmode"; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test prog,link = "$linkmode,$pass"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test prog = "$linkmode" && test link != "$pass"; then
+	  func_append newlib_search_path " $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=false
+	  if test no != "$link_all_deplibs" || test -z "$library_names" ||
+	     test no = "$build_libtool_libs"; then
+	    linkalldeplibs=:
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) func_stripname '-L' '' "$deplib"
+	         func_resolve_sysroot "$func_stripname_result"
+	         func_append newlib_search_path " $func_resolve_sysroot_result"
+		 ;;
+	    esac
+	    # Need to link against all dependency_libs?
+	    if $linkalldeplibs; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if $opt_preserve_dup_deps; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test prog,link = "$linkmode,$pass"; then
+	  if test -n "$library_names" &&
+	     { { test no = "$prefer_static_libs" ||
+	         test built,yes = "$prefer_static_libs,$installed"; } ||
+	       test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
+	      # Make sure the rpath contains only unique directories.
+	      case $temp_rpath: in
+	      *"$absdir:"*) ;;
+	      *) func_append temp_rpath "$absdir:" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) func_append compile_rpath " $absdir" ;;
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) func_append finalize_rpath " $libdir" ;;
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if $alldeplibs &&
+	     { test pass_all = "$deplibs_check_method" ||
+	       { test yes = "$build_libtool_libs" &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test built = "$use_static_libs" && test yes = "$installed"; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test no = "$use_static_libs" || test -z "$old_library"; }; then
+	  case $host in
+	  *cygwin* | *mingw* | *cegcc* | *os2*)
+	      # No point in relinking DLLs because paths are not encoded
+	      func_append notinst_deplibs " $lib"
+	      need_relink=no
+	    ;;
+	  *)
+	    if test no = "$installed"; then
+	      func_append notinst_deplibs " $lib"
+	      need_relink=yes
+	    fi
+	    ;;
+	  esac
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on some
+	  # systems (darwin).  Don't bleat about dlopened modules though!
+	  dlopenmodule=
+	  for dlpremoduletest in $dlprefiles; do
+	    if test "X$dlpremoduletest" = "X$lib"; then
+	      dlopenmodule=$dlpremoduletest
+	      break
+	    fi
+	  done
+	  if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
+	    echo
+	    if test prog = "$linkmode"; then
+	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $ECHO "*** $linklib is not portable!"
+	  fi
+	  if test lib = "$linkmode" &&
+	     test yes = "$hardcode_into_libs"; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) func_append compile_rpath " $absdir" ;;
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) func_append finalize_rpath " $libdir" ;;
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    shift
+	    realname=$1
+	    shift
+	    libname=`eval "\\$ECHO \"$libname_spec\""`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname=$dlname
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw* | *cegcc* | *os2*)
+	        func_arith $current - $age
+		major=$func_arith_result
+		versuffix=-$major
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname=$realname
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot=$soname
+	    func_basename "$soroot"
+	    soname=$func_basename_result
+	    func_stripname 'lib' '.dll' "$soname"
+	    newlib=libimp-$func_stripname_result.a
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      func_verbose "extracting exported symbol list from '$soname'"
+	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      func_verbose "generating import library for '$soname'"
+	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test prog = "$linkmode" || test relink != "$opt_mode"; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test no = "$hardcode_direct"; then
+		add=$dir/$linklib
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+		  *-*-sysv4*uw2*) add_dir=-L$dir ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir=-L$dir ;;
+		  *-*-darwin* )
+		    # if the lib is a (non-dlopened) module then we cannot
+		    # link against it, someone is ignoring the earlier warnings
+		    if /usr/bin/file -L $add 2> /dev/null |
+			 $GREP ": [^:]* bundle" >/dev/null; then
+		      if test "X$dlopenmodule" != "X$lib"; then
+			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
+			if test -z "$old_library"; then
+			  echo
+			  echo "*** And there doesn't seem to be a static archive available"
+			  echo "*** The link will probably fail, sorry"
+			else
+			  add=$dir/$old_library
+			fi
+		      elif test -n "$old_library"; then
+			add=$dir/$old_library
+		      fi
+		    fi
+		esac
+	      elif test no = "$hardcode_minus_L"; then
+		case $host in
+		*-*-sunos*) add_shlibpath=$dir ;;
+		esac
+		add_dir=-L$dir
+		add=-l$name
+	      elif test no = "$hardcode_shlibpath_var"; then
+		add_shlibpath=$dir
+		add=-l$name
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test yes = "$hardcode_direct" &&
+	         test no = "$hardcode_direct_absolute"; then
+		add=$dir/$linklib
+	      elif test yes = "$hardcode_minus_L"; then
+		add_dir=-L$absdir
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      func_append add_dir " -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add=-l$name
+	      elif test yes = "$hardcode_shlibpath_var"; then
+		add_shlibpath=$dir
+		add=-l$name
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test yes != "$lib_linked"; then
+	      func_fatal_configuration "unsupported hardcode properties"
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test prog = "$linkmode"; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test yes != "$hardcode_direct" &&
+		 test yes != "$hardcode_minus_L" &&
+		 test yes = "$hardcode_shlibpath_var"; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) func_append finalize_shlibpath "$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test prog = "$linkmode" || test relink = "$opt_mode"; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test yes = "$hardcode_direct" &&
+	       test no = "$hardcode_direct_absolute"; then
+	      add=$libdir/$linklib
+	    elif test yes = "$hardcode_minus_L"; then
+	      add_dir=-L$libdir
+	      add=-l$name
+	    elif test yes = "$hardcode_shlibpath_var"; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) func_append finalize_shlibpath "$libdir:" ;;
+	      esac
+	      add=-l$name
+	    elif test yes = "$hardcode_automatic"; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib"; then
+		add=$inst_prefix_dir$libdir/$linklib
+	      else
+		add=$libdir/$linklib
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir=-L$libdir
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    func_append add_dir " -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add=-l$name
+	    fi
+
+	    if test prog = "$linkmode"; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test prog = "$linkmode"; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test unsupported != "$hardcode_direct"; then
+	    test -n "$old_library" && linklib=$old_library
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test yes = "$build_libtool_libs"; then
+	  # Not a shared library
+	  if test pass_all != "$deplibs_check_method"; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    echo
+	    $ECHO "*** Warning: This system cannot link to static lib archive $lib."
+	    echo "*** I have the capability to make that library automatically link in when"
+	    echo "*** you link to this library.  But I can only do this if you have a"
+	    echo "*** shared version of the library, which you do not appear to have."
+	    if test yes = "$module"; then
+	      echo "*** But as you try to build a module library, libtool will still create "
+	      echo "*** a static module, that should work as long as the dlopening application"
+	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		echo
+		echo "*** However, this would only work if libtool was able to extract symbol"
+		echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+		echo "*** not find such a program.  So, this module is probably useless."
+		echo "*** 'nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test no = "$build_old_libs"; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test lib = "$linkmode"; then
+	  if test -n "$dependency_libs" &&
+	     { test yes != "$hardcode_into_libs" ||
+	       test yes = "$build_old_libs" ||
+	       test yes = "$link_static"; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) func_stripname '-R' '' "$libdir"
+	           temp_xrpath=$func_stripname_result
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) func_append xrpath " $temp_xrpath";;
+		   esac;;
+	      *) func_append temp_deplibs " $libdir";;
+	      esac
+	    done
+	    dependency_libs=$temp_deplibs
+	  fi
+
+	  func_append newlib_search_path " $absdir"
+	  # Link against this library
+	  test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    case $deplib in
+              -L*) func_stripname '-L' '' "$deplib"
+                   func_resolve_sysroot "$func_stripname_result";;
+              *) func_resolve_sysroot "$deplib" ;;
+            esac
+	    if $opt_preserve_dup_deps; then
+	      case "$tmp_libs " in
+	      *" $func_resolve_sysroot_result "*)
+                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $func_resolve_sysroot_result"
+	  done
+
+	  if test no != "$link_all_deplibs"; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      path=
+	      case $deplib in
+	      -L*) path=$deplib ;;
+	      *.la)
+	        func_resolve_sysroot "$deplib"
+	        deplib=$func_resolve_sysroot_result
+	        func_dirname "$deplib" "" "."
+		dir=$func_dirname_result
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    func_warning "cannot determine absolute directory name of '$dir'"
+		    absdir=$dir
+		  fi
+		  ;;
+		esac
+		if $GREP "^installed=no" $deplib > /dev/null; then
+		case $host in
+		*-*-darwin*)
+		  depdepl=
+		  eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names"; then
+		    for tmp in $deplibrary_names; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$absdir/$objdir/$depdepl"; then
+		      depdepl=$absdir/$objdir/$depdepl
+		      darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                      if test -z "$darwin_install_name"; then
+                          darwin_install_name=`$OTOOL64 -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                      fi
+		      func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+		      func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
+		      path=
+		    fi
+		  fi
+		  ;;
+		*)
+		  path=-L$absdir/$objdir
+		  ;;
+		esac
+		else
+		  eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  test -z "$libdir" && \
+		    func_fatal_error "'$deplib' is not a valid libtool archive"
+		  test "$absdir" != "$libdir" && \
+		    func_warning "'$deplib' seems to be moved"
+
+		  path=-L$absdir
+		fi
+		;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      if test link = "$pass"; then
+	if test prog = "$linkmode"; then
+	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+	else
+	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	fi
+      fi
+      dependency_libs=$newdependency_libs
+      if test dlpreopen = "$pass"; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test dlopen != "$pass"; then
+	test conv = "$pass" || {
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) func_append lib_search_path " $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	}
+
+	if test prog,link = "$linkmode,$pass"; then
+	  vars="compile_deplibs finalize_deplibs"
+	else
+	  vars=deplibs
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) func_append tmp_libs " $deplib" ;;
+	      esac
+	      ;;
+	    *) func_append tmp_libs " $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+
+      # Add Sun CC postdeps if required:
+      test CXX = "$tagname" && {
+        case $host_os in
+        linux*)
+          case `$CC -V 2>&1 | sed 5q` in
+          *Sun\ C*) # Sun C++ 5.9
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+
+        solaris*)
+          func_cc_basename "$CC"
+          case $func_cc_basename_result in
+          CC* | sunCC*)
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+        esac
+      }
+
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=
+	  ;;
+	esac
+	if test -n "$i"; then
+	  func_append tmp_libs " $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test prog = "$linkmode"; then
+      dlfiles=$newdlfiles
+    fi
+    if test prog = "$linkmode" || test lib = "$linkmode"; then
+      dlprefiles=$newdlprefiles
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+	func_warning "'-dlopen' is ignored for archives"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	func_warning "'-l' and '-L' are ignored for archives" ;;
+      esac
+
+      test -n "$rpath" && \
+	func_warning "'-rpath' is ignored for archives"
+
+      test -n "$xrpath" && \
+	func_warning "'-R' is ignored for archives"
+
+      test -n "$vinfo" && \
+	func_warning "'-version-info/-version-number' is ignored for archives"
+
+      test -n "$release" && \
+	func_warning "'-release' is ignored for archives"
+
+      test -n "$export_symbols$export_symbols_regex" && \
+	func_warning "'-export-symbols' is ignored for archives"
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs=$output
+      func_append objs "$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form 'libNAME.la'.
+      case $outputname in
+      lib*)
+	func_stripname 'lib' '.la' "$outputname"
+	name=$func_stripname_result
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	test no = "$module" \
+	  && func_fatal_help "libtool library '$output' must begin with 'lib'"
+
+	if test no != "$need_lib_prefix"; then
+	  # Add the "lib" prefix for modules if required
+	  func_stripname '' '.la' "$outputname"
+	  name=$func_stripname_result
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  func_stripname '' '.la' "$outputname"
+	  libname=$func_stripname_result
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test pass_all != "$deplibs_check_method"; then
+	  func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
+	else
+	  echo
+	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+	  $ECHO "*** objects $objs is not portable!"
+	  func_append libobjs " $objs"
+	fi
+      fi
+
+      test no = "$dlself" \
+	|| func_warning "'-dlopen self' is ignored for libtool libraries"
+
+      set dummy $rpath
+      shift
+      test 1 -lt "$#" \
+	&& func_warning "ignoring multiple '-rpath's for a libtool library"
+
+      install_libdir=$1
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test yes = "$build_libtool_libs"; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a '.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	test -n "$vinfo" && \
+	  func_warning "'-version-info/-version-number' is ignored for convenience libraries"
+
+	test -n "$release" && \
+	  func_warning "'-release' is ignored for convenience libraries"
+      else
+
+	# Parse the version information argument.
+	save_ifs=$IFS; IFS=:
+	set dummy $vinfo 0 0 0
+	shift
+	IFS=$save_ifs
+
+	test -n "$7" && \
+	  func_fatal_help "too many parameters to '-version-info'"
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major=$1
+	  number_minor=$2
+	  number_revision=$3
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # that has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  # correct linux to gnu/linux during the next big refactor
+	  darwin|freebsd-elf|linux|osf|windows|none)
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
+	    age=$number_minor
+	    revision=$number_revision
+	    ;;
+	  freebsd-aout|qnx|sunos)
+	    current=$number_major
+	    revision=$number_minor
+	    age=0
+	    ;;
+	  irix|nonstopux)
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
+	    age=$number_minor
+	    revision=$number_minor
+	    lt_irix_increment=no
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current=$1
+	  revision=$2
+	  age=$3
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "CURRENT '$current' must be a nonnegative integer"
+	  func_fatal_error "'$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "REVISION '$revision' must be a nonnegative integer"
+	  func_fatal_error "'$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "AGE '$age' must be a nonnegative integer"
+	  func_fatal_error "'$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  func_error "AGE '$age' is greater than the current interface number '$current'"
+	  func_fatal_error "'$vinfo' is not valid version information"
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
+	  # Darwin ld doesn't like 0 for these options...
+	  func_arith $current + 1
+	  minor_current=$func_arith_result
+	  xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+          # On Darwin other compilers
+          case $CC in
+              nagfor*)
+                  verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+                  ;;
+              *)
+                  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+                  ;;
+          esac
+	  ;;
+
+	freebsd-aout)
+	  major=.$current
+	  versuffix=.$current.$revision
+	  ;;
+
+	freebsd-elf)
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
+	  ;;
+
+	irix | nonstopux)
+	  if test no = "$lt_irix_increment"; then
+	    func_arith $current - $age
+	  else
+	    func_arith $current - $age + 1
+	  fi
+	  major=$func_arith_result
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring=$verstring_prefix$major.$revision
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test 0 -ne "$loop"; do
+	    func_arith $revision - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
+	    verstring=$verstring_prefix$major.$iface:$verstring
+	  done
+
+	  # Before this point, $major must not contain '.'.
+	  major=.$major
+	  versuffix=$major.$revision
+	  ;;
+
+	linux) # correct to gnu/linux during the next big refactor
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
+	  ;;
+
+	osf)
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=.$current.$age.$revision
+	  verstring=$current.$age.$revision
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test 0 -ne "$loop"; do
+	    func_arith $current - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
+	    verstring=$verstring:$iface.0
+	  done
+
+	  # Make executables depend on our current version.
+	  func_append verstring ":$current.0"
+	  ;;
+
+	qnx)
+	  major=.$current
+	  versuffix=.$current
+	  ;;
+
+	sco)
+	  major=.$current
+	  versuffix=.$current
+	  ;;
+
+	sunos)
+	  major=.$current
+	  versuffix=.$current.$revision
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 file systems.
+	  func_arith $current - $age
+	  major=$func_arith_result
+	  versuffix=-$major
+	  ;;
+
+	*)
+	  func_fatal_configuration "unknown library version type '$version_type'"
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring=0.0
+	    ;;
+	  esac
+	  if test no = "$need_version"; then
+	    versuffix=
+	  else
+	    versuffix=.0.0
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test yes,no = "$avoid_version,$need_version"; then
+	  major=
+	  versuffix=
+	  verstring=
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test yes = "$allow_undefined"; then
+	  if test unsupported = "$allow_undefined_flag"; then
+	    if test yes = "$build_old_libs"; then
+	      func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+	      build_libtool_libs=no
+	    else
+	      func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+	    fi
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag=$no_undefined_flag
+	fi
+
+      fi
+
+      func_generate_dlsyms "$libname" "$libname" :
+      func_append libobjs " $symfileobj"
+      test " " = "$libobjs" && libobjs=
+
+      if test relink != "$opt_mode"; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$ECHO "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext | *.gcno)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+	       if test -n "$precious_files_regex"; then
+		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+		 then
+		   continue
+		 fi
+	       fi
+	       func_append removelist " $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	test -n "$removelist" && \
+	  func_show_eval "${RM}r \$removelist"
+      fi
+
+      # Now set the variables for building old libraries.
+      if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
+	func_append oldlibs " $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      #for path in $notinst_path; do
+      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+      #done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  func_replace_sysroot "$libdir"
+	  func_append temp_xrpath " -R$func_replace_sysroot_result"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append finalize_rpath " $libdir" ;;
+	  esac
+	done
+	if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles=$dlfiles
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) func_append dlfiles " $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles=$dlprefiles
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) func_append dlprefiles " $lib" ;;
+	esac
+      done
+
+      if test yes = "$build_libtool_libs"; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    func_append deplibs " System.ltframework"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test yes = "$build_libtool_need_lc"; then
+	      func_append deplibs " -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=
+	versuffix=
+	major=
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $opt_dry_run || $RM conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $opt_dry_run || $RM conftest
+	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
+		if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    func_append newdeplibs " $i"
+		    i=
+		    ;;
+		  esac
+		fi
+		if test -n "$i"; then
+		  libname=`eval "\\$ECHO \"$libname_spec\""`
+		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		  set dummy $deplib_matches; shift
+		  deplib_match=$1
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+		    func_append newdeplibs " $i"
+		  else
+		    droppeddeps=yes
+		    echo
+		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		    echo "*** I have the capability to make that library automatically link in when"
+		    echo "*** you link to this library.  But I can only do this if you have a"
+		    echo "*** shared version of the library, which I believe you do not have"
+		    echo "*** because a test_compile did reveal that the linker did not use it for"
+		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+		;;
+	      *)
+		func_append newdeplibs " $i"
+		;;
+	      esac
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
+		$opt_dry_run || $RM conftest
+		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+		  ldd_output=`ldd conftest`
+		  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      func_append newdeplibs " $i"
+		      i=
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i"; then
+		    libname=`eval "\\$ECHO \"$libname_spec\""`
+		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		    set dummy $deplib_matches; shift
+		    deplib_match=$1
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+		      func_append newdeplibs " $i"
+		    else
+		      droppeddeps=yes
+		      echo
+		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		      echo "*** I have the capability to make that library automatically link in when"
+		      echo "*** you link to this library.  But I can only do this if you have a"
+		      echo "*** shared version of the library, which you do not appear to have"
+		      echo "*** because a test_compile did reveal that the linker did not use this one"
+		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  echo
+		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
+		  echo "*** make it link in!  You will probably need to install it or some"
+		  echo "*** library that it depends on before this library will be fully"
+		  echo "*** functional.  Installing it before continuing would be even better."
+		fi
+		;;
+	      *)
+		func_append newdeplibs " $i"
+		;;
+	      esac
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method; shift
+	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
+	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  func_append newdeplibs " $a_deplib"
+		  a_deplib=
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib"; then
+		libname=`eval "\\$ECHO \"$libname_spec\""`
+		if test -n "$file_magic_glob"; then
+		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+		else
+		  libnameglob=$libname
+		fi
+		test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  if test yes = "$want_nocaseglob"; then
+		    shopt -s nocaseglob
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		    $nocaseglob
+		  else
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		  fi
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null |
+			 $GREP " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib=$potent_lib
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+			*) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+			 $SED -e 10q |
+			 $EGREP "$file_magic_regex" > /dev/null; then
+			func_append newdeplibs " $a_deplib"
+			a_deplib=
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib"; then
+		droppeddeps=yes
+		echo
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib"; then
+		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	      ;;
+	    *)
+	      # Add a -L argument.
+	      func_append newdeplibs " $a_deplib"
+	      ;;
+	    esac
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method; shift
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
+	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  func_append newdeplibs " $a_deplib"
+		  a_deplib=
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib"; then
+		libname=`eval "\\$ECHO \"$libname_spec\""`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib=$potent_lib # see symlink-check above in file_magic test
+		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+		       $EGREP "$match_pattern_regex" > /dev/null; then
+		      func_append newdeplibs " $a_deplib"
+		      a_deplib=
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib"; then
+		droppeddeps=yes
+		echo
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib"; then
+		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	      ;;
+	    *)
+	      # Add a -L argument.
+	      func_append newdeplibs " $a_deplib"
+	      ;;
+	    esac
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=
+	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+	  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+	    for i in $predeps $postdeps; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
+	    done
+	  fi
+	  case $tmp_deplibs in
+	  *[!\	\ ]*)
+	    echo
+	    if test none = "$deplibs_check_method"; then
+	      echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	    ;;
+	  esac
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library with the System framework
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
+	  ;;
+	esac
+
+	if test yes = "$droppeddeps"; then
+	  if test yes = "$module"; then
+	    echo
+	    echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
+	    echo "*** a static module, that should work as long as the dlopening"
+	    echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      echo
+	      echo "*** However, this would only work if libtool was able to extract symbol"
+	      echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+	      echo "*** not find such a program.  So, this module is probably useless."
+	      echo "*** 'nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test no = "$build_old_libs"; then
+	      oldlibs=$output_objdir/$libname.$libext
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    echo "*** The inter-library dependencies that have been dropped here will be"
+	    echo "*** automatically added whenever a program is linked with this library"
+	    echo "*** or is declared to -dlopen it."
+
+	    if test no = "$allow_undefined"; then
+	      echo
+	      echo "*** Since this library must not contain undefined symbols,"
+	      echo "*** because either the platform does not support them or"
+	      echo "*** it was explicitly requested with -no-undefined,"
+	      echo "*** libtool will only create a static version of it."
+	      if test no = "$build_old_libs"; then
+		oldlibs=$output_objdir/$libname.$libext
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+      case $host in
+	*-*-darwin*)
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  ;;
+      esac
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    func_append new_libs " -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) func_append new_libs " $deplib" ;;
+	  esac
+	  ;;
+	*) func_append new_libs " $deplib" ;;
+	esac
+      done
+      deplibs=$new_libs
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test yes = "$build_libtool_libs"; then
+	# Remove $wl instances when linking with ld.
+	# FIXME: should test the right _cmds variable.
+	case $archive_cmds in
+	  *\$LD\ *) wl= ;;
+        esac
+	if test yes = "$hardcode_into_libs"; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath=$finalize_rpath
+	  test relink = "$opt_mode" || rpath=$compile_rpath$rpath
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		func_replace_sysroot "$libdir"
+		libdir=$func_replace_sysroot_result
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs=$libdir
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		func_append dep_rpath " $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) func_append perm_rpath " $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir=$hardcode_libdirs
+	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      func_append rpath "$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath=$finalize_shlibpath
+	test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	shift
+	realname=$1
+	shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname=$realname
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib=$output_objdir/$realname
+	linknames=
+	for link
+	do
+	  func_append linknames " $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	test "X$libobjs" = "X " && libobjs=
+
+	delfiles=
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+	  export_symbols=$output_objdir/$libname.uexp
+	  func_append delfiles " $export_symbols"
+	fi
+
+	orig_export_symbols=
+	case $host_os in
+	cygwin* | mingw* | cegcc*)
+	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+	    # exporting using user supplied symfile
+	    func_dll_def_p "$export_symbols" || {
+	      # and it's NOT already a .def file. Must figure out
+	      # which of the given symbols are data symbols and tag
+	      # them as such. So, trigger use of export_symbols_cmds.
+	      # export_symbols gets reassigned inside the "prepare
+	      # the list of exported symbols" if statement, so the
+	      # include_expsyms logic still works.
+	      orig_export_symbols=$export_symbols
+	      export_symbols=
+	      always_export_symbols=yes
+	    }
+	  fi
+	  ;;
+	esac
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+	    func_verbose "generating symbol list for '$libname.la'"
+	    export_symbols=$output_objdir/$libname.exp
+	    $opt_dry_run || $RM $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs=$IFS; IFS='~'
+	    for cmd1 in $cmds; do
+	      IFS=$save_ifs
+	      # Take the normal branch if the nm_file_list_spec branch
+	      # doesn't work or if tool conversion is not needed.
+	      case $nm_file_list_spec~$to_tool_file_cmd in
+		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+		  try_normal_branch=yes
+		  eval cmd=\"$cmd1\"
+		  func_len " $cmd"
+		  len=$func_len_result
+		  ;;
+		*)
+		  try_normal_branch=no
+		  ;;
+	      esac
+	      if test yes = "$try_normal_branch" \
+		 && { test "$len" -lt "$max_cmd_len" \
+		      || test "$max_cmd_len" -le -1; }
+	      then
+		func_show_eval "$cmd" 'exit $?'
+		skipped_export=false
+	      elif test -n "$nm_file_list_spec"; then
+		func_basename "$output"
+		output_la=$func_basename_result
+		save_libobjs=$libobjs
+		save_output=$output
+		output=$output_objdir/$output_la.nm
+		func_to_tool_file "$output"
+		libobjs=$nm_file_list_spec$func_to_tool_file_result
+		func_append delfiles " $output"
+		func_verbose "creating $NM input file list: $output"
+		for obj in $save_libobjs; do
+		  func_to_tool_file "$obj"
+		  $ECHO "$func_to_tool_file_result"
+		done > "$output"
+		eval cmd=\"$cmd1\"
+		func_show_eval "$cmd" 'exit $?'
+		output=$save_output
+		libobjs=$save_libobjs
+		skipped_export=false
+	      else
+		# The command line is too long to execute in one step.
+		func_verbose "using reloadable object file for export list..."
+		skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS=$save_ifs
+	    if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  tmp_export_symbols=$export_symbols
+	  test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+	fi
+
+	if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
+	  # The given exports_symbols file has to be filtered, so filter it.
+	  func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	  # 's' commands, which not all seds can handle. GNU sed should be fine
+	  # though. Also, the filter scales superlinearly with the number of
+	  # global variables. join(1) would be nice here, but unfortunately
+	  # isn't a blessed tool.
+	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+	  export_symbols=$output_objdir/$libname.def
+	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+	  case " $convenience " in
+	  *" $test_deplib "*) ;;
+	  *)
+	    func_append tmp_deplibs " $test_deplib"
+	    ;;
+	  esac
+	done
+	deplibs=$tmp_deplibs
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec" &&
+	    test yes = "$compiler_needs_object" &&
+	    test -z "$libobjs"; then
+	    # extract the archives, so we have objects to list.
+	    # TODO: could optimize this to just extract one archive.
+	    whole_archive_flag_spec=
+	  fi
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
+	  else
+	    gentop=$output_objdir/${outputname}x
+	    func_append generated " $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    func_append libobjs " $func_extract_archives_result"
+	    test "X$libobjs" = "X " && libobjs=
+	  fi
+	fi
+
+	if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  func_append linker_flags " $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test relink = "$opt_mode"; then
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test yes = "$module" && test -n "$module_cmds"; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    eval test_cmds=\"$archive_expsym_cmds\"
+	    cmds=$archive_expsym_cmds
+	  else
+	    eval test_cmds=\"$archive_cmds\"
+	    cmds=$archive_cmds
+	  fi
+	fi
+
+	if test : != "$skipped_export" &&
+	   func_len " $test_cmds" &&
+	   len=$func_len_result &&
+	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise
+	  # or, if using GNU ld and skipped_export is not :, use a linker
+	  # script.
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  func_basename "$output"
+	  output_la=$func_basename_result
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  last_robj=
+	  k=1
+
+	  if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+	    output=$output_objdir/$output_la.lnkscript
+	    func_verbose "creating GNU ld script: $output"
+	    echo 'INPUT (' > $output
+	    for obj in $save_libobjs
+	    do
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
+	    done
+	    echo ')' >> $output
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$func_to_tool_file_result
+	  elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+	    output=$output_objdir/$output_la.lnk
+	    func_verbose "creating linker input file list: $output"
+	    : > $output
+	    set x $save_libobjs
+	    shift
+	    firstobj=
+	    if test yes = "$compiler_needs_object"; then
+	      firstobj="$1 "
+	      shift
+	    fi
+	    for obj
+	    do
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
+	    done
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+	  else
+	    if test -n "$save_libobjs"; then
+	      func_verbose "creating reloadable object files..."
+	      output=$output_objdir/$output_la-$k.$objext
+	      eval test_cmds=\"$reload_cmds\"
+	      func_len " $test_cmds"
+	      len0=$func_len_result
+	      len=$len0
+
+	      # Loop over the list of objects to be linked.
+	      for obj in $save_libobjs
+	      do
+		func_len " $obj"
+		func_arith $len + $func_len_result
+		len=$func_arith_result
+		if test -z "$objlist" ||
+		   test "$len" -lt "$max_cmd_len"; then
+		  func_append objlist " $obj"
+		else
+		  # The command $test_cmds is almost too long, add a
+		  # command to the queue.
+		  if test 1 -eq "$k"; then
+		    # The first file doesn't have a previous command to add.
+		    reload_objs=$objlist
+		    eval concat_cmds=\"$reload_cmds\"
+		  else
+		    # All subsequent reloadable object files will link in
+		    # the last one created.
+		    reload_objs="$objlist $last_robj"
+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+		  fi
+		  last_robj=$output_objdir/$output_la-$k.$objext
+		  func_arith $k + 1
+		  k=$func_arith_result
+		  output=$output_objdir/$output_la-$k.$objext
+		  objlist=" $obj"
+		  func_len " $last_robj"
+		  func_arith $len0 + $func_len_result
+		  len=$func_arith_result
+		fi
+	      done
+	      # Handle the remaining objects by creating one last
+	      # reloadable object file.  All subsequent reloadable object
+	      # files will link in the last one created.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      reload_objs="$objlist $last_robj"
+	      eval concat_cmds=\"\$concat_cmds$reload_cmds\"
+	      if test -n "$last_robj"; then
+	        eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+	      fi
+	      func_append delfiles " $output"
+
+	    else
+	      output=
+	    fi
+
+	    ${skipped_export-false} && {
+	      func_verbose "generating symbol list for '$libname.la'"
+	      export_symbols=$output_objdir/$libname.exp
+	      $opt_dry_run || $RM $export_symbols
+	      libobjs=$output
+	      # Append the command to create the export file.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+	      if test -n "$last_robj"; then
+		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+	      fi
+	    }
+
+	    test -n "$save_libobjs" &&
+	      func_verbose "creating a temporary reloadable object file: $output"
+
+	    # Loop through the commands generated above and execute them.
+	    save_ifs=$IFS; IFS='~'
+	    for cmd in $concat_cmds; do
+	      IFS=$save_ifs
+	      $opt_quiet || {
+		  func_quote_for_expand "$cmd"
+		  eval "func_echo $func_quote_for_expand_result"
+	      }
+	      $opt_dry_run || eval "$cmd" || {
+		lt_exit=$?
+
+		# Restore the uninstalled library and exit
+		if test relink = "$opt_mode"; then
+		  ( cd "$output_objdir" && \
+		    $RM "${realname}T" && \
+		    $MV "${realname}U" "$realname" )
+		fi
+
+		exit $lt_exit
+	      }
+	    done
+	    IFS=$save_ifs
+
+	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+
+          ${skipped_export-false} && {
+	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	      tmp_export_symbols=$export_symbols
+	      test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+	    fi
+
+	    if test -n "$orig_export_symbols"; then
+	      # The given exports_symbols file has to be filtered, so filter it.
+	      func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	      # 's' commands, which not all seds can handle. GNU sed should be fine
+	      # though. Also, the filter scales superlinearly with the number of
+	      # global variables. join(1) would be nice here, but unfortunately
+	      # isn't a blessed tool.
+	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+	      export_symbols=$output_objdir/$libname.def
+	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+	    fi
+	  }
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test yes = "$module" && test -n "$module_cmds"; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	      cmds=$archive_expsym_cmds
+	    else
+	      cmds=$archive_cmds
+	    fi
+	  fi
+	fi
+
+	if test -n "$delfiles"; then
+	  # Append the command to remove temporary files to $cmds.
+	  eval cmds=\"\$cmds~\$RM $delfiles\"
+	fi
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop=$output_objdir/${outputname}x
+	  func_append generated " $gentop"
+
+	  func_extract_archives $gentop $dlprefiles
+	  func_append libobjs " $func_extract_archives_result"
+	  test "X$libobjs" = "X " && libobjs=
+	fi
+
+	save_ifs=$IFS; IFS='~'
+	for cmd in $cmds; do
+	  IFS=$sp$nl
+	  eval cmd=\"$cmd\"
+	  IFS=$save_ifs
+	  $opt_quiet || {
+	    func_quote_for_expand "$cmd"
+	    eval "func_echo $func_quote_for_expand_result"
+	  }
+	  $opt_dry_run || eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test relink = "$opt_mode"; then
+	      ( cd "$output_objdir" && \
+	        $RM "${realname}T" && \
+		$MV "${realname}U" "$realname" )
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS=$save_ifs
+
+	# Restore the uninstalled library and exit
+	if test relink = "$opt_mode"; then
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      func_show_eval '${RM}r "$gentop"'
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test yes = "$module" || test yes = "$export_dynamic"; then
+	  # On all known operating systems, these are identical.
+	  dlname=$soname
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+	func_warning "'-dlopen' is ignored for objects"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	func_warning "'-l' and '-L' are ignored for objects" ;;
+      esac
+
+      test -n "$rpath" && \
+	func_warning "'-rpath' is ignored for objects"
+
+      test -n "$xrpath" && \
+	func_warning "'-R' is ignored for objects"
+
+      test -n "$vinfo" && \
+	func_warning "'-version-info' is ignored for objects"
+
+      test -n "$release" && \
+	func_warning "'-release' is ignored for objects"
+
+      case $output in
+      *.lo)
+	test -n "$objs$old_deplibs" && \
+	  func_fatal_error "cannot build library object '$output' from non-libtool objects"
+
+	libobj=$output
+	func_lo2o "$libobj"
+	obj=$func_lo2o_result
+	;;
+      *)
+	libobj=
+	obj=$output
+	;;
+      esac
+
+      # Delete the old objects.
+      $opt_dry_run || $RM $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # if reload_cmds runs $LD directly, get rid of -Wl from
+      # whole_archive_flag_spec and hope we can get by with turning comma
+      # into space.
+      case $reload_cmds in
+        *\$LD[\ \$]*) wl= ;;
+      esac
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+	  test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+	  reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
+	else
+	  gentop=$output_objdir/${obj}x
+	  func_append generated " $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # If we're not building shared, we need to use non_pic_objs
+      test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
+
+      # Create the old-style object.
+      reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
+
+      output=$obj
+      func_execute_cmds "$reload_cmds" 'exit $?'
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  func_show_eval '${RM}r "$gentop"'
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      test yes = "$build_libtool_libs" || {
+	if test -n "$gentop"; then
+	  func_show_eval '${RM}r "$gentop"'
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      }
+
+      if test -n "$pic_flag" || test default != "$pic_mode"; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output=$libobj
+	func_execute_cmds "$reload_cmds" 'exit $?'
+      fi
+
+      if test -n "$gentop"; then
+	func_show_eval '${RM}r "$gentop"'
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) func_stripname '' '.exe' "$output"
+	          output=$func_stripname_result.exe;;
+      esac
+      test -n "$vinfo" && \
+	func_warning "'-version-info' is ignored for programs"
+
+      test -n "$release" && \
+	func_warning "'-release' is ignored for programs"
+
+      $preload \
+	&& test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+	&& func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
+	;;
+      esac
+
+      case $host in
+      *-*-darwin*)
+	# Don't allow lazy linking, it breaks C++ global constructors
+	# But is supposedly fixed on 10.4 or later (yay!).
+	if test CXX = "$tagname"; then
+	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+	    10.[0123])
+	      func_append compile_command " $wl-bind_at_load"
+	      func_append finalize_command " $wl-bind_at_load"
+	    ;;
+	  esac
+	fi
+	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    func_append new_libs " -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) func_append new_libs " $deplib" ;;
+	  esac
+	  ;;
+	*) func_append new_libs " $deplib" ;;
+	esac
+      done
+      compile_deplibs=$new_libs
+
+
+      func_append compile_command " $compile_deplibs"
+      func_append finalize_command " $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append finalize_rpath " $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs=$libdir
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    func_append rpath " $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append perm_rpath " $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+	  testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  ::) dllsearchpath=$libdir;;
+	  *) func_append dllsearchpath ":$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  ::) dllsearchpath=$testbindir;;
+	  *) func_append dllsearchpath ":$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir=$hardcode_libdirs
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath=$rpath
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs=$libdir
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    func_append rpath " $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append finalize_perm_rpath " $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir=$hardcode_libdirs
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath=$rpath
+
+      if test -n "$libobjs" && test yes = "$build_old_libs"; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+      fi
+
+      func_generate_dlsyms "$outputname" "@PROGRAM@" false
+
+      # template prelinking step
+      if test -n "$prelink_cmds"; then
+	func_execute_cmds "$prelink_cmds" 'exit $?'
+      fi
+
+      wrappers_required=:
+      case $host in
+      *cegcc* | *mingw32ce*)
+        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+        wrappers_required=false
+        ;;
+      *cygwin* | *mingw* )
+        test yes = "$build_libtool_libs" || wrappers_required=false
+        ;;
+      *)
+        if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+          wrappers_required=false
+        fi
+        ;;
+      esac
+      $wrappers_required || {
+	# Replace the output file specification.
+	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+	link_command=$compile_command$compile_rpath
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	exit_status=0
+	func_show_eval "$link_command" 'exit_status=$?'
+
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
+	# Delete the generated files.
+	if test -f "$output_objdir/${outputname}S.$objext"; then
+	  func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
+	fi
+
+	exit $exit_status
+      }
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    func_append rpath "$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    func_append rpath "$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test yes = "$no_install"; then
+	# We don't need to create a wrapper script.
+	link_command=$compile_var$compile_command$compile_rpath
+	# Replace the output file specification.
+	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$opt_dry_run || $RM $output
+	# Link the executable and exit
+	func_show_eval "$link_command" 'exit $?'
+
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      case $hardcode_action,$fast_install in
+        relink,*)
+	  # Fast installation is not supported
+	  link_command=$compile_var$compile_command$compile_rpath
+	  relink_command=$finalize_var$finalize_command$finalize_rpath
+
+	  func_warning "this platform does not like uninstalled shared libraries"
+	  func_warning "'$output' will be relinked during installation"
+	  ;;
+        *,yes)
+	  link_command=$finalize_var$compile_command$finalize_rpath
+	  relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+          ;;
+	*,no)
+	  link_command=$compile_var$compile_command$compile_rpath
+	  relink_command=$finalize_var$finalize_command$finalize_rpath
+          ;;
+	*,needless)
+	  link_command=$finalize_var$compile_command$finalize_rpath
+	  relink_command=
+          ;;
+      esac
+
+      # Replace the output file specification.
+      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      func_show_eval "$link_command" 'exit $?'
+
+      if test -n "$postlink_cmds"; then
+	func_to_tool_file "$output_objdir/$outputname"
+	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	func_execute_cmds "$postlink_cmds" 'exit $?'
+      fi
+
+      # Now create the wrapper script.
+      func_verbose "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    func_quote_for_eval "$var_value"
+	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if not in dry run mode.
+      $opt_dry_run || {
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) func_stripname '' '.exe' "$output"
+	         output=$func_stripname_result ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    func_stripname '' '.exe' "$outputname"
+	    outputname=$func_stripname_result ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+	    func_dirname_and_basename "$output" "" "."
+	    output_name=$func_basename_result
+	    output_path=$func_dirname_result
+	    cwrappersource=$output_path/$objdir/lt-$output_name.c
+	    cwrapper=$output_path/$output_name.exe
+	    $RM $cwrappersource $cwrapper
+	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    func_emit_cwrapperexe_src > $cwrappersource
+
+	    # The wrapper executable is built using the $host compiler,
+	    # because it contains $host paths and files. If cross-
+	    # compiling, it, like the target executable, must be
+	    # executed on the $host or under an emulation environment.
+	    $opt_dry_run || {
+	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+	      $STRIP $cwrapper
+	    }
+
+	    # Now, create the wrapper script for func_source use:
+	    func_ltwrapper_scriptname $cwrapper
+	    $RM $func_ltwrapper_scriptname_result
+	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+	    $opt_dry_run || {
+	      # note: this script will not be executed, so do not chmod.
+	      if test "x$build" = "x$host"; then
+		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+	      else
+		func_emit_wrapper no > $func_ltwrapper_scriptname_result
+	      fi
+	    }
+	  ;;
+	  * )
+	    $RM $output
+	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+	    func_emit_wrapper no > $output
+	    chmod +x $output
+	  ;;
+	esac
+      }
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      case $build_libtool_libs in
+        convenience)
+	  oldobjs="$libobjs_save $symfileobj"
+	  addlibs=$convenience
+	  build_libtool_libs=no
+	  ;;
+	module)
+	  oldobjs=$libobjs_save
+	  addlibs=$old_convenience
+	  build_libtool_libs=no
+          ;;
+	*)
+	  oldobjs="$old_deplibs $non_pic_objects"
+	  $preload && test -f "$symfileobj" \
+	    && func_append oldobjs " $symfileobj"
+	  addlibs=$old_convenience
+	  ;;
+      esac
+
+      if test -n "$addlibs"; then
+	gentop=$output_objdir/${outputname}x
+	func_append generated " $gentop"
+
+	func_extract_archives $gentop $addlibs
+	func_append oldobjs " $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
+	cmds=$old_archive_from_new_cmds
+      else
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop=$output_objdir/${outputname}x
+	  func_append generated " $gentop"
+
+	  func_extract_archives $gentop $dlprefiles
+	  func_append oldobjs " $func_extract_archives_result"
+	fi
+
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      func_basename "$obj"
+	      $ECHO "$func_basename_result"
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  echo "copying selected object files to avoid basename conflicts..."
+	  gentop=$output_objdir/${outputname}x
+	  func_append generated " $gentop"
+	  func_mkdir_p "$gentop"
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    func_basename "$obj"
+	    objbase=$func_basename_result
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		func_arith $counter + 1
+		counter=$func_arith_result
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      func_append oldobjs " $gentop/$newobj"
+	      ;;
+	    *) func_append oldobjs " $obj" ;;
+	    esac
+	  done
+	fi
+	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+	tool_oldlib=$func_to_tool_file_result
+	eval cmds=\"$old_archive_cmds\"
+
+	func_len " $cmds"
+	len=$func_len_result
+	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	elif test -n "$archiver_list_spec"; then
+	  func_verbose "using command file archive linking..."
+	  for obj in $oldobjs
+	  do
+	    func_to_tool_file "$obj"
+	    $ECHO "$func_to_tool_file_result"
+	  done > $output_objdir/$libname.libcmd
+	  func_to_tool_file "$output_objdir/$libname.libcmd"
+	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  func_verbose "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  eval test_cmds=\"$old_archive_cmds\"
+	  func_len " $test_cmds"
+	  len0=$func_len_result
+	  len=$len0
+	  for obj in $save_oldobjs
+	  do
+	    func_len " $obj"
+	    func_arith $len + $func_len_result
+	    len=$func_arith_result
+	    func_append objlist " $obj"
+	    if test "$len" -lt "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj"; then
+		RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
+	      objlist=
+	      len=$len0
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test -z "$oldobjs"; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      func_execute_cmds "$cmds" 'exit $?'
+    done
+
+    test -n "$generated" && \
+      func_show_eval "${RM}r$generated"
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test yes = "$build_old_libs" && old_library=$libname.$libext
+      func_verbose "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  func_quote_for_eval "$var_value"
+	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+      if test yes = "$hardcode_automatic"; then
+	relink_command=
+      fi
+
+      # Only create the output if not a dry run.
+      $opt_dry_run || {
+	for installed in no yes; do
+	  if test yes = "$installed"; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output=$output_objdir/${outputname}i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		func_basename "$deplib"
+		name=$func_basename_result
+		func_resolve_sysroot "$deplib"
+		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+		test -z "$libdir" && \
+		  func_fatal_error "'$deplib' is not a valid libtool archive"
+		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      -L*)
+		func_stripname -L '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -L$func_replace_sysroot_result"
+		;;
+	      -R*)
+		func_stripname -R '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -R$func_replace_sysroot_result"
+		;;
+	      *) func_append newdependency_libs " $deplib" ;;
+	      esac
+	    done
+	    dependency_libs=$newdependency_libs
+	    newdlfiles=
+
+	    for lib in $dlfiles; do
+	      case $lib in
+	      *.la)
+	        func_basename "$lib"
+		name=$func_basename_result
+		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "'$lib' is not a valid libtool archive"
+		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      *) func_append newdlfiles " $lib" ;;
+	      esac
+	    done
+	    dlfiles=$newdlfiles
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+	      *.la)
+		# Only pass preopened files to the pseudo-archive (for
+		# eventual linking with the app. that links it) if we
+		# didn't already link the preopened objects directly into
+		# the library:
+		func_basename "$lib"
+		name=$func_basename_result
+		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "'$lib' is not a valid libtool archive"
+		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      esac
+	    done
+	    dlprefiles=$newdlprefiles
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      func_append newdlfiles " $abs"
+	    done
+	    dlfiles=$newdlfiles
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      func_append newdlprefiles " $abs"
+	    done
+	    dlprefiles=$newdlprefiles
+	  fi
+	  $RM $output
+	  # place dlname in correct position for cygwin
+	  # In fact, it would be nice if we could use this code for all target
+	  # systems that can't hard-code library paths into their executables
+	  # and that have no shared library path variable independent of PATH,
+	  # but it turns out we can't easily determine that from inspecting
+	  # libtool variables, so we have to hard-code the OSs to which it
+	  # applies here; at the moment, that means platforms that use the PE
+	  # object format with DLL files.  See the long comment at the top of
+	  # tests/bindir.at for full details.
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+	      # If a -bindir argument was supplied, place the dll there.
+	      if test -n "$bindir"; then
+		func_relative_path "$install_libdir" "$bindir"
+		tdlname=$func_relative_path_result/$dlname
+	      else
+		# Otherwise fall back on heuristic.
+		tdlname=../bin/$dlname
+	      fi
+	      ;;
+	  esac
+	  $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that cannot go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test no,yes = "$installed,$need_relink"; then
+	    $ECHO >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      }
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+}
+
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+  func_mode_link ${1+"$@"}
+fi
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+    $debug_cmd
+
+    RM=$nonopt
+    files=
+    rmforce=false
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic=$magic
+
+    for arg
+    do
+      case $arg in
+      -f) func_append RM " $arg"; rmforce=: ;;
+      -*) func_append RM " $arg" ;;
+      *) func_append files " $arg" ;;
+      esac
+    done
+
+    test -z "$RM" && \
+      func_fatal_help "you must specify an RM program"
+
+    rmdirs=
+
+    for file in $files; do
+      func_dirname "$file" "" "."
+      dir=$func_dirname_result
+      if test . = "$dir"; then
+	odir=$objdir
+      else
+	odir=$dir/$objdir
+      fi
+      func_basename "$file"
+      name=$func_basename_result
+      test uninstall = "$opt_mode" && odir=$dir
+
+      # Remember odir for removal later, being careful to avoid duplicates
+      if test clean = "$opt_mode"; then
+	case " $rmdirs " in
+	  *" $odir "*) ;;
+	  *) func_append rmdirs " $odir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if { test -L "$file"; } >/dev/null 2>&1 ||
+	 { test -h "$file"; } >/dev/null 2>&1 ||
+	 test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif $rmforce; then
+	continue
+      fi
+
+      rmfiles=$file
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if func_lalib_p "$file"; then
+	  func_source $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    func_append rmfiles " $odir/$n"
+	  done
+	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+	  case $opt_mode in
+	  clean)
+	    case " $library_names " in
+	    *" $dlname "*) ;;
+	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+	    esac
+	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if func_lalib_p "$file"; then
+
+	  # Read the .lo file
+	  func_source $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" && test none != "$pic_object"; then
+	    func_append rmfiles " $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" && test none != "$non_pic_object"; then
+	    func_append rmfiles " $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test clean = "$opt_mode"; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    func_stripname '' '.exe' "$file"
+	    file=$func_stripname_result
+	    func_stripname '' '.exe' "$name"
+	    noexename=$func_stripname_result
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    func_append rmfiles " $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if func_ltwrapper_p "$file"; then
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      relink_command=
+	      func_source $func_ltwrapper_scriptname_result
+	      func_append rmfiles " $func_ltwrapper_scriptname_result"
+	    else
+	      relink_command=
+	      func_source $dir/$noexename
+	    fi
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+	    if test yes = "$fast_install" && test -n "$relink_command"; then
+	      func_append rmfiles " $odir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name"; then
+	      func_append rmfiles " $odir/lt-$noexename.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      func_show_eval "$RM $rmfiles" 'exit_status=1'
+    done
+
+    # Try to remove the $objdir's in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	func_show_eval "rmdir $dir >/dev/null 2>&1"
+      fi
+    done
+
+    exit $exit_status
+}
+
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+  func_mode_uninstall ${1+"$@"}
+fi
+
+test -z "$opt_mode" && {
+  help=$generic_help
+  func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+  func_fatal_help "invalid operation mode '$opt_mode'"
+
+if test -n "$exec_cmd"; then
+  eval exec "$exec_cmd"
+  exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# where we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/m4/ax_compiler_vendor.m4 b/m4/ax_compiler_vendor.m4
new file mode 100644
index 00000000..39ca3c0f
--- /dev/null
+++ b/m4/ax_compiler_vendor.m4
@@ -0,0 +1,87 @@
+# ===========================================================================
+#    http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_COMPILER_VENDOR
+#
+# DESCRIPTION
+#
+#   Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
+#   hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
+#   watcom, etc. The vendor is returned in the cache variable
+#   $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
+#   Copyright (c) 2008 Matteo Frigo
+#
+#   This program is free software: you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation, either version 3 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 15
+
+AC_DEFUN([AX_COMPILER_VENDOR],
+[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
+  dnl Please add if possible support to ax_compiler_version.m4
+  [# note: don't check for gcc first since some other compilers define __GNUC__
+  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
+           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
+           pathscale: __PATHCC__,__PATHSCALE__
+           clang:     __clang__
+           cray:      _CRAYC
+           fujitsu:   __FUJITSU
+           gnu:       __GNUC__
+           sun:       __SUNPRO_C,__SUNPRO_CC
+           hp:        __HP_cc,__HP_aCC
+           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
+           borland:   __BORLANDC__,__CODEGEARC__,__TURBOC__
+           comeau:    __COMO__
+           kai:       __KCC
+           lcc:       __LCC__
+           sgi:       __sgi,sgi
+           microsoft: _MSC_VER
+           metrowerks: __MWERKS__
+           watcom:    __WATCOMC__
+           portland:  __PGI
+	   tcc:       __TINYC__
+           unknown:   UNKNOWN"
+  for ventest in $vendors; do
+    case $ventest in
+      *:) vendor=$ventest; continue ;;
+      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
+    esac
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
+      #if !($vencpp)
+        thisisanerror;
+      #endif
+    ])], [break])
+  done
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1`
+ ])
+])
diff --git a/m4/ax_compiler_version.m4 b/m4/ax_compiler_version.m4
new file mode 100644
index 00000000..10ac7751
--- /dev/null
+++ b/m4/ax_compiler_version.m4
@@ -0,0 +1,492 @@
+# ===========================================================================
+#    http://www.gnu.org/software/autoconf-archive/ax_compiler_version.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_COMPILER_VERSION
+#
+# DESCRIPTION
+#
+#   This macro retrieves the compiler version and returns it in the cache
+#   variable $ax_cv_c_compiler_version for C and $ax_cv_cxx_compiler_version
+#   for C++.
+#
+#   Version is returned as epoch:major.minor.patchversion
+#
+#   Epoch is used in order to have an increasing version number in case of
+#   marketing change.
+#
+#   Epoch use: * borland compiler use chronologically 0turboc for turboc
+#   era,
+#
+#     1borlanc BORLANC++ before 5, 2cppbuilder for cppbuilder era,
+#     3borlancpp for return of BORLANC++ (after version 5.5),
+#     4cppbuilder for cppbuilder with year version,
+#     and 5xe for XE era.
+#
+#   An empty string is returned otherwise.
+#
+# LICENSE
+#
+#   Copyright (c) 2014 Bastien ROUCARIES <roucaries.bastien+autoconf@gmail.com>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 4
+
+# for intel
+AC_DEFUN([_AX_COMPILER_VERSION_INTEL],
+  [ dnl
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    [__INTEL_COMPILER/100],,
+    AC_MSG_FAILURE([[[$0]] unknown intel compiler version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    [(__INTEL_COMPILER%100)/10],,
+    AC_MSG_FAILURE([[[$0]] unknown intel compiler version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+    [(__INTEL_COMPILER%10)],,
+    AC_MSG_FAILURE([[[$0]] unknown intel compiler version]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+  ])
+
+# for IBM
+AC_DEFUN([_AX_COMPILER_VERSION_IBM],
+  [ dnl
+  dnl check between z/OS C/C++  and XL C/C++
+  AC_COMPILE_IFELSE([
+    AC_LANG_PROGRAM([],
+      [
+        #if defined(__COMPILER_VER__)
+        choke me;
+        #endif
+      ])],
+    [
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+        [__xlC__/100],,
+      	AC_MSG_FAILURE([[[$0]] unknown IBM compiler major version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+        [__xlC__%100],,
+      	AC_MSG_FAILURE([[[$0]] unknown IBM compiler minor version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+        [__xlC_ver__/0x100],,
+      	AC_MSG_FAILURE([[[$0]] unknown IBM compiler patch version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_build,
+        [__xlC_ver__%0x100],,
+      	AC_MSG_FAILURE([[[$0]] unknown IBM compiler build version]))
+      ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_build"
+    ],
+    [
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+        [__xlC__%1000],,
+      	AC_MSG_FAILURE([[[$0]] unknown IBM compiler patch version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+        [(__xlC__/10000)%10],,
+      	AC_MSG_FAILURE([[[$0]] unknown IBM compiler minor version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+        [(__xlC__/100000)%10],,
+      	AC_MSG_FAILURE([[[$0]] unknown IBM compiler major version]))
+      ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+    ])
+])
+
+# for pathscale
+AC_DEFUN([_AX_COMPILER_VERSION_PATHSCALE],[
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    __PATHCC__,,
+    AC_MSG_FAILURE([[[$0]] unknown pathscale major]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    __PATHCC_MINOR__,,
+    AC_MSG_FAILURE([[[$0]] unknown pathscale minor]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+    [__PATHCC_PATCHLEVEL__],,
+    AC_MSG_FAILURE([[[$0]] unknown pathscale patch level]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+  ])
+
+# for clang
+AC_DEFUN([_AX_COMPILER_VERSION_CLANG],[
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    __clang_major__,,
+    AC_MSG_FAILURE([[[$0]] unknown clang major]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    __clang_minor__,,
+    AC_MSG_FAILURE([[[$0]] unknown clang minor]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+    [__clang_patchlevel__],,0)
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+  ])
+
+# for crayc
+AC_DEFUN([_AX_COMPILER_VERSION_CRAY],[
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    _RELEASE,,
+    AC_MSG_FAILURE([[[$0]] unknown crayc release]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    _RELEASE_MINOR,,
+    AC_MSG_FAILURE([[[$0]] unknown crayc minor]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor"
+  ])
+
+# for fujitsu
+AC_DEFUN([_AX_COMPILER_VERSION_FUJITSU],[
+  AC_COMPUTE_INT(ax_cv_[]_AC_LANG_ABBREV[]_compiler_version,
+                 __FCC_VERSION,,
+		 AC_MSG_FAILURE([[[$0]]unknown fujitsu release]))
+  ])
+
+# for GNU
+AC_DEFUN([_AX_COMPILER_VERSION_GNU],[
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    __GNUC__,,
+    AC_MSG_FAILURE([[[$0]] unknown gcc major]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    __GNUC_MINOR__,,
+    AC_MSG_FAILURE([[[$0]] unknown gcc minor]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+    [__GNUC_PATCHLEVEL__],,
+    AC_MSG_FAILURE([[[$0]] unknown gcc patch level]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+  ])
+
+# For sun
+AC_DEFUN([_AX_COMPILER_VERSION_SUN],[
+  m4_define([_AX_COMPILER_VERSION_SUN_NUMBER],
+            [
+	     #if defined(__SUNPRO_CC)
+	     __SUNPRO_CC
+	     #else
+	     __SUNPRO_C
+	     #endif
+	    ])
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_until59,
+    !!(_AX_COMPILER_VERSION_SUN_NUMBER < 0x1000),,
+    AC_MSG_FAILURE([[[$0]] unknown sun release version]))
+  AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_until59" = X1],
+    [dnl
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+        _AX_COMPILER_VERSION_SUN_NUMBER % 0x10,,
+	AC_MSG_FAILURE([[[$0]] unknown sun patch version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+        (_AX_COMPILER_VERSION_SUN_NUMBER / 0x10) % 0x10,,
+        AC_MSG_FAILURE([[[$0]] unknown sun minor version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+        (_AX_COMPILER_VERSION_SUN_NUMBER / 0x100),,
+        AC_MSG_FAILURE([[[$0]] unknown sun major version]))
+    ],
+    [dnl
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+        _AX_COMPILER_VERSION_SUN_NUMBER % 0x10,,
+        AC_MSG_FAILURE([[[$0]] unknown sun patch version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+        (_AX_COMPILER_VERSION_SUN_NUMBER / 0x100) % 0x100,,
+        AC_MSG_FAILURE([[[$0]] unknown sun minor version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+        (_AX_COMPILER_VERSION_SUN_NUMBER / 0x1000),,
+        AC_MSG_FAILURE([[[$0]] unknown sun major version]))
+    ])
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+])
+
+AC_DEFUN([_AX_COMPILER_VERSION_HP],[
+  m4_define([_AX_COMPILER_VERSION_HP_NUMBER],
+            [
+	     #if defined(__HP_cc)
+	     __HP_cc
+	     #else
+	     __HP_aCC
+	     #endif
+	    ])
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_untilA0121,
+    !!(_AX_COMPILER_VERSION_HP_NUMBER <= 1),,
+    AC_MSG_FAILURE([[[$0]] unknown hp release version]))
+  AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_untilA0121" = X1],
+    [dnl By default output last version with this behavior.
+     dnl it is so old
+      ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="01.21.00"
+    ],
+    [dnl
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+        (_AX_COMPILER_VERSION_HP_NUMBER % 100),,
+        AC_MSG_FAILURE([[[$0]] unknown hp release version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+        ((_AX_COMPILER_VERSION_HP_NUMBER / 100)%100),,
+        AC_MSG_FAILURE([[[$0]] unknown hp minor version]))
+      AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+        ((_AX_COMPILER_VERSION_HP_NUMBER / 10000)%100),,
+        AC_MSG_FAILURE([[[$0]] unknown hp major version]))
+      ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+    ])
+])
+
+AC_DEFUN([_AX_COMPILER_VERSION_DEC],[dnl
+  m4_define([_AX_COMPILER_VERSION_DEC_NUMBER],
+            [
+	     #if defined(__DECC_VER)
+	     __DECC_VER
+	     #else
+	     __DECCXX_VER
+	     #endif
+	    ])
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+    (_AX_COMPILER_VERSION_DEC_NUMBER % 10000),,
+    AC_MSG_FAILURE([[[$0]] unknown dec release version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    ((_AX_COMPILER_VERSION_DEC_NUMBER / 100000UL)%100),,
+    AC_MSG_FAILURE([[[$0]] unknown dec minor version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    ((_AX_COMPILER_VERSION_DEC_NUMBER / 10000000UL)%100),,
+    AC_MSG_FAILURE([[[$0]] unknown dec major version]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+  ])
+
+# borland
+AC_DEFUN([_AX_COMPILER_VERSION_BORLAND],[dnl
+  m4_define([_AX_COMPILER_VERSION_TURBOC_NUMBER],
+            [
+	     #if defined(__TURBOC__)
+	     __TURBOC__
+	     #else
+	     choke me
+	     #endif
+	    ])
+  m4_define([_AX_COMPILER_VERSION_BORLANDC_NUMBER],
+            [
+	     #if defined(__BORLANDC__)
+	     __BORLANDC__
+	     #else
+	     __CODEGEARC__
+	     #endif
+	    ])
+ AC_COMPILE_IFELSE(
+   [AC_LANG_PROGRAM(,
+     _AX_COMPILER_VERSION_TURBOC_NUMBER)],
+   [dnl TURBOC
+     AC_COMPUTE_INT(
+       _ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw,
+       _AX_COMPILER_VERSION_TURBOC_NUMBER,,
+       AC_MSG_FAILURE([[[$0]] unknown turboc version]))
+     AS_IF(
+       [test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw -lt 661 || test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw -gt 1023],
+       [dnl compute normal version
+        AC_COMPUTE_INT(
+	  _ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+	  _AX_COMPILER_VERSION_TURBOC_NUMBER % 0x100,,
+	  AC_MSG_FAILURE([[[$0]] unknown turboc minor version]))
+	AC_COMPUTE_INT(
+	  _ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+	  (_AX_COMPILER_VERSION_TURBOC_NUMBER/0x100)%0x100,,
+	  AC_MSG_FAILURE([[[$0]] unknown turboc major version]))
+	ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor"],
+      [dnl special version
+       AS_CASE([$_ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw],
+         [661],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:1.00"],
+	 [662],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:1.01"],
+         [663],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:2.00"],
+	 [
+	 AC_MSG_WARN([[[$0]] unknown turboc version between 0x295 and 0x400 please report bug])
+	 ax_cv_[]_AC_LANG_ABBREV[]_compiler_version=""
+	 ])
+      ])
+    ],
+    # borlandc
+    [
+    AC_COMPUTE_INT(
+      _ax_[]_AC_LANG_ABBREV[]_compiler_version_borlandc_raw,
+      _AX_COMPILER_VERSION_BORLANDC_NUMBER,,
+      AC_MSG_FAILURE([[[$0]] unknown borlandc version]))
+    AS_CASE([$_ax_[]_AC_LANG_ABBREV[]_compiler_version_borlandc_raw],
+      dnl BORLANC++ before 5.5
+      [512] ,[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:2.00"],
+      [1024],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:3.00"],
+      [1024],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:3.00"],
+      [1040],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:3.1"],
+      [1106],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:4.0"],
+      [1280],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:5.0"],
+      [1312],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:5.02"],
+      dnl C++ Builder era
+      [1328],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="2cppbuilder:3.0"],
+      [1344],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="2cppbuilder:4.0"],
+      dnl BORLANC++ after 5.5
+      [1360],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="3borlancpp:5.5"],
+      [1361],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="3borlancpp:5.51"],
+      [1378],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="3borlancpp:5.6.4"],
+      dnl C++ Builder with year number
+      [1392],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2006"],
+      [1424],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2007"],
+      [1555],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2009"],
+      [1569],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2010"],
+      dnl XE version
+      [1584],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe"],
+      [1600],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe:2"],
+      [1616],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe:3"],
+      [1632],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe:4"],
+      [
+      AC_MSG_WARN([[[$0]] Unknow borlanc compiler version $_ax_[]_AC_LANG_ABBREV[]_compiler_version_borlandc_raw please report bug])
+      ])
+    ])
+  ])
+
+# COMO
+AC_DEFUN([_AX_COMPILER_VERSION_COMEAU],
+  [ dnl
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    [__COMO_VERSION__%100],,
+    AC_MSG_FAILURE([[[$0]] unknown comeau compiler minor version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    [(__COMO_VERSION__/100)%10],,
+    AC_MSG_FAILURE([[[$0]] unknown comeau compiler major version]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor"
+  ])
+
+# KAI
+AC_DEFUN([_AX_COMPILER_VERSION_KAI],[
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+    [__KCC_VERSION%100],,
+    AC_MSG_FAILURE([[[$0]] unknown kay compiler patch version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    [(__KCC_VERSION/100)%10],,
+    AC_MSG_FAILURE([[[$0]] unknown kay compiler minor version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    [(__KCC_VERSION/1000)%10],,
+    AC_MSG_FAILURE([[[$0]] unknown kay compiler major version]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+  ])
+
+dnl LCC
+dnl LCC does not output version...
+
+# SGI
+AC_DEFUN([_AX_COMPILER_VERSION_SGI],[
+   m4_define([_AX_COMPILER_VERSION_SGI_NUMBER],
+            [
+	     #if defined(_COMPILER_VERSION)
+	     _COMPILER_VERSION
+	     #else
+	     _SGI_COMPILER_VERSION
+	     #endif
+	    ])
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+    [_AX_COMPILER_VERSION_SGI_NUMBER%10],,
+    AC_MSG_FAILURE([[[$0]] unknown SGI compiler patch version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    [(_AX_COMPILER_VERSION_SGI_NUMBER/10)%10],,
+    AC_MSG_FAILURE([[[$0]] unknown SGI compiler minor version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    [(_AX_COMPILER_VERSION_SGI_NUMBER/100)%10],,
+    AC_MSG_FAILURE([[[$0]] unknown SGI compiler major version]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+  ])
+
+# microsoft
+AC_DEFUN([_AX_COMPILER_VERSION_MICROSOFT],[
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    _MSC_VER%100,,
+    AC_MSG_FAILURE([[[$0]] unknown microsoft compiler minor version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    (_MSC_VER/100)%100,,
+    AC_MSG_FAILURE([[[$0]] unknown microsoft compiler major version]))
+  dnl could be overriden
+  _ax_[]_AC_LANG_ABBREV[]_compiler_version_patch=0
+  _ax_[]_AC_LANG_ABBREV[]_compiler_version_build=0
+  # special case for version 6
+  AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major" = "X12"],
+    [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+       _MSC_FULL_VER%1000,,
+       _ax_[]_AC_LANG_ABBREV[]_compiler_version_patch=0)])
+  # for version 7
+  AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major" = "X13"],
+    [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+       _MSC_FULL_VER%1000,,
+       AC_MSG_FAILURE([[[$0]] unknown microsoft compiler patch version]))
+    ])
+  # for version > 8
+ AS_IF([test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_major -ge 14],
+    [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+       _MSC_FULL_VER%10000,,
+       AC_MSG_FAILURE([[[$0]] unknown microsoft compiler patch version]))
+    ])
+ AS_IF([test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_major -ge 15],
+    [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_build,
+       _MSC_BUILD,,
+       AC_MSG_FAILURE([[[$0]] unknown microsoft compiler build version]))
+    ])
+ ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_build"
+ ])
+
+# for metrowerks
+AC_DEFUN([_AX_COMPILER_VERSION_METROWERKS],[dnl
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+    __MWERKS__%0x100,,
+    AC_MSG_FAILURE([[[$0]] unknown metrowerks compiler patch version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    (__MWERKS__/0x100)%0x10,,
+    AC_MSG_FAILURE([[[$0]] unknown metrowerks compiler minor version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    (__MWERKS__/0x1000)%0x10,,
+    AC_MSG_FAILURE([[[$0]] unknown metrowerks compiler major version]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+  ])
+
+# for watcom
+AC_DEFUN([_AX_COMPILER_VERSION_WATCOM],[dnl
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    __WATCOMC__%100,,
+    AC_MSG_FAILURE([[[$0]] unknown watcom compiler minor version]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    (__WATCOMC__/100)%100,,
+    AC_MSG_FAILURE([[[$0]] unknown watcom compiler major version]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor"
+  ])
+
+# for PGI
+AC_DEFUN([_AX_COMPILER_VERSION_PORTLAND],[
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major,
+    __PGIC__,,
+    AC_MSG_FAILURE([[[$0]] unknown pgi major]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor,
+    __PGIC_MINOR__,,
+    AC_MSG_FAILURE([[[$0]] unknown pgi minor]))
+  AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch,
+    [__PGIC_PATCHLEVEL__],,
+    AC_MSG_FAILURE([[[$0]] unknown pgi patch level]))
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch"
+  ])
+
+# tcc
+AC_DEFUN([_AX_COMPILER_VERSION_TCC],[
+  ax_cv_[]_AC_LANG_ABBREV[]_compiler_version=[`tcc -v | $SED 's/^[ ]*tcc[ ]\+version[ ]\+\([0-9.]\+\).*/\1/g'`]
+  ])
+# main entry point
+AC_DEFUN([AX_COMPILER_VERSION],[dnl
+  AC_REQUIRE([AX_COMPILER_VENDOR])
+  AC_REQUIRE([AC_PROG_SED])
+  AC_CACHE_CHECK([for _AC_LANG compiler version],
+    ax_cv_[]_AC_LANG_ABBREV[]_compiler_version,
+    [ dnl
+      AS_CASE([$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor],
+        [intel],[_AX_COMPILER_VERSION_INTEL],
+	[ibm],[_AX_COMPILER_VERSION_IBM],
+	[pathscale],[_AX_COMPILER_VERSION_PATHSCALE],
+	[clang],[_AX_COMPILER_VERSION_CLANG],
+	[cray],[_AX_COMPILER_VERSION_CRAY],
+	[fujitsu],[_AX_COMPILER_VERSION_FUJITSU],
+        [gnu],[_AX_COMPILER_VERSION_GNU],
+	[sun],[_AX_COMPILER_VERSION_SUN],
+	[hp],[_AX_COMPILER_VERSION_HP],
+	[dec],[_AX_COMPILER_VERSION_DEC],
+	[borland],[_AX_COMPILER_VERSION_BORLAND],
+	[comeau],[_AX_COMPILER_VERSION_COMEAU],
+	[kai],[_AX_COMPILER_VERSION_KAI],
+	[sgi],[_AX_COMPILER_VERSION_SGI],
+	[microsoft],[_AX_COMPILER_VERSION_MICROSOFT],
+	[metrowerks],[_AX_COMPILER_VERSION_METROWERKS],
+	[watcom],[_AX_COMPILER_VERSION_WATCOM],
+	[portland],[_AX_COMPILER_VERSION_PORTLAND],
+	[tcc],[_AX_COMPILER_VERSION_TCC],
+  	[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version=""])
+    ])
+])
diff --git a/m4/ax_gcc_option.m4 b/m4/ax_gcc_option.m4
new file mode 100644
index 00000000..007eb09d
--- /dev/null
+++ b/m4/ax_gcc_option.m4
@@ -0,0 +1,34 @@
+AC_DEFUN([AX_GCC_OPTION], [
+AC_REQUIRE([AC_PROG_CC])
+
+AC_MSG_CHECKING([if gcc accepts $1 option])
+
+AS_IF([ test "x$GCC" = "xyes" ],[
+AS_IF([ test -z "$3" ],[
+ax_gcc_option_test="int main()
+{
+return 0;
+}"
+],[
+ax_gcc_option_test="$3"
+])
+
+# Dump the test program to file
+cat <<EOF > conftest.c
+$ax_gcc_option_test
+EOF
+
+# Dump back the file to the log, useful for debugging purposes
+AC_TRY_COMMAND(cat conftest.c 1>&AS_MESSAGE_LOG_FD)
+
+AS_IF([ AC_TRY_COMMAND($CC $2 $1 -c conftest.c 1>&AS_MESSAGE_LOG_FD) ],[
+AC_MSG_RESULT([yes])
+$4
+],[
+AC_MSG_RESULT([no])
+$5
+])
+],[
+AC_MSG_RESULT([no gcc available])
+])
+])
diff --git a/m4/ax_gcc_version.m4 b/m4/ax_gcc_version.m4
new file mode 100644
index 00000000..403f30ce
--- /dev/null
+++ b/m4/ax_gcc_version.m4
@@ -0,0 +1,64 @@
+# ===========================================================================
+#      http://www.gnu.org/software/autoconf-archive/ax_gcc_version.html
+# ===========================================================================
+#
+# OBSOLETE MACRO
+#
+#   Use AX_COMPILER_VERSION instead
+#
+# SYNOPSIS
+#
+#   AX_GCC_VERSION
+#
+# DESCRIPTION
+#
+#   This macro retrieves the gcc version and returns it in the GCC_VERSION
+#   variable if available, an empty string otherwise.
+#
+# LICENSE
+#
+#   Copyright (c) 2009 Francesco Salvestrini <salvestrini@users.sourceforge.net>
+#
+#   This program is free software; you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation; either version 2 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 10
+
+AC_DEFUN([AX_GCC_VERSION], [
+  AC_OBSOLETE([$0], [;please use AX_COMPILER_VERSION instead])
+  AC_LANG_PUSH([C])
+  AC_REQUIRE([AX_COMPILER_VENDOR])
+  AC_REQUIRE([AX_COMPILER_VERSION])
+  AC_LANG_POP([C])
+  GCC_VERSION=""
+  ax_cv_gcc_version=""
+  AS_IF([test "X$ax_cv_c_compiler_vendor" = "Xgnu"],
+    [dnl
+    ax_cv_gcc_version=$ax_cv_c_compiler_version
+    GCC_VERSION=$ax_cv_gcc_version
+    ])
+  AC_SUBST([GCC_VERSION])
+])
\ No newline at end of file
diff --git a/m4/ax_gxx_version.m4 b/m4/ax_gxx_version.m4
new file mode 100644
index 00000000..1d565431
--- /dev/null
+++ b/m4/ax_gxx_version.m4
@@ -0,0 +1,67 @@
+# ===========================================================================
+#             http://autoconf-archive.cryp.to/ax_gxx_version.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_GXX_VERSION
+#
+# DESCRIPTION
+#
+#   This macro retrieves the g++ version and returns it in the GXX_VERSION
+#   variable if available, an empty string otherwise.
+#
+# LAST MODIFICATION
+#
+#   2008-04-12
+#
+# COPYLEFT
+#
+#   Copyright (c) 2008 Francesco Salvestrini <salvestrini@users.sourceforge.net>
+#
+#   This program is free software; you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation; either version 2 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Macro Archive. When you make and
+#   distribute a modified version of the Autoconf Macro, you may extend this
+#   special exception to the GPL to apply to your modified version as well.
+
+AC_DEFUN([AX_GXX_VERSION], [
+  GXX_VERSION=""
+  AX_GCC_OPTION([-dumpversion],[],[],[
+    ax_gcc_version_option=yes
+  ],[
+    ax_gcc_version_option=no
+  ])
+  AS_IF([test "x$GXX" = "xyes"],[
+    AS_IF([test "x$ax_gxx_version_option" != "no"],[
+      AC_CACHE_CHECK([gxx version],[ax_cv_gxx_version],[
+        ax_cv_gxx_version="`$CXX -dumpversion`"
+        AS_IF([test "x$ax_cv_gxx_version" = "x"],[
+          ax_cv_gxx_version=""
+        ])
+      ])
+      GXX_VERSION=$ax_cv_gxx_version
+    ])
+  ])
+  AC_SUBST([GXX_VERSION])
+])
\ No newline at end of file
diff --git a/m4/lx_find_mpi.m4 b/m4/lx_find_mpi.m4
new file mode 100644
index 00000000..bc9feb91
--- /dev/null
+++ b/m4/lx_find_mpi.m4
@@ -0,0 +1,203 @@
+#################################################################################################
+# Copyright (c) 2010, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory
+# Written by Todd Gamblin, tgamblin@llnl.gov.
+# LLNL-CODE-417602
+# All rights reserved.
+#
+# This file is part of Libra. For details, see http://github.com/tgamblin/libra.
+# Please also read the LICENSE file for further information.
+#
+# Redistribution and use in source and binary forms, with or without modification, are
+# permitted provided that the following conditions are met:
+#
+#  * Redistributions of source code must retain the above copyright notice, this list of
+#    conditions and the disclaimer below.
+#  * Redistributions in binary form must reproduce the above copyright notice, this list of
+#    conditions and the disclaimer (as noted below) in the documentation and/or other materials
+#    provided with the distribution.
+#  * Neither the name of the LLNS/LLNL nor the names of its contributors may be used to endorse
+#    or promote products derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+# LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#################################################################################################
+
+#
+# LX_FIND_MPI()
+#  ------------------------------------------------------------------------
+# This macro finds an MPI compiler and extracts includes and libraries from
+# it for use in automake projects.  The script exports the following variables:
+#
+# AC_DEFINE variables:
+#     HAVE_MPI         AC_DEFINE'd to 1 if we found MPI
+#
+# AC_SUBST variables:
+#     MPICC            Name of MPI compiler
+#     MPI_CFLAGS       Includes and defines for MPI C compilation
+#     MPI_CLDFLAGS     Libraries and library paths for linking MPI C programs
+#
+#     MPICXX           Name of MPI C++ compiler
+#     MPI_CXXFLAGS     Includes and defines for MPI C++ compilation
+#     MPI_CXXLDFLAGS   Libraries and library paths for linking MPI C++ programs
+#
+#     MPIF77           Name of MPI Fortran 77 compiler
+#     MPI_F77FLAGS     Includes and defines for MPI Fortran 77 compilation
+#     MPI_F77LDFLAGS   Libraries and library paths for linking MPI Fortran 77 programs
+#
+#     MPIFC            Name of MPI Fortran compiler
+#     MPI_FFLAGS       Includes and defines for MPI Fortran compilation
+#     MPI_FLDFLAGS     Libraries and library paths for linking MPI Fortran programs
+#
+# Shell variables output by this macro:
+#     have_C_mpi       'yes' if we found MPI for C, 'no' otherwise
+#     have_CXX_mpi     'yes' if we found MPI for C++, 'no' otherwise
+#     have_F77_mpi     'yes' if we found MPI for F77, 'no' otherwise
+#     have_F_mpi       'yes' if we found MPI for Fortran, 'no' otherwise
+#
+AC_DEFUN([LX_FIND_MPI],
+[
+     AC_LANG_CASE(
+     [C], [
+         AC_REQUIRE([AC_PROG_CC])
+         if [[ ! -z "$MPICC" ]]; then
+             LX_QUERY_MPI_COMPILER(MPICC, [$MPICC], C)
+         else
+             LX_QUERY_MPI_COMPILER(MPICC, [mpicc mpiicc mpixlc mpipgcc], C)
+         fi
+     ],
+     [C++], [
+         AC_REQUIRE([AC_PROG_CXX])
+         if [[ ! -z "$MPICXX" ]]; then
+             LX_QUERY_MPI_COMPILER(MPICXX, [$MPICXX], CXX)
+         else
+             LX_QUERY_MPI_COMPILER(MPICXX, [mpicxx mpiCC mpic++ mpig++ mpiicpc mpipgCC mpixlC], CXX)
+         fi
+     ],
+     [F77], [
+         AC_REQUIRE([AC_PROG_F77])
+         if [[ ! -z "$MPIF77" ]]; then
+             LX_QUERY_MPI_COMPILER(MPIF77, [$MPIF77], F77)
+         else
+             LX_QUERY_MPI_COMPILER(MPIF77, [mpif77 mpiifort mpixlf77 mpixlf77_r], F77)
+         fi
+     ],
+     [Fortran], [
+         AC_REQUIRE([AC_PROG_FC])
+         if [[ ! -z "$MPIFC" ]]; then
+             LX_QUERY_MPI_COMPILER(MPIFC, [$MPIFC], F)
+         else
+             mpi_default_fc="mpif95 mpif90 mpigfortran mpif2003"
+             mpi_intel_fc="mpiifort"
+             mpi_xl_fc="mpixlf95 mpixlf95_r mpixlf90 mpixlf90_r mpixlf2003 mpixlf2003_r"
+             mpi_pg_fc="mpipgf95 mpipgf90"
+             LX_QUERY_MPI_COMPILER(MPIFC, [$mpi_default_fc $mpi_intel_fc $mpi_xl_fc $mpi_pg_fc], F)
+         fi
+     ])
+])
+
+
+#
+# LX_QUERY_MPI_COMPILER([compiler-var-name], [compiler-names], [output-var-prefix])
+#  ------------------------------------------------------------------------
+# AC_SUBST variables:
+#     MPI_<prefix>FLAGS       Includes and defines for MPI compilation
+#     MPI_<prefix>LDFLAGS     Libraries and library paths for linking MPI C programs
+#
+# Shell variables output by this macro:
+#     found_mpi_flags         'yes' if we were able to get flags, 'no' otherwise
+#
+AC_DEFUN([LX_QUERY_MPI_COMPILER],
+[
+     # Try to find a working MPI compiler from the supplied names
+     AC_PATH_PROGS($1, [$2], [not-found])
+
+     # Figure out what the compiler responds to to get it to show us the compile
+     # and link lines.  After this part of the macro, we'll have a valid
+     # lx_mpi_command_line
+     printf "checking whether $$1 responds to '-showme:compile'... "
+     lx_mpi_compile_line=`$$1 -showme:compile 2>/dev/null`
+     if [[ "$?" -eq 0 ]]; then
+         echo yes
+         lx_mpi_link_line=`$$1 -showme:link 2>/dev/null`
+     else
+         echo no
+         printf "checking whether $$1 responds to '-showme'... "
+         lx_mpi_command_line=`$$1 -showme 2>/dev/null`
+         if [[ "$?" -ne 0 ]]; then
+             echo no
+             printf "checking whether $$1 responds to '-compile-info'... "
+             lx_mpi_compile_line=`$$1 -compile-info 2>/dev/null`
+             if [[ "$?" -eq 0 ]]; then
+                 echo yes
+                 lx_mpi_link_line=`$$1 -link-info 2>/dev/null`
+             else
+                 echo no
+                 printf "checking whether $$1 responds to '-show'... "
+                 lx_mpi_command_line=`$$1 -show 2>/dev/null`
+                 if [[ "$?" -eq 0 ]]; then
+                     echo yes
+                 else
+                     echo no
+                 fi
+             fi
+         else
+             echo yes
+         fi
+     fi
+
+     if [[ ! -z "$lx_mpi_compile_line" -a ! -z "$lx_mpi_link_line" ]]; then
+         lx_mpi_command_line="$lx_mpi_compile_line $lx_mpi_link_line"
+     fi
+
+     if [[ ! -z "$lx_mpi_command_line" ]]; then
+         # Now extract the different parts of the MPI command line.  Do these separately in case we need to
+         # parse them all out in future versions of this macro.
+         lx_mpi_defines=`    echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-D\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
+         lx_mpi_includes=`   echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-I\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
+         lx_mpi_link_paths=` echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-L\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
+         lx_mpi_libs=`       echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-l\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
+         lx_mpi_link_args=`  echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-Wl,\([[^\"[:space:]]]\+\|\"[[^\"[:space:]]]\+\"\)'`
+
+         # Create variables and clean up newlines and multiple spaces
+         MPI_$3FLAGS="$lx_mpi_defines $lx_mpi_includes"
+         MPI_$3LDFLAGS="$lx_mpi_link_paths $lx_mpi_libs $lx_mpi_link_args"
+         MPI_$3FLAGS=`  echo "$MPI_$3FLAGS"   | tr '\n' ' ' | sed 's/^[[ \t]]*//;s/[[ \t]]*$//' | sed 's/  +/ /g'`
+         MPI_$3LDFLAGS=`echo "$MPI_$3LDFLAGS" | tr '\n' ' ' | sed 's/^[[ \t]]*//;s/[[ \t]]*$//' | sed 's/  +/ /g'`
+
+         OLD_CPPFLAGS=$CPPFLAGS
+         OLD_LIBS=$LIBS
+         CPPFLAGS=$MPI_$3FLAGS
+         LIBS=$MPI_$3LDFLAGS
+
+         AC_TRY_LINK([#include <mpi.h>],
+                     [int rank, size;
+                      MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+                      MPI_Comm_size(MPI_COMM_WORLD, &size);],
+                     [# Add a define for testing at compile time.
+                      AC_DEFINE([HAVE_MPI], [1], [Define to 1 if you have MPI libs and headers.])
+                      have_$3_mpi='yes'],
+                     [# zero out mpi flags so we don't link against the faulty library.
+                      MPI_$3FLAGS=""
+                      MPI_$3LDFLAGS=""
+                      have_$3_mpi='no'])
+
+         # AC_SUBST everything.
+         AC_SUBST($1)
+         AC_SUBST(MPI_$3FLAGS)
+         AC_SUBST(MPI_$3LDFLAGS)
+
+         LIBS=$OLD_LIBS
+         CPPFLAGS=$OLD_CPPFLAGS
+     else
+         echo Unable to find suitable MPI Compiler. Try setting $1.
+         have_$3_mpi='no'
+     fi
+])
diff --git a/prerequisites/Makefile.am b/prerequisites/Makefile.am
deleted file mode 100644
index 401817ae..00000000
--- a/prerequisites/Makefile.am
+++ /dev/null
@@ -1,38 +0,0 @@
-FFTFLAGS=$(filter-out -std=c++11, $(CXXFLAGS) )
-
-EIGENVER=3.2.8
-EIGEN=eigen$(EIGENVER)
-EIGENTAR=$(EIGEN).tar.bz2
-EIGENURL=https://bitbucket.org/eigen/eigen/get/$(EIGENVER).tar.bz2
-
-FFTWVER=3.3.4
-FFTW=fftw-$(FFTWVER)
-FFTWTAR=fftw-$(FFTWVER).tar.gz
-FFTWURL=http://www.fftw.org/$(FFTWTAR)
-
-all: Eigen FFTW headerlist
-
-$(top_srcdir)/prerequisites/$(EIGENTAR): 
-	curl -v $(EIGENURL) -o $(top_srcdir)/prerequisites/$(EIGENTAR)
-
-$(top_srcdir)/prerequisites/$(FFTWTAR): 
-	curl -v $(FFTWURL) -o $(top_srcdir)/prerequisites/$(FFTWTAR)
-
-Eigen:  $(top_srcdir)/prerequisites/$(EIGENTAR)
-	tar xvf $(top_srcdir)/prerequisites/$(EIGENTAR)
-	- rm -rf  $(top_srcdir)/lib/Eigen
-	mv eigen-eigen*/Eigen .
-	echo EFILES=`find Eigen -type f -name '*.h' ` > $(top_srcdir)/lib/Eigen.inc
-	mv Eigen $(top_srcdir)/lib/
-	touch Eigen
-
-FFTW: $(top_srcdir)/prerequisites/$(FFTWTAR)
-	tar xvf $(top_srcdir)/prerequisites/$(FFTWTAR)
-	cd $(FFTW) &&	./configure --prefix=@abs_top_builddir@/prerequisites/fftwinstall CFLAGS="$(FFTFLAGS)" CC=$(CC) LDFLAGS="$(LDFLAGS)" && make all install
-	cp -pr fftwinstall/include/fftw3.h ../include/Grid/
-	cp -pr fftwinstall/lib/libfftw3.a  ../lib/
-	touch FFTW
-
-headerlist:
-	cd $(top_srcdir) && ./scripts/filelist
-	touch headerlist
\ No newline at end of file
diff --git a/prerequisites/eigen3.2.8.tar.bz2 b/prerequisites/eigen3.2.8.tar.bz2
deleted file mode 100644
index 7ad38beadb31990f10f97fad57872471d56f80b9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1161201
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%0Ac
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%0DT|3=eT_)2egOzb?((4H<<uA2z`CO
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%0DgQHpdw
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

diff --git a/prerequisites/eigenIGENVER.tar.bz2 b/prerequisites/eigenIGENVER.tar.bz2
deleted file mode 100644
index 7ad38beadb31990f10f97fad57872471d56f80b9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1161201
zcmV)GK)%01T4*^jL0KkKSq58kzyqvv|NsC0|NsC0|NsC0|NsC0|Nq!@MMocKC}fId
zEZ|5mVhCdxx$k}Rc6SS_-*=bVDm(AF-+X(s-p_mP4?f>+_uKDoIM1_}W~H`XPq@Wy
z-97iY-)+Iv`h9P{`<{5?<-X4EeY(X`x=cQtUrX1$=CCL?cY6-jy@L&Q@M-PduXodT
zv(`WX=&O6~wfDw&_u9hub-j%Md9=M&=Y8kb7r+(ozB|xp107azU9S6pZ)<to0Yz!k
zp+P{eZtq=EhfCMo54-NJu@&>(xvuwoA47fhtv<J~FK>s~A5`YYrS$2*Zes1u+=nf`
z-Rr)4T+?m!M}6OOcJa^#+eX-D&%3~gAw?(^R7e0)s(_$`I&Vy>9w)oId(*DeH=exj
z13&{n0jdmu&?=MxMGBw+plH#}m$#H2?f^Qysh}jFR94u52%r=jU?R3LKmeeWqd>^D
zVYbqhK%%Hy7_-Bi4z-{HZ9q@}(U6o-rAnkFB0`W-fDuXsc4$@adq-~Z(H~jR>#Fap
z0CgcDrY+xkV(Z?!#kuZq0)2PD2X}V)(ywRJrPc0FG!iwWM0}W^Ztk5H*SI=nXLoMM
z=ntR{fCGpC3)lb$6#zN_1p`36b@$%^(9=R@#kM^Q>vU9h41putY;P;?L+AkSm#*!b
zv$XlL-f5Je2R2Gs0MJw_1@ByY*r237!JxioQl8tpt$~mLIRF42tjG_oeP9HHst<hm
zpx<tK(|6C8uYF;CX!84#&G#B|P&D?z*SUg^pn3pMPy>D3^gHg|9#QuA=-Ua{Y-IcI
z67PGDQ|x`-b={HCQ8nLpdQkUlvu)iA+4MU1*w(u4)b5G)DB8!o-0!`<?e6i_zTxSw
zN)nJuV{NWjyzh5~-!^(GAWP);H2UxY`^}y^!y+5sIokBsd#`%?cd_f+=d-@N-23d+
z_g`^+_U~OD$|(!h*qV9oKKtaJO^-G)XnpOr>eM%rcic7V_5-1IUUPx;2KHUtx~JB=
ztLfib_osK=-(l~!eBPJXw-0Wz-Wa~PE@#;p-Jd3RyPJ1wmD<hT`@Z^X?{{wJX?S*a
z<GZAWnq%K@zI^Y!cPEwVDeddn`uaQXuFp52_RlTuH+o&}vip0-j!xIjyss|vkhi<-
z_jWtqO?`WJcX@}o>iKs&y4RGx@4Nu>HLX{b*Uk#g-o2%dwr_8^ZFhY-pItrD>X~lt
z>Fv*Xvwe-Td7aqPyJ~GBGTQBzEv)lt_r5;2yQ=cL=ihI+-l-va_t@8~?TL2)?#@u+
zy}q7r4*M6o?{8U8R@CY*z2}>G_3MlaU|P0XH_y5b_5fTC36`%Q``PLbcK5o9>Tj`k
z-12rbm)JYr(~axi_sIHJeQJ7py~bs&s1EG!ZSQATFaSCLZkM`1tf{BA<x;II@4oxV
zZI?yZ2WQKjuHCKn^;|D**El`x-Q4yReNus;*|pt^>q$Ux_US-%Lq?BHJ!n^|YeQ58
z1CVI+Jv0CS9oVjb=^o+U`@6C;GXq}9(ht1!=JT$d_hsxp!j(WvL#;mUk{aIbaN1Mj
zrs&@Hy7Ari_pV^&gLAC2TjRojtpEpxUbg7&&ph3@P*d0*YEIsF-KR2FSn6BXae4<<
z`+(3LzVC|K?|Jk-d)@2Zq-_^Xqr0tUQ(OSX(i8^Ss|*dBAO?MRu=NpBDQ>~rb{E^;
z`hE8K_inwkqZIqwqu*U!qY|`>?;s+BcYxY3=yliAxWE7aBU-cqm{xmE&duGfy}j&t
z00*ylv)J8z=Xan1_pvV0#Sc;t`*C|_Z&NnwMlRU^?9Xp`<CNe7eT}Rh@pjId%zFFo
z_m2AAcMQhswOu+5k2hV@$vR|J+q(+w&fRk38J_8Kt%l1ZvVwN#0V8c@k-qod^69>P
z&gL{z&;SE<mXqz?(c7!N^7LNOwo0W#WsOtq+}2A|CX7J~R(&dOYAd<md$X~os>rcI
zK~~jT^g6o;>t?mw^J?{>2-$nyd&WekyVJLurqBQY2><}~qP+kB&;TAKmP^-k)Ezx{
zshqb>efIi1C=a)Hd&6000g-((-W=dGpfL^)RHE|$>!kprp~yM`r(FOWu}9b6Z?gaZ
z0H<k%%zdDCIy-JY=eOL^$Ue*vG_SeZcRkLY?(*^hr@g~EQR}xk6j`nw?ZZ4>IPbH%
zZEU^h2J=Q!13&-(0002dpbnO0cFhYiX7p{|u;#vi_rdqR_#Iwu>)&|j4@PWKS@*jO
z>rw#{p1!Et02R=A-t8NCpk{7elmoUIQEj#9*J90LnYNT@ZTH^g?VIV#n)ZF~b`L=N
z-g>Vc87yzU;mP-K2hi<{wu90_`{e)t0oH@XuR8DmK~ktw?3e&4-!Rt%ricgx1keNk
zOn?Cz1jq)7lT8|F3{>7z4FD<PPtu!E00000005ALLIfZ{f?+ffiKYsAYI>)Vo@p7P
zY2=g22dL9P&;~#n0000000E#9H6%nPiK7B&8ca-s)Wp%IhN-a7G-zp|q{Tc_GHHaK
z&;>lBO&T!`4H`5WXlb<vsPt+GNl6eOnomsyJVPm_sraYro>Fa0Xlfpl)Y>Pg&>A#o
z13&;813&-(00000LZT251keelm`wl)pqgmYOqz_7X^7QNZB3;o>Yu84Ps(DSst-*z
zs1MZu0002c1JnS8A|R#&3K%MWr>beR!$c?QX*9-~RP{efeoQ8*`lsrT^(Zv`OsDEi
z8ZoHyjUK0@00000002K%H9VUiu%CwJ1yd6;K~OUv!%b2afu$k!^vzGpPrZ!S54HHU
zu0vV2-!C=E@;-y~xbOPjuOGPjna8hwe)Un;9JzJ><#un0f<I!Y;}kTMMH4Y!nN)M8
zXo8svm0!R`Qk4-OV2FO<1N_>;L-;>``@Qo11AoE%JW|Q`R;KPfXuW1++ty6hIN_<f
ztf?~#)}wh^lJk4L<CeF$$E&>6n$cU`Wf^upKiUra=5c5Ney9g3NJKC|5)T*vOu(R-
zUZg>K6-EIZCnZr?1G!JOyVIfgo-U}ZQ)Uj|iM=^@tv%G-b-AcJCaY1hRMfnB$5!=r
zZ(7z}>uzg&*6w*NMyq|hDt1*E$r*1JLn%fOS_o(bX#rA%283D>Qh*Ya1|}tt7DP%w
z7LaHJN>D&4R4EXlX;2X<8fl<K5TGRie}e$qC?GHiKoEkWK&mjx6e$7(Bmy~*Q1!7e
znt@HaoD>rjAr~c0`Df?<Ugi_|GmObeU(r*>4c2tPnn!i^!I`e;+*#`I^gS(bvfa&)
zZr4^?Ve(UJZU@oU-@4M%{VP=#n_M0mNL~&?YH=&)Qf2>rpjC3IK<N-rnSGPvAJCr*
z`u~XEQ?_IWvoO2hRUWYFhoNyM`Q<uJzIXdxvGeWdogS=I27<S~b-TO5LrPQ9>*E8X
zbCHr^4>vKY-Y!UPG!Z~k&GY)Au|DrlOt)X~!ja_Wx%tY(YEh2UV=6HH7IasT9ZMmI
zd*NHy?=idBJkdo+n_7*LtsMWx-fIVE5LHLB+v3CZQH;%Iqfwnk!I1=On<6HIZM;hx
zX|sBaF~DqR%B-}D1qjCGJ+P*ng?X^!ux{he6n$QZpHO9pzPzOdhRwn%ias1|_#h-t
zE~xEG-@i`@DdT-MEuQalgEX`K<Z<)yK0am&DfOI17s~<gB4TMGNDqN$e!k{-^m6nO
z#qGzgOV>vfXk9qH?qL={^)uTNVrF+aRv;R+|0g+aWBw%5LO!nBFl`Y9Tf6rO{>c#1
zMDmk@1BUEYWIL;D@&0N++Q@Y`I2T2Gwl>on63`X{82q`xh)Q**MH-`}JMwMj(CW*H
z4<R*45fy`ED34(bny2@A9BLouKy_QszXjLrP>_&kV0$hXzx-0@`T8Gce&O;D1+d&1
zQII($yCP_4(}}1x`dU;Dv66<JA1@W#T&i05%>SYJWoTo5yk6`r``)(iIjzKPh<Koz
z1sI*fFY8os^M={><4GgLI$rEV8)+MGJ2q56bZqF}TenJ#v{h2O!z-DZPSmCZ({2j8
zEp~7D{RwUM<4<bWhQSV;NX@iWj{6S4I)w}dX-2Esk(a`QZt7FELYiw-<xmjYdTD&9
z+0<<2vh~$jqp2RC9+)<P$Oq0Z4vv&5elzCD(e3LUY<Fsa)y+ayq6pn(#*ItFzrAq=
zPZPl8O~wtTt~{IhK(icfGTt!9ZuvJ`&-pcU`?b2a^q)LmT7kcBZuy5<1=B|6>UoB*
zhE9GQI8#=W6!mq~B=qQf+b6}O)jId5_*46yj*e=(`aIQXG+H?*Oq+LHB98yg?LYd^
z<fbvh6T&(&_FKs6mX9Qu^L0x3NgX8*GzK{H-_AdG4NJJ=XRS;975`Uu-bUlHsY=~j
z@Le!$RMs;ZE}?IvykQzm8*2BNPNwNxsu0*+ZdTc0M(CoPjke!TBP`t@ZH+6D4YoF=
z59Xx|XjODmPF*=E@pYCK%vL7bMo|nTiz!oKZ78>`SlhkpWXrsWc7>Q7H?^S(Jm5FR
zb7UM}M1lGeYIkQjM|m-w#x=Yj4|dH2Usm@EqH&g~zi!s-QdiCoE<NE9wgX^BhcxMo
zuAN@|f&GX#f3fJM{u*RGou9Ri%GpkSe(2S?r^r&<(V^_=474h%rymWEw2e`q^>e}J
zXgOp1FZ&;lpYnJ7TMma8R;G}v`*V;-IT=|;?|#*`PFjX9A750&L{t4S^G2Pn?1{98
zY?oIpSm<-7o)eCTJB`PZ(;VN+*TG8<tuWU>G|-au$07zGp!FcgPHj%IF?_}(VQ#o_
zu*QM3f1F@ypb_ZXl>x*a$?IrbOIivKAVW_Z51)Qsiee_AIJ2)BQjVSv-M)?F^O?u(
zVbGoSPy1ouvQJ(z+)&b_s^KL0JfnwR2mQECxab`Am}bAH4vO^J@K>TAE_OK-l}frd
z)5{GeXKiIy?!Fm%cK^xenc1hd)yt;_I}Vm@msb7&|IX%K?Hf9$wkYlq(Ine{9S7dm
zhiym2M3-FEs>T%l7XkkU$`*kf8)qDOLjj`7WCE9fARbdhOb4wkc<CZA)3Jp@Ce9T!
z6x6D!*FOUo2G?=cGC<KrQB9vub3W$!cJ4&Q)C`Ki%9o9M7Abn~h^it0(FlaJU{{rp
z%oYexHWZz`Lvt@4fovhn0x`O%iWnC>qbb#Z#-oe^Fz&&VsnE}Pb^F8$OG|mWUk=)1
zOhH7;DzbMJe(~|7qB1t}Fd+yu@G&xM8#g10rnxNbr3fNp+=(Cwrf=j-#3qF|9jMXe
zinAX)z!xL7%;ko-?PM_LYeid$5&W%a))DZ-hK3_q^~SC?6zXy-wtU{X;2LABZHeYx
zGkwih3xOt!;9!jrF|Q7<F+q$#iaT0uh6SlE@@A8q7`W_|5zDe;Sn2w0uKQ!*6OQSz
z^(fT}kMa4150~(YgK>}TDTOKAo3Ve1wNb_9bn|WgvvV17uQt2j`lw1rQ^_J}$Zsfg
znhpjj98habe&<ET<!ve~@%Zl0W))n!$wos?BbICjiuUc0vZSF}3|Tx-NfTrwNS7Xe
z_8d2T%FJwTFwgz+kbl~ER-aNkJ)q}bK?Y|A8jqI)G!+pMQqt1*D48Ho;?)o<9@W9z
zB<p{okIPy<j-3u7hEd_SZS=~8yXUMS!bw8|`p`mP-1&x8IZ|P_PN>X5kwF4XoI-V@
z?ui%^Q-$HiV8h>w{NF?Ow!aZ_brPUXx}pv`UkyvfJUfoF^u`eEL{#cS&N-e(taUm7
z#j*UP4<}T6C2_I%y^NmhyclrMLO|O|ykLLXR15~qMGfj7p9o?b58`p=r6J-<pc`)>
zqQ(+n!x-Zw8Wd%%10X{XNS%Sptk;3+-tuB&_My4orI)Wnaxt=dIfb!36_np{Vq)+R
zI9hjJ@UlD*-Ea*|r^CM<Ja!JzxJbvGwOrjYOb+rdqrUde`)K(}_D`zA#!<T}EQBGG
zbRCI0<~H16x}c$^HS?mV?{QEukdc>=p|HYj*Xx;Cmq{CF&V>ucz1Jx$-^$V3n&**z
z9SgG)d?y+kwHb{Z;3gk&Yps)$`0M>O=wj3vBqZG|<Df{AGC%^K6-pM2V`-}jjWGQz
zrE}3$UiVdc%8PJq2ROtUu`{u*AL*PX`7tp;>MSyCR;Yobrm88u?tH=JZ*$ITyi=NV
z&f@|$H~0pWUN|teaQJ+#TD&+$^(YFJwyrdUm7UVjvFF#}<K3*dPrLoA40L4Mx4PkK
zdqio_ve>aey<H)-ZWi*SiIo0XgUn2<-ch%qgKJx`#ddxTe{(lv8zAeY&YX71`q`bM
zDw}b}7}ECM6dHgzR3);|GR`q$M$Yj|4d~7LF4s~jQnph?6jAVm^{^cjYX`hsFveq9
zWAS_$ALW$l4M^o`cXRXdu(oN8`)O;<X$OXY(?b}WNCq>^A=(fKj%<MZlDQEuK%PC!
zgRWyTM9g>Nm|YkXb#VRMHZ^?UMj(hNcN^}DwNRKW6%BZH6w3jkHgo#FXSrvuyz}Y$
z7hZEX%;bI4O$Ld{5+){!pr`Z3WMF`ySem~^bQClNBneVfO;IuAxT+<H6Q@cA2@&@Y
zW>ON0l9(2$D5YeGrbGBi9TilVodH!rQR-V@DLBwz{Sm|^RSe8f5==}DC}t4i3H*h^
zQKY3bD1H(qfK4cQ0#F0nAP1^8kgd`cp&__|Hh^4`2h|I!W(klrHNw6);c|FKJoEWH
z{5`)W=+4}4H7d^4p=5iwxjcS-nANY#%=u`^FS-xFBg31Q4{pV$$>cE4Zl}*3BAp~U
zNihEj5Baf!I$#r6PZR=qVhDam)^0k!fnQ;~z@K_S;NWXJML9}B!{$`sWCS!kEN$qz
z@bdLdIQ(^0fOu?Jaf}c9ZU=Uu#rJpZmQHfyhGGyQ!DGAFa4JNbE6R9pITa{%$%}@C
zIC?(GbI#5acVPqO3UP?^h8S~J63x#4PJ@m%b__Z`(Dtvw3`s3md0~S@RK6%+FnAwX
zvD%_yu4C`#QvKzEFis}yZXZL)Gk4s7QH-pb!ao5*E$AJ+EteRxNRwbW>n8JasodYw
zDQv?r+JJ0SI`j=wQsIgK)MUm35SWM8*QjX$TD-4?%Xx@cqw1Y4VEc$Qggo)nIjRVb
z8(DbYkMMfgX||ppvo2iNWjHqE?tb4@q|(#>S%erjw9vq6$btRscxE0AFFTDecb__f
zwp=NZkv3ELIy@&8gG@W~MPBNY!gxmKFTck;UJ?5^%T*D37O1Q0v9NkW-Ya=tnd$G|
zw_?_IB>O53ktC_uIAGx@pJqmguoD}xvYJXQFD<xtb55dLr0!B-XH245q#4uBU2wZ4
z23%6zA{JRmJb{(W#6F`@_IBWq`azN)AeIOi(BR^vM32!j$$M%Hp%AT5Q!&mSvhcud
zYLccycwk99Mpc+;q+t#r$>pS;pNtwhAcOFZfexrYHH+g0Ao6IjjBV48F>4V9%@$!y
zw$p_kD4Po`ryS~RtilkJ9a8op3BJAepPlf-zYt?hq2T$GmW~e=Hz&3OqM>{HwK}9}
zJDD*)(Ag~gPonE%lV$Svevdk*(__rPmQS`r8Y7!|Z>h@EMe83!TTkwPwz&Si{M%uJ
zS)_ED;AE}2kx1pF>%nlxRFtG>%!Nxq8jNKgju}K+;<bw_WK^J_!}PyZk5*#}R{KJa
z%>qIKj3zqS5L`%-DbiS~4aGZXfzH!`sSR*FNxc+y0ZF*CIiwF9WnsPGgkM8jU~ung
zeliRj0XGfYd=QrphgD8JmzFGU#pJzpkU%)lw^k7xELWDOQV~#U6#t{JL+sb-egXd5
zfyyW?!Wz<AsBB`rd(SF5V|31*p{p1H@>P-iz6S6s+<HaB<JukR)o9qhbSyZ+g@BMt
z2Ov<3!hIJmGa4B8rhY-!l$#0v=dJyY6Jw`6F_Ybs55nCAJGg>%Y^>yhO-s6!(^iaM
z^^jd5o!U7-ecb=gl<h_A^RtDVG&um*;^Lii4P_A)HAh%eR-;@{G}Xr}M3_kZh|UT;
zhEuLe$>MOXFHPYlZ`<<Y)9N(xUnBEA4@+R=HZqwTQdv{U-k+DfFD7-)^dI8y?|vL3
zm$T0<f0s(<;(GPoY`r+(q>OIo1i=^G`R41AI5EYKk%VtJH(!=Mh}5;vK79FYZ7Non
zl)NB48Gp&92W(+0Y8a=>VnQuvu66YA%?r1y9_--FPNZ!Mkm4&Ig1^N-jCRjGrsbIJ
zm($|AZq40vb3sYG|DDn8mXDDjMRX>L^GAjh(7-W(e8!jJG7k2>3$fp`9z`9$*6OF^
z&AnNc@5{!4uv82szh|v{cfWd&J_px-J^nrp?+clVcOrr)o~Z^B$uS^B)KE+nrv~f@
zD3-#_GF?=*HavwiQwm}j*Dg^Uh5t|AL2NG$DD5W+xj1v8ep7-D)X1bjL~ieuIFscO
z_o;H;_0qCmnQdXH-TFBoO>{oFWk{tO&o5JFEwxo#gwjbR2kPA$K)WESj3t~YI%_Bx
zY}QGk677M~8h?GK>+T5Jt1Zt}EVuioi(he^vo`}8NO>TS-!Nn2u?++@R6tSY*vfP`
zfd3n#`?H$1njgcSVkdvpgq3}68;8Xnm~>o!56<6nog*E<jT?d#O$oYbBlh=SZ-LiI
zy?0-aJa*9$<W*_lktOA!q;b&JqOF4MExF+9e7I0Fh3Ha>6xn}#vQ$4mSxieu&}sD*
zRi{UDDrPg=@Lwb7)@pn(&&zwy@NY{~FuQQx+qB{6cJ8L#cI3p@Dr)%p9GsJQbHT4F
zUG;l89I33M(0Cg1#Sg``J5V+xx_9H+k6(O89ilxnX?mC7+g5hNozGV`GlpwX7>0+y
z_~;x60|`U+AV=0j-&Df9b0$zBvLH<s5q@Eoa{>py&?r=F@%TsjS9gAS{Uu$c)WK;(
zUHuA*S8+!@?Tw`>s=^)b$I)3A;8qgvJMMjNDw!9zR%IJ=wy4_IW)&sbhv!|>wONN|
z&5$e{&mZ9#%J<JaeNyMbxYAeMzI*5V-|W*ZEf(J%J!LR=^bDU_R_TP!tLT}_$;#2g
zs2|qq!OyQc73(=*M2|ODrwYz!G)()P6gp^LcYAZr+$q^w)g(1*Qz=gw`|y8eoxis%
zC8y)}VbZP@7}!9X8QI}DfsIPt1K>Vh*NrB(sy-Si*{Q<4RKcO4Bq1G_I4#QbqGC?v
ztU8mrW2VmEqD~*JQ8S=*97L><^LKsC*AB-dAy}E+KLA=e#QSB2KMDiOo>E6Cs?t);
z#S_+1%TJOw;#sQ-kWJuk(3nY?A(9dgmA#0jMy^8V-woZ#`=;jaTid*L-3@gOhurLF
zfR?p)0N*aiH0}tAZvu(Aeo7JfA#i}q4FmJsa7*$=9dX4XJDoD+z9ZoPZXC`ubX8is
zJw9#uU^_7@`yanm#5VsMhjtv+Q~~NzZL{&RG&6Um7_7{}lu<wH;~&7OanpW-YaZb=
zkYL%=Mo(V;Tb?W7G*No-xYI%mC##8$FhLRzNh0t+3pMxJ0n}^so+_W=ly<TkVJ+&C
zF3~LnX|(DjQ}O9aM~FuAUiDYaH{}uA0>+zV+}#2B^$*5V;~^WsIJPmBHT7g@w4`rd
zyPwI*{TcC4f9m;BcMZZG<yTrX-$5O;2im;`G<{!DjK_q~hvNpMfrv_Z`L)XI7wxg0
zA-yr9j3p#NB%cVx6g+TP?JnyNV-sj9N_~IRxI17|K8!F%9$F@>XEs_Hh?OWjkkO@+
z^1-5@ssn;UA%ep$nWmzXiN+}3EzZprX{OO1_j*MK4}gk-fQiu|M4{}kEl^NWWsi0R
zu%hWFM55X+0?`UtNwxH8K^B~Caiaz?`+R8G`-#J-Xdzs_f7t1Nf3AM}To0cyOHGY0
z$>US1dsZ^0kKd|0+Ty8mfY_GN_cFl7Mlfh36jBWpe0KP3zH1tYCJ2b~-Wmchw0q-C
zSe@wF#F!$bh?<~jFGGhUK~z-4#Zh)K6%V);L-{ruL+6ivH8l)WZNqD+nGr-@dE4d*
ze@;Qh9=YadGBe|`E6}<hA>si#6w;iX@gE;H6)>C>@<MWhbel$GDv*kSr--C73QqBm
z)l3Zt9iR-PF*YyxkYFHRhsz7(qhg;(<3}w0F_G=;NST+v(xLJHzZ=itAMJl^rKGJb
zzm}xsues}cP4V_QNODf>ghGBh+tl74pU+|0?P-hZalH(Huee#rq~xTdwfz&^&(?rF
zZQ|b6#Ld5BQ}g+nZN-yWw>N4=p0eHDvXK9uQNLRgLJ(ruSDBlB*^HD`V7Z*X<S0m|
z_yPnqA;Sl6in8Soz5{dyMsExT6o8;%CSeVd^8z>0TBW?|X3DJo^idxsPj%ArvE_Cs
zgsHCUU05)}9eMQstLez5#~13mG0!}${9fpiuRLqp=T*FyQAHnPj?`e!a7h^>Pc`rI
zzCT3%RxR-G&Oc@0dhIV%hv(?wlXUel@866^Af07Ll24inFE3`3{{$(_biCw!b!IEl
zFp80iKK+CFBR~|;6e&siU<{#LL7h6`plC@t*g=F3Sk+XK`ZL}4&j&}{>w1MfLrFkM
z5;7e1UFeZV388dOml^lOadvr4Q}*t=Z<vI4?%SEyAK}@4f6e3ij-QJ;-UsvJKasve
z>PPdkC-6T-0X7x~*`{Bm@IJw@_79%$CpDb%okPjjcS*CiV?pO@O7{LtKCe#43+ui=
zpXfS2llQ$nRCBCY?E48k$UrB~NQbIbe@YUl9{5o@R0I5fNPtunocJLI--q!&(tqHj
zVDtJqu=tnXA9jq;0uv-63TBxKq^5#`hM<aSqN0mVUCm(S@53G5;{3n3AQ{`7<~#pQ
zh$Jus$2-Jpi}lr_Cnsm*=i~E?0oNP(IM2ej!hd>b&Dx0bpt5T#D#}pJthoAR2=!y>
zn7|tA^u4}GGWnJP!k(WmSJ0Z@bOysd2M09N9lhuKwf-tmM{qYrL6+Ck%`xo0ztO7d
zm_xtV5%d1u?H77FzHPr>k8LlxnV9IsnKPC^eQW4>Ml58|d?Co9fZ8jy4u|!<c`5$q
z=lAUPIFD9$^?IDazw1mE(B(nQ7$7}Kj8iA|PHewRvu6X4oOwKUvL!hc#C=S(ZqLcb
zKTsI~k&u2=@$DbOEi^CZ2=h$k&$nz!uy9!JkyVlN?vK}>HSyz+-4WyE%;J8&e~+u%
z*tOmE^4I#dZ;B*v!&T>eX7cd2lHCN;Zj3N5oo$20G+5e*{vVF@6)0hXRF4pEm;VjT
zlYH{l{8l@k2C`w9yEL7bL}@3ooZ~y3<w{_|V%xaK=d;$`XG``=O1f4IaqIa{W@R{M
zemb0KpB*qX<qCUaT1s3yX`j(fuf=bK5BKT1LrF6Q+5W`KbIREDxgMM^Q?+l7U4Gmt
zna%57nqe+t>Xmkre@;)?o8YrTUc4vjmvmnFVVcf4elG>SSO`obrkL%#$w|dht5{Mh
zVblXP6AZ|f`eC+SX<-v`d#3(wbDwCsDx}udlTw0fX#Q;n+PCiVy(iXqcIaW$mYEmB
z30~Z0ZH`$C--;QTzC-}%0AGu<reliqA`^aE_36idZtc4G^$<=KFyr4cSHoEGx%}S~
zq*d4+X|d0LH#0lP<*aMZvU%rO&|ACIq*Q;g&gotZB2dnTs%3+y(Y*b7@in4BkzAgd
za^IPq?tVgJT#A1;fn0B0{Bzwpax${IA86kp)7A8o_EI)&|Hz#)B!tw?&sAI&Nhn#Z
zpQlpeI{0qp9R|LL#2A!Z5C9&qNe3je18~OqdN!8jqw`+XE*k2_^`QNv9=X2dAYlxM
ze)dhqV|GnTF%jK9k|W2BU2qx^U@%^c>^C1Kl-!HWuqi25m}oQ~w|+=Ch*p>3kTMj_
zLo$;FWH@x%XID;%jYx=<v*DvX$Qjxji`&l+?}wJdvy*gI2E=2yjP}NvoJvi#*b=XX
zASrE_<Ili>j6-dgB!Lr3lBFyust8EdHa_U!xFRD4!}tC@SGFG>o>Uq_Z0^s01yU|m
zDaF&6G#XOWIvC}MdO3zdi0>&mIl5Yp&ncR8;qQuCL-s3O`ln7y3{^Q8EOC;rbjLAL
zt$ZWTh84}sA{L5oYuJo)#-FOEdj}39d3wE;^XIxBcg>ddEwpA1`C5HzV_}yZ`1N0R
zDpP;2K1j`-bi*D|5>XKTb$@@ljcTAqhQv0Hq>J&v%F3hKBL)Qnj9!?C6eErYR7Cy<
zmQ7?&k}SpugssMP&NTL5*^!WqXPue-Mlnv{Hxn>4jX_f^OcF%_P)h`oM?8Va-e987
zUPBVJg;M$@aNj?M1@9b`hAD|4liL)0oM&mF{F=b{$+Eh{@3FlfBZ8ZiJNdOh$e0HB
znmp1egFTs{L)R%l?~@?|m|_q&ARJqle}(`|m-nPSL*Cz4zcfCrG<UAzEmNvQhzeyk
z^>YaXMMP0W+vz?1-J<^MW%h#<%D3&<l7hZI9l=Zz)fA!hfYaG=58D`uqM!)(vWfzd
znkX8HNQgsH9gd95AF~z*W?){+367}Yms~OFU%}2ir}aPR`#(aZ=>MnBuAfJ<q=@mC
zv&65eQSrbA2@#<FQbHvdgdzi70&r-^?WRO@ng2Ee45FZbdCK^JPbOS^uzw(Xe@C=V
z>#?_PyN{BXvrNk~y54KOGL}-D{Lnz`;3YIkGX5q;X8Ni2A?v@E31ma>LJ&qJ8bV1t
zYNG-IfFBpPY$EF#BtX$X49LL(00JL&5l-1hj3%(E9bWtf!78ZfDnz9z*1-L}eP4b)
zoA2)9`~CJUTGoH3?~Hn84dR)GW;H+zGayXE4gNR<Jksd^x&)vYmGPcDC?~R25qC-g
zA>km?K#C5`h(B~F2z+<t^<m-c{;ws*(D>qvAJXZQoMKJ4fT`Qt@#F<S>68=C{|`3p
z-F;h-5HkusDFhMdWJKwo%OIP+i{r`DbbnXL*VD~*?#@FUnrQ(1K5QtymOuw-M@->7
zd-piVGz}>24*wny4{-?S5`;uZF(E-Dr<33KWC79*f1tqS;$AB$m>oty&2z)#MDd}7
zH%`z#SFOhIh0+rT12#bJU8xR9`?gyo;zNflpvZWI41uITq-ax#LG!W~+c<bII}W6o
zkLTRy{BG<`8^?cw`9DMapC_RGzJG+M-vnJ^$B2H%9SZxP#4m)Q-@f^LyK1}w6XDBD
zjD(Zx-GPSvx6R*)J|3PpnGLRj_<Cf?PlYKW6o~GFlO_o?3AsmI+V*jpbZ;<Yc}Qmk
zS1|bX<w7r0gABsZfJ+D4gz|qT0oH@<IT_rLNQfjqb`exfAP3SEq!Bg(QGERd00GvA
zw0DZ&BqWUFg*2yjQSg=0%ztdb>f{fzyNHS$R03i_@m<aIX?#(I`Q|wNr*ZMJnca_j
z5}heRgR}SY!!pj?VT6Q|RXZPaf!Q)_WU-BBt;UQ_m$dnMYqTijfx!Te&#wBQ?HJHZ
z-L~tjZlJYbL{P;=5KZH?L<YgQiuJqY=gYG#)r`s@b5~M{=H_v_0piRHq;iaqf+lSu
zmBAH7MO6p1&b$jlRvM{-h>nW^8TqF}KGQP^@9^Lm_5O&3T2fS^nv3Nx$zZe%0=71g
z1j4JaAbRtg=+F+xM9ZY5g$KG2-LX0RSR7FRAB24R42kK4L5LL&l^OumoC>Cd^&qD(
zp3<V46ex*NC@G|%(dva%(pdry$n#2<N3SpCIq}LUhVA+olk+hBx==WUzF{A|F{vYF
z6asWH_979)!vQ*2&)6|P>Np(^{rz=6df>knOal7<GjgMoZ_gjOzO1k)*y?t`FW=P6
zWl0-R`DqRPAFl$m%l1kJGH$Zwt!V%}og8(bOXpgqpYhZB&%pj4mEY*ZV?#_ozD7fL
z&&QVgssp&pJ530WKPdR~od%LQK_(!y)=xPM5%!_TndS#23}{j7htpb~pC-dA_P?)9
z^52}j)7nS!NSwXCTN*X@>G#Fk<jOr;-{>gL?*@{~;DfXCZ^wofNL)Bm?yTf?Zq`gQ
z3>OZfQf{c@x|{4~HG)PAADJ4VBMLOn;6AqCC+mncQO03b&IpuM@D8Y5#_TAWRD<|8
zW5q9v?DGBpA>*;>#^CLDdp?~c@|W4WDC%8jxJ{}ZZ(Lny_3C#`pi{(YI_ga5oJU@6
zVI?WlX4z;ZB`smP9&aJf3`riROn(*r)QuULF&-WFfSLDOO}2w@mHFot18o{EV<sQd
zkim0HPd|U(jBiVAJ=?}s<m8nOpGPG9FlqH;-?bJRi4#&s4^V9pXxs`I1sz$S$TJ3V
z&vsBYRljzYB+MXQiaTIF3|{ep<N7`nH~xm9^)o?(1D;JUR57^N%djr}P}p=sETKu*
z>AePoA>~sa^E`!ZJ$u4@+rF%&?`{8^IGCM&l3s7^l}_^3Qe>?5hv%u{N~yRiiXF#s
z&4_Bt>x|V24n#ye!2LzPHvbmg_D&nlKGD$G+05b<D;(w)!}8l<xfn3aH$#}+36x)l
z-eH!?olZE6ta!_Y#|OgK7Pw%<>8It@`bM8K(#e?z9JUraIUTCsCp1X(lUn%t<#N|r
zZb-XRh;FBgQ?=Ivy6g7e_A}}s;Xzb_z@a9SW}sn6<4CPL(;pXhoa|lHH>;-Wcg4wD
z<31SM1VbEfk943(Dv~+Y&22YnUmLVvA7(zlKHlZGaPnP78hNZR2wh;0K0bX7@xcc~
zn}oS-9Dlm|UG3B6?4+cVm(0yH^N@DOyC{*@IaGbo-5BoKjR|&2no*5NNX6aOp43Vt
zms`R!84n^3a&Na;8cG><Nz)MKVk78s1Y)qs*K^LLk24!@n?b&v__-Atnx5%5-3ORl
zX*|wrdc-@rXJUK!mB`EUIgKXFj=mcGUH>ykp}hgFju7t=+WYbG^YGI>+Xgsgf+xqf
zVsi?6ddKtP^K;s~Y}gzVdb|{Y4gDWic9Z!o?gsdd=scN3K|ZNKq*fRx7K$37URxRZ
zv@eF)5I+cdcwj$Eh{1vfgsSkB6LB@jfy*Jh{>_i;Lo<xpfOUtFoP@#w0w$1C#y_lX
zFep4AKuu~@29#41#m*G>p9iNp+3kecKTHXdbR?>FkUBg*oYz?s5<GB4#7yJ&TIIwi
zb^i{WC}_N{IoN?AIPL39Iu;Nj2*H1=IUjeRf+x^G&58ioF(l2R27J?;1I`!lKgxd*
z%qCRl?_jiIfS=Mo1qfU*B^ce#{yM+6Z4HhTBC=}vHHgiyH4z$wt$&9(-h-6+;z>ys
z8XX5Oo!YN;{O9~83pNKazAu9(EYYa)-|&vAW(Zb#wMiBtNbjvtboXb>h@;-iIVL1f
zKCbNdu#7q6g0=}C0~RnlFjMc8$~_P?&x~()p}1*7L_PEe+rJ?i?}M+W3|Fm_RF)9M
zlM~$I1EvI#n8&|!rFv5DsngWa`alr+rk^dl>>Cex`+Ly6gUUY1$x3j@bZ7@{l>8&2
zLv$TvHZe3y^s;e0)E|ZnM;|U9=ku4fYhz-;LziY_v`op94RGto<P7jXGx|3{Lx#T3
z_Q)-{zcXa)O6baqzoQ(c*DFB^V-Hj|L@?p<i{C?UH~2eG=V6#S`*+uGj!(0lP~_Iz
zz6!LNv1IblW8^>W@0oM7a;@jX?UUfh6C^QGrARt`t-ydgP?)=aHyy{CMwA$E{%@&m
z<A~IumiJ;)p#NmEQM<1QkXbuEPJN%Z&2yyK>FnyJ@@Bqc@gH^&j;3C1=Ze)Z=<WG(
zSAVzQe7>Fg^)~MM54>MNK9K2~mQTy(Z{jz7Jo6x@P42-bOr+!CMxdLb37;P*IQGxj
zSn+<YGM#M1bp9D|uV0Wb8IM$c2m_1>ucrv+RtqOeFVS+o^axYzK40xL$Y4MAy8#h-
zIzP%yTa7FTypGv0&uUM1vDRL0r?T?*`+u#Om~I}APpokaGKzub;DIqJfLG-HAM=(o
z^xW@gT)rDo68^lzU~}F=L=l9#@?@3-iESw05*_;S*ticII%q4xC_;c-#Ok{X#5gx8
zjBoc#K>lJFzet0GO5>Az0Y1&of2PbfC~wxV)8cw$)ZX-g4#G^q45&&fh`w!FL-2-^
ze*YrAL_B_}rda+QKcfF31dvQbx%;zYEOOufVbU-)tG|z%r(Ct<b9T-ggm6G$r6&nA
zJpdyOowsI+V4DM(t5oClWCvWV*N2G=yG#c@9*>;bKgsd~0lV{C^q@lP_ue~3Vbce4
zW)0|OV{!)aI^&8kT@QLO<+We1&&rK<1S4LBNj!Ug%zNnfpFYp*^3S%t|2#@uWsVqM
zAhK$%qWW~<&dt?!;!CKt!<lT8G3I<pc{V<{LRi78gFOs;ar!Z7vj1(z7>3gaFTu=r
z2ZK%A4v6gH8w~!R=nSeeS!$RU`}#G&M#uC~BvHyo33N(AE<Aj>wA$uN`flqU+%Peu
z@_aCr=4uP@{hD`m{&%pS8R;;BV)c0#?qZW+BQvgZ!++w*_)FP_00A_Y^?Y@lf%VIn
zt>MkM!Pp?w9ow3Zd)Zyxi6ayw`#2>`Y}#s{bH|>;tAh(5$(k6Dkc7!FtE~a}(YVF9
zyS*cKbk`lht92VQA3yI4FBoUM?S_fg(#=VfJrL<ulYte`<Bvt_t&YBKI@L)MYo<R@
zymD^^9){s^M(J*ik$neZSe$b)0i82&OwF?|vBTGljzbH?KHTjm&WJ<ej!ZP4ebE3N
zPj9z8&d<{iqNc6!PZM{DW2tBGq$%R}>bV5yIv`Vl%T7C_)nbfSbg{q50d?V#lpB>i
zNyqCmdR6$X4&k5jrRAc$sxG9nWnKr>{pjUxJsN82jm-i33{N*2-zwWf3yY&EQm^`>
zU>iy{Y{Ai-Y?|Ad!x=t?LLFm-GZZJK*h#dE%I9FhmQe^Ay^`MpqF=xi_z19oK!jFc
zL81$Dmgy~g+?=WjpU=6#gw{JmUI&o&Ba%{YN`?uBWW({I$FKMMUGel^n!2Tk>{`%h
z8n)>v*oYvQ;H26-(Ik=0BLkOJfwK!e5Zj8gR2eHth(#MFqz0d<>f6np<@Ub3`^xGq
zob%Xz>9<C4^o-!dcU8{>(j<o7Erd`*ck}HIbSC_79r<AlJzcjCB+w2rf+83}lP>Lz
zL~x;VmiHv`nZp`enEqNkxtL{ZCY=WESNP6qn?8i4E*OtO?s{ht72wWr7HJ?R;m_RE
zvt4YoxPNl<7D<d@s5M1k-?`+Fvle{xzdZ68^O0$|^;n>rAdrAU2y_`ll0H=8Q&!P_
z(|k$#n>7Libp_FIL_yj<|4j;R+b>0-0#xei$_Z`<E#BZs0ke5cnH%~+zrEVMfG0PN
z#E1l72nSf9*g`1{c>vDLEgHtg>0#d#!;#6#n0Jypi4G=`(+Q=9d-zilewphdF8!w*
zFO>1ooIN-m)o>gk82(P7e%8J8zGqqn85R9ddE*T;&SSsFTrlp*!>h#kxyZ*#+|Y7|
zC{WIc37AX-L`_tLpNYngd{Llw!|l9dl+vU|O7oYNgYg_R>^~8OjS7SFOkvw&P{0ky
zjBqf0eDA3`WFK5(&Fbf%iM|w=Auz*t;APvIn*kN=#O}u52D4zT#i@i^WrPc<iBceA
z3=sG59Q4C7Q@Pn)GY(ie?jEPme_U58maif5pE3(_A>v8>Ed<94%Enm+jE)R8DrF*=
zm}SV<?n8c~Wz}lbQWH9&sInBwGf|7cuAIx8!D`njI5cHK`7G;Es~E;!`_bFS6-AIb
zX_Oj<5+oPH6*E^LNfaj76fvH$nx!S4<ToEz)*jq{e7OWlSefB81x%>ZF+1-(-6BpM
z?tIGgGNo-{$iK>shkb{*aqPb$6a3|UD1@RZ2`K+(@t+Sh|3Uq&)Gsc-w5Qz9^|O79
zUj2m|Hkn5LyuVraw&c?OY-nyye^{vB*JD=m`aL|LJ+U0!&F!Ohw*oT%c#qSf@$2;~
zwlCV9zi05c-jN=(6#6}0xMGZY^2RNoE_(kM)eo)=7;L|;nvjCw*52&PPe#aZiXG8!
zmQlNJm58MG#>eG28v4HOKO@<x{@&N*dy0aeVc++hSADk=1GCM$B;cwk_a+(${mtCj
zU9hcca5{yJ4typQqgzmu<O`V4#_v0AnSYi|Z_;j|$3I@`p8kArhWSGPIuQRiL%YY}
zoEB_@%d|)3VGL^gWV~<~f?<da22)_q<-z<MAL)Nkcv7QCJ{VI9hJk><p1k}`G{I3!
zzl0Wv3C-FmI2o@0&GkKX8}<b$ZKbrMTU{iYUnVtUOneaA$umsqZzv9nWRj`R#$-t+
zJ{>aau*F8t5%Fw}++G=xjyU6p#m2_t^K2StRT<B5IeNXQ9Okd^;fp}P2<0A4_P3>=
zp`rEl<a_swA2VU+3_mS$SvT=i9#~Ga_J*Nft+ta%ik~U<iGl=n;kdxe@?D1>xn<cr
z2=rL&j)$Sfkr6ori3Humd!_T8jkqxGE2T!o+|fDes!1fy+uB};4G>PSal-Zvc6s-D
z3&;l)h@SJ4mlxW2F0|@Jf-p7?IZUw(A1AkH-R;;o+OzroC=1V#()akl#i(%3yEC5D
zu0G8fO-0wewA9GrY}LWeMTr^+Y<(KH8&$b>a?qK*kh^C?_h-$oW%C^6k%LsKhboV2
zpD?9p?C}PcW{4C6j>0&ekHZA9P0l3nqDf0qQsSG8-qFVS?stC@d)~a9@R7-m8JE%V
z)}pCDC%{sM1}yFQY<GB!!(umNj<sYrB>jE=ILyZVs3WS>Rh(0KmrEToPrklS>GLn_
zCMy#>pp6o2W`3Np8rL<y(*rdV7?GiVVE==JQ)1&6QY0&}wC6Vy(RFt#`@gvyAM5q?
zhvoWle{$MA|A2(wA-$x22U{N_Kc~>qNF_fXlb1h2_8(>X!-FK=3?jLW0UX@vK$a9S
z3r)!#;CB=W_+8zpBC#lE2V^&*rKBRD)$aku^tK);z`GmJLK#^kEerR#@#1(q5RN)^
zdJ%%9NE1vHRM;e}P<H@&G8l`g9fKi{&0`QTH7iyKhL_xphCeRirSG6zhYD}YZ>|WU
zfncnWD&iaxfPajBL&G`9I_T;MMqyF`Bs^bF6HS;Ce*UAFVq@9<AGZqH1A~Hsl0kgY
z+42nXwP~m7k}%~{N`OH#2~jhLEfav6tcFaOV4&Q>k$%=K?cQAn3^x#Amo_VoT$+ci
z5K-4todnluoH$AZfU7$@Gne?iS*G>6Wuhj%3>cVOrKS8l-B`ZyQv289kYE!Kq;1}K
zAn2Mq80+DNnrrbnXc{rX$v3};e|M8$J}80;KclYbXH!AcU_9=pJ1QETReOf{dB)`6
zIUtNbf57;2?#f{d2!8Pd{$IvY7_B$b`6jv-ZF9Nz{1<jQsZ6k#;<oEE6;)pkp~Tk<
zw&JR)s)dbJRZ`nzw)Ft$@^R+caJ&n)IIj}VFIvS_?Qhb<TUA?L1c2qaRaLcHRkatt
z>^W_dr1_UO*f?IRpxF6d2*(JX1mfbhqN=T`+i7<Nv@R{GtJiddKfwWBUKiPJHm>gJ
z_6n)0iPjvMti?-UqN=L)3Rq(yEdXnZw(r{x6K%FpRTWiLRaI40Uvc1ew`sons;aiD
zZ5qtw3DwyRY>+X=)m2>OAxjEEl#rB=@V3lu5=kVD$u^A_La`fdwAH$8yZg`2@{$VI
z<?B8l8;9!}pHH;hzRs_I8-@+BnTvV-&g|jHRqgKd4rt@$F|&KL_vY;*2K{?2+0fxC
zzbA;=^cVt>cdrEYv{6V>?0!FF<FBh$X(mY6l=1iNu-M+@lgi&x{opo{^glO`+2KQP
zUy3`cLQ+rsA@{GoJ`Kl<LkDlqiSLk1=5~#r>#0GdPmP($PDiTs>EXZP&*eP8ugG-h
z`F=U{Z`B@?X6{LP7JAJAnxCt&nqG240irwZ-aslp<?CzyKE62Fx0!nUHDZlz-nLvB
zyFO=jJA&PYx?;j{Tu%d`*d5&`8#4?gXoJgIqftJ=@5wRpACAQou|R(^2K_=~^#6s~
zzqW2;iSORBX!f9LFdCaXYuWgC`ZM+XSH-<gG*DAiobA3h2I;)KJU?apRxA?H?AT!D
zdCb+n6CByv<zZ<|&2}Jm&fhjB-q#_LKLklaNSnC?JPDKQ5|K{-Bphl>&oRME;Ka|I
z`Tm?d{rL~(x6Clj;C!B1>*@VR=w{WuZS(EgcWA=t^tt2aZmwK|wBZXx9lqBII(cGB
zRSJ$SKOM9YPxW_n@54c9o4QauLk^Sc?eNPZ-T4hR@?I=`|BE<e8L53lgkr?}&cSrq
zN1>q4iN!Kv&$WyG{2yVKBSt>de6}2ZUp9w!rxxhN5a2L+<l;zqb6RLxTN1le)!P9A
z>_0SeUv48TkMy6AxajqU+dy{V?o(jPx=K2!2vlfJ@H`N;2<B<6D5>HKPJU3pbE^$_
zW^@tt<N@%<Y$Ys0MZ&xoz;|~6lL}~`4k~bt9-C#zkYYCQ#}<W&N{fW$bATj?gU;%%
z`X80R_!HNM0gu`K63itE?gWCu41>QKR$pj+{)WMmU}prda0M&^x|IfyFm9bRBPH?E
z-()6CnU-VTgh#Oty~BUMKap%tb0+9YWQ@+LC&wY!?nbWcNT7SE6iMkxf(dRFbuJy6
zj)f5r!=UaF3Q~AvCP-u*(s*G>Y-{a?19f`XVCP@+Z;@`A{F-q69+v4mw-#PR&p^6U
zPu-V0==$HU4-X*b-wiTG<;)j=rMnciaz~xn=jUBtLAad6zc<m)KTvQ6{<hupdo~Bb
z>W*&R#CPY}-K}`MSt->!n|~6%*X{l{zXYfuA7^8j9<2V8%#TNI-*~0V-Itx-IOrp?
zeOGO$-Yc>X;pA*=dEZ{u7{YfG_L`%(T#AyC)OQ^YCSnB#u<x^Vl}xK^cnOjva>W`$
z8f=@a{%i@1YM5_2VX{CHOb)O4KCI&RBb|KUDr#V&C?Kkanon3jGWv^R2_v%+L%yiR
zP{es4V2G66gCll!ydTNc+-UOrJn24ojE<*<xKH+14tufg4a^MI5Xq_-VhiA8XHEey
zb_>cT)zpK{&n`G0Xllo_-|hJZ@zPtmH#r)4@yuh<m%^aHch~OiWybp(+L_VP{!KBh
z_hYpCcp+%zGd{bO1}1hG$O=>zm)kNzNZ;>rZEbp8;E%)4?T<gd-){Pvn=eKz@k|@%
z4F$xx5C}}I!K84KNH$Ew)cJ^K5+-!ai&lK(phValBp9L%IC5b|4Ga<N`LFed8>rYY
zXEjC3Rh4%gx-d<vjTB8bviZtVl)2Gn#-_3{!6%|qO^+Mt3edS|IbR<j{c=?bSZG~w
z%Wj;BB&*F}Bp)VVzpe*hsP-~5UHIJje8^+~+T0V21fWnfmF?a>FWYpOkkCD`C^QGG
zq+wtZ;0s{Ta5O=t%l1*USW(rM9i5Hw1HgS0cGH2IitRy$o=j#71jIl%Vub+ay_+-v
zCSx*|v+>=YUk}yFr#oH-?a$k}kK^9*-pQB{hD_c)cJIFS{#r*7NKM2T3qc7mgRqPY
zK&5`Kr2K<F=KKEvm%hIz!1x0==kkfS@jc!?gVn>#FVjCRh{31Uj|QFub{>D--^bCK
zt5ib>@sPJlPW{L-X`U$Lv~OuJD0>G2*Zxg&_u2RI&O*`|oOfiI-L;qP-9VyUZA1T(
z?N4euFgZa799p57xShG52^E_$E@QGOBO*k_uvjo4%AL^Wc?9UQ;q#3Sr0h<Syw@*h
z#PKV9rw1lv@v;s}4_s}FVNGB$ouUU;05w3$zibbU#qp0Lhc!N6pBh=NFx#kBz{#Bt
zA=-gSv=RBl-PCP^LBrt;zR~x$qtEF(h3XHiJ#sus`5vDJH-ymMFgr1qi#hN#Dhe9y
zgA#9PSd6|6?O9w2FtYSi-}Qdtq>OCrGD$V4j(`&i2eL?(N)~sC&Fm(PX!d46*`$&R
z8chj?<Zc5&=6LM81fW~pdmiI2s&B*?3=q{u_4{!BZLEG%{&U;!1KxUu_XD2u(sIyy
zU7RiN_x?N6ldAT1-tNynasQ+4zh_^HJ+g+S>QIUqW<XD-!iaZ@nD!>)*&Ytnrq;sM
zK}AxuD3Tk39$g`~vEoa7EraSVS+uwidYb2-jK<~e^~a{g#7ZCsbh{Q7KyDdo#bWRM
zT2$<EYrI}dH%*X`jBDY2cvgJT+RpOi@VFODY&jbGr|x+s(0TaV+KOIQskjZ2NWjoE
z5DDhPXk#-1udnB;5MSWnKme-jaZGPO&)fPsZrQol<~2Z&!Ngz$Gp&;Zw<N!At+#Fl
zKjl4skEX}$J^s>iK1>e0&kfz5QRr_TVNyBvTQQFb_D~V#(eR%R@ba+oEFm8kOU!@`
z2~JxlE~bjxafHBa$PU=5t~MkH<LmwJZ$nRO$ByOCw~mKwT4Luu<G|W_;$%qH(n1ou
z51scwzNg_P+_q%M+J1wOzamDr+`(RVE4L{g>z|p0mBKb%Z#D7Hn$JFcXOZ3pQiGI|
zh474T#s}qu`^W<!K_JS(1+&ofJZ+p8lbrYP)5nCxVUWM7^yvj>{JwrD()&+ggF50v
z-679)NrQjjxgACuqTz!ph&}}|BFQNUxc=`udd{DhlXN{z;!YRCoW$)<Ax{uss46O~
z+d4hEW_M`XmQH%ZpDT&Jts$t~ST1wi-gx;iH}@T4&})kn!_=Z5j1-1ypvIDdpQOam
z^F?4hj|0BR4-sD|(%8_>Ak0>rP=`PngfS`s{eS9z1?S-qYJXkPXt<pHQ2h>2lHeC!
zJ3^9F!h{yY85Da}YLupch$KKW(*Ql@gOFkV!SLHy?|%2Xzs}5c9mO;EdKanXQ5|iM
z9LB-CPuJ3h)XPLUVGetE1JvU<u3HX<S0>r&5(EuDqIj^GgEwwsXOCPOW3ST~$}!_E
z%PaieJ1-0d2AL$s<TQK}mmfYv>!a&>{M*=LF32lAAnd8Dq52$9GGUqtQeCNc9HW;o
zU>+3SB5+%#6=ns&>Kdb3ct`DsAlf3p;kw2>H!oH?7t2fWcpJaI1LK|yTT5uKw;#ud
z!67Hzv(Xu=MC3!)M;V^XBiX%+1DF)<?ksUQx!7Nc1L$hl85zqM>yR_T>-e0l+-`Zj
zWzmBMrf47_(*r|8L%-JU<F9>7@7`$HNn%Zx6FtJeO<P|5b)^95)yy$$b`HD%?=k*!
zvux8zTe`M48mM$#Tb&Gv5<Sq3>M-|vF5>jfo?oNs`};m-h-+Ye!tD+6<BA#xc$tP$
zt00~&7rcqI{${}Iu;YF+gXSE$Fg-&z?emt&ugvA`kLB<D;<e5eOWWYX1dge%Jq7KP
zG}~u9s^Rj!TMK;rvXf~xCfRl3&MGm7WXRsNT+x#_+3Y-%TWPTFQg4Q)M#9&PW?+qh
zbYRV(V{ylc-7kN;z|hb*Jh-zn`~+r-Gl_%dAQtP?WC}u+Vk68o2m`1hn)308!tYSC
z%eD&;{WYUX34;dG6e5jTQjB*L0Zl^xF~@6MZ&@$n{5N>_CdJ>o1qGh;UzB$v41D2?
z8_{nQyfpMzA~f7jX_`FQ+LNXp{M%s3Mh7ovl7r3>9&Wo-5hReZ?nrPjg*aw6_vT0{
zRjOM9&IJkI;O?Phla7Ivo1aQZOmXD<7YUg#VEO|esPx1>pGLFUz2$Ts1LQtNr|<3u
zy1&!)gPEo_>_wof0@6@@+Y~6sO(3VP3bc^S7P{orgP+H##I!dM!9)ZHqq(K+$=h0c
zM$Oo?XyM+8;<p~FPj>_7kOhOFhdXl)82B9f%LFEES+t14C>|DNFA~K~+%uILcoJs@
zfNOq}i`SVm9jr=hF4&~LuP-xwE%ZBjC8M~c#eS00E)ym7cFl^pBO~(>c8k#5eBAuK
zJ0^BY5l+YnxbhMbhm)o|gS!^@cMX_OEaN60z<|fbhj@}qu*1B*kT@4)Fp*>q9sZ0Y
zcFbL;)JphMd`AV(4iO}(%mF{bu6^7w#~ITBuss;RRGpGcl92U?P|{yj#hgY_nnkiD
zjW2BESY^zHcSp43>v!KDvh(@@MyJr<EnWmdVK<7hl!XN!tUr{$zm4p_&e{nIpWJe;
z(_k>c#8~liA@76T1|ZS2LNkyJou2=0JfG+Kuh{hNdz;tb67LDknI2+f5E2CfU`L-H
zBgsl<h@1y|r^UnhY!AJq%R_w%+7m}3mAxI><o2RWs?-PtIH+7Hk>d~P>~e;FDv}VI
z+2$42dU|6iUiHJ#_oahEsb&i{<OU}UgO#N=GYQ<F{J9hjgoz221$SDul)z~wC@E`H
z-CMDM_Vw;iOhOMMgBI?NM>;%g;A6SKNdwC`NM|gKa>`Py+zeYxPgO;h92=H}Wr=Qi
zvqk@?wVajP7>F*DB9g&oM?@Z79OaXkU@TM_PJJFXM;e8{T}Eab<Y8o(1M`z9j~pBc
zWaU|y^Pz@JcJu3>3#25HO264ZEGgT46qtKIA=Z+LWKv((;ph9CFYS@}c7KPoepb=6
zp1sQKYvONQe>aDRJtM35`2VBL<mvYl=u64#Tr~nRf<FjPIirCNgU47s@kJD=gx+C6
zI7KM^-N(x()1OR4+zw-z@*I|A7kg>-5Xmeu9oPgiMp-E$3K{|;BodmWsF7DlgF-DV
z9)dl?UO)!nfD-}Fqho>WLCFmsJ~$L%pgw{RV5z~b5eamd(IwOzAp>|u1_VOPQDb*g
zW&qMJJ@sf<1RNjFH?^T?13;Q!(qNjxuENeSycuL5YpvDoG&BZ;9R&V;9Hwn09j%)Q
z2oex5B>_N~Gb;{yd^0;R{WDVY{6NlV!^NF2U88GSu+}nosr<$w2F8mzIOC6sN&}_q
zo9<Pcj<r46&EBKM-jk{4q*i^Rr@=j>@{x^9v2x$bA{gMod`M__5Rz>PMoubAhKQzc
z<>zHe<67O3k=|P*YOxG!ou>l14nF@P>s<Kkc_#$SnLC|(#9l%@5j|;abaURJnp?EZ
zB2#QB?T36=b7yWG>s?m;b$psg0;`jGx!;Y^*FD`><}~{`8-tRy0nU_7BF{S3iqE-r
z*@onAowKFh8rHimAXfEOP+fL6=9ci)T~@Eor;Tw{U8}xJ?04(5GqHD0qRQyC={oAI
zN>!$zEi|D@nrJWsvqhdraZaLv3Le5J384mw(jxkpZ=pa_H60?EyH4vIBPb1~#u;8I
zZ(_UQDf#i%2`1P^Q>`E*&AB=<DLO%wWS*-kQwiFN`)PO!p~xj}&gXl(+r9BM)~5A!
zv!4B^I%(7lVoQAC0hFAS@iw&>rdT|cMr&ax&M8Y5<5?jZUFxYfwpY1~@_bQyO|F<{
z5;1sF(hLm6Gb?6B?H$-t)Vq}>t=04$OFdGxAiUcPCv5EPRg7srHFoTA*zqr(=+*W?
z^k;C+X<UnfKYEoC;A!UA%1JirWe)k$SISfubBI${(2f+5n`3jWfrB<A-KqxfKm?*f
zZ&NvLas!fVEYuTVtbte7?68qGnFuHmQhwjc`0+R>_ULT+*X44KT}vqpdc-59z85ZK
z@lMGpug}iCjl|``x?qm1-Lyon*Jqb-=5i!K!Q8NmR5(|i2SMe9?|dw7k(`~1A+Z(l
zN+F32Iy+&D@FIQE%r-CEEcPEO*jhZOi%G<o{*DkpXv~DraU4bkM2cYfWfykSX-^1Z
zgIBa0l<}Hx!5e}t&ROTjO35tk;mUJT#4r_eoxENT7jbgV#HCy@Gvi$1s!9qZWnq8w
zeCzwObg#8p*FN=zPtbwqbbvX1%hqz3uylmGHY&v~6q@6HDi!*}_85<<@*Wt5laH@F
zPQI5%-g{E&<xhF-Je(<q6%<-Rq?)rT=OeZ21w#u)ER$`6`tad~EVIN&(@YGq(b9_C
zuiSk7DI)R5=qYu4dyAmV8SFZiQ0!1*W!Dgu=JvcvH}}>lvI(x1^{f*d+TL;m%t%`)
zTJ5WqLK5XF>fGy@I!v+Zf&6Gb6-6<r^IoN0^#2`amoKtTiZjm(WI`U46z%JG?C#I1
zFNB{2*TgA4DCbXw4(9sm+{ho6cF~}aULR&gchzVwsWE_tnpVTRmbOh<OtvZC_!XSi
za?<l9dD>}bTrWAxH+(4tu(SkG&i<-yDVM@qySMbMSN3G&W;qcPaK!|^=l?Ti-DD^G
zmS^+_o3>a#3VvwHc*MWOLR==Ijqm;%Ni_Nm;?)?E126os9N!&19`CrTcJ@@(ozQuT
z`}{NdJiR`qxGCDN3NC{cqLo6ZZ`4beCgzx@=}9~|{OWpSTss`vb)lrT+NRi;;YEyN
zQK&BY<ph&YPFmreIK(ZBT%8U3Gq$5m-gr5EGQpb9VJt^OCw5r=tSx*gzv|&RW-@vw
z_XbnGl!ZwxHz(w9DU7NgP2UN7sQD>&E8BHn@;uh38OGMjIRP;-h$}#ZTXj0=Wt_A`
zStNjWE-1lHn?+SBfn>f}Jg=Q*PC*IhtosBps4Tafs@C~lNrvB*l?_O2{2EaX-99Pb
zCu!Q8l{LXu)w9ceVrpu)EuPqABGa)sHSc^Sf+$k%mp75mD$5qFMOb;qlUb?9Qa$kN
zx!k(0dOPN<;yODVyxG<lDkiDd1ti*X+Cvs>IOrD3bK|=~$%(E*<7$e;`B#x@(oQ@E
zQd}i3G_DvY5QNp5-ET9-jYVBNX}neaTC&I2VIR%(Z=%x}i`fQ-{a8?cRksm9!_^Qk
zswF1Io2p8DVB|^8r_7I<D4~-wShdqt>A*fo<43y;^AKqEoxIPidR6DVEuDg#u#t#`
z9RG==6D}_3bXNiLlQ<@BJKzsAiM{upLF9gQ3G9EZV!K^OLV|cR-M^Fkin_fwN)e5@
zVOh7*=L3N#t1`N8*LzY|?)D`U$@9b6A>h{!nY7q6`8CR2xYTO>EM!)M=?-LCbL*at
zShQ0Zc+jnc(as2S#L`$7wdMM5*iQ;CWMiJV;+R84^1>x^8zxP!%a+Y%+f1^R@b8v5
z4?NXWEl5a~ll;Z4T<!BpetT!=syOE<o;ge9eQ|Z=;AmuVo*xLbF1(8|0jGg8k2%3V
zBBMOPk34mdG551$oXi6Za|92LbG9~zR_>l&Ig;w0meBg5a?@OR1>UevQc`eRnjfqc
zp#d-aC28;8R?QQ+OHGG(c8|-{Wto=iZ%spynWd)Y2)k8BD_65wqYpb_+!lP7Dz#(e
zoXNf^G|<_${r8(-%>rkF2Q&W9{6B~A{QQq^<L5sw9{;*P{$_7@7H>$&0|o<M#*#f9
zC>n62AJ1Qt4Yb;GGxnHu6HWTOAB)tE#ND~`XltB(A;c?gE=Vy<>O5r}Fk+rh<awiK
zC5_`MKugTXagfGN#FJ@JW0DAXIB$*XIL&1d3an$^R*c6P3&c}(iO`uU<-X4F)|Fas
z&RvRFY3_-*uxd*w=#`AJ>jtGeR$L2nDXJJ;gkhU%UZqt8NUk2*MOdqBk6n}<G9Xf3
zwDd4nY+ZOKzE$^aa$iA=4Rpx~tM`2EIW?EejC9&zgh;LxC%sd$Uq2_>jw5+kg#8D`
zMl+XEn$bt!dEimmg&m$>fpd6cK=5{K<{Ki1+|*DJyT{5=QGDBbCxV3A#8LM!n{g1t
z0vb<q=bG`y;o<afp|FuZLPv7Bqs5Rk>pz8L1b~Uk5+|U>9<9x)KZ%@$N0NslUh{3R
z?S}RA&O2&Xg($~J?xcvO9<D~Zl-8*^)2ps2_iGSozC;dlGxK)5Pt!KM`#P^)(sNKo
znpVZs#X_<Vw>_73m`uaE(%qE9U<@zeyux%tM&B>DD#!NMwqsu?Utw}~vA$#OO+ps6
z?L7QT`>|2qB|Ck2o599vQ+P%4VWEMpwOv$08I*@+9!|xPasQ+bldz{{&4X*fmd~7#
z<{hJDvq1G>H$>^P+KMN^=wSg0e<XvEN-~4{0+25E7t&9D^nXEeczrJhx|GoV6Kis+
zSxEppBXMw)sWxJ`_Rf<|^>prUtd6_(P~lk`ZE8fK<(wq9Mw%=#y+en`%QIRzm-^>6
zXood*T&IC4L`3O6+=r1dJGq2WZB8m0TYr#MIxSCMX`dw9vR)&ttalw{CyY=k#@8H@
zTi35CZM?Clm9e|mi^iHX-$ypq@YAWbSttxiF$6Q7h+`JuohvfxgVRT~p*0@uj|aeo
zy>!1BT%v4N%Du#_#LwRSKaW^HX{)1HC?;u$mPmwd^$WUcJMjkd#=YJ*S5e;{HF=GL
z-OjyZ&E3f}YY}&b^70K=a{LqEhPWm>><9MlbebepFz8_|`0E5pfznJ3OG!>Zu_#Oy
z_w!FOa^lW+<Y2u@fuywS+l(=@`-iu;G?pi0&eM0XiX(Tk=-PPf$qE|GAFHQ+!10Zr
zp2+wa3+kwKCze;UB-)aVVks)ov}@|=zHg_<_wiAhLSABlFUDDK$4pYFA&H7unG<pQ
zrtoz(vctfymRRwn@H8mLQ8lV4pyl^JMjgkb_OS$K8yacYo~t~sIAu>MDb(x4)6pZp
z@U0dfFTf5IequS$?oCQz0N9QXxYs1n{*&OFCJh5qQPGrPNoL?!H^ad)a_Z?jH2N~H
zB>Hp#?1qP*Bd}?0&~)Ss=rd4E9@G?J0F4k@2kE4akJufSgpI3$Zg~;g8$MHUB{(=?
z+8rvi!RCPS7L-kI{nJ#q=P3C%m;1Shct6XE8qL$D{sG>op5{#_X)GoCh-YRdVEQeu
zZ<+O<jpgH5)rk}$kK*A>wwqh}1uxLgBi7X3_wQ>@?bQsZBEg|c^OYoKr7TRj;b-@G
z-KUMdaM(3$+Zs|JH{Gt7IiTd3n?lEnZ*J}eIVH-^>6YS;G*fIy?nYaj+j|B)!(f{j
zEn&&VGk*JZ#X73{k!HE{`VHj6n=^4??rJe1-vUH+O95hex4ZDdj<7Z{jCI~~^PPw&
z;s67!C#>=ea9^f!hC>#4o_Ig6B7ZR*qR6M=U7}!;G;DoF;Dz=*FFZjk9{2-;4^a^z
zp>SDKhl4m_HcK4hoT0Uc$(CD$EI?3FU>=koI7l=yVE|OwNF3y7p{iVq#R|3BqoF6o
z(-$KBs|DK?p;AO{0N}MEDbCO_*)S8y1p}y*J77>gEOz|9lf~#e6SUpemMc4J$3j(S
z+N8;zgvdjM8fH?VJegoYB0WyzAE7jUl1xN9-N6P@FdVya`@(Vbr0;Zd<Gxbj??d*)
zLrWOTOE^|l<yWmM7+8{-;Y-mKJ;-*wvGZjuI;%wq!nU4|HTvYl$kEc(+Ro}QbfC)R
zPb{ws*$;xkVGX0&q@tL+JdL2L%`9ICU&%M2E5NZaZ&c2Z6y7$d7!KqZCe1d~l4E`p
z#KG|`Q|~yb`%d6nK*lh!Z=-ET&U_RkBKWwL$%1yi_>uh+txNgBoD^(nZQ0SG7MQof
zOcv$O(QDDy(=qukHO#n3<ZQVMfjzBE>uU-P6Qn?rK|8z&Aqky0^5Epn47rzmZ_8{*
z%5@@LQRbFCT95)wt%oC)A<W@CQPgf9>*jGn;@YLu=Mx#*c0;pGb}oG!-68dqFf|hl
zah#3p?8W~uWY~3?(?eutX^=<7tV@AQcFE%Ojfajo92eM%^WgreAJ-b><)^rE3k4@3
zH%N1(9ORrxs={{T5-4;XxFYBT-GS_+yR*_5>`ZRB&B_Y=?p+{T{Iocb^6pa0?qj>V
zEqkKld=S}Tk9#cjt~iIjneoFr){8N|#LO>%ClXK^&#Rk=k&wJ3^h*FB45VSYQjXL)
z7nY{IXWL$C(!#PD=*n-ETQ<bXOh^+S7av5^>$|3s!#ZbXIfhRrPf^r)4;pSH=`<Ai
zphI1-W<+-z`v=9$+KAe`kUF;~;I(Z`Tu5haK3tvw5^rQzEb7_iG=zk6dTi%(%zCOc
z?rOcH7%1w_Fgp~|O+Ey~3Q^KJ=yNY1LuF~06FAA;wr3H>*_2{uCMwQKD>12cK&K0W
z!Km8uDp?Zz&#xNNkHE;KZlbHm$+jH8)l}~hh@@xL9MI3dnH4)92psu0N)VMd;=11$
zLOmRd1fR}RU7X48Sd}o*r93bs(Y74sM62h^Dw|~)7aV|Ck|ytr-Kapo7*7${!dItO
z4%8>QNJ=Li@IqH`pB<}*(@v5Rv86N6tR)E6h*{H(3eD7uMWqB<O|+!MSlsU_`wqGF
zD<daT6K0zws{P(t6VCNr4=5vcDe+`}>p0`i2`;Bb6{BKLiMn;H?CGt7e}-8^fy_md
zb{Jr9d-hif9LJ{|M|4~eWWozKW3k%YlWC?S&XblcK{I%h9<3}b(=emK+MBhHN$6%{
zxvK;k(Erv;ODH-9FY9zHO9@8?ia$I2xxUcl**?#vXE@<bIrwxjn6tb>m6jQI5RguV
z1&K$bkGhmc94IeKpK2ClOHE*G(WWnq`+3g<UNcMy;$U1*9fQ{bcd3!RI7~|{n$NVb
zyZb?nEL)S$EC;VNz$eRL&ypesvS)!q<13S6I%QfC$BKeUNY$@vySl+OYPFQYa&!5=
z3+yvXsNn(o#LVY^S`CD7Jqt8&8nMy1Ihr?7`7kijItP&Q@YrS+4Rmn9<1;I@+byci
z3f_7Hw7T(0XUbzk;v;XHu-~_50NV=sWuX9-C@BJ^fnmpI44s_6HvSr0CijjaVqyqC
zQ)wXB;B&cYf@}jI9F&IeQ_G9PQS+<gD^mp%rm@!AH`>9+HiR8`8-WR`d9(&MEwsYS
zW-eO>_eu&Vg%*ivUP^O1=VbLRN|RW6>B{<37B9`rY$HQg3?K(g3T{MAf|}b-tGiOU
zdt(YubFk`6vy9|AOoXwIE&Fc9b=6peJC`8}Il!_fzgTQ-t^S*dJ7I&eHm;ZuO>AG8
zBr(J36JH!?y3Io-h?C7H&V)Lgs(my98^A$p-tt<#S~=?KeXE6PaE=^lHo0i_?KjJU
zXm-J;5X|W4WpfH5s0<S;+b39%*dq;^ss_SNU8d<NLneMW8FeR@I|hN#pLMc$t+dD}
zYfQGweRd|wc(8Y_0u1nSmXNi%#T4S+#@ap%ZZhMsjXf!*py4q41>({$saT&<tBE^2
zx?#fJitB{F3JY={2j%B6=dC`jY`S3p!El-kh!Y73Fyp3TTb)^zT8o+)Cu!%F3!Uys
zF`hVMf66*|a;YHzbUp}GBmwz4=OjI(e>|IJWgwnCjDAh@ZSy0q!!5I>80HSi9-ilE
zBJ(<y$moIRhX>Dj)is0}Z{>%rD;DO@R(^q%tVWfjMxW$PDxZd*Lu&f^^(%t=9oo1R
zmi0S{^HOdFPpP4fg(bT03g0>llk+kT{1Qpg5dLfS1V75f5O{7l@NNNZCeRFP$kNOV
z{D{HHKahRDi1y-N(wEN%?%y8%E#`^@^^}YY<yfTQe0N0cIJBbQPloDnH=)eSPU*=(
zToJl(g3cDDeBOwR=?acpi^`mR)~jM~HIkEQfsRG`zG%;f&HA@tm0Z*IkJct(6lUrc
zzGB6<4Tk|$N9)>IPp3Sv_6q{l#|$7lMga4D5jodh#W?~&Y-mfp4v2THGEfzph$gs1
z$nagWy=%KW#Pc3^tr^bJrE8fw5rsH+5-B8FDnc5l<tx^^tVgI%6fBqK?7a)S&X2Uo
z$WHz%e7-y#i`6Y;U}N>xzJ_niDsJjX$KZDenBs0gvk^|@=0T(85b{ok!ydJXm%67C
z;XhmziSm{z4PIrrc$^#Ob~RgPw^H}}XoS7r9z_)Q7=81WpIAoT@yuaq3B!9Nd)bNd
z+k9HdEY^LGIq3d*K60>f9&(t`H(oIlN!WZ5lTvwBom(L^j+>5;hAq}EsE(sJ3|LjW
zG&2SRCQk?oDjQkNc;H4_12)&&Fs6mRFX8gmFQkV>z~O`T=Z;5xpH<#i@aJta`Rx1L
z)HKGiwp8fK6B0q-fr8xFai&1shZ#io@^8|@Iuig4^y|N%kpE8F%d-t-S@l*qAf;y9
zyLi4OXB}ePG5Baw#!m^dd?m@|mFn|vJN2~tt1BjT&jTGa%YmTmkd7ht2TwgQ+P1ri
zPwVvK&!oP`BEec{wa7iNEu+}!vQx#Pa6T_#{ga?e8_2#_9n6Q75jE!0FuqUcttQmP
zNhC(^=2+?WrG}Njf6hBOB49HXSntOYku1M2yQJ`_jecFP$2^33#gBC`%BH#I6THOJ
zC2}^N{v8=?#qp)AJ``|rb;+wcPo0{@$7&(L=m@mX^(O35W;?ZJ){2aDbYN3D!N0SQ
z<*s}y;IBC^W~7GKcyKlFa(EmZt(QoY@q|*JA}<!-6|rgw`yN6pZpW%he7)n~H)zfG
z^@p?@1w-Z0!$x6U+~(<N1R5T_$9hJ!AVSXp;_WY|t%&p<o~>DcAadDJd@wb!JR6W?
z%zlK!9i<Qn49N}P=(e(9k3wujL)3<I5i@J)9g2<i94*);VFmL@5QHUHTs|IooQY_5
zL$G5uEWx{<>}WdWUa<)>WXyORzW}bKkDU5a({X{*iF{<-YW0{77&eY%yghH8*S}0@
zp*=IL3qNb)x=}Yy_ySG(J}yfb$`uY&@TWR+SGTzy)w+E((?z7p^%|0csro#eWyvd4
z1Wi#A|AXI?;^Vux;(C7$S?N0!>4ZrI;i94J^Gl<(W9XzM!CU*0u;fVxj(0lFft4iP
z5x;tBRGZPBjV(8nhjl!qOKA;y{z<5rmzqvP&j=ah4~q*!f!{Js+epsY;%tJ{qIKx|
z;@j$HY3D6fNwlzaNd{Z`xe(G@@m0?w2$_ysy0OmooUB?`k(4$)lDMNIG42vgcxz0p
zq19@t%ZWFh6AU)UuM2+(J$|$HdY$)5hF1Ps-CF7Ky>s2h40Yen<LXPpLlf6in)=EP
zHJ@wXOp#4o=+J$8QHWM>rDDCRRUbLXtRZIQ=)-%UcJ&5vC(9ZN3@9QsAL%G+QkCql
zt2E4EJX3I3%3f9)WGodVghG#WJtGN;2%TR9*+la2xdt40red$km|*>0<JfZy{fUtJ
zm5(6xcKxx3pm%m{=aF8s2>I$e0QX_@7X96(c!E7*+%sGt1?gEke9?bH+hB=TChD(^
ziBgbvQ<U0#rO9vJR?Ty)SnsrDN+KF9T^yTCci6MpkI)ou75v!PZs}sxXBm#b7u)Fj
z-_pZ*{H9!RJfXlwI#A#s4X}mv$YKIKB*Bk4(gY15BH7OVuI<-}^qzF;@7_3?BC<X~
zH8A0PkkB+YVPN4Qn7;;PmB(plYu%=Y0&NZJOm=qQag%fqxNBTzK@h;Gz7zgGMx1l0
zf7og24-wgf)5JZ0XDu<>cBBBF7{bs(K+wS$ibZH~2&jM<kppIXcjdx-I2<=Xl7=02
z4cE|5o9+;QmzQ^@&1xxH2%OWw1G;XRmui*qaZxNeg(r<T?werl1|Ko2db))pQq4qO
zJ?5^eifR^8h7FCh>FMjUL8#t&>G}hHoYB@p963r|o#RgLA_;llvUMAz{};o<TH|;J
z{HpeL+5uY(3L;2Hw}tfh`b)@|jt|A4dn71E+5`733(>)C18i-KLvLgSUqo*8A1tTN
zwR`<=(llZy(ev6te1W|%v?zt7+cr=T5vF|aSXwcV0O<8-q&4|xEw<b7z3nUF#;Om2
zj6mO_Ll8=gL*eHK0s1z4NpiwdIXe|z$jdH)DcH}G4u`xvrYzh>=#n54UT&V1f^%YC
zJtRUVDuyH4(wD|IgNRzAXGd>aUt5wrMV<_yclW1hiF@yoiSul$Kb%!sRnmpMNnc-s
znaFcTXF+9A5y#n;epshguh6^jQ~W$R1+g%>Z_07V6zN~5TDAWhMUyc9r=HT0htC<{
z|CPF+dk?5T7CUtH_-$h=DmZmWc$a1tpLY#P1;Cw&8sDV6vsjCCth2&8bhhbxwZ1=k
z&NiM_mzU4W`q<+zubJ?)uGlqtyJr*oZXSgs(`!3^aw{HC{n9&5k}MZ`glnutiI8@V
z5|q27&0$VkRTIMswf;+F$`Y0xub%ek^Ee=wyg#$>lYG5zwwu3Ba7-JBvZo%9)Zka0
znoS9XKio=QE_MjlIc<sHz>_g%z%1{UQYA8NK67(w_Y$%Me-BJ>+m~!0u+p&MLE(qf
zRY=f)J1uN7&lVY(QDl@?-o5_2+cRLDao+!!GMpH)#hDKyAg`ptxLND7Fa<7NTp!ML
zfs9qG=Ed7l9?7q_Ft#LeejMG6rXZlMcB%N{UPiuD_3hOOyPh$$KD_>nl0txT>sd>>
zS)<asPIrJ}!<KFkah#~+h&|aHksfg1C*=2FIda9g$BLP%PB{!^y$G5(CZcbz>_KY<
zU~2tQqo*#O@noUfsW$Js_-W_ADxaTQwQ+$eDDjkU?H%UNb4SV{7m>z;PIZEs;;pk9
z@w`zPTH||bgIdRHuE{KC93DIrCT2us8JRp`h+7+5rWkIuDvTELLWtUJwJx7XC_M2a
zOz7ISEacfc@SLL7q~4a-g_z!!gPLKHr3|I4DGA_~lQL0t-$>s+8stdB3an=Lo>@wX
zV@t%=35!f>+Y5&D7Q)u1l8h6RG8bMrSkM^lW@D>(&h7`=DMPST{}D(gP!aTPraEJv
z;j1()w_aaZjntH5(Al<RNmn1nX7WmHteMhGh1~d;*QNd12Lh>0(bKbq-t>JFP4U6-
z?&8o}wRLwfI{DwLH@dhQ_0+dnq^Tdm;QQ#OPGxY_4IhS1AL0?G@xNnc%TMjwwE@?>
zy%N&&z=83b#ZFpB9ye~Sdsz5s-Fq6NosJXZhTM!$Hz1c*Jg!NX2Nm!zhiG*(`5a&e
zly}JezdzwlzUp0e?GSbqbk;LeMf&a@t}5>oYv@{mUmE>+){ngJFN`uL#py|qa20D$
zTB}6)rjlihniSTq@5A$Dp?fPfiJ~gC>Y95D0gG25$|&rQCBI>wwCR@zhT4*xk!d)5
z31tM1{qnTN0C~f>EVT?v=PtC-vs<kJeQ@7QbGeh=H!oX`5MsnO5Ti8)SVMKz#wbjY
z-{!}DG$=+dJ*m$bkQ;B%*(oOE?EEN0W9sr|Y4xLb1%+Ps3`{+q%qqfWIQ)v_gA;k>
zp9=ABO;PU`_WY19lEAa^U*h*6WbZUvW40PC6#GWYwdO|2Basbeg3=t<H)TP)QA>ON
zM5Gr$HjWI~I2Xik<n*=gpcSCn?9@S8Vw|HmDPud1y|1p^mF>DohZF5VOi1huNaSEq
z!4cXq)g#-c(Fz%F`9X#9L}`lwt_`TB%x|&V0#3%Sy9dsC*`2%FGL4XljQA$~!WtJ0
zY(|89@;B}spd@Y3TnF~|xD4~{cj3_`mn9rj=)^~xpX=Kk_Z>AY`{fa~=@O||+fn0$
z5m^li7}(sLhQ%4@aD%%|rp7SgwzeBIcp*WW_uUg%e<_=1vM-t`6;y0~dP}*cnnN2}
z#q1vhFz!MaLatfh^*JooUcIB!lS352i<)kVR%B5X>-9gI&8@m_p*Cd2;BktGm!{EA
zQhzi<5&KU~A#m`)LWT3JQQ*GuH3U*o?31nV?mp=lW=k8=H(CtsK=syBcXi<$1sm-0
zrg{^jjXE`MO|2_pQa)wggmsnh#i4<_SCj5+-i(@U-{Ar06C}-4Cac$X-EMDF4m<d`
zE#PL-e}9ix#=SYe2YYT&G|%U`5|>dZi36iR?~&|8mbr1TOh-BxNw%J3!;Yqy8;a!-
z{$=erdo>f$B5?K7E14M`<DN2)R;Z~mCa{|`q3EeaALiz%9$0f`hEYrm8Iy`M_&2Hp
z-Dw<9*%J>pT;9>%f^$>82P_XSyYkynJPuS(eH7N7qc6rv0}?B`?>`h~Eb7k2>W>I|
z!2t28nfjoi7pNNwO&Aw>Nw|&>LpX#xlnCkKmwU4@>bT);_R4d4z^+IXuqdEO8ByiZ
zD5XWUu4r#3PVYe;*=5c}lV(Nv|1gffM)&w^{r`;L^Bw-)B)@SV4zS*QM)Tw}v}4an
zaUMyrmy0vEr6xrBcsR!*-5Gn^H8e>OjU*`Qo~ErRRRPluCUMIKk{hZWgVcx?8TRI1
z3~*9n5t$Bpqbw~RD3KKK-161Q{kIQ4p0&c-Ap=W)kwL3SfP+ITQ$hQu=Lnj_xNnfS
zUhKm>nA<tWA1j*VdXohN%xo^Y%SbuHq<C|NG2Hv|aQzPab#TGll0I)7&D)#SyYSVx
zG>ids3Pt4ne8Zddv=$CBjSPpwbeq{HK9~6qL*z}2;Veg8zA|YGGdG)7(CC}S@6jR5
zbY(Xy))r0k{%Sv`tEZGJpTKYWHJ6urt|v(aXff!AY|}GX6EaBjQ+)UAN=guR{9Ui<
zbBJViM8~`Laq7{YuA@Qf$9iF$vtjfPjcs`r-sF?By)$N!hxrE!m+qUA?ZXW1?h#Fb
zlr@q57#j|M#WcQ~QuWAbb=I8$R<GmQZZ3w9BA*|GRTWHNe%CNKhh)PElSjfYELiy~
z_2GxfJKYU0oxEw?9mfNjbkDAMAO{ITkSne?>BH~V^@mvYq3ppAfux`@z%yD63f2e>
z3IVRYfwb(%(KiX-S##v}r4$EZz~hyPK%Ew^oNG0dBtarUG&(0T>NxPLa*23nx>|fJ
z!%nR1ZbrE{$u0mVY*uL)y>&?~C9O6kNGg!VL(&Ms-OZit%%TCr7fo2#2EwvU5MyIZ
zRVRz#Tqb&DNEQUJCmHA#%Ir?2?JgCi3$6<e75VkTnrkgByRQeciyR!c1&(C7=G$>U
z57kEyn|4b_W42c<abxX#({IaudnuRE2Kw+wqmt$VXcUoAF=%n2@9(<d{yW25&utqS
z#MMQWRqXQZAPVeA&1Y_lTN!SN3+5piTda@?s2g{|ls2`gk~VbC8Kz+WE1G4D7|3xE
z!!3+PvUZx$Qi^wJNqWT9$k2kGglILd-cTou(r>p%VpHc5D5ygS++QN8SDp?zC6~`A
zsQrFN&T-H@PB86^9+*DFgvH{Wpye8*FGwb$qGX1khspxU5=&K%w1FdDZfk$R+0ntr
z;_l7G#DT_MYi_z7^v_Q;h(TcqbhJu9>4b|Ss0c|nnmV<SDZYwQb;5SdSE!kd7(iDV
z9&7olFx_fLV-!BQD=et^yLWI_ervl@(9Hc9W<OQU^D*&lqGQ6bx7ti>8D7^{u>eIC
zC@6*M__ui4D9|!G%oK?<gIhf0_&ud!%vSXHh|XbN+v!3{DUMKNi@n)JS$(BfaAfCv
z{_L(eT<e2DdJ3fVBUb%k0>-YYihqq+-P+lrB8;czqj&PwwD7*s8fM&8D^R+TsdS@T
zl}xqmyU!mvUN_t630;cQx2CGDsrP0)YM!)cX^h5&=u8S?!U4TroW@{9ct?Y6u<vv{
z!(QYqY~ziXRjxGdc_L8u-j_RS7<|oYw}*YIvdG880!0|>M7BpLAACitO}~G?MK2R)
z({;x?D&(ivP2L_}y17$|x4`Y;Z^SbO+cc4dL3m9CFjJ}_>++*p(IZTB9kpfF_zThJ
zAywbaUV;}yoJ%gQJwj$w%lUrK*RC^0KB->@zS2|sYkS%LEpfyuPWKz!`pRub#aXM?
z{|v-{F(3^`H&z(LV#B9R>i$uE*t=F%<k-mhpKqi_VZG(otst&1dZIi^nSk5Bof>vM
zJZ;pT!wP8U&j$Ya7oe(Ci9nvPI^#k(s!hf<Q4aQ&rK35Vc>4>BG(KdKG{(@>2zX@I
zG^pkyt1sKJf?V-QA_3@>TGyXD=X>3j<8Y|ApXUjz@MybW?2*6r{=V8XvotVot}v;l
zMRI?+s1HH@f?)M{Gj(Nf#!DrO+WhK!X;EgJ(%Hv1x^H}yUy#DMF%)ZcPG<%aJNQLn
zi_^yRD|y3C{HoHhvR;30rdG$QTcE{-r5|m#rf$_cK9D}uv@M*)@w%Mik7-7J22x^;
zkeY>BT}NUq-eoTGe-odod^Eim!CL2%?=HxCb^0sq6f#ZJdIz+tSw{tnwVv+Svj9o<
ztn0pBWJPTE<xD!36vIgvytW>Nu&*{kp6v9atPNU(Ai>?4P)5E?tBsa^w>vU-dST`%
z_J=HP`)6(x9R$R?88a~`$_(P4Ewk9=?YVmc%LhuF`)esI&DEXBhjE-9^v8vGW6K6?
z832+ncXxEdDH~#mu{rb`vf>e_U5jB}3u|@2WMIAs5*d<1u+s*9V|QcODX9H9z^;S<
zZhF-1l;zn5pir#$jO`@L9(}lNMVuXtp<;7r%?M3DmlphlR(C;CuKXAiI753}BlLm0
z&ZsQl@Or6ZjFg<dq~eF1Q(Mp;(r&^{{0HCmN8W#K>gdxq9?ij_IkEdu7A3k@j|jgL
zzrC`zF;u<}2y`krV8&4MaCa(?P(~6mhNHn4W6Z&6X;V8sSW?g&;C1TN&H2tA<`6m|
zcVh-^DXTdte)>qH$Jo*%wZQfj>l^$xlqu$R4xx{tNykI!*y}veyi=zi%U8H+yz{e+
z?E<>y5!djGgTArk?C5n@dRik4#&2Dx%J=0e?hDycWU|D~fLWl#*6~FG(DgVL_9}0a
zX(v64dOGEjsp^T|?)#<@>n8^6t+QhIC&xP!-C8R3<C_+q&Ve&pne)FJ-OxTccHv(U
z#lc(3BjdBxHRIpSPg%5CCy8F*gpHtCWYwAsLFVJ7HZWpCf6O1V^&8hBXn$}x!0zCe
z?*8_upv6Q^>|e|Mo3k*{gFiNjp%WnyQ3(&#jyqu=M=tH!cO4m=b$0hXyo#L_dt7&@
zp|I^dy<Vl{QtW3Jf*-G#+6_L5gp}YcG6F|af%uIp5W@}~#YzOcVBU324}_6L_V{s^
zo_xBv$3=MSzo&n8hPV~omQ}`ZNHLC*i3tfL%(TKIs7KP=`J79Z4au@OaA}&}FP3}w
zvdoLg{`M9YhwVGi7E=V;OVn=KhUppyJy>#Rt9bM;vvH*Dw&d^JgSs82!wJ~&y_ovA
zVQQH1P&SOQ+P-HeI=8vlG)#R4V@rl2(?>syS*Wzn!@U*w`=!&3ZR4tzW&nsv0yCW9
z&~0Xwt4m4-nj@|nI^61&hZ@SlGEKgt<VZwk>sz=xb`#yRrEjkFV;6UM)APbZV;YLK
zk9__ucV8}#Jx_INdEOu7n!~4+c-<45uY%DHteMY~G3sn-O=py7au%};mT9%E-Q|@$
zEX%4@pPQEMSS$+`ZPd{)lAUR&o<pSa==KeI#X{kHe6D6sMMX;H{w{{baMOLCj?&uB
z)DkM>EpMRn%PJ&d#iT%R&kNkSiBV|hUPQ^?&tuhNcq$wC8NgReOE_IdmGf~;OERLV
zH?|stSDrc|<;7yw#60adYPdR`d~W+2a>%!8ZFyUYIO}LkEyT{I=6DFeh8ekx&cOjw
zCB+6|iw*~bMS!Kgik4hf%!A^NrH1>%GSSWHyC(QK`&9-u@`0(NZI-PnqYtE}SJO#!
z$)}>vZbo>G#KM>HWt_WMXk)}!lf$vNWqElU`7s(>gy*riX5i^1+HpMF_BWeGxp|++
zGV6ZIUWKR627t>*_tj9xEY=qDn#S16hV#;3En!MDM_i>jJ%m1&kg=YSa*IWwb9gM{
zlB5<;og3^{+$;HRVez?xN=)z@D8Ww>3(A#Nvr9)-w@Jm5Q}($1tiuKqKZ9xER3iDv
ztsOFhKuqZp6>VL6@P0HDz{69N^bVWD2Fb~~{CID?mBSV!&jwnicqf)J^UM&%M8G!)
z9E6Ry(0OPqq##@Efg|LOcKglXCS1J7i1yDb?#C0T>njJ+dUM;m=iR?RSso$Ppt^3S
z)7!%d&#AJMneH6Ajr|bZ%MuR~(KD`&-JC;<RP(Cge7jGZstNF+y!20w%av+Gly9QT
z9&+eVnz)Jgoi#1H9CJD=+Zb$IaltXwX%ZhzC5j0dZy$S*<tA&WM(osdA3h*|1McG!
zxU-*`M)G_bXH`q3UOdj(e6|VcBa3l3W{@-Jj3ogXMK=#it;#Z#@{vK*HUCba;k8Pl
z8|GWs^zV8~*#wVnS(_PJ{M@-5xG?N(Qx0!#JZHAia;-e448vLGLsKOG!|2c_F!p|G
zlVHf7u0VNfl|3e+Xp1%Mlq@lcbN+Jmu={JEWto)E(9f?WlT+})cy?KmG_kI}oWIAD
zEc4&!izDtbk?_yX#j&sCW$kjHY}rCPc@DoK9*amT(rA$3@n&_nh-UMcd7*(c-FPw8
z2Fo&~q{f8KSCy@{Lu1HG)e$`eay)o<CzPr%9jkHW+mpcE>iI+uE<;`3jCjP@A8<lA
zmPj!$V-A(XM8wPSk03ZDXpn+of}X}GCMi$0=mXGwHZNN-7>0l)SX>?kd+owuq#$Az
zk^{5h0E9pz=Z>VIk{}yRiinvaA+MqI%m$6ILz4dpAS|#?uh~kruM*{=CF7puG5Po1
z@sPYP>}%two0`!mzg5YKHyvdrRUX5KbVC5WF|(uXP<Ol5jmZJ(LAfwfX_3JX+~j<O
zr7Jt2LQ_0NRLup@8`B*>1WS;pc6!TMdykMgokKUAO@nrZuXORyDa_KikkbjX4BbY>
zFobRs1<Y9O$%S0e*h&mrQ&2P{BT$$OCD<>XI-S^qaN(P@pwGDKOkaDo$-o>5073(_
zkoYf*G5CYR?(%o@QSc--=-%&57fy~@1?mF^LWIN)Qbm-8^YY<3^x-Q%o*s_N!h^2q
z1;#@&6$kP(C>P!YC{-!;Vzo+{NYM}$E6sSp=aGp$U7Ojlm)Sgx$P#0Q_Kze%yyslU
z)7jYJ@Tm97;qbt3?#505>CU3>(>V>N3qDIokF$BQUreKK6T{Kq*a4WCo8BfpC@jgk
zAnrp<@NvY|7iTzNf<lr5kjG{nQr*Po&^_IVOL3(qbnOj~spxZlth!)ivo%%iSpq{q
z=53Ifx`i8(@l^!7vzf((G`HtIUhC6q6n1f)X`M)6$)W0*39HlTq^EwTQ4D42C*qw3
z9myVO&l%^7;P1(Txo~!3{tU(MOgjn$fN>P>+)W~LhglD1Qk3B)LV*qnB%TC1a~owg
z3fqrnS{|HUn{T-+w_Zg&MXNNQa>2UZOQhSl`HeJcF84Y!7~us<NKQj)dL6Ynl{}r8
zH0Nx69gor>o1oq%5YM=6I*AnP;Am!T+Kg~&G4Q2NFGI7FAAjcT@G$P_rtTUUciffk
zt#IWEyYHu)JNXxb*y(TXL)^!+%{<uH?D%}1$?GMh-n-Mc<~n=415nSd6UH79w!BVP
zz)r$A`pp5>wXhyJ@)#^Mk{BZbT^l)VmT5FETHV2Kf;>1eaG%;nH|LXor!kT~Omte7
zebOVP_n&GZqlXGC4&MIqe2eoVTh<p1_u=7oekr5u_rNVTKR%0XcV=%;yD^-;#=(cG
z4y9#rQB^gEO;*iyrC0ArM44lzuw{(lsb+KPS)%EQs=Jbvp`@;aU}Q2kow?2|(y62-
z?Pwq)DDe<UQu!F=u|3LVP=}Ttd*oiLYZC=qLe{&Wa)9m*Cd?Bhk{a!dN|AAiZi=$~
zAtCn4CIn(T)*dNJ1h2Y#>eEIhb&OerEaNEJc_8&@O%UjJD;T2(d}q2W)SYCLWe0g9
zJxv*>zSf3wB~flV+78x9Av=<)UitO!{dv<08gIMqiXtG(znuKwQV@7hftx6Ha?eS~
z-EEc<q&|G2m_GIFT2>;JDd8iCVFsvdb_$Q6T)vZj?Rb8kfXq+O<1@F5fWu&h8)J^=
zVf`u&{wZy?C`Rl%rQX1Bfa3LYCvopaZU{Kh*|gYBz`ur07DoApG*vL#v5?;|ab`gw
zwmXNZ*_&{`f@kF@>hx?<X$@7xM|V^5MC+1FvLpg;Bo4EDNvOi+Bzt$t!I;dIOYa8U
z4JK++6j{3+r@)xL{6a@jOryDmkcQ})odh5W0tO)r1SVyCipJ;5@g7_F&`q${p}Kry
zMk4V>U<yJnmg`${d6Ctg6V3C@-^Lpx$|r4Rp$pGCt4tmL2;8J~51dN_A$TZUB&#IZ
z%-<8X6PA*DK4sU#kJW!f+$v*UJ~FCi#I*On&7*{bJ5Y~Pm_u(ye_OS>+aUEh%dZz|
zex84XWP8AO-O0D+883cwoH&OSCQN)>K1`wCtK|;iY2)8xz=Ma95a4IY&2_Ybau-ai
zwFt^nf{jm9_WUI6j_ipG6<e_pB*ZZXo5BLq3_>{aeTfmni8}g%a?5Z}kiZoN!(F$o
z6P0JeMq@GSWB`1cNqOmFNY?o5x@+XkGUl>ezpT+cq0c`)bk;S)3Xn#agof2?b=FO5
zmrB1+xvdw@h+^Xnm*<v+nTJDB2U3Ms(_cQ?@xxqjz`Tcib;3#9=ZwgeC2HFW&li$N
z5M2RsREre8QpoTTHY=tSB!peth2BPPX-Qod!!$yZhOqRMo87gbrj*7o6#}$qFSX|p
zGWRdr)rL2{WsaF0V#|?w@{O-I?Ofvv_mKHzR#D>By=y%4u39<weEiwIHQQb<9W}$!
z)HKFP3cnr((VpHqTY|LhN7j?wBQQ(fN3t-p+8mS8l#ulw4j9?BwieglYnt|z*f{wf
zFe}$w$$S>^*;lLV@!m(KPR+BvueW?K-elu`H`=8-<{Z242yeGqr=0Q7rmp+-?cc%C
zwa?C7Ht$_ohn_mV`5|0vGb*day>oiWoHKHgwX&H?m80RJx-za+A=5~_7A*(0TU<GD
zKx@Z^&Z|qGqgvYQoi{6=G1;u^&hvS5mrqY`S66p_bSvfealTx7iZrxx9(%h;1GM?j
zAUu0b83U)oI_~9lS$o>=i^+?8tk$s|hEUD5<PMCKc!=#)MxMxbt<}>exT$R`NHLS<
zOr>Qyy{iVQYI|lDV+o}CO7F#RcUqow9%wkxs2kCjemH?<x?JBin%S3aO~U*gb;*IQ
zIqj9y7}>^aof^v5z7gU%MmuSBfhNY}+EU?bHiPOHidf!Ul|Wy1Iz!7hUj4kz;mgl=
zhWvHW*wW&qySZ>AbpAW)`0QHqHl}MDP4XbN1c`}+3i7N|D_z2cneOTFl;V^vHG~dq
z%J|zEIi;!;3FUJOMd*8LjRK2zOw^=S*0B}e=beq~v~zXwT_a2^ro2Z^jWxECt`3^4
zVpNq}>!RL^w3)3kGC9i(HpF>xp7$%0M=W<);pT!0_~rX=Ns9sw$4Ju47$=C;wQ-q^
zN;KSnz?)QQ)6rTbjt>}IsnrV{x70Gc;!zfn%JqrjP(p~cohsr|(s)XwaVkuaR%La5
zYfsj=;;Q#?*B4db`A!Y5es)qU;*OtHtI>}c&x2Hn;>tglxdL?!GoGAHjO(!iiIgfE
zMvJ3@{p_O1vOUh_&N%LF&KTzo>oaj_OMwE#%;PnQ6jqDAC~<iT)wGPvBp7v199BYY
z__>;r!z^nliJ)k#7~49^shL>E-H7<k*0iM!lBQODL@{Ej&dvzpuZ#7<-f9%p-p;Sj
z%QxmzlQ&!BX1Sd%K?>QumF(2XkmyWVRmRANq_dIRgsEG;0Tv!uUDP$H22^pgc49{g
zPjqY9JlHo}$f6C#IFEWo8gYksU1vI**S5JX_y`<vsV%|sWj{{tW=)%cab=##qjzr&
z@?owrjXrYPJ(_Gin7W-BGVytJp>mGRUq`g<(=aQ>rqlpUK(fD~X<8cEVir0}IhpCG
zXGE51qfD-4N}!%EjM?y5Q%T|?_PnW5$jLD6F<P&jIS%)xDXXQj^Tu|*pBdW2GOBAq
z)%ZPEHhG!O^<{X$v#zY>76$uQC!WiWC0X)z@^|O2Je$pi)ub>}lf{s%A{Pk&WIJx9
z1Ie84YfKTwv{yQ3->W>nyAkn-X>S>M&5F=8lNhvZSDf!QrG%ho#;k(t3JUhDru54(
zUbKXz7(>(<rOzj}^ez01TQk3F-T#-re9uy)Zsx~deXms$X!dx~=OWvc-kw!ec%rLX
zsC(iv_ZzEO>pdt|C`fr=^TaarIlVDPIUJxjrY4w(cKJMgU$Wl6Boz^cIh~U}N%Y)p
z)zG!1Mgg4Pm!Ns}N>#QL6|=7?-=;06;VpF~1Xm}@FBr7-?1;1uYAP%(-8Ck#YgdV<
zrdBYJ{Gm^bXuDX!rzr_TnJ6iB?Qe^ECvuC7T3NZQwnQvkmTxJ$(NYSahFS4?OHNZc
z;*pIVnTCgzLt_mURM=j$ftSGOsdrrFQId%~3Sx88slH|}8C6}et_h~YR+z-0@TkBE
zn+v_%ScjuGi)uc6uEw33hhFG7G(7U9)K{^l#6hoD4`_Ar^P4|`b+wDRfsl%gp($~Z
z8yZVUf`i&NSgJUltx8nHCxJQ2C$mT=d9$V<R8-LSA92>a80BdrBsv&VlO}PXGsB>?
z;VDiz^>2xlvda80wih5dCf@i;8g}7YW-3eGy;9~wfjalalLo1n(AKI3+?8|i+?#RG
zlU(W^2K4~sjfsn!emUb%Of#WZhdp?1m1$KGig|BSBq<^poZKS<K%0R~o8FH&t{L9q
zF|i1lHzeLwqjnQAGYPrTECw-#uvSZ|W2C&5s-9G34z<El1Zh2QdQexZd1aJMr-#o=
za75NsoQJ6kTGovyy+b5UbTLrsA$LrMmI8GF-Lpt0%w>*JGAAn-sZyADt2ZfCug&q7
z!=z_#l@<2#kf`q8Gvr^2Z=&Hg!WuQWUj|+dx5jH8mdwllbecSy%X-DtQCCNQot^P$
z)_M!pO!=4R<DTJbslH#`I^K*oZ>r{p7WB#sWh)?hgwzj$AX-j0{+sZ<?}TH6w9{b|
zjmhr0k0Er=X_andru<3$&#ftJ7(U!_U6%en%9jsN*B9YmD?me6IxWl4RazF=jn=UI
zN!~EIj_fAb=}sR;8rxjs1fFdv+H`I*bQKC#H=J3Sp6+qZi+0gN530hv+BW-gpDjl;
z{%57{SDNv|%DZZr{g)MKlgqH8)qYgCr3J<(MQ*EiuQi*(2F8rf7npEiMonEUalHjx
z<2^bxu;%zIpzrW|D~BflYm|T?FkN4IGr7)cKh0cO<HO-*5H9B<bqQ%ka4FhR(Vq;p
zt!{TRTsU;~(F?h>%P6lQ-&ToAGA;WZ&RJW~wKFDXMxRn^FFXgKhqe%>T9p!&%}xRG
zFVRs?-lD*@`yOE8K6q$lEUZ-t;uxcO`8%0CdML>UMo2Nvd7fev4~vUo{TS_sF4`4|
z(Jj5sQ|dv&6Fx;Tg(tWvDV<MK8s#JHRb89RV=d0=iDD3S0yHKXw}%6{#(meukp4H<
z?AN$%HDLu7yh;(U4u}tWBC|^#%TKEbEsbXrLmd+{p~OZMZQ&9(l0pF_ms$dB%?LEc
zu6)cI!s1u~^VLiyC{smONlIfKRMMhuTUPkEiqD1&`~Db2PM+qBiQ$D5nNnUUfbO8>
z4CxFItcPSOq#QE_g=|BFIk~10hF!K?GxFxOw21PhrDrWqu6eZ=VoAjhCnS{$rr+E!
zcQI!GBNP1UAmN231`p&u#SsV+yw4vWkJq*sBk2cBtvWne*5oOp<~70+1QJLjBxu3N
z%czhrYoZ21T<zR@_krm@Rygch#L8@xN3Kxi<@6I8Lla7TAIEV9TIxt}Fr2S2U~?$o
zfy8oqT6_~iF$6?-d*lq1aE4-KLXRig%mL4)W@cvxqC6uB;6^DT3)gTyy<jm%6HPS3
zpn)>zATUlc9Wb^5zM498;b~qQVI~k%v6oo}8B9v##u1r!$blwTyPrJb_L0WU)F^Oj
zA+(gCn^B>PbY8P6ONsZchkbu+>)ebpL;2T|Y*$|W$8mns2EPAC=xIzRe0{x1=fZK;
zEORr4!y4M;UPY^irQ6u2B$r_ioyek=0?r<iXwFcBMWU|LoyBf-S#swmG=<#WyS3Z6
zX%x@6`Nhd$-4~s2EJljFq)Q^O4eYH<r+zk~qcA<<sHq@QcaxVl|7W$xQq21Za~upi
z5i2*-K=*{$aHn}jk#Lw}EC-H$XL_Ej&G1;6a<h|{awRtn>a%Er%~RH0R_E29Zuzus
zb;)mkcQu(iR-GITf0OH)n#2@_DhFkrJ9j%x7(6q8bMtVK&OKJO7qp02h(To47Wrtp
zfalh!w{{MPykH4Tr3IB3qK$Y5XE)Z|{VWrCs5gvM`Zc+kp8p%!zKr$!e0;9-2X4dA
z`Ny%iPHO%YfTW1e-5Sz_h7u5jAqYT%g*b!Ft(VxuiWxG;P_(C3^x3%X$*Jir>=pw6
zUa;8Z?fHB=cpz_5E`tg4v6;gWS?JKgk%std>EFq!50G^;w=S2&>SqwvW-?86Pj==i
znYBl3W{L}T>0(a>jU}FQ!eLNB2DFdmyME~zU&0M6bjnznj0r-p>^m*S=42e+&-Wcf
z<0<gsagq6I4#Zq#^AY*<9USHl%1qp(9A@fEhMb_(3%hGfTG(&LPro8}hSX-TI?sYr
zM;JaP<Jr#Z_B}bKe0rn4SK#3#5R^on=-$)Q5-Rh(`I5qtXSwvdVFhJKzIX0c^JZ}L
zbHUfptQIuP^|?0UEt?EyOM*bxL)0QjSY9HIsHL(!=<2r2^C8R)Iu5~nZNK5%wpRQ@
z4IBjXlREjP<0dt28L0;$2sy4y7ndDgxN96k^A}UEEC<b?ejA1vdV7qfvf$8k2zr+Z
z;lnV~;94S*B9aCsF`F=$vx*a^Lllh#w-b+9$I)~9zJpDC4TIV;vQM+zpT9`s4GEC!
z=fQKE%`+dCT|~DucFJAow%psbs7luDDN$V-tXu8K@B7(+Fpd5rUtKVyfH}C%!rE-*
zH%#0>ahbeS_HdZ7MCfA;xJ{n3p+i-WdS|LA-W8|KIqiG|wwOs&&L=A2j*CgnX>M?C
zBOG_&^QY0gmgRU^6c)+bi73^K`|!?5DZhQr>C0`*>rD(gr@y0*YLT5#J}iTJYYRKl
z78s9A$&{`nVu@ulsnox<q}X`p5N2cMT^0r@QSj3FO;=84>0^%QzL-7w(uyKS9nEHh
z(CPg6%S|&%^3BUM6!mmi6KN_L70KrkwE^MQyS!7wiV+=3)RR^{DUFkCjMKyf2w2Iw
z;@w6J>k7_V^SMH)4&@^V?m&`kw4E?KF1cQUtQu`Iw+^_WUDK2(NSqJ5y{ql0-3Wif
zyvO_5%}<%t?(=+?D7~?XPK-yONGEdgy_s!m%27#6y0jLp8B3zTx|`n;=5wyAy}mma
z(bDU?z7D$VVR#qzX79a0@^{@lR-j=mUNL&OUZKxtmRNN8^KVd|Q%@L^TDQRFtM#nR
zu}y3hU>_1yqKpaCDfiM_MRX#CF|~sjajFWNPUOm6QL37WgJFOwNS0a!rz-sU>Z8F<
zNxKd`4DsQ^L14*hpASL9GYRfc3b0yd0KGkSB-pNzg^-dZ9V9|YbKpfqQ%XN^gmtpC
z%D6%Os+*<iK&Ko-Cs3&d=<#I*jHklL_#<vZm=U(y^8Hn!u*~gsBw-=s%A|4OYf6|4
z1z8W?n{kese%ykXBT5gYX}LVIaM2YhCT1ou$(8qX#`*4Q{Hr8V<@q_`@{RK0VN?1l
z*JHWEcyRW!Fny_yjuQjQNy4)3n9Lkdu27&KKYpV_70|DFx<ds%B4g_Q9kk{f_jO8k
z7MoatdgXAL-SSTe{Wroo3X4<AxpBk{`0gUBiRn>PysApFns7+EC|TN%@_RaW<2DQ`
zi#Nt`lf0;6Mo6Q$QFc}8N-rliOeH-`wfrE+t6r;}>xPPHk7jd6;~+L+YWeKxP0(=R
zZnr}-L%zRn>^!%=$2~aXZ6mt^=63LR%}sdmwq^7vLwnao%9p{p5(!cBoU(h;%th6L
zB6H?g?n}(N6%QiU$&U^`Uhfv<atwr{)i2rS*}_oBGa|&LOAL}iKaxc0IyAX~(4k3?
z1i}{)`g_r%a=s93^0;)`#HB4hv4Q%~#ER4@3P=a$?K;*XN5b==L&OBw@bq#!BENne
z+YE`!@B>F46XU`L(B=o2GL#I;s-hqw=`o<e1QBa9vqnlJB4x3t%|sN0OtD2)reKH}
zsK8*Lp(KI{Vrd4TkYZ41su-A>Y6vY!*I~F%HrmxyRaI46I0t)-?(UyXx@=QK4;TyD
zKZY_5$gczA7QLUdY^RN%5~tEjR2h&HB}t*AlA@AGLX*37cXj;bJ|8kMuPi!!^SvRD
z^sp+}-knBorDeJ|387+R@rIgW<r}IGKb(Au6-cbiY3gQX54`{fTU5~#1TqB-u>tbo
z1oX?nRU#=z@Xx4|us{}wgCvB~6S05@{`Hd;2^3V34N?b7sDz@ZqM{lEiXfq)q@ih8
zppx$K*>aQsk^qu^#LVFWU}p_B{p}&UuhrQ6_}~PP-WYu!A{9Vv4(td&ol!#Z3Zz>S
z(&|iKtJ}?gZxJ7lS(jB3M}{^w3>d+Wn`h}eh2QgO?09C66V%1q;C@^fl3?_ePvZ0E
zlgpAkttVN?=L71|`c4NB`f-Y-C?dVsQ|~7+$A{9RiNpm1A&P_cPEnx%>(ZHK?bw(#
z7wzG1ZT9#}2@{jv+;zf#!;lAcFoqkHXACj?dz5>4e>z*}X7g}~QR`uuf)g+@OfwTu
z?H`$JG54<Re>d6uWW&I_ZzuL1uhrml=kqP!phFJt!Q9=3XJN6}buNYm{3k3R`APR*
zy{T~2o#Uo{+E#d39~tLtDlbM)GY%eiUW;Lr;q2^r`{2V~iI4B%H{6d~v;U<79`E=Q
zupWOOKYRE$O(iNVC-d&?-ba60{+RhbcXj<<!{*Z8f0w5-+>JT@RNYD((=x0f;~%&3
zB!%{VP}qE5*?;h3DC+lCxYOj9f1dS6*!FKaH~IAL@Fv)!RAbfX^3Np3-9V2$u^`}?
z#y=oT#S~}o^_AwvN`H3~EXsDRW>@v8+;4!%FbF|^rdy-wInOru*5ftMKVQS+G3EVT
zyC1}U56{F0%K)6^1pLsVQ9u-?VLtqjU>wRH^h2Z|2}1sV{Cv0`kiacM(JAflZLs`b
zf7ZxqmwLecy9|f>h70aI{~UW9R8NkhNTmOi`A=c$H|x0m4gVP7oxJ>^e1wmVVn7iq
zBLP85bAg2q!VMu&BQOK^_E47wLyzH&LrQp5SBxDg#<WvP#1ynsAT%Vr;-9}g7H&@x
z3JYL~1&I)$&=pQ7utIrx9tlNAM4U=a#9L}!X9RH%??F@{>NGV`G&G(`h{Yij5llra
znkXm=nIZ~07fk~GnFpX2DIo-;7@~ml3#1g4BN3rJt6`?uqKXT&_P@UP?o#s+e^^mB
z8fpGQKUP%GM%ewv(GxCM4ev^ZEe3@8q2@C2oo^)6CJ$&XPW;tn$I^Z{4Wa|{>>p#d
z=?PKTyp|@F+=fy>%po7ubPe?2(Z9cce?g0|dw^lWK}4MGCoTtn4if-E$sc~3;{*oB
zyDm(It92JG%n6t5lL$x$QUG=^sz_kJ!co@__KPTh%M=R$oS1tb_3&(2%3Q!~2qKRh
zb<v^H567N+3@nVO7KVX<*dgKe8pA;d=^`w#P+Jf)(9sfQb_^|93OQj=&Y8ky!2Z;2
ze*mI<%4yLNt3qf-g_Q9mh&7|g=xjZQNPD5TqPlVEMB)i;aV?x##T|2W3~P{SY#LOG
zAQ34M6A^)|Ahvce@-*$EP<mpxV9>=>_AJ`DY(T-qIeCXJ?OKu3nuXQN%*&3qPfJ=>
zbcIimhM1$EV;PTm#lDQ`+go79797K-i#jnB(CW321PCs9KtU`PH2RQ9iGh-45=243
z+9(@9*c96nXO>vQwqrZeAwUHdQcUv2@#x_0TcL_Jxk(l-K&!J-cG=QOT6Cw0(d6jy
z=n>1Hdf+tz8bc_cXf$>xr*LQ+5&3+g5ygv&(L=4>F%5;ZlV^rd>BB)17amO;+1HeO
zpzpCBmqvYv7eh1rxF6#vk*o`SeLrizFwdy@cRX|Or2DiBY^Nuz$<4|4P0ba#Px&P7
zQ-V|2a##kTA_hOngW3t^X$n#Yt-u^@{COj!Caekhc}CKe48hwY&gbp;{K1T1G!Z=5
zrwRR6o6>oMTodvd{o#u<3VKYTWhe|^o?^j@A{7tUQw-h3s9@G0$m<csOeBqdqx=>8
zi`N0AyhHY%U~{IBEiijSDS#m)ikB;)z~}D5iJOzV_vwhzf|y_im1IB7`{VgBZ;@oe
zIU|SQ8=`0@Kb!l1&5L36?-~R6P#FKd?#EyDp>`kQKWoZ*iIJ$k8SsfHOuqL%`&I`<
z6jD&6sx6j(+;{M>0Wp4|(FsHSeWbJZ@WY)8mz~HzKKMUzCmC6-g5ff8=0qPL?<ACn
z9mF%F%p`8`?PdukWb%$tefXVKSoo|-n4iMoa!omwcLl@I@&9^l`3bk3Ze4$T&!;D>
z+a>a%1lpp+$7AwQR$~dsTB5RbAo($r9XQb7nT?Yj69-|{g%9lz-JUMuEG9D#?OUVa
zc#G$DMq!D-qX$il^39{E6ofpHkw!Klvp-|EZe2HB`E{8s=Jj`m&m<qC{`^e5?KQ47
z{;&Df#>bE|&E@sHVY~UVlUJCGMO_{J6XH&|zIG<bqMRLvNB%m|iW?@3@^rH#Qe10T
z_5Y{+on0zZcKo3%_e3xu0z|iiG1p1XuIJL3x5w2_br)O{A3vne4mngaq2xAqagClH
zJ?2!2IBqS`gv>BOiL-UDGtP>TXMA`y0*GgugdkNz<GrI0$n(G^(FC{{B@;?#bG72%
zc|6DW&%`%!rgUq0o6bDH$HJWFI!?Zdvj!=VqIOxwpL8_ByOZ<WIl#cK{!*WsZ-xNo
zY1dToR;9vaWdwsYO1WaUDVgKP`g!2)jK|x2=`yzzWm`})P8Dzy0|<zyL`QG!I|qIq
z3yZn{<A5R;0?0;^rb!bm!;`tS{}%lD<IC3__3L}{4kFJkZu=8@MsZegI?9w*J$;sV
z@U9r)jg8O2YGCgALmFafGHv<I;h8&cgG!4`j1yFno(?5ab}UrrHVu1a-?XIZn)UwK
z8q1$O*q6bIR>aw~*%3L?QUYnBG_So?>bNb3AA-Jf`%jn%u-g}T9D^NDdxa?2*Nv$v
z`@++~1Bm61h!*|WV;fu_bkl5CCr%Eoc+!QOK<R}SRTlqWC#Wwm1rszDvFA;(kCD!j
zH?z9$TB`2J(GXC?8)xTgVoYw~2Gj;*LMZv%)vA#(gLcSUTDviT+E@0~e74P1xh2Rp
zRd%n_d00@P1Bgkr$_^52;Nv&jt7^75)`Z*8H>mXuYz#1ff~X$^_?*Win>Lz3o_crV
zJY{;-P|E@uPSxde+ecvtX^gLtz2yUsVvPjxz{r=CFu63-M=@kq9az#BlS2Atk>jl!
zmakjkShKHl4v1o{PB6E=s5C>J)hJo{8nC0W*rJH)XQTnR>u^?P1ep|M26q0%l-_%u
zU}H6+(1Lx&IG&wcFjpXWja`A=(tvjY!L?@2r%eNz*eDYc9&k(MQfQp9w#Wf@0krU^
z+r|Oeau5fk*29B6optkPP8gOZevAwt(^=L;J03q{efGbtE%xI0q7_v|b22v+j_C3;
z(*!@?FtOiA<B;2LK4d?0ual5*4np(r!-q;j5YFK2nF4j;;o&Mw%S;a=33Zvnx|}nU
zjjk7))6BuU7Y>F#uUa!0#?vX^&M1`wP-qy#PXK1<i+bXXGvjgLvVu9mMTAAYL}wjP
zWHBoFl>Senus*y|v3a-{$i}oCi!7niVId|N5_4T*+9S<?=v5^p3q{0Z(9V4f-Spv>
zSWHn4+SanDGCs~(HA;plOQ%nL>J%}PIj38qFe?r5t+G;*kevfP4HrD=*B67!o^z$B
zZz7^53Im+tVp-yYJ2=U<D13B0=6GUzK&U_o4mvX*1E{M<+Hz|3f1beCV5%71GESL8
zAlv-rG76G&dL)MbqFX35=+Cr^CSv-P2YzJWCszEJ^i<kIWqtE+-hyBo_hiIx5MY?m
zV-Y@+G2h#4hA<z`^ZO!gGqVXxgCgkX8;E}&j(_D(6Z3H6mytF;qvZ5{Z(2QH=y>1s
z!tXyhp<0LMuhSgR(2%^IPu4Lawo)hw&TFo42WR_{X&5YH2Dj>z<kt?vCYoO{M<^cl
zgTyo48vxD+CU)J`QL<yTj#;pXOeR7@;dE3w2jb>lUU|`7Be0On9i|RwWRxx(YzDf%
z6*&g!;hGOW!}|*Gj#zOJM&2Xcjhm8m>Zs-)KIMB}#!;oalonfU#N%#AF^x9cZMSGB
zGJVJ8e}PEr->mJ`?GvMBW+lEwTI@Ol-7m6E)?{sBLu8u5W4#2kwz`j~!9fgAwu7&;
zx`O#VbCbkXm5HP$H5i;=a6)z08aHIbOt4fG7Q(?&ox3V-s41Z0^Ye84*v51^I3DbV
zn`>^(eYryIc6VM=LAU0MrooID{CSU<^k)$dY<m*w2#JO&Dx~-LY`na@cfj#1OBJY&
zg(+C3)V*m}oh1^BlV=K>%(S(zyjdcC(lxUyRF1eEYbq4@-_YmW_UE>d+@cG)+u?r9
ziM6?<g(F^S|8}?UqGb@6aCF3FVBO(1kZlmeN!!rM4d`^4B{krIFR2`Rfyy^ixLiz*
z$jtw(%Hdx>Y`rMmUbgB%%sFlzYCA+DS8lRSAnHfW(>6C?A-g&Bhm*EqepP+y3}C??
zU1+K<II)X4pL9}eRW_%_coD$aGY|g;QUalF>NI=p97*OtRTsp&7C}VQqOy+TR}IH@
znB|vR%8J>kO{@l1&}W?k{T69;ZGFR3T>}%J!`~5CN!Dk>|2qcGqvaGaT;Z5@UI^lw
zhIjKKpC4XK{}T3CP|#tI6AZgMrj120s)lj)lQKf{_au@@B})D^>NEvWsid%R-Sda^
z3T#Y}=c2ffXW;RxjamAkf@GW2V%F0w>Z;A+X@=tA%K>4fz~dldV9;5ZnC2vIU(me>
zpSNLNa*Fng%y0W0$o2mQ=1KN!Iz8yJTQ50%^pc37j^xds?(^~V8bi%lzaMxxx6=Po
zWbXbQP2>nqOpKE7o9|ym9*UHTD_VqA>r+YfS??!}1Ke?sy*9#%)(QTn`EWh@x~%iO
zn0ds}DNLD>4Njt38bkVg|7fN6J-A#SGn-fJ$aqY>>NBNaqO&FpEA>)YPNh!8GrLk`
z+FS#>s;?#;_lAwx$nC}2EXTxsAcK}^HxrXjt$C9Ms4;J0syd(elWj>Dy8$YQBUx_H
z{tJ_DMIo#$vtJ4IosX}_nqekw+?>qO1CC}nJ@%Y?BkQ9+FUJ{G7G{`0BnhFI#dV+$
z#Fa$1gt&Ses)4?^#z`h0&hUkcgN1j~Ib}xXk3s3~w1%Iu*lnGigbfMbRJqo0I9hfb
zqN;RCY^a~@wP@LP+`uGViZVZ6K?qymlJ6ZfLuQ2}=ZUGme5XxxCNP08Pu;kpmJwxZ
z`+eBX%+;nuNZi}>dqccq58W~tp@L>hZkESrf2ig}>SHkVz9FS)0!<K->lkd)9n5at
z3nOcg!aOUvLA=7-jN54vNj9Sq)z#~#0*n-{-;WU~h)5KKc{u(&xg?TFB?k765`gQK
zUE!arh9@Fhsm(OdI+`-Vkwo))<OrrvSe>LaShwd^Dsg=+_T%b1w;P&X|5vD~!GW@)
zpOQjvN6{g^WX3-0mA_HE^ul5|0V+aj6o_=gz?mSR?m}M!d0_%EZ9Z}PF=c_Lm(E*&
zOwD*~-{eg#%m?*D4to#WBYCN{7cJvyAo@*nolqU!-qTs~cS_8Roya{+;B=Ev4T@#Z
z=|Jzyn9;G~$DH|%`>HjB1cd2tMu;PD;pW4E57F$Ek{zg@#&4XJ9#~D#hgt9EW%Wsy
z)=s4L?hSjVO|%Ss692T{!{_fjMC@+(jAAz{&zn>+R7u+d&RmR8S8fv!9r?%__B|oM
z>o{=;h7fM2{gPscz)T-6{zqv@m&0D)=BCoO`o3wyDkn5N#^!c5^R#Q+(-{Y*kimK8
z^+p3GG_0i9)j3HHdD#awOD>3KJVrr}M`MmQfb^iiK!<c;f^<8mV<Z$yw{Y?;x%dl8
zlc0LMb0{>7?u?J0<~{cEIc~#dz`%$RL6G6_&Ct?h$(acEnn<aLorWy9GFHR1bL%}r
zm?Jt@n6}(vIt<HRokrr5VvF+Mw_QBdq*!miS+)i<-8naIr<V*yj{yz-6SPMh&zUk>
zV6TTgo=qlcv5O$PGp@~hwxM<?)ET{K`2G*p$mz-30jHqjJ=;MsB7?Ohl=pc{SyZ|i
z?<_D-?05(d%!839*EbFgJ9(?60BOE*84zXZZ4wGPxYRfYJ<mzza4cih)In4UKiwFT
z&r~*z7cj~YV_b+Tc_vMHu_*~r;sQiQa<U7#MH4Q7NhV2Hb|z1Jx7*+MKB)#2#{be^
z9P?wWZo*wt#3)F@(E?w;+xXa%t$EzR2E_knS!yz=&+3t(K$JJ(%364}&wFvJH3{r$
za<50Hw$qM73VJ<RQ=%v)P@8=oAi<KUybC3a_v!nmV~r6vt^vl3B#4R{su$$u$C&S#
z3M2?akrKWV$MMTXVHvE|uWDxF=gh%}Oab42!=<ujs+w<`wi;4LhY}lRym~M{0&M4c
zOSYfRPFVB@=frlZI-8!mt|K`9Bywq)p`p2Q@|P}KjKn|CDeu(9vu(S6u#pLv_y`Us
zBNjw|N<6Y35Wh^0cPV7fLg&wv#3pHsHxnTozK`zDn-a8Z%-H$lV0sGk{VRvGTkF3&
z8n-w8CGj~uR;ze#Je+iWavb$6<MBqz{XM+5uxK9VZe1s`fH3SL2F1|c8o$(J{l~m}
zJYFNu9oVmwiajDZ?kZzkDD}9-3Vg5;+VXjyA)zkdq9}rcZtSS{&utRY*Nv|DyK@^Z
z5Pzeq;`>wMqVx7}?d9dyrw+#Owd7X4Rp#YGWOJ=LhddAQXZ+mXo6iVe!0jX!<*0w-
z`TFVqRH;APkNn78T86s8zpwj_TpHhXd#k_Em7qyU!}_^Pc^rHtLzl?^gp-}UPp4%F
zZFhQne@z;PhnpT>tGa>wtI??|mhaWU`MC(5OGqUjBg;<x4K{E2egW(6I%`v>J=i*s
zo6d&g?m2Myb4wyTzMlo-yZQXi|K<4qPY*WVCYyC-m3)6g^RK6#f8g{^m8M<J#Lccp
z>on#5Po`$|+-2|4@jVb|Q&Nw>T-~gl%Hc}Kq&|JS0i-)|o8XEacEZA&CnpWbo(@eJ
zkny8|)F8u`zM0hK!{>fqI_(~VV+#jW((C%P8Mm?;7|1K2+}RGaQqkV?iwPl|Lt3xL
z<h0nCn<o;ZnE%bJn=PEl1$v)^i~A8-!(R1NV!OE{liLq=Xs}Q}0IgdYC$uE*x%O#`
z__Sl$_OIZ+7XBT*=h|v#(dveTmd7@Lc)<)rDVod83C7GSn|~v=(SdM?ErW?nCJrLw
zxLxNFT1cg6@knaX<!RcFmrj-<$9LLcYysyPb!4)h19rAW$5DSbo0?vK4}ooZ_~8P?
zeaR+sEvZhs{0-7yZ7?H!Y)Fo*+KqbJS*becb+_dl3ZBemjycC<4JJgHv>c-<Yj`Kt
z(f1T%BUW~)cfo4KpL7wvqfxPyi*lp1uCc%+60W8Zx|x=03W2yiC;OP%g*L_pf>tp0
zv}25|y#Hoc1yA(3l(18`9rWjDtJ$6%S?J9~)M;e%R74LHMGZ{XXVLWgeIJLL4!^&z
zc3K3Df0d`~nfU+B@)irtgVASWu`^Ii!?XcGK;j7TVMo|>XZ7~<Deu_uKQWLr0Q-8S
z`By0s=7{b4@?nV}NuW$h(efC6AVFO728**c;eHexHNmm+kD#;SG3MoS`*#^`;r>6<
z!LdVU?xE~1>$k((x7+K&P_6oX*s<tCe2FafaK|@hyij|6E}(k-)6)^3V*@QnZM8Ni
zV8q9-t%RyXk7AS#&Tz{Kh9(#}u3BMLze_;!YrIx-ht7q}zC4!LZr(i8LhApQEqxw;
zxAC8sIsLjw^7<z&WPii<;lG;yH?}+P)gPzOvre8D>hA6P=YX?!?-=&Sr>8*RBj_A(
z|9u%LewX=Uwz4}{zv%_65PRK>P~WvRG5q}a<#l;K@Sh&x!k9B6tf*N?m&iM&4(d?w
zShL!aaS|~TuZizTGMaKD6*!fo%{vVvwjN5pW`Zk;V;_z(QoyiVG^jPZ&)0hWIytz1
ztDcpPszAQTLP-YyPT|qkWLdvCOeA2_;0`$e>xVy!5w7VfAPUD>^-qVtD5}19x5s}O
zRO`OJhi%R0n_C}lt-~yI>6Vt8ajfqx;%Wx7oSCeMKypkla*f3LW2?JYe-|mG<!QEZ
zZ{dy0>=OrXI?dmroBKI*=no^;hu0J(Wls4wT<sCH$<_{H-b1rZ9)#NB?OQtqL>2w~
zVULnd#Z#gAWX*Go1Gg2eHT&6^8<QrV#8{ekd0KNw!7+d!KdWsN)4V3u#?^AJM{z<W
zo1|VaaKEwJr_E@ma%ZrN3?wt_CSqIBIuB$86LNCFsVQW9DqRyDTa#A>e$jL1Zp3k*
zvF*Uhf=5$+LTEc#)!h1s9|E*|6a~aQogcSp7!}LiGZNU3gFmP3P=OG^j2d5f$aUPX
z;gbY?R}_g4Ak{E6Bemv8%b#rB7#L0VQn&5$Eh&vyH7nd+8K+uAqK+bA?{7v5jP&f4
zuif1ep^bg*0qtx)$=I{6_+Ak+xA@Mpw-fc{`cxTuJ%ite3?2TdL`mLT?zE*TNzqc2
zr7I)B4ej|(_Uk!y<1anSp&<7m({`^O9&;QG*k)KW7HB%<z{Z+XuP->_Th!Xlr0AU*
zQ*wGHCWmAftps<cDo)<JmX;!5sx(51#&aWY2OETuTm3MrA7_n~sX+=OWh-S&#@8?@
zLaK>wTW-dk=G-*k)|mz|u9!o$(C7GVM6}F4avo0u=17U5w<exK#C&XGIY$_C8O6gQ
ze>-WSA~*~dx^Zk<gHJl5CQ3@iA~YAsii(^G?v@|hJJg^aNGExfG2(UCU~~<y1m1)Z
zx}SC)Y20v#NW0~I&pkxYAkh+_oh2ojl;;Rr`(SQ~teBb(D^eYs?M0<VXdA%*IxC3u
zvBFuAT40!oOy?aYJLjK!WM$6SdL4{4L$|uP!+3UgBUu(l_vksfgvC=}i&cG?HJgPQ
zibuzW)Fof}*H-7(m7gx|Vn0mvnR~|xU_zG<&`56Tbr3lEx(^iDdu7{?;%6pe!y<>X
zgm`V!p?L0DaDDCOq;>JiI1$x3%kO_lr*FPg=jM45o~^&qaQkVOJ2kqwOrcRTWNPUr
z5bjW|An>Sypxi!f1o{C-%Rbsl2EW{Y3!pJ3Ernn!jEttm2FOh)167Hz-R+jU^!iqN
zwc((o;hK*fdnI#0CcAFk(WIKxag$W#rkZ=E*)qlCVQ~AWM5vr>XvK1cNj!2}jQ@$u
zl|KK)%HGk334Jo8Z$AlpaIRR}dcD1dpM!S4?%(^tGPRd?76$%Bb2c-(DH_!k71A;`
zhM;kOgz18D*nS5fb&ARa7&2o|2t+ef-tWSgN=~SvZDYgZE=xS>N#z+nR|?OvXXcpY
zsohC7dwK8pc;{Xk-p0=?X%}r(TPL2>d<-32zjC<ue#?Y{{xno*%Yl{tC<^>Fl*a3=
zY;B}|g-wL!NUK3k5_D{{F?KgBICg|`Mk_NM<*@>E?-LsrrR%#3ewuIHjMR}t&V6~|
z%4XY~Y*T(as}tb$L8@t4dm^c*nT`pmxOS@Po3{P&DF)=tyDTu2zLOY)G?h0+Wz-;a
z#)xc+jTcY&b)}gpnrJy|GO0Nj*N&kXSrT0|kCSZ$CM7b8My|{J9*owj>$9GGZC9}#
z>%_fk=bSqw&8)ESkD?9^IISa@nvL7HA*rPKBe+TPTtTThgB%=ZUjY(}>mkHlor>@%
zWPX>eLR&_SAd((G6uVY4?>Ib2%KyWQy9(GpFYN5xCOdwfGbX-tQe{0aoHycVemcj|
zt|8ACoG6O%`r|N}ayIL!+i>F9bvv8LR4b=h-ikhtUOMkp#TM1GncAJDJT<BEa(?&5
z`%Ld9KT>1jmi<%>=|Op$bioWn62IND4@2Bzmr$MEBcU9;&*mu>!2KJF`1;kfY~+v{
zNwKkq_P}C@nrstwCM280uQ)d@7f&<^lW$G7mLHPLMbKq9O=ZinSe8>Vf-XJE6f)mB
zPG*#wSfvn@I$0TzA~08CuKPvC!-IwTI}=Dku7+_SJi5mQ=r~+2e+0qRI3c)roaBbF
z4JkQP9g4=O*|`1-)0UE(Xks|oVB%OH&_Hm(!iZ4fE}Y^IPI%!-bvpsMNgkBVy<nJ{
zV^m{ThC>={|3wd1>8)k?y4z_XW6<x8KKCO1i^4;BmVbAV`F(ogRaXIT@aN?b5ybOc
zV+2muj&9^&?H0c#SI6;~A5?<3hYb39a3*tvdZ2gj#`t>RKXUACSahdt4+}yNhboXB
zk_T?+rs7~Z5z&VSvELlD(KeCsNWR!TQ0aJ&pV5Zp*O02JDsI2&2%ZU>KxDSzggW^a
z**z8Ptp}SpFt?_kU17%WG-T0D=Ujf~k!(*{lwFr!o~4PdG1(BPD)Du9_9uz$8cfII
zOY)ww2cx-I#|$Y(^U!d#lHcoWh+G}gbxG45$+#bz9wT{PQo*vNU6~?>T*zu0s6g~O
ztenzm%R}a!(9T{r{A~5C%h`RX)oA4zi{IPxcj7ao>Ne&kQ(j5SFyWETtYs%Gfw(kD
zAt;1a5eg+Y2-Q*sFv-_=G8|~GDvXWlN`#^ZsH1O%2?W_@Zi_I1pNH!9%x4;kbn20>
z(>nUkJ$K^$OJyD8I#Eq_=SE?z1$n5d4zjGpFsd9By!1+CHFDIl4GNav)J`{UeISu%
zu#z5-#xn7Z(4LWoZ<@n8LZn1h+JYf+iXu#R6{U-!X)EU=d3#x~s-EYTB)4R@&19Q<
z@T~Q=P+N?kr8E%oRMt{W-igSN$JHw+X%r|NPNg%jP31m+2{Ugu;n$Hp8=xjgIPm^5
zd9+Uj;Gs)TM>2Lf6)N!+5Du@Mi0yZwOI8Fx7r)JK)*Jh_dutUgA4cKw9m5vvi^(V3
zd-P|W5sx_Gzd42<mZ-6{c*Bd0e*wxgd)WI#B*IMst>B<YMFBQRu1JmNWpbZwQ7kZ-
zppPo`!K%UBbYFP^6ltlg>Ex7%erV<3_$K|H{euP%7waXY+6~K1Ob)7fL=kLB8{$M-
z?;G$U`PibDspHaJz?woyyIq_^+1(n{#UUiJwAehA@8?hJM}nQ=nA2>w+WED~<&^c@
zBeRR+GKY6W<Rn^%NsJe9>Fudg9#4S&F$+I__q&peGIJk>j?Q`QU0+>a!+xba_NrZY
zmhEY(@pM}xj-?(Nib=!#Odwm0F`u33%YoPZAFVC5gF;hI!s}fw?WdZx>YJ?=h=B=`
zR<dCW0Y==Z5blFNj8Qb1Bf&Zlg`3uI;xccZgAdn^s`43wT4N2-5Vt*}RsI7PFfq7p
zx0pK~k}5rtPlvaDG-n#gHSWVCpdgr!ljOsRIUsM1xVHR76Jju)WGRCf^yBXDlK&d9
z385G7-kfBQeq5r4mPdoxVKb^6jM&(OAT7qzKt(jbr=PDLI}?ur=w%s{B@uqH!ua3C
z#se*P69O08opAiMqmCPFQclj8n-z$7Psg!=<mmp7eTSOeAE>(fB)5ZW^jU#vzY?A$
z%P>qwxs}t_FDza?{z_&tsr6xIE?9OPalr^jM_~2{8h?1kdSDN)`2MsPG9(fJf1G`a
zcFKYpNCXfx)e1x^6DotN?Dv0moBuw#{zLfx?tk9Cd&wuA|H-W^?~0yJ{JOAYW$OO#
z&HpR6m-n4e@g3{c`}v4<^$1}kTr?1&)H0aCg+eAjH0i$W>$DOk$cOx2X23j1e$npm
zZ(!F31`P+?#K{^^?Sa8MN+usuh#+*RK`HR(FB1|NDDPZ_4}mtxTp>I{_((oa7d8%Y
zh60Wx>DMF^G^zOb%hHJijF$Fy1?&alM_<yqLWG~PG8}S9?4+}FONA(CWkWCw%idw>
ziCG|t4>6hw1jM3w+NfydEawtNS_xP3umS7M;Lah_i46vj(&UK^L^Y6YgD_I5GU&4E
zNNHwPkgEA$2cwFnm@1fww_pe3#)(fBL}49_AOs<R*~GHN0K_W66D1`Hrp&Iz64+J6
z5&&Wm#DxL9xo|>7T+3`>nk;0)qj9rKQ7=yrx<aB<2!e)LiDvAN)em0TH2cZxvVl}f
z5fN<<<7DN4_QIJYh=~p`Xu`BOdKjTlBV#y0R8=9v0b?6r&?;33xJ+0Dz<!_|fr^o^
zVGYr=yQIu&dxHRUk|yFPszweZ=4Wjy(p1&saKd|UX9g)XQ%b@@LP2hX${9n64%4JO
zAmrHy_8`F$L`4Hl9=3B150#Aj;~$2F`s<VwgN9^LaMKf991&%Z^PkXiVeo(pbI+y?
z8PpD95{#7fKn@5}Nl~N(0)dqIAqa9DV~jx@L_rkP%P2|^u&`7hLnuT5M8kKDmCC9G
z)6g$n)CeG!e1fFiLXUC{$u!av43z;PEJRX7gEI^yNfQ)8%`8weQq4+J43!Z`M8!<Z
zz{3><LBW#<po;M<3)_k39lBs1_y9XfxsVs(K_Hyq9{%I-JI*Q7{ywvioC5;vL*Urz
z4KO%@Vv5dw-@kC_2aXgCd<FI8Ft654pj(P?Z;Dow&xzpRHv|Sn7~Fi)unCbbjSVL=
zAfcNfeNaq1<k)cfyjj~0gtU?CP&o9#2crTe*Ysg9kf5rOL;kE74S8_W@&AbR{Qiy)
z*#PCA?v-&Ukpzen?JRTo95846ea-D4K*t|fqtmORZUp?~#YjO=A^r(<=;zWNC&P{A
zdHkAw*XA)4uDZ0XCMFj^!e9`Ill^2I8{9(t##C&K8}rymJG7~RZ3#lRLcTbM4Q+4r
z@#??EQ>uKw?hRGk({w7MRUTYwG}BOnqN6uf&2GTAP+N))Dxj*XRvuO{x(jAGq5p#~
zt2iFM{F>&m+=EM$(_(7jNG_d@6r*5c0}JW&^EbVeWG#@Kc9bBxIuT!-d}{4PVQ*d%
zVt4&74~tAB*|~uQ6b_IMSK2#65<?I9euvmnCanas@sM77QMxwqme;oz_&d`zRk>rS
z@~0*+t|Bv--^B1wd$TjW>wHO(x>$O*&gRDq?<_&<!xJ`BD9a1aF=^X6O4MpO^gCri
z$tMRtp#%^pjuO`k%@ZI`v?;ntiWXs0seXT+X1~6Jfty@cbfHyZv8r?Z#g=!JXhY*V
zXOQhEY2hH1P};_K+SpF+Cz2-?X$hqK)etneER|%B4CQ`rHn-0mFIJ#Yh~X%i{)qo9
z?6O5iovpODYkw)4!KOw8<mn`zDE<k4ZhzUahn|@BgGbnAOhLngXmgE@!zuctKxup+
z<yZU^L(r!)wbveBy7=)r2PTHc58h?#jX&L|=Ck~K$6uiroedrr5T&*2IW(HOV6bC_
z1SxQ6t4N!Zkymr-y!!N^h?>cvgemmMnS~EBNsT|H%Wl;q5oCW~<%K+a_PU}-GvQp~
zHJN3gjS)RQ8h?WIf?~;#au83T9Q=->_knj-sKbmwVhp5Z{qsCc6Efb8ZO9Hymlw=3
zJdW2$Cf=Hz!*8Qgn>Hezj6NsD<L-#z)4kk0d30+;Q5@VeKYm9hXzWZJMj+fdLOWBm
z0pzia4p=P2wYaxL273>%ADrup#&BKNXxn;x7HbGi{x;XFTpOc$t&YQ#Mmd|#&s}$t
zyOnEVZfuP-L$o!GIEe0Rud9=9+4=fLL4zMxW0(^GntQ-Sp!qOG7{{UkKWfZPpen=B
z*FlUM3nq#Vi?C;}#`eZ-ABuV`=^iK$TpGESZ%@;+McUq+FC3N{4?WG;Bp`NZO??EH
zx!qfSv>9?Ad`<m`c>?}S?3YO;BuzFn$xuERUC-vq`!RgXEr-<ny~9bN?V+Z|scs#F
zZ$GW~$yC@$xd9A17e3$WJX?;e;fg0=qsTkD1EbD*&&i@33Rsbi-Cuj-d?G4>Ia19d
z7jS)NqpY}}Z{Yl=jOr8e9xl+%{%Qw_#A+sOvvR$nJHiAB#54|WBJER}1)V+Qh?9Fp
zuc41He5YD!nYFS0uO3m2UEq!fpve3u)h#^S11UXTYSpD}D`erLgqb%Z#zY&0BslMq
z^CX%}VGduaGwkn-`zXy;G-D!(eADd;8TBzB(zv_)Jsz~)Vf-*(;q~=!o(ED4+lb>a
zPc*g!jo~pO!bBYcWQZKX2IExbj{hqS4cJ==w|F!hIB#v;K{2|HB!>`WZpD}bQbu9n
z^gQWI4$e~y=s1cLKGO8(SHORfp@!L$FwiC$rvb5_MWXPmu8^zWX_gDv<hI?1wP&An
z{@--uFb2Evf_FTF>dwgZ2Eo1oo(*zRW43314X{!SZR4bus{zY(hWqwS@nr9gukN-z
zS<jCA4y9G3vyZ5>Awx9uwB)-t#ua(se`-5)9$4*FJj>7t<G(3hY_QyGJeE*A7`Z7u
z@_Yt*UPISvaIUk%3;Hjn*-*my4zgWbdj^1h2831fL=7W#QNI&b>$5=0ESviBECT}y
z9U@2m{j!pa>ik#sZ?iPlJC&F!@mKDZH?BBf7HNInMh8}We7s8$7@^sSGkPG7if}C1
z3-+Jnd9Qv2VPNPIO&<W01F*!>FXMlsEoT`AOZf|F_Yb(}qKY;i=8$b6O|X02E*9%l
z#Bbcc<uCQ;<ZG^UE*74eX&+@f_=*jTjf{HN9{vw>Xurk3#VV}Z??Izwm3Gn@O@l@n
zG+`{@ym<$4<0&NH`#pF`9+$8{>}>82j}l2FlI3^O)npgtRVQn{`x89P6Kttc9F3;Q
zv0_IYIY_r&dm(o}!2HswMKF7U$CyO0ZpG;fUU`UT42-4`EWV+aS(Msn(_V6%d%XPT
zl<_bn3#7+4&2xBFIWNK(%n^$?<EHAn(+1tci5G2ANULFYZhPygB7ITRUSw{>k(IYb
z>~7nZd+C-ZZ%3Do7b@B=eQGk}gF%5!!{LXz%vX0T>w9uXH6$Y(+EQz((o`*fU2$(?
zTFO*@{kgt#zkEB=d;Gc(ZyM5Hnk5SuI1R747$1S>i-<o>#Eh_iKXKGosm^l!=9^~Z
z!o$%u)~c(MOUd-QHf-_C!%x41_sQ-j#=T&O2h+3DMv34fvK|0T2N9K~$9U&%vWd48
z$EkI!5=^5?*Mn}XlXK&a2E4|*4LLOJf{T{4WA}u+PuZVY-pt+z3~;uitnF%56iqkV
z67mGi1dwEMcJXAue;E%c9rE0;8`wirk+H+GQFbo!Hs`xJ3|-H<UfDJ{CTbqlXU`$g
z8~WgEXjST{iN$+I-(PiVtw8CS0wiH-M?|q6sx$1Ag%oW>(v>{_p<|6Gy3u8vhY<Sx
zL@{9*l(X{FOsav_bR`7wi@NV}o9DhyT1UF{rP}x1EDQPQ<&)Bxj~Y#+Hh_C)-kH^l
zJwxxae}6?iA7I)%{OyBm?Un1;qZLYVf#-@YnHNq~2t+qlFvbS#@y65s)%qtz?BdhR
z>5;Cs=Skf1+ilugIoYsDC5W8JcC!eUPR#lNV8&jYjt9ig-|s$)nc~|H=^KcaVBX{;
z)8OW5OLW+gUi>AzJv`zjhH_Km70o1&l9J~lT+?<D%Q?<&`=SMYwK`zX3t`qOJ)gOO
z5skXIjXw}uXv5OwXR~d|H~Rb?X!foHO{74gJ7Q9ei^r~RsI9M*dAZ&dYXw$FmNbsF
zIfrGFkfd4nwsXr`+^g=aqdC2%=5nMqJbf_JJI=VPzS7R6w=_sHyF%DgryW1)v-oiC
z&6)!$+2F&Dcey^7wfSZ@>hbKo>h*I6!|EC^q6Z2u=azqV2JAKTOSsSFKFATU^IBTc
zKS}qUyPULl>KvWOVMb6KRtSS?Qc|qq7-*E#EfGm7L_G6hHvrU>Aoz*cq7bE=QtVC*
z$aXn}h&K-4lYFP0w<rd{EYw8`zBFQM1f|C%BiY*o&d+tqnhxNF$ql`kF0jaz&N$8N
zPAuLH9H8DniV4vyNA;NmOfoD_)Ri65MMyK}op4u077I+~eX<<r{uit^be1?rb{{|I
zzTGf(i!$YhWaYk?Z+hM6S>LU~`G1d9*!I^u=U8ofotJ(Tp;*X~$h2+UEMXy9$c)~3
z+8qgEuYLKFg;dp0s_$dxd<lM>ycwFs4{q{}FVtft>>KikuZj0qaA_M4=*rBSm^;C&
z!bj@~*#0)0;NC}N5*$p~37UckAFI~>VNK73G{|XC`L+xDCm}@<lzn$-klTlw6h*^8
za+HwxNu$Uc0jy@h?jgK{G71Lp_BXwC-xs1P_;a@uienlyKYTn1l*wi)BD?nt*$-z7
z^9B4e4neFi_VKQTkk^N}{1%9+t)7n|osK&bo8w0pyE_^Pl3{!V&cWDmLW0t9-iO;F
z;xNgI3I_$S<^DJ^0%0aF1PyZeU9CbKPlwGy+?aETiGvAnJ7Z`Da|l?(w+4IG52m+D
zEXl``%jBHHN(}v>h6D{_%w!!0RU{b2d<eZ)Ss*KxFlDR_se)l*kEp{ofuth1g#W3d
z^A|<?dQq<Y+NEI*;aPU*Oi1*9jBT^`+BnSw_jU%0-ikDR1hSB<3lGEQF#=68XA+M?
zR@@jG39Js`^^g$Ey`lV~*j)NSn;&oBj)^e8wWZk%Jg6P?be4N$eCI?>F@EfkN6GA8
zA^fGc3p_5ZM!o~|T^A(#G9C*CdTho*h=`76hCI$5J{6(9*>?IHkv)><KYt^6yy{gd
zZ=ixV=T^$xY%_vlc(I3b9xe|PVA#Za{0Z?#38umyZl5gtf6OQ14u&Cuq1F&G7Lb1)
zXYomj5h6kRpWf=mNk5Uss(P#+_d9+*Sl93$5~$Ms?PKWefuNshyOS17R~ZuZNQZk-
zzhFH(L^(f`w#&=MuJiW?6Q_6Q7ySia%#eSg$ym!#O%<7*d0!t*4kt&(1LmAiz3Luv
z(guc1%;}gsxKF>B;yqiwf4lcc&+)ODo0y}RW8850Xw*O?!u2E7_Z+Y-fP>A@w9+vD
zCrjshe8^#bX!-oBjkDm=J|s@tHTOFbx$y9)b#pMa4%cR88`_%@Pu63HPJp`VG8VFA
z%x|T<wn?h4e0o;wZbQ{AAyOsh6D+pocHi$xuxryQdA8hx=GBj#gv^<5cO}`I!ZA7y
z#EyMAX}OQ3bsrp?juSgM6JfPs_lEyBY}^C4e`}wwv%9ClQevVeXo!h|kfLc>YLX&v
z`s_iy-E2okPp6+{iuJu^W!xa_Jc}?Lg^e?g(l>ceZ90IAouPybkNCHj+{cq3Ob1q6
zZP)kPG)VLuTHa?f{ZCCRAHcmk@Wzv?mRw+!SB7=>nDENDySJI;!d<XYZ`EtH=-S^O
z-Gt<tipg`7to!$SdF5JWsI2dAq9ZE4Q0<!O4?Q9Cd}Q)MO^)Yio3xfIcj`51HlHZK
z516Vu@$HONWLr$^IZOMm07*c$zY>)1A{OVrrwr=zYQo=HNnUAap#5IDXJuEatd-Qd
zr_1tnZ%rfS)W5epBzR+TxilNS9lX{wI?IO(jD*GT52C?RWKY*eamu|>0gu~(fi|(a
zvu<s2n_D{Rp`-#lOvq1wkmY8H{&jOYyx9G=3R5)wepu~>6>9=(ZxU{E8Z1cu2|G!s
z!Yc0wvK#b@O?Q`TsS)p<txO}4;L~mb^x%@Wx&w6NJZ~c#gRRd3LYup<1VQ)6w%OAe
zyneeLxmjD+1>84o$6P6SMp5S2#~_hfDXC52TE$SHL@7hUC1Td4orn7n(4lpg##m2=
zQPi<bGh5egdRn8(hJ5u%WB4<To5#7f#?IzUHelNNw-*%^rdxGY_5JQ4Zo;d9YG0b8
zT~2MvZ7$(TOH5xLD=XS;dbNha{y?5Sr4=;gXfkX|l07pluF?$km+ZGxIb=FTad)pc
zz8$uqTW_oXO(z`R2p0TEi%uAMPI=k(McVEgTzby;l>IQ=$rEe5*+LHm>4UFFC4zDc
zpL@xn-TL!}HywlN(Z^U<t@4ue(0p)!O~StK>8&_?9+>$(FO2j0KRxyKcnkqw9I1x+
zznW3={au}worJg9_j+D-dUi(@ITiY_!Fw{at#j(CkA5eHh8O|mSfb<YdeKcbbt8nO
z4q?1<R(aG;=(njssb85;vT3fZBM#})36PPDpVW7f;aSLvVL8bXg!^Xgt|XB;Mt9#T
zeN*F06vnfpp)#i^I_L21^ZsuS<=6Cl{nfSZj_us{M~TylNfJ#!D9`8O@^I)tOe3UP
zAzGm0yT2pnI=^Tz9^RKax@676PX0RRuzt&R`+BL@UUkW%N@3TO>=hB&oo#GqwQ6dy
zq15<yUL}yv2ND<v(K~hb!A<jp@$xYDPJ5r9v9|s5ZT}~Fzb0S|4I**IyG}!EhfVX5
z$iLezW?gugVcQi9-<EnwOh1m3_0qIX&z#u%S&x!lJ$$r%-rqy(WZDh8eiE7`vPC#<
z+*D~m_m@0LV?CvM`SbA8+Z~%@7to)N<EI^WQ-4%T()$w)GSQA0RJ5J^ZBUmpeeJ;+
zP;i%fQNIa~bK17gob8>vBGlifW~VIsqG<Q7e$H?H=JLCWqoZ`+Ad5@QS=Nr#P+P0p
z87ZBC%`h4tB>n!30y1w#(hs8D4g9~8()fFMrzcS3W2TvjOH89F3Gb<F3Lmh1b?ZeV
zi78wBQ9C!MuNg2e@^v#AgL%(isO)pmFHn}Hw#tlz1K>s0@jZr<3uWG_7`c>+v`h9v
z3#`(E$P-etDGIA7r;TP<>mFRYDrfGkYax<7Hz3>jFR#)4q4@pIyg|QMTlXHX20fm#
zalK9deEZPTCfy!Qkm2(q(#$6GztqD77WbS-LgpVj=l*Za@7+CH7TXl<>r8geBBFXO
zUFJs55+ecK)&G;!G>&ytYj6J&tMd_zgL=Yfr*W$zq(@G5#k-J%9EgIug&6ICN2?2{
z4^P2B$$XO@F@qS^m<|8Lak^22G9Q?e;Dcx-uSU3`gXN7BHBVQerq_0Z6Bx;3i#M;G
z+j@tZK8H8SXS3y4ObA5yNYUFZ;QL&ro82M=#d}&`($f+PVf<e&2PT!hEr&4kUH6mp
zbZCHxf+2z}jcus*G=m-?TNK<I_5PO%4(@nqjQ)2gsXxcN!gz&JMJFmvO_+XW)6WMq
zBNVZH6MxO-H1EXIK$D^GiVCVM?eMG}AX>^AgFZup(9>zrf$xn`L_U^F@xbSyZ9M`U
zWz@dLP)ww<p<_W~MKIY^r)et7EPfvRmL?y}Fk!7OS#Mat4hTsr(}7WmVWSMqgaN37
za0WWdlWt}iub)@fZI%>^MP6?@j!o$EN9*3A3Lsd1jnN`2g?67pIA&Aye{Hv9`Yzrt
zB-Ur<ooM_anY_p_o0XgGCuD?&^gOtBV09_j)eg+c9go+L>REap)TbrWqq7LNVDobw
z>ifGU(Yp%LGB8H|vN*d+*-jo$M3m_I!-n_Luh~bY2Nh`R?3ApZDx-Xskm*iQ7g9?J
zE?p}vtth0ibsVsN_|QU$+7;v55zn1eq=OwVuNlyJ&T`v5(Xy>&tYG=BMsD#ekdVda
z+RtAe`uG~KZt&9-mYb{N(!;XYKb$+dzwqE~r0V=%E}-6K??fTkfSC6ZW>D`ac6-LA
zkmdZhVZN}hoy0KuPCjRLyNt1nekXecBtWzBi0nv?`qc?RcCWq%WY&W_pfNhi;!!D$
zl4O`jV;0vR7W1CHFT)mlIC0m1TMP%og9vpa3n2#w!E)_M!s(dFRX04zlOVK;Q`vFg
zO4EjnQN|b&<;x;Tlr|{d#KLkB&k6#oLkgcs){LVRSj`aF3hfjSDDg>5(|xevzPI16
zBJewHv6Jez+qtHJu)>-9fsv2eUZ80mLXgc%ni)-4cXUf1C1*yOxK34GGao!inILO~
zL4uXqT_MzHtHx}4cUku08)9Xz9C_iQz~#!V;^5NZT8XUOEZbajd22<m9XT^hr9h!r
zazon5J18|O6|B-`wAmtU`oG1~2maOjX<{?pe<YmPMWoOc1GE05LGaIw<sUvFB#b_8
z+U$qyKXmM2Lv<;_oTjLz-4+KK{Q4vD5;VYU-NCXllRk|o_dZLl<tA+!N74F!^U3n|
zMkAH#1f)sKt_9tuWNeT%s}D>2JZ8a8@5Lc3hnemY5VjEXGCzTaXQy0kApfq{C-vX%
z|9AWGV_mgkHzS2WPU25gfzY54C<LMb2*^VFNofUOB~>CAkpduzMNP3(DG-z*ttBZy
z5h@f6LewP-2mx%@mc3fLPV4bchs4jNmm`)5j1Er17^Ef;Gy|ca2nm^j7GWg_36`2=
zQiY@#2?{_Y43;1z5*Q+;tzv?7DTE1#gJjf7Oi2y1K}s5`7??;VL7*84h=ou2kk6yj
z<8t_}A<h1u@9a<y=?w&Y1pw$09zg*>`BMhJ!)n$B8_<aEcXA?h4c)tqSS~hWh_OV=
zE-Qu>reRjqE7Hd6R5ILZKe3r~K7}@xKn*2EuCc(vw8MS#A%j8!d<X&%8`a1~AkJN_
z+@@ADgP_*W<NU5$4Omp$CIzMj7GoHF{YS(R#c0F`8Ym#zF(%RFy9_=SlHpBZ_3*X{
zk&QxGO%5M%FvC}~tkIy$jm&coiS{%bY;<`OHTF(8YSUE_s;FwNn|9O`XZ$p%yN!|N
z@XV25(g4UmqJ5$}+n|J#CM<K0@d-$P=ma;<{RhKl{ze!CeDgokgC4Lyi_~g<qaxCe
zxPXBGk8_${P=Aa36STfd`q(V+0u>np$MX~%H|zeax>r5Mu?mA^-vtLoa6eoDuncx}
z>;2s#KgR)xD4`b5APvVn<Xf-l;7~E$oCVpCgj)Kcne~x8Wx|a2B2*_!+R|d`{Cs@@
z;!NhkEw_)>Il0cfAQyYiN36r15|UR~JL93XhR`Q^*j7@9T=AtRN<O8={wSQ-hOpXa
zgpk0Z@%T@4r{kJ97%^&%AzAEJELcX#SIdwf4i5Z&ZZZ%ZR@-jXk<_V1#x4<(1zqIx
zt7qN!kDsx;)BQ|Ky3L->#s5~uzrlcChfz&Le$VLLX0W>~e#mb{7~2w9j5i5Sh`*so
zU(;N&CC1)@L;p1cmQv5S2CfXi9j`ODESL$)_n0|rZ~qf9F_^U`LD~NWyKk_}2lShc
zbC(h`+m;!OGk2~H<4~9x|4iALhW_sl?)U$@S7VZ9U;FFyIw|JT5(IFx#q0f;3jdNL
zJ9E#@@19S#_WW*-VHRS#iDhRQ#VE}0(f(|%q-bC8=;!P)P}THd)e<&9+80bgq!SZv
z)Z9Qe#MKIxF(%X#B$$b$U;B^mk-@I~IEfJ>jRcdLuj}jjf3}<VG;sD1BNV_{#u;#7
z0jmiH`HI~%R28~SgM&#o4kFW{-jt*{<h6IQ1vDF+ln6+D1(KUlgz+gScv5qCFxbpF
zoEM>bVXf>ZJ%zL_>d+E~<v$K4;An86+%-qA`(W0^<UI?(f_%G0<vU0MNyz0ginE6(
zf!(wsf_b_Bn8~+{z={d6-Tr&{%l#j}`(<rErz|B-U-7@1{%FQDm&=9!!1_--x~mye
z80Y>CHvTQP!dT~Rb2s{lZsh%a4c?@BtN#Vmq8DFpWaa;r{n5`{t9f$a*E?|M@pt;W
zckAiDLLk1SQGrqF_j2djD4%SCd4De6P4>IKNW!U}Drp$;U_dp`E6<{*X)SE{Dq2Ns
z<riPQ;Yn3qY5P8W$R&xT<RnOiS@860JDePQ-hW&GOTRJSCtQgdy=oGYNL^8RxbsI?
zkyG`gkiGcv!Ob1F4)S_)&vXLkJzsBTrt6%7TWDnX!SL!w>SR8-a{$0fkW6C^h9UkY
z%Ks}w7(bN?X6kN3WZE-sjQ4BRJ@h!ME;FVW&{QkRC4=J&9-edA@c)aOUq#uBUxBh)
zo{<k#IVzC!B;`5(v*7*-qpgQqr^xVON*}ND=3kBs))HXm!v;+38;#r|Nr0}XF%95w
zIL3z*mZ%_Qg75Ai+`^?M8?v>3-k3kyC(HG?SW_{iok<B=L&&)@Y=nT9di=MZMGver
zGGP_xEOJMNoB4V&H)6?~^SU(8v#t>V{VhZ_^=mN>FTtq4z~RnP-wy<s&sTv!cDQ2;
z&h`8kEoUaIvkM{OR5p`B(GMkedgb?=rB(t+F-1h_k9qD9aR`wh^=^8y>=+t|m!E@J
zpftM2$&g0wamYg1e$@5Z0zWP1gX!7>K8g!yBorC4;Cj3FhfiBfp{Z)?o~=d0`5sK6
z-Qpo8A>d&MB0m7!Punl?N73)!?q+6y%$h1lgA`;W6ld@cck<6a`0)Q+-cLpWnp!`@
z_}hQNe)aFB@w&C%8|2&_qjpCBMB{v&@{Rghg-Pp>Wg?WP%eq_^V}LVF^yJLUHw`u?
zMbE2^@GoVi?YAQ4xMuaiXChrt`RAT@Gt8C~*6~R;2yB;vZT`<ZUl*=?pF@gipV3z{
zTBmnx6mNHesP=aFvU2`%L+C308}i`!^wF*<#yhU4>adO5J5FPt1P52$hc&yE-YU(<
z7s)ni$aLADk~}WqTs70CR<2ih?V#Nw8h7#OHUYlU(va*V-xM-fiw^?ET6*A3ie;3~
zE=l8t#={R{%1>@G(FQ`L-S(C=G%(s_`ZY2~4eu0St9^{k^8Epr%fr|1?CXc+DRmIN
zzKYYow^p=@`@64)%*Ndo0lkk7(w%Y--?twxH=<f8$>dHY!PMy~Qe@AT^Qidzhks#p
z#E#G4t72cU7&$Xj4!APyy=(mC`@t4${Fpk3{l9L-1bnnTtSY4y0>cphx4&=oVZSa&
zh3CClzZUd3&hOXU?8VEReH?dBukHscRbI>bRpf?E;^g>qx8X*=F)_A0O)#b?wFMIr
z=r!!!FwLqu=-@VD8wDXq@Cz7iS2-iTt`F);B2^Eu5H{)3Yig>hx8I%m!}@=)`TgIN
z+A>GOpXxrxhT%$6*c3Fv6tASiilL&W1m%MS(4@&Mefp=5UUHOR;FOaROnjMlGkR+Y
zd+*0_^ri>Fo8XMANdPluw&UlvJ~WhRm{M6j?ABM2VjS`RT7Rzlp&8lUF!^xdDb4Ms
z|3mT0nPs;nFa~UL(pBG0ugY@8UUI@VDTSclzXoPuvYqsiff^8B2}PGDtWKHXwwx;F
z5p3{19p{vnGQK{JS^Pc18|3<xsPN<<bj<=i;nve;`F}Gge;3>MA)@{1?+uKqyU&|U
zbiZ4%+lv_-a|9&;CzCgtejK~|@bl8XGW7cJ<IfN7^W#i%(c=nVW^VrF5-o2`ZrwMO
z=O|j|CwOvCNEa~i(8dM-99!9(&ASYjEN6%)`klTV$5Go-hAw(+IrYeor3|u6VnA}6
z^0oRg_n$4CMnP}&w^)Wtq6~y6Lx!ibua9E<_CAr1m%k%+587$r<2g^|<Tl>BCF6Np
zbG`JzO5R?aIPRVOy?<+;dOD}}KHC@ibCcKB*FWLU3hvvKWzUBv+m%<{;fGI;UAXH>
z*Pf<V*rqEx>uONQ&UDFA)>bQS*<+Qm#rv@_!AkJb&XRfF+qcWUIcbaTdZ^)kUbW{(
zoiX!`+QH^&W2P7-%YQy`5%2!49hl>VxpiUP&#LBqn91jcA1_fO++}KSS7ml)VYfcD
zlc~u?9#m@iayv7%obw9l5MR*g(Y<&1;fbHb!UyqjNcv*S<0Skfa-3bqT6Rq7*|y<r
z_w!HO&ptJZdKXprW0P8vPWJy#gwl*U+cL}5rBXENuY%gQtZ1LURIV({!&0hF^nV)*
zm-wsChYatI*v4*Wde1*?YEtr+?i6^YGMO3YT`gWK9JlYL%LvnJzB8Sr8>_~T)4QS2
z8;(1%(A%?J^UPB=eSN-sWKt`gqyWu@HG?~;@lSW+^OMeW!ekKw{CQ87AlEG^Aqq~D
zy59;CLz!K8Q1BI`adIJH7!jhLgw#oO=@hkc?d-#;aIP;k7rbO4V~4r$o>i{5#pFqz
zc8Mk*96IsC8&?c5t~R5yGYven&l_5oc)mDO9A`O3l+Jn1lBZWxYlc`VE^@tXT*#ei
zN8_#_4Bc6qNlKSeSxGJNNn<&uR8#7O%2mAvEV-fw_^>_i#c(7tx@pBDuHAKKp!1`K
zd8u9!Og9<t-<CFxdfdRG=A#LC-I<tale|9E(>yUJjv3m_^0rp4D>QH7_iYw?!}`AS
z)O!zePkt6hQ!_Bz--hMY&a-I|yS7Idk;Yxft1~dl-63hwbyKCVB`4O&Gcye-1=FU^
zah0m^({k4Ig-T~yW~SUW#+0@+-5q|%oaw0;Wh}SZR+vrs964it65Dnc!$OH~z4JrL
zvV@WqRWmiJ!%y+wzdT`P^A?{2{ImzQY4Z-&<%O(QER*#`(ZflW!f04)d4Mxfwg6_s
z9<2$rFkBpR7D~|BRwtcs&bPUG#ceuD(Z^e3o)%TKII^v6NK)eUN|b!#C>GexvoCnQ
zI$@2A<v1smoQftE)VpM*$j2OwrMmcaTJGfZea~q=nNGFSI$Jk5Yo4{`<1hm`^Ne5C
z)TH4vHkQ_-?U|0-xaGTd4cz?Io|}wxFn)OMmOQbw2Yhdac*(i<Vaac#n)zN1Yc#a3
z85--K0ra&iw#ytNiQ6-O8NQj#t83v*s`)+^wXj?p5E5n$Q0yRXtvN01%)?J>bu%s7
zbIh*0jCW5x^tzsFj&{zwmYg)cTJWsrh3iY&_N9E)GK&Amw}QJ_H>AgZplTRvzQ*oz
z--6axioXhBDc(zWJb7GH*9JbM`QB?Ed~9Z|Vj+}kGxgm1KMy>I+4r-kbYh!dx8#p`
zPYZ4tU@>Ki$y98ILgly&B3>yXswR_Y<$t;R3A4jLKC?Mb{M|#^=A1>hKiO7x3K~ah
zuIfgPl}ODU@&2{>uH3XS;$1L=vEW_eL6iiV<r4l*7Cqf3FZDi`|DXH+?*DYprLj#W
z|2v=FhS&~r0o5bn=<{XkmG@tOOtBxV|7oP8Cf)vl*^V6i-{^iHMFyoDDuZ`N0sefU
z2*C&G!<<M#(@(M(pY46iL;MbIMbZAhJF`XD+ziZy0MGpYsS1a3YG~tTA>o~lFhzs=
zB)xdl_Mx!(b%t;Bqx{31#FFa&s9l|v`@ipjR6o~~(TNT@*B;f}NNf$m``vWxYIs3Q
zL(sl8w8&7gNH!m8nFyi?m?D`OiVB)*`kNRdzu}^M|A(jZ{hIxEq7LrgiziG0<YjRv
zIXL6{!iV@zUOi*E1F?`e{9nYLW{094!#q3UdCUo`(1it;UH!e2H2tmqYoFu&IgHF0
zAU{pdnEo!*W|@9+V|IZoISz+d4F{F;{cZ%&H7Ul>#i|!}XA*-=0cAWKZPjrfZ%;Pl
zrP|HnQ7LGwsX+^X@0C&3A#AfXZa}a{5?ch^iiQ@9P&Q5qG}~r4#r|izgR!n8ZJTX_
zDy`g%jlEHY8gw=~SeI<q8klIoFew1wExK84D^bWXlSDn<nzqnc78oSVg(}Dp9Ssl}
z2}Q_2EY(ZKnrzBftfbi5ILj!+C4wpCmXhn7<(x3nZE#44<Ut)C=7%bYxmHN=hoQZW
z8rB+jxn3ER(#vWf>2l_^3^dUqmKxR?P2#VE?s#H}@<&0T+sBlOLrx&8)EYXY$T=s_
zY(5ZU(YUz8YJ4Ef5C}`bu;ug&q>(~;B^{HEr1@*6x68zEq}sw1SZFU#8$-u|pxzSl
z7AU#(-Ml=5i1P`K@ar6T21xJ-bBQ$V1|Gp&@jRF!<UG+}gqOm|T?Ph%#}idfMAn8V
z-Rw#&qJuRGr5Xt7RgXy)ngtGaQWCoeU<isD8S#X~@!;@#x0YZMK=2(N37;zjRkcYM
z9iR!poE#f>cLcBr!aRIV4-`*Adb#A8f)Iy~Q<FS^U~xpTj-3qx(nE!e2yKR0WhhZ%
zEh@hyB8p=MhY?`RDhyU^vE2hQ=&7eUnu<vXB9U%++w9wkOkR&fxZ*Q%@!SVa4a~1<
z4MMwC2d+DTKb0Uj?LG^@Vp)&loWn50)e}SzN}L293`m%i3KNd^JbVMm#0;Ksp2)iz
z3mJA>jfp5vnviGAX2vWm?$miL)w~eL>X*Gi^~&TCe>n&3&)>XY4kR+@6+?DZdpJ$x
zVTQ9At0x$#BBmow1L{enCuaVSaqf%PPo+J*gt)omLR~o$j2I~|a4!G>xT3&fM+hKe
z!#Y89p^9$5WJSpl^(0S{K?CASAafufI)Oh7BB6vLJtYxbB~~F3q(KLaf}(VP&D4L%
zfD90Y`-^20Rz$TOvYU!hEK55Nveg7mAwODko(!!_2Ad3oY`3?&oO3kq5nI2>kYG`H
z%c^Q9Ort7qJK`@)CY&1^Xc*g1Q9;~#t9i0a)ORZX-c@xG-n>z+IHBSko``uhnDgx8
ze=-c^!X%m$mN_<3lU+zhbg#liPvmib&{B7u>!LNR5}S)8+@0(bC@t{dtKy|*S~}f@
zQ&8foV~lJT+0#B5Z6Pf{Js{MEpgFfEQ-XsET!7r2CXmwaY#$4tN1)SBk-H@)*(V88
zbO7j7>l@)*$Qh9JZ`kG0hof!3EamhZi_Z$3xOwast0=_|Uhr{Qrm^4+VY#oQClJ$b
z+|a@XF;hQ@pT(gi+r;hXoAJh6ke_t<JZjV9xeqM0V<B^je&r_T{Xfx3CTeY@vBGgi
zySBzpk~0(_B$|c@2fM4&vRdco^7-Yx3N+e`T@=*V$kjAQ*|6zuMiA8HSO`K~;qyo;
zA#~krt~Flne<G6pU-JvM857&GA#IEY&EIFE2Uio3)gzs7j)()P2Rx%IP@ztGmQbc3
zjNcn=Lwa_{tCNE^?R}ocp}VB`k+$jXmlRDjTe~i}qfI)<P>LR*86}J<#}%5LJ~NFP
z80jn^aYaIiF<k)cyOJ@t^>aL(^E+2<oGl=JDeWg>vIxgwc6Ga+0*b<$AfFfVY|v78
z&7SXqWD4(#2H)?Mt+LSb9L}C5g`WM}<*F$0n_yj`qthoS53b-&WIYxjDd?2a9@sa^
z8IalsXbm>Ornxl~eYXVKKiT((S-L^sXNDwklBi3L1;hYSX$O`HA3O&OeKFzVfxEQs
zE$>vESpZ=q7G?qNp2aqhIuj;AYB}glJ`UJq;k-rmcjJU=zJ$zb%<spjhxg9r6VD=g
zWH#M_4pJTE+ZxJxq&rCtKPP^5kvU2I&?fj(hmp>GLKr%~@i@(%PntDBD-j1oc?dMc
z&HSutr6D2*3|1<_2{r{!Be%MTrtZcm0@)14DS@^_reIypOij@fLw7P3&c$y8)Q$qz
zcIe?psyF+jE)k>3{PK-rrIe#+-{CaH|3RER{F%uiwOAmU+Su2t!)L805-yb5bwh{g
zN7iNC<MvGTDk^kx6A``4`{=7FE)#Bponqv5?qr3C;8j?f@JvU&@S%hg!cfb&Ua|uO
z)Lc+pxRm|>MRws`A-K&+u%;L74Sm`AFFHH{d|`JHf^8R_5r~qSA_4L<fw$gxX9N#>
z*?+AU5vap&8cVYP+brXk(+a=p3qs=N18t?&>X>W>a@h39rG|55RLMp<{K0pH;KP56
z%g4y<vGbi4W?QKS$9%$>byPMGh38gDFi3eD)PXE;mn>aUx~ip$ZZQxyQnF~7JSBLk
zNo)Tn;f$TWnah0Zqqk_59S8}CW1M|5=26KHOf>5TbDZtFcO3_m@0Y6M{Y?Jxl$ZHb
zC=)Zer30#DoQ|awCQHImzO^j=5`n$q0mPmek<2EbCU!%SxXIf%k$O+XDtRH$ZvfA<
zh8hA#$Ar={y2T1+XfsZCUHX`Qoa?5$U2tCBzbi9U3{h!oVT7Jknu=h-OHu4jV%ong
z<YzGJh-1OF+Z)L#kTZ=O*16i<P6JNq2onXJ*g|Nfgzmk2q7xPq8F)T6aPKJnF>BF^
z=}(bHju4pn88qG55^*iDgYgr|tb=VWm_*am7v(Fv`!&Ojv+`I^Fa2L>P4yGz=7cg6
z$U33sZen}8cW>v_hbnur!3dqZAGjqvf4lAs;{Wv5u-mXZVTTg|nBsFJHgT^v#%i*H
zPbhfa_K*b=O*26KkP27Gn_o?3a^ruqnM3EB6bLst2T{~HGZ7tdZa_&nT_)#XSD86>
z*bi6_(j##YU2^m+K&05)mZ&uvLBbyS1AH!RZDTMQot8749oci6pxIX6-3aP(98M6(
z9n(HaP@HDjWSbOE%LUn9%P2f2#vN+_@Hg=euFhboq7^*Oo%C@c95cx$1UB3}7!5|R
zAqYU=fP~)1cA<hj{h8|1p`sjGtmQbSW;{fT({#SA!2*;+2>J95xjTLVkM8R_d(k>w
zZ_C;p^h4GDpgLuqusdfF`NYGd0zyd?N3$GOV4)t2iJeQ=eIR~rGmw1$i?`<w+}M70
z(QoYaj+Ks#YBppA#vzboBwc$AH=Zv!rv59a8}|bDK$b&Vek6#!i}1+S1c1S?z{B*R
z<O0lZ#=`vk4j+AU>Fn=VT{?-^f@&xV=a4@)>ew~4u1zQyagx84ohmY&QArq~l7PD&
zilc$3Ufc<?%W1LLpA=Fdu}Axh1}sf5B2FR@+*Jw&lPE8G^6A^rL_r!#4Fzh+!C>76
zWn*JwTYTKg2Ez>HE_65q0RT}0yi5kPVE$Cf<!7^@f{<RuMih|S8nt8u9Xzru1}&#d
z&|CKExmcrM$q8?+;)@r$NTj7D%3aG{a+o}VtD=K#*y-%TfuU*|F4aDd8Q}*)#M)ox
zC!2uB4FpFjaN>O>rO{9sK>%Y+!tA;Q47X{}%#XOVnM4B;0~m_(HLQ(|G|Xm>ZidfO
zX9R2ce?%y?__U{OuER^eN00Y-I2mJR|E(jE6b2xwBNZW|sQU~K7^eu|K(O~FgJ&(v
z7BfZ#4gKEa3+~R(WJ3^kzM(<lC=gA^PD^daAkT+ufJ0w<yY0f90qO}6KtGTB7Eo1e
z$>3z^E(~+#lK+k&q9Ccx)ebyG;B+FCLtkI4XYz9CRsz#$iSu6-e8}QyL=39w(HXrP
z+B&Id&X`BEplH!}EJ%eTmat)qBH=StVH60C696vko}C2e$v5OjaG;wMz|yYi^W3KU
zjy8;Bg*7&dMS=FdP@xbjaDC~G6Ea<YLo+}_72Nkd<^Vxlt13dQ=`e~xNJCx*mgphe
zlQ@5Gy7nipbt6VxRM^RVJgTZRXga5EtI&eoM$X~N(eG@ad2v5vGJqIAF>+HN!z<`-
z0Qpd0WYFQr=49V=W{M`nCvx&SQp2~i-X4?ux&chWxCp_FNwFVOnooloGq5~13wmU%
zS*egIy7^g(^cYR|80{J}l#b!tU^{u!N&-Rx00YjFHqlvzW@^#$?rC>u`iZ119SxMg
zM{};$dBIoYCbQw#y^1Q1d7103wk~)$LGH;!1V%OoKH48)o>y3&g7#v*-Z6MPMTBG{
zN=!@@LXI*)w^94`aQcf?-Jq0$F2sxyDP|(*B|hOGn?iL&snme)0-V%>F#rL?34tXj
zgg}AGCQ%6Yg&l>~1v-(?`<9)A2FY_S111f|Q6T9j-}Zk7P(SPs&4hh1tRt+Up#XT8
zPq>`QpFY{P->Idf2J_K_AT~V&HWD&mxF|R0iYAIRWbXo%=?H&B3h{Dc7)UT3uz8(J
z2S$v{hb1^BAPx1$S7<||85?d`8G$vd15AP10}g|ffW#A15K2%MF)zFaxN(SXMj&Yx
zU};390DzUDI>q(inhT7;rRgR}R1hp0#|9!hN(ST|JHVrGw1=`2av$h}UOE{jpm}b=
zl1dVpkR8fEx&z@Dm*=!YRD1}<5Qj>p2sV$d-y2G65ddyB!IG*TcSO=;880O6A_62j
z!OOQ5>jw+GR52)-g~&kJ3HEb=zH^piwSs#iAfXNMfOm%&HxbE#u3aE%BG8;yVsIhd
zgNS%BYF77*Lj+MB=$#za?&_$kB!UTYok&v&Q7Wo*N4?9q1d+&tG&{W~Fp>aXLq1Rz
zFriABo`+TphPz{u9}LEtSd-=S09>2^_=9nrn=8ITmLR1c<NaSNkkFb8NrEG58xnFt
z`4I7IpH;ZW-94SBd5+_V<+_~%12@$C*~T>%q(6YX!f%y)m3CDr4Fb;18UdiT@(PvY
zbXZ_oR~*4v8Y#Zt#cP%t&_RK=5)mfFZ>xy{UWb|~;Wi?bm=H9Mw{d15Z3GiWtaWGy
zlH`g2i6Dq9VZr!)yYbKEWJ*|Xc-Wl6NQRTLr03;w&Ls~oj0f6xv%rC@*df}&k*7#8
zO$!x5)0t9cl4jT2_Vhj*pI+})z4koV!QgA+{7AtiG=cdf!9)f*E1vn<sPL1c#*!>y
zpE2L_KdauPJcc~&3}9nnWW+ieKXpXJsw)Qy@`S`4q#H+6VN*08r9fDtz~59+MpJra
zuh2k&>LsQNUa~amg?4d&I|+8zdUPS3-kl)uRcD79e6x>?h#w_CvxNEut-(B^9HI(;
zJ%k3&1^XjO3`{myK&mK%QUoDn6M#X&)<7P~y?1&SFHE$R{@%W~rkz&W=Cb_iiij$p
zi|U<KQ$+zJ^C3<HH3b&DF9)!j^3B7)>=+B-F(Nd!-o7bxtc>O%U2&&u@J$6rWMgd(
znM;PDE)1>;C~ea@ty#>Y<Hk^|6PqBZFgrHE8yUk^VFdYg6*f~(V`beymNsCYAfSEp
zj1BMo7Js(iT74RBJ|143IPMbXg?|`Z@*s4js#|Jvs5<lUqUpBT%w9chaiueDpE}+M
z(+^u;SM%8<!<Lchi{nvrjAzls+1tlp*ul9^>CODL4kj|ec|5QWmpqOaWStpPA*Uub
zM5+nB>e?&k7JqE<s4F!g+x+!SCb%4Hj*wWhIM#-CfjUf0iM1L@CTroyQFPu|@V$o*
z$kEd9Fk=d6xEF~uHdE`^I~{OfaK_hqQ9m&ehNN9YBx=6Z8K`{&IfM|n0}DW#c2=f8
zJZ#cQ2_{Iw8r<9}?jSxHtIc>y=|qM_#-emfkk@ZrU0R0g>&p&#(Ww+6q`v#7S6a9=
znM#4RxM+0AV)es*=^0}3#YmYA<vq~ceKVUdb&+;G`d?Nr=1eqM5!V*@I;{1G_ICBe
zr<Q0LK;Y2$@f$Hk9m>%gOzOQattsF|>PjyN@g=7AaMLcm*~6d4_{CDi<pUuCBRITj
z1C_%L`|0p(`6{8G9mx6u`GtR5co=({M(X;t7k#lYCBaK<@|wmbBWF~5JGwEY$YB<d
z&g0EYG~w?vC9=my92-Z&K|3KVQ<*LEtlCIRw|5JxF%4*fsyg}mFS}aN4qxQbJhJei
z^$3J_z6llBlWH2zR(XE^!d9%=!#Z9^>WgQh)={*@>_q%Sn(VTM?epwH&+unYfsV*!
z_wkU=o!HqsuWPhe?+)p4LaNPKnsr7Rxmwl!d(N1?%tbUUXuDZ|sho?($_n{zsRo(5
zq0u!8;rtvy%eMZRdq3*!;_?G|lZY%Vd!*1H#lF5q$tK}3Q{J33C9+&vKx|We$sEhS
z0bm_yfOqA<18i2&rrT+fZissza#J^jHAC#fIG2im$qpx*WYa)JlS|NgTp9r+WPBhY
z7^VVJc6DSX`oPU*Vs~Ky1G5f<QJ#pJfaDKjKzb%3un@#RpmUvv|7G!qK^upVW7JR~
zdoaZB#2dmxbW&n%6v8yxBRe-byBF^u&X<9+%(RqErVf=<8q0!BNkR$eGsu=h42<a6
zL`0+cWV3!xQn}XRTZALkb9=Uh-$Al^8fEt0_%>jUp95lPQZ18{m1G-yre;+7JK4UK
zsy>Cbb4~0_Kiqo5P2(m^_55xQo~aL**AX;xwK-{(sEQEud5;eKw}(9^`L}(1FmtyC
zTovUb64)?w0ZQbN^@n1rN}?Fh6F>%;I|hl0Key18LpDL#q4q>vI_&~gP_5U)67B3k
z95BR#viF@Ic>vB@Ko@_OJiw+dBu#2}lmksDcY-}+!r-Dz4&nR6NEpzylLO;`a1cXi
zut60Z%&#Iu8wJWRS@Q%W(A0)w(Fv(j>$LrSyU_vX1|kz3pH+2vZARJ=@;_;D>4@K!
z{8Q}xnE$UU*BL6B2;Z-xM9+DJGpK#G&-i1Bko7qF^i1`iljrJp+ISZzm<gVRpfv_Y
z;Pmm7y;SfjhIKT|gpJ`Z)bf&^FL}s2XK1aW%K7{bOD%$XVW$#j{aw*$4j3ud2Hyqn
zwtvXi7qHwA+9Kt%kHo8AkT`ZmZPOWPF_trh{Bq0%51VY#KZ_}wh<&5&^RcsU>#8Yc
z(bK3)KHswgct|+>kMFozA2}>O@b=)?fCthhuUya0CX9Vv?|+39$r?Nf%g+YT^#4Zg
zylIE-3`(Dj1FW1SJrKK@JFo0H25?L^T75Z4L)D}sK=*#T(9aV563Eapz&@P<bS(XH
z!UxYi6!@3oP|;vp!C?=f^iqG92LS%g&%F7j-*7qRJ>`zH2~d>053A5f#`gbJB#wF?
ze-U`V9~{4KUE(jdAFTU$SN&i3SpTq)e*$7aJ<=!7(rh8+(V`E_yIIgX%{9+auunPz
zWd-z}{b)*bNAg3W{wO-fhhwq*GGDO4ibwr{CRFa78ykbE5AilMI}i7wAGeAUKjI<c
z6>k57qJIhgkpBX6A1lL?rv!(ipyq6+nUOiTQWXEionF*97!^Bt1`~PJ#XB8cDgpiA
z?4RD~XAg<}^b30#+3a?BwJ7a(0osPIVqzw#<ZJ?U_WGTC2c?4)yuCD#NNE#bl1YFa
z#uLC6a9`sMyY^|@;&wEQzGC>k>TW>as^A#jCOZYfeEEC??DF`8!g;TXd50#epda&w
z0XU1s5b1avf##f3E387x>E7kvw+gQg0Cs@*4>32pDU(rNM61!#V>{ED?@!gKsli4O
z4hn(Zz??Uad3T_1aexxW8YnPxa+Ab)22kPNqV(9v@_C4xK!Z9tdXC|Go<-i^@{)H~
zLK~bYbq8s|JGzX9Tt>XmfJiooIDM_3=J$^nlc4OQ${=`iz=?;okUYFssO&ntFR30O
z-CtLM(FQO8e;;@II3dmW$4oe1<xKs_>li-S1U`syrh?-p5R~#@*y@>z3L<C<iHc;R
zOot|3_WjcYY#MD|$@^p0NBHo6&}Zh1|E22sO#>BfVEV0H4P?t!r(kQW#<)=H2MGNG
z9`ldG8PQF#C4dKV9AIB*C#G_IiK`Ct+*k}cfelH<N*=VS>3N{xqEF8hd@Uy-2fT=m
z;0*sHf1c@evw!E_otNzR=qK&Q5f(E=Q}6hgdn=9P?Ig+3oa_5_v*pUy8^^R&8W|dV
zx|oPg$vmU{pzrB6^r(7X9|RLV;iLLai@vgdm9luLIV`9>Y@0!|OXCccdr0JKO|u4t
zfpX#}aC>0AZ0RZzvW@U=fcXLCGu`z#K!;2$eWnnaNc2dLVxvJ-2?SvLc@7eqcJ9u`
zASej_ykaCsh?Sy}D3_(g1j3a>OEOUqL>NiHZB}qlM3l7=NmRqIRtSOyBPQEuf|8=A
zi)Pe89T<vfqJpR>2$GCo$x9MY(h)8t%n?;C$%2wd4P<5l3YsXW2o0jjM4c{pFkpg0
zSVEE|p@w2eh>eqJ$UziA5K=@E#pry$%5`^riTKP9@JqAsVBjcs3l5l|G3sDHH{E}?
z`@h%s%4&0ZPJ}|8DMv|du9&f#8JCywKda)%9HIQffa@J-WMJUrPm9x!^U-zz91z~G
zA_Ra;xyyv$A^kfy!@ze<$_^=t@&*`(uc20iSnomJBQ_Apj{dK)`h2#W{(l<IUqv1t
z%C}Rus_ho_u$?0LgE-<yYYyNf!YE7D`O_%24{M5)RSlgUCu740&bQ+POCND>SQ(bf
z+{6}JaTL(FBCjj9PTAkTLB;S-4DWR6@4t#GS)*Fw`>Gg}Y}5$SFw%%phywwI0nQ4*
zu1p6v=tRUp2i|hoOFA9w7X)$<vN(jWPH=1<XXVOdCQnHn&PX62JTc`#xHAzG5JbdX
zgD=0agH71=?URGqPh%XB32@1vq^xgJ9bFy4;|f5;7SM%^I`!VQ-;uH#7#j<s4ULVW
z1AI>l8Adt^zF{^J@S1f&JPdo6fE<z-SY;^*kcMJph!3+EBAA$}2qEihZMIECLPv(g
z;)*e(nS5f)iVW7=m2Ij_X{;?!Qx!eb6GKm{x^25)RA@B7s?)A7SgmBcwA3SZ$&3^m
zZmfH_N-D<F#u=tTjb;;@7Xlzqu9pQAmTfC7dJ@Ta+dcx9{V(YJ=dNqOb`@e52%Pls
zU84!sApn``!`_!*{F8}EQ~da0xDSu-=ybare2psR2@db5bh(Q$O%7TX#C4fkW=cu)
z3_7NmTZL`1w?VeGT*lxgQh?Qn(A`QdXsip8UNYMqjF##T9a#XZLo4bF=g{;CdsZ=b
zAJ?qL-)p=B@6jYWxBr_{%!gxuHVkc-XgVQr{WFP<iNu~dM5%MG_9ZMfU>q<U;IkGg
zQ;<2(-a+|b>W|2A=4br2SWZWUC!oeDz!FKL8*I6e{KZ2NQ4~to_CII!F|XbBxXheA
z?Sj=YRf`eQC%*=+hSlOl9XARGqA{vh2QJ|Ao(5gW29h6YLiBPC5rS<mj{H5{@)p}Z
zk|p*a9nFJ&`$w`RL_d`NS9*QvsNoLv=^??YJHN(tc+vtnrGR)1CE~&u2UOd5#r7bA
z!@9wC2m=QUNJFELq!+c1a%dIoJicgH0Go3D8_bkM(PfARQwSE%tMPnXhWH4_56K>b
zc6%>_2z1+vge8#`Mi~#mGT`@-z1<Z9%k1RK0oB?)$7n^e@(dYrynyR)ND-sJP{?p0
zB%_6a<&Q#zG{g}MUYHXDlVa9kkL6?yWA@${V9UU*!GWsKW1$%k(S*VTso;k$oyXR4
zPmkm={KX1il=pkI^vnuCGA@jLdt7aqUekI|{Zbq~k%90$Q@;!$LdP#LfxQgXWUWbC
z0CFM%9wxZ{=szbwe<GaFKP0uT<%NHSI6@)u%6(z=#axR9C<_IJYNB3^0L4W=ZUp<l
z$;9gu>@O777}O4tr_#v)P#q?Ioy+%?RYw7YyG1;-6hQ)h$Q&PbrztujA|bI7On$;0
z890~N8#;l-o1co`vfJCn58Ti^y{`jF<?BCp29Sm?SRc<J(GhGBp6=PElnyd4E+ldo
zQUZknl?Whr^-DL1j3^vQw0^SCCNi22TqhcjM%!$?Wr)E<5U5z&b*ayV3ddpzvGU#@
zO!>q>TX{FGdUb`0g0$^#IWghjV3;eTwmd9#=K_dma7_z@gKH<`A+>JzZXyZ@@K6e9
zupLztAJo^myu5-iFw&TPDbYi-urZojzjWFT^wW(R68z!~6Cn&~{(imJYif4i)qt31
zf3o{kHTsw_b1p<l4gSywv4a+6HZS<7suw-rdks`E<Bl;~2FqpKtg?&@OC83;PSA#C
zO$U7-`A4>Tu<K)pq%?HB06)`dgh#?pKS#6LxS*PX3JLDIP>58aLPUY36sHId2`?GE
z@`i$LxLAmrIN+VmfnJpFXmn`UV-qFK;(@9qkgD7`cnzhB3`vZJ2q^OMF#%&KF-%nH
zafsR3wW<OQ4h9U0YOe`S5}agvM1b{=RuDg}L=s;ugowDl-@x;aa<<3TWjH<lGs<ON
z&R9U?LU4t#fy@homl4SX+4{dTfrdD`hQPqIG$8nV{?p<y`2Ro9(A}a!CV86Hy{{<A
zGzW?3Fvw~N$z;M=W%D@`A)@1q)DX!2vdJ~`nPQM>r7FMBlj~CUFR!VmHX^y;XKL^7
z=(5ZS$3+G6-po}C1|Hg7&6M@V$o;r;2fy+D7qJfmf%&6gMa!Hn;un%DyfA|5Iv5Yq
z-J{TSxJq?TtDx0RTqGt}dK`&)yz~&tI|m2)oPt}i((SZ(3z`gFmw_Y{KcfOG@1xoP
zbSzMY;1}S*u@&z3dZxgGlfB8xF(=6+S09LS7=+?*eHRAL%s$kY$r{AEHd3G>FhkQ0
z6_5;LVi?wj948L%yWD)bA7#`})lbtuY#+off*#vohHG+Qf&_cf@(9YW^QJ$UX9M6Q
zBFJW{6-)|jN*odoLn#DBNenX#NI@k8G{Z8Q1bie7Dg0nVvP=YnB;^Qqj5tFB4xIk<
zc!tkuy*A2!Y#m>I9y=+3!33lR2lBEnL7YhOCm&wibkftj!Umr&BPVnz+eE}P2EdN2
zgk8SFFg9RqHIz6+(M>cIF()I3AZ&yXN8_aM(eDF^i5Z`X=qZ@E!M$CqS}G@4dp{Ug
zO5jb;pqS%yAR_ri7bgb}K!DaNimDmSH5PJZf;2}F;GTIZM0*qCaAFywM>_%WNe9EV
z0f5uII4!Cg1ayK*LIW_V5U*lcVDvr(5szO$o#T0pu`n1?DUa%qW3t(p*eyrC3_--K
zW^5b?9th-^(s$70tkiIwOfjuskSV^-38|P{zq78u+D>-O8pNO^j3*#F#*$Co(V?B&
zQ$STDRDfY*P|`i83X+$soOHH*XVk1-#0EklMQ7H>DSKeJqy`LQ7}m|bD8y`Fc0<5&
zm{D=bK=NVub~%!EC>pdwv|)gbfrE=7O-KiJ5zz>pCxCc#(FKW$)Y)SgqX=>k0~%~V
zrJxv*7GMju7<8|{8Bi$*v}?^1VI2%f6&N<B!<=I{;W)uX>+d(vB9cM-LyT6N4Y2N0
zh^dZ&7BL%Qh{d9y#8iyIN;N(@AiN#lF~UeOszLS1-JiryhXxN&j!>hMP92ENr?RSI
z0FR$X%HYP>#GukPJVRVj>XB=EHp_p<1>ca1qWJH~`Fq+e4RFLZD;j2?3~a^*Lo=Dg
zM?dg8e?W%(lVa5fhsX?w2u{fI8=fKEyRhlZW4yb7&O0?&LmGf+?WGMNmo(52c)8tr
zQ&xZ<q#%hYTACtdnw6p=m}o1aAkhZ15g>i?xW47|OUZJ&FcEn~Sd#*Y(F2^%XY#%E
z4{HlgX(y-`)SKOV6#Rd!*!(=*JKxRDa-DOd)lDh(MkDqxiR?5O1P&JLJBtAr8x@Ly
zas1vk-6qaT3(^kFEu@BQVM5szq$$_<`KZpu0i>+!$!!jh0z)1+A7^Y`M(G)0Ryl{C
z1I&Z8nMdovgphbKqec;lh7Ajn2%-h<3Ka_&d-hv7v{OiP+=>MRN2dbLiz~#y_!*5-
zXa<uIn8Hj9VCgP^={h(DWaR8X^J9~)B>IkAh@s*F^d`aF?=^WS_NL%hBeMUgWMe<h
zawHKk0cUj7f<LKs9Q1OoY<(>mMU_aVNROz}HZ8CA5ti*k<f(W<Ph-3tz}j*ix&e7k
z%ZDVr{a&Hg<Y2k3Oyv!ng}5|c$NG+FXfB_i7b4_MdyJyHw0ZCh4)C2HZ`tH!fC>VG
z<bW^_ymE=|(GOti;C^da1Kz?03Z$Q6P|yL629gX9eRfyCDN0`qj~AcSGHC(mf>893
zC-%EdlHn0qr8O|}e?>+w1V39KVIhC7cJ2<O6C_M9OqjrNlwG#lI|T$iGGGX$B`=;1
za3>{!Lwhe1`Y;H6AN1icN*c{lRGf{&nxC>X%S0R)_&t(HkkO(gl%k}Sz&|ip#1P7i
zLoBSwNLk7m2m%OlCJe4Z!X%+2Cf{rTRut?BHefPNz*SHcCPfVtQAJNi^Ul80aCwh0
z<9D}>4{PVtK0O~m`_0au8>ay6XQK!vpf9ZEJd9;QG#6|y0r@|u!S6H!Ulsu8xlAba
zzX0^1Ko0+x+LCWN-ucO}^dCU<oWL^imtY89urxtbPC|CSMyC=;7K~20k_0rt*waG(
z<EH5ZiwH1ljs|Ug8(_={=V^QzO(fGqpg0X5aum`KY-}dN?CP$9Y7+||M^bc=-CBm^
z*dGyw(U@WoFc%pSkQ?ibM3#g$#;`H%OW;%#w0x_;4i<SNXgrJ!0LB{@G$&IJjM4HQ
zhr?B#L~<E?E!`^MG%`7j8X+)yn|#MSnN->6ziIo)*U@&p9}+q9x&j38GrSYOX)hV$
z4=E3o>D>2qH%Rn{PQ9E4P=;9d39@|r{Jzpe`ibea*n+`*-NjgqkS-<kv02u^5ZIGC
zV3S~c1?s!nNP2;i2UDMf_k&dtX~Df@q|RbOr$!9ZG}Wwu1kFt~O=_x;X_1K6aN^E;
z-Sxss3qqm?b7#>JBRh2*k<EF<VaJY77A49!2mo>@cNWQPSIR-~tV;OngPZ~l3K)RM
zB&d0t_#LNZC3<1^$RR=eV;`CTulm1_2qFC+sK_DjN9?OR1yxm5RaH?{RZRs@Ab%Cc
zAU1$8{JoSuVpC{nF%LLh#3XzpQl1();9yYG^q;Hvwa?|)ua>GNtuBZ2WnP0pdPwH5
zk%-eEpolI{^R`k)bSva<JW@ZfeVCmI4@m?wkB+GIBiF$n<do7p$B3wmZKQ8>Dk%oG
zbc%ax1Th0*kjSt>f_2H)-R?a{(ES)N7+|GJLH8K?#65_HuhMt&@#O1%wb_kGcdQ2?
z4l9IPBs`PU?;m!;?*n*YIHF`1*K>f;HpZYoY@zX*S0(&5SFUz<_81gCh&~S<Je`gZ
z!`d*Uz=SR4rh(3IKMYkN?L1}^BD3P%xq!g7@W6at!t?q}X9chC!)J)aWPyimW@<u@
zr_?`|6EC>K{<!HlU_ASb2gXg>gP~@_9^0kTL-?d4!#IxxI#bkYv`{e)kY|CHf`m|#
zF|xz>LamKGL?Ffoo>8PJ$b6;;Sl5w&I1emVy6k1lppiTOSA<0c4N^`+hs%LBhiPd~
z_uu+ZZCB@)nIi~5#Loc!-=>Gjl8sHo$I<bhWY72%Fk(Gd>xVKVxig$dnkYxf>EJ#%
z#rP+~g6@YBkK*;|{9rFJ6y6>_DrEpgCzx<ka`7@b5ybS4!oY_i+1NT0cqUzeULb#b
zCzqZEkIq1JUcDE=4Zp4Z6NC``0&MYQPaF2hL+LmHyHxG{_%L?{0fS}0h$h4fk|14?
z1K7yDkWfBlj_0t+kob~j&P)qYKF0_cp!7x$>I}I>degxW1JW#qcilk*z<wA5IW!j<
zIZ)-$a6h{!Vi19_geF;I14aUQZ@FAPfQ}C^qv;6)9ASN)PPi`{xd74J?3**;<zvz=
zj^Na12YLL5;AHxAqJknKzpw6e(*|<=k*2dz5ky20ZTYsXamH~~6*xVJdOx0!J=Nau
zVAH*PnF|5DEaai?^v?cw-!D*nv+<ct>q>{z`0Rn-YvLaCDP%NI?x=eDXM#QepFs@%
z`X54l14}S4rKH$$y9^M}6Zu#*JfD}hvJIy}{q`_8G++jVmvAWW!Xc0{XHo!PK%l=O
zvM<AA<T(w<k%MuxCW1kt>hB+KAUC97Lwo$)qKU*L0Tkd5!s^m!7zT(!odDSEQhNX)
z-mCCVv*eF8+Xo>|lzE3>d?2GDe<|}I<!DLpVdf=}>FGz9<lzSc$5ubV;q__zM^|b}
zVEr8vs+kVJ1{loVDQ{<K{1WUppT*h3wYQCfAVj3opj3?N2k7*f!WR>ZJG_QL?7^yK
z9?&j3&c%CJQ?w1hU{n(?kl-FiL=@-V{!ovc`oDG!o*-}oZ)py{P7;%>>_`eiAp&7Y
zf?8eafIDNr4=HjW{HBHk_N0TCfkDD>(RS^DjaPym<bXV@kkO9-=of(#0mPhk2Z0wW
z6-K@RfOdM_IffZELFOEs0czu)nS6luyn{!n7lX2}cpArB2cf`Dk&~5`95(1M6M_-F
zgA*^r0NQefaDkM<q<fd8{YUL4NgyPWScr&}N*I!Y1PNR1`^(7~#okdiF^M#4dydg@
z#PUe~1R@`@bTKRfOfpOp0SZ7Juzg=UINtmsUGsn4{q<F?4LfIU-gX$T0KUji?#RDq
zgZYk`G*U%WzigDJR={k>Rs66Wll4K>-~7Yb;zZ^}C{+Sb8}~FP_Ygk_Oci5c{k;GO
z<s=tyr$8YC2<Y-u0AiQ|l!#5Ts9xDHzDPa5n9KNj;@jtrfgLKq&5nvq6jUUU5<vSn
zmXd{l(S|)347^B~!KmY=gSn$`0IeX9yuv*IgH(Y8TOLlD+?>m)G(km38bH)zXko1y
zp}rU{J+Rqpwm~=9qxPfNYnrG$b11hyM;$AT)kVRXL{w<e6Sl{O>^~RZlgVHzpsFe^
z8OV->k)Zn><G&+19fOeUt<-5D(gPaOm7ec*!0Imv8Uctm9C1prskS-E$^?$g`r#5-
zGdjq5G)D0l*x+p;jvTTa&RphdB8$N07$Ad^@Eag8i0lnMc|p^E0QaCNCrr}<LxKRn
z-TB`32z_Ig9WWrt4v#+3fC)e%0dO(2e0V32Y-mTB`aald)v(kyTLb+!;ysdACN4BB
zw^g3hQxO;q(C&@$aA<#Z!(`0;QTHdn^F!1<sT-W8MnkZ4Ow_aLccDLDMZO1UK$9eH
zgP3rmLxU4UPIfE#aNfiDaK;HWhmq$McM1$c&kwg>=Q1-x7}|*K4U!ueuxvV*P)J8-
z0M;Z$Xk)S0de~zjnFAewLcYioNnW_@z~H>fbQwVLx5kH?A1--B7(nAgk}*0@PT=&V
zIq*ELS?q@}9De)(ff1w+sWdxm{lX)wxM6oM9ghBv;7;*?CLo$(C<n8k*gr?@ABcZH
z^m}7kTUbO=Ban*PfipHppYny~^MhrVFd%IIeZt|?=!L~s%oY_zhSkA?6%~(-Ns;0{
zCX_y&+=3g3bpv>L)G~f54|-uw7;<-;BvJ1JK$4;wSfc#N7%VeE4e2ln`VF?)WVka3
z<|P>=5JzXgeuXGkv~~%q2zt9>(dfK1!>`MWr}u|Zj4$PP_XCy>)Lj2WlZAXaSauZR
zKN+duydXKKCgV<Z#C`b-yB){XfDb#?1~rOs@Ods$1oN&@4S>q0Kw%eTHb<ot6Pwru
zfP0&?cM>NEG3G=tB7uEa_JJxL{s|v*45|*y4$$D~Fy_&M9hucKc8j^ks>!jT%M)yF
zcN2rpCn*hZq0kJYpVz%I^r-8+I=QenA`o>l2lIf~j75Y8GnjddnWr*HL-NE#O%z|{
zXH`rS6%`CbO%p{^5fIZwQB*}$6j4=CR8vt^QOC-40ljq8F97ci!L5~HB<2-VA6LWV
z&*t<@pODKBzdL^OI82~lr#)7iZARYYQ>{nD2yNmx9><E~O*D9Tc&fEIlDG$C4lie{
zcMylPDu{jNV(+mNM&F|;vqcnZ(C8m%3*=vNKrlL?B>`KxAmpe@C|79hsAw9HxCSgE
zuBwjl^{24*V6f6(KA3~c8b{!HZ^3ftL8L|E6(s)&?MT4EK6ICiQ^qw249H#>*9YH|
z6Vj5D!6WaaCEZXAY-BR^V&iN>X0u4g2x#dEme_&F`>wV?cI2Y~-#a@evnDC3jG6X>
z(L7y+u(%I&3<!T51wQ$~^N;Pv5>OQR7nn|v=)@Y(B`Hk~fI~*K*G_<?=_y?R(1wS*
zG$w$)!H`s6995m+4+v242+0fRpoAox`F3<}ad?V9o<E|=dK|vMeNB<D_@<38G35=7
zlk3_&fj_0YHwynK2`(*AkRLJBp_L5_;(iS$vJczNbQoMW@cTE%Khs0)M^HTK!a;{v
z@<|XT6JhK<DKM9~od6Rb8V>IJE_xD!)ZYd7{9O1<`62!rozVj~!Mp}4lqE(;5@tmF
zFJoqa!sH?XLPsM3e6{nh@VmR-OUlfl2;cJxyCCAdSNoMx0fB=r4hKt$S8X^au(B@v
zT)!g;p9>FDs_ejJ((5PlKyei73@NGamkJ)Na*)gRkc;vk%&MI!&~%;~2KNJn1c5t4
z-V*Kv)j&Ft;)or2qk4CS%gBxxkb~+T8sQE^An;&15_0c_FpEK)Bu=Ad&dz$b=1i$b
zgrPpYeS6wau?0y*NihWwBl7N3=>EKm=1BUq#tB057&#eSKA@n&;JY~t2x#%fS`&H)
zjX1!xT8$K17-T7?z@MyxeY)zMy}Ph;|23_Re#7v$MMk>xk615|cn<x`KR#Qr(CVXd
zsQ$q+G}*xO%ObJVbtsX0jPGqm_#ny*q@>lz$}z}8ZmvdH-kE+lv9PqEnxVTI%Hy!*
ze>O5`xwXSP*Khh;LC%B8HdPmNdOX9kFk#@*AhwE_Rx9~&ptd6x$ZKR+d1f#R!fuQQ
zQN!%YGzvahMBTjH2B3zzz;09EK+{mNK`_A+K|-Bi;DJoc43n&OfkUO>ItWJ6I2t>8
z_liz@rt`B$4RqJQ^d@*e1iQP@{OpFhjv&CKLZ^<-ilnRt0V6?AN6h5dc-!eWt`7+C
z_aNIq;$$XF1Tz{Sh)qGnJMFOZk%)B+1jH1ZVx|4q?R9{=XB4=|P`}y#A0DICryJL5
z*mR@CS^>oTpz>tCmJg>K2SHyTJ@<CjA%+UH29AIz6T&^q#D1&1uNIgVni@>NETv@x
z3}TkTBG{;5uYRPIe3<wo-wG7dN+XE1@SuhFuN?SDX#qnwZt%>S2ZT{kGZ^OS_Rhav
zS0J`;rnk<np|FvlHM3_~Di}1$wXL<qi4YmK6Ba_Rx~4&dgBKh)7`S9jp*$M_qlzgN
zJOulxZSheFo+03IGC+~Tp`6*zv=6WGa3V>QUpE~xLttUOx5}!2+as8zwU{}}sIiMl
zt3-s7P0ch;2*g+on=jj!50l}G!9-M(Q1XS)g3<Je1YkA^v5ek;?5LuPnl%xk**w_v
zo+aWKA)^S$D2XUyYZpe`Ao;!+^;Jk;SU@*+T+j}V$&BF#e@0RH$KeI@1qKxeKcWk}
zR(N_kGs^gF7cLobilU#}SCxw58le<1z(2s%G|#E-Yxj-<w7QQ59S+DLwUC234{&JO
zv-l9?e+aYi=pF`tAQvbd7*+zR2zcuCe2fx&5j`lmPJxN&IKhxO%JLATkw6GWh8q8O
zy)g$VOb!u226)S7fQQ@oslEI3*)p5~ky?4IvPc-H2_l;CPZZJtKtzfOu@T_`w2Ihh
z@R$A5IasW!Mv@hr#TEM|EY%0w#lZB(;njTtMCsWNBo5-k06$To@K+(o9S=ARFlAQ(
zgpBZ<Cje)&nNpR5>i~U(bO$d0W5&OypdqJdz;I)d36Kb|5z-;<$_9}S83F*5f<yBX
z2$*Do7?grhO+bN6gi2l^L0n-}$1(OFD0lMF_t^9d8PqYDp+8Ac=O<p%51O_O-nR}S
z#k`jnMO7G+<zVRk1N8^@2MNa>9Z<>dOlc>;_s4%W4DGaf<4Ht}bqtIM#{;)RPK}Gp
zqe@bh_YQ{25fUOi5>TN-5^jcmwj(?asO$(007bx7fdU+75R+mkL3NWhet3URM(jSp
z%)>%!NZCqRLs0nU;hyjT0(ruEPEUwxqb!`8g?~8X3}9fAodg*r9F9X7{)@P}>41+G
zALoHH9`fm9uo^?i5i#wP*Z9~vDyb0jzajeXgZxE-lep2q8DsgsW`KJqhNsN|q4OH1
zPoOw3kMTHuP8tcf2LaFFxR-(lQ-Rycjsm7Mu${qrr;l_#Sz1tc22|!JN`^%I?_M3A
z0m%b#4uDEM1+GL6=>7#rK`8_7n(d2~0E|T46tGyR+0v#SL=HgcLWJq_NdSj96Y>@h
zP)-M&Lj>_s#W&r>OfZZ}Ue88@!~#YF6ID5oCn#OwpKb=5ko0EV{V?vt&=j=2q=wj(
zvQDNXDx#AXcM=W92CAq@TJ6wKS78tke~D-~cJ<(C2h>2B3I%=6Jx+pV8G(mm1wHT%
z&||j9v!K3$L);FJD5vxE^rM%(gp0Hc9exFLoDsrqP8fQEhrj{uVA17iFf<kA3_Bo7
z&qssqiPtLl8JG-8eQ5mhh@4N5z+nBKl?V@`*`oevqa*eKhe<GI1L}WCq?3OkryM_R
zR%2ri@p5dWp?|5Otlr|{idbN_aMc?R2cy|0{m0LZj70N|CsnAbJ5fo1`K#=y(g)Qv
zGz9^w(~4?@Xjsr_06xN4;lMvK91!MqFj3GHNh(CMBM_m??oh<m-vmQqZ?*b4#=OY<
zVVU$h{}oZWEu^>)cGj}PT2w1zunMRLk62jjEVwIU$b)TdfLl~g=LO_kCYVUXM7i$t
zHarIo6F~?!8RTxL&;xPrW=Al~%n5!ZFQ)`f97?f-gr^7muQbU~!5&=5(kS%$AXCH`
zWRaCXxuSxI%VX;da6$fb#$pG{HiW>058@DGpY`DUpE1g|aq=f^qrl5C=0*JMj4i7k
zq7*#jePQzBeD93{eQVs1WOZ-`HqKBC<38`x`v=!2^ZB^-W2wQjB<L^;A%cDw(1S&S
zPC>GL3XbI;-r*I>eEkRp^Yn}y93MbwtGP#TZ4C>=0$e@6<@?3p0VY)sBZV<f!Utg6
zpz;8nN*-~@A<c=cs-AMA^?{+%dh(tida4iIu$;qDJ4g(4Bfv5SluGc(o`TO=fIK&x
zf_ug55PA)r=!Mr0Bg(slGCgJ%sj53j${$ze`Exh$3GyDysA3d3HB|g&5ED%%5+tO@
z*Y<sQ%Z&LxTMh08wGeMGZ33VYW`Qr;`+t34fMHZY6Hrl;Hhei)gA;`QNWF$Wf8qU!
zizhRnr0G9P;(2Uz5lX$s)qx(+k|A%yp6TGg&rRk9{*<{Cd%QtC-Y(`tPqbq>DL(78
zAT&ChUjO18zCTSHvOTO!3^5RPFwsXMa<TZNlYzo@RAi`zF^|ehkRyfNCB_64i>|ET
zEFnq&_lJu{3|c~rtgvR`>@qa!j^(01$OcRL^ZK!LLE5BL`mKex{qszupvO3KVLojS
zK;8`4qD`Nbcy`G2!-Hr(aC`GR9Z4Z1d3k;wlq8Z6o}Mj$ICd89fPUv;@t^a+at`!&
z(fGJJt{Z7FRWpB0kf6UhRY|@xfRus>jT4uAy1BKwcNXY;J7>;G@T!1_yFy|!!NB)T
zoe|NHL*pe?2apgQS!O|^@o-N}g(?0x?*3%(H-4T0q8%8(L{<XY&SO0HfyNe+l>??j
z5`ABB+n#vC_BKo3iwdg#ibOIim1;F->)USh;-I0VzV6ywAME@S$~>+u7<5c>)U4Rd
z%215~lmQgUFdH!$VVdw{(w>pIUT6s*Rhne(rU|kzMCQzd@%P&yMK9QBAC927c1{uc
zR}-_=@^&B6iTtjj98OS{ED(dGXjTXJ3%O|SfM~J?63Qb*b>#m?_Xm^}_6}0+nmQ=F
zR)5Mp$`%MGh|fcFcn=RZNzKt=bPb!VBM%?i;SA*tY#ll(a6#s>aexU>hCdDFQ@XCj
zAoDc8m>xFl;o&xX14{cjMSChAxNLf8CltppUsngv)6rD@&^!AO;;0Fy@`m9sy-9Hc
zimGyOfye^^BpqeKiD24*OcDmM`-W_G!N~$RM2o;FOkp9AAW6&&5>U)k!)k|6>N`(k
z4=KwbOG!cONF>7ZJPu|`4HQ_!KILt+Yfi+XN=OCk`UCda!$GaK#$wm$BYrYZ3xcof
zqx<XtY?`IiKgog2KeHcQ$eA8+u9if*YI*+Ui23+?OY%L4ijFq1vs(>>)s3-)c#1%T
znVLVcMQsDYIZ?C_NO81jv2X}jK@KOSzorNKJFmSedhEBJv;jh`ERuruR2WjafZ|<b
zayR@C844XVdxFx1$KQwdpgy#heaud@`M9sS%nTz>8ux7KRg`c;ui#-e-f5avzg^hu
z9Xz4pXci1mJrns4=QoyY9MR}huuchv0I=D!3B=6O9>Jl}tKahtn=f`^TTX_ZXB-&%
zxva$Ru1s|Wr^fGv5-!3ALk0}O&eMfci9fCRBBl%*jl=FjTmJv`M^w8bY!0Oa`x9@`
z?;AmlBkFs048Q2!P`wN-q^;>IXq<PMryr&~`MB!+7<7+^uK9Q>XihMWphgY!)uND~
zNHh(rYI;`&2dF~XpuUR66T~;hii1oWV`;W70vqXQ)rK{ZjNqUsOjL-JdPp_JoB$s4
z20OpKv(B~cHku&NFd#=Vc_jv%?96(=!cZ@Oknl`Qr@yfIG#O40_Y5{~lTcHI0nRxU
zSLid4*;(J(Xf5}C4!U?4e8`U4&@LGbTRqWx%4MZ37<;_~DkD%w_>KbsVzhsG=ByF0
zWET<OG(*tn?}cC|gbqEwCf&OtB7*|ND0$aAypwd<eD9u$uad$D!p=6Ba9XcEwDu%=
z?Z<B82Q}YUcOen2VzvWEm~{gsOhjiTHWeRXmZ_cHVy<p7*f4D{Y`Gl9TU^=`8TWZO
z+Ws%i2hSL(U*JC>eSeb{br<t5wW*IWEv#3Wy<?z1svp;_|Bk<*A+ew_c2uaf5)5kr
zgI>Se3<_-V7llPGk~`E^D^i?fLqiyI{c8&`V8RqbZ1TUd(N{mVg-FoDVs^rTrZJlk
zR0Ulx#=UvF=TVXy3Jy~kL^QT`DAP7Baml<{u4>m!lbRpG>UA-6_&mpP2Dobu6DbM?
zqP5vX)+tD{Kwt?&1U4OzQt6u(0z&SM5T%J%37i7oF$9qWnk_0=>w$1E7f`zwYq9En
z`K)@e-=o}9BuF~FQydZOyO|(@di6Lvu&ai~ES|bZ?`um*Fyo#TAzMjoOh}!DPurpO
zxxnvs36$m()DL`U8sCCO=6F9%f(bs6R*1DucCx_x9~L1I>;#Bnns&rmd>xMlm~-H8
z3Cd7J(0ZOgx?Our!I1~zB6M+13}0*A<l*WZI0^g)%t$;4FiDX`G#zC&DRpoL7EDOw
zC)PT<FW}hyDhQa`K))aP2H$Rd_x`NEyIQ?!O1##%K-VSMGaTW%gg@4qc)Qi4o73Pk
za&I_o$nOsBgEp0=4T%i){2v<q7OJYOZrm>Bgt}cIoG-T>NgR}#8aWwbG>+Y?Ks+K}
zk??y5^C8EBb9{jwNtrNE`#<XYCI`iSB|xexbKdOGN>$vE0$NQH@-BE9dcbDKTEe+}
zo;U!Gy~GZCs-(bmN#4gBn8q+|v7*^GTR-E%kIkfEXOgjr2PzZ750XK+#r^hPAxFlc
zT?vT6LQInslgp;gr+}Ow5SuX?DCdouQP!|tl~U>xiw06;rQCk&hx>Er;%zepe?^m{
zX^5NEW@ho`xo(F29D(83Y8s~FL55FsF`#WVu+F~j0p7wl8bH)l5fKp(goMle^dDJZ
zSfbJ`WBu>;u=7+XTW~~>1;%^iFfu=~7R0W_#X(fz<6~gAh^?a|WeiqYF4IkDWEw|m
zq=R;^!-$}^4QjN-z;O^+xfYNxFrl`tJJa?(Z0;u%6j}@un3&wVNKka)IE+E^v(e!l
zJpgY93qhqfWD1~1*bgBNVDdBWXuT$xIfIEc2@-74b5ape$(UC+UE{`L6Ee>duR<A+
zq9An2WQ1}_5Rp=h%ORPJbg3m1HEHM~qG}I$K-|ZI1VsvmD)Fm;e<%uBI|YF@|Ht_Q
z-I%5wi2YdthrN-K2e0iHk-eqk;CSpy%#41I+<(yRPrXU52y?mYBSWC{O*J+bG=yd$
z2z4VG8_OjLVKC@pVSjJ!swytcj>6zKnU(YK=aJSqLClmchIGhh7@C}5!&*Nw9rpJ_
z`MaK`=!S|SN;mb^p9ijb#%gKZ&V-4s$Mz&{l&De$E+PaVDQQdPuinFV`EI`u;dIgq
zzK!2|r1@*HK}J~Fb!4*9O>Q|uD3=OocDy|$ZSEp0h#l-o#~85V78RP&5lU3EB>>4`
zI-Zwe5V#AFHuo|7^l)sZ#xP|^`Gz~L>oKBZon3-9qrw_Vu^u@K@JLQM50XY9yiPbL
zyrkg4>`^_~S|J#)Y>^DTzd)F4Kg&PzkH`$PGoh58!T5MMSrI4kpzTxWfGDa@;Eaq%
z1@qBB^FAcAIJ?P+4PD<hJko+vdnXVb5bHb94={4ik{#8T1}rf#k;*xPf(&*L(GtIx
z2^Zb>Zzev%x3_iH#wiUBG(T8Jm+C9r$A@6xb5eOa^6@k`#AgRIr6MJn+;!t?{TLmy
zw$y(Z>gXfVcGQ5IO5}XtJ(v~3OuiouuI!rW&`@Cg8u_wf;+J>Eh69dm=2SV2EEtjX
zUZ^o+LxyS(Y&Zk-AE0~V0g_TU!X!#TD?l0n#&r}NL&v=3<=7h|$g(<s;<y091Tx>d
z2xcQTALRd*@Dd5#$O{M%fJ?Ph^tn4@ksCd`o*H9}IHWZsJn_}u^a51@P?D(@Fe`Ju
z?>RHGkAkI_AlSQTYUXVtO<qVaOycM0!}9$ftC!b0(d#<aB{WI*t?OH0#9Q7&@mu1!
zd934F;)S`b?|a$M8%yFlOm)Ceb{<ln7ne`m{&WtMKU4w!NPkN$h4(jch)eJ^V|~{T
zcfYgzzSj<LJ8}<ap$(JJ4W(xtBf?m5#?K*Oxf)=*cjd68a-o?NxNyf*zvh=go!Zx;
zm8O$P+V3C|2@tp63-y>7?K%L6Pr8F5fg@-egL;!V#8XW1o>QX95~*II?UdrH1t{li
zU6^sLxG~UIhJ&9JO{zvlk7Qu%2xsasLQ9>u#PIogD#Or$${r|ZEr7njJbaEofYcyh
zz_`MAA5nm#<>26nv7F&U6!hb6$~5f$;Ar*a0=w1$HxM{o+%U(?NU+mkgI~!GFj8T$
z)K23iAwV5=K5*bcmsHp!q2`u_rJyJ`?9RYthk^cMa`(ev!?FR&J9W@rsgDEDbc2cL
z1SmBIh72#@SPu^D4`zrzbqKLg&^io76b1#zW2g@~z~ns~UK@?Wz0v*kM^ymplYfD+
zZHyX#Y}o)I0kD`3vB$VekrMz25ZL&ul@f3eU`+y#5P4`uCHZJO2m5OUU3~imp9&in
zU?KuVWk65g`iu%3HyfUn)2ki0cuUqe*@RAV2l#4zKLYbhsQhLzE;|xPbMv4NgMJ)5
z1}M)?n7}FN1ok_wbhtbH_+6x^svU^~4vP97EIARtZZmU<D5+H8DbV3baI`!(wAKjc
zX2_TjG>ZyjV4FCKE=UWMt3?oFDJ8RkEGW%}gi<3Lp(+4^XXIqT^2|^!VAct+HRja^
z5L7l}@<*_n{vUgc4Y)rKwEU>=Y6@SIVNaS+i9hE*+kwbP;FQurB|qmSNBzX7>J>}Y
zkwAV0sei>7z&$1XnaGa#C>>x0KJDIA@k5dUb+E?LAy4Qd_9PwOX@J)G2WpBAee0|z
zXg{|sKe2x{U|E7$P^b!#0;>+dlix!iFy0%4o;iLT;7W8%3x#9~Ac7z;PGTXOIw`6N
zaMq3&22=-T&)G2jwti0|v91q1I8UP?sN|5Cj>lplLZ{~hf|MGk=Bs1|pz6R#?ZCz3
z9$7;p2w<0)Wn>B<q9VyS4c)27O-s9;ykzxOcjyJASUSPB%B{PJV&!RTUU-far6#=e
zc{qGF9ii8d;&>Q1CPfVq6L)0b{Tvpq8i;f-fLRL!*1L>cO}q_NQ27*AVkJ`qdiFDX
z>OC(&)Sk{k3MAYplrSYdP?$yqo4c93<Vmp!&}`rMJ%{Gez>IDvx*Cbp6m-KF9Gvqn
zkme%Bj!Y&+7B!5Vi=GW44H%fliOte43<w#u4uOkH9uAp_=7%<({M)X)3mX8<uFXCY
z4w;~#q+kv)SRd&yl)xF7Hck^T<P;8uw7#a%!NZAsXrUB9VMHL_h=?5N&}t*V<iO-$
z_=0hTAxA8ZNy6GVZ(>tGotFk*b9#Ep;EjYPx$<N{(p!?4SZfxMDSYt;fyUI3W+~gA
zy<5XnowmqS%UPZ&BUGZXjA$xEQ1XdP6|NO9F^~>$R?ygE(L;dP_b9lPs1T-88yL-o
z*bywOlXkSypmDa-L2i~Mbc(vCWL7GQFxgY#H8G~sDP`U2*TfYwojDqsHI`lkp`l3E
zve|N$Z&igfNl1l3F{@=)#N*F$jqh*V<eW=8%H5UJV>FQk1TMfP7n&JNQFDJ5HwTgA
zD0Mhvp0fv(GE0|kw#wB?Wq7SOV$)8Fi$xZx>g0u$S95r?Q(AX+M(Lg0t0_@f#yU4p
zRKf#<2@T_-n2E;p^Tvaryeeo(h=!OaR&SkgaU^x;qHkn#8|i_z0Ey7Ul3@lxh@>JC
zBm<E#*hE1PL<AqTUQgNg{YTh+*7G?sl#3YrA>uH8ZM54!|D&XO7Og*yA<1YsX(P?P
z0+QXw_^JjU<R6vbbO4xm$bVA)B7_N*;;83v;R%M1%Ao=fq5CqLO>y=C!go%p38VZ7
z{-8fX<axWWFVyicrp85G$}a=w_)ppy*YVS!F49O|;puRN-2Jqg&=COyP7B8Bsh%s+
z>A}c4NcOT0+|B{ioYFWuoC1g;R=3@1-$2E*4BGcz%YeadWtIsfCJ9fQJ}VJ2{7ZNQ
zME{0<v-cMi-{D9emP3p<%lUhRc+D9HAIz0PU)%WYeys27UP-onEi|;Zz+><FlL@>@
zaPa&0Vfl~0A9=ah&b#tvi;bAQ{ZY-~=Rwv!$8Q*Ei1F=cx*Z&F>w#W%eIuhB36Y`T
z%m`qQjtp#0F)23m5#3F}7>WlRK2`(xb2i-m`ZOX+Qc6+%hZ;^2q|#=-Ba=x;ll0}H
zXl_Z5n#F<`^{KDSgSOpY4qo2|^{^h`KF^R$Kd^q0$)@yQ*TF=+;VxAVg9_j^2Moh~
z4B<SIo7~SSO;qBX6K8^5ugJ*!Ktai!1qhHg9l&`5LpTG_OXo@nLqb1#epAEq@YsJV
z^8DtGmb-lZhttcB^LV3s2;@P;wZe0kE8B!~BV;i{AxO>*nPkvgc!cI=o`H~(PLPS@
zD}NM&Ql^%vpz1Idm?Y|u_RIU~P4EH!V6px@e=YTV{|&XFDJo!^rXz2jGuy4y6m~L0
zGRZ(i!5JY<QB{N2fc$>pz>ayQ4^J*T56yx3elr_@&P!v&9_Qs#c2XC<90dCu80n8<
zp{Sz+85lHv%L2bpzo`ZT6#=XZb9@{+X@KX1`9cp#?Nv1}PyLXX7!z_mVrJ*dpa-Ty
zcBYk>ahX<q-j7tCBumi}Co*=@tkzv><93S6EXu0FM&n@0GaG?1-ca&N8g{R-J2l&X
zfA@y|97d}*v?OrEJ@+yM))RjjaGiokO6cy}u%IHT?p4{D#%s7UML8)X6aX|>pnfP3
z^z;H)76#CRAF2YDjFLOy!6R}!ty@_9F^Pz;DfIHmU5<1y9dY6Gj#SC!3{d>4(eep|
zFS`fM5|B%h2@~VN<Os>#@At(1Z#nPHH^;SP)XhUES!qg$ce`q8X@v_{bj(qH6{3X8
zI-kHXevmlqnim5G1cbsG7titMM>ugWG5F6=3;G1q`+%N+HZSP$hxiX3FRMO84uw!T
z1L4JfzX8LyKAfjWfnW?~z)6ALLq5M_LW}dAB374s15YoAp@KNNbnmnJkWo}1l+e`!
zN%`Omc9=3i=NQ<$z<(c{RO^*f>wlH`9^bV18%7wJXdN44G+(f|Qr|DRw~Kw&o)X!2
z3_VD7=an}01?2bs`JXeEd{}$(hjpzP4Ib42F$R|p+U<K{NzmWp%O88q=G~^#VtrqL
za%yPlSr3&itcTH-eUI>dTs;fx`)#l}Eb^uKe=F3_?fvh&@ptpM@Fe;lZIBP2C~ZR6
z5I+_96VnhoH|zfw!tgXe4sa;DU-A)umjD16APwOlbeypNv|$rUAF>r6&nOh2p4kA>
z1Nh~Agd_hSZWI3e0H5iFQRsyW_B})W?!W~0z`g`TqJVx{KdUGQxR43S++ZHBxrcr2
zdcJlZuYO-A@5)O)arewH!bkm|=>}>32by1<lWOh$Trjhz#~=Jbyx5+HA38!z7#z0p
zlugICuCzUGBjdy2mSwo_FUg^>`k0n^6x&Rcw&m}0tK$0y!-sxPQ`0gXuMzAA;GQ8*
zSHF27<^~;D|2bjg$7#2SP8$D-2>!zU@9sB7O@AU1`k_!haV0t|;Ap+x(?NtA+x676
zwUfa(ZZ;q83F}D%V34{XWiCJ+FtaTxxeSB7T}MY_tb;>djlUmh7u{2rm>L%xe5YRl
zc-q9xrZu2xK<-cpcR$o0dB1Vj{cu6U2tC1t=mPCsk-!|1MD-dPBU&~A&?;<PNBG&O
z%>#YA48cYQkj@Z3Y=RxZ^Z0+DhM)41|9qf%m_A>1L_uAEa4#Ts_?IKpDtDk^K*Hgk
zpdfutFaY7CzL3mA-nbl*%sD|_2oNLBzebe_edQVfD-KgfbRX&V_hR{-{9i$k@fbc=
z5KmEHKW7cTr}`P!lj`S0y^IO;(Z(F$VtOUX>s40Y(BHcdDMFVfivi~%L|^#}gdffe
zpzNp)dIR;Hh+1Y4CQLR1wq$(L%L!?u;LFbOPfCb-!D!M&r`PXYE-!V(-Pzgrbi&4Q
z=5xd+5cuseui=xXnWUHuu{5R=99DeP5_iW{Y%|IzJ)#n}x!#qj>#LO$_04K-PaJQ>
z?eDbiy+yrn=<~C+`pbTqX5rRDmO-f3sp^AuuNEyaQ{F_5JqJ+sHW&|=L45=J2<%S0
z<I!vh5cnVg(m@ksiH2YsC`t#!<n`$GPRN1@aE5@<A&QDVEok%~f8I0jO$q}KA0Z?v
zwtNM-41m~Wo`e)`*)x>co2jFN6W8Khha<3fTr%(z)OL4!Og;Ym6Q&nA`NQk~U$j1O
z^zl%AWIUgMMj#XF{75!zeuah&P((kf6Z)c*A-}KOqFYwKD7FXdOA+fN|1`1rVI-1j
zO{~R`Fxv!q(5HG*W@$sH^XoT`zmJRJ`@q{-H=2tsT;8&od~?1xlTF9Vy5jZ4^IUR|
z!2FVd@&fw>tYZcEq?!{6+C$rFFwsa8YEJqR9mB>$qg>n0hM|jP9G~c*^Fk}a)>M?*
zoV&PDo40u}dO0?D&KWW~Ghtw#v}rS=btgj4kF<|7p551`N7kCqh3rntt%mk+2Wea*
zP`*fXdg%M7`H$0nql$SzAOq!LW(Em~Jx=}{Sb$&8^)8k72)<{f5<Ov(NALp^_ZU?x
zb<{?Lew6{yqQZt6Ff7s4F6?cLjSQ5hFE1uz{d?$c=y<1*81xu&aL%XJx;Q|a-}Oer
zzkx)5C;9MnY3|Asi#~Hje)s^(Cuaf<fj+*$yyuIsG*1?2G8t3GD}-<*$VAgh2|{kc
za}kU7evi`};T0zVUW55~;>2Rni$*QLa0I`i09_o6FC?&jFC9cdHWW5@Wx?D#i3HeS
z2*hYTpC8$U@uMpVjM0?!`0)7HGZ}*|-gtH#K!_Kek9f8TUX3=7N<T-x?`<jr6<Szu
z28!#DP$$k@qKQzG8&)=|s;aAqs;a80ug)%_XH&#+1ADzVhB=g!P-GDI<PJ+89E7`r
zd6XWtPQihQh3@17vCU}GV-UQa^dN_W%_B#$43A|(s3d+`fWanA2lw;mm{>Vkuh7WH
zb=aswOVTEk*~5b}C>vqo8@qo#Z~u+S5spbEh;0y-B6e=Gn+Nx4qw4y8prrN%Nq`w6
zAZ33Mop6R#Pxby({lDKsoqsE^_`h-a9TnII8k)TUxDTV<LReEo6cbdUz)=8T39+U#
z{_G48Z36!?4B>0Bs(}!wX!(%gAT%N%=B%4kTPd$A%<4Q2A?oefW3VOym?$O+n1z~P
zgi~g957GX}tOtMGssAH?TW;z^dGSYgmqb3I5+y#@>@XAqoq{okLO0;Q1ElUbsCb^m
zUm=%*o>OPd)-D5qBZWU&Ji1leK<($@HeN#S;Xy*tL|8@U37Ikk$N_}Kn--zBP5zDj
zoN?kPoU3WkDpD%*Tj9QZAcI|^2*bicN8o&`xR0XSiZqaK9x08I4n*i3K%O`G+o(7%
z5)M1M1m1IlgxKe!m><d60|Pdv3}J_ZlNo^+vol|REQYJFFPDS7Z|4G3*i4>(QOwcm
z4L&s9-}aLVRRfG9fiRdF#`pp6pKIyA3Sl`Ib+~n*?;YKH`*XtNw~jtUVMxfU@`oe+
zDd_83&?E?LlWBFli3B~N8Hc~IG<cKW#?n>M`0jz`N;m>UJfS1Z*$u#*XT)zacGJ`0
znqf|zGRIDyTnu>SLn8BeSDBf4CF9F^kSQ^6gnbZTSO{Q5c%b{VVCiNdG~%0t_>tM>
zJOF%<YrIMA*dE8vc@wGeyNz|N9>L}Z5H^+RA}+LoA!!5*$}oJoJBq5QWp+CbpkobQ
ze1U=NEf|d<Va}Jr^ePGf-q%qpRz8#!B(efx(<irYb9Juz-kJ2TAAjAGziRR4SH@*h
zufxT9^(JOxr<U@hyvyy=<IIJ5;|w*E5;9s_28OmuRmJGFylGlzsVUUHonuLY8J1E3
z=&;ElXA2BgTT2Zxo|)%Xrn*LTm?=EvB-6G+G0I^|Qs|++)S=I^Vt_?ndR;2|0V5EQ
zdkFtW<Sd#X_8b?e=Q=aY^Oyz<_Y)W;Vts61dSoOk;IvMp03)$N-QU3HRlx91PAICT
zI<j5-B^^aDopa@axgUxBC@?(s1L}UCj;r=<wyGwCl1U|{m~7h~Ff_3M%m^6a={}yK
zp->8UcX{>n9b3H{c4XjBq{28^CB_$f>gt>xX?(fCiG2LbArczwMc|%utkg;op=fY%
z#$kCgc8#laVxR>uEZwlu^DI#4*nRFll%I!+;?(Nr`WUfmP0Y|L0LpaIfZH@DM1XBP
z7W*B8@dt&27{P-WF@yhvQW*zsLk5P&j-i)LkUN45jvC~8k6Co=WubQ1Oxx~SuM;WA
zI#?JOCIrEKQS%qtkO=57P#S03k_?a{0^c#f13}OZcpt><@two*aShO5B{>pVhZIBw
z!ORkws4!y9*45v>Oxqd_=@1`hV3FQJOg+JiB$h{m9mIy&h}{6V5-TToeXfD!c4^-R
z%o)=dsGMejhyXO9v(#Yo6qB8aMh6K2fX<BRMhVIh3`RhEL*0Q*PZ`gj3k6k?h+@r)
ze<?bHVA}1Q9_yHm1|ZE~MYcG=%yk;_<QHHg$OOQ{>AvhHd_)qc$0#@v7a8sl4CCsN
zF$E_QQ~aYRw1E2b>EJTcYq1T)rMfCZ^Irep{C<}6lZ#-E3#J8i>#xyJC}@IkK@tyN
zma_~}8nvvP5MYQ^jJflS9?yZr99jt3aJn;_XD5aONpe1+^EeLiA@?%@aPo!}2+{<^
zu2`m|4IY>}gcsHY<9Gmem!0G74=}xGOBg~u_&InYNMC3Inf_#0as`32xZphjAJwEJ
zcD<?_8Yn3Mf)Zif93*lCgvq#Icsu-F4e&2r0+?DAc?rcJA2>W@5*eW8768sP3tmT%
z_?>ZH6_-+_I-VuefOQTqH;-LldNBovSo!DF^D_h$0zWB4!cO}D;shoYH4QHWE<>UW
zZd5t5DQ<-$ndI~cm~L)KOCTHMmgYiWI41v8z&ACulL{tQ*;#MMxH>i_Cpe8QEgSyl
z8P$4N8Z(-gq6IXE$l^ytB?}Isd~GDM$qoox@{t28b?)%{5B$xSv_L#Cr*~=a@uI!D
zog9S&nBr$&(dzsE4=$Gq%d4g5MNc0p`Mx;Lr`sw2K2fa+d#(Q2U0)n+>674YrtCeP
zyKT72^4%=An=^1sI%jdwiee#}zqbEje{~;v+&@0iX$r$If9(j`NR*&|7%%9<@BK5^
zw0|DdNd*xwS7p)>EC>Mt_4ge+I!xu_b$EEw4J?0&9*<Jg>QX{)OAYe5hrp`;Iexdh
zT*l&Zv&UP2&CU|@8EBuhg%9^*F}4njPHjX>+<^5lYQH*|>S(BNmF(!-nq(jBeR0H!
z2;n-AI>&_8J%;wXfIXf=3S|mOUlcjdMHnK?XCh7EOX%VLXb-}ESOSmX{v01&Pwx>!
z9%yMy`*8)rXu;P6uSd<x*YxVWG7Gv=SwozLW3=?gKq|v$8(IMZkIA|yhl3g@a9u3J
z5Dq3d!K6rph=f^!Qw16MJYUK~LPV#4VZ{2d9#s9tuOn68z)n1aviV~KZ~3&$23!OE
zd-O8`RIvn-5Q!-el7dRe!z?5)K+Kc@MNt&cFw`+D%oNiUFaR?&&_skF$O91(Qw3BN
zR5a8<OpJmCoKDOB?+gC4L-|n&0x#$EY+UXj=n^-Ke=t7{5^EokBXKmu#4`t+Ng|6!
z$%2drZsd1#j6^^b6eANrk|ii_gE8VyFU?SXJqPMWwqivSS1`&sm_)K|zYjw5PdBdn
z+a&E&pjt}^A8+09{%@BU+hIU~R#$u-DD>VsJhJ=ppD`Yhf@{(PhEKbGLM9@~+mrJ^
znoX_~$7Tob>gWT)0|S8S6#8(uOUfM}iTl0=w0XG1`cXwGtUV3jY}yVUD96Wi@(1zy
zG2QsxpYaI47pO(IeVsi6`Z`C&KUBZZeow>ejikgBqme97m@)i$;21|iJs=yx7~}f)
zV>(HjOG%H}7*oohQh;(P>k4<QcpJyHq*LAp29O}Gznh81>8yQ_itGGsTFy_{cmNQh
z)O@!72|x(`?4e`m*wpSJ4n`nTWlrGo)DS>VuzSEXkA4=7KJg*!M|r$3n^GWbn01qj
zlu_blki-_Xuo<gEtCl?eZ-2Tcj7oqn?mow6m=cg+DM*5)7?7DEC00HjFn#Ct?W*&V
zqEmIGe<sQuI(j-{U?4e<?3*kdV<N1>9Fq`(Ci`fm=i%}A=r`Y#J>dp2B}_sz)moMt
z2{$#rd%dJHO`+7_C`g~$1yIu)W1QhgQOa$Su;D-v5=-&4t)qa*BpOerw$*d-&RiC|
zlpx~b#2Cm_6b2a!Rl(L#6DY~P+Z`2qd90zJZ?`p8@NvrqK)#<8#+-_nM@%@yFRm$5
zTq=3u^517b*_u?^<l_={6^3tDRPilii;f4+2GI9RM{YS4FeadWh6hG*5X_+s5uI0J
zlsfUoJk(J+<Aafi8=e-17@`;`qSz@-47DzihJw+tlMU#F2GGXM++dtQ#{*{W&^5PO
zwR%8B6%YZ8Io07ZmMIF>mZ)RWOGgKAyIefTHymit3<xT5nQn@##xm^)Xb2)g7$7M*
zCB<u@g=plX8ctOup>Gm2AmWQHF@pra@h~x7fNfs$O;nXt7L#HImw?iy;p8EX2Zc4N
z3aYA^SSzd@b24|rfv^>H={BI?sCPzJw2PqRISmJ3I-Kn(UIVGJ9gLf7sGx*GZ(@NB
z=m$5@2S>xo0w1`&=rDSq(-`@O{=<l{%hRH5;A78&=*j)P+eSu*5L{O-NGK^8{4elu
z!_{K{Heyn0d-e{TI}h^q1@1qnK@dBCSGEDd;xp*-H3WJ)d3qEgL&(Y`5CfuCNfW^B
zayD^9*PfYlYhwya0vTyaMrhHa??cA&ju|}U+&tTy;MS>mitus}P<kG+MMXbb@%mk2
z&tP=JJ8~+*1|}5H8{aZmoGDbv6{pQOKr|jPztY*(Gu@N2f+!%`NIp_8_@p}Z&(D~@
zey7e4>7KL0E$dRX3Ra;RjmgW?v4fJ{2Nqyq6EKU3#YvkrnDLsfIuXnHhi!k0vKW%&
z({=?N2x#tuwEfa1c?cVEyxcZD*}zR5$>0hG!g7#K$aMb)sQzU4D4y_yiAIqrQXyhg
zCJ|ylf>~LJ2}pt<fJb0D1oL^41Ma}7h*E`Eno0(W0HlJ<OgerP{2dMshKLdV2~kCJ
z44H_c1OSLyM3_L5LTUjZfs%!9@*-o`x1{YhjMop@pdcJ15ILX(0*T(gAm!Zt#R2Ci
z89;hZn_n;8g{m?|rZvlgJ^u43Ll$zhI6sV$PJ$sg3eqQ%plT5S4mU*uLId{|C?iRJ
zTCfINNz1S_CPj6y-!nLr0pF{j*3xho&L?a+Cs#bkaOW=|Xfq?E?ChH~K~{zX-Z<Vo
zVGZz!iBvqYf!8mTfHK68e;hiM3PXY(kdF`v+C(})^&o#AvW8LU19_97f5encHn2KF
zs*vdQ&XNbG?||^*)D!F=<PEoN{gAR!lpzHHG)XA|RaB2jY*_6()PH-r5RC&(i8c-h
zM1f5(N;HHYPA=fsd-W+upvZ1c1H9M|Sb9T`I2sh&VDky*G{;hyH5ve7NfYT=5C=T;
zoQLMY?mCEY!zdAm_x)J4G~dG7oNJ4A>8?^3MxURGxD#F)%&6Op<jq0^aZD@Q#5LPM
ztT>0N-A3Bv(?mrkfnnfm`7$sHQy{`n`*A>iNIwL-mXX}GN8Ju5Bs&BT-+HBSoC5Z9
z-?@jPF$OZh5ikUV!b$}(N4s7-*-%KilpG8K$Po-WM}PQdzqRIWI1e=Gc{$>y^H7Yc
zCW}tN)u_E>AZQcq`0aj^cWZ*`B>xP9)Qtn~apT1CbpjqGQIysbw3Sk3PzWgoAfRA?
zK!O5+8I&Rb(wd+ELV!S|01IbGfD;HJ$gwbth)BYak^~^LAP9Bjm(w7rNC%M#f=LX4
zlEe-5AIs@x95?99XY_11bIgbk+ehe;vAl3>qsO5{irzr!@dqHr*Pv@bq-Tf?hV~j*
zlf0pU1^qY~L?lc_Gcv(5>u^M{>M}=4dffZIbyQc+843r%B#B)q``daW423{=1w#^3
zB$r`CZ8dC%DsGwYVPZD5g*B*SUwo+4D2OS+VpAcSPk6b=C(#4+3cUy)N06L2$7Hy8
z>Kk)Me`(^-gHE(Jo=EMK$em~1paJ<+Oz=;+iIc;2#?XaBM>QZF?IL&xJ_Z&uzjV--
z%`zEbpfJEPn-V^Ep-w|~0swh{^no!4`i;sd#0#8as!_9;ghMU@P0%63MZi$OD0lby
zz(d*SFfQK~)YzL>ch3gk^OK86SCnR@dFH~6j?BY}N-#;@wZ*)`sB#C1dh+1AnpEOO
zf|FAaK=KaA38pDXX(gIUnr4=YN<oQWU?q`)5+R6U7J`5wC5cFhn1F_6n4*d(q*L_$
zU$V9+-ejeE2K*e3B{soSj0^<GSBGHY@7s>1d?3-30yV!4`(W`Ts!s^maiU`QW>7&N
z*TfE}J*54ma3uLn{Dx+D%@qydDXzE>*cNR7)xrmV&V2ARn#Dj&xG$kN+ecJIOKTOb
zxsc&bI5Wr+5yU8TloJXxA=Mowo4XD>P*W745+Z?#T4f|E0!5^u00<?eXd)6~lmV!a
zqGBb9MkNLa6_gHaiNH69o<8z3s~a5oo^!a#%sRn&m;->E75PK4@-BU_!NHALhj@eG
z;;*WRCz6n>N(6)y07`1|6gp%8IwMFN956Ts5FZk+)XXB}t>8FK8ylFs$Bax#=El$L
z`QY+H_1=VFI5G{(mwA5<dNN_s#8z;6abqL`5Xyt1yB`~9hnIwRQA~jnc`=0|Ov?m8
zDTtucC`#ymr3YNb8jVIM1UyFMM?iXEs5pe%P!T6eWF$7g5d=vL0ZCMp3+fc!W%5Kg
z^l<V(o=FnB4hS{?z*J&ET&BPuT888VPcTEhH=D^kHyu2%<wzPrSp$O7_kB=yL@>?j
zWCQ|)Um+?UG3IHVs_6D1un1XRL206-49ryw0Z{=g3S)L+rF~LB8n+R~LyhaU=;G&6
zsJ+#|HiPHr<sUvC7WtFWRZv6l!48KT0WMJHsc2zt@l)&|#Dqk#L?8&#5Fj!XHn6~;
zq}#!(RFwh@zPY$n&eb0r*lAmA+a<NzY*of-nDL1c!=2uZN1bn0!-RGa-vl?Mhh7o$
zO$Zz9{1!wE=mpt6{g!sh&|<LccHWtohgy_4JKbIbo?U~ILQ{C<6vq$-lvIX6NE%Pv
z`bWdZrdjK)J<Yl*`$2}olr^mHT1zyV|3IGFez#_Bn(ub$iG!n*;xHkbuWUys%}!nD
zX+rS4VR=r+oZ&Lcc$pUt16y*hjcBaUk%Zq0#%1l@Fd+^OA!?c?DULMROjg4A`POP-
zLB20G@WSiAOKs~+t~!r(s?~5~7OrWSM|;dmhnE64yDF{At9r<=9S#>H$NPCD;_abH
zONJ_h>qfC+#Wf;)xRFe*Gc4G|3L$_D8c7>R^<|FEc;>O6S05Yj`(5Vo(N;$8Gl~s^
zR}0H7moi)kX|CyW=b72zXs3006<QcrD3Vbr5-si-p-^738>%kqp5hS*m68b}2tb%p
zg`$CEs+39yg-TIMSyrY3sbYdAV5W#>QG_ar8cGm?MuLH4h9IPfB1VM(po*CS5DHi(
zDngN<q68>u27pis23RH)1tf$S0Dz$h2doGmBK*}HjLqU7AVHzQ?<qMPpu|2PMd|kk
zkUc6WWfb;xa-}N~h<+ty4iluIrtb+a76lG)3CQRW9GR@x2?Nu-P4e_T!g^;U9uJB5
zy7kU=z@{5m)}#Xhf)e;h8VG>&v-Npk{kg#v(T1SxfkThOD}v%QHpX%WtpfoR(=H_q
zAumY4ksn#!xra?CFH{K$ARr|ZX81nVChyc9`-2)W6A)6#CMiCF0FW~WBh%)L7vQ)<
z`Fjmf4G_@`VAO1oVTQl0!RLvW?uakUnv5d>2?a0d!Td1|Pqr)e+r<qw$Z#CoAK&|b
zpQodF{FDAY-^=R$BG#aYm4B9gXU{Ge)b!ZywQZzh6U*D4?7x!?GqkYJE&1h^zmMPi
zTwCfxbo&thK_HMrcn5nuK6YW4<e3!ouA5c2M|Wqa4-J#;{Q4kg=Ip_!L`zL4S+-pM
zQvi+;K1qK>1$2`9!`ukIpO3e<Pfxeix2wa*iOmqq1N^eTvg#v95OssH48R2dZ3l!o
zkON<L4{l$7J%r^0{-`)d6gqG@l_&!sO8t8neJ`C5`v^%pbPnKg-0^+Wo;t$O3G4Dh
zjU+kzj{WD=16k!-Gg+t)8|imI(bqY&R((qH^WY|+Q$Z0)s;9CeWZ4bE0h2=@{Ckrx
zPrn$lJA-+G42K`>k2GKz7MYNVWTPSkVrXQDU|JMdT=dU<gX;Nk8G54ygQ(@!5j?OM
zL8M`#p)opQB$!~KG#Ux0X=x||Nm`1att*2_&Ml>!Iw>i%(&HH!*v2Wr0i38mB~Hr_
zN(h)tE(h2T!F}5XzNYxY{FB5^?n95^F(N_60Wm=&IYdGQ%L63MiAMWP3j{NZiXM>l
zUreZed}s`uAc*|XZb&)EP(N)1kU>E#F%V49C%qWSd!`-nNg5aKA;=phytT9L{@(dy
zE}@>-c8XWV$&mu?ejq@>*LZ*x^!AVY8$MI=3IT|A?RWn{$8xx83^53VgC3tDmq>Mk
z@pFPU5=1nNlO!4`lLi?%z%eicFVW%kAnd^}w6GzK$E<85Zn$+L?H}r5^8!#bhqw_~
zMBI;QK%t=*bs!W0>@E;uUOYF4%Od*9A$UJt16u9_06N?*<7fk!`uYRwkH7#&K)Ap1
zJ)TjF2fqeLiGZizNEnDIl?@IhQJ{pf98v(7n3!ZU*QVES1QM+e@tH96hCQ*Ef55&c
z8BhuY^J0{Uf`}W~!eUZo3O0o}S%Ea$7xH`dQ&66hV`L+qG!qHD%0>dDh|^3%Fd#5-
zOR%c?sy_7O@_mCIwtWwS1ZTTBr6Sp|I#ZJczds)5px!>XP5_sZG%q-u@LX}S@g;=B
zyluoH{HD?5YY9}s=^bHuMAC<dXPd^F2JGJ(7gDOeu+W(ah{B|Vi}-%e)X+!Q87Ul3
zxA9N)WA`r(%HS`nN#40iuV1oSn*KG3X{}D7QT##lFTV|*6u}B$fXump{G>SGz~GeQ
zz|l+%#D*1rE0Y9d91m|EUHT5`^KcH%dLyjF4J-WX<4QtCsRn>Tgrt}Rr35AkrU)nq
zKtPE~X#yk#q)?<<K^7oZAO!*>5>)`?jEbTODOo}Y`7!|vo8Wy=?5iqf6+DoNQj{r>
zH!*~9A2>&{Q8kUB1Hk%lYsUxVzkWe6AxKhEg2XYoxhF{|pMJKmN1*%<IHH)T3MmMI
zhLTX%REeZwilSgV-XEjKj}PSy@vK|;9-uynK8Fc`q5}i~n4zT1mdQ$xu^6%um|VmV
zpyw$VF(N}zBumNkKC=5Fz;F2ab@}=|U8g9ZvS$`z&6&y~SOsEp;En}#Owvq7<_U!g
zLO7WO;(1PcwyoW_8?aH`xbu|&<8XL+=SAC&XlqN%x;8qx>~~4xbGCfjr101i&5mh>
z>acOK7_kSN$x-4waTBjMo_W|}G2HIy$5`OnzkK-qt=`24q6lJSB2H8t1CE9cHulyB
zT%_S3p+~=w^=JF-?%mfMKo1p*Y%?&-OSiqSW)L9N#<GAn27&4A4~k0SX$oqjIDsx$
zX$;K;I*LVHibDv<L=K>$dXf~P2B@20T-j_1DC{~Nq;($87k7t0xbgftsEk;}h3DeI
znKslSO>HEJNQbiE2sN7pC89PAMCZ}DI-w4f#|9Z-*qEfzh!`Z^f;ic6(VEyJ3*1b@
z<?F+ZY)!TSxpsp%cpm8!hKuDQJ>64UI~4k~I-qGhJ0Y=WJe_2RWsjRXN%E{|j9@@i
z7eIr^0H4^CAnbc@aAIKzna#9edqZZU9?(H{81O&?nJmp8i^(^@w3*VqIm~=!7od6r
zrB5n#C}P2O$%$ej>??tH-k#Ctj}d_s$@t{q0)iw(RtA%&m?3;}2aH9Hq{bwXqyo9h
zOys&LQ5<DLofOI_jDQ%}uDF1uIs~c^pis~tV1&znz*&$Y6k#w1%AzdeMzUbeZ$5t8
z@<%9E%tZ%xoB%KmPEoZ~7BsC@RBF^3*htw8AZto7rp^tKr&`f%q0wKucLkFBj_!(S
zF|k=oTH95P1xAe;(L`F?3qq?KJ8BDOMHr2pqN_(q(U?GJpk8*8eZ5{T9L-l9Vu**H
z1f(h@r6MROXqU0G-+p`#pZ7~jNj_Mx8eLa74&;0lL*Xl)?`43(rT`|2NJs)?!eo^_
z<46u5^b^bZCpK5YK`<fe=sqyYu91=iG$a`V*?8&OV;kN&9s}M)aG$OWK(q+ZQZybe
z^L>0?VL%&8@Ff;q5TD->UvvA4GwR7{E|CZ_Q{G>L+W=z-d|>ikfDR-mHSHWoU4S*a
z4@CA5xZerzkI#3crPxY{vuqPN1SOV80}3CL?RmeCM^QhZWpMJt;<+U$DeRN2@iEca
zk35Eh1HnyFp(1*aQpDi|#YQaC47H=@)MKDAweK7JC_S%I!65`KXj9|~%1qC#iZ)Fl
zZ*JqI#1S2Y{UyYZd&k0%mxLM+9xd4o&@b)3+a|#PyY4~yWfQL|c10L3E+Zc=>ds0A
zV_RHdct^h&J3=6X^@frMcM%MhSf|llFhi`1)KWn8#as<XB%Br#<syAS_k%tgLB=jb
zQ@TR990d~!G$3qDeGC{MP<aXK3`pS0QFsjtNE&E4LlH?z{5O6%@@u`y@4Q8XC#lAk
zLl#Uc;gVWi;3qJzhXputK`@^v^-v(b(4Ze2eO8f;!=tie5*BDIFZDKuzTHGXaRE4C
z6n|U&ZvP^DY62mm1|ULy6&N%+6WJ3GN`w?M#axtaMFj<eBoGj<oq{S3aac2tF!Y;^
z#2-*~F2yEVD58{&h@5PYa%IFsL}4^|KtTcD*f5?Ds~ox{3`j(HJkiD5Ru5f>B1A9r
zBqHTMD9(fkjfJG)W=eCWrcQxi8HW<&vh!He*1k4s9JNvr&R!WXrAkNrf4x6`ng=dX
zkQ1m7od{AChJ~goWM~NgE^rdWL_|bDq$B$y6y8CVbknOrWF%09-0?K%I?ZHBAV6s-
z2I*1U_{uFokZ4}aDU>m(ZD@}~9C3`DJtrT29!rRbdv(#L#MW^O#fm~40ag)68i!Pt
z+)*2e4iKdKpS$e;HjWk>m#KK@VMuT>CC*n8iU<8LCSXuKD;m1LIg&nw$OO?MA3*Dn
zWhEhT^{hUi+la2!<eL%p-Q&U$prJBB)Y3g-6Xz=QbZMdKPjNr3`$Lpn!hytOi9^@Z
z0en^VWf+<GG`R%_AD8h>v=HbdIZ0HpG&m;_`F?aVZ_pukjymOj&D^t!uZ4bYyq63c
z77B}CURq<6G#sSGm&Ji|0ZkNiP9&r{4u8?qARS0p=X4$W`*`6BPLOm|!>G4Bboc4H
zPp6R>$Bu6V{HcqE0|8SL1*1^K1tbw7OEDw1U}nyB6FVpssE~nuu;T5LwkW0`DG@0c
zsY-%G#2Oak8dE`(*$pZY0z@L|G|g3RF^YDi=>#MYps|xnMaID(Q8hwH>}14*5E^8t
zsVb{%#84cV)ilvX45Y|I0Wvco3X~BOK_meI0+9<vH4wuI1jy2XFayDZA+X^kVP%M5
zq@t1_ni?r^m{H8A$X$q$LoW-CHV>r}5`i^#ZI+U*wzU$SVlIuXA?C+o$CIbD?Gb1@
zL^kRQP?icZQWiR9Y1WymrAw;13%hp*nerYWIK$@DL?nJlFvQFqhfo*-4F{xW)b8#C
z$0lNXj8`&nNw#xD3Gg?Bo#JN!8g&Rz&|uqIH3ASgfQW;PG0GBS4U;e(983_wtVW!L
z4h+y7FqsOM2N`10;}p3NGywqxM9YncK@5<|0U)OeWDW`;f?<{#f}yA+g`#9BQ0YXw
z8UmET0jdy&0DlO}5-|l4wBllbbpsF`1cnI$RDdN213{`X$ESyPau3>YK>LKr<acG$
zhdmYEEW0M3z-2n%$f+N~M}U4X7`jXwWqn*#dpVZY4mgU&39H8PlT`!$uv)ej;K|Q3
z6v-aLKc&&Hibw;Ni!qUD!a0nNLM=Gd1$sWNI4Ta#m1YtMVDil7bO6P`KtwRpK@MRC
z#xYoYge9Vd(q;_o(oR6oG!RzTMMcxtQ`l$;JU2<qc6c~&Ob}A9nG+mAh=!0#rXn1M
z#Z1#PA1K|NCGE-QW5;_KaC)LMSD1QxL6SH~^5vFS+I)LG24h<EfI~(PmO&gRr80Tg
ze7qny(V@KdJo03b@@FhZ9HFX{g%wIoQ4x?87`E^%7{(}sMY-V!r@e8GOjr$wYcPEX
zAAeckU@5{LZN{M48-Oyma~il#ybf)5GHNxZBb_*_NKynxQ;vz}n`KwAzp?$N;2q(F
z&`v@miX|hA%aZM=t}vnq(NPdD92#_S7$S~@(IQd^$B)CFk38s}HnC@d508Tq6qIb@
zqQDSJ0zHf<Y<Msx1QI2V0gY{=9g_};oa}A_ouYlC4~9()L15}J+b$sZ-U>&TlhbTu
zKyX7c)&fH;fqvPb5}I`|vX}^P+IIN7@e3$pazKcXf?2CNxERGsP(V=AMNEYr`xV`n
zx(w81-Z0UaaTrN87h`)i4_IC$XnMv%u?a{}T`|cFgm~+LyV?_^yCo}I4-&_=@bc4q
zEIyMAi6JC*@rOw^oD+nR1a2}9hpdSZiP7H3J<w3OG*7}E2l9O$VWdEL?Tf@Nprcad
zmZ0egsN4#jWKF@iLX=V5CQ1o}27xFCjCsc%Wjs8=&=_aNJPC6nIFrGtdMu7YJrD98
znbg>wu7sa_K?m(P`lK07`tsnoEI7U3paW5oK!b?k`oako@u0wGaim-eERTRB3ciUP
zD-v>g<fKmxw7w_48eJ;CBOBXgeWe7N7T%d!MHG@37UUoN&SJ)LIU+U<0TOQ$A}UEz
zxq#i0WyF=TatDoIj~4_qNlIRp3o<bQ20%EwL%OVz0qEoLtO9&py(|bEWdJAkQQ-hu
z+RyrHbYIiiEB`<AKXkC3JhuLv74|K)Rd&X3XTOg9`ybQUo;-v@z9JjkU{C@;7Vm)I
zn1#qi3l%jH5K%BtM9CC{lQ2Q>$51bx%mQNjLxPBPU=Gl#ZGcm7C}hltG^s;PAT)@q
z$bgX~LMx>4?Ed(RDmWPra#>PA!c;mONlZl%2+%}?QV@{C<<w3lsk9&&5R=Pbv>+4L
zrv!=Yo}i@#;aOh7uM)bzNCeD4Iw)v(AP&$JhqH(Z!RC6LDw+pD*PI38Zj-1fvBiiu
z{U;;5G;D_0Z-a-@Gad+Va)Ym`4wx22nSi?xkObu8Fn_xur=7<10}>8DZT&cR6$LPq
z%LYJvKrnH%AHYu#m^lLm!HRG*0WM(!86}o5{^z6a*$47kN9KUx=I`@%czAU3lvBod
zGcedTzV2vDGC<bycj=MwZ;`hs?M%c32p-sRFh3uFI2?f$6crFqV3a>dI!1*^m}H?E
zwS)Emsz_=HBFcfVO9d3f4nW30OlVk;Ms117oN*D!kdD+Q?OjK9;Oj#)1xeOQp@}8o
zwFH}6Ya1H2478ou=}4La1QTe@A*5;`sfCItpn#%S2{?qo6@w<GSf!YlFDx}^sVYd9
z$H&Lx!N9Z#^|Az%LX}ET3MpU_F+18T`zPv;iTN-;28i$H&B}a9wgAH_GXiId-)Nck
zi2F5V*(=@{s){cYtStdfEM>ZKizs#z2oO?JcOor?7x>D+OA~SA)j%_aVko7GX+jyI
zWGSS8rimJ+ilCtyL7=5d5)#0as+fh?BQ#lxCR9=iEm6k9u?jwCiG%&ks^A~NNBy8<
zTne~J6)0GUt7ku!8cy71u)#Z&OZG@?hLEj|{yji!7feF)rykh?3|5@rLG$}yyzKb~
z<mc871mbQarAkRkpu7MGE0f+N{nC)3MFUj{$Q*r4VEAb9)cpU)uLA@80GbY@O4_<8
zh^Sj2?XsYKXQU0#L{1yl7fa!4PYjuJDMYTRh|>bQk1P}~I8U3bqsz>}R4HU^DXw!^
z5u;5|ag9QNwUCO2ViIJgpRUma5zRnx8aJ4YF(>Qh%}pG%eoS#(HldEgjIrB}ade^J
zaBNX|QL<fBZmos?K>lNEqNXC}GPn@XPEU+bU_7Dj6~)Zre(^cJw0cnO9?W1QG8lUw
zQzZ#SB_$NmLLIymd+v`J7&YvA%(#Wp#B}Y9$^5pGozwk(Lkjl5?t{icb^su+toc6=
zb~HJjqs39YOp*tV1HKoa^5P6&B3u}Df+9$msH&;e5qf)BKEB7%?uGm8pvIJ_C?kMy
zAqCIh-6Vv&#ry$l>oDq~q37x79fy#@8<A3axAd7x2$lE3bOr8seA)Et1uQj(p+xMQ
z<Yd#jlH_za>dOG4=ov){4z`1ccU}qQpfzOVKD)7C2*i{(0aX6qb?`V3CHsg8*eIh}
zA)!#FoDeh`F(d@*1MVMFP%M;zB9Scu9I}Vnnw@;M9Q4WbpE;2RB$g0>AS8%bk%$P>
zKE7FIPL)1`0v*U5I%F*1@p4K7yd)1~fMB0f<FJ9>1pp@D?~(>YV3Zs<ln$=F9IN8*
z_hZT$XkAR4=}w>|X&Yc)4$gj5<eikj=Mrc=w_ayhK~JZKE*go+g?qJc>s5@jO8HS%
zCxGFd8#&*RiPkc0faPGF#F4=6sAl&2vB%?Zj304-yn=(1_rYLrgm&@@nJKGxJ^47A
zrVRPJz|}c6z$hthW*AaRp_yV<(DNIhp^p@A`iOjk$~`Z+ejY7R`3$DrwvQR^bf_!7
zK>#Qa(S-q%&Pys<E91gogU=?}RClI%Z|ttqjX1Xe0p$nCAvV9o@_iqoVf@eZ_?vw{
zOZ$Ipzwg2wzo)-{p9;mba3~(!3D1Ib?;`C%RT|z-GSAt(FT~=SfbjFg2ykdLAHzEg
z4TbBDs7Fjuh}WF*yQ398seLUIw~92o3fas8I-(}-j&WN?TmVy*S4N+0yEjC|zh(%=
zhZ8%PhKdWWP{ZdO^PN@FC|VAfd3JF7-(nrL+ez*SWYOPBaWs17A#l5!4i6L#;_Giz
zBb`4?O|o|_S>SzhbBK=JaanV_q3QT#>(;cm5OK`{pae}lX%~Vb(QGL@qNu?&lGWs%
zv&!%Ju(h9T^J?EW2hWnc@dV!$tYt4bmmGFi8QT|(^VFjn<qn#d(OV)Bh=H`D$V&&E
ztShVwgPS9r@K|>D>~BCAE)bP8fs98CK@VmHTZMu`4-?0K8?k6SG;pu4Y3|9B+ZDVd
zCRST%rVWu0WtC>BO4Ndw50qXs9K9KpNQ7u@5SsSYA%}VyV{~!N3zR484>1$_U%#Jv
zJ;I@WV`C0Q>)4Ahr=BS!dP4}(T{Mp^3X&5?F0{AHnU&gJ?lr_?IQR95^PAMHx?U<P
z5XBp4G;%?(b?sEZTC{LA&p1o7%QmonAQC|kVx@yZeHB2<eVr1iA+UFbvq)6U8h~K*
z^8lW8r6@y|D5D7+A`)D?n>c(ltT5c`nsiS2Y2LCH!{34W4s6;?Xv^twb#Be3XpJB+
z0|C9#(9+V43d!k*ryqC5MB8cg0D(9?AqeCakj50qi=fpj>g6h`9j{t|HW<WMx!hw+
z;<<9=(pm^{8BRgYH=&hKUDBz9_Mn3Rk|Ee<vFL3&`t{`li6};erRG7&LW&oOauj<4
zsO=b;5=m4%9&)){WB{P+v{V5@2ItFC4qLfIh!mAn7{?TN3&8_CN+S|fLc0ZpEo|&`
zanK1df&r8y3<w)J*s@rTV}-1V4D|~}1<Xh)(IC?It*8fD2ps|k5cq@w9vjSf69yn?
zIuYK^FV4>)JMdTsB4Gg_lR?A)0)#LDf}~i5+W`TWE5TY=A`Bv)d)Np&Gsins$;%=^
zOb`r33FE`Q>J+BV5Fi%C%m#HFklP%}M01FZNc><!()$uQn&jmJaGaPt;jJPWATmm6
z*x0f}g>4Bi5rSwy5JVQdZt(K>t_9x>d3M68=}FtFdRkr!WPosX)!x{kYUJ$VF|L|G
z;AJo|Fp0ayH|TiPXEcJvelWBg`iQ34*8+iCfG#TPP<sRu1}6Bf{8|(-PKu$X$WT5p
z#p8*Ioet9iRQoX;4)cW*?7#?C&H3$yv|nlC%W-pIA0CFNj-+<yl8z{x20N?Wn}ayG
zw#cq(P4<eQBjR|~^PysO&oP5Xfpg$m<2E&|%suM4>ZtL0s%H|!->2(y)l$LwH>DT3
z>hY&NbEDOrjR!%{c_a1VOXh04vMjT?+1=h;9j{%Myy(|`YO7|m$;DXoydHaaY<g;G
zpocIsH;1w)amLyrX-B;tu5u<L)UJ5((c?(bqntTNwm;*HFOICh8ML&`RKsXlI@Qrb
zS`}@OO@%hOgBUh5EMprIZPvQ1h-(fQYZ8$WtHx-=0He`kt@oJ|YUtLHV@D_(vsi(y
z8|SeQQ&$8@X}Wk|A&cm---Luu5ZvZ;cH45$XcX891Y|Wib(w&rh^3CMKs?NW)^=eW
zejl;hMi$t{HgJ1HX`|tUNPVBNgcp<=jFW@E8p^h76GTQE?x4Gcpcq>*`4@=0vu9l@
zT|QV$o%BRj{EKqwu|61hm1(rkeCmnN*Feq99(?xKBN59t1Js>w2O;c)YS)Hznplj5
zJ3-m+W<C}Rv3gw$JZdA^qemPt>Dvc5l$>Zf1GqqayU<|6-b8v~#!l6=RkMqMT`zbP
zjGkHFWZL*=C8xqY*?!2+Cq^!Acg0yJW$niun+`>1YNYSg26>sw;P@;@e)2BlHf%kL
z+eXiEqsOZf_1nwiMtn$t^%V@tUaLEc#U$UK5iTz)Uby6!#Yd3_+3zlcT*FPjEJ!Mw
z_w*Iht~1}RuSQia9q)}?I6l)2l&zrUAxbfj@=7)eWnAnbG955ih;hhkOr9uGz1%dB
z%bdP0OQ2|AfsGG%8)U_+y49G(AV_Aiy(M8vCPWKq8?f)Ow0Gev_a8^T@FMo>a?c)5
zdPbTKk~k9B&bH?RODtkKHM4#5lhk-p^}#ucXBJ%Fmfn*Jo5|@LS}u2mZ0i`h<3nvt
zSYt&(TA+ZzheH)GIGw$(R&UQHKIwGlWD&>%Bq*1tfO7}~uN`o3BdICA$Go1>?^4&f
z>XCltd%iD_eT|XXJZ`S|^GSMn$<yt|E<^#rHQ+X?-wb;(8=)5AgV1@-q3Ue$+;lV7
zqVgVBH*<-%TtYE3i=nJ)<+a0AxYU}>Gi2Gz0cSkLlBgz_#V5aSZo&Z4;f9Od0pZ&V
zX!O(N#C15kIN<AHcg}@&bgmpThHaL^*Rm9K>MmNod-iN8BbKz!72=muM}v?sGlXsj
zlOK@BPH$DmcHD3j62<ia*yt$<-7VO1__!@J*r1p-AX7Be+O<~FMMpiFIL~pL7+7r^
zfYP&qsPHiMh9(N+-()suxMLu=v<a9prYNTD^fL+64OFgPFHhiOVXO@V7`DUU?3XIK
ze$6G@xreuGR5Y2U3(G;%f7v@}F8sm}=78rTLNu;m=1Luz(<aazFK$zfzpIuqwQ%Fa
zVKktYw>*b^;d`$9<#njJd>iCEUS#<r1$mJceN`Hn#du;&zY5P$>QEgGOG*jhRiWmj
zica^uvD4|CJCJ*gdV8psq%zuGhvkp7L)WKC9QQ`3vz~i$j5EdbSa`uLQH!g6YRowe
zW3ao0H}TiG)%f!_+&1}H$H%t?ZTYW@vjXAaq>niltc`_;V-G&cj4Qgs$pTt7mnC~#
zdv1(kRo#IG?Msr3;|y3<?aS`b?I5#Ub^`GrEw1X4r(K#xp10*uvKOdq6r((mCGG9n
z8cOpF!aU2GN-pDPc~L%FqAsI{YbG(-$f)s98oHShSxFUBTytfkI~C{H)6j>srM4zL
zvcaI+I71TSjaC|-t|WG93~doV0~1Qk2RDrQbI-YT$9x#OG#C?+z=3Z}Y_(5Iv=xH!
zm`)ggFhW6bRL{)|el|lY6j{;2=^<db){g_-y_JJqi}TZ)j#x12n?jS*crSO9!@al>
z(FVyI1gK#{O$JYUc5eD?VX?DZYQ!$RpHwxS1VKWkNe?A;!Q3#e#*`_%9GTd@E)eq1
zE3($rd9RLnH6SZyot?4QvTSNO9BrYosv4rr9p8UjRnG?u@p6@gB*0Z_swN06foVnD
zv=~79jA5FhurmgNKTPYyqmNzJid|NQ#+qF=(mlO<)d{Ak*R0^vOlkzgMeAS*Nf;>x
z$((EBcm?O9nn1M8NI+;nnYY6$-t%zv<`NZ1-66kbGWoE($=uh8m(PvU8K`9=hI4$r
z+-p6!t?|`)t@^jxy3FD(3$;n=B8b-^SDU8SZ#jD7gIf<A%-rBR8<}RwTuJ2TMR&r+
zRrn4$;`?(u^VeMUt=S76t8QmX$`*&M#k$uQSH0JVrf8au$t}wYWahlm<+8bJZ4B;^
zY+}rv=OLuHW}fo1FOM^OJXIbBwQVW7TNRWW5N0S~tjmB+-#N2HjY0!GWef4MQBqBf
zB*urj)br*gK{AA3*Ed78oebBj>i1Q}+iJ}`P4^&7=hm@VzRcfpaihPs^Mla)Z?Zg%
zHi->Elm-uzFt@(@E3VY_Y_xYZsE$w}tx|}|%dYJaFoi^{fJ)muYQ^dYvC^;w$XZ9V
zMLnb<4GThAV(Vh*=xsB<Z#Z~;>srh`YcgBW-V)+D19K;QcIsm@U9Jtl(kA#$sffi@
zPN~d}G8=UCJA<d8+n9h^1CweX?J#`Uk51fexjRxPVBChm&9PuwoHfRVPG+3gT?1Vt
zk~r`c+ZOq=NY8Vf?b#G#TZHfoJQ|$y*sM3VzUG5mBN^JaxUavg!SBAN%VuRuYM6>C
zQGPUl(-UjR$kcmiHr5przb|s?j-5zhmZRY&-aJ~@-%;pd?^dv@hREDwi;Qo{@d>%f
zL_NrXjU+w<d|~9R2y9DKgg<sb9v+Pys_x_#xGMv4@1%A}<%lqE4#3Jt618jyRZuiD
zsG<g4k_qxCv@`&C>6}zf^0!A0G&O)ZwO;=WIqbOB!9k(-;R7z}Cfqc~eTSFu&MqR%
zQ9aV70^w%FSg{bYgMmw+U_(`{d%6Qd15Zvi5)NF|M~?`>u>%=a+m@b1hO<VYmeI7>
zjzhtov)6rVSr*Mt4#6llZg;HEF^`2@ZOm?nOEico)J7Erite(4VWH5{AT<YrB1*zE
zjF`$T7Vsmr$1jItq6^!N*oY#lr>B8M7)GLk@q@hCg&eW5jBIR88mP2N)+AIQpw%%d
zbAV%^N&)gQYfWrIH`a>Qn2s4#xmzu0XS2`_cAN`qY-*rV?L-r8QOxaUK}-<ZV@aD=
z198B#!=}NoaaM}dN}6c}aCAd-1Pc>B4noUBvA|Jx9%SLczirTXZyf5#a*i7AI&u58
z<yw_o(#$3E0s?BDnkuFx#q6GNplH}egBqr%o-dJcr_EXz%6P?tHxip<t_(nVz{E7c
zutOg|u-M|W0h%_*E}=Kn<>-;Rkv&8?2uKVRW-y9@#%;m%+bq=6rK!m*qk;O7TW^S>
zLmKT+Hu+(lLfSRB4Wk}C95@z83`06YkO*uG6G6dk91W1b)LP1<hQh}#2^i6=x?@*S
z5@i7!xB*VJgp?;CB*vF#HqwPLbh|S|E%CbG@bhvrM#a+SqKJ;5ccE`;@UenvRUn|I
z6;Nv6U#MBbv|*`h2Fq_CaA1~DHW8x%q~jpTts20z#Yzx|9Kq$B34ogsTrLs-;fiJ>
zV+B{@r*1O)O^tYfbH=jw18<k3Yi%Q4WF0l%lxw*XUOAe9#b_lh5l0|Ip(myp;X6f(
z<2yCP^-dHmYbri;I;qe}+t^JGokC{?j;+}<AaOdOv9>+$25$TlqK$GLu(da?Uf(_Y
z)!a4F-d*>5?W)V1c889SPsw4&dDu=FNWRXod_Enn%#F3f270>VF|Kh(&1|E<XB&sE
z2zFDb5*jFln0k<CC#OtDJDhY26uFgjJ<@sSjb)DAc{iciJn;eZ+;j|BDR|DPAF6(1
zynOOsN!)OF5|pS0N>prXV=l&_q)DXEM_|BCftvAjnpt!wa>eVui~iBK(+)ZB!m8lP
zVW_VI3+{mL=ApiPz~*Jz%$sH1%G2O&mAZvp!n!sLrKpZmF{>Yw3fEpP``K>$)t+o`
zP*pQ~-x}IAD`Pk}Mu)4+wbr!wzDdO{Bv9*jx4EN!pKP;iCdt$6@ut-+^EbRVaa@Gg
zLAh2MxMyso&o`oXUU)hrQy6Q>WS>C83sjpF1pXjpi7Cl}){tl<4KU@_)9r_hNiV=(
zi(?yBc)1y-jw&3b=#XfqY}IO;<=&Hrw#Q;U#YP@o(VgDJUJ4B)$5FKv!I*J`12OPG
z#yllC3=DAmdU$tzRQ&y(e;MPx*XqW4F+BNLDa-5n_S;<PVo!Z!vZW@eQ|pz>eu-jk
zo_gObDTZ>(vr#bIdt16VlN>RjyC$HmlJxC@4=$dQ$YjzfDT#on0!XQbktC3yprHaF
zf+8e@f&vIAf<Y!giGmnOSc*WZf)XK027-l>X(R%Qq!1k+4s_6THqjkAD7sL{?o%oB
zG*?hcAtq=b%FG_UH?HvHv)eMHJIjobHFvT?*?5K8GgZh~*qjt+BeYyHDSgeLxf>ZZ
zMNXU)6kx<;*{-t$^4Zy-rjbl+3CMxOK1xxYqA<E;94Q1#*9>|%a(4vMMFM%`KcWMq
zdKvlP2)KiW%pV8>fS@8EAVMWqr4;d%4W|cE9QAQ_GVm7`F3m7$9!MPwa2rh;I2%We
zfD{@bLx6yZ6o{n?28D6D0uZ{8bXz&_fg2SiC4jYNA#@PsFvcM;+R;I<;>b{zfMQ}v
zC}vsG%1l5kOau~T2ie#c-IP_*fQ1U@5adjKC*wpT@ql!W5ym+5hfWnTnJ8Ki!?7G}
zO@|sD3sp_wt9+d8F4IEuZrtj6S0-efS~|G$G-;u0ktP_j1<j0b!O<y3#>ckh1r<cQ
zN<`HS;Yz9~$y=jzb^^FyV-a!<v7n75MiY5nA!Qs=p}m$wMk-+y4v1F63lT|H7&-yo
z?^v*gP*NS*#NA$oXetI83ac8i#vx5M;6^*uAu1>#MO~J}4WQ0p#Yi(I@Z*=l9~0cy
zdd59ZH=BqW)4DN$+6)?7X)%`3M)Bj^z%-6fgyNv+t~mq0a!CagG!#S<l!Ofg)i6}U
z1XB?K4I@+wNF@kBN<=gT5h<qNH60*okV*vulL*WT96>H*DxCz1ZeZL-#Ouk65at+$
z41lH#K_2PLnsL#{pmb^jtbyqjIfn3f0mGQa!U4pAprdBOgu>-PA?400h?vn;*(i7*
zIQtDq3{ODC9wd9J?<uFIV8ul(0qg*KVw?-)1|gBdmM9LBl~bs_f+Z8DeX1xt^&6?w
z_FBWV<~TYe9W+Xq;392SJb~;u^&9;!H?#EYIRR@#XIKnl5rz;LuoEUWz~E?5$+uW*
zAd^9I#uy$Dax{X#rglAdgpg^sV4#N+IOt_+(Y0__PxE-X%m}XYER|W9)zMskJ&yt(
zbYMP6!vYX}!S!fufX2u`4_Fkq1IU4gNg;}Zg|o126Xe*&lHedi5!E3h_q_ZreVVi-
zVP{^dsxW8zuRb>c8c7-oa|39J1^|DCOyGt3Z@cQ?6`6-cq@e-`D7$81VpwSgCLpMy
zfR+(f0qV_0atP;lP!fR+M5xd_4;Tn$Dc>d;rykb;22lt^>@<iye#ew9x1e&*b|Xb3
zqDTCK>?>7!LjnjMaC(-|4`+-0T>y*m@A85N`tXLb@K@m@{+X7L%>hc18!-%BpLhEF
z?BwJ&GK+!af&VOrRzMBD!=)30+y}(>00vSJWZVPifE-GW-f#uVaD==*X(r-=fGHLt
zgs34g`WMj%km(n$A7i=@NkW+{g2-n_SWwCdkUHK0u!=~7Y|irXxUCu~l>^A|C(1^f
zr1Os8p*?e&3ZPj@5|X)4gh^orS&h3m#uW}N-F4L6rim$tB)~U=ZHmcPXMnk43sH@y
z7{$GfypwDr9w`0aBgO~_LmEti6bTM-k~BKdg=K<qrB;M&(5nFeBnBRM4q`=tf>L1u
zKp>_<m5EXi!n}NvYKf8}p=y6KGc$l+9F%YFR^98ZWW8GA`5YdiJNf76^M8dcBzCJD
zDy%>ZGsl}Ln$n6xLG9?wFwWXb_MsW7LAq4Et~x{US`~@~!r5uR1r<oLj>V$pveGlF
z>8|Dw8LBB>2`Z~Z?^?)4!$+3uYEhQ(4o<yP-W9?xl()_AoDRlJ+dz~kNGFbNV|qYH
zmo+%L4l#SiT=4VS|6M4$;=U|9e05t|Pkq+R#@W=Hh2E>QeRsFS-%p>5HF^%$IUD^$
zIlQsnlFfoj?i=whZ?76PjLF+g*>FXWi@1}FnhqGb-#w2t=bm(_#En8W*i!?HnHk5u
zhilf*(%~ZxFQLaWGR$<yrmqrqF=*tCF`ToVFIn<*`0vu+6{V-Ts>PA5S4{w~K-LV$
z^tsCLG4B2P<8KGa4%URLUd+pes8@Y8&q$)UgZX8qmiOZA0jHJdS8Jh{>)bA*^}*Yx
zVn(XMpCsfeyC}Eh(;0>pnnng%o^v^y0%F%jZ{J(Zw(uGo7fpJu^Ucn^=B@B#2ja5n
z-9J6dTcph$unBEohRzPlingvk0)uWjF9|%Y8mV#7s+wigE3F!dV8u#9iULHO*1%qu
zraOXiNn*~7w6x67*A&zt8b2w%Gr6|ybPTj(Vexii`UFLc^Y6YRcjWFFY(`t1uR+T|
z*cjUq)~NY?PWs-pzy^g+M1_M0ID{NX=<)4Ev@5uYJ3B3Rks9U!8URh80UERhAb>$Z
zc7QG@B3!ol13?;~wrx8g%|s~BjSS>FHE3%KrfLnXC(h~LgjB{eKn*cPgi1()h6|`N
zK*<r%V~A)a2=yTK+2z14n5(yLEJ3XG$#ijCE-!P>Znv&Qz{HanC!^0e9|$>s4Gk%v
zrRictW%qu`AwPUx^0!BWYl4q!!)WVh;2<;00LnbrSF2X@dhJ~I+M>I@Hqpjwqp}fE
zb{%+l7|D>(xhjFqL{sO0K2I*HA-69RuFjT=5(rW-#4;&pB2Yq<D@ZhJVBbRr9AG3M
zXfQ$<Y7ZPdLrg-@L<d)a1nCI9H#iEXFozJ62)l=S#ZzS-VSK%=lZYLRnnXa-5Wx|k
zXc`bGT?ztViC}>#No11)ZY}^ktYX5R(%}bU{iN%(c7plqNO2)B&{0mqppyFp(}U>|
z-v<!ImjJ|l0P06~4rrvTWlj6g*so+d2LKO52qJL%w%_a9lc1)G2&N$pN#T+81i(Pz
z902+sk76B8aY9H}o6b{tf&FY8E-*wzqWjL`=R&_<JWR(22x%~qY5yOizjVU44faOi
zazIUl062fGgYL+t@dz?$mEMP$IV3_zmtv=sdH)&U9qzBV?p<H(XzQ=1H;anY3=J{_
zB#?pxtpO}=3P2(XcRd}9q|60WBp4?wB4k_yFe?OOtOLiMaw;!X#lyrZ6Cn_y@u+JD
z5&GcrNFWaq@&Gcqcp-)chM<6A7N8jri1Wdabd*E!6cj%A2g1rj#D%1BfB=aR<wsfP
zltth`s}KW1QqZJG&{ms;=*~LGmSRTu2zX`CL+E`{5D=s=JrOoZdyEX;<bp>K^Mm45
z$fnZ{W?cCJ8P`*porBPDA|rC?Zo`1@+#N9PRs6@>-XG5i`Jv09mR}#-A24t1q>!B-
z;QjwUzy80Y{~yide>e7j`}sdV^M0=9_5Ua7|4;J&-}-+)y87Pd%<}$!^Zrlw_rKBo
zKIim)Ppjekj_33LFaG`K{5+3q{_m6az4z1pAJz4K*XR2lm#gaM`+uXk{*UVYAN>6P
z7wP_g&(PQB{Xe7heov9r{2sgH{|CDGUXTBOPgnJRpXc~r%jJJp_IiJ-^?t9Z)`!wQ
zr71+Er-l39;+yEV%fRY83_*!vLMVuV#Ir<IENo^AGQ}A!v>~C{gE&(D#QDSkzX<Rk
zeQ6YdPg_t8js!l{ke_Z+CgQulxBl{IaSQ%||DZ+wMzzyMAKxaTEZP{SA#wh$J%K!Y
zkMX+TpY=oeQW{c*CQ_kA>qoqiiO@5<rE=s0WK@Neg~QGNr2_|FF*PIho!x)(YGO6P
z+9wct1V6+{OWn{tV+WjQr_N#uA47mN1r2Ib0Vq>RnSXy9q}E?e3ny79$U+1D{kdvv
zLR^VNJFqDtKk1Z`L#O|yon>q7>`^&1Yfy3Dcje9QcSi*mTyfHB(-@dVMQZxLmmN9C
zCt&{aanbMeCyC!u9npUuDd3iuoG}UUmSv>86Ps%67@emRmjb=IqoD%4#|6`zG)rV+
z*N4(9Jqgf%;9bT$dsD1W{|F$*AW-ZQ=m7tMO00-L2t)!Xo5&Ve>gtk0WyRgly#S$u
zw2TL{b{A({1*k*3;_VhAnIgUX96vz(yO-EKyN#$-j$puU_8B#m)f!6-+$lq20K*j}
zQwpnXO*1XxqKu_Qr%bd+5F4H9<Ijbj2ps`s_QD*Lq3o)`2ZmsFfdo3nf<;n*QXvLZ
z-ViPj6yzI~FMuA5A2gekR1ohXJ{||dXR<@#VZ7d7^9Z914Oa#c2=LNU%5|tfOZJDj
zj@~-xN9dB@kF^Lwfk>;SYVb79?5dynf1xBTq;PWu1RTSO?m<I)C@wGrL=1ZgFcvW5
zTbBd~(974Uz|N<SJ!eoJM2Q5Era&Z!DFP;DAdtKC?{}xDgP#EZc?6UXi+b{Q=nnuz
z|9T;!A-1XK-0m-1{>s}FHA9OGU?B`tQqn(;QSL`1-3AB>PR>V&5HTIHx?=%}iUgog
zqH?GKDi}rb$R1Tr+1TD_mk@O9Bs^YRR}rG071QPK2qSet?Zp|#fhghdST+~C%j*bX
zB0~kdoK(a~p_j#?xO;qCiX2GFWi;b~$s-c7&6aFoq-$K!vNHj`Dit*z<%*kmxN%{Y
zT#?JNt;pUcmZZd+0qPGyLx(1ajpI@r$YQCYtKS>Uc^70m);v6iKKld&9HeYDy$cI2
zEF;*tl}bt&p3&^&?wn6td(M&_V4Yp<=u;tEz{$MssCFVkKXrvdAzmCVJc!0HnQG4r
z@#v2!;#}q|M~DRr;ipuVi>l-!Wep~bu;S1`Vre=k+?o2A#ZRnam}0Lt$CT~^!W283
z@jDOPgi;avtD{1uvoNKj88GFc0)X-;9Z$JatjXpP=k?r<_hZhQ1Ayy&VMGg#@h^Bc
zwIt~QkupHd6tn~<v>CWz(1jBfQwU-}>)rB4WNtC?N$g)TFQg7G1n=T}k3n9qTnDMw
zkbJJPn4}p>9!P|lm=a2i%-Qs>j_sqn!Z@3nq40y5JG6+Cg1iT6mFsHED2~-_)T7l)
zY+iIrHyWal$@2_evd<7q?R=rXxW?>OtW4^=L31ilF>s?e&-}Jpv1B0*;Z;WkDx#2Y
zC?1Li`(CrqE$?<{yh`RPMB{rC0Hk|V;iF8yTBhzBjgf_UagFwApxKq%v`0)f)v<<k
zlE%pMi=gYb;;gjCTh#|CE;v<`xvtR;<)seE?~}3TqQJuTCyumIgC}8Q8A!55VSuvD
zcVQ5vk%V&7RZw17VNsn93z!o_gdpciPEL+G(14~OTOaQ**!H!E;(DFC@vhsacuYd$
z%REq7nxeRIaxmkTMd6Z$*x1@_jg9cLU2l5oEfo(VeWfxvN)8ji`QLk?nZcpK-nD^_
z*^QLaMDqgb2{t6yV>)Mj#oB7RYfQRpZCquFipoDC2G;{{hEB&Y@6U(iv$BHdY@p62
z7@|R<5}_5%l1|iE3lRpbLx&cPGvfOh;HOQry)dp?i8tFcTV<;*<4ML)h0}w3#}qdy
zxIo;1Y5|0arVbHdxR9?eMTr;#F*d}OK8(>@X$qRHD;+9^nwUJrcH$DYC2UHDF^z;E
z$d<zM&8=9?lr|XAnSG`)w%ZxNk}#%gM+Sq$&SAnZqhR>EQSr2J@d<IHQC=p(xT3H%
zSIUtlO=Jv-aAmD}s@br`0jI-9vG2yf=o(yT*>je8OlHj*4X+PgUpw)D3*mx7_T=gl
zxT)F%2d=GWn0GilXS3fN$L~TVImqMeX9e#dv^~0Lcfb%iC}6=*lSWIR8fYH0B>_q3
zB;x_4N?K{v*wz5CU@=i7co0Q`YRgfm+Zfm~v~4Y;tk{r%GG1wj6G)_rHK2Ba0O-X5
z6edl`+O&&S!-1i9q&*DLMI^9<1TQ$n6Gbr;!&J;w1W6<k$pk?p6I2pJ5ETh61dvG+
zM8yPEHAK-hQ8ZN1H5A1SF;#Uz=dQunK_k`{>FnQEs;n414>(0cO;kgJEMW$gf+17I
z_kQI#(Nqxx6qFUI0{~4lu_XluWN1+-6=qNehzv*hp6Y?PeFvZ!y*oPq<cH&9#{2fD
zB`8WwLeLm$D54}yhrW8DUi-2f^2P$*N(32u1+YWJff0!_Xk!vI841h(10qat*PfcW
z5zkOiFw96uJzX4=!sNT<P3Ut+2>d{@vlPmzN+7bLD+EYX0*V>!HACwUNcf*u4%!Ax
z1N^lVjuGh|sVGkNs<AC5l{P>!NED0!uvkF^4VTD2c^*?oU_vll!^#Kz$}9v#RRB>D
zG2OGOzEGfGFqrYW4~QT?^$?FY$pcrg;?7`rkT)#!VJ1u+^Qje5B;^fWYK57tTeoL%
zJL6XbUSH!<!>;{`W)URD9oZPW%??r`d#u%i+j<SYpAxcf<-v%XDGa9vv=oq#v<N*A
z#S=0tLX8a}5|9kDDO9xfPF@3pX9?NI2EY*^&{Uy(!BSK$g@rVf1CW4`v<-l}Gc>?y
z-Mrr>UG{9IB6WE$`-O31Tg0s406q}4y_<eTqPb9=G|ukwrQWzb*JR#MP_s&OYSef%
zCR(-aQzRy0>5B}8#<|tysgasA)$65_ShE?li{mn|tD@FMYJ2S{9*Wnz-fUlLKwd4g
zSKS&icgQV!dh}V*;c9QcUFfrX54&wvM50rboUDr0`I%*Ay{QhuMmWrksg*J#h3k$3
zvMEgg;4sG3ob4J-1d29VQ%tbX9#32^Xxu7Zl-2UW=0OCo(*!dl17@8uo3@(6C?7!5
z$_WC&*n;wTyJu_GSiY*rs(dAhq_7qA(yfA!U{09NObjrt7ZTeSfy|?RWo9}|NH2Wp
zjvci<cQt-YEU@XD7md5pJ%(|<?{qs{8pzE8lVN!=2!~+CZJjd5G+tW-^TPSsN@PnH
zwPZdx7B(HEuZ-$xGP>6b<4g>$^F|Mo4Z5x~-hR&?un%{@V;N`-kjjKf5l6o0Ibtju
z5{kkVA`a%a>k{6UJ4m^Ut(D8Tag$iLksBGKZF+kKaPOT}-?z7`(0A7B+8e0Hf`^X5
zzI)bmOgMKN?>nybPN!k!@Z#5*TIYjNv5l~}uDjjRZ1Xf$g+oZ`$0v^73ht=x`+0~~
zm}3#af>cl}%k90Ik#Qs8R*xFtixAQVkay;_U`g%=3Zabb2I1g*J?8{{o&pZ>5RSK#
zk@~HGC3-5Vsv;<)nwB7lsG<UtA}S#%p#lMbIG~48;5!8XItS5|cR&W{PTndT_h3Z%
zABr$}vQiYCaosx5@^_qW7ojkALGo>~O1eZJ5^=>;z^17C_`aw&E5l`WL~$Y%qe3EL
zL;#RZzkf;Ux{l&(b!=ho4g}Q&;UYY#et`5;DAr+uw-RAE)5T0^WDm+PV*qy|Y6$`U
zVSa%L>~fCH@!4Nyx*$|71dBw;6G$13Oac-tAdsmeGN+@@I}5I0)Jvpzh-_upfDDKp
zB_Tu4;pe_LL#U@okTJQ6*htc7(3y2IhlE+Hj7nau%bkXVO)U@DhijZ=Bj<q0>%szT
zK0{$lkOLyO2*i~ZG#h2d#No|;iTrRT3y}0|h!`=ICq<Mzus~3$N`P`J*kL=m11Sa&
zU>IgpN)Qhsc0UcGo?Q{);&u)u0AmrDh&()r5*N)8gnPs{4)D7W^F4wNyx`&)9w57+
z(RE;Oi{?&nl!0Ir@PR3Y7$O)Aa%1o7hXXF)Ucu<TaTF9*R(oSFLG~OP@10ad1F(@<
zMFJIRq)G&tPy>)(XdVc4HgZ0=5FhhUh!4UUgrLwtDg0FK9!s_QgPZo|NO;n~IupGP
zV7-`Y?hZ-9yemZ^^PZ{oGa0j5+^Omr-bfS?L`p=gkFR9+{TS%wu!iZ#@mqLLsK}Uv
zfPkchN?HI4KxPsZ%CavojQP#6)I1QNQmKLkp;3uaB~>B_AyG<2VpR~Jpdv%b0T79$
zC>3Z?pg@QwKp-TEK&1uuhfqSmN+|^jRH-B(5(xw$5+RurqnZQiOZEuM_()<O{T_H6
z&d7hhMvLW;98C$G7eLtN579S)0dZ$B1owglz+S>CXpD?V`7pY=0OX4c`XJG`+X*ki
zwjfi<RQH4jDLsQBO2UHyl0-gE?jwv4sgX{pIbblJNO*}nXa8xBciBi(jUHPB$U!l2
zkv*1&cYo3GdHiCF^(+kuH_Ih~wJZ8LulrNg3APBKBg0Tx{7yDV5b#h*v`H8cmU;dM
z>)|+ZJTb7L{<_eVgYYnA7-goAmPDmoFe^&<5-8#U+$b4JMvx$wCU@SOkO(PAT09Fd
z6w*>8FciTaMka(3mWl2w4i0-&JOF8Q4AiuR4RVZ&$^igSpJvE3c_0`_a~%#ht|nwT
zki>=27z`B==bA`Wj&L4ap+Eb`PXUNR=rUJirby5RnM?If#%O$GI3&W#q#L@D!W*2h
z{w`i?zaA*1Va9_+8Y4p9L|8Gh#u!Otg*27Ya0)_>km*6B;swOLCfNr`r${D>DN!g8
zBV$TB5Q>PGLrh2%x<H7aC<jJJSs{o9g|+~;1=FEMfiyaHa0G0E?BvG4@luajK^96+
zV$)OyLKEagBsCR71w~B+O&Bp(5qaQ9R_b!tLwW#H3LtL(63SVt1T7O1M3dqg5H^aU
zR-~Yrn5GgbVkxO&nr0%svxuS~<JwoFjM>MCV3~SDsL`dC#1d0P#4rUEF%nBmL_r}z
zQBYPjut7T}SfGvJ20Ez35NI}#nkt%zq6&s8s+oc!XAy|l5l%mU|6h%Mh3~IUPT!Xh
z@8{!dMz!5d0}XBvu4PA`S~<?X-_(A--^bPdH*<f0aQwa=wLi-4M}<H43;*p<x0jZf
zcwY0vTfTq{*}rLgSO#sl?+#svYG|k9<Kf5U#~e8zf^?_lO1AjVDgb3ng22>JlwcPj
z0k{L+CV~K-u|B>h6?iyM#sSrOx-rsxh@PYAkCI+d_7(qWU{*={v5$vxp~oou<Y(i7
z5Bz*42lzq|qW{2S`+bT?n9PBXxnt)@6U3r~@%Nsu7mqmc`%MpN^5<>XcQ6ck3e(X?
z?$B>efEXc{u1wQ{L4odeWFx7B{rtF!r3M)ZMtPmGcqXCcp#kO-0}S2**Dat1W@3YK
z(~eUE{D^y0k1!k#W)YB-pS%uc!6Un60B8Ulm?{{k?E9q%M3Deuk038*AfN>>B6Y*r
zQ}O;(bba!5K!Hea$Njgs(LgbO1m;!<PmZJYm&>3OBDBDK0D%`;c_oL3A7+XeHYE<4
z(F1&+gnYL0CIfZbj7H*tszQndssgDPu%WsTc7xIy^D<DtvAvU?a2+rho0;v%91oN*
zrYs5Xz>aDtXywZo68+NY1WDiuhppnP%AaJ5r4A(zz`u~%GFV0R3-7S$5|kaB2)a>v
z6wr%k6Z2RNwqdZ-(=sxZMj(}yVW$Xy%89FA&!a<YWtjS^6Wn9o5X87(&4;N0`Hm;%
z&Y{^&eyFepq?Xeyjo;%wEf8IV`+Ld$yV~S!37ZMpN6T}7D1*#LIQz%WisR$pW5!8K
z93vDuYM-In!IbDJe(<6Gj6YBWrnicJ+=h@0kfcY{v|Vs8_J3>UUx$hZV5L4X1rJvp
z9c5`sN>P{NJ?i0zBk7y?N_>*g{kJE~9WgWzpCRus4{-zOIO1So54fCVDElA)_QT})
zFdj%3AV{x}Tp@vlozcnzj&M{$P^f<1cpiukS#J}ov>26$3PkfA?jd|63Op>37?3MA
zWzv5i7%Uj>#Y9CA2s#x4kWb5HvIJTjlxSK2;zJ~8Xh7mxP|S*f;Ry7gbSZhqtHpd#
z@-91fJaja2Vx-2|h9*`ZqE9R1+;PFcc|N@v9ta8+mXyPJ`<Frkh)yK-*<dEt%cjHi
z>-8j%W5e?31ooFLRCn6tmb4)Kv!)5K7)KI|v@V*Pim0;?B=!4ZF1u6)l|BZKoa`GH
zsUAHH*{1q;Tns^=!2ow`>Nv)i32a;W9{TPspobwCFk>VLM;ne3-ySg&#F(Uk-><q7
zj<(oP3egrN!0I%T+XJNo8!F%-iBW6`gX{zk(()c*GWi%E9y1~4<IFXT*e9d_J@o?-
zKopH2fRj=HzJO>$XC?=vju0=)NdZ21k>FQ56r&vRR3pO@C~38HQcs>Z@Nq=|b;u$h
zgz_MZ66kOn!tw5Ry@3dFOfs<GXA*3kTRhW`|HpSS+YH-G&TKPmO3nGKZHAfC=1@A%
zsgO!2hop^R<S@san`7wkrK8Tyr&LZAB@uE+krdM5=YRkIT<m(=WBVN5@7L@36j3n}
zgyR&3G9w76(eTF8Dry^EdEYpN-#2$gnrJQQqwWpT=o_RgmLtJE4yrr*R2+BxYStVL
zl}_385=(W;bHu>zgKJx49{yYURvDdFjVdSE3#x!IVX{)6B)P9jjl#Yo0d~NRg2dST
zP34#OPz#!$!KYC_lNJ`Nv)wgu?o_t>p{|uvrpHN_;v|q>XpYfftqXvHq${)nOs?er
zso0tRFp=|7Z4Sz@R84kJoBJ>Mu1&FdgU|KT*UbZp4y;>BviIwQjcxa<u^nYb>tT1Y
zF-4AqT_%G+dPPq9cJjvVdkelNI06+i!&{Vh6!L0#xY6E^fPv0~?Ma=&3au6Wmp7Kb
z$r3+iD-C=u)k#cQ*&#!qYjIzz?TpXnrs^u&x@M<w`|M2=Sp1Co=q`!q1`gn?;oTWV
zIq>}Kf8aO&m93WOBM-}1e2wTBDAW0HddN8Mr81a0OFDHx%xl;WizkJ`v7#s>SZUgB
z+35JyVOy;1NBIexJiP4hWJVwz%ae&vk9OwKM^RQHos79omBEz@2LVRXKo&de_XwD-
zg>cW+BeAct(EVJbP4k%MT<zz?_AOqL>(OQzpF@L**hGew7l$hCo({%Tv-wmwi@(J=
zVCRw{sr^?yw^OmXd=~q5?O+|H(Y=vqfT9{*LnUh3;rfZx+jtB+k49xA)3j><g{fK9
z`_V!&i)uCE%OMEG&?0&+orsV}0IO&#gL?WBTBJ5gw*;a+Gy7xE9s$WdDc_OKXVJ)k
zC~kftOdx~`M2XvY&QxtYoxn$Uk^Om9bS+himtps}zlz}^D}U_=l2!UzAT4||EZ&Jb
zY$~=R-*h4dxYZxIe%nqTB67X?`+JcY{@Rx0bL5)+^>ptPbx%QF=>uyWrWib8T93)+
zy@8sI)tqchJHdP&_$SPqxM}qwSrGo^xJfLh?bdCN+YyNTB35u>)v{cuEQ!>sj7pkq
zkFiMj;>xph)4_7a;r)>sFM+wg;uYpxM<@}|%e1HQYB$*{i=N+un?RR}eOV4t+uvjB
z-Pv$kl)Rm^v=kK&f?Nj-_mHrfI~;B8^bL`{c_4@`%K6#WH+PHKN9X9t*&5~M=CX2~
zvye=8G=xZ#U>RTyAq)tc-QSnz$m(m&qBy6M*kZ_)r<RYj)8Ut1%Iw^f5~BxWe#k((
zGAMQ^2Ki_txgHmSk%QA&&Iu%xprTpw;%@1^{CVWIY|q~|vg7FHb6u}P-1m$O4N4wE
zkt^wX0xyODRTlK&c-2gs&}~Y#c-=!|u;0t4yta_ZYWnC?D6Frj39i*``jTC}!{_YR
zjJMJd$-PAU6Px6WQ>dHwABUyXZQY{Z*RPHJGI8LrU$OXeX+lAInbeJkcTEU4Qm;QC
z3sWoVb-4w&3K(2QM$_s*g@JhM_B(-NNFy?y8yas3;9NY}S!jc2UL1L}p~O~`&v}UL
zC8sZGhI}PQbavcsfY$c}vN>46b2Ra}X9q*sy0y0WqL3<EHG}>(9*8o$1XZB{7Nwvm
z+0<&VOo+^#90l}%IxYpc8S~@yFwoi-_W6WN>72^#{`O<57j~9ceRkdb<cU=${xj*{
zSEIn!im~@fRI8Rl)7=u&-x_UH%%wM8S@*m*Uy)98F_SQUuv)hCPcLk_Sw?s4I8XMW
zjYhHGz8cZHCma3UU#HFV()=5D|GoAFFtF6}E%-^!uNS@x)||mh?PlsPJXSw1(RP<d
zikSc18`euuc<Tq-?eYhAWg5dwp(l!QLVmfJo>(i`S~nxAig;DTAVzk5bu~SYF8N_7
zI?Yj$M|j0P7VM<_*0ihX9Ngq|#tZojYK~%H4Mr;qR!b8C-f2njdcH!bds2^R1HiC=
zcd+0r3-yC3eNx|+U57@lC_Y&YEg&HT+k4V9x4U4y^xpLZR-tNjvjcsT3beKT3u_Bf
zg$1y>pt_XQ_*zn-Zgv8XaBE#xBklINsj->!sARx$4@^WDEL%}#^8O}RkB8p*`~mc>
z_ilh`Vv93upCb+`aIpk^as(FA0yS>}18Stf&ddgT){aJC^&w~{b~8ZXhP(zv(40J*
z4g~I(_Cm^w<;yAhl73!&3pdiSR@=`=(ExYMd_OZZ&v+?a3AuF-`1{E}{Kn048Zq{d
zuWyogqz#peinwqoChALNth!uN0yLCev@|>zT>a5t;x|+kyZ{-l22vd%o^p<0JBh6y
zm7MfeuMg78v2|oIuxL1q$u4Ig+gm+FgG;;0%HN&7M1H)yR!Gu~XVzv@U=tC8FWQ{$
z9(8nS;B8h=P?vw5-&ECfrp6h;m`_ds?xlUous)RR4i4p{qoiA9Z~w6I=(oV6<K}^e
zWHv4Cpzr}x6f`UdrReaXUDh(nv8I1>@{_vc-M`F{aNm*N3wK?5gZ&+<Vk{W3n>~Gv
zKu^hcOK;zglrCz4M5prZUCefXa38et<N#c>we3^#YtHf|-r@O?FJoVR_1jb|y4F#D
zXi}Q1i6=(fvd04@f1a_L(X5)I&|1`zi=wqkgN7~J8qU@tqZ@Bgj&Vafd)?W09GT-v
zF*yE(kk6~{`!+k(jzoGnHwQX6Ope!G;q>g>*6*#4>2T52OX1+Kxe|I343Xp6_SEyc
ziD5@A*C*YdNA2<pmJ@O;D7C0BNW4`U9%XW|fB)pX@3~Il@*6?v^}{MIia&1qKd?Nt
zcQzpo+V%MY@i~wL1jEp8)mq-YCEX?yfxaoSh0^LBYnLebUt*D%g`~Sp&c@m70K*fH
z2JS>!Jxm^j`1Sw3X0wvnd`XiyK3PP{PNArE*K`9mb)?TMaJGGYi)b}Xx_#E}qoY*H
z-C|g$A#7`J<ax+avDX71<+c=dbg%2dOJ|j?av*0+`da6DwF(o8G;Kt-4>D%NEZ_nu
zrffo%r<x0hQ1zlgZuC?}A(D%~di*1Qn~P}b>+33^Xbaa~-aV;rDktY~&pk4>;2@o$
zlKvd?cbc;yhTuK9*(eOO0+EQ~?{Re3>M~&ZxTZ8q#;1J$Tee|{Qs4@}d*|tH3r<OU
za4c{S-$xhvCm;=&&^?dcfI(6|X)wukin{w!%Rv{vCMn+VHj-0n5u9dAlSE9rZQW=_
z1}Z=-x~+`TORRLwvTN?oGIlqV(4|X0pYYQ=ZQ<HLUZj63D;;QZE5c~QKy&MBYCZ}f
zz!cBKgIvj?vi5UrBkRmkS8~Q<TNpmKzEGb!iIgWmsa0%;u^L7w@bl^5=%5<+gtU+D
z2@@xW5Y<Ky4EEQqm!%4(KU4V+&6lmmL946e)&tcp&D78QR7;dff5%wRmU^8knt0if
zpgFQlO|aHd7%cP|pYYyONHSMEXWsV6H5n*6zdQK8Ba^s=g$62?lWRceM2VCwDiXCo
zDNhlWQm~E62V5%1q$WWYJWgMBs38^-=mN1cC;I%Di~wxF=3ua(60l@@_HHYnPv&Hf
zZ!}_}fGCSO$NdHv{dHJulKf|H$@k4e<Hoy53JJoOPd&40E`4jTGHjG=%KfclYqq=6
zVwj97N_7=%73iN?AYdsnUFV;uwvRWa*t|o-*Brp**OX7GWu*dN^#1z-JMU=Io;+Yn
zde8!2kaXG<%jyzws@)JsGU|ht7y7KXSK8zI`UCKh%w(6}wcl%4#wfR5+c&|f=W+Bv
zA#20y%`u#J5o|T6E0cR%>I)__x3^3jhbU^Itb)=WfJNmy_9}%wGMD_YD`e1rG51#s
z_SE|)^-q6A+o`?s+B!J$|M&X;9Fv2QdjP-x`}sKJHWpi!1bhCe7x<^u<^n3}Nu&PO
z8X0$A_0Ksgrdc@U?^z9_O1qc9`i5kt%I5NDmTUKP5t*GrgjeURt0t_@u17vCHXn<d
zxBjJZ3=I6v<er$cF?bq<!+*~DJLP%)+*nERP$g>aB99lwC0N2-r@s|gpXxq;m`;NO
zj^-xPsUVTPq69(so<L4&_yf>9*O8%#Vz+KwS~`&qAimOtblY~82+Ronn}Y|^_6u93
zTQVvkYDccTpFVfVO2@Lf>u#&k4f{y7KM|HI6T+QM4j*-6%U)=Z*JD5ITY|gMY;I)X
zj)cSoba)nB{g$1R8XwW+=S2FVJYTW?=v)#dBb%CGIlFivStDib16+c-top-UQUAo*
zAn58<PGHFEJ?3ry9r_(n_0}LEAkDDQFUVGd%u;+&v*7#o>pNAwa^`R!%1t}<(fEzg
zO8FQKw$BsAT7h?S8(i+;DY*0gA$NXI{_`1#PHccx4;D?!zc+mK(2c`qu}8?;Gi=ad
zdET~P(?^b+webDk`Brf(Bmn!Nrf|xNaZ*1V`K{(wMVl&OTvcbgF(JHB`9+0Z66*L?
zKfd_vMAQ&#;beR1wi|WM$(-Q%oJ)_viZ__SKGKfWBIhdZ_3F+KF;m`qm3T>wRm({J
z+3-&<!aNg;mQ}|WI^JJZU)+B9?Tw}M)6IuivXMy+N^PG$txu_|<~Ts9{a(SX#_=nL
z_ly>&j=Rol_7rm$OOVrox%~UXl$hfgo+Y%Lp+i~<{WqfD*8B#|H9la>-a&1AUn)BL
z!D;w|PR8YZH?2dJzvar$x^<VfpbRetNor9aez@ppk&$3M5NChyHKXnRSo?j2?Rl+c
zPu|}9`W-%XsC5&2+z1zRdy97I7h;Y@HgYA@y0d~jJl&mGGs%+OjuM9<(_fUuthY2o
zb;B?G;(7R-W(64R^I|XK2T-!aK<Bv^xjgP-`|kG>6I5u&L)k1mH5Yb1QgVJBr_^rV
z(vWK|%}E8*bE^?-EfTw5K(hd=5MDFu;2;o@SMGz+lSw`RH7N=-a3YtcL;LNSgq!qs
zCi8)CyPq_6Tfs2;NSRETVZ36}Ug#O1%z%W^kq4H-hVF*XDB@%1Qn`Gx&H9nd5#M3`
z)u!g%X7-LwSeIK%fuXWLyIf3`M>iEKb1@>wd_ZTXb5^!Na_!2l>EkXy&0x_i^!sn!
zUGA9@Hp*q%vX@)H0nd6ZU;HK)%0dK#C>x}0n$9PY<yL?Y(}1~oi-hU{7P>&F`e+~+
zY}U|#Vo#)DA$Y2jMw2MT);UBPX5}f%`UI@{efdbU+4js5i8ql?T&)y>onr1BG%;%_
z{v)CEZ|=fo_{fCWTTR96;BzgI-7hWFZhjcBNCj7<G3>my6LVY0|J)ti<o<!wlNWeh
zukA@kgYyFjZp+6UG*nfDT?b>Pv`za-jFOGd=!2PCY+jx!a;Mz5@23&6?45HHGHmIa
z+K_p-u4}k|xJm=*EgX;jjx2UXu;D!J6Z)D@R=2~<Q=%aH?#mmyuc~gZ|4&gSOdA#V
zKoYFRO`f}wMP}`DEgf6<x1f|L4%t!R#yJ(9F!{-@1$UW}CHt4tf>0N(I@^qN88IBf
zj{1B&-F}5w{`Yt0$Jpfw_@SJQiMASivc+I+v|hD$-skuPz6aVgnD|uLlqcGnu&_0t
zT2s8f=tu8>YnGXX*5jJdZ`A&oNdEV+b)GX7(e}OP`js%ny-UB_hX10RFwREKIW$i`
z&5ptF#28_04V~N>41=4D+gKMYvdWn)C#|I=g~oURT^Rk1Fb;+->Jz!p?1-MX(Vli_
zfP14MtiSKJNMsAfv{P*5^cZOj7h`P0uqTyCqr0~=?qFXzBR#Vu;9HMeSX=Cn9ZEu8
zo+vu<QuIoXLqi*Sk@e+ww4vdK6zA*4p6&w-j*Aid4$D1-MrGxB&?p?r;LRMoodm^&
ztj`*@vs?dJUsS7`SWyt4@5>h+zD+aSVo{^Y71s8PTAf99;2mfr<2lfd-R%OV_VS!j
z4USuHL?2ANjd^Y>hXk{_Tb!kscp6F`>xkXc98^F{vCpk1m6PjW-dn@l`oP>8LcMQF
zU0|Sc3Wi8RS66`?y?OPFRAN=OFDRZDM2k?PAMbh+=3l@c`es`2r1tNjKfB8v)=dd2
zYrkCS5gFE~0j9&jAK#A5mtC(W{pm6YthyLvTK)$N2N*Qdq?mMuhzSLS;ErhiJmOIz
z@fRfbX!1X7Z4!~I3nlv7SQ<l^Sj@7b9GX=L(Lz8H;VaZ#%gm!xVUTTz_8xJqP&>B@
zpI?h2XbH1*VdRQ@96=iqxie8$91p<bQDkBb8}BPOY*7x=S@j0`m&24(wBs@EoN5pq
z2Jj_`gZ5{J%P`r5{Yvpl7l*ZROuSeSFQ^t4)a&v=sqs}*Vhv(HUF&a?V-+2Z&-b5i
z$Ft=YnK8MtZ(tENE+z4~w-Z6(o$xf_?=irUcd%ZuFyvOe>HH2w##$t?zi;61&X&nW
zq1E28$UC10(uIGll<~q0W~jri+)jI5y`KK)2fUpvpu^)UaLvbnIy5IcX^kn15WGOT
zBXl-oC12gW`Zj!FhfZ8ii?v5$^RL4?5PD6DM8Yribn2pI&h-=M*1}nkazw*#^NkbW
zjmj;+?uF)_Z}LZ;KnnLpsW+ef`xg>cWDC#KE31ICD`TEEe1&ILqj>MN=gRPt6{dE5
z{H&`9tNLr9zWb7g^v>M91O!|;bqbnr{jEpA4qx?&Z7)QN6+4qNZ%Ip>Ap_qVJ_>_~
z2B`C0dU8KTvaCuP_{&*?YIiG`-LOgV%!o9JGGvK|{F>Wg6c4z>vqZ@j=!tjB9=9fm
zpBqRI;f`<V1tYMN2kV!QeUUw-(Q#mQ(6M1j))~lj)O}JQaR}di?OeZ-2MM#i2OvGK
zuJT9QfF@ksrx6yjTHJo=xkvvZcZO<iEgXW=I;yh^g+6f4Ji7Ev462zC)UyLBOx(fk
zH^Wu2dq%Wt+`hFmS%RCsbYLdZO0I1h%U={uQZuXfev00$a*KYTwkeBAedF^k;)PI$
zlF(ic&u+ni>E#?}1hKPiru405i^|Qi^R#xOLZjHx9Aeh3H(QP7w((=TY!g0cW1fGK
z8?I&mUq266d*JyexkKiHyZ=ATQ`30hhii4ruBS6CeJh5ODu+Z5Z&u_RA<Q=|z;<)*
zZWV*Is&+w)=;i!a7?T&To5%*`(IMrw5<viK=<jWJ%M8qKHDw;(XFePkFbcF1i3b5K
z2nlHeQ9O+RVYb0qbW#0SLm-Kb2I2b?wG-(|@O-XSk2udA2B3bd0!ZS!v6MIrLvyW=
znMD@PIu-Bj5UgcmPHjtSZqY887|1Non=8akWLQ~U{ubEhbIr7NT9`x@#^`fWbrcie
zsAs5VFByZmc77#2kaZrlD?2iYJut-4RXiqM-U9SiN$v}dr)$@e*%pC}5kjdJ(*x20
zQIS(t)CcCL2;&hc^@^hGKr*35E1RBbk0+)k1=id1v<TVx+}a>-0s-9WIUr$R)Ypb$
zaY#d~tq;Tjt>PzcWLG|S&~J}axV9b|#jgjLl~VZpP+$xx$BFr)30YL03rVrzo_cvK
z@sFDNFNo310|V-x+884F?^kQZ330(+=}N`{nzqm*QQ_EvnNesUEFKO1^L-1x9&`6&
zxrrv=4=nllWs$5P9*e+MiP-H@R9>vue}a%)j#ahncN+H=OaZScoSuJ;*sgLV&D_-Q
zuW^aW<^_G0acBJ){-Cmx@BSdti<2B!jnx+|h7PouBPTZLnNm)y72k;05^MSzqeY!*
z=EwsJ+z^+x2kEik_X<na=Ce~D(c6TP$y&I^yC0-U2Xrfay3jTz)o4lTs|L>?<k?fm
zh!U10&^-$}r`VZroVsrO<o&T^NAovi(E9D2Iscr#a<gF-A2vg3cQa&>sY)9vG*=tV
zXr+o>p+1x$YQH<0Y#?DLM>Nxcl*40IW6prNvJYiX>Ws~V)Mxo#=^q~G5<k~gN>Zw~
zjefaD)b?zAN!#h8Q$2q1S<;QOCtsT>Uub?RE}B@d2`z%T>`{yPq=#mga>r_H3HUa)
z+KRSyQ#dX>_ea{}o8)%CpA*5_wY5!55--P2CCzll(Yq_kcQVEV)T%uLcIPZ6vwLG6
zx19<yiitu@DNXeSZGWcupW-h2$RujIPWepO1%;Bw6BqgI<?=O}M4Frhkm5vz$Ws^%
z&qh%xCI#=I#Wf)<JNn2hks#JYn@}SN%&Fu!n{@jZ`7%YF&n4_KPk}EJ>M!f34m9=L
zs<2o*S@!4mI_MxHH%p;Yy3fBN5Qp%UJ)eR}u~aJMCg3lj9OWA?2Sy+r4Td|l1|+)s
zT+@6*B=%lY(t0nLF1U1{JjCy?;axGM@{CgpA<+ILZxHI#lx}+Wv$Pp2r6=g2irJTh
zo9g)y$tei;vbyTCZB^wF;HtUr&ri#yodLEl97&M1x{RQIgjqaVf=>;Vc3P{enC7#;
zwJn|voHO&DzJDnz^{UJvJ2caAyc?m!`gHJ%zd!(XG4gVu_P;K%^8#XW3;{HSXR+>P
zV;mDRS~v^aT!;v=yb)TH0PO;{6!blA_@er~{f(ucEz-=_FN<BT8vnz5++YWSJ4D7~
zB=ux{F_(6wKCFMwD&*U4BU+&@dDue2gnxgl9WHzgktd|OKim1#^~a-j1HI(m#X{Mm
z8kQI9lea1If^?_>$=buNE*DW~5%R&oPl~tC9@6$Zb2C}8@(KR!BhUh==!)Y9B=J+H
ziCU=Vj1>yzq03g!3QrSLn6`!B;o3`x2~6^sfuc(9RbMzB;#!|0vbjgH)_qbP>oFiW
zA~_j<UiHzV|NQ^paqhr*nhc_-;txTv!;voO4gbz)0nlJ<APbYjLKBSocTj(<f&Tg;
z)a*u3O4LbJJur7Ec6R*i61Fy<D264v7lE{VL6>Xah3u$GW#bVv)YWWXgygt6uOgKO
z(57N=fq`t_at1yT?a0KFFaeN6G6t1}76c#xG15~ryy4XlS!1u2r!hcWs2%!qydY0t
z`j}b&gU(BFi^5a~oL9Kzn$UBr<Y$CLoeuoPA>@?vXh;2$T&#@rq@ciN;j&L$v78-8
z7DA;@^DXJ;AdmMQ;cdWcCq&Ko9TQerUz-_g-08Fn5;Kd8t{UmJFCo~k1@4S9f7Zlj
z&3hhf_T9%K(6uikyX>nUxuRz;xID<lnRs2(m)RnmC>A=uikbL`S>jxAJ8-li=5Wg7
zX#9RKMj`iD(c^oWPf${BFtK&dKKuQ)fe%A3EZyG5Zmf#?7Ix!>j7k0!tnkKb4QEAU
zvMbmDzj#D(Fyda@eYtWQ`%q71O7Ii?LWG-Ulvq`D?=_$0o}<KU`G(wgg3cw+11-M5
zA(w(4p9oD)5k!y^PfUOC1uM}fQIl;yXa{9bq$I3fULHyAuAI&AWhVBoUv0b+w$?nM
zVHBPy1toJ%hGjXFNv3hU_Q@RgR<_FBjXAR+H3=6b{YSPKCqMrbkwtuFaFO6|yK(PL
ztc~wH)hhEq-%dkeK1{OH52i<aq%}q=zZ0muRGxSEx%c8aKhGxY#y7;sr919HTe!K!
zd5~<s+M|*x_y3v)TGbfyI8~%cf9X8r++6HJ6^)lCW40#3xvxK1yApW&*9XJgmK};F
z!wVhCZsVwlKO1hfHrcTsN&)O_Pl1SLU2~(q|5TnW-tA!kjrk-{Hzpg10sREH?OS78
zT%AoHJh5F^QG(J-fL;&|Srdy(7g8#hEIeZeDrB$o$Kl6(tUj5+Bu^@*WZ{B{KJl?X
zL9moSZoEi0o|;OkM~I<XTbUD{J2SsrSm9r%J-dWk*{!!Xa`&Ta<SK*RK?94%9NKU$
zRw#t!p#-$MnLS_h_cxt?{}lBOu!6s5i>MX)WdO^A#M)G`Z1~K%xX|AQ3zGbI*g}vr
zPFrEHVLii&-(42H^1gBMwKiBzU}^{JC57|a2e&n@Da<LJduF`vW*=7C2#AJhTrqy&
z*6Nz6iH^Sg07-jh$NQ)0i<<(@D$25>I`%kDHQvz9JlV@0Z<t?oErRb-va-~?Gb>rw
zFSX?yY>f(wkq3uY%TF&`H3!yL4MJfsC@uYF^v<M{UpfZMF@r!pf?0$iBoAv-NwwNO
z{GD6dPRgPKx5dD(u75Iy3ZV{y^=7|+u18oT8+@oMu~)T|OZ@gT^)d)NutDY;NgjJC
z(08|yd`{bLWXDRxd7<1z0(zo^A$Bku(~gG&VRX9H`*73x4fDe3FkmeaCpr~)tg!j$
zH}f8=Z?gtEh8Y>eZ|XP=Qi(#w)p6y-nY+Zd@?i&F2E0=F$BP2|sPaCdm^M*AO1~DR
zPq#Q+E=fPErg)M%_G_g={YrpwV}r+Y8*fq}hEOD#FWJ2jn5yL9>_R%(`Sq*OOuA}E
zGb~q}Ob1?e=X%L1`9^v6LwXGDK+S?QO=Q23?uFnQ2)_i_lHRUK$Hbt(5u}(V&vqJD
z_1gWEHUYQ^mwoi6A?}w3;7883suw<Tc(BeX!wc1)dlo-Ol2rI?N5FYZs!bwaE?&|X
z_PsSk$5D**J*38`(j9I&@m5>44yw%lfIPX;xPIZD-Aw40_YK_(DIK5uycG|=f0R*m
zDLvowAmzQ%N9F4SyKfy;zNmkR?T3g7)hqvc>ETfK4mC<Oxqib%*RG-NZPWd1tD+C-
z#ikENy{<mc*qbV$d?vJ0Ie+M`lcs}wZ0lS|o5Q^B^RVE1mhcMw)x1IbjC1`#TuiUo
z16SeHE03A>&Vg4)pHcLNW;|<#6l~KMh&m_c_s}<;PQ@I|v|Z^7I__3_AR)<tGwiQE
zW63`)ieZ>??<%tfs~r(|Dl07OuALR`)nyxe^pPL+hhA=;`aTY&=tM3Zq3+K6UfK8Z
zg=N}x$(D5=3k~<&T{*9<K4;S;Q|&##%z)ebmtsm>PU(#=UbmJAHBM6cs+(shb#qaC
z^wf_1zWXarzO6OE{-E+6bZhJS!I@s0zo9BYY6khwy^Q)tS~}dg<3hg<Dcy0a(VXWO
zjg=JKDnnQi$&)Y3{s!G1E0o+hq6~-cOgCt85@souOSzs+8zDF5937w?xBq|>Iv_gP
zsg`tksQ_&WpW`b(K1+@GEB$qSzh(25|BRcqSmqR}los8nJ^#d*KWhD?YLCgIVZC?$
zwVY82<12q`Rd$cxoDb07`1x=n?tOvZD6Uu0IBqrXQ-9o3owDv-){j5e-zYm#!B4)Y
z$-&EX0cr6EWpXyRCv>)1_rfMh!7qobH5qZ{e|I!2jnynI6xIv>3k^Ow1YJ3+pBNQ*
z-kcQyGeCt<&l_C6JwhPBM#82AEgV-9%0HRd&hWa;k8^4-W>4;@yUWHodo*&ym#R8A
zbEVSwmun4@1!8ktY#kJYBA`0;-%JbEvx^@-lih7YaG3%&<85A$1v006xQF}~B{ohF
z&b-jP42C_iDp-H2YBV6(iOkOBE)#8t7LfI0nJdM11Jh7hH*d{n_A2Md2#K2}1)U}#
zLZ_!=3I`saWjLdL7b%RC)Zp0R*0blDmv@~h>iAM>bheZg-ShgSbWJS<_fw?44~eeb
zz%^JRwV5$G)q0C+>{Gs((>5BvZ4Uj1UUY<If}ZtjeLIuD=gTxpL;0zH98RCN$F-Cx
z!wQaHP<ag)2@DFpQNE&`bWw3@f2_H9L9vs9(bs&hjXI@si@iLRpkc=~-e}OidEyK3
z!kZq-+-b=A2&UPXyxs|4?MTS6`K_(wlsVsh6gO~+=ZMysMasLDLacr=jXKXP`;Qv?
z=;0?zb=^mrFN=Qli?~E}3x{IPsQJS3fE6Et>`FXTSpTj#ddb}nZT657ruhBuQ-$T|
zyF4Nz7yetLrOYh30{q`dXoNcC34nX$zg#7=w^Qv?5h_QsULN#OmoHxDwkDr&2}#7K
z2%C>ePRVY$V>q5e?6#TKyzy%%bDqP6hO@2b^qY{6$BhdQ2NqHf&&4iV(mM=NFVvv=
z0Ka;mMC$69Ch42|<jg$Fnj7IRl9Sf2D9+s5Lt2=CdV9PuOf@U6N41d7g@SK=7t9BK
z+~WMc{O$_STC3ZkcAs*^6WC=e$0tV0p51+W<Q@6mnE(~rs7L*JTEi#J=*gF)6R4M5
zq-uC<$rdv?J3<u%t2481Lu8I_R{Zl{KW@HRI3z#ER7y-IZRgeNG-vHip|LGIgMvmc
zDyHAMyMGkP#!1{M_6vAl6!YmtcTqS5L#~YU7(B!yRdnxsCkF#vNC73~%_%q%4MYqU
z9ZZL$NOxFpEwpj<<W!=VfB?=FfhSwrCL_~{r^-U3%kEEALQ%g;g@4=bi&yz=%fDkI
zGNuTP54KUhJ^Js9>!<XdTi)LS^Y5z6+J|JE4t?eCVUv@WLCJhG5pK)6orTR5O$v7q
zRh*sq5|&%_zX-*;*0Y4|UAyCC*jDFbHy=!75T^uGD}{*`hb@XV6lmlXfZCvruEd((
z=#01GDg5iTl`UV)ZWjqoyvVFW%e3S?1B?#W{CHpa>-S%amzwu|2w?6DiP}3dfA7Lh
zNZK+}VsggwwvX0d9vs+@HroJHejSrWoFW%gJ&t0xGEeIF<>1hh<R|eb6#V#KH!Lrx
z$lE2E_AA5HNs&p*1iQs#$gjPsch>xdx-KPOjg&up!#5>2Ph-#dV`K5_g<i<a;%8j#
zU72w;ero}9ZtWZC$_M(CF;>k#TMEy+Cr#v@#wmhaMOLjgTO-;xnJ-#0`kB-*owT&T
zKwpeCfs6gv-3N6<tgf+uidGf!hxou0So~(FS<_^@+;@u$PBX8JP$OPm^YXtDyaIpS
zirR|$Kw%L_8$!hM4Sj19z8vbI>H{E>qDE(D8V%)Ho+}H4H0v<;3L<Xa_s~p9#KaXi
ztCr30BFWzS_}SrlS#rMfsG*Z~qQRsHDW>)U8MIr5Aw}79ew8i#fKMfD`g+etRr1J3
zm!~F5w(v!39LkYX{fRqDpW}tkK0K8dOQyBLr_<;ec<C6sm7|o3n!|x*<nKQiR?pSe
z?al|jJfN@|nR;Gi^WaC%5Y3?%{OBTFNE)a_FQw!}B9tFa+nK&ELOT;FD<)P)bb_=e
zqtis^HRbwua%69)J>)I%BdoBkg*8Vmvj6`5dZb~l+u`xWZU<L0uU`3dBmX~rL&t+D
zPRA0%TKkil6X+pw*x9A3{kjnOYpIeYRdcKMrgzOO?yl^Yx=GA#tCXPO7o%vSv1JIj
zk;5s}cel#zNM<MXR8oB>4d0ldpJva|2PJI#;?0TNt9Y!!`J(sNFVeSI?+A*eIfK;x
zr36P+$0tcYP(MopZx*-<gE$mfC0i)ZwXmTh&SICLJKiI~&DPT5F&K28ZNydzqJ(m0
zArD>6zAZ0VeY9HW2#epSynLwZFw*MRqlU@e!_t!@%TwN-3!FoQ=2yNIME`gr<B$_D
z&;A0ZGoDQkTDI4?*X#(k@RbU4v~!>Z>C+h)eX9G|!hj(<G4)w6L78ZEX!72{^s1?{
zC+b~|&t~R4jVdt+Zp5>_`k9#IAg}ZcsvvEuU~;3_ii)kkKaraIww!jZGrsC=XAtlX
zH#<?vNe;aKjbRA7FyEv6?IH)_6@S#EenG@5huxBHW=G^kl3Dy(Q_>J~4!Gi){PMt2
zgILXG>XMFwv*OKd?eCZq-pO*Kj>Sqrd3lKe2iXS$AL5VZY_n)nKGF25$(wmw)an&r
zW*6w?ujI&*Cm;%32F_}sGqBR}ejPU_>P~qEDY;6)y3Sv?Ls}1s`DxN*f7$eL`;u8@
zJjgvrKfcpsyQt+>Da*;t7^#x6&EV}VW<ip~+Z$P33M$XTh2j%uc_YUHKc*T4U-M1v
zaJZ7OU^U)#VC!OUX`I2DmgpQdbpKo+Q^kJ3H_Mp(V05D$CkLbZT56rS`*Ys|PSv9R
zLj6_C{RY8v`=M!pAtAo0+%=*FWA(uMQ2HXvEj$|#NUI7Oy4kBBV`_DDqd-<g@xXBp
zR$yfR$EfwS?uRW)Sp({H1)rwFc(vXK_}nTeq#z+BJaufy`^;$PkG2}UivBDGtIwA%
zs;5ME%28UhJL5#axs^_CpY8r6i#y8DckEa87nR9X)rZ%<P3dPI)c9`Jk?woEi*m1+
z?pb#>;*4H$PkN_zcHoroY@q3|MeW_^7L5P{=zG&(x7btmI&f%nPJ50&8>kjFS8w_)
zG>mz|Gr&~AE4-4DbuQEx3+}tm{<ghOZN|Xe!dKg|qu=-yz@7XinZIu+zuek!fg=Dd
zlCUxYM>?4KR=XKk=3HFoW`N0IXB1tgwGKHwl_^CX>V~E#Ua`9~6K~aUSQ#2vbQ)_%
zYyrcZiAJZ*adT#ojW}4qT3t`)fW`V=ym-!0E}O%#<ACkFoEbx2hPCBP7@d0RG~X0g
z_EB0e9V{DuT}hT<D~-6K=5>fJjq=z|M1pMb5MsBSA>*2{XSppFg9ozYT%6EDsP>>~
zm#YJFH~4#B#$r|W9&l-ys>mW4B@?0!0w+|4ipUiyx6PJ;DYxQIzM8W%gStLE-Lt89
z`WT_mGii^|$?~LWafceto%vwc!w}U=&!!8~X~Ju}hwkX>4;Z*(*&pq*Sss&}SXUro
zKOmkR0CdNKk+ls<a*CN_o6VG+(5cfIXhlhDz=y0+4sA0GB;@9zbnZ6@@9cVD7l#8R
zvhpwwsT}j;@YY!b8+BR}p;%`XEUel(G4pD4xhb$BZ&-?ufGOY>6cM&~<DjFYqqT&>
z0^QsmLtTg7qI;mzI{LQBC&#p(7n|c`BN_<|b{w-Ol=o{|+&VyJ+~i|C)1V3`bE@FG
zL`G7RXDaRJ7OGn8Q9wi$xn*Z<uzyN>$e-`s$z{hYk9(m{E8|u33A>qZFOKT%MA^0T
zK_>qal@Gj@0_I6L%L|!K>eC*GXpNkN!)Xa!h3cXekA7ks&KjESV<e2I=vU0=T`9Mq
zRz*CJ=h@prptlYvU&HKT;cMVAXKDhFEca*|`!7|}W&)BNUtD7{6r5%!yC<;Q7u1G|
zFXkUxo6;u~?QLL3f%rhX#(M3yPPk%C!Ai3-=>Z1%2s{qIN^-|G^ro;pz{NT3FoRu7
zhv1lMK<NolGIVRN=7g&1^Te>ad2Esd2}lLe5D51+JeKAt0in}rK&mqlz;VLj(M)!>
z;f_>y&s6%5fhNF3({KkUmxYpmC6b8DwEkoPKzr*+Tvy#@g}8sH4R+1CnVwB};XL;$
zU3;OhF!RV>2NLXW&^*wwipqn*A&3e^SWzn6ksK6%6i2ep@)to7(d!fQT)ktGmJkn-
z-Ku?Ndj8q|SOsBSqLyZ30+04hP+MSqvKE9oYPMw&x9PT;vcoJmn?KGmtAYhMVlJV~
zv>Og)uU^v3B?HxVqp8g&t!E#t1!qi*56c@EpPDn5RQ8rj-XVMC?ql95S@f4mELj2M
zUW?&Z2}!m--R<mp2nOGXHHu2go$9lMb!(mGcrv^<zP!q;vWO|ZeA%4V>dk`rS6$8}
z5K>;2DCiR-C)AOPBH;3PZ1e~B%eCFXe(jXVy^>}hyT(y}gg>I4&DsT`Ek_|<(07|r
z{+^`14<Z>zSHhN)Kmpr`z<KJRZZ4V1rvjm^zCMZ75@METAi5t3abl%)7*Ra;Xxd6F
zATL|0Xt7PC8al}gp(l%OpL9RksM&$59`}R$#Rsw#8yZDOvMsM@1^v+Xp28g<xR|x>
zEUZ$jpf*UMrJ1}|iVRT#3Ml!A($~>lVWc40ws;9b8xUkKRPO@%yq_L9^Ho?9EUfn3
zCJ<-C+|lW)Z_H{4x@C#haj_sqDLc^HMBbobXESpn&}3Tyo<#k8JOyZCFQN&siC!c}
zW)Z>`ZeT}6QgaiW(TpmJ2Nq~lKVXOjVYIu`!5?+c%l>wAoC3QcZ8*>JcE>8mYk*&N
z)iP{;zKbeqc4uSNxf%Xp_s48(We*&>lSHvPgaD9|YBL`Lc?CVSW*jL8LxmT`jYvBz
ze=txZfl*Urd$+%yZ2_^MGi5*VSLDeSkhx#Sp6Z->lyYYgoe)!JJ+qbQOqg17ieG;Z
zW9^<2S^n;Begt!~^3U>i6YlX!t*WkOFH6VTE)c90DYW(n;1752RK1~HF`Q2L&@ne2
zCF)m}y3MTFZKDu1%1#4D%P71B;g-`s?HoUU-^j)EAm$rZ`|H8>VVT7#86EbXPEh)1
zP=qIIb<E$oKsHF`@zJSaX>dO_T{l-BxFs~3)75<4AxVmPS^LA<MhJYkH8wZEn&Ay>
z9nKZo-gG$qFhmkH6#pY_i>QUc!art{Hh_!2yg7Eg-5Vkyqx;d$+(D9=Ke`dr460=y
z9a9Ag0jc$L(!~xIRxF1AP+}*u*{$1cLB5c-MY@uOv-pWPVMOCZ7rEnONV|k~VQmdB
zi=-`2U}HuYNb1F3q0kHwg;sTh9q9Y%kd|WlUEW2bq=pfbx7+YVuq_Rx3MWB7Rmx8<
z<N-M-0=sjxrKJ7KF>l{OSbMus!R=f-OzS&5k4GX4Zy}9Ie!c_Fhqetc`Ugv4+EA1u
z6Fcf64!@ODox{xzBAiK?Qtne$sHuI{J8AYX;2QYUN#KOcTi$Y7?sMX$2JHh<{AI)3
z=66O*-Ys5=@X$)4QQ{8A7cg83uU`;oMF~l8>h}OW9X$7<q0?8F3={nr?t$Dv5sAc1
zh$kwOh&br0A`%092{g~3L#kzu8^jEhtLKO@e^9$XE=+ezUe$jnsef23C#*@xHS-9c
zOg>EgL6so02EqG{fJh5eUp3j5g>{GH){M4Jl`*m5!(g7Jm~(nID9ZtJJ~>Yn5W6Kt
zj5kospRnBZ2;9+eo^)3nox&@s;|khq$^}Z1TV(`qKsk#ct_Hl<Be;jKO6?Utug4%x
zUE^&f;HJjT#r^_*5)CJ#<83CIP9!E!)25}Q^iVdB$J=hJhU*|9CgL>kO-3s=X5`@M
zjE9THb>=yj$6gSBz~>&jSSCoWZsH=+;T%osQ)*v?!3eD=aBrQnOVM2JbAOuFVfoUx
zqU+6tkvV&+$JBHRog>=cQiAYlJz(Bo%3e0fctKR_lfcqPmmtxK9#-0t)=QtKESF2t
zwv9sVvtYJ-UL-W}22om%tuLBY*oD%)Oz6A$Nqb*>=e$xBl0TzOm%ne=C9{!iQ1boa
zRgPR*(#Mhg9wRv)(n^T@H~0OC)-xZ?5{UB_mfVnPnEVV;H7$=|bK_Y*X{q5H?+fp>
z{+G7O6df6`pU({)Y4|?g^hjhPwiVi@_DQH(ebXnZW1t0|7>&c+oM;hIDHDY`XZtsN
z`ZVr~n|c&tO|NlP>8^)K9sj|puWuyXR^`*n!}bIS#DbxWXlTa7i6#x#@Gz%JlG2<x
z{W#2=Z%JL9X@Gj5lLbSWH!KG5$)fodS8+(m$Ouebvss?&!j5?=N7(gIc)@iOmIUa9
zOv?3q1jg;F5C#}|3MO&MYqMwHf5IiBqNfjK7D@9glJ7@hsjG|luKyy|+8Nw^5*aX`
zw0##(bWlXB<KVIkbDsbv5~7&vohKK=AN;HLhYi>mF_&q(#8l;#+|W`!oB+8Mbg-)X
zD47LjFyAR=eUJX6ZrrfWlU_q5>H30j3in@ag=WP;Cf(F(BSv-`1a&h_8enB2dpQ$C
zp!@TWx(AR*@hCBoxSs{lw&xR+^NyxwC+?#uF%kh;@IBb4I{M#e3q*xRJBPb0w||9H
zRr+l}BFHH7dv^_=%yFCJu?G=Yaq@llh?Y#!m1x0{f6<mxZ#U@nEQGJPPP;ZRpWv&T
zbX50ZZ%nY=E=85G@~PM-WaKx%*4+FC^?OKJ1j_9rPbO0$HaSPeMsqsnx5!K=PL$sL
zGoS5>o^d3=D3V0mYgsb9b5=4LvpQ$q#&Z0iT7Rtq2<|xU40`jmYn(P|2m>!CVQ?g&
zhD<+|-ITz<^v;9)Ukg}U-5vWAw@}3m1rOkEJ7n?Z+DY3a6!%UF{b2MXQE?ivlg~Ou
z>s;)=Hk=W0LPkBW7v?7l2bx1jl6}JUv_(+n@kcQ^_KB(BaHyWgaK^7gZy8i!c{QFZ
zNDUAdX{8j3w}hhc;(8`r2*;MEBvm_w5DnU^&@_g;{C3Za%=p%`TLB&)#x#DuRLd5W
zO=LlN!;M5_dloRT@R>M5^`6b4(1N`9AXn#dK>@M<03x@|@sq4NjY1ickCt^HDlu|r
z4i_M|^WvVO&E7p@RoC<CRDuvGt;LGS1yu2asGX0ClL6sq5t*Af5w6DnqrClERS(mk
z=e3tUhsI-}xO7B-NIM%uBEjwL-FeyaEW|#os%^x;?a3Dsdm#w-T2~=zj<?!94`A!m
z$;rARvLU%iFng^pHiObFP1fIPWk9CE$RfHw_tJ8&IiO8)A9b-8Duhj`k;~Npu!wZc
zdUyU`Md`18t)@OXKV2liDNyl>SAU}F_;c=(ejqmwZr*N~hLCBQkdUp@>Xlg!F2V}y
z<qK)k{Fv6wmpdee(^Udw{>6Fq1lU;wcreFWQyxIf1^oMtobl#K9|^rr3As%Fp9!^P
zcY5$n(im)xh0%2hjB-CK0X65M%l05k7<9-X+1;tE7DmI*l07c%XB(Guo;ciN9E1hz
zL#I$jjUQ@JD`DsLwA0qN6+UkIPwoou!v*I_jm%5&J1N#jMd22R?1ZqNa`)4=0Eb5-
zqx@&PlHpkdKy^SB&O}xf>BYPZ|2yj0chzlHVl3*UtnCMAs*PiyyuvJCSG5EERA-GR
zKrWF^^A-|$`x0Rwp0cmF5J6B(gxA*xOsx`pz*lF~oNH0Ja3;;gg{X<9wo5}WhI*3w
zV>Ie?rr=s9^J3k)VfPaO3%Cp2%wyN4L$-Gxde)!$#^$Mmz%S)dOS%h6K?<?snj<hV
zGHK<Vq}!*RDhkUE&m?Q?rgl{kcR%K<dTJIDJ0EFQR&~y%1)H70x)>YvcU?>qah&9A
z>??vV4u)JObGFOVw2XEzvm4UT)NcS^(EA>|r4{Qj?yLv`M5}lC`Q3{D9s$mLPKfG_
z_LAUCbEmb1<{5LU*~DCE-TrEr7F)CpNRqj7;>MZh`sxL<|9zjEJ&JC@uiHzCfB!vY
zMY15zSwHlO;#$dFzH+SD3aP5?{5;1U`bM(@eITp6Sed1$Nv7i)j@s?ijd1_vb+Dzv
zO8+k@$|lS|u_UN^y(&20@I<Wt)I|n1I!$Yve-}5enRVjwKIN`gAps#RBHfc7r;77l
zZHyl{7aAU+abm0xRxZ3~cBL}eu2wQizTMpCI>Tb2R`CEkHVvwcu(!254rt_!W*PGQ
zB#5?ZT#G#!O~qr8H{)~cm2#FJUQ#tv2pGBcA_MNa<CbGSv3}e4m70CkOzH2n3HjbI
zVv+$e1I!v`Tk`rJ4Zd*EQ9t|6`H|wQ6ul;QS<LRmfAOjMUc^Ta&Ci{YuvEJScRT_F
znSgy>(+1ypCXJ2{U`NLjP@Tx5W@8u6NVHv{zgE{Z+OJr0o>%SlOp8(8%3DHHe9Ln)
z^hw8ClXAqX258r)Di3M%X!6gAJqz6(77=d^Tp#U8x(os#++<|t*1r$0y&B)Gx+}l)
zk{fhy#?ZwbS>Li8`0Q``u}^I!{qPP>Ra}uR;}(wS`3kNcF1ejp!ZmlDbNzFW!MM1X
zi=?(on#omwPkNuxC1IHI!)Xw(r)&mQ&X;81#Axl&6={+ponE6zOR&QtwHJGJ!Jscs
zakZr^$*mQA5l@gs)OO#QSyJ}IKu@6(?mE9*C!SOApByjw`$+9@MuevOL3{Vtd)T`Q
z6_pJ<e3umx9t3{LN5+gmj%YUf;S^O#4ctRwp$Yu3|9LLF@6$<XVE?nK!Rhy3!1uZ;
z>OSV}uMoh0b*=moOK8%!(!_Q228P_)Wx0jB;1GEN<gV?;{RLipD(OAM)`>=gp!cez
zD-&P65_K99kv%>$@vN;dWpGdyvU%#hCDYrC8`|qh)_K~E`aSrUo35B=U7A%XT+o_x
z@}IlAH_LSSX{mIy5+bsZ2>IhpnZ;V3Km7fVO5g_b>_sd)HrHnJdpa5w=NrLSF^hh-
z5QBasJubmk$pJY$d*}gi=shwtb{ft$612a%o?b!pG(x4Qa?d{rlL=+Zy{%das}?5x
z@LD}67&qD{Aii;KqVRH?HZpbtbS~#?{d;p@tI@Z+3lhPQcq}Z>Mk!<Yhn6{=E!|Vh
z>uXMPYwmJwfVP$1?{@sU`F9>}#-3MC^Tq1xi+s@Bo@(r@P1O$(elvBG0G>>iyaiK1
zr5k~%{puUeF6w05g<xrtB0ttpP^*>VUq>wrT=W&j6BdE0^4cwFvYzhB@L)mt?#2X*
z;F+y}YWaQ*WH9IV4=&i-nD^(rXl2VU`N{Tx8IPwOxEjs><okC3>Zp}TQ(c+OmnI6h
z>2g2`{XfOFI>%aF^&iXn;@dEe;wOdD8capOrcLIU?OUH_26Fg1wp!xIHCy2Hpp-&f
z+muyel#b*|%D<3wEr=5&2g?{>z)*=s)zSbjEomav-H3w*G6$R+jW|Xv6ff+n?GSxj
z7Se0ZdRp##^1@PC+qTyo&=ZwEB_VDrRl&EU#LsO#w?%k&f|Wcb9Ej_Hkj+FbBMFu4
zH62<~K91Dy8v%VwG}?LZLhJ>7Ts4iAiw5H590UEUHvaDY0#Un0u+d({2DhyKrW<`3
zJJIz+u5oe3!RZP9=j>1A566!3tF<-Xy`FUWgW65C{k?K_yU*|a@uXj8cpsB&)7})o
zWS9D^!~b;T;ROX*KkknfpauTQ)@_&n!_Vw`v;4h6CggYM!l#;TAg>GVy{hNOXEdVx
z;`n{rK?PsSYLmiuX$d|&;*iuOZ*GRa`KtN6NHMR<7b@Gf@mr@OA@ywG#-Tf$T+1dy
zXYIJ>uS`A)M>$5LXjSz!ztQupX?9S#^r9;+dzCu0j0BU-I~+Ta5vk2`s)`4bm85lP
zPPyYMZLQytiEjz@-ok9QlE0R`sMAv)X=b9rRH<p%9T+Kt@sNflqdJh(*mHux75AEL
zw^bjPXJ@sji;%R@@c$b7bD0x1A!lC1efFzREJ6^rRn&30#5j4mQ5X4V{wMjK=7c0d
zZhU=(l2ExGPugNX?B|r{<|*Oxxk%TtbSb2Pv%A0!24J@ISgusoeu%hu-@wdmdi>m@
zc>Y+e#zcnW&GRPc1JpJ8$M3&4<1S=NAN)MVefi9+C+tk#-&W*`yi4cHe>R!c?h_IC
zWJy|6R{T|mlWsmX5qsK>_MMW?*$)GmhE8i7o{>S)8YX{y9oTM2ymr&<gx0rQivxq}
zrnW2Vz^ycJuD%dqpm{rw6o7C1cmi;<reW#X%Xd-I>MtHRd|BJI+fHr0qgxO`VNQP)
z+Jkph?({DYB*W4hlSe{MTHFivsy;Sn3Wb7Mz;Bm9bUlS9_ZIi_-}|+%X6w}~`{49b
zC<s?~<)AEXrNUzg%95|C)!=sdwBEDKtO%hxzqOoq0f1OhUp9F>;x))rJ7n%E3HI2A
zi1*8?U~iKPb8uY#vE^_&&w}t}Z=GtKr}*m6<V5DS*7{F!K^L^189N4T&97elY+T*d
z^d#^}{zmMRU*=_3UiJ*=C@n7mt;e~3U%yR{+16u3r4|QfPfpS+_6U#qWvg8{KIAl1
zvhhqdLrKjhF;w!~=JM}i^=rxh@n5|Tm-L8h(uj(i%!eixDCX8E*6YHc6!bI>2O9Rs
zk8@r!#z{>_1c}KQpUys3Gl5MF@LX?|{Jcg<W?}o~9eb~_BD((p^~kLnZv1<wk!hmi
z;gK*>wK*2oz1zAg{_M)z;k7HhSzym$85hmURxFB)7P1KvUS#XRc$~AU$K!MTZR5Rz
zSpXW5wM#!~;JwuQ`zX)hmi~pf!_T|=RGQ^c(}gfOQQQ5}LpY@)QP%RW)$O4MMOwqv
zx~GBn;rT_>v(l|mt+LTn`}-5TV}>)L;h6uib>81>zW*OLlTagK#cV<lF=~X`jR-=~
zShY%HHdc$;qa{|Ty?0})RjaCKEB30|r8=ytRi#B~`|juK5BT2aT<1RL{_#5JeqHx<
z-H+Gfd2Tz0{S=Cmj^ABrU)LoASFR}*Tn|S0X)^G8#(d#7ccwCA&d|Uj_7q^q=ZU-T
zLqX4rM+-LUgbo|}BBn?jH5Z=QIMWy&r+8&RF~3P~CmrV;48Hqg@7Lz%*av*y3X<*_
zYxzZ*)KuLV#&LdN>oFSXo34j_-w3->^Vv@6l=i5S-e2OTULyTzMl@3*`94Y{^;3mx
z#_AE_JlcdXn@B36uNU^Qcp$ug`sFno5m|iYB(#zL4Lp%!>&5xJV3V!GbvkOGE#}K<
zr0BNOpYl?!t%i%uo$cGpK#MxV(@;rZPcPkfO=JdHP*!?`wT$lc3B@v};0e>HO>->I
z{0r|SHj&ne$$R+*6sWl2n)iYH5&evb5mpC6ccVRqgX2T8+swYMT^%b|O>Q}?+#(v5
z2iNU){VYyFvVPLrqI+8KZ~wIQ6I9{Cr9li>)#S<k`rrSGYo}N*M}6L7oHZ`n0&vPj
z(_#ge=VE0@!fI??)r<f(8ehrMOi45B;d2hSu)VR2KAk#&)99}WKJHhH3@k(E;W;K6
zBALNJlpsjx)rtNbi;MVTOwg)?fBM_ZNWY;#AI(Ujk&9;kLGE}xeXC=5+?-MAH^xAq
z2Z|?K;28k*Ukv^I;X0&$11;S2BlOETSGlHu7B^!OL$fT>KYH?~hK&XjtAOX2n&G{Z
zY0}5|u5a@)tRj%|hG%OG-!%I(S?MkMIQSn5VtlG%@u3}BKcO}BdjAoQbs7y>O!GS#
zU!ZXhC<sxeCxgk;w}mNs609WLs6UB9dumf4skQFf_q*jWJ8htA&~(m)M-_4VR_)C}
z)c4jm_~5CGtYehvS<5_|OxWHt%EHI~BH%6sotA!8s8j+4#0xU(Jo|g){;q$|c}Zk8
z<>>aEw{<KFmrt;qx0vZVDlmGGlEA^!jE?E=B|86mRY7c>bRn>JrMo2;PN#mX0Qtvp
zujg1D3FF1opb_kT#Io15ad)k%*!zH|5Ff1nCaV#h-pDmuV~$@Z<B!z@^*==Gem8ha
zhxAIuC+Hjqa6=y4a)BTcfBMfla+n%bmvqbdW+eA^1gqrZcE#J%zAbb@G$xN8c_e$l
z3M;T(^!}vR9<*5;cyfG&p6p_GZ%FXlN@n};KfI~l8o`{A`N~)LNaG!!GNFw{z21pU
z9;Q7WjtaKS6?3Lh3v1wDEXC<@vYV@L>s+?`?~PEynB@YtZkChxu5q`DGESi6%aAcR
zBCN${UC`y0F_coo5>r!A6(ls%t+pRzOur|+shuLos1y9HWkJJVMp0qjY8!2BfItVO
zr4D@PoeD1WZ6o*v-)4v`jvr<aD}5H~QxZ19P8g&)5vvcEBV&i^h#80DyE2m@B+WEY
zb_TwoVYSt%cokhM76nUs7`L=OuZ?9#W~INB4NIQ<u)PcA4O!8C35rUF;9>47x(G`a
z78Mh&syRSc@=ux~T_WXtga8Q^;Q<(DS2Cg744G?OF(&YP>N`o^oecv}GQM8yii9u?
z!OMbF0b2~|T077w!Iti+>dR&}1OTIs`tFgP8H_@>B{ALx^`O*)U!jwtjl!a(%WLbD
zN7;g%UmI%QvgJ#KmWk>JC8V=yQS=PsauoS}GQvDv97agFlEmsxJwCW1U#TcYo7WN7
zYQ-~{Lm&()a-*lMGW9H~J3&+`(xQg=2ml+a6m2q8qG!tGV&@xPX4JQx>6kZxF1eU`
zw7599P;OW@OU>JU?O3JeD0k+RN=hPOi|o&od@Ll%*+RO$u@VK9&hxxHTwy6;=PiD}
z^%>#=g*ccEu?hFhO(L}JKH$^Wgf;=LeSi2+nC!oNnivZ>mKMoPV%1;LPEx454pkls
z(ehC6?ICMQq5;!WUwsp)P9|JDlnS!6TTB#=I8COJ(S5$+GlE#H4|xBpZm1#$%Gjn*
zPNYv6QW?oUS|Wr<R-}43c9sI7$IN916Eg^}d~`ysJDb;bvY&k|SnH*&q#gZmkq?ao
z?&JiL#28Ka8$C(hSbxr|8nl+dX5nNmSQZnk1-mA-q={qUxq*mKJz(=H$eOph39^&r
zSsIYmqk99OuBy)%@MtB+YvqoKuZ9h*>jRU=Dmimgx6}?ktTrUvK-pvV{YS?kVQpnM
zG9r%>pJ%%q#4Rlg5~Jaose0Tr0R<-WD-~R`S~oIRpowphp_>O<7qK2cEU$}VH6>Hk
zs7={CO1{2?0k)h>y{bN4rs+XzDeg@#$*LzF3}SW0C?qnYlO~yu-Dal)=4V=awMMb2
z#T-e{l?c#S^wBsuE8X4T)>>W2@r_w-X5D=ap=+R_->%?LYi3K`3Yz|%75`@+=8KpW
z$_~Rmd<Z;HeEhgTue>H&8xwf?Z7;>7EcB*&u%`b<&U|E82`-b1p$`|w6e9~Em~>pZ
zuVnQ@K^0%;1@fd+N2TlwZB~3x>4%m|(&CJ=iVWf_W(+fgPx}b;iY=))0DMt+&jOx|
zq_DTOsW4+n`YR0EHsHDyz!Xl*h51_uQW$KJxxKl@m~qxvQtx-qE(F!<+=l@%)4I|1
zn=CiDFT_z~P)zmlFir|wlP1n>Dds{r#+I+G#zFNNS%kF&elUC+mIZ&8ktdWZ%8pf$
zVNX285Nf3wKSC)Lq=J2t<uGIJkh!&qzBSGw`bYVH0MT!k^}2A!b=aqg&a_x2D%OKf
zfI&aQ!^oM!ro@;qgP`Cu)XYt!8FbzZVd;ImCtx1dV_m`lpSo10!2f;?y&K~v@m{rJ
z<@g!<a@Fz9@oH6_bEbtLt_tjynZP6sj){>>zG;;SKnUnpP{}X~PcnnPn0X;6ivf#I
zy*RPD+>b;@n<d@-lmnnh0sw*#xBv!DWDwbjBp-(V&gi&2_vq=Pmv|z>1sAQo2?;;s
z9Fjak`My0C(dM+fgtbIu(q+tN8>b-H5Kk0Zvf!7D5C}9R1#cXeQR;Y@MhQ?Zx&`~6
z<g&>FYg}`+x(M}5_eCp?E{9&9odJg~VpNL5&*>Ur>1#PBG*w>}mCx|>)w{ArTyrHD
z@Gteezog0;`Yv;07@*$Ql_O@3ui!D}lB6?Oyp!<*GR+W(tn;4_4n1O{01kDo5b)9%
zx@+`(ePrkJ2dTg!R0s=wT|%;*e)CI=M6?uuJ5vhnrDtzRykB^Jl<|F@M<IpH1ZO3O
zxyWYm3rmX$Ap{Nzb91dd@+!+&OmmBf5NZ8dBDsIASZiTDLye5(8OdHCvEvd8l>a4b
z+;FnnORA<uXvi^Z1MH$}vU<8!cwS-7Ia5n(-}zm6a*yp~1TZb=a>Ev;MV8GlV7DDD
zg2#==cYp)4KJ{w+p!_%x@xM8=vE~F+lNDsw(fe50{n0S9HtdsF7=0`;8yUY~>?vn$
zOR>nUHqI}7|MqHP;QFxA-43nrc-&#mZ7q<WV-?Xj{`IhidEhp&?+fFo)N1wXUK8n`
zBc(5a%dzvGKN9=^%0<LeQsl!&ceo|9K6p-ctX-uS|8D;8NMJ+!>+37IK_hianSkJs
zx`c_JeKST@JUKwOLNf(i62=k}hZ+2LmoZIdSM8ATq>XTi;s~3he2;m}F#3RG^V54s
z{4ptFX5MY1&(Ofmwtqe-t*IrtdXZ4CNAb%pSQ3W?Jm^r}+2D9t%#FH!BE7J$@E|sL
z_kWh>{PO%i4yRKGU3;#@A_D`C&eIR+MWHqU#;dGchzFDOwCKk&*oYi-#6J$H$FKPZ
z<@d|Jt)ECe0p2JX9U02epsI;R`ZWY5M3w~vJozXZ9T4*tt~X0lW;SKQp<5<v9p~vT
zU^z;8(S_6s9-2xo9M13^R%KdbtdY#dx%s&HawOSD%Ca?UAKYiBjD@Owf2X+lAouU(
zW^U~n2@<(T$56N#uLgPYoPL6TRmh#)0E~S9Nsk*+6kEgp8RX@NiD5pHatf~6<*pcI
z!Bi(2{OTXByD2eXKaWnhUxrcF-9|(bnWV0CNV_9-&#KJrwQAx9b{{iTh_5@dY$Q~K
z8_{Kf5r>&0KirgOIC+AghqV8`uEkI|pA*X&QLZvGNgGEYk{O$%yb9g~L11!`9z?P!
zRo4VyqDSdvB(h6E1U~vReePTSvNYkzhHe2X=(AbtvZYY0u$Eg_?o4LtW1P5%<<l1n
zqL?uiK`DNAf0{@ogHJ)*40i@dMhK#`odANIn>2VXjA*3SZn0oO#H$WniJ@JjkcfNM
z)QR_tfue_{h{bwJZj&BdoztSz{!Cy~%PC$(87p_R`q&}V#%q>9w%}sKqoZe;@Ergq
zKV!+CqMQlh8R>T|%j})ns;B)$ET0=BI!)CaGEHf>+0p4lvpf`A{f{BexRlN%#ElVH
zi_s#SfpG=rivK;5M42u#=XgU$Zg0-Wx|(j82O)#U{pxm;T{8BgdO0;@#`rnwVjZ~V
z5KIZW><R9qBr7tZ0whTvV@lv?xe-u^voUAMDZu=%7&nTFLZCv}7{PJaXu$C}NOZvr
z7!ge&B~K2L?^C@yQ*M01+(stl=~q30Mc04tBSs>qRe(V)$UkQtb%@|`K)guE>GxfI
zOOe-~gEH$QKd`zcT}(s4R;yFI9({QYy@Ch^`d<6zpq{N6eAIL;tx&}5&L-U-aJ-0=
zq5Z~ad34{ZThOnN(jIaYd`39ln&&K(S^*!g3nXVr5|PN;YNNGyI6kMEE~nmH7S78q
zKK#%L2){IDRetffqi)b@h|vg(AE>?sfe|j7duHGf;3p`C7``PxQ?b~i^0=G}+Jr#X
z2jIb29Dx;z<%XTl4l0Y3@N6@e%`z!5w6ek#IZaSBP(a*+GNOq<oW>@G_LjjKPOcLp
z!z;)Ld`?VJG>A;W8)aBWGr$QI<O-yFRuL*m3|~bxwqXq;7-c|nv1Y$WT<r8}+jqHS
zfR$4lqI--kF$G=99s)^%J<2vT)rc7G$d{rD^HR^phAu;qKbK}h>a`@eIsGSFq=p#Z
z7ZJy-s(|V@@Fe`ZU)Pqj9#$^?66Y2erB6?1coDzJFpO2bmYBkM5NU!#VOp6U63YM4
z>s==4zWDRc9no2sM(uqpHvKSk#@X0$g1|V6%gWZ<DPV@%D%^!8qmibUzREk9mrjPF
z4P-G{iiTCSSU@KYoTfVsUyase^@|gfKq~Ts#DwoR#V8@TIF4XTu?V1c;5*A!=Iob;
zz<D}ny<u47439aJsU@aG!6Hjp0avAqr~*Tfqv_FMt5`|8YtgIWV9gOyewBuStxPF2
zs{>jm#_2qkQ%BV>!P#Utxm3(hGi&PhB;Y&(ODIsig~W~9@R?zqW;S762~&35f?<Ow
zIO1y;ilw^f2Rly&*w~a&;jqMBUnB!_z)Kqzes!h*rZ*^IQqaX!DLsNTC^50Im>bgs
zMWi$83&wsZ&od?Z_X)E<c%=$E5E7h0n7u76N9eY;em(Ar3Jn&{ob(ZJ0Zy9dAun?2
z2AG-Y*b&!t&djp(`fn({GdJ|RI~dQk#e2vpO;I|})kFEYror5WmM^bwCyCP{0nAk>
zl<*c5e_^Bc4jXU<szkE6Z6_Cy#gG3zO-8aD<XBQ4*!`0}fJ^nk`x)_rti&8YShn-`
zlbsIwNt{M%cC|@;Ki6zPrk=7D;KIB-M#@5KOR(x=gbZ#&O|UN?g^mC_wQ3ijVy3`^
zu{YBldJt=7s~EFkKq`_1rBF-g1(vuhT?Hh@Cgx86Jeay>vp@1nM}&PYzo-YjcR!5M
zz+vn4(DC+3=V^C@Lh`B#eieTE=%n%*BjR7y`J?Z%dz}^K9UH#Sh5Oe2Coy$C!ME^G
z#J}A-#Y)jPVRwE;)Be1h>3qZK-GZ=K%TD6;V$Gl7-pXX3Zj>^czqbJ!(IeF3S-s>d
zcK`PG>!<H-Gi62}AXmRP^N$}&3dMU@_@i9Rw@+*>)nxO7oq|>u+=H$(P4C1;IpLmX
zFZTTY@$W<7h^tle`sQvdzuJ&;;BSLJ*#)wbYzog(ru)3Kn{T+kkNvpoRp;owF#6%@
z*+DyeE66)-Tu6W%T=;ytBQMbTbrI;1j)5FKZTSs)dOuDh&{b%HB>npN%)Au%*$Vyk
zh7%%3aqdfcYgktNYi8(8A;Uw)8<89WZoyJxW6JA3UmLNU+F4?AYJS@dtAg-8VY-9W
z8GU7nA45Yzy6j?XcAA>X;7%c#w=L8Nk@q{xF2H~=l<mm&QED=QSfR}E((tMAs+B_7
z4Yp8}^{1#;@8ur7(2+b0hq$SQJoD?n^o*4840v09D_;My@I8JL$j1IC{cHxUN&yoD
zwl3wN!@g>ZJo|Y3eCpjz87^u%BSd7V*5X~%JvlF(22FvN_tr+94WO;9OzMns0q;c=
zQ--E^4X`67=DAs#p2N1fBSC?VnRcG$yt~nDpA2)|=THfg6IO_#Z^@eC3!Jh!nWCC^
zPqM!3mJS(dn)N$YhpaF>dhqroMA>KU@6T-6hkpLdUoDN~1(hR@>hU$fhNLCFlcC#p
z)4V?&-}(4oQP11Q-Ikjq^o}5<f+F$e7ViX)V#zAj&idG?p8&P#6d!ZGc}3jXR+)94
z)Fi5R^g!)yHCVuQ*iv>U;j-!JjUFAl1@Yy@#{5NF+J!KF<E>?T-Cv(~PoYf>ziEE#
z>?$-aXftJ3ZIX1s5f3HwyDzGDdw-gb*=|<N$#k2r8L-RNEZG*?FD!9{!W(92M_*Ol
z`Uc*V^y0rHk&YBhrX-jxrOiL>B@{COf?qYCX)T<VT#FfcFE9~hk+M_f%uv{s_T)uf
z*Sm)Jf`N66=4p{O^@X0A!4Q4IX52y?VBY`FvRs0pak1uSA+$g$FXih-v$rA5Pj%JI
znx%%lqH6dy_oT(gBl;d^WKxHaCo`{HX%RisGo1(-Lm{=Vk8_Q{|LlW%eyv1d_R7k5
zd~*dK3oV=!)r!HUy5BNTe6RS}=k!Yp^cOD?kt`hsXZ;)^+PXCZZzPr%Z=fxI4~j1N
zf373ExML3K?dm%9ZVf<RFM9P<Fer62=)3NS(Yh|K*w9;TYoNK79Vof#?tk+${m-9<
z-USAG!hIzM6t?FYp!HG8d=ZPJQY#Oc5dx50aUL9(wo;op+!K8Ka9rem6IWH<_qV0n
z?<SIbY|RBd+ZV?De||UQlfC1!=AmtM@3v%S*$Zhnaql@$w5B72e{1|!ijy5VREuLX
zso>a7$Wi#`_q9q$<O&97Bx*~28br4&MzocJ4(a?J2Dx~6)=2JxC%RSMDmd(#M}D;e
zK#jO+u~kFs$u{94A!jfBwO*b?+C9ms&MK-J0|hOr7^DEy_MSv6SaXeThKp52!yB%c
zZ3hT0*dCu8U6K66l;7K0-qJck-`!S!N_;VK5c*l<MPq6G^UF6XQ`V|$uE=&4N_v${
z-h-8)1B^V{Ay$f!#*4hMC}VpA$ewzgh-XFYfL;_K;u;%<T|qAJ8qd_HADJtWAsgbC
zqKf1X3e>yaYvk)iEwG}{@!}Jk<$g5L1@-k_aYN0Qey}MOzgxgUhkSht`6qLB8iGY+
z4Yoxib`yOx`@oH!=66;xqe0DDMT1k%?XRlO0BJhKsQK2f$q$w+z{1t+#VHMo=8h*{
zC1V;{3}!HUk)K-Iys9#%|DM-Rl{7mWb-!O|&4sgesRZ16bGyCh^BrMxGtS&VyVdJV
zC2l9exB$1Lp{I9u@lOIPSZ$RB%-=UUv$|!F12=kd{z-@i=|<Cv9*KOgCODiK#(B-)
zC>4z8fTTIIr6N;(M)xVvn0Bw!?zP?Rr`|)9(Y8*F;_>Tz5<gk2?&EXyY<a$jwda2L
zckpCIW)m}b)A$PX`zqm+xRL!=p2_u<z2=W~&u+2zF8=n}(!cuhX7^8-=J3@$U2XXx
zhv&5CHg~-8Ee4+7*UbJh<(>WLz(RxSyrI(geG$>77}C7?)lQ?GtU7G?q^)Dymu?|&
ziZrF7J6MEDBRZJMX&G`||7~pB|DMZ7bqG2Br<NzS9k28**ut?$V>bD>7PG7Fu)irJ
z_`cJ}Cdkx9b$#R4yL6Ul(#4tLpy*xJz58PEXU`iQ5l?F&L76XHJ`=(c{mz5&*oqSI
z*sNzOMc?5CSk*JbJA08rz`l^nLBHf{Sslb8JMwKN>+f6(j=X3C2f~Z~cVh<jlNw#w
zM+LC6!xQ~JgVQ+b*3)BG)(n<bFe6d7YC;Q}++X@<O<U8qJlCiPDYxES{j!P@tAFC0
zTpT1{d2c|Wa^+FYaElijO?*s_P7(5CZ>7bBqpk0YKa|TKTM$uf4OwTze{Jqz>sXGF
zt@fRt@T(ba)@M-b6d|EoEzA++24aevj@c?G>L~l*xio<po$UZMmIAp8LGyT_n|XNq
zRJB766*|vY&lCU-D+pb!kDhYeE=Hk7lV~3Xm@SyG^9`!;lbus;fg~d(dKP4qQWwQ~
zQ5G+kq9-IHCS8M`om3ue<+0@GaU1KSjm@)DRoImV;BfdDnf+ap;()MKi$d>8;3f+I
zWgxaMIThVfK{+N>)p-=gLqiqDCw(T@MW<qBfBp7vj@wexV+zb}u<$X%`zv{!%!TJZ
z7Ov1QbnO;W3G=OJ0LQZYzN_Iun(#HM6p|mgdP$(i;zLl+%>whEgxhwbzT2tVH%xyM
zrG2NkcmLu8{hN=&q^{q-8nK^$wT+uR)@(YnfI2^Iod0SgbZ=f`Ch+1<T5^2Xz|4Eq
zmrD1nI&WQ#cOMa$xUShArTnq<T<pzrfMU)E2FWp*w^p&gkHqz^y!PU_aiM9ThRZJ3
z_!>J*HoqG#chG+IE-$|9>Gzj^zx?`bGx@4Hgl>P<J|$Y>`|*R3ZoXJXk{3Bn{;)&v
z{C-C~$u`>a&1b<fuMqclH!7)79_@rpYg$N)H+9v4_475`j`$+gh$lu0u6iYML^Hd-
z@h1~|9f3BtOuv|Ze=!o67BNndd4H*BFf$sXSnqnbpS~mHTldA6ogK0N925HGZ`#Tq
ze-*&#W^StY*GNH+QPSy{ipE#9Z}KNOa<&_h3D2_8A2Gkxb|zGYKK6ruTqHL+OYcl|
z;c-5I^L|O~<F_`SKfKQSwIn+9&3kBBNV``{?1#cnzw2w|m!RH?_Cp1&#*HbC>*Xaf
z1~GBd0TYYqk2&d<PuEz0BNq{ndmC>hK0hk&-xzN^_O|xRvPv_4@<Q3tM!OnFQfObQ
z)Xzo?WizNq-))(5m77{{DE4415k1k{@b8+jU$6dq(|hJ>=t*6QYc0oqO~OJTq)d3X
z$G2C04;7)*>GpHG@$NxBZ~hg7OtojKJqxnCmwZ_Y4!)~>a^M>f;bjcm|8`TO-9BUe
z)i+N|HMKk+&7D{jO2`B{{kc4iERmw%&3u&G>)83PbmEN3uWtkeZ%%jsJzOo2@p66i
zg)?RU`CE&Sq3bt=vCi4-QD(_};y%%;4Pw$W*m`un=m<_HUOtVhDdYRh=oaSL-7GH-
z@<GO6Q3PB_intB=Q2XO=a~i&*Exh+X;BzzTXV7SSMuCidu4pfpxrk$gz+JcYZ3<{9
z#0bdU4yY{_wMpPOAF>+_rI0}voL&N+;_Sj80WusgQ5#!u+jyGwJu0O=|4oxfN7N@J
zqn_VUv2m*1KRU(R*c?+Le_Zrwep81&4~9NcD%cUI9k+G8$JW|J_${VhS3G(>W9?+n
z?D>dr!J1wF*@j`KC@pMWwd+p3X>#(dQyB?O7?@3~HJk2b>le7j7&$rvQ@|jBt3u*5
z#~H@p#hOL>L03vHWzo%wg#SL@p7{nFPG%8P>8@{l4Il8a7>)fhbG_C%{$6)ave<ae
zsOp?j9SSU4m(2a@o3(iBQi;p5Axp;6czrFaJ0sA&b*_#7?syl+#tSVi^<}A&#L3L<
z<g*CpFYHnZLW_3mPeD<jGLjU?@0pbejcHn+*W6qVLeOQ(xh~tvWThy_qi@c|gX6O1
zwKmB{7%^SkOc46KvOK2OaRjRv7HeFlGA<r%O}NgJN-t-UY08W<Rn)iEw-~~K^BJ2q
zjiEg2$w$m5EWkTeqJ41@8*Hv~6pGZ)XUGs3KsMt@5Ok>Tl}(H)qF1*n;rCn*@H?U|
zx30eDkRh^QrW5F+?fRhUNKX=JNAxRm14|!4v~OLUo47W|c3<2$@qW&xIx@Z@8i};c
zlF$<=XVyxS6q%dvb3}QQiw-%WSGT09i2b8n!AR*qA-+KMK$l??h@f~}rx2bY-(S=`
z=KM_a4)LrZO%B-YbeU;qo*h2TfrYNcoc!vTaS2pihj;#H6iNkad3;W;06KquVfHVU
z)t3MC1=rx0d#H#|-!^9+^7J>bz&juKw|HgeoAVa8{(}bnD*)07VJ-`>Mu?5ApZ*k{
zoSeLLUzvYYN7T2yt$s;bAD$8v5^Rf?4hceJEjWHeT(7UelI=n)uyghGJ>6Nm^>yNU
z3FAG{e?JayRn->+e;i&v*wmc)TKc@Ucd=br(fYkWlQ+os`sSq%dOr4gRKmV~-q%H_
zb3a9=UKyfUTB{_@%^}?5P$UxEeDa8SRc@#_iFJ#bB*7NY{Ea16s6eC3{S``k^jB_6
z(+oFHkk{ZUH%qXOG?L6QliX~{#y(Mqon8y6yif5+L8U4bMW5yDLU}8yR06LKc{Ou*
zuFPYux@*Xe86>!0FIO)Le(KSHOZc?pn@O1ru@C)dp|8lV&#v4#x5=Bc@rfh)wD%Xs
z>D4EN7xZI=i>#JW+IQPe9z7BFoMw8f_5|Fu5(w6Mf~dIaw(9P*T#ZJ8jd{f}pIx#_
zyqBj{%}wj=8PVsyCH@tM?>G!SZ~7047711zdse5IHwap3y38qrRrAx$DkhZ02JvF+
z%5$tIU|!1|jE`*3DnN_?>SCU|SI3K%(&PN5>~_lDTYEa?SWELPt;|7S@tf%z86W-_
zCi#8R<mGi3N$WCsx#THc^7Fk^x>U~#&g*MdnU};#IFhV$H?r%SA;oo;QHh5zQjm=@
ze?GiVOA(aQ9<*eIPN=wVsb#z8te}#8)2dv(hPfp=?(wNsR59sunyn?vsaj04LiH`!
zGm2~luy<95M`wKEZ+`$htJEF<B@Nc)h~v5F2yFd1vv4dN5;M)RkInkMl;wire4zeC
zD{@@JdiH6hJC`TjdS72M29M@J;34>M=ZI|4*j}?uqY7xw!Et)IX0-kqW;~pOr_Tiw
zMPK1wNKDcc6gf&nTFi}u_VALNo-AzA0<8FY1Z<-(j=S%;kbU<<*KIMiL6^?TumBOp
znC;O+s-m{oHmFD#lom_3Er>{fa8p8Iq2kk`xon)6UlTKPWM{S@pQqv})i1|l^Ws9q
zI^(TBRK){Ylmr<HV$!B(Oe@4`?sTe83Nshx$-)GH!-|ou!P&qg{YzD*zaqcqjA+=G
zNU(IXo`$%MH;T|guYss-U9xRCW2l;c&c~hEG6Uv|_e*q?e>-Yx-@?n)7VaE!boxZ8
zCKznKS70pH%x9zdL0n8v{t&LE`dJ9xF4=a<N7YTg17o3`87BsjIg-Wu^A#&IHm)wu
z>}xO$6p?x%&llY8ALMs=Ed5%-GS>Z$;v}Bgb5kW+QcLgjzRZb@BRz{A+~D&6h4?H5
zzL`$tZhisN{+o-R0pChcw_I8EsC7_SydcC=a87Epu5I`hd^mRQEm*&GHQOLtO$Ep(
z(-M`v^cO)4yTA3CK7VNUPq5aw+gE*Un5T)H_|LUB0ox%ZuE{>s2THFGVd*Ku8v!rb
zg%uJdd=L}tdIJo*cg@Z!Lgg*^`Sc%~Ai}?%v|fIleQcIhy1bbGO+EH9I-Z*@&QBcA
z-0|R~zL{|83thW@pCbIq<N50^OB96!@lSic*ZaOSy7KF<?a$BYhMM&a$VjjH|8&=`
zHKWOF1cT6ZU5zs+MbsjZe|XL@Oa-y!Jj^oBLAQ%J*(K_Fd71!H84bt`(l3AAhuALp
zZ63zf4HZgJrxFqI*EgRU%>kwu67mQIGX3D6>7t6m?MYqlqoq56+_gRhca)eRCP^ro
zg}IQ6)_g&1s|q0Yg29w%|ClidDq!Jon+3DMlzu%=_}V8u+$R{Mo^Z$91RM6u#^)UP
z{^5V8;J*UbJq7ncOa{gHq?2*=;os5ku4}1tUb#H<{0pq^)xXcQ$W3%Yx?zW4Lc#+u
z^tIa>-07O=niefts?FW@)yN0I0If#`VI}Nqf-vW2CGrY;^6lSD2UR@2UH8o+iz_jS
znVo&Wj>pbvvPsBX$Yx3=T<TU8&y!UbK3H+yUNC1w@BjPcwO`NmhD0?kZKKtbDeKG+
z%VdO%L=siHU7)=k2R?G<1~F}qSY=ySp#4X-9Yr>=Q1r|%?~F073PMgC7<dtAChyrs
z=Km7;gxb?E@x?PFrh>`quAWbEf7;6K)wXM+T-<EB*G+Hy3000#6)-x7ja@208F?fv
zgf(;9k)S#EIcMV}&(=7JIDyl!$B(XC-cq?-p7ujbZE3Qkly7Oqz3y-G)h{NDFzv`Z
zFJ~1$x0Arwk8DF?{&OP;y>}LmSwx=Zms|T6gJ8O6^m9-VusC8`c2bEn7sOR~#8FWG
z-i8dG@-sWC(3a`c$Otu%Ex6j0%Pm%4_DUP(uj;f-ie!sPamMs?NLq@?Q9A}!B)U0z
zKRzyjAjp%z?K<E;Wq7*>&gd4fyWZs@-L5|QV*Gzsopn8(CHy46ek=Hg-WWnD*_fJ%
zm|<bcWkVR@6mbyd8*6~Lss<tC^t5l0M73L;2n)uge9CVcw@)<BjU%=$gEiAOf;sGk
z$Sg$8PfA_p+*?G)qfy;Em)P+%Ne((9G?Sqa<UtT`hy8Vf#2FYRRlw<!3t&iIL415g
zU3mqphMFQvzW0OQ>S*In&98SSTQ1bHasGP^o4kgDllls5I#DmCgvAmSn@tjK%#|>v
zT27T3R6}B26y#x&5TS^TaGp~MP8WLcd|h!g7o*v?5wL$zsHz2=-b$>Zq6vFde%0Bw
zZP<7~BrkWg@=8!}0v)ECmDDLn5roc>_za^b*b*$No>@I=#W_#}-0%s{kO3~SGS&q7
zgqTaVlf$-T<`@_cD4h7_Fp-sGtji)V5rSYFC)UkE`Ii#k3GhW;9~6LQx$2D?Bs>ys
zSNcY`%jL@rP){t_C<E<Gb&|ejs>oPbG>+9N8N`(%ip-Qa!uJ}%dd$kY{MOYq(V=jw
zi7XfOn-WRfzf<~zWAE8nE%gFe*T6bEbaw)omPGmV)*dGbzwH{<PLU!9n_s3YXPS}O
zi}^aID1|uIR}3v!;NQ%CCVx%X%SG?!wY%&%oBLN(%-=@(OPnkjlXR36SqYiI7{-_|
zhp_^!SXM$glEw&2G%FBM$HvXNFu?gzZfCLn&$%+8@gFd!pz12j$3!}jU2h3qpB^bX
zOru<LSfdn>T?;s+kXS>!&+y}|l0PKc#w5|1D=v0pj(0RL_}|<*C93sC7GEycH7IZ;
z79XVj(nQ<u=>Cz=`#m<~Iqy#8>=`~3FfQkT)Ls7@&N)+=Yss12(Cen*rd_TzU#OqB
zIxqbL>}<Y!S`*bC967lpA$dFTx0va?Wh~vKj|o=i+Z%?R(PKBs(+ros3+>gS5++Wm
zJbzFj{l$-4nmbd%6MCjhyady0Pwl3wLAYvyZyp0Q&Q9tm5uBkXYs74Yx5$2&EnVeF
zWkD9ORv3|8>cx;h;XWvf)=R(-@hod7G*#e<;t%$BRRV~Xv<}h3eWzY(D24sfK%*Wg
zW?XnF`{{=AuWs-1W1+saEe&kEG_63VWiu6NvxSav{h9fX>F?+52Va=hu3Z}O@ixBC
zNDg7@$~J7KN+Y#;=;L;B_Wi#pxdhIIm9IoEXcC1XKg3|j%Jo$6{Pgy#(lXB8*Qs$j
z1KZwfG4qz!Jn3t)p;sA(o5}H-t@rDI4m$)I`s#t6@T@NId3*kL$ldQt!-rf&nOkBZ
zRgaDyR`A_i>zQSW4-H7)Q7HxpCkQXMyc2AE5x2CskRAAXeLjq94sTv1)ZF;0UALlT
zL9g*0x<*IRT$i<|IsI@4!MAgyQ8#QQ?w*kSS!-#mqS{M0-@;1%yeYp#L*?%M7$xC(
z-O)2|@!HR=E1^G(D$DLp3Sm^E9e*)7bVg|&o_E)I{&I;3!*86f)nl=xXVPK!m{s0t
zCB*-_eY%z!kA-=*21J*X_}!tt*>%WmGnaCC1OPsvq5f0aJo|HC>8ivm{=KzwDN)JP
zb4&%Wtf~5_;axek`6VY%@MHOhLKET8t*ITHGnb6^p)^C*Ef9U-yrOekxW*6#z}}FQ
z+9BGvmkbQx3dRV7SqCK{2}=8y3LQs*w%keF=GO;V1?i$=zJLcPYQ%z0myUk=wO3*3
zx<FluzIwb7Lo}xW+imr=4RAjXL<u=9{?%O~cP90bBc8eMleW7WT-6i;2351vD~P8^
z-i#7pr1Nt{x!?u_300#5u!z+G2+1UpOSa>H%gMuydq0`U!i8xVk&KW}4gyGYf2axF
zV3_-K@OC-Rbl`f^vZ37beu4#)2$S4Nz?)ZH&q{=kn>=PZQ4JSjrLPEOhWp_)=LcI;
zD}0r5-HAYvcFm&fc+hybgO7$c`-@I<nrY`Qi#$+`-)!SUBL{H`g^3&lhO+BldZI)z
z74(xvdz*EiY&^9Je+hb0U@BX@^)prO7kkK<u}DWy<^f8XoM4A!D>b6lSle?HVLr$S
zjhn(;D}%_>6I!fAs1B!chea+_Rk^n*|5D!mM8vzil<&03YP0T$J@!)-Jm$9l&N7#>
z$LC=2{J5(utZrfc;R08L*KN>2d!^yZ#pwoj&y+1!XZl&6sVp87NzErN-|U|BPN{v=
z^LR6YIDHuz+Wc&1clys>(bqTzNj@oKXUmxIum-QIyG^FP&j6(|yT9zSEAc|7@1Pk#
z$&B))^?LvLX{e{n+P&J<RoN%4P1v&XJiq2*6OSi5e3~*!S^DryXxodnVRZaUae3b5
z;aX#M)S_M9M;&?LvDt>|a8?oa;T-O2N$vKKs$_Nn77NY!j!teRCQm7)nu@#vAmHO?
zdXa^~M?UzT4m~3;zZJ_lQ1V4-5Z}t@xUX57_w3bg*Buv*V2<%4h9ax|ea`ni!Roir
zJ)A;%z{`r3-@_(=?I8};*Y6ZqW7#dgA-wtRZUv#kUUen<3fm0{s2T7ZIVxmXcXVDV
zV@dJox}lGIs9>+?zZWwFQlt<^)(+o{-e2lY6ELDPKAK5sb&^P5FmN&!F<g3?V8O?+
zp7X6#LoV~DaiNLIE63YihqL%RLj}2s1+nU4We#?19`sIF)V&xfK;s=op<B&|`*!IK
zx*b_He}2x4eF(4aM&|cTos8cTeILI#fKw4An}*fjGY7!zD^7|w^urGZV!bxLNOe+$
z3OF(v0NvgaM_(llggPuqnm+XwtnU@d*Bfv$@9W$ZZ}aI>eT-V13b;B|Rmq)qRsGI3
zZcaotCNkPDY-<mvjYg<)tHlesN+7NGO3B_+sozuX2+gwi`;qG|d~mNFJ`2i_O3uIa
zozccdpL_cL_VnGl+rN13>~6W%=~1yrVT1<3O#)<{-4+Bxns`oFUsQVBgjee833O9d
zjNfv%+~HxpI&43?qOOqVc;A50RAK8=OGm20{zA8=>6&8hmfsHye|VW7dh}=7uu#u{
zI;Z0lgf68Q?Ov5Rwn&H{i7C0~ZP3cVlP;L^*1hNbH#_tE=dOnL-^wmEh(XQWDN(dj
zRc(t+**mok8n*~}rK96)U;Og<0{w5f1HK1YPb`|DolePFZg-G7x#N?menmqJekK}G
z@INZgU(5`4h_C}a$jYsLnzrGyO!WJGYCEvgaHenAV|TW#KO%LbW$Rb~gJQ70jBK5?
zjZCnm^uSAwG}LE?nk>ponbY~p#p-JXoXsj8+Ke}qc!o_K4c^CEuznMYE%){}4mAj_
z%R55{GB>!o0YvWhs(#ywW`!7dvG8^pWX^!g+f^{R`8FiuHv$Y4O1AX$6U?#X#hbGT
z#}?=c0VoRZhx0lW2dajqm1BeKKeISoGJI7lxpT);K@1jHK0#OU{5d|{R@@g+sYCX3
z6__ungyh_k?NIVqw*hFM$KV1%L&e##MjOwKysbBGBsKp*mRo8b_Ka$0(|7uDrHXW7
z7iymT`1WQ(X0NKzKzQ=lMGY$Ng)p1<wtc+uUXwA=sIq4#b>9VrNmU%a!#n=Tuk?i#
z-m3_{t`bpLMtN~y2E7AQmfe(Z$t?I{K$!)VDHT|C=ZZvyE!$bTUiCQ2ZS+X>X?HI|
z2jjmL_DPsVu#-B@W+ecvckIwZ`1wHtJ~Tbkus;OakC+K{mPLVu+P^yV@AB3J+GrJ@
zx1FsWU7=KU?{!QVtTU*sZu4-K_qb)Gu%_5(5^amM7s1?u*5oZ6sStfyy{fgme!q$1
zj%n8HO~IPd?%5@UgY5mi$o+4#Kwsov<xcQrVGH!#2-6Ezl-)bP^39k)?N=r6^7`*v
z&yuHFrk6QQLdM~>w8H`Lm;%&AAks(7n6<)=oTCA7a+0Kfx11ax{ESEU)qBTPSJoPC
zy?7-{G!gx=uZfw@MF?#8N<FM^>FP>s&v)n4P984geA}qy$85SSlT%o5Y!#sUS06F0
ze{)m7_}9U6RRKG+y(~u9MvzAU8(nd`(dw6G)pa3!PQ=lRy@YUEMVP;~8!Ar3y`<&7
zcWPG%Opm~4;wI~Ux9q9I8^F1rm*V!jI*ccYs9;H9b2fMyk6)#UO=oK1AfJ2roI^bf
z&I|)wjBxKsX)F=pC5=7zyk__KX4xw~RQhBrtBcg4>u+vfJz~660Q7&OK<2@WNH^Y-
z)XHK_aX_MlUp5V`_3uuYDQMi{vr+OT(58?uWc?rckGIu?f8@);vG|)_25!=n8W(B-
zn&ofQ&`K=}B{e$XQhDH|`M01PwwY5DQgxbLU_9MiK{V~NLX~+HD_!`_9E<|7llhS;
zs~pl-hK?pD!<WgJ#Zc3tDS^rG^fgN)pNOQ>skep3C9xv}5FYf&_`p?-Bb*!0B`A^`
z<|ojf#s-L*9%&tkW%7FrgQfso<%tII)7xWSrIO`mSAZB_m=*IEr5K*L^mTr`CCEh`
zLYhP*m-gl;ZA*^TC;NB20Jv2X@Sc*O)=S`-4(UDtj~E|SX7XH<*AL0vBxTg_@E7Br
zdehWKLbM)La;8NN!=|d>;0Z|d%wQ1KJ>0+br`CgoAp>Ih(SmE<(!Wn7K{Au-X^h0N
z+7pxM#h766@p&1dK|%>&aP;d}{-Eu41N8m+#?RxD32Mq}_LU)ftSTqp$9`iZLVx_l
zF;TgwGewG|$#S#R-{rz0KaRK>%a(Sv4Q^n(tIgS2mUX%0uB7Z9m7&plWP~)>={ikE
zFS^Jiu8Erm3<ooA?u!-i6Axz`FJ^(O+NOzv)2`+{D{g@-{@xJWTh8pWLPBrf9yA#+
z*1g#O@Y<(ZdZd_%x*i09zI?XQdB`K&eAe)^?yT<8zJgyk@%-<}3cmZUVor)0n{d@l
zP!U&PfeX4#)Os{cxHb-GipsC`9xkW*f#le`>I+}YWgK3S(iau=pLSyP0TXg8t<cQ$
zDsQ3FLIHldbVa1qu5K?%3Z`vBwvbf8u4ob79RVOv5AVm*LFlSs#fy3xmqq&1;XvVr
zO~rK)Q7b}u8a742&DRdjmchuv!pmA{<I&Y8a=&=)HIw{v;xzA*m|#c=3Ou_a{5Xwp
zQZu^|V9ZKHFXyt#BzKDim&bGa+<cGq&-!qFh&@XZcO|H>3^z_F%zX{FsjV@XKGt4M
zcFXV;x9?dPJ+dx(PLkk*1C$2gvim$d(SjWkOE9t}b$e=Y=N5BUXnzn_zW-P4Gfw&Z
z_Ak!U#ko1wNW+&gA6_xVU&=y9gSp97<*@8$ShrO#2|kn<pymlIBhP5qkz1)hrV^e)
zSJh8izCBk0d3$;5#X&Zafgf<;@`fO$iv~<;6o>_ZRgC3a`+isGh_i7Oq>LJcB|OIH
zT2~(wZjZ{Q&Jq|c2El)^3AixqYCR{^wQ1moS=*_|`^4jcLsqEk+p%Twl;X*kFh`2?
z=pCIjfzRd1&htm}JZN;9_5;Tdp{J@8&}X;ocZ?s+pCwccW-F|Z=_>7*cE~QLBL}V%
zZ%qrn$Fs&T<-Tn7^a%|WT?q)O9%t)EVuWDC2T8wO)IiQHqJ4KBDz5J$MB|-Wwgn8|
z2psfNPJ)wIdI|n01g0V_op`3DY4c3X$rj3ALKK!9tE7=>P4S(jZ~<dI&A}oG)!qAy
zVeKy(pNFvw^f!lP3=mg<Ic`<&j^AOj0+kFJ<}Z3tQ^$U@a97>7$xu&kHl@Q!br}na
zT*4j)_Ph(C^Bb3pDT;@r_()x$J`Ekwb~(Lum(d`##euNY@5{<)7DD*rCe=un1DmGD
z2#UZw`LTlRXp1Ixn6_A24pxGLT!QC9&BoK4!m-h_>|z}tb`W~!p)kq<bo|6<I$A^5
zD_YQs+aMQ^D@|w2%MMGTaFz48u$t=`$5JkLWBxdA--vDbUCjvI&C$1r3OH0ppG(EM
z!ego>hAh0;Tg(Qg1(s>8wdMb&#!o@x=jyTLlA^AZ=GZURlIvt&-|NF0P1)h2l;YfZ
zDoZ&QWrcxf-pTm}A_N8=VDk{t?6AA64EeoNOu<&^k`_pcm@KDB(t$)Kik~^AfWcFH
zwVL5|1$cVa0?k9HMcgt#W>68tOe#hi&ywuMkQ^GPQ9VJgz``_`!`6o{DrbRVq7q$V
zA=~#HfcwW#XpxJ^@6opx!9HBv)FVhD@fI<OeluonF*!pgHz+#yAmbQk)bi+xI`TiQ
z)=%ACdMyW^%4ow?%u+KFZuzWDWRskTQkF9;G)vS1MnL8o_Yz$mMH%po@SE!`e>6qn
z;(2DPee?;s-S-G7fXx&D_&>hDo%dn}3QPZq0X!NQ^Mn?1B|iyv$YX(6!uI`Eph&cI
zYl*o;th$!fXWy_=(e3N+MBc?T|Emwbc8l#7<$39-NPsuf?`Ee&eSe!bf<d2lv-0b8
zksA%JwB2F=yV-}?D@mo#P$$D8srDML>Sz4EP|EXE#+z@O+z))BVM3qU?S3-cI4>M)
z@4|{doslchZX=$2t%z_kB6phAt5j2$wmfdxdA6~k>&lZI<i@1lmM#sSj3{c;JNP(l
ziH6VRUvhSE78QWa>Jy9`>I^U|H<M1#%uvdd$tX!1@`vv+>?o$jt13JY?aJyc)V1QS
z;Zf8ZUnt&1Z5pgh?X)UvM6JX=X>5F{ZSI(u?CnGgGI^)oD;lvPY6|5R(GteE1S<(U
zhJ}R*RvOtW*sJjC3bBQ=l}d1iW#3=vY5QRo8`(-DSWGel3x2lB&(1nCTJcy&$YT4z
zdd{&%+_E%lcE~)h87x4_ro|%<<`y4*Gv#_^&!pDEmR9KAv&t9jF*~%o8gROd7=S@j
zMS_)xqc<B=)9e$|U0QciXVV0((4^o|d`7{He4>5VoQix(b-mndTv`*a`4Wz$+>n%L
z4`ia>l;jj!;j>H|Sl*6oo^=H_i&k~pM`7^!UKfpWIEK1|5G)7IejAXZcCGh-hvD(%
z+RpUS^oqkN4aE*~qtcJI*#>eNik4t$9xHRq-&oza`K;s1b-!NS!+yVzrZM)T9mQE$
zIh8xqdWTuIm&h>ue=&bPd!0c<Z|g7@iRoyw350=b!SO^Ym5ks%?vu2GlHpY-YE}F<
zXMa#Q!jN=3*?e+(hYpa7mds%X6=80?Wu_BB&C(n5q#LJY=!}`gQVsGFG0h-eH0VDG
z{uAy<ACb}^m3BLsAKAY;9@p49KjX}P_%NGm>9>yhO}7~cH*LYhFq^3WW)d7x>tb`P
z%v9umscO2#RGFS^>0{~x)^9;rA+oyQox<bYiW)fN3QLQdiGe2P>%^F0I=2jvF$)>R
zGgni9<f01HNnC*ZiYW+b4!8)tsbpEss{77lRd^eZf&v4cf<K1^7}HNCgBvR$bzk38
zNDN%CcqA(W#>1c*EaApLUsG`#e?N)q1|po>e*TWQ5IZ_m&KlSYuNMSQiL@2Wb*Z7G
zB%BPc)+aU)H`13OcR2m-GY^Y#j;QDCC~`?{oorumDpacO{PFHE{_^n5U#Ck<ON=^u
zAQ7%Jt_rI5d;eArzz{OB%5)erqrixRyihD;%SIHYD7o+j3M7#OX=F*DOKsI44sD1`
z@N<QLFYH&7!rU~+p=mnY74Fyng=KB5{5p~HiYrZ%;mUc!hpwtF%@byqO7|F=xy14$
zoR<?+2Ppqafn#d#l^CRjEDTJFNZDS*F7>|(Md2rYr<DE=eC*v(7pmjIV%Vh5Viun5
zQ8n*&3-s6sd`+u{97DROgzRnDY6+&uh8<?p63Q_M2R2f=u0Z2u<wC}T6f7~5IJPVT
zu4Q%*Hd_H<x&*q1#pyhs3cI|pL-#f!x&l5%6)6#x(jXA7qO>KJnyygeK(GtV9i03^
z-t><t)mgVnl#Am511;ylpOo0tm22L{g-#5WX6yEf221Isv`Bty#iAfx&Y`L$JE7p_
z0ptDazdvbAUzKE=KF*jU{lmC?lv$3NP>pR!y?fpOTV<Z#kel-ioV9wR;jVhsoGYQs
z^NZD(^b(SjYC`pJ>Q3GeQ{hpGSf2uxn7;IVvoE;UZty9<jVE|ivPNZUA$K?tPYs`8
zXx43gX?>}4%PE=5bu#{Hot$C_5V}wP=;rXO^-Ij45eLYcMCZ$_yMr}Tw^EQ&xQqGS
ztMI~rMaTsz;os;kl@&-=Q>&-}G7mZo_i6csD*3shG(H}Hsw?AR1`adnF*cgDZ<<yB
z*L6i!ue4y)Id*3uEoj!hga33y?z{7Rp!`a%6MD!6_VGvOOh=fBlUYerDut|z5}*3i
zDXAQ`LRG?CF`U$iTKD|#8^Zeb9_0}$8Y@T-U<b`X;!K#ha5r{J*eZ&n+i;$9e{B_R
z5J3gk8e+l9hB!Bu^o{(&4flsl97%XS?m|!qysn^{5%UW;yk5Kvzu@{|l7e0pF3vSx
zl5$$5ae2lh6k}?gL<K8REF%FT-nI>;fJhWj0WnURV$UEcDSo`FVhLyFHiAnaF7X!(
zD<srQ$FE>4ubqCqK3C2vIqa9o`$*r@lm(v&GmgVZ9dHijKHC4>7=3Kq1$tyAV8H;-
zlD2>Yxbk=&)R9KFjU(e?aw&rJtQZyqh78jd5ZxT*h8$13RcOdMROV1r`xKS1V@x6;
z?$=8CpmsF{j~Ug{f3*2eLHMrJw|$A}xkQCm-*E1879hEJ+EvE>Z^1rv$p!P&XD~zT
zff|4%WXW&)ee`rTXj~VQO{nBbA!gf&6+$I4Tti($B-CRqR}}WNC48A5abt0L3mGlt
zopj|la|MJ}BtZb)eee<=WhUta=^<#37fUvh$YZm;66eK2aid-eZT88_q0Y-wB5v=D
z3se3_uwSXJ7ma9Xc6oJ>0vMExo1v(r9<JE~IVTTy>}*qRD?Wa6ek6hcGNE-DER6lu
z_g9xl^YEZ4UdNetq8P2j*B@e!GQ7X_7i2KaPcyS*Y@%MEDGwHlAJ=TEZS=W~F#6sG
zZ*;VO0Ja@DU+>|J<w9ZYU6qhDDN^6_g!Pm)6E4o4nR)rwcWI!Vlb1}Faq)~pJV$>Z
z1h{z&&+19;Ku&y44Xc=#H2ahUqKpolU`fYwxeIT`hA;pn0RLnJag;uOz15e7F*cV*
z0^E>XVh{u@#*>9XTAGJS(x<R;fs!P0B>}7w_T~CU*5!O|ZqgPGU0mTAbT>|v(rqYF
zk^cvJK!v|I)<}iP7YNmpuXN}_XF*LAIUsH{cK!R|TR1txmQWmoaFRB~LlE=_a>N?a
zxfJX<lqeWh0tPpvf1pL`BH*w3JLOH%G^HpS4W38p)$bJy0Q8`rmjR<Ma<65<1I?l7
z+n<xD$NF8UB!tAc3jzU`R~JA-o}Ca5V17PSf%8b=z=k1+2Pe!F&`~Kukkpk(3PA@x
zumtg_A>)-OUoW2sW)1=4LK45MqJs~WMQ0(EgHDy~Nk$|JAf$mN2#6+<2$%*^Rfp_M
zWlYKTWNBEFxF!6ZS=bwjmJJ9ifI3df2<S2fm{TyUNR*)v(@L2<g!T4G6jYQDkOmJE
z(*i(e06s_L%5y|Ff}fgEag^BLBz2h}01s&=1LFa{1P|gLzX^xD9}qB<f=CcTz!01U
z0Me;IRFDM-LjWvDBM^BNx)s7F`Q1rrr~J4T;Q{N4LYhS?g+JHPjKSkGfgW?}Aq<2L
zvA8F!j<8$jn_~~O!wvWeaG;KGVZ+~<uG#1d2S8xJ7thy^kVDXil$`8>H(dC--5jrJ
z7F;h<2e27N7L<h{V4^o5J8pFjxJPB!2&E*bD2hU;03c0I=7fn9KTvKtnc!odKm^X?
z-R+KwuHUPJLf5^Zq91Xs=;Y1qhCDhrvQNPud^NxdsPt9suMWltAK`>1B+72y10F2p
z3%-~c!+Evbp^8yBSvVv1CS_d}L^L$GWdj?&Euw*dVhu3&Q8dssLV4p6GDJ;O1@mCY
z`_Sb{RJ5fbGSU+udBcTAsTn6QA8Y;@f*T2^ydd!lgb4CggXE8r5H%$X!OY!({!2hX
zi8Ky{Pf8m?c{J&OfQTw0V3G*6nC1o#<Om1#r<>X*aXsnd<U@i90QyvseiAu=h+<+!
zk_#91DvnOz^nemW!1Z!oK%w)3e^#-ZV--Ye4C4Oh;o;-vrl<%aB%q=iW?Wb;h}^Br
zcT2TWAYU<IPg+@oJ0KFm6avXA(5Xd1ey?2=XvC*(H=|?(Ngz<wCA6CaGgE`J0Rte3
zDmdej536niN(KTOAYf%>Mgf9|X$7dMCY1>T2D^-63&g4A_8-O~^lu%x#`}{go;X7!
zERsYK2t}26ztK{&g_I$oQ;*IDE_Fl2Kq@*NgB+w7_=E8FcY35pf?BV+gy{D@p29-}
z$kb=k`5+)Cm=G}~_Di@Hh$Q#{cLe&wuKTF%#18lTSq%1MO&-ZI5a*gkAYZT(1xTC@
z5DkZd!31prX@K}a>_Ffz(1q-Qpab^)9t1ELAZt^&$Dsc>4-%mqFkf2<fW_eQ1{K>Q
zx%J3uWD|CP@7yg3Aqguo|0j$018)p<P`k*7ppU`^5iI;o{QBeY{HC;NtXS0>6RP`e
z=XCdI`d~Wc(JVNFz`9<}9Kl1Twb9%$gQuiBd@b3il9$&O;F<y?lSq0JfIJd3*eIfW
z4gs4GgregIDv=|?WJ)GjQO9q1B2fiR93b8%Hrk{IVnjO*DF#1o(u71vP^TZ&H{Bl!
zyaUmZ3}k?%(h^~m415oW2gU`8f_`}@b@RqfHbFoS7(_(S0#c&TAW(wU0yKk4Dkp*v
z1|S1a%2K3$5Lb8OSUCsu98Htk)$SafXv}8!T1aTO5w?<L9FUYlk{*cwG6Fv&(y<zX
zb_fp1!HGzTnwCjqiUO4&U_Ka_^$*KGB<>Us)rScwQ_*BJKx@duIvyp9+?FOVY-g~}
z=GTUuRUV$}DL29aaFK^0(&*|HXjqmVfbZe0A=S>d2B|=%6*ooE2MjwkXyF0yNT}BU
zNIgsg_$T$H^vn&XPl4=q#1RiKd<;@H4Kvy4P8lMinxfG=06;)&rV0uU*oKOtNRUD*
zh=QP%=GfSzOYwS8>NWA}^TFAn4jzTbbi9IQp(KQ)2B$d2$muF1ppPoXmorrf64V;b
zAl0QEFh@&-ake3ge5`EZXc(wcI|_~=K*?A)iIQqm?*bcY0*#ygW>~Pt%lP;Q*QRuS
zj=BuY4Fyu95&<8n2yn3jP^!rSAqYrF!wSkWvK&Q_#00?zKv;S~>k9A)A3+4E3(vdy
zBP_!VN$o)$zlJ{_K$s<wc*-gM0!5`dh;ez!F*A%Eo`(6mbpbqZh;(H_1@b}xm3}=1
z?U89zGWTFWz$osN_xkX-<0nFB9V$?vr%Gr75Y6S+{0}KJ0jJPDTDvtDsKJK@0>~)5
zR5{=sDncEJ(=Rb@k(jc{*<x;8cpY2hw#LXBo8;V0AB7-pMidDlR{|Cgw;PHq0w$n%
zNCV*rJ#eAdDVQ-J;s9Pz%YG0%MKGqaKM<!&hk|hftpU*m@kegM<=X%pBo9P2plK7@
z1MHJeS)V3bq^F<_14w8}&>u2T#JU9bhw`xbkJXSLjsf$*iSg}&7A{pG)T*ACN(xj#
zJLFJIc)-H)0#A_>Rs{Q+CYk>(kw@nl|4$Ww`e=zK>aqUZz#raRpsOP++K?PG02_vN
zGHOps!P3hqqz^*Kp&`jDWCI7ulM*n6`_N>nfPhr5Sul~Lcg{?Guwf9T041e~gjtp$
zRG$xU$Z-d4Y`<9n@RjgEiC_pAB>-X(4<s=VN=gwlB#Z>Wu>tl%7$9O3TF0#P1wV=m
zdzgA3MHdnWjXskOgWIm>*OsF}jpP>r!3{n$<?2(!^T&fn6jkR3@JDluRA3}9Bqf?t
z1&Iu)jC%bZW{xfbkd7ek90BZX1r&~&M-qil7hs*C^CA8Z$R9ZKR`ne;ooI+gfuO)_
z&}JX9#Kq)!QOwLlbR=H*GQ2lh>v@ZA;gzZt(}*LuR8&Lwfu)7cSZ!QUFghg>3=kv<
z6A)4-76lO!ejvfpdhmBr;XJ@OxRTX*gu-`Z<f>+1AowW&Cxi!FUqi7FLxNu!Ua3xm
zc$G+$_f9hTMZO(6nhJ7Vzg`ZQ)RTc^A(9mNa4H_N_G#-B`}+qRIqf<^Y7GGaB@n?g
z(m4G`9=Rm&=rll-u6zDY4i|_X33O}3&|pJG(jOz3K$udYf&!r+LTUk~h$x40a44@L
zVGKZnEJ2_<85H|c3<2gL5%Y|ooOqI)5G4wvG9*BSDKdyeD2xylK}8`%z_AcYs8Wfh
zA0T8izs0}KtEQZF<GZ*Fe7lC1E5XW#&6F_#;}3*nj41y=D*%)QD$5H%WJLV;sK_3T
zljYo-z(3`lAjt3?_5<#mqo2vw{5&;E9$3P@$Xr4JN2>x9keKlWy9SPoa|8uolVa!Y
zh@T?(-dtj7nrMm)baxOy`x2p%6G=r=Lrn_R4KxT*Owv(AKve?3s}O{UGL#5%ed~yT
zh@?c!0YLi`p?;tPW@h<LS3XDIkI(r<I-0Z(+Y)IZ?N@uEP`^OJuKdIxIOA>-wIk`4
zdSukm-OapFxVSS$*{s&vn{2<Qb)}{@7R<tIxX+i$cm3PX%iB+mSefW%kDO9Pco8`>
z({zR*ki|E|K@eRq58`7rlTM?i6conk&vz7XyLm@(?ESp1)x0;%)KD90kqIb$Q@N1a
zE%a0<8Kk%*jqxju$#Z5-0@!8YnA*5A{^s)ui5yWIVjCTrnZb4P-B#a2Ty>wa2U}w>
zW}4I|Y&o(jNsxCH@`P)D<ur}5qfF+GDf$FqpszFr6ts0!ZpLs)$a@e`;d4ZZ7iV&M
zxvq6(GD<FN$~%awwbp8c+QKio?GeD!Lx+}oS}divLptK!!<H;mz--eYk~YFS8>v}5
zt=(>oQ#Q{s4VA}&&<=*!w1W+XvzxTBvJkl8+Ul9ZD99@5QwA`2Ne><7wY_L;sWURt
zs>ZIMNl6s_jtsbUkm-@NTj0!fAcPh7UE6V`j5Kd#;ZO~p23kuQm1R>n$sP_Xlr;EB
zX7xqnW61!_QQ=V0Lv{=>;<Q<MVH=5s+%#M@ZU>ESm@{Bht;SSpZ+Vu;$H>%sM)z$d
z3Ti4$6OkKXWvMPvd|qHc(p*Yh^OKjvl5L5MDZU^Val2-~wNE0YcLJ$Kn`5&Irx^-q
z6Hjl4K`FM#tD3UxsF?xn-3hbR5|;*otY8LN3ce3HeW5hkClMr5^$Cx-{<_1SjjAg_
zl>p^jO`1E^vZ>j|m#}lH1C}j<`&E0$%Y;j_DSS9r+K$E=(d*EAajJcb5*?3M1t+&B
zH&{ucKQX(drc=|^c-+@ljEtneV+$(BNt^rY3`NCX!B`=d7kh$mBJRp}mai@MHz^fi
z$0Kux84^$5m50^L!iQc^<0PV|%dy?p)<a#n3b)1`i&om8j&yQL29#m#SiJW=YZ=}4
z+L5Tr3bHVcP}+?JF^r9jp|Q9-s&zzt{x91l5wqJijjL@NX^V&`Fzv{*U7aqu-|!IW
zn90Cnu@Ge<cgtEg)f_s2nSw7M+XdJ#7@7gwjIxl9DyU-pu?J!t^14?OYs!!Wj*w1J
zG@*49sAQc0nY1)$65V7VFo9$c(e?l_*uLg6e&#ork+Nc5O`$@Gx=j7kuVXOhQC$;0
zB1KA_F>_Q^jA{&SDm+<|>{fe6`3tnWFY_RtX+Vgk0E$#f6oO<*5TJmBAqGsRM*Vw2
z4+TT)2mt#aLWH7+))C23G(m_4l_{mA{|R$X6VvMgf{F-&VkQY179@s{DJGy`ni_<Z
zCWfX`iYO>qBBClHqADSY2tsCsXoQv`fQpD|n5jalqN$`=kf11Fh*?S|U`7ZOq?QRK
zB88@!DWq6|iYb<aftZCBD1l}bf?8pLf(RH`mY|`CAedGp3Ka>7B#04`q)~|hp^>B{
zR7w#Dn287|S_l{_CI~4hieezBhNuaKSO$VbglQB=s3}@OB57Kfhyh6vP#^UAaOH#p
z2py^dY$?+%3y?dW&(y#iQ0rdFw<ZAJxjpAkvr`}UJw7aypC_|+PLE-O<pELs5+Vx(
zf-d+K<Y+u4_m}3tX`NJ0N+=%=?11WbV0!dERhB9RVLqTv01v7GO=U_m03?#2f3n6Y
zkY<8l9-t^<DJmdZDwIeesf39on!Y#<BUFGCi$FCHgEBM<B?0`QsGy28nU(!R{5xn(
zElLGS6sZ(R6cj;1#El}UP(qB;DioBXN(>TE1zN!+hCuU3nngKaF&Y47MXbWgq^a%C
za4rc1CJIoHFl@sxOkl<Y)R5v7qMAaGrCLQPNQEg9k%&}@LqK4R65tsMB3O|hqxc@|
z|F{&?Asq)3hB8KpQ~v&P_%%rrB}9`G14sexlCuO~{pQL4=KkfHC-Ch8Hp+eJVAy?n
z)8l7JxEAQ4V1J92LC9Bc_u)3v0z(8)(oj&b4JiJ9o9ho(&|ocg)=t0san?_p{^^Id
z1FayP=8&4Rg`Z~MyfO#Vuo8z0d53!d<?H?*wayz;f>t(qg$Bl@1X8IistlpEYeAqi
zgv+S06cmLUW{N2$3W=#=17*z-F;OvC#u%WcqJoPtwhcDTA&QDL8X5{BDyU5%q5@+M
zDj3A9%QGZWI3dg;L`Acph?bh5iKwVQWS@t}cq!^jSTs!qRa8?^6%<V=n0<;lHUMdw
z5TIg&Dj-s+C^pMQ0T3%lw9iS+G(iOkNo}_r7=)vvMyZy9WC;H(#>taB1nVP>3|nJt
ztr{ya0Am6%Y9M6ibf-wba29wf+jlpzZM0|K*&tn}Ue^ifdOjoiZn<dL>-^~RQCNbT
z)Mr4fKS&+*=MZXxCWC!=-nK2e?y1Jg^|`RR9Wx~W(uswVP?-e+8VKH>+VkuEzFtyN
z2Bles8qnV#^jGLb)e8x)Gk&B=zmmAG`iy_+jc|XVAFtR+B0uvpzZLvqf_Cw#3^y>`
zhDnYiv=cDWItnF7l8Ra)hCeJLN*YLjp(#q1DAJUu>C&Y-4J<_zL_`MBrAQ48Fi0At
zKPO=;n)9tCK}l6oOnLk@4;Y5YP6<;*0WtwYNajGwJrtl~K@P85z79L|e_MyUDX3d4
z8UubhNCE$1!0Y-ffe-(fpsbTAteByIYJ*C%fB*mg|NsC0|NsC0|NsC0|No?jaUup|
z5O9PJn}7+Fgd{PG&hg&wySVqPotmw(CEt1N_ultv`?Uo=KKmWEYSEV4J$&|o_lFq0
zbout)?d)Fbw=3tn#rJg{Zr=Od-*<Dj-jfpVTG;1sZg<<g9ld?qo3rRUXWee>6>jat
zJ>-B6iMGCu_j`_MZ1{DSJ$CnW`!aWSlyR9#r8&Ni@h5om$7j1uYX#!CQ?2qfrj4x8
z?Debc^?a_~?Ae2-ML7H3^PAr9JFEa6mGl}KR@fS?0iYTHrn&3ek0U0EI(NL+KK6IC
z^V?f(nR~_T2hM%)-a6Iosc*fnE7cs2eQ$XbW8Lq43BLQEeA_+O*!t?eebemKdF8%0
z&im`V?cR&Jt+u*+Ey46Y_ny2(F7@v46gdF*Yr|^$=NG=+>FcLA&wIYl8{5~j;r8l!
z50&=xP_I$<-siC!UC*Jehqrd30DbPx+XGj8?Y;M&`w;*Vdv|%Tq^QpB&g|l*+o6R6
zwyTyKLR)CbP#lkK6Qe2CN~gC+y5C=WecEpWcWZsv13=V@eFrY6$pb(Q04YI5Mvk1(
zpL@At_g_A@-QFwb*bhGO$32SWB7olR`S*KJ?DKM#;^^Cu1GjhAD|Eh7YqUODowkDZ
zP$RCn)<wH^w|TmOpJ%Do4Bv9Sy~EJ^?^oV?>{Z)mcW-^Z?)l$feNEh;&@}Gu0CZ3S
zwlGPdn!sAD7t0>?Ziyrfdobvr^Hu;*P#-n{M3e*A!`{Bux7uI;4ff^MqrUsS^;JAv
z_Z>UBbM3ZU+grPm(Ap>zI@N1EZ*3(NUY!no_Z=t&>6JiTgO`0fgS%V1-+i*a$1i27
zZ>{e4bXHF9cTMbcYp#0AkVPIl&sRG4mpt{n_b+>$?aN)dk9<2|HOdb_9rNv~MQ|T?
z&>wtQ>hHbv*&km|y=v*{E8}RQx^CY$a5liCoo{HJc=z2veeaHP?{50q!pOny+(j?D
zedAB2#M@o<RNF)8ZO-?fXEW`uv&-*yUA@}!X}z#s_outh9gdxQ-QCkZ%)K6*?!No)
zy7}*YzC7pMd=GcCIlb#8=h(Nf)po(}uT=QoP6yAvZK~?^Gjm^C-a9#cdy{$By|tfT
zH20qK*RTPerfs;z+H|vZjqbkr_rBvTZ>wwF?|8l4a=qK;&?nyu6K(f+xm%!n!6aZQ
zUYi}yZ#Yw-l@NsiBIr*VY~|g)_C2%}Ph@+}`|56Nr^~x?i1V4FyL)}K?LziZ7u&r&
zF2vZIYc^0;w8f8mcAn(3K&aY`_ul8!-&wHx<@M#+=z1l&yL?_8t&OKSy_qxJ?S1c@
zeD3=ScWtz7p|3|IExzAF&7Vx{cXQ+izO$t@wZ6UWUWoR4;XXIV%1@`?KFz3Sc%p#P
z<9FEKHb5YH%?Hj8ciq!~`uk&ceVebmdJcU1quhJD?Z?yGZRc+HOV4VB7QJV@^S#To
zn)kl@UJxHl?RuTH-g|AfwrRT1c3MiQV6$I$3NL0+4?F9wdc)VHceobpb=F;619cX<
zcE=B91Kw(GLMbKF0_>(Jk#=i$bXPkr=s9Vm<yZg!7VO)XW~hQIw_f&m^7pmND;ely
z9krV>Y)odUzVE)+KApDBX>`jzx4U3G$lieTbCW!`POb?C_S5fu?{m9rg6Z||JDzs4
zJ-GJjd3#>&y)Z3yv!8jdcr9wXTNl0Wf+~HQpL^RzBud|R*}Y4i;j=yCx`lg=?HWDz
zN79mgecdgyJ+}MZ-yWJ2@13!4yBe|6wQZOR%&Z;O000lQ*O_};L7qx(-P$#aW^0=n
zcGtKtaexDCL@clX^Z)=I<<<Awcck{dsy=p(n$>W2wlUQ#+u71i^Rto@J@9?E-#%f4
ze43z;003Pz0ItVbcT+y^cJ->D0H*r)u(QZGIoobZP%iC@vqp8TtOClmxePk&+mjj9
zC^54c-Hu)9>qWesrKR^f?>UzFuJ=i2rrV<c>@wCwwXNN$bFSxlH(+g^j*!uU#<k3~
zV@FJZyA%ZpT*Fim?#eg-0JbL9miM!}SRSrMmfFOk6ca@a8w_o8cE?9sHf$?qX^7a9
zyAe3?>Uiz!s3=>ziy_<Zd$h*0F`s<%-+KFyuf2vK01vhjU1=&oOLuWRfC{H<(`}QX
zooLl=xp8Tro4T%O?Llme+RcS%EZtrQ&>uLVss&V9^gEagP?y--nv3jYzODCbuH$r<
zw>9?pz3cADJ+J|`aBXGUJ>y+1ymrl3HwQphY8$m;sl%pOXLjuCfo-+m^t5;ebE=@0
zTWT^}6B;3tN2g`Zy?fhW<z4Q1?M3aNSY5%lJB#lb*@{-o*S^324SU_xXJAyccHGNi
z;9b>*fHY}CG_t6oX<Dibj=Ce1+R@h*-S!Q7SJ!rJWwL7dV;6O!b?s-nBze}W?&;It
zeY8+C-yS{yTj{HcRW{a{MKmq$I_xDhfdCKzGyp&VnHm6@00L+eO{uBsY^d;zDeY2z
z)Kkcf02u)FGBom!3JFaD2to)1WSS$$8cj7Zl4QhBQh6t)lSZDJKr#l@1Jnl600000
z0059kh#*Y_2xv7hn?jzM851KKN_kJ(k?MLWy;H>0^$$_ushXkfQ2k9z$^bMC13&?w
z2udV~2%dx|q-tO_28y5Rqy1F>NT=lWHBG%#+f>o|qcuG;O)@=CQR)o?C#3Z>@-+Ye
z4GjPTKp{y?f&l<VgG~W38fh@dm`0k6O)_F+83j-DCJ8*6Df(0OPez~sXaEf~2AT+w
z5I}$s1k*qQ27nVLMA~E%MNjf+sj2C;8K|eJy-DR79;d0b001-q00HrT|G(){+av!3
zp%*03Of<yk<bi}wu@x;;F%(fp;6+F<A{wZ<qNX@gHAqrIeJ}&bRYHVOOm`J%F+ux(
zAL4$)?7FyN_UeC@i^NUb+Po{W=Bn*bs@zzai;I|;boX~#%VL~sh7M($bcZRiE`R{g
z3>ZQpOpxfq@|9>&C<G}$YnrM%qND+JMM~d?2vuW-GmbgX<5g;CP+l-SsfwIE-XyZx
z?eU4k7<h}7C~oMvt|ZB=?@x@e^y|qw2_#Vyx&i_WijoyVpiqj^pb)~L6F{g?0W!oC
zkO0W3NFvaIKnp+%5~2+Np-PEJ9dfFnk|Kl%4v)xaG7%An=+wNxF%<@)AfQt6hz?H)
zZ~*^gs0+#f1aye05`O_E0U>h@mmo-odyrm1CrJzdoxtQ&N8w07AP4pYF7N;pA|cct
zZ@3x<EnnpRC;l}kU)+oU?`8^wqq5XhnVc}lc&5n-`v38KM4;GAWj}v2{aLRlwAjlx
zZ<FEwxwBM<JUrrPgX<fHKbx8QZOcGGP$WdKR8a*|(<C3~3?`kOA4r&7{oD3VqPX3$
zqAq!;IBadI6S_=E;J{-BG#>~YQxPQ;QAkjQy@=?L$;&v^tzia7`M>Aet%5Fro^wP=
zP!Ut=8d%#)ebQw2#1Q{Oht~dY@OXIXY-nNG=bT0#=yUuM3*6BYu<}XPcFvo#{u=5#
zvyD|)MipP||G!D8T1_j7e!Bq>A8EwV@pgg=Ibu{gbN9QCx0}E7ygCJbxg3<#N`2B9
zGz~@uFJyXec6Ophl7yh4X%2XOGH92mgvg0a;Bq2=hHxh5|F@$;ks?JAEv!TO$m_Vr
zm0oA?o@U~34#FJn95UF$_uPy9{rn$Xb|}*6ii(ORV4{L2Cj-S`P!zR5o(yuGQB54|
zBu+5Yh#BHjmVfI+DYZEO9!7@0gXyk3azR*>NQ59k*#2((u(oI>-uj$sZ19i0<)gym
z7*z)Ub)Ye!e|3cG5WHB5+rPC}F0=i9z3I;0>b-2HzXuZQkB+V~8y}^a2#*=~J~SBD
zDWjISY&BLh@6AQaCy}PBlZc@E{9x}}3%0ydblqI+Tkm{S;3y}Zu)e9mAYLbiadb8l
zbnm-yAbnXf$udkPOtzWZ9rwbW*!>`?4>X@wj~9lsj8Gj}lUExYiXd{{S>1r#YdG%Z
z+l-udIW)6e=2ljt2sSIx%{2Q#t46sGyp(w-l@)ICoX1Ee30cZ>vNV`RE%Bk@Qn_Tx
ztb+(bapN&_(s9O~y2tC4?e0><_t`nif1>9&RE_EhX8Lk5&ZsLX)-@>vb8dBvMPSI|
zH=sT2#)i;F8#&hFkNLQo8mtJ+p>@3895h|C&3QwNVK#~2pZBd4LWrrOPQ4y`IrldB
z$r{=%%<_$LWytNFGCxgJGlqx<4dgX}7mL#f#d7ZFC@E%EuUhj6SNl=PLXQ4f1NGVv
zRD&Mai0H!f<fOoZX=X;6CrqeKq)&uZscNHOw)ZAHZb14U8LZ4OanAyfs!JCP3W(M<
zR%AKU6=Zr%4mAofvrH*CqDAHekQ;dgqV!IKziWB?@kYiRz8P3n#^1U{jb}6z&_`}^
zwQQdrZ?5Z9gj3r?Kg-47$2Cb;#RkfT#xXV>+WSoL_0PY(eGNv_8O|zyPb*akk?QF>
zn(D$&SA3#LBbQ^t{d(8;f1<-pj0<0M0FO+JG|3IC>AuhR;qs)mXe!XafIA56_{Y72
z{tp&|d4J;iQwEdZP!NIwXqqiL3B`fT3f>JrY^lI9D`q1b8!>;G1N_eH+JgvA<2Utt
zemGBDB_0+?YDME9!eD5D*kTYT`S*SHAl@3ZXCGL9#J>=KTJNd~PChwKY<ZL@M2Gn3
zt{Y{E4bW%WC-OU`g-~mBr~jaQDHOUL&6Ipm6-Ox%$)ed$<|6EnP12q^j04(Udu{5}
zf5jSEn+Bclo5h_8w+APbE=>fH0TFCA4Kszmy!S3G@Y`H>vW#u6lW@l==P>BpZBKf%
z3{x3Cr0<g{BS!;5RKcG}fe=jGoOWTm1T#&n7jmlq?+gi<V)me>L=O?y)IMlaX+Ve6
z5f?w#ftov|+%pP@x-;j&d7D7V9DuNuhXLzWfLbORFre8&Sn>9m%VM0+X`4-21QCc7
zJTGFyr32!`Y;~@9fOCzNS*&SxrkLA)nHy<5afT>B+YJ5>GHfFR%btc}&-ouejsxYa
zd+f&Q6A&B(QH)buSDpN+SvK2KJZOmsMcULOq*aW0L2BLDWMRIq@tLr{RKREv90Grn
zNYAsD;nGZ-(GM<|C<1~y^QL_X!zSwijxMBhne$aGEX0rIw4?)Q9BOdEiPGMp=eJ-}
zo}6+xisyp0f^Z;0rVqT03>Y2vrJc1`W)GakhQYCkiM7FD7U_`blO!SAPA2{`zsan0
zZwYFS*3BJ#UEz)Z<}Rr42V&7f>gR>h?))A~jMEzap~znMtCj<hv`QZydscXAn9$M~
zLk;wY#L=<&y}l<(5=~gVll>xvX_7^{!LizEqwHr5t26vIduzgjmL2vHiM?Kyg#kg4
z0njQZ6h=`8B1ly_N<o{NBgwp-)os^225WhSqyiwkDj`%sDPPZTbHkql80<!|7te2u
zcw7@EaWno1{Ae?i7qLp%M^dceR_dY^>9Q(d<|ODzDN8g6Zb7PzK;oLwpVKy$?|baw
zkz`1xsv2gWC~@^%$?|A^PhJgnO`!E-^k1^f@Q?37eSLT4ZJ%s|8ktIME|N6Z(d}d0
z<F=97EW!wi@km`PjX?qFu^H%6!(KiYhdokI-(`HdL&Iq5$i{L&iDMuzX<Hw)!(<$?
z{jaOoF=JyNvdY&TAqdDi+v#wv5;jPn<ag5yM_tun8`x;d4Y1r4E(I~?6JYCXL}Pj)
zVZ4|i8*Gv#u(9qQ9UnT(ktVDImyEEGgfXLSVZ0X+80z4>v)Bwc(LT>kz|uV7C%X@h
zG(!^*w4RJHM@|UmWG5sze@^uy-o`^lmW))CV`L0KXZB;4zeF``1~i2IK0=KV2htzP
z0~hBBuFWY*#Z(p9&@?d-RWU7pdeTi4RY-vWVh0m2jEa~%E(sYj^+n6#|D2p;&n^)>
zqrGiqslq0*Mv=a=yozwpL`26Vafw2vZPqvktqj~#GkMT`f*96i=Rr}}971>;f7R&M
zbem6k=>1=3Kf!uD%jmLD{E`|V;KvFfAHN3)G!kVM1Yc}AB}>(x@{e$x;HrWiM4ufE
z5fD%lMFdh3Oh9Dcm%m4d?Pf6`*Pd#Is}8wQ(nf&RSd6+R1PEiE#siF8Pr@L4<(;^w
ziIzcwB&uf}GXUssPnPWgjd&%qz8baHaNzsP*olBRjNqa$VN3YuhY>$TT#<?s3=lZB
zRkonULy!$C^WC1B@~OnXJF&FVGsdma;eF|XTzTp%kU+CCH<N3#`ypkGb<P?@MKOxd
z5QJh0<v(zjZtTmpF>-mb;)j}^Z{NlP7T1{|S}tLIaYvVa*vGqpGbcdeWe*T$XYz={
zP<b+_-5S}X<N$3C=m(!C-6@mihuH@h%c6Z(KvAt*MNP1<O&8kG2_|nEJm{FG7ljD;
zX?|}VswAH$l%+|7Z_J+vf7FLU)<{UtO04Zo@R_g8K%Y7u1n(=yM>_MmVwJ{9coc{n
zL9b?T-C+TsX%KgV72n*5;W4kv;y0RO!=cJwqmk>g@J@#XNOw%<G7Ic$*SD`^DKugb
zx_z_Hm}2h^R8*cZTK`<Xe?>H)G{!$`MzH!k0$s!F5*RNX7-8tL$>LMRUxR7Llz@HK
zikQLHfv<Qqq>sbbu~O|u62sUMRxH}aaoz0GK2Y=7ID;3UHBnGbxwOVC&NHDjtc)Mr
zkmOTGlKJ8md~7S|k!y9jwgS`tP0bm~E5S#x6$6O4`yHGmt>2gN_&kUxMXw9%qa#z3
z76ifwAcL~#1tVNzG)2?>t<=gf%aHKdf~)g1j^pTkjb0poOWBicQ<uA#@PS4gsdx|D
zK5<I_S}4Yajv(ueC6+@O97Ca|fall)2M(X=@Dm3O6%-#b&|GWdy`G!AImn`M8{r#R
zScsAY%l={=tg^_o%7ac+wQN6psft(#jI0rPa~mH{hr`y_(pUQB{t|k4We?jAqR@B8
z2>9dTwFPEibt~c^p`?fkrKY3#;~EH-l%S;UC{Mw@cRaxyU*5=r4mV8wFBze!aX4&f
zfSChJvup!a4lw8)2X~*>!O^3aIM!Os-u(S)EfhVT@h0b$H-nk)%e~shwBjT_!<9Mr
zeF=4<F^>5CzQKPN+dX*T_9n)S@mW+SN|r_LfJV)^<p`V@E*99XadEaVyV(38It@W(
zTf7Cp`El6`x)~wS^T1#j*7pN86$gS@!%2aqu-rAKq%jIY5H&w(lc#rl)v*LwYmh~Q
zJ3Ao`7q+=ZC62~uZ(-%SSK8}+<T|-2QyT7h!Tejk4Eh=;Pse{(XTx|Z&fQOKZpkF6
zI1Ju>UdVo%UwSJ+1j)UGOZE25*CEbY-5ANshlC&wyrmcfjH)u1SydzlkVgYiSK`U=
zoV@!drAr#yQbVs>REio+6zoL?>4ZEX$IXb@%N8)>Z(U8jTi=5a+sDHPP<6tQ>BO#S
zz&fC+Zgxx!B?0aD9`@!0O8gZj-cElv?dw|yvFh%=1#AAAo-9POR=C>oUu))=mFAwo
zV^ok#5_h4`ZRx_9o__4?U`+@}8Z}GhML?I}M=<uk;jIO1I8Z^jLD8nd3A>3i71C(h
zN_7e)l2$tujsBm>(IqQPZ5btw7=HDUC64i!j-IRy9UZA_rx;G&Fr`II-?0Q(s7;cE
ziF20hh<iQ`T$mDOu<JZsM~<ZS5s?vIcueKXtbv_kIn3uH+x+xMH<q>J==#4zm?sv*
zk~ERe$)-gvI80H1(WWHWPZ)3=S;ZR^aPfxwc;TKyD^$YJcM-pP!-LqZLm?!>3yP+{
z2#01Sb=*y79zKuoXGtNZnrJ{`S&9LS4U9HW9%Ax~bizNsB$z*QkIE0B#+Zpq@<gnG
z&EFPW5oHY8dMQLWNFYEG5SBH9@AK!MpC`faNN8tlORGf!F@y@nvNS`fpvZvf2e-t-
z=a-i}JMVL+O^zQwrny9S;%&BG%Kj`;^9;i^?cJy*-!_)Ne*Q}tmlSq_*P<ju$R+a5
zv}|cH_X_UMsCW!;7Zh9isNirZdRv%%>N>EV(mlH1BJq?+eFa>3oHB)l1j$|J;xL7<
zdkD1%dwfbQO_&ZL2w~BJ9c_;MVk9vr&z-xxK3ij>-xjCBsYGsHFP`hJ$C}~tPHU<k
zP5KzpfCIBrx@wt(4c^R3rs_a$b}7}>ooZ|-ejSeU<g%;xY^tiO_w4=1_;r<k4V6_@
zRZ&$Q|MvB*XX*I(c#ojl&3?;js;a80s;bY&{mvUuB`D}k{`l@0cJx4lTAi69aMAFI
zkG?-09@5Gf-<Rp|o=S|_X}E{O(W;tdDplN}sX5L(%Xm+PU%x&E6WM1(utYPhK8f-C
z1M&Vq>+&JrR0oD;r(bf)Xs6`c7TQKIt$k`h`>a_>1`EOCD?bjpP|lfV-mVCO(+NUh
z!wQ&7@OKf6egABJr+zOZG~98WL5!!A3HZsK`v-g*jLFc}BZj-Xb;jedcN*7RWHV6|
zRG*>@t+3vv>jBvpPI5EJ&fIWfC)2Eh`gcMOL*n`0XouJ8B)xG}S|oEsy<^+mwa@K_
z2lA*$hj_rxcDcwK)1wD0eOaksnjn(ax8R%GZJ6~~7t9IG-=81e>70n3RhW5gdkZEh
z0`0`xP7x#P&|o?$Bca`|83$x45D0j|m@g1$^XkN=B~4bYXmfG@uGq%h)wW`qXEmF1
zCCyhDB<WgZF}0zKL=LP(8UmCCBOS2y^MQukTKRnn8fhb01P4YguK|MxAnmk50tA5`
z#w&z*$Bm%v{hMcn8{K}47TX$p=dS@V^z(=ggS%AE*_T>&8)8IuO+H;2`YO*n{(=Mc
zXW<#)^~j&;GMm0}rM$ZH$0`~4d-37C-?n|Ye!+3xS5PD__=o>Ls4J&AS#xtX=3%h%
z@NQyrQO>c&+VO?wve$)e!Mu^``+I*=-yikAH#dKXrwcJ3o%utf%=1hn!zmimXBN0Z
zXdkIdRUm)F<_tsQ+n$t|f_H;HEF%q1R37|08>iVF``BH+F!_!@NNRPM%?0I`Bj>Zq
zf1_+Xnim-(LRcn}DSm2H+ZkMx{uZT)V*{A>?>cN}7kR^hDtcy?q9&-4mVh}4(9K#X
zX?gIz9$kNO`M%y<&u`0*Z7uBV@Qk9@Rbotw_zuuCI~#=rs`_N{tL~fuFp#_pdUh?S
zc0(Y~<#DVqbrg-@fwn{b<Dh!Jk3DcqyrLeXJBov+Igvnd`=`n$E)C5Hsw=D1VRjSq
z>w7p<(TQAQ@GPbEZIk3uHQO?ByPDrEzMX#N82R?%*6A8X4#phtfvG!;?0B}YJ80LS
z-u}AW&c?uU$L{%$2NKB($ulQX22yy!;D%CyA-o;avhd)?YUz_{zB>xFDk*tZEiH_r
zTn$q6ujBNq29t01gQ}36n0G!L2VFauKTjc|%Hs`&4Um5D{9Dhq$d9-ak(K@jxWImS
z?JI$#*^@qhF-8_cAA?7WgCrrE+ZtnJ#2Z1|KgE6CJF$MF*zaVoVbY;|T|}t`v(Or%
z@nsO~k%i{*2`Bu#&u=&zdvS+;-A=|+$7<dfL`C5;qa$gF*OMPFS`TdZXf{=?v9>mw
z0mw!qHjxQ!q9N@;{oCu)3;nn@&LaOr;G1(A6W0Sy2zxS`87Gt-ZlZg3YKo-ioF!3%
zI+#SPp20&*Vu+!P2p6*qM!k)_p|EVQ^YF!4^Bqe@8kWkL3MixD!#SKZ^^m|uj2xKi
zJw0`#*INh-oW>M>Uq+)T*H(~?rVXHtkyRnF;YKs4h84^4=DrPQ&B8?TV)<W}D2q<9
zb~gp((oV4YrV(?}d#nrMh&KkhdPC<jF{SugoG0vdzj@?k_3(n;P9*fO@IS4(Y|Bb}
zVcU`ohK*KM&7B48Vr)HRMi0%A&?Ovw7fLR+ogMw%?-Q^FoF*b_lWSJ8a84L<<>|2c
zEr5!L+A>Z@5{@Rv=G&^>sJ&V~Y73_Z8-#6TwNGAApx3kJ<60tSobAa28iZfJh8ssA
z4AL5ldceCfWJOarna>)tpdX<~8(4~R{k_A32PBB6W2M3qlF+ow)q5_37H8cZk1Ua3
zuM@(M2Dt^!?wCfjJNpg+7w)nSKd{ZFKdkk`F^5Lkl2QQ#<E)tMeQ)@9C#cxMCWs!+
zc;p(GB=~UPcI`z~O`$ECt;~jsDX}s89#G2cK>oy26n)&F*MP(0^vb(3J%l49jR^D@
z;3y5T^^qD1k8W#3+=;S*kSN9RjI^E%is~eIADSq74D~3E1MkCw*^9a`XNdf4Eh10>
zv4_{3Sb^z}dv7xm>d^t9HgZMh&lN$!PdUqusU?Fvk<X_%>9viU4E@VC@J&%S2N|Q=
z3096CB94(b5yDv#FTdfq%u<s_ps}fx#bd`yq?U;$kJ$0|2S)(3o4Oq}tR^UPkp4!(
zF*kWU(<p8#Dgy$c>`WzdZx)3E%Kgu$uJ?_j#Al-{%Va?x>X3q?1jdn(SV(3V51!X=
zXu(f>WzrfwQ}-o#b`PYQSR`N|o)~|mg?SGnN^%@PAG*w~5K-B{eZINl2}w!cxL$Es
zDJcn*r6@v}mJb89p$VxeXhM>bkdvki!cu=6=}KydpWV*!djmlgBt;MD>BiwiY*Roo
zNJL~O+mTCK-($e{7lVw(m~$`bKPirzx)%Ox=jQn@kU*p-LPN)XBMGr^y_oH0J87-;
z9+XvPm}vWsdpfM{Bn)oYqU}DDp5JGzxcVeIoa$e%whaJfso6a0b86nRy!v&b{iP4x
zy~pK&xO9ViQ?CA29|6m-^OfmC^C|a~`|5I2=~JhvPQ^Y2B9vw{vmI>2o1L@xkJDdc
z+j7A|93c(b{|OdG24r|Yf8rQ=B9DMVEvP*;Knumi=cg-OZl$x0#C~K#2|EODcZ5}u
ziuZdw@tTm6e6?&>Zhz!aR0|(;3eZ?XsE1bWs<_s})=+@P#_~c$UHDD}2T@?j;papC
zNlk8dN9y&?9Xeq2i2K*J59UyV(LxM2SB>_<&2c>l%sc~6Y(F$(d(8{iWjv?1oq+Kn
z2(HH_tW3=}fPyIYC|0_a3HEn%cSCR4Wq*}cTqe^ckJOLn{m+eV6}EZCG_OsYj;w7e
zG*WOfgU-?rjPP2o$IIDWobQFVR=#M&G}2G5kS85lY^^l-CK;~Z8Bq~SRj@5Mi<)|%
z5~yG?K+U}{czBPRpTbAo=WzA<{nf;8y%R=Qd*Jsu8abs=2b;E0?U!et$JaCLKjDw%
zt8d%l|BjOnZ?!&qOuopC>X+d9@K1fXOUKWMSI5KS(qt_lA0&Z-54LX2>jWSc4m0}E
zPIvS#A2Z6hJfc6nc0u+iLFl3Gj_;9>U1<m1$FX<M!|V7o-P__c94(D=?twnNQL}lZ
z`!FpsJ|KUm`=9?eKS$C2kE2i;tuh}t8kT(8lBt7-+~v#IrhY>7{<Gg8xMm*z$C?P#
zh9EN&3^+mu(I^h=#X|nnC>rr#2xoOb{xm{CUoIQ{apgP+Sw~jY*X><Bxn`mB>XSuH
z-budbryj*%#O<*4Qa8nt{;y1e@2d*0)OoCv$Ol+eOo<Yd1p)2wHJ~752@$=0X^g8J
zk_jsue~N0Qq6}KCMH3o<fKYJ%&Vf_?D<>wwfTsNa48Xd>=RW&7l08uxSjVgw2!}fM
zqA8o;m@1@T%xg+6G1Kg}2cq`~qNG08^rj6ZPo-9vg8oF@|8wBhg8{a<=Hb#9D6=qd
z9C)%Yq;v*|gSIS&p+ys!N98EMnvqyj$S9*T`+GRvI8eSg65+i@Lsd;RMKse%Nli4<
zLL@us5g6@qiT`q;g1Su-jHV8d&MU(=?HxVGGY)s&vy;zC^wgBioHq~{PfnbbJn;!V
zz8$*a*}W%R?I&a^p(c1?{gV?ipcF#`kV50#`Q-{3bN4iDz?gxO1;Enrcua&OCJJyW
zO91Bq0})roc?0mN%#O1!C{1w>tn`E2ZS_ra;CBC<98~f<AZbq~CYY(`41uXe2q+>N
zp;(}h)I5U+XrDpgJL@&dgY_O9I}gS@?KvRW^^c#=ym=fi=Cu(p!znWige?sP6$iCa
z?IVOCPI$M_8!I5WfObGFjEKn2-<Mr+tT%mc$nKbAQB(~x2WQdD%v8TK3Vi@3VEqzl
zo_&0}Xw!X<I1kFFfx{`$s2*%Eq<QW8nQ+pAZHxiM0ThD+P999rtSK63Lt-P`ML~vj
zN{NhvJ3I%`wzuH&<4IHBY2(cK3-7t*4pT1_D+vVLC8^Q~i85K|f{TX@DVdX~F1`D>
zY@MDi)Exl?asmmGh)<#}-mw$L1o493W!jA@MD++Na?$X@2-n2=a6L!0pD<!hPu!)#
z&5e$Q4K!4@^6lJKN-JUZgP8W`PMOA9oK3W{#ZIsFDG>ILL_+&W92~e2mkFS%h$0L#
zH%62`^lOeMWOT5O==EC<g70oX=a+pc$B5&(3_%2#p2<&*jR%IoiX{>dJmGL;LTp7g
z5$wCUTQO=CGZKQ*K*AF+q0M_I&&ki5H#PTttTh~tbb(S4N<dW8F#|x*9)+EaDGslX
z6T$~(6A3e*I29%~u!M#LhQybOc`AqoX)J*v=O&$BpIx3EwC<il$Cb1a(itJ;1Jevc
z?a!7MQOXkvfeeRJ$q1H$fvTi5I!5*}$$24=&@@%^=1QItr(CJDtW7N?Co63pakL+7
zqtaKDn4pxPSUMDvcY=a#F3uD|5)AL7tHZ^Hot9Qun0;F;@0CUKzPxnORgv1LqC|p*
zp`erY>=cr;6->!AMFk8nN%#oBB4VbQPkUfG0R1o`P~U$5UzP%wsuAHSq6NZKnPXyu
zNQRWGkclJ=!b}9P1QL+}BotFJil70eu~VE7I{u6~Nj*||9~r=Vs8YPcO#B1`h_S1x
zEJX2IbRW^W1n%c{a_$g@MA9=sN!g=dwg?{C58(F=`}?*|aC+f>n4}swQj6<=p1%q~
z1@T2l0)PN}8_%7Q)h~)WBf``NisTf5N`Xp5A>kkjpcx1P5`Z7B1OuE3WQqRhA`a11
z;S>%%k6nS#I)mX45b^qh&L7erFngZYP#eGoLMzt*4ogTP(mhB>^}s*ifCH_89}V#U
zsuCd=x)Tya0ER#Afhib~O+RRY1P|W{73`}*k6;j`PLP0~!jLA41p*{PLXXY?Ov-@r
z5Kh2SBD}q%RZpG<NV}9*+4hASMs49up`?8l)$rmOz)_K*Ka=S8{5aAptf(8nqTxcS
z0n!L3Z<Gub2et>w!%B}B1PWgeNcPIEp#W$UImqN71t{o5956&q*aEnKCrF%ch4Lag
zgc6gPC}YqJUC7!1{%BD+pWi>}<hUaABpxEb0>sj)2S@|WAO<1nAgkiA1?X=|W;kk;
zKjz)9#hO7lqzBxC$p{~5_swV#?STL&5Qsq3f(EA=52mTjQU`Pp;So)s3A8Akq$mvt
zb0eV~?#OsS?yw?tK|+)}ZH^FiLLsg8(hxuaix(jt_%@OB#iBSlP}Zd;kTVf1kjF3q
zpc6z7noRo68XbvF!X4*CuSi^h?ToSj*Ux~TIJ%T^MC^Q7UJVx+F;Jj5GZj?rYrJQT
zjxKMd<K*?qWRTt+T)M<0v@aR2xI8wpYX6e6fn8Cj7WscJCJY-HGJA*A2X-13a-{;`
z9-4G4#hETJhPiPR77UCA%os1k!1fv<9&Zp~15ds5G@6-2wkY52(6Gu>r8@Iih9Z`v
z8jB$;-p8MTp`(LZojwMkVrFGslavYpSp`NULLLM>2qo-fyQAzeJU*|VbAnVXswqm8
zicmDDQl%)>0u-Q>i$EbjBS4KPlr(`$LQ)iqMJqu-loT(tgNl?&0+c*?h){K$F%S(B
z{vTg?!{R58d}bC*LF>Z{QPWwdu=0`k7g+TqPsIYDV<}@q)dOhMDrpq`P#u&`gVO{G
zLTESX+BpO5G#rqOY3_2!fwW{GdGUB={N{FN^yvfAWm_n|x`a?TsUiXFr+r_W!j;k6
z?WaDB@@Bo(xIvkS0nRT#GHIwda}gj!K6Bp`ISxicwJ7aUl2<wD_y1f8syoKPJY!p&
zVtKd+0J`;IIs0Zoz3%3blRr$}aeg5Fqu@H7fxuv|Q4KVq4K-4MA?l@l!~sIYkRti3
z(`!bYt@xMwPs$k`GO$4euPGb}VgUPlOgkA)9@ZK6yEHlogqdg{At7O&HV{`_WCqfS
zkfGfGWYAY`W63`utpPC`VmfLWV1YBVsh<Pu7Nfv*V8fwM?&gNDI74G1;fu*)ltpZZ
z%!QUV0GcbUAwH8!WOQIGNIsvdrT{Q7kVKw|FtNr%Smb;T9T<rneops+?GDUPMnwQY
z1t*s=5TyrQrHS{PG;}Cygpi@-1gfuw=pErDGmZ$jW-5oAkI59LB1C$P%DRff9U<W%
zqG6~Yrbr-Jhu%?f<e3#7&)QJoK|K#+A;l)CKCNQAk|EpyB5V~O(<XvU9~Xc<!NoS<
z8mg2*Q;87c6$>IBIY$UorAC2yKol)6gr=ofk$E7Vb1ps@51HKq+={wDC`gbJMnE7v
z<|9E4+v3XV7)7LFQ5r-}?8GE69VA0PhwT27puLic59@`|N-+WgK`ZgpSQRuFF&o(Z
z^Y$2i-zO0_078mTSZI(aAc0QlhG!ET;r8y+>efJRCS#jd?Am;}UA&U{lYD7%5QHAi
zv%I(b!<=w3WV#Ky6GABhOhI=`9a#5&IUs7gS<CL}{65i(iUWN;=GJUWNg>%YbJWa8
z=0=esUCD8S!wiTn*u)`|n#y2SPA>LLl*^X<i9nUR^?VC9(XF02^yMa%_7|{V7za`6
z=hGTe(Mdu>31_!;L3^OT=|a;)`{oYckfXDtXA8DoyC3Y2Xv{1mF-cGw1N}?-(x86d
z&}@Cq=x&DU{acoH!{8(Ic30ERiXv^WdjUTujyUKU7wBKaY~nCD$rY&7OVDx9X_Rge
zsS0j<j3$y2`yd2JZ!I2~cg8yYe&M)0G2%l3={fD*6N#6`A-(n0HrXGO;c)5`d>L^3
z7wJ2`zkx%-ic{%XASgm8UwMQva98A><gj(<67<OGg!-Q+<v{u}F*uiPi3>c(Ob%fH
zfJ3YNPon}5S?4Ptf-A>z@cGDiyxys@-DKhvch-iftMntFf#-qkZ0R$oCw9%~MX3-b
zcX%j)mN6c9DjfRqKlnsOm>sA}ue2ceX3D8hh=bV=g3mvuOhcy<67Jo>ZA#aGZ$8*_
zPR+%ww}(vi@R=572HDJ{#`MmCNa(dOq6$Op-DgwGc2A8o1S$w5TKw4u(3`YoHvqw6
zZi*FhvKn=l#16Aj`Ioh<G=}EJ!9-7o(*$e)*zlm`5qE%m8vtz7tB{3K7)~b>fySn^
z;v?2i5~BNu5NlN=$58|vG$8az2_<idJ|-MRI9xG~%>p(9&S_>nD`J?DY2w7bE1c1^
zt}bLP{G?HnCPHMJ!qC)&AipQ$(Cw9F<~`dzFf>y7^_XmlK5U;KF8!jN{JQvco3@^v
z>}-jV<O2rbA+eKGeVVJU=9o2M-B!;n)2{MnZW^3$5FtVj0u%5j-4=jw>bepaj<VC4
zosH?OMp@o}9qrHA<jBw#H1y0zFw??K%I#%j>~|uis!VbhM@~a;V`_ZZ@?)k!>-nG#
z!ZW}Z=u1eFst2S>KRwM$d|J`ln)TxJC$z|gIY>U3!pe^rQzVR`-Iuh3Si1<3&z{E*
z3(uK+zBrcG>P^E9_dfK@$e`7}R!2&TSuQjl)ZR}6i~?0TT5nWaoZDouJh(#0pm3|p
zu<>-26sn=79UItM=LuS!Iv^RZAICy`9;z8shG3RLpivTn95mmUU^j8a%0z8ueq7Xy
zp0qnAt(=ss29!`h>#xVyXB|}oRj;7to`TuwhyYeVslTx?u+*<GV+S(v<K+Ht$?N%J
z;;=t2HgGhrjW97k%B0rxh|zDC)A_ppHTGY%;=Gyud;USCs8A@GffMooQBhF{K#})?
z!vMo3NW^i(hsi#vJRL1$?X$Bb<Uf-_?@!;0I>G_0PTlM8lvRIWH`@qvx^54cVah4h
z1xSUWscYm14Cp?@bSX-c)9+B3A}`HXoIy=$&C1%!1#-a|5ccn!Wlj(Xks^-p`A#@I
zAZm}`{j}xbjSb)iXtjA&KbWj$oG*0zL{H_2A3QXJNcqeR{#-CV$V@#ruY{WKF!91`
ze4+vUA&2JwTX9Bq{UrAgm7;t3GYF1}q|?-e$K)f%Fw+I6@201LLUs9y>?TZ*f#Get
z&11@30}sgmF+_(VJj1t3>e#ypB64RQ7&wsY0xfb9V^7yLs&XisR;Udj6gqE#%dWab
z;0F|e7zQq$XR?6u#Ruu4iL_3}t|KH6LGVJb3qh1Wn;3Q%Wnj!X5c@kWvz(%^N&d6A
zCJ`2x-_4){anFsGcWDy9fny^Pkp68x=qyPy7Kqb{G@?WY(5TdfNP-9<tU)J(1gtus
zbWcZP+-%17sLKXtA`{cZ_M%Z4!wPN#vB`A^I2M?e!M({Q${M>QTuz>A<<i;?S<s2H
z3|$2W&wTwQJ;a)HT8sFmK1;12$6~&xYbF4vBtYkmMs83uw3PXC3V3zVq)x1B#|gY$
zNE*>g0*VYGDkWQ7it%XM$L`>1DHl+i_h4}oJGji_5PH4gU>m|Sm45<;{}NA#S`j(|
zHy28=qUYE94sJ(BFUy&&Gj84+KO+zjbDvl^yWnbS>UjoRG&?mNPe9VXr6nvN>~2ue
z=LP6tfLPzgY(<#x1KtQ<dR4-PdaQ~Pi`&576DLF=q&YAPxz<=TaSRNbOzwjYbr1p1
z5p+9^60gebd99)=O7_>eVB{b?CFil^erOGsh;|ti^zbwloz$%C9$x1UUrFJf$uxD;
z->k}P#uSm6CX^t5($-JRn_!ae6BSfD8`{nAz`IdKnY_Gs7}c>u219Oa4RQtKvSrej
z=^WXWr-&G0-~Cf>ddTm#5M$-mBSjhn2!_#g4`nAA&ptRX_8I2Ur?cKg@DFiMh{dX`
zrt7XO-E==z)6BePs>4$zWsWdy)@U?Nb1@X#J+a8`)$#V+#od8v)qjMk&7u?!f0{64
znUV#Oi$LNb>5<!jDDRJPxrD#mktlzU^zZPR*7~Q7?0t8ofl4#eM%C)5Z5mBe3rh)_
z{*z0{%etx%GHX!LChf5^TLH@on>Z2avd^yS=nJebfVwQ>4y}`JIsQD{ctW?TFn9LS
zo_^Al>@(-HhR$N(pLVmae&(~Y2h-24e5l@DfjjUEMnS5g3<|13zK>^PzW>$uJw}F}
z5qwP3hMVvWPVM<n!=aDlHo(xqM{g~8boF@ropgWHL91&{J->t$*3+(L%wvFqam+hR
z;lzV|>Ou<;ULSG*{L(zgePaLse{Bw+FJv9?X>JUXZ3sjGNK8a?lO#U!DZHbcFIL$R
zK!@zP$nhg`+ER@|x_Dqe)AJ=PKvEt`rjIA0s|sPFw%5dD?!$de)Xl)g6dhxbVAP(<
zF?9zJgc-D>9h7Sx=T51f9{XSPqNns7$8lu8t`b9jkLdFJ-yh@qKR5IC{9Wm01YsH2
z<)1_)CuR446X9E_TS&c%I!?U}_}gF&;)9zRoHw5t^e(fj^1TX&PCqKDptNEhN6T}7
zW$6@!Awz;d)4zn~0iqbVV3q%70W>y6SdD+*XrHtC3IkK?rbki*oU3DUNf3t|G>5|Q
z<4_$@lF$&$ki;>j(dgJ}5wBLJ5CDcxzO+m9v%+R0=JU=kDy7&o1XSrONuZbnIvL$C
zBs>xnANhYC-S*TM1x!c9)y&<Tj*jS(@06f+_eZozt?eMKgR48N@L$>Eoth0C4zD54
z0SMlZueJn(yYB`Vevgn>-#(9j_kUT%IuOy*IK@#Bo<PJ~5hyeuX*7#bQN|TN94Yon
zZ2-aHw|~-oAE$}2)eV7E9N=|sRee3xHXbf%#x=8h;K`8K|2g%3TRh)yFA-=pohjLq
z95j7eF~jcheD)R3hnJQ_*ys6ZYG`$Fa&2Y5^anIZil&=gtcn|!996s?+EG|qL765*
zIzkLObFK(NLk)h`r$;`c#bJ1YN#Z769tNRWw%dN$!uYkQW)oJDtV2LzicX6v?<hBY
z37;@93sgP=SsLLF#~wJ#zvlsn35E;AFb*OtI~%!Z*VW6PyS~GtD_~Ei`B^3)$BH(0
zck0XUj2^Qxz#N|rqqFZIL!|1&vIrySUMhHARM#f(3gd!I)}VCF@l159JrjPc={+5f
z@^|+Q>EDaYaMRtYECvzAY`JpJm3J0Z-EPtm4V-oJKILeo$aa#DRq0eTwF{d|`EOx|
zKvTwn+nF*&6=wDaO)HsVZ;(K1{1<}mT*=Z~*B&ng%#|O7jjMKm?sqoi+)xw)ejXG!
z&6;KIIDlibX6rKL#<sR9+dhbQdwo-7e2N-taAPD4bcnwj>M^I$Pnz6#B@}$wFVD+=
ztNIymKd1;WLwhRzKfvc>G9lT;GYO<dF=8SRm~WKyc1z#W3uSr=zd=(u+({w90A&Dn
zI!MWw-Z0&nLLiBmDS^Op{KpOO88Zt~-JjVr)rQ=uMIYQ{ds)9%l$oOGqR{?8a;0f4
zxM|*l$eTK@n3eX3njUI5<}WBQ*05)3pW69>3QR-JZaAzMjAP%!4C5iT7`*Dps71sf
zDK&@leQpLl-c1o}`Kdxji&k1cby0lUp&By-Jv*BqM(blXE9Rs%1B{OuhwH;4PC8iB
z+}!z|&qnTBY9Fz`O`F1Vxy$1S4x4B1e%U!8*i7XyD)C63x)f1mNMWeF8aA_YoC+Kg
zWd|y0$RNWghl5F~iTphFSWUbE%=5*r7r5qZn4#nCJ_s@UOsB=1D6{Su_aOO@`t0Z8
zQBedne=(olRX~L2$M=o=hbhe(*y-u@K+;V27r43I_ueIFD2V4Q-9@$QH}MWjxY%Wl
zrjpJW51m@g!(Y(wGZ(FdJ49%j!l`T+c4HPBFR$`d+bd2lrS-4Fh1zkifv-e~9xW9U
zm(z@qelup{x5om&->&G><31ePMyaivJbHS`cH^!r7tQmP?S}p_Bha8mF-+W@otxET
zw)Djd%{Xe;RL;F&ly<K)3DyV@+aCS$>xAeaLSlE<s!Bly(h0V)W2CSizaT?sH}_TA
ze4iVRxlDJl`EG^sd-)p-MVC^4g*4geq9;x$+@%PUQv`0T19;s0ai3LA8O6fHPX==6
z3FL=-RwvK6myYE3);iO)i9HElPj>u@?l|zzJ{v!65kcth!*q1)b3R62U&(pD$)=oq
zk;VdUS=phByQZNJZ<8`2FZz7j=CN)DhYmQ*)xhHxYU}mNJ^Ks3V`FGSOA)-XuBzFj
z(>>P-!Yp<Nbz}+%H1|gxHN#O(P_K=nJ7SlVXAZlb+(NhrB8ueB<V<9`9vF{B0pHSg
zN1K7)nFz2`2*9|=$AYB9IjNicj^i~zAT@UWj)=1ImDn7Mtvo~;=o1oUk1%uy(sh3!
zR20y$@8|J)NsM2cl@&j7>fILfXx29ro&Pm0vT&@C*QMLW3B%!ZI<%t@@-a|{Sk2K<
zz^Vr3Zl6cH=;r1sy@gd1H3=r{V;kzhi_;1xkLmeO!Qt)?lwjAv>v?ct$}iZR^@6HZ
zNaEj6-qb1c^Og&;4)p6VnF+!K(W?kd3Ns`E*a&m=;BYWt$YdyS&ih_%xD!3Q)l&VB
zjcX!>VhJM56T7>+yk-h!NgGaHh?X&^vK8QI$|Ew?Kpg;_SD_wlrIC~j!$k<5zepTJ
zSJUM4bdK3G9^FO;I{0eSql<AFsMWDTzceJ*_=c>us;ZM7B23KYk-()aPi*rx@7)tR
zbe(>fR5p@fr&DBl5kO9{y1H<L2%9u{tgcy0)1tXqZFuXheG}%L8cgeUo-s1Mf*_U&
z+d|D~=@!1?!>gFa^E}+P@*2w_ho!JCfq|rnXj<86?8|3HvXLw2iGcxN@7Nc|J~1};
zq3jP(&3+$a>)_6mS%P{8FQoGt#DO1EZi8|oP1X-5P~Z8#1gg;6?XJZ_l-oCNo%%>B
z)9<p#UM_<X%rbEDmbQbJRqCrr$EB*a$x5hNGp}V)T^>~}%38KN^>8^~9laeLHRv}v
zRg9CIdf3qIGki9n@}0(}<}QHeXtnIvvxY=x?3Ei6Lk($AS|EUt&3SyJKo*A#+1>&m
zp`p(a)^LV;JS#ezu(}4Jv?gu#k9|5DOu9^LV7MuCx)c|JAfTYUBM86~))hl&Qe_5+
z)Eg$cvu#+kf>JuVwD_<q!{-n$%=tIu%!X%9lDbX|MMqdPq%=c*vqqIUzj|AmvbjW6
z&IlZ~9jD@aJ}evl24o&v&ioNGJ8sNO)j`DY0`mK7Uato&B3fyVp59DDStwj~J?Ch~
zOvY*mYdT3!Z)s6<3hxrG_a${*k6mEoPNs`{=p&h^tMI^@V)W37SEy(2jEsSl?9m96
z(8I9i<XtR$o*cN=Hq<W_RsoLlQCR{^hG{pE3)G#R@f*)B$N^D!bG8j^nkN9L?bH|>
zr*LVnWAYu|jbZ7Oget8ntJb&;;ocYsJl!W?WMP8oAbhrfK!JgdHx<{)2B`S^DP3mr
zl!mP)r<a^2CT~b$ARRA7q-5mtQH?>+8v<RDxLVb=JJ{(Ym#nbO1^p>%_5DTs8EQ2Y
zXAXRumGC-w4)k+TQGpnnp4v4+3NkHO=!{9qg@Y-ud*F>aXS`tKOvA6a4x4#?HDXNj
znN-F|2-9>v!|;l)x#iIEBtIPD(9t|>tV1)1xMTtl1T6Y-@$Rsy3#WZ;Y`d;zIGb=j
zAJA@^Zg%-v7>qD<FU^b+(WZ(~?uf`_!6xKYtFJpxT#Y&V^*N(gd+h1eK7!}S$m^cQ
zbXTN<^YO$e^F)ylegZNZ=FIjHwwDi9Z9gm>R>v3|3PLaABOra=>SM_EtTPzasjf-Y
zHG?>aozmD5v2n~y)|hCMT#iRAhG2?{i8#*vE*h9Q8ek;*4*{7pV+KD{QK2y&*DOIC
z^vk6}q{M@<b4JxV_CRnYcME2k6DsO{rnmE7?T#`o9mfx-52M9H=0Wv0<DDPz`H-=5
z?i4Tk`eSIAGpwdB`hN2t6ERQ*?yJog#h5}P1%5+jN7piNym*rHd9JvRcI^e1M~(lv
zi^|zH75;07ZjNFM%vi*dK#6Ax&T<c*6kv*G>d%*mQMY5`{vQec3UK~)KQf<6pQTP-
zui$`wg+4>mJpTvUq*DjWIyT)#^nM|A^l(aSQIZV(y?pO7BS@wHEJ8vmysQveSZI$g
z)yS|p^pf`3+g*UtiTiHQQom}<lO{+>H)e)n?PC@ns)l3Xi&2$K6_eS1zA(bp=!Tsd
zE@r32Gt<+k(;qgEG_M)$Au9fyEBLLp=d;>?^i162tz>E;wlup;?WN28L;+`2IoAjH
z``TG7HHRUKAqp;45f{0_n67@A)F}Q7$cy~iwD#3r4sQ)()6Wf6%3JOwLYxLnwANlc
z3*^HMYtI(#*W`T)cL(qJI*RZ3{5(GDor0fAp2rr8Ji#GE4Q;EOnbo_6-GCLbylTcw
zglZ}d9WL-2v|WQuGcE!@AL{C1$3T$F=6AoK%gI%e=0<U2{;q9}up?ropcA+pVrWuK
znC+V8!JzT!&lt!O3!?z*dAoWa@2xgDOnlp)o5Ns0mgsBs_ZTz?FM^!)^MpwV4Bf14
z2D-cHLkhO9SEC$Rh%+6`!?O_?i|2)ymkc5y*b)CT<=O;KNcw!Sn_De#2z3$uZ)8D$
zrS3hRFD8oJ-}q3{R{h;>hz=+Y{$}CYJ28H+!H^Kb69^Jr=asWXjNZ<h1q0R|MoIm;
ze!Z6}0>b8O{45}D$s6W2Mn-)YGhr48giu&pQfFs2lDDcOQR%0&b#8&Ah@)uOVA^pU
zzQL|I=#Gs6{gVk|0i(x=b07v}0I|gIbOwfy=^71Y6C7<CP=J(f+btl(5-FY<^+`7l
z-XPEn+O$#{!^#6fgZPy2@*e$#I2t@oM;@x<p1n^TIOu76{s$ef&na=QP`5pW87T%|
z?S4<a1bP2pz$`d<Kdn!xN>jlP%%`DFegn3HJUAHh;CmPdLndXvv#R=68H3E<b;kC!
z-_C~+l1M<4Aub4tcr%9XYGe~|ZUndSnNTM2pd?U#w$auM_-kTWogSdlf4BNG$ymH4
z5RAqO=j+g(E&N&6_5mE)jqcwnXTljRAu-*@qu@BmKrpbC`w2FhWuV=<BJK1QVs_v*
zn6^R$(yYT3t=YCh1@%;x7+f+D+9ANr4L+YA#aKsTYy}FQzOEZ{ry;B>jdesH9b}S7
zNhEGbB#j}-By4Bo{?yszkF3&hL9$$`9IqPb;U>nOWu`1wi<+gz1Q7s1rIA?J*xhC^
zPptu*OWi`dBts8i{2n}#NhFd<B$KZ+=*Nl?gRqhjj$Ry!E@OGR`-Ts-e)UBZQAHG6
z8YrTQFFECY&ks6a4G*K{DKN|j19GEBp~G{QY=1G@Iy4YeTyBvR0$s?{2iM5Uo)A^p
zB$7!al1U`nY2;=gkEX=a5!f@Web9P|WywCE61vSYGq3if6IBe;jkx5JNdje(H*93+
zv%HT8>Wi-oiYTIrD7?msFZS`hw|3iYw%H@;`9`C#u<Vtal1M$TDFFHMr>P{8NhFd;
z?Br<7b5|cnGfuD^iQd}LEF~p)&xbe&ND2{!AQ^;H$N``X598+G5J}k{NE?_Q<XoU&
z5d$}=AtaJXB$7!agXk$B|0tgJkrAglTSp^1R|@RrQ^Q0+TykZp^53Bjq39zH7%-6l
zS}f%~kBupR)}<-)sqpaIf+%~A2jo3Udd^&RKusQ4g8@`KMmxf;vt?vM3;6|M(KA@c
zK!VQaQgm13<*5Y5i%)tehAI*HSR95dZp$na9wCZCav<$k&A(vbxLrB3Hg52S-d5W#
z)3U`FVQrz=({trGQ7<Bl>JElOiwUG5LPxZqDIy~bFem__G?zYF(BUE1+u!*V`!8k!
zwAc2t9jwNS<{R)T)0ReK)=w6&tq(}Gh_Dh)(TFe>b@A({i&r{nTeL(PQG84w7C$C_
zZtNPm;HM)7=ERBUKI&&>2EPr=$Cw-FNspD15*Z}!=t&OfaoydY>{(k~mWHp&ne?KU
z>`h+24B-MznHeooI(fHQyDGmG<olRmFwqVtFXA?K^mfZm48t^tp4R>zf%Fh#<<}G3
zEh^o7OPn<$zV9LGW<4y&-G(Ipjx1{Mz7XPWOq5x3<d999qp8|RZe$n>;y{q4;QUE^
zaqgDYzKo(l-BQ``MU7edV(Hh<PT5)f_o&*AKY9F*L|R^s_@%bsOoT0ca$aC@<F9Ya
z-{`DxCkik4l>SepPui#Y)QWd0ssYw^{na~mQk3P-ySs!WCf)hGLPS8sgF~$tVIw!5
z?PkPCo^|(PM>>YNE@2-e4SW8r^&g0^q#@Cbpwgxfhtq%uJ0*lMk}==ahmjD(jSomc
zvQ;^P1dPyF6eC0Doj4T9+(Sk&NdQbI^8YSV#AHSQ1W1p@vLX;DgJy<I6yuA_8PHvD
z8kNas;kPWblGe;v%xW^?%vxa}#zsLY9`wM&`y2`(od8Nh$f9%IaSy&Y?}@O5PUu7(
z#t<l>-8+^;R*j4eqfOwR!e=;lvR~6-tPY3c+5D1E+_l+jmenn=l1W{XyKGH3@JbMU
zJB&j|$!3c%_jyYN@N%EZyn;+5X8k0b`kadUvxMxU3g;eLo?}ov`yac*@G1Nh`IMnz
zbX8(K_Wdl!?e<V?kF>CA{iJb>ZXkQZo=_W-_?rBu#jiaMF;{g0l^8@x1F|L}V1@!f
zur_G^^wLM($p%KSmkf!TfjHmDddp8a_m|crK_0}^tUbO*VT)5Rh6ALvIfO2C9a<{H
zO@RZq9US_(@m<Uf@o_M09pAgnQF>rQ4$>_yWoer*n?F;7T#EyT*PeIluv&13uDc4i
zv*A;}hv-x3JP()-oBXFExbJ9!MPQxcG_Fsh@%iuz_%Shx`KR(s-s)oZ1P;s$=Yg~>
z**&xA+dVMCp-yiMM7zISte9YFc52`T^R_S9!uv@w7fzSy{^{j6{r@}bX7>TfR7`p~
z=;r&-<r|Sr1`&&x(8Q4eyn$F1#*^j}E&61vVC+HiyyHb}KNlOax!<yO2@KQ+N7Q|U
z1hw0Y4FJt!<Gmhw^V)&6lQBTbQku3!^#X!iw2&r}VH@f1@mgLKWdbfRN?I;}pxffk
z0Knx^x>ZCt#t=X{;l||W$+0^P-df`5?ccr{Utz&3;p$Tr+v0@4vQ+*5YqI3mvGKvk
zd#A(MlO;HlPV;xO=)h_bRD-GdH1>=)1_4|&A1b$7Ml6hUls8WuA4@TRs{LkhHGNFO
z_l%R72OWl<FmexXqtTAV)Nz))1Uh6+Fi33WU(sJ5!TI>Hyyrv<`d>(AAw5}YI%3%f
z%>!4V$VhqMR@?F83{gjj(_!~?5y*d3kfi8FpJB`I<M%1`sq9je^C?Pv3SmyoGN<cP
ztxt_j6xB;ol!|HbL2{=BI4Robo}k^jko-Nv&51)aP=tp!9`o!qEp17I0}_u^!-S%Q
z2pzKnKnASA@hHm$q#k)m02_)<GP6lQ!aDD^qPe9;-US@r9((>(JzqKErzJi|!A~V3
zoclWsI|I7Qu%d^u1JMrfJ;+TtsMl?(m+DraTtnf<fB<hHChm{`--9E(1!<LM2_9EP
zDm<PDos0A1$XJ3Zxj1erL?tOGZor%XS9mI;6pcwUEdV0rh5;Artlc~xh8sUQEqNGa
z@<5d<@ChMJiDk&6A(0?PTucfiVzkKQ^8+Tsm@Dzv&7*$e+uN3o&BxEQw(_HvAFXd)
zh@%YF;d3tso*<21vuJHoK$$WaZ+XAz#|s1u26PV9A%|zUwMn&b9Nemmv^7|Un1nO&
zJln}n6$w%=I`>Y=o@;c@l{It<q{VRo{TLx`b5X49+hv9p-<)B(Sl0-byQYf_oUBPS
z9Nkc7cPv47fZ;I&Iq~?n&4p$uu*MF(7BPMzA|ie@V#6TWU$-kZ(SjQNTB0+i7@y2r
z-5skF&_hjDtz`CJ&>)dQrVD`4Vd#N*MmU;7f(p|PMWnIdoV$rKCPU+rY6a?``I(Ia
zF`8Y8EM-a<8Mm1;ilTbAEJ`C`);lFmef_6+)4dHAYEQ;&wqYP)A+UDbq>}P5__+H*
z%=3s)??6x)>eFq0si?Xu&^u@e3gqv%XA#?qwiJL5p5IvmOtSQh9Ru7993C)xTK`^T
zvRorV9hoyH8`4ji$cN<#JWnAUi&(hIa+@4Nd~)bly^EO+5E#%Vm@^<_t3CHVrBGO^
z1gePoqo$1d9!=M*o;kuqjq+$XWIj!W0sYi{_91ubd->Q*s}Lp@u6i|jFk5BkG2{?T
za<ay>9kkEk_nB!qinii!PWo=f6ECRp$n-NEEXUi=EDHOXj^<-HGaih3V^>$Bagw|f
zaj;7X7c&+kyXF~)4ZM=xP1In<?u_T@>8}sB<ulzQGPWM4Mk6HdkU@k&+X#t1*qKWO
z#f6`S{bTh(O)<93HgXeh0O%$h?*Z+$@Isa)7*WHCScgObLecH%`2H_R!@_kmQm08f
zAp0X-4XxHG-{>oAr*fJ&p!>Ec5<ohl6kwb##w7ZP5AT9}(gVq-guk~4T4F()TRH8c
z=Jjwk9Cs?OdfnzpB$8cV@PW{P$^<ku@{KQ<glK$2?9!@6hbb`XkI637q@&BB%)It~
zd8RuU!u;M(QJL`0pko>J-CUY|BZMph_VIGTh8r{mh%5|T=PHu((GqnHvg6F#E{B{=
zDoG6J5c(j_LCl;zgo5qtJPlu;%RqqBK0R{bCQhV@6!oMpN4u2Vy8)&XGqwXpD-XX?
zGrm0a?_+Eg&yg~s0&Hb~VP&BbGlA(Za$|fyMC0ch&VNT(bxDO|F|@)x0JKtc6LVEN
zlQKZtPMXP5Q-~l!Dj@dxk2&bqXladVz>Bjb*fI~5b2XvGX>3^*J8ZUr)r%OoXw^hQ
zK~n&u@~Qe1%AZiBsTBJZzs@P@LHo*Tbsgu4I{v?9cAp<a_upIW%zesZF)Sw^ziHOm
z&@cw0A{uL{E?{KL%EFT{uL3mXRILNBfYczOe|Arb6UG#DV&S7>VAc;BwZBu4uO{~_
zV;hJ-MUK4erp8B*z=5)byUsE-%LD_AX}~2du|_mGt$$bQMZLCt&di70&X-T32M8RJ
z9|eh39cY#bK8gg0`xC!f*3t)<F%%k%9D`#UJ}--B+T(o5B$8H{H8ACiQ1==>b@+Yy
zuR5()nr;O<4@Bd)&bV)Yed%1*?=ndwlIsVG1IhzDf~k{F##z|VgxYJq#S+r&glN^u
zmz(V6OW&jdWHH+^9-aCa)>i@F!N`xiMiCYu|E@LL{N?*uj@Dtyo6vY5toWNHe!-<0
zo!#B`%rNOM5hB5chn~w*R+^}!Xmj>uO$_HqsK(lzhWbm9Q#a{CLXHqj&A$!rxPiKR
zkzs)*@%Q>%FHQTzcN8}r6WbfjkPDMVD3~#}Xo!SuvF13JlL{wdh}gs4J(?Yg_2$~C
z$f8K8xhiVlamRoc@S2!V=jqQjawAFS3#&N_ZSm|l;A_dS)ZWjjPX#`;El%gY43L`J
z$R34>;F;P%)=r|%I<|CZ(cVAmMLB-k3QJ_X*hdefBM&*$bp;k=z(eCGd(Slr2F0fD
zt#y~RXws?~-c>hIvbl6x+&F&Aa$@tSZ6A;1H2M6a^6WVXJ-9z0=mr!r1q2!hJ^=>8
ziUS3%3=JA>xYPzAg!D8{O)Ak?d@tcB8u^}nG4LAi*r=e!L4+Da5a5R3DykChY3MpE
z$Ye4gkf}Nm`>BGV@Y&3ZC=z5U2C)<(#1s}dHW*N((knv~L8`D@y3<-5z5xiBxSK+Y
zq?JkNfM?hD&*&`wUQIo9T+U=ynFs15n1c*N6qHdA@}M~w*f~rjL_|9npoBk1)jI*W
zUfL__7!M%vE|;iG99cWSknNR5da-k;WP-*T8LjH$BWPtA=E$=QUnDualo2m_c*xIt
zZ^vllVeE}{62uW6Zw~y<vw)n7c|h)|SHFOG3UolkBnu;90xjwZ9^>NwS<AQJIF>^H
zIvwm0f*E<(-`gI-P&}t(S~VuI+DUVH`lu4PR|~-Jso~JhS7-t|uxF65Gj^PG%uY=*
zNA152Mk;Ad2?{Fr%F;#Z4}*N3PHPXwWr2<IB#OVvt6cg52gE=D1dm{R{r&PCjR8eV
z*gq~c?DIGgcZU&ai-4`Li4eL`2fX0MDU7rQz`^#Nq;$`I-dC@0Qf_#24s&$y9=PLy
zpxQ&F93Z0XKRdcFh`CCq-Uw#VRC(fDF0ase4KVV3kZeWM+pkws-@>fnJxv&<5;~Qq
zq5}Q+KE6n*o%*K4G<-W?iYjL%4jG7z%f~XTi54hCah5eo4P|!Y96J7H{!RaGx_S16
zUrlFM?P@f2YvU}3xfqxxu)rKLO;zzkizlEkcH5>J@eWrv+lC2fD#uUf)*AL&<@har
zZE<V0AB(G3URo)*>Tso4>P_tU#}Oy-JaaU?rq@lwUh!Do+F;VIqtx?%GvgBL<;%ZK
zb8VX8IDDUnd&g{3;hyA10mVWnSiqoH=l~>ByY2z>goV$cvGu}H-?xiek^JZS56!5j
zN9Q@hB{W+1@Z;L%M?YuBu>EcdL_5h*g8AVO5pHg1G$_4fK3NrC5k??=|BtZO$99UQ
zs+y`#v8Q9W^+pRC$~XLDQ&0#e_a{vq2?%y@#=;n(@&{S7?lgGJkS0|o24X)Kiyp3A
z!puz*a)&{u`95B+Ho=rX%yl6I+)gHF<nSOvCO{zdO>hq1h4y0;MnOSJnAqdLA=K0j
zfTKDC#R^r+lX`^Lx+b_=f$?|-SiKOGmfR6v*Sp5+ZZoKc1PM>*T=rQvEV20Z43eoT
zR9nxM2mAwn2kG}Oa=<*sAtA%~%nn(D-1B^V4F}$-z&*<KkOK%>_i4F3yFpbxY*qdX
z6h|b|L{|7?No)p%+X8Ybh9aVvZ@=F>{IRB^#F~GPn5GVAKkBD4R~#D=V1p6*zg-i<
zghy#5!A|<E!vR4>D$<m_!`!VML=AKrEOaS6j(ya|99_Ay+m8wdMO9TY)|lm#l2ej*
zP(FxbUF{fxS&K8yzh}ewcsenYjkaKpcyh0p6u;v~k|CApd?sg?8#>2yHPI68`kA!}
zn6z4J8G!9m+CuJ3?gqtesB&4`1F?iXIZ3zM`}gF;Q#bQ_9lbQ<0|0}L&X79SJ>9k@
zC$=L3Nu&pIaO@aHx7)myMH(&c8LbYDV*-ui1V)rp^5(8yxSVhd@4B;x-HLXcmGM-2
zcW_W3mo)+`{twA4%wL`&HSEt5<zoj2iMTtuIJTw7vp8iwHm@1ot_@ya2tuO~SQ`k>
z7a3o1<%n%0JNjFQoiQTfjy}##WHOqP!4)izM}!n0&zozKblN-X@~A!L3&KoO6mTAY
zCT3byI(t$bzSa)|0_oCB5q(erKqV%+u+&e}=aND&*WVvuvE8QHv~8~6I277SQ;bOf
z@PO`jXt{$s3KumuW?0N=Cd?dbBFt1plQBDEBrK_%lKd_iyr!~;F|n?m0w!M0k7Et6
zen{`|;I@_kzCVWzo-l)MInp7hQuNX(Qb4;qcQ(c~^kPBXoyCHUNj#knf)F`A_pe>`
z%s0}Q;MMAOX3t@QMugbznTiip%%>6x1Q3T1I%Il%MGQy>pPbeLgA9i}J7ow&h2~mE
zoc&v!;elb9f&&=OdINDTshNmqA(^tx8+#-}QTm)l+Qc&3H^*y~KTP^sA`Wf|l3Zg@
z_3LYJy3Kaqg9L_=WyEzc;kJYeEV7MN*n<G*GEwtJsgH%U6b*7`RP2RoO)$Xo96Aea
zmW9Llk{x<Tr;<18+6l;MGQx1Mj?;O?)F5*NL8~J)Ub%DX)FnEW(=kDy_D@~7_bn+Q
zrjY9*<YaUgnFg%|mof9@yLOsV0PvVQ(<q4jA1`E}C5z=C?Ad1f_6YU~==pD2j*6<I
z%hOGfGo_w*>zapQG!&9YZh}6~PCQULiM`;UqQ##Qp4@0O;HM=s2#FwA=9U!PG3UY8
zj)-jxBf0N77)~k=xkE$9;ThB6n215V2+2J?GZv$5At5#`(dg%@yS?Mo_Gcd>*IU@`
z6u-ck##9NJFj2}u+u(++3l}4W(C|gaGVeovLM4j}9K!`d1*lpn7Y$xZJ0eJn6!=#k
zgP4f;{RgY=8}wWC_{}x>Hchq0AA&kCHB6J}tL}!wuXH6J%MZv!Pv8<T3Vr%S7I8EN
zs$btB&evy|$`y6SP;%#jjK68<HQP&Ss=GXNKc2XzVzm;sj3RZxzSXZ9QaoJI?689j
z#gj6N@Re`@lO)f+vE`#4f|9Sk!H2O7bXXJeBgGus_V-l^wV=^{h+@>a8Tr0WKW?d1
z=8MgwpDZR6z2$}#E@?4@B;Mor_#ia+*8TB1f95&3X-AQ<w{yM<U~TsELo6?XRiu8-
z!Z6|dhH#;iF*md!8A~sWe>{iyGY^$jCP^DsXUZpvX*)oY_c3+`m_&=cTFw@H>ef4z
zQ7D%#Hp8f6?SwDF<%}I$Z26S<pl2;Ad>aJ*gf_eH^u3H-?V<Si^<_;W8(kbjZ#~ch
zAVWkCp!VJP_ua5NBg?v!v%j*#ew$xuj?Ng^o!7~>rjuxYQk^M%(RblZzOJJ<+7Kb1
zeK!xHsAs7&vZI<{LC$1Z6}{V=L$T&e>xD6-gr)4d<)KSwa^25Dz@UcM{2B>V^@-yS
zrowe86lW+bD<<<DSAM*-NvS~%Se!yyn26hfHR*}BzXF<7jg>i~87gJEt75cQ9%}24
zd0Zp+n+o9@D`10#Ljo%=HbR=-kRa1+lQ+5}>f)2bIeDsxN>%t;oFatUW-|crA5`j-
z6>u_?6f3`Fz9`&I$CuCN`p>Y$kdLshWMoW%AwYoe6xhz&c{m-iJmX7PrSx0XfiFL$
zmg~d&GU+VSsshH=fdOVaIBca?8L7Z9VUAFMdP!HPefuO22YUlRYM`40<=9vuhW2zL
zj2$Xq5HW<l+nJVeCr?CMA;?h$rFW%fDM)7g0_0wDX>;hWVCN1R%)X53+4%LQWF$ft
zSI4qBAd{67Ddt^}g$avtu6Lshtx<(yth~(jW!U)!#)QTLb(&lfSUBk@+p;mb(H)UT
zXz-Us(h8aya;!N0JWez*_vhe{(Tfz{D<SLbli#AAD<kd6sDRK!j)e+s8-84b2B7*v
zxMN)2wk{&|D;U;{Tz$;hJ27pv*Bpm#^6Q_J_%f=JOljghe0gs)cztD<c48;aofHjW
zLw}-n>KjublQwdyz~~CWTLR2&!Vo*tcUZ&D7I8HnkI!}G!{<x_K%MJe)6RaU(G1Ky
zj1Ur#V*EJKX9*-fzCrp!eXd))7eV63&?T@V2qw`W-`myRY+`syCyfyBJNxsV?DAWP
zih4*3AV?CA+Y61LnbNy(;S|i-AZ>HyW-<-Tp<9iq$~I}bjk|f4vc)!KgO)pw&Chod
zw3m&TX8jvDRNMDzsx5nBKPBM^^&!(|O%0j$^_@^QY?=G=iYTx9b;AJx*Ece_eB>w!
zJY2MJu2yS*TsDq9(yl4yCXV#!7aw8tzW2@~qXV(ilGmHH8)+RGRR^jBb;tIfeDV@V
z$sQS$4nlI^n|bFB_hGk<Pg4#x)?s}lp7kHoZCL;*&#&DyojdSM4xoY{KnFc#4Pr9G
z&$B3R1|#+|mc>Mna-{zvY*B2Q&4Qt<XKVI;G59sHlqsZd18ABa#|}om3<hM)L0sMs
zB+-N`VC{qUU1JlcTUZaedsw(B3EQ#a$6QC;=`sca!}CgYY654xe744V^(tPE8tU`W
zNbZ7N7u^SpmGFfbh?yv$872f6-BjxP{2QxNHv$Of<n89yRmUIo^zl|YBNC3j?(Yhm
zezdp0zitZxDUsH(#$woN)qsf04LHK~n=@0Ptq21*QnfIcWY;T!P;oP~Y%0qwZEnj8
zZH{WzD9Cma62@ZWyiPcMQyh@w1q@nF^Kr&V*`i}cZE{X0F+*B)V552U(rvB;lEUCo
z;YYNHd-%pW8p+;l7Q`y5PDF%d{188>>z?G>48ro)+o8$&){`-9;a%H}$C>MYAJ8I~
zudIKm5fLTsVA;$*Ydv6|&n5CdGoirt;6}Zp6>miE?u2fl81G6!sGADXYRa@?TcB%A
z`?tJp+g!-tv^zlqjs#%Zu?~TH)#Hf+#QO?OweHjm1V6Aj&}e8vmO_E!tcp2L3$MKK
z`Ke0nFxLl0P7rn?>@+Nf7Fh!rnw19M<h~|^l%C~Y&_O-7^1R52Ww}27asL^kR4UKc
z!as`HLzt%BGSByD*B#j&>BV#EW?2wBvFq0`@))tRzhnbanYeU+25ZKlz8<Hw^H1KY
zzcI(MHE*3ZsPIv2c<|W5C_KhmW4jy9IPM=@3>WrH40MGMpdTX@=#m7}Vjk<#qK*MU
zqB#Z@*mYU0ygJ{v;S~a^1Qbd9=8YYd_D-#{7Q>D9%57|pIfZl>4|#3Tqk@=ip#lVC
zXL9w|c0@aP1+X~Scux#12WEjm2mvMtq2zw1El7x@(%X1}rpP5LXam8M%%5J?3-RYT
zsq9c2YG4doV5xAB*RwIXn3;}!TWF5*`UK>J3_&9rNIKI;pP#>33evoeuHKoH*7|*D
z2?#0=*FgfO&U()Ntr{V780UC#*~+S_T*!09nIjZq`U(hB96`{*_<Qg>1tUmDa-htC
z3;@KcdcS18@PpD|gRh*u@I3+NawiF9l0)Hpz8TY?I|dsOL2IbQ<NQV&AvLCQ_V~*F
zBzw%mWc9-OjRR~2bh@%6;;0>+jYNn6sa@RKSFz;Yn0iYkLewpo^$>C|MZ+oC5%tkh
zMgn-g1`S}rvLWY#ZJ`)ND!Wrh22hMO7Y?SU1R<d86*WaGDkiStM)}svc}Pk<Hx{;w
zEiIQAkYMSf%#yB`gtgw%J7Xm^uNn;_>9!Wf9l?N-n^`zJ;hB%S_FNVkG!gGeLn)X!
zE)&s~Vi`3^c7b#P5zKt)E_bI#x23IzeUnTzFXyJ{^9<a~Jx5=P<HQSZ#m&D*=FB17
z{{Kta?B|ABwrJ}$Op|YB^N3839V8M*QW?A?<$>L%9Zpn@qPUb!yq;ieO(Zn&JT8`&
z<DiC}F2$@4!!YLVw;@_>j|S2aA6A2(WcFoME3JB>Mk1g)Rq5Kf(6s%LFnl?~ge*$1
zY}-Fih5iEJ&fxVRJ7FmTb>^KOp14q5b-SvdK#+xv$M_OFuI~AzQF2OoIKcsES%bR}
zUJS)Iw^!LvPQx>^oJH-{5&WDUZu)e+Rxjf1_j|#D{BaRjMA+J))*+&sZWktqC}Wt>
zy}n+^)!dX?7qO=|2ub<q_SKH!TF9%Sh$uvBD7pHB+aHMeC>WD^q{pKnCw|Iu?>TQ3
z{2spk?Y8}!t9fA823c0sZLw`2X`8i0b#h)U?%dUCcHp=$U}GChNRAwi0i}fw3~Y0+
z<w-A-U=vJv^*Mr;e%N$^)QwzO*{Fc|)cCnRE>#EKx)5@y)+ZgIMz!=fLTy08Dd>k2
z(pR=W#p6#-XSlAPs5SlTO)1mgRQjE-zp!y%67qZ}f6w~kpHGERq6t=$$A^4s8H=~i
zbT=fDNYfjEfP*oovXd+*)T7XklLAPD$XAP!OQ)AH3W|rb0yQ%U2Ei*ndYhdRSk&h?
zx0DHUYao{JUA~nYYiyb3p13?QO<Ix*M04+I&-M4=?_z$Ad;Js}BwtCeLJ&`9@%dGr
z^pGLWhBB7Ee7tcDie{r;(;_iwfuzoy@|3c}sKX$yq5OWC)^c>GjP}DYyTpqwpVHdt
zk>D?*q)SWsFD%$hxPwH2Sr_{kEWIavAsrR!YMq1XovjuVPRc2+#R_pNKG!s1H;Y<{
ze_EZRR%KuWy(E0+-^avy4U~&_V-D;WL+yS_4*lb~8+u81Q$K7(RD32<i-<}(h)O<R
z9=KgMklB3s@E;@|>mX-#`Y_tz9QkA63y*41j;3`@m@|=s`jTI$5b>+h=~vO68t7yQ
z)J&mD2c#b!CQKNZN)XIb)7()+J4ql}mJVT!qpZ88ZcdJj1i}WiU~$tSBbI=05CREz
zP07gx$hjA&bk#t-3B-31ZP!%+kms6O^xW?6ZfvM&7Kq-ljgVIfx~$d%`$zMUg$d(j
zga%r_r6QO+_LbGgwvP|4x{ktcMC_`baN6Q3#{3>7{JI-sq4;MNJ$rCYJyv-M;pg-4
zd*A|k*%A<B5QmbSaXlYXFjv>o;uN<qIvltYF@kTo&4hJ1p+}*w?};f3d*mS~+VBAh
zuTHD4TpoRfM==ClfleVAWo`j~J(e^KYJb&2YQl?D-M#H9)t9z)UiiPi*K`r$nBkCg
zrA*3!37ICAdEd5pO0VamuE9GA!xjbZ=VGt2ht)nXss<-^=Tkx9@|4**dN^-qoE$fF
z)+)XsPnO=!{&>}B@{!L<c99b8)4@@wQTUW0jn5t29<g|xGB%foJaU}MJQKUS)`((h
zLfy=-iAqJK*=|uKb-oGUVRKM=uagvF7!us6%5X*62C!&o;3+lqyv3_Rj5X|-A9e8f
z2h1&;m+B)JOb;IPnz>DQ(oD0~$g%Q~q=Z`w<8^X%ow<FmwV9YCm|!Kk4Xckcg4Z>U
zp$LUC#uZ(33Cv9_Y=e4~QAW@{u>=b3TtT(Y7}Ap@g^5)tT~dP@wetHXflPGcS<ieC
z3a&%VlR7GMNhn{|F(Zpg&E=celSuWpj^no|;7aWwXypFM@B%C_3gh2gm&<3r-hT)3
zSY%hWFQaN<nEQ|$6&Wb5x7Xn&$QX`YlXFv6?*sN_GCK27W$HrU^&>?X_85G=ch!G#
za=$wbY&fDbEBYQJO8YA4Ea?@Ow$fPAcQrJZ1{sQUnIU7M%fWzwF%0RUB0fUte|>F!
zF}CNFG&g<tG;|FAi}TfWnd14lTN%kYnjrx?nPuA$M2wSbgEblJv8D6Pv~XZ5CUuHG
zOxrC;OoWL!shE1A*T{th_Ew5eb@bX#X9}BCqI6GnH;&uqfj)sTEPp}$>*w-oNXUU9
zE{A6nA&@xthcy%8oYtc@a(nZkq>7Kec_jwfFsh7oA_HJ_otGvXV1T8bVvPCupji^W
zHOdmvO8puJxV59044;Q!?~gDvK!(FHkBgUX!(S$R<`7z7tr&j|5D708rIkwdXxr#m
zZhD&-6xkM)kIida9#vR{Qd0K~;2+#^c|49E+f^?ZrR|btPEDNA;QYj3c5d2A4!f^b
zZw})lp87f^v$QR^?&)J4KR)f(5Q#QS!e2aTm`L9a>4!v6y^iZloe4JQb|_T%6*OVx
z`n;sI{z-;nzeb}BB#gAXeW=QAAtCsONMmBC#T5-fTeFFakTM+(l3|CvG9ced<@e}?
z>veU*edY=pQ*z|8o|Nr%r3g_INJIuXHo@@Ld(F1x*mue}t1;ZEl(Jzq_(N7f@6!`$
zWq0b)b`Gk$?jH_bUh4Gqp#6rffG-f%@5}nEC+aNQQMEqD2eOhS>Dy6P%ezSgBrVNi
z4uSNg9nQ{-NRB6m$tV1zS*qnzN-T{}Ny|CAB-#_9yJqw%J`1`b5{!&tTy+-5wo+-3
z&2g@uw%*T0{({icX<4E&E_?K|N_Do55Ho|W$NauLVb*h9rvDAEjo_;vi^Xf7Ibqbq
zw{AwDU?4j}G1XPyr|o*xgT>kN3$upY8}XmGiKDcFCWe8->E)w^>L1kx7b|0eYNt)Z
zIzVO+r&K3gu))OMW53s5EDMSv_qo#sxpoO)NQNO0QUcJ-bk+$a4Nw%=ZYQU#eV%`D
z?7SV#lh79v(w`(I6A=WgK@|v6)idMv`%rymtB*l&)i7{#uX*_`_gQNcFw#fGcF~NF
zp1WuZx_+DWT^IRCe{{x(>#)p_$W8v#Ls98v9rr}=J6)sKzWlet@BVz(GV!FyMG(;Y
z@D50lN8pU%;}>5?X<I-ixt=pO!W2$-l@x?%MFxVmXP&0k-;X|^qFfG+%I%SAYP8Z5
zkiMax?p$n}Wz&_-5io?0IEJ-_Od)54Er@A{%Vly=Wa&PI4+k_OsFSyL@yu#)Mbv|B
zjEE*u@~GTNcIc0`ps<@TqC>Mw1D(5ZB~<6C6))8ml>y9E_G8`X=DW(V#=5b#Y{Kyh
z6&MkC{?C;6(t(@d%v$hk|6PaC_uD>(V<TPX&&}8`$A~U_Ts1*ZIOoK(O@NjNqsO~G
z9Rn0x1}=qm*<;;wY$6CjL)}KfurP)cj6LmVHL!fTJNG+z?ZZrt4+7gaP5Y4uvtD}F
zHOGO9445+m1By^6Ir@IjSI^jw-B^-q8X+S??q06SbR`bO)iD9wBS3Oq9~?eS50DS;
z`tF{CA!1x%EI&VSdv;eCg`QW^nAk4+^tY88b=WhIx90Kkw&|G^h}mcB@=ATWb$%mW
z^~7mvkxGk4m6c&psDa7kgvune)PY3W2HB;g0$>VQWdOiGY$G10Z3c`FvsEUn*{mu<
z$OMnDEG9f{oRKOcz|_9)k7&|O5&lGz!}PK6QV2(`BZQ5G1~N+EXSLP?Yf>e$Y-UuL
z$f>r&U>sYL=<b<WMj3=A=kr=_KtSQ*QYL)g(@sFZhi_F4V58zvi1_F{d-U8`ZG+Vw
z^Cav;7>7)ufV3#i*^&*`yES|q2*uhoEYTiwK<usFl8=o(l9Yt~ekbgi^p=q*9^>CU
zPK$N6*4y8!J`t8NHkzG-Bw%!RTc<TRQRu_33vGk3?Wd$)j=tn~+D;X!>KagjbD7jS
zr-=3_kBII<384G&9AKOnRAG<V^vBbE0)wnRT7o?%ct59yu>AMTHnG>bTPvV&`a|Gf
z818wxIj`e<Q|QA?$YzJmXdB05`jGZcZJyK(x^<Y&LLgDYL@J_+cbL)$af4$wq?_wL
zFphu2R>|W3J`CNO@3)GOn-kfIq9qgi;i}IQ(U^eyI9C8A%aIDsV3~))H5|^O=z#J^
zV?gNDwXJ8a_!AxMYaYStgOxPxs5wZVeazuqfKuV)Q?2^20wQ515^t1b*p!N{-lY#1
zemB|q46QbIO4y{-y3`RO)R7W9r_aw2U?*2ZI=uY_ZExRG4||=mwE9T^{L4)qcft})
zJ*rV6J%c#7_SW5)&w*EeWt%~Oo8LPu<;HnmTa`;X*oEE`q-4e>5VfL@smA=JrBFdI
zcrjkBTc!M-Dyq?~uxqM1S_gU=y1vAx(YosCU{wwp9j=^$!LZ@`x_bPT7E<E2xj>3w
z!=5f`uBi1Ad3|pD)s2x7Jos2KttkM`Ky%KmAPai-@$jBWwN3FgIguaFjAw6c{ag0_
z+YQ|_Ew8;a3w+?d_Pc*u^mUEO!Z@mcv!3BR!%%~o(MOKf(kXW--Z)W}jBB`JgzI`4
zkI;OnrkPexA$tolW-UzW8nUrfDw8tEw$}=z4JUy*wWYMo+#?4i$!J7wb4+)2m<B`}
zYlfDJm#5_qLcI9`Rvqx;U_IlH{NXr+Yv1ow%tu!nF#6m%M7B^8)Q<-0Bav~9#{fO%
zx+f@vpO~}Ka}Kj=ShMP%Ed-%gk=W8=U4p@V5pKGfvYCmXG+fNuYY-mOUgi~O?lLb!
zvtI6S<Cu3YBP-=MNN6=G7{)QB=_V3GU{aRp_8?s_Loj$7QLT1Rgd~Dd71taCr>k8A
z$Cjv86|i0)c0)SDn~A4KF<|%GCzNqd(GnQsisD5kwzq(*&KO9!wg`d^FZO9Sn*oz*
zzg^pyOw`E26%~xds9`leHs2VQRO~+SF>SK6qguhthS3U@j62fmfX7lIo02gRvGAE?
zXqLilwWP8fUL^!br?iEnP?2ngxv~7ag?eEtZ!Sz7h;9X;ssr82@KU@b2WKu$_90Yh
zYrbLM1IlQy5*xQdD_dA+3a!1QM1}9W@iRAAgiX_qJpgkcNJ}h6s2&?S2eTgH(@10Z
z>D-5$<LfCM#wj8UMClT;@dOVDdR+qnqm8vaZLJk;eRb%0FocB>MbPEj0f5^W0td|2
zd)HHY_n4_Xm~HX;r#=XUkQ0mkci^+ln7NqMRf_2nGH!dzSu+wrt1F@r?bNPuHB!+w
zCji&8IaOLEf+GizrJb)y*=v_&$1b8+E9wVk;&IM8%Uib|!@^~Ov^geehDnMrL@apv
z@rhOs>P0(1HS}doa};RDBlLXG@%eK`1@p@h`%t`1YGjf~c~9O)Mr^G#9ayRMU9?H_
zAPqpiSv<-nQNk2DIB96}Iy4~};_93Q$&94PW$t#?!{R)v4waK!S+~S<_qb%H%`*TM
zk-D_3Bs6@FWzmK*<5pC>H(u5B<ujHb{T+4Fbb$u`*lSQKL{RisVkIyn89R>Bah@}i
z>K`0Swpj^mt+b8kQD9TLloz{m9tIy8XH<Nq6O<DN?Zpxr-USA@WlfHS!UuS6`0%Vg
zJlJ{9BLu^Vo5wKd^1q5M-`yErJhW>KT}m!It1Ne!l1YBlG{?F(sfs$(k?M``I~A+@
zC7m&&m9&zM$t46BaUw2eVsR@b*WF2B)vE@U#snx1aat4$j{!1mjCh1azmLN^EoCX$
z7_7AzLmFd)Sj_=D2(UC(iCvK)06{>$zg$|)`hx^7+Xr<LgEyFkwRiZ}CTzg~<a_Jf
z&-X#36$C#f4XN;rvqQHZX5oyTS%9G=NU5q7mJT_f=Vl<#M_)$wkr47Gg=q0WUQD9{
zFY5dpCmH$UQ0l;3InH{8rs)teFVp2ErkQf45WRrgzK0y;BVU>z$)PkS(X%W1?fD3v
z-CCkMkvEAY&1|UZZvKoME>x3x;iO>6F&vQfI;8LFX^EZg9D3&4D%+cvwWUMp%)ZAQ
z_i`H~vSJY06Hcd@W{Eo6a`eFikuw=kelAqby^e6hLvA_PsOJd%jH3km;IcrPbA%L3
zG6x^yC<L8BD{s4M7;lni*SgzXB6jZgt7E2XK_oxm*^*Gwng1e&${1P4>5l50vBraq
zWS0!7Uo-6R!gd$fIN3~5?>|uI9G-!U7JN9(`Q{)nCz*!HBebDjd5uvg&fNh}RcKqU
z9>_uvo)g~G5Yio|rS=QUBSl4yR|HRFi_jr)OwC5<W)<~0qAtl<tLVmne*TS+qZGK<
zgTnj>H%IF4>WO){(m~4Fl&7~vwYg@iK(IiLBam!Uo~m@UD{m<u6bc30ZoR1r#B9S2
zS#|aC_7Ny_9g~oC5V)?P{_Jn$><>4IqdZ;T4tkqFMuIql=<3eFZ|W+(y2h-xQ{F%(
z&yQHxj9y{%_4xl@4U;gG%cNTFeF|qCn`fYvmLwrcjYXh6nu?0+8(zIO>y$96PTkiv
z_D@FYpuC0>OreBfD;>U)1)T$1agCDIjD0m$qputCo=n1KDO-z2F~H1BCJ9NyPcsRK
zG#x5z_xb)&uq<rqG0V?kaD1m1AwW(uU$&6NlDU(y8x9d^hI4O&g-pdFo`FU0BkS$Q
zcBfeIYm3PEzE5`gFRuN!ii{3lgZ3t{d3tH%`li`IaO6Zsp1Q7h!$0SCoVoD#4?a&N
zti_AdZ`KtvBS@>h+-<h&w2{iiawni-DKR%YQ~SSwPX{>UQNgO9=MMas%X|puo!m1V
z26PXLo=}7O6Q(5W?JA#5S_ZJz@@!hORgIz-Iy5K;QN(d9As5?rEo*~`c!iw|dxSrC
zX6j;^Hs;3CkwucSut+#%-|Mr(1P8BNp{BHl%QiDsCir8B!!Rsj`!`*^3$|q&M@90*
z?ZhU;jK}Zzud(!Ck$E;zA4VOE?_$<tDo6xeN1#F!-L;oB@9n>`qS}qpB8Et3BpD!r
z9Wdiqq=1o-;=SZ`IW1~@i0jJ(Li8;uhJZwIq06*)BjKuZQA1Cq+(jKkwX~*par8eJ
zJP2IA*c>GjpeIej1_DTucQ{q=?%dbqDP05a@E9yjWh_2CFNSO6$@{P4&`q$wVgHdD
zsS_}w6brn*PsiiysVX25i7=0^GNAoOI8bJoP?B%1iL6EGiu012$xIWGwzWtdAzEDF
z4{V6p4v|ssq^XZVqmo=U6-&tmdZ)wr+9J~uI&QJ?9EtW3boRco*26l<wD$b=3Il1S
zns%sU%*3-5&*z6Jac!JETFdHe^$Dvzs-z|s40lsi<%Xu`b<8$C?LA?SCzxlS5Z||k
zs%9s6M|hft((@ZW)|bhI8p{`$ATU`$0qs3xIGT$l)HaA~=`7vJC%&6h7^p)Cc>~fg
zqX>Szky4bS(PYE;#KSuu$(uwWG_Pul*(MpLO=HXxK^TlArq3mG{GdR4P5c!8;#}tQ
zsxYZSrJ{&~LmqPpj_zaF-8w1BY^WUh^FMV&Gd<iMr@lb&l43%nO@%%EtVMQqYuP!6
zs;vPptS4snAT0*1@a4s_LpcFK2<r45(`LBs5{p5TAmCE${5&pZce#wbh0WTFHI?$v
z%;}@XFoq8&b3&XW*;FA(nK%wX-FvPBZt`I^lQuE3{VNDN|8eZPo3DZlcz=|9BaT^m
zsOPx!FLTlidCdlafW^E%ZZVQb<}u1VYI)NLR9zbi1g+vb#oB$vSuqyI#L3bHh{-3^
zW)SvK<l|q{vz}UGDKXFQcypsgav5eH6=tl6RD^`fa`Cq~XsXs_QEBQb5UtTbzQ%AR
z-v=AS*txMYt0Lvw>*(R2*Fp((3ib^si|BzGoEVOY$BVt@$(v-;Olw}MqsA*;Q1=bT
zgv&M7@S{}5u)Mhxi*g`7s4kO9Y4e>I^I*s6Dj`ck*iG}9sK0GTh{SqTSX-(I_$TeY
z?3GN%8)`dEW>G6*^acTLcJ04wG4S)4>Z27XI9UCNSLiyWO?4d8Xqc#E?bf^sU_<X6
z;Lf%ck>KqV9Vnc%QOs1Lq^C|et#ObpOzrV?DjUEO5j$&Z2VpwTqdjmUYAz~+=pfce
zIgQPx^AVp#Qcc|8GlRPnW<&}fMtq1d3;faB(3^Qe=Y21)Y{ZDuja^k3M!{P;>0Pu5
zC~474J*JA9mi+S@aXlbhjmGWldqzOjQ-Jvi$P`ReMP90EhJQ6_B-IsBI`d=7D0{C`
z!&H<yk%*xPA9Nr{GJIrQ_E2#((_Wk6M-C4!B-6#<Q&R>AViS)>(b@D55Z-00QoT%C
zrnWV;{BLQl(;|JI;NQ4E3S}s&gA<riQeB_nK?&u6(MvdS<&Ns=vavIu`bH!n0gBe_
zkD2W_`MS>3-V|ff4>WjiWOy}9jXhj^v$5lZLG#SQO*Q35T7qhYh;I`nb|V)vbU$P3
zk}%Z?pfEt_XJvY7r0`903=>Uw)uXM;Zps~(OYamBsC4Q?ICusD=f_`3KX8EX&^Q$y
zWcrY3!wX$--GPEP>1&CPUU@q~?X6N(xInCalDBB#SelSE3>hX!T}~z(GR2Z^X7=v1
zDw1itJG&&)Y;$gAnrp3i2*nMubK`G|Ny<{V-pIlblZm%qhOm1x!^q%KuM#P#qM1l<
zwo&;ac8M3@4H%yb`8*GlxJ3M<aHZXo$RcT$c5`aWIP>C~M#_h1s3vsj#)yQPZtRry
z&GpUuj=&jJO!P7C2?#jDBZqsoVuE3cHF3939ON=2ftSR0GLVS76HOi5#~pflX7X+u
ziCl+6v@{U;+(6rAM`o#!r@O0|L7X`Gj_bj=^B<w?d17||w@rS|+2b5k;T+2(YKd_Y
zEu96_W3Y-RQzY7%eimVU%<2x?pxXHD3BltHF4?x*ghs;3d8?aDcI|EK5N@&|x|^Jo
z_rpdeI(HUo^z1{YRR^j`@dl<AL6B%Fhr@lCK&F(wSvq{x%dQ%AT%B3k@rp}y?Y)v~
z+nI}H#hAIe0I0eflo?#N7e)cpy^(g>VTW@)jxog!1$28-2O?>sPEX2usLf43fe39)
zsSzgdPZ2>RBSs{9=UOO-pr5@Yrysw1&W#k)kRLQ$$yk;bBx+-}X`-Ik@*&GAYjB)q
zP0D)#DwB$s2BF7Xr;`VHhBfS8Eib871yOu}!xI5-sqwPZN-JZ?y30{P!{TCu9-u@R
zAR9zGF^_5439fBCJDa^XLb=J1)<fIIF3{8j?Q_6jqGSvgl&e-X^4Pn1>KevbvQ3+G
z_!_u1TbZ(nq*-*i`nLgMmJ6)7diB~664c|eWvoo?U%#J?+XNCR&8w6pHn8KPCg^6+
z>u5R#-6UdHe{t!N#M-zZLJnf&mHsUasL*z9=0POO$u^(LL(`vO5lw@g=v#fOrkgRE
z$luO$kiu*@`bO~~;GGfqP79nSLZqLlekI8J^bo?Pp8lcW)M+_w_heYllbmq`H>&1;
z4C|dHVSF2h=nRA`5<`d?lbrrOiSAFf0}kIMA}q-eZG9SNQDvsqHJY1*JCR<DDy6WJ
zz)dGRZx&Q~(!E@|x4^)O5R!T4D7#FW@$tnK%kbY2IcFnS*3ArJkt5fmBJj1{Qd9Ne
zCf{{NW|MP#d+V(>Eh~;@GRVpPHBW2Nxz4uS4WvAR86ruvvX8+5kpxNkyxmNljn$8v
zK+cYVq*t{}sRPLS-*VK!BvK+o?i-|`UA{^H<_6XqTTQyuI<tV&sn4-p79EZR_puLI
z>y*YGpFzXRcP95;$UyUAqYS`)bR=Bun)-8H*i+U91lZa_5<rk33F#9u@F5IVf*PWm
z*k(*oF)&ewIVxy|n3;-_k`R%iAgZJ%Fk*tLAZRLKW3YPre>Zygdy?RYISmFWo_m|0
z4sKO6$wUwf1ceGhO0rUiv>KQqC+uMz4IbMMzj%k&uJ{A6m3~$siG=x(7=oZEDM|=C
z1S*5e^F?Q_bd($XkxZPs`@X&Ej1zKcFd9CQ$*i?FZp!5R_yt<teEc95sEW(b^e{PJ
zQ%9@fI}kd7*SFO;yzCH!gOOr&OfF3g53BI$fhwv5_+rp{6e1q4kDe6aP=pS|^D67G
z(T#AgDE5!RCzr;s>^9Pj7LU~xr;jUTBF75TF%G59&>nsMWeiBYO(nRbQp1@dS!m=O
z@V*$y_4r^*=fq7le|E!fo~mUYJbb!2JE70n-`B$&Xxi^(cq(VHtqiE;D@rtJy7T9N
zSI*AG_xiO%kJG!4PIC}pey&n0)CM7Ip7Ts=i-R(TgkZgE(C*x69iz2Dzd@UT4X>!#
ztcf5-M$IzUGDX=E!Q8YsNNas?V#!&m4zqgAFac2{AY=|Rii82@D|Zfa_(UOS$?`3I
zc$gGa7SRllH<a5SC9%r6+0R?kZrr7|1n=sF-1PM;6~hIM%(TY_1kA5?4SSxN4H(%S
z?8NKky<7}vOh{oe69*?`uhWJ)&7EPMDQV+ORczC{Q?TKAqS6K=veeuOK;?`t)H`TK
zfM^XxdKi*qBy5=iEw+BI=lh{fZxft1BXz`B+AZ5=v5t~wRddRa!0BMO^G_jXv0*cy
zBiT;d1wOM(Bv>lB8|GG7RUuZN7tHJH@^t*LCnL}HOr=B{_rLUiO${xsMh-EKS{qMT
zkk04Bwb<WEZ@c5t(Q7UFYZ1{dr5Jd;kd4c(68Suqm!hZgp36sMRo>FF>+3gbG-PXO
zZq?}BZ*<x-{BrbQM1xa^{vultWMqd0CiIJ6l^YrqYHrj8(vY^m^{N?2U!%veGP!U*
z9N36or<P?(m0nz<nAEKfO{2E<mqYSK*7UXL*KU*FxcWk~jD7r{Vjz>^Ug;plC$T)g
zIHy=~_VTW?dVdTm1`JR)dIJF_OlsY+r)p$)p>;;{OXwTJ7ZA*nEO5Z2i<96Dv@k#n
z?lhEac%H(}*lUBxp`2@wV#Co-ct@cF1^#WvVSqp~(hfA)_rPX3k@M`LESURd1cxfe
zaBes`!F1KqVwkWuM>lt&Ly+43O|UW-d-$HGgVn~I`eZ|`7FQI9t>A(><1}8uYh#GY
z{grKd^twmdjR-76{JL#(1q3b(52)_or)O!#aeR&sgNL}B^mjJ!;|QI5C{>XlzNp_u
z&iXaAU(2$AeL-yP&gNqFV&eUV;>NQ|XF9mMT10lVn?3q&p3YULpqFp!Z+SaU&(P<d
z)cMjZ?%>f6kSjg7FDnf;y#5C6XU-cC@Y{`54b_^A$T3auV8M%wV8rW5(R8Kw<Qgz?
zp)Ugf#<_FFEE|+aG*=`fWu1EZH0;vM4QdRw(k{%hl+fD{4YdcPLm$!!fzX*0^JH*i
zG|1F+2_%^`@ZbSG&!bw=_Ho&ZfN&ek84x`ttuVF&+(v1l(RS2gL}&WZCXhAbwpu<%
z?-!PQqtrSb#CCQLTi6}()`DSr3L&!@bZS8}YQ8J{4e35&Xuoye*TyPS(?a^f_vICo
zjOQ1Vo4NWJFiqkcQ=Jay3cVZ+8Oj9h5)?1zZHb#FafFapSeqPZ7aC9rn4)&T4%4e{
z4z8D)HxZI(U_KMqtQZKfGY6=&%<>Jj7NYwZj(h2EEx&>MUt({g*~|6kuNktrN#dqx
z;@i3TX|QW?0g!?Kfdq|HeF*vNeAzwX5;rIcDcDwT48g(9P)Ug$_hD(C&t0LIbOkO4
zAP{l^d`t@X<JAH+-wblyl{na9Vqcd$8{HB)hMg`oXXmr^sW=*eFb>||Vy;5YwGfgL
z#tCuTmnl(j4giFYbwAj>OsvnG2j;f2G|pj@1U}}(vklHuDr5`>7BE#~N*tjS1!FK4
z2nZF$<}R@Vi5Y2dU^o$SX}6;0NNosbN@p?G%y#yBA|crFe3DTgj#{?<yXTG5QaH%x
zK2F!P4O>Uz`fq)?a`GOW-!i*+eP>u$5~U!>grI(&6%MGH3P6)`hfN%RoMNjyKBt>|
zDR;5FV1AzFAuI@lSV#5TshBC<NVM^ZcwD_+lUr@`kqIID_9skx4aW1Iu5dzsIzIK$
z!M^^QxZU@jAI<iA7}Oc*;f+|HA<;lDuVaM4o^`A>LnwhnTtGmy?4ft#TNu^C#F@`0
z*>8nVCM_U{6RzzW!bv2p`-d>hWth!Gm;_&0FI9J?+fvoO<S^(p**n{D+D0;x3tJz8
zwD|P+mLCRM!n`j(7h5_z!<}L-BN~F;yDP-EOO=7<w(L4!t#WQz#Dtp_y9&Y>QvPX(
zq{eC3SySxbX+Yj5JuN{=$bQ3fl+n6YVtaP<^TyaUy>}yNFo<V#TYDk`1DoY=xyN>Q
zKJ4+oDOxK9X=WX~&=Ko?MjHcB40fT;vw^(3vl*6QPoC#w`vM$X9c9m9ml(Qsb-z|N
zxL%gczOxKvwBv@xhi2;+19TlbWwGgJWhUaq;=1EmS(vpK>4|36jw(sL8RJW3G8s7r
zmJzy7ML9DQ8H70svF6ooytv#;diwzELA;#DZrnF6;+lGn5#?K3Wj!M%j)=&Lq1dOt
zM<uH{#!5atn-ucSV=#uyyDs=Wy{Eb}&bvczh2l)pjXrT4JEP0JH*UDHT2_xGtavdU
zhN8BP-Y_>sE_rE2MAwe;&h-M$2N^OihZykx)x@xHcy<jdLIu!Y2g5EBk`BOzxt&iS
z)blTyxJaSL`s-#!W5;x$@tE_&oCeGCa~>Z^`14ZK)b{t}_uq|e90vO=u^w3^%+%wz
zc;GbAWJYv$jyK<)pM0E|<Bs0A`0)PD-m~J2=;NYZ4<|CS<=zV8QLPTD44>U93$|m^
zHT&v>jK6=*=B3d6Su8;)*ru7;Q7asXNix}MYmrigLCOVa8$?YLZx5G!F~r6;xvb@I
zu=!#6d=2b{nVKtdIkM()P!!%zt7`Z*p?o-s5J-^RImzI5t@Td=n_0{hs4(|zqNCqj
z64cG83a<oL(PnWtH7n;+vjT%GBJiPnl8)({%tkckd*TDj9<pG~^A4G(pDSu<E?~9E
zam6fMDqjz>Fp50f!P)c3KNtoA&u#g5d=1hYwuffQ-MQtII7Mi~oD_YoU!Ga}+k2l%
zU#<0*e!LcJZ%hjyep=l#HxIRzCy4AXPVQ^VyNgH;iENtZd4)Qc`EMpuHMD9xvzlSq
z@I@nRW7!OCq^!ZiIr~+-9h(uWaXU?%aIpjs$$>*oelp&kgpGbb7dwv;<+DeV&X-5O
zG2ZvzlQyU?x1_c?wqsR|+UIZ6V<78v+@bP!IQQ=J&tsWAYkf%|z)Sb>sqZ{TUkM1E
zusS?T_ju@(5dW!DND<XH)YB?q3n=ksEeT{rw^E}z<gbl)iMfPX>%WsRiWs5pF(g}Q
zqqVqxRxq4*=k&#)nd6?Q1QB+O=8J3bK83=de=!{(lVQzZadFB_TC|Tgvy%o>Ws1KV
znKCt?3z7`P(T?M!#QHSXR<lsvi4Z`VTZd?CJnf)lXp9NmP_9lHZt`a%kRU;_d3e^k
zcpe-+nP_y)-<nkTe}z~=pT6OlodmX@uFOs7yT(_OR?Juv3|>{2)-aeqLW?oz6wY#_
zk|4m<MB<S3?pKOdEMZZb#=Kmc!V@5JAn+btHOjx~3_k^2`ssbCCeH^VyrW|Q&TE2A
zhun3^5%!>F@f7oc^@<-Jh_wrfKp{1V<el*6^SLlWG8{rAJF(6pvM672*-b&V=u4AF
z40O^0wyb$V4WN0<E#}bANxL!Ti~P@2=6iey$9lq?Jx`bPc~@+4ilZY|*=>Xgr|B&*
zi){Z$baZFE<A-MtXS12@MeODmo;ywS8I;1mI#kbGzCFV0By5SQaWL-#NrR#t;6#a}
z7FCPUuMud}{UUwn&1wVmakwb4+cDDwKb*gESZ}Rs8d$|QK5_czwWcRPz(^x~Ln;{_
zpB(mCbQRU#^ye&>rX1U^6rOq|X_BHfhlmVBG7Wn!8t=vKSTkP{wLbVg`9ii+UVDmT
z!`J5u&s9k@scUAga}pNetOX92$PsBj>N<4GJ<=Q#fj^XC{U@X7MUug*=bAb_hnH``
zrN@L4da2(9J#f!-r!cCIb?ia}-(+NiZnpvR$HViz*Byw6EeCiG@Nhxq8H-KTHz;e<
zM$ui>UPCyJR;95wsX#P|D;~WTQL@{K%)_Arn0t;^Uv|xpDK-S-mZ%UK#MP3EPbVbI
zm`lhnI7f)lSnl3Nm?tSLpdBO_MAX}tcRft<xwCli?KU6QVD&;F15AkZ1Y7e7#+L$U
zWWxc092I~#H$S71k1ia|RM)!?tdBX@*R_W|*Gs7nBJXhOAqfc`D8j4Ptf&z~bt8k>
zNXrOc7-nLRF~)LJ>m=;3JZcTlr&mhc92O+R$IC&3`WO{UBG|R@anSV_I2Kts#gAz`
z0Xv=8Oy}M>*&!PSHsr<^<X2W|cBFmU)@wn8VSxwDiH8w?IWF*vg#`jp3K2mJzz{%#
zBnu=brhNxn=}?gQ84Zu0#}{6QsHX)mlEM1j_YDUGb_i9A5h9Wxah=2Q8qyU~Muh?9
znt;KeXeZ*(VaE0@F)30PO$cPX;2H)9xFQCuM9Brq4(a)D9uFt3IPwZ&iAh!@GoI$$
zYO1QLwoRlB;aXIkOyh`-ol8ls70F8IoaA~4F?$nES|khDZ9O6kwoFmq4r2`pcHUs+
z@}3zII`f1PyDQnd>cFEBy0Z3FP_{cltB#t894&^Z&uwz6F6O){%N=0$#VOu;yY<<#
zzh-#6R_9Y83`|obclo?}<2@I7mDip;w1FidTUip$g=lz#F|ry02nKDICs_}NE#{+r
zWOkp{YWx@i3&b<W<1gWku*`SW=KTH$IG(Kl;tppuLR>6w_^@kD<j?!tQ^L6-IAf0t
z)_HE51?n}gVG#~q>Wmsqm5e34-w+ER?XL&6NWC_4aM%ZZ_Yx&l*my?r!)~a{2{RnR
zO^}_1hLp!WnKM*!)puUL*DGR1XAsw9*ylcnZ6LsPOH#%Rpf-E%AnifHos7gjgm%^r
zF%UusQ`?~U#H^@7D2Ed*VzFq-^E5W$hT!6%njnZeesKoat1W{RIyR1m+lCBMocT3~
zw0TLA5SYLm?-UZgQZZ=Zf_zp3h*~=%?CNt8Z+;kd#rW>#AZkJcBLU8XYjfYb7>_?%
zTqY>)Tpz{1HXag{K@f0|F)v#Y!c0z>js{?`#UUo)@t;AVjM1{Z_1hIfNHPP}-Q;&<
z^*x@fo=o`z94YrhHxsz8f?e2c@jo3tmrlo9cK#K1m_;l#jzNZV;3E{x?qghUX>7-H
zmhI^HkfP$aOW5`GdS0~7?1H?cAHtK<%pKdliYXaj<_+~qP`aM_kGc*H^sP0u&B$lm
zU_hU`Db-%8sb%B!T_)*PT@|EpE_Mw`jUXT$F*ukiA%~fMyQu=sA!$n+lr9J*5r<|-
z6KX0s&EkET;2i2?Y#BI9`Q01scZs$T&I3e50%VuSidG$s%w=LjK+|AS3~8a5mAK02
z3`?eQ-j&!5eh-oevPy{{aH*_15TJU1A|9YcqAD7oJuPvOgXx)bH;jy<U)f=vnO4E9
zY!QD3)^$n$1R>M$Iu5QHISBj2+o2C)w$6$`hhQ)ie$oflNYs94;DP&pN9k};4EdyV
zt;#y%u_tD6;O?M{8-KLkfV%AyiP3Q=l{z0)S~(Kq-KXkHB`v=hZQ@Q8k3gS`qLMT-
z%i8=mc)@%-lA93g=(pKFImBLXPGwhi+p`^}8Q5I@1RupYVLE()FMp;~p2^Zy>L+m;
zv1mb5JH^blN}ih!2-o65HxAs-cj=?~`Y{!kXK%yTGBOc}pHtx;FP~jvpM2oqOINvy
zO)f$kP(H;=H}`goQqse+Lo^qRIOWymTU-0Q;PSHDoLLOlT;L%v((=O@N7beQ0V?sF
ze_fWskLOwO*$#ACMz~f>K1504@wickcW=?p5}d=A^XDY%`e0g>&yfM~@q}!Qj(=av
z!LS6&KB-{R{$2ZE>`?k=cOo=B`}6g)98*X5x6W8N7^jZe%b(x#-6mpeg0^RB9QipY
z!uu+e@&*C(REbeMV)?K;F_)78t4zX&Of+6$VX`<+g$QWf1%uNVH0v*Um9)kcwIW3A
zCzX@(_fGj7Lns!e_}{97>T-3n6k{m4VbOu``j?*1qvLd#LFYXhu(h8khh+$}G4vza
zcQJ|g>b)}YiPD=_v@WcP)G1|bJ9_#$nso6E$P)u~vu!8FdEG!@qYc?_8c4dzaMJ7~
z(+(kHCME^+c0BA;ap^y8$50@!EG{AII`aC*bI^naF!lE%R(?yMiEpJ2rHKoE^5+8V
zG39x&OgV$A7*PSG>Xiu{&hD*L`~9vBQKlapV=EW=iuXqf1IJ^G&eMY$Jn;n{5Cbgo
zhVnfGaWjab`RsAHq9<|62vmJHAFy83pH6u@KH<ioDv>25V)U=EqC%0(9GlVe_`7&C
zCc;a^BN!qWOTrVp%7O1XLGXoNW4KeKz<yGONFp#xkPgPaso$9CX%AzD$J%D&Qj;9{
zY2ujEg0Mx-|K_8D^$@~BECt>RPK5is=K$znj%^ss5;G)8MCn0c`^a$u$i>%M)Wpop
zw6;eMYL*2=&_yQ?Isx2tv9@dlvVN{-gak+xv80Pw1eh5sH5LeiI~Lk?k_!ZCVwwV)
z)~TvBt+4E|h;ah}4GgrPL=mt=8n?5%J>K1GY2m|dDWLDN!5Hfg;C7u8Cthkvpl@Kq
za{vbMR*fU4BbA!xCdC^D%TI5^IdyJSiRw2YVBmr|TB>CO;9g`<MJGhg&N_BjI$*jE
z%om;qQ34Tm#eDu>g8iSf?){ukmdo%i9XAv)G{D{*Ht*r>nW8om))60DD%piGB?&bJ
zL?sndRS3{h5HKXuK#)*LI}WLef(eEwf(cah!WmT+5)Z*;Q6of6EF&z0Bt^_y2G~Fe
zMwzIjf}o<BLW%;K1d2%}n1})fSb#bbhI)AGCISSxoshnS%n(cw=f&)R`@Z`Ne2|rE
z=tRT@%nHY{yFcpcuk1M*sO=Ra<rlTZNO-}_9uOh@b0pk^y4K8Eu<4_JdHS2F2^1$E
z>iO<Rzf!EBg=3Ct!^`8L{NV`~4S%J51N`|$3NvPEEe-r~`cJ3zL{t0=C~6SGK&%q&
z)c9!sR!t}C$(;rz&=pm0)bPs$PzVxawtNOFENm`&q>#a~vN(DVV}7U>wQVkPe|E{K
z5BlxUo8~|tk(k5!c8}vy)urzE%ST3{tO)I_-i^!>_Wr6$t6%i|pM)#EpS%}P;4x>%
zo9j48q1Ntm{hu^WCoYO~;XwCYa3UU<eL)YT?X4CA_=t(~Lw?5#iCR#lC{kfGe_;WL
zV5lhw{DQv>_Hg_NpVA@j7$L6KIv;8Jj5H>R=!qI6!OTFwU{0eAA0!M%v1G<D!2v+n
zmB26t&}76!ECo8l1hHboB0#b*N`L4ZoE%6v#emF%5-}}|ItZePswyKvgIf-30<#oE
zqe$q^wXlfj9dILnTmr~MvN~0C)N~AD3z*PRNu+d8L^Oj!=yu%*;muF~H1eR};|+3L
za?d0K60E>88bCNlG?D+Kj8W(gs_>iqz$l%EBq<8~OZz$;Je{AK2L4qLKK-fzF0s$d
zhW>+NwM@c+^*80LX7q>I!^!yS*1@oB2(%oeC`f{jybxs$yuQuGpNr%IaNufeya$Cl
z7Pd$fMQ9_01nywu`x(#^{|7+LAv|Cpzv+ysjU;R#zXW$|Bg&4WN|BQW6u2V|qT7-G
zH=DaSD`4-JJJV*$D=4*R>N_|7*E5owPzXo>;w!F8+Hrb}hE>o@k;vQf9p^4*N|R_P
zG~B9(%s5_cTWz&fRyM6cRTWiLRZ(0yr|uEV(bu`V+`XGCZFDw5D1vN*<tl!^M?(1j
z+g=yM>@n$I@4v$U(*w-hTGgbWsna2ApwZFPk4HR0t`0cJ#^X`EKWqMO{xhbI-J=f0
z6+5CPBfhy1w6*DjXsda33}l?(N5l|lXpvILqk<op@;mjwOpt6T;n|a?Q$ur#{L4GP
z+K5@bCOT&9^9_t*21uQwyrm@}aN}{UUBRJyg&0W*ncRG*HH4|Lr>!cv;2=C;9S4U@
z8l|}nq?9^@a{^I(xQN(*(Z(YwopuLiEc5gh(}Uk7vFnaPxjZ4PW4-0<M?-@ocVP`)
zCRIOng3cglfoq_@X5uP4IC%LH5>5q@9oVjsq=qsJY}ObsP~nZGsYq@M^}t8{(O2sv
z3I3P|`PeLH^D?$%cloG;Oin-s&~2C{DjJpgjTi&}B2(laoI1}Kc+`w|SiUcHNNIQ7
zfJg2=>;`z#lrasB;uODlfa(nk!g$oVa75AnT}Ye{!s3#E!}QOhA3@u&ZkGjV0fJgi
z50{W!1P%h<Zcw;O1kf)iKGFc>adtGw-}jR1nH=<+P+O2-AGLvmP$a;ZOxS;Kp)W%I
zxcytAe$S|H?h)++`#}6DU!E=R@^%>C&h;oRfgQi{PhGvECO=M!y)H-dX%nO?_V$)+
zm~uG=VrK}aK^h4<z<vRMi2fqN1`u3DD2W0*#t$wO^(o!`pVjD};aT+dO>og4qZC{u
zKQtFl+0x9LCf53<BI94hfdirl0VB$RAmzux14*kBi{7E`W9YgiorK}X6ZrdB{c{Q4
zH&B>A(wLetOn;IP&|`3`Z?aseCgJ}s|LOCc4cphhpSSu$F-7;t6e^G54IH`t_LSI~
z94b@(e7B+Ow(19S%@6Gu2%0u+1HLF3i1z0gK@bu`HR;_JF9X`kxx`{z2`vr(J}QTc
zNXPaJ*+FA&F@AV{d)vrsIv&&NbpqH+zap~bQ@Gnx9Z39d7#tWwP_={yJRLMv{qE9q
ze78P))Fx6$wU8tw_u|gQWv?XAv7X>eMHE4`p*3-D^i*srElmqmHdJ$_*o6C9K^Z(f
z{%_+D{VPoBN&~zgGvfVfO7Z6n$f2@Tz}Erno>_&IoMi2BFUwgGyB7UAsc(x1$;yaQ
z{}fs%gt3GI?1DT6;rX|}+VJu2-Lczbx@Gh`3-dm(d+eH=2_Nxkp8vH@EJ|E1$BC|d
z9?lc^O{wYFCpgR`<*lmXe|pTf2!1cC>2789qhnQ`7_F+@W+8#dPHJx;G%<|~cu9+X
zq;{TKjd8JCb@)h@z`)5gn;F6)$)V2UvLTGi&Ak*G4VGrPOfH$&47XjY2^=rBta@e7
z#@Ut@7tvA!iK$cDIZlL#cGf{^#knGm`m)y5SzKyo5Yc+!8|C6Nr6(vVKHhzhzNx{r
z<5<7Xv-E#H$(pUQxIzY)xhP-8{3vmwYKEv0M*g?Ilg^}H<*g`5u`*9JS~f=owy8sO
zI{D%$J34IC1N^)=Z-{f6t*Qoch3@RkxIXr6bBtE08u|#xc{x{;$>iN_eD_~oXwR8K
zu3{Yc^9i9RFv}@&yGF*S*W>a-3-TB{jj`=KyJy|n$--xW`t@TB&zvw~6{=QYm#f*<
z3ub1*y@cHl>eksDaoa+6Fr63t!@^{WLwh}l5I(+#zBY9H9d?73R-IHN>69Fh$TF-f
zt`oNohVagxB)vrRWUXfyL(rFTK$7Hh+n1A^g(j`my=0y}sv7e2j(#-IAqP=7`Fib~
zn(s%o_Nf@r=%iRLw#7_*iic9?J|bsQ`$J@*(nX2E9I^)%I{Z}kFseCJ^@OoYvB@2H
z_2`LEOlYg3JJ<q3`i{W}`por8jZF|3fCz(wh`!<$@YAbV5}>Z9BXHWvx)Km%5>E{L
z<}U+5HQ~q4l;QInlVn!RHaf<3ohu-W2AVgKwQ^I127;-=gqu#**EikauqKeJu#JtG
z8S`U4@KFsWr=eb@nJW*A=aD;3|4#GQ%DZc}x9v^g29sJa@5-4Ew(_hfHoF!2XVDIU
zK<A^xjP@YbA`xuM;PAkM=o4(WuOhl$)mvJI&Szq+omyaO6@5s1DtK8pN=edtP5m4y
zY^O(u4o#43XqX-Pt1u*D$z+F<5RCB4aMo@|*JS#h#PL(-CTK`<lY0G--viBC(!-%S
zz{H+!2PQkX(}~Aq;Es7;0HdpzQl5k(24MvP7(>$(1jYx;<|RD44Qxx#oau>1<~6NC
zF&WMKtSA#O-*cX2hwhmmse7~pG#d3m=54G$)fEPA?(I>u=1o~dmB{(6@TFuPjrXTq
z@E5C08k6;)6@wane3eY220~#$6Z1<wWjcB8>Q-Z-`h^kIiE4xlM>>RetwH^~{Es=%
zgv!>*gXj_dXye$s*(dNAL?0fGtdbF5$3erE2N5uTDP7!})B`vuU*%3uY#u`BKzn`t
z6O>UT5l8sL9_?WT6nI9Z_lJR)`@Ia{;mX7)_C+T@5#iUcAFi8W{xwE}?+`l(5<)Y`
z?8oPB3Me91iEghYMH}T6c9I%q5(x=|{K(STYQx=G>zi=(biY+@1OOi42tqpK2nGlc
zgd!n`FF6nBf^Q@~cKL~5+}Z1is3oBoyW=LX#u`fMHPM-YrG;Yw^0VD-rNLJ`xu9U<
z&_VYO4#%)MAVG{nC0k{i+YrzXWQI3B44Xz?)^D8r_>bow0B}Q%lNe~`?{uKbWvn8G
zA_Q-PR~`Go2h>5)P%r0|q=>1w?3nJ<cnN-S-F;8@$p2;)=t{x7RtE+SEUdMHVZD_~
zY!)tT*z7hFI*mrSHH0hgdlmW*8KdA0il!p#(R<vk3A7Ty0W9tu4t#^GIUHUrNKi^k
zLO@dlfigB3$H&`wjlp{v{_e>wsa+9?$P(-vyt;{LnN_1$dPM9MvHIQ8Kfc^i1kuyu
zBkN9rq}cr9o6+qP9P(!iRh<Ku3^<UW>~L9^GMBDS+~59h-Y7?j;1nQqD#V8k*Y6BT
zQQgu@sb%}3lmp3cT;<X`g#Nc+AP{O(1{d>rA4h@it0j=v<Nt~I+cX_IHlIXOmdIc^
z4-V}e^@vqM5cd>G;2My`V7mD<=rl!Cgh@Y(Z`sR(3-BF!Jy7j)J*s<7C*V9u(ZcfN
z^}gNSC&EWZBW0XI4`0#}fZtW3*_?a)bUSKYNr!iV;2K+JuN!h++0<#Vu2&<?{*GXq
z6iu)<hoLc}LHxB;%n4|SLA7tv8n(E>MI+?K6A>}PqS11E1AS>gtq2IqeTI|n=FF*t
zRv^e`{r#p%pc*-t_lCl<R4`)3m#~M;vZ4i;B<CSIwcdf}ZtQ~n2RNOm)iuSJA4*6o
z^Hw@PIkwly<UWp`1J}6^)K9-3EPcdcNlyi_N)x6Sn8-g&x`EWG@t)69?&y5cPtStK
z2p>!i&2z9=^_4`-ujeYS-wMY3{KaUTJ#7?>=S;zd$&*&wYD^3z_YTL{qyiO4X}L(0
z6A~S&+C#w{P-KQ|v<>4Ci4=;9>@|POqqsQ6%{4Wc^@1AK0ths_kXs`9&l+r(#f-qs
zq)_#q$?;h2rNdi+0%XUQ<l!)_LJzha-zQfuhluQ=Sd5vgNjE|s`NsK)&Pi2Ac4F}9
zjNJVH8_oqO<_MZUGGrTQe%I5Pj!BXoJ{su0&8*W-!ni3OyboA!%ugyz8=!ipi6^Rk
zwo6n-{5bOKpw~r^6%}~gEKumWV?s=QrDP9Dg&KzWGyS9VpvWQ#4Yb_u36mnCMO3td
z5r{dAJ@Ark!F|A?N|c<jl?<o9afnoF)R#3um%7>nnT1tr44Iz$$YmEGL^2I5&qFXx
z`d5(^pwm*PN-c@#@v_fpt^R4q^Tc<^`5nb2fhD6VUs@29NuePKNhUynxpebKp_`hr
z?8e!B<Ro4QD02yOKruoDkvAQXAsV&>h_Ostrz-W6Ps)k|$!C0+%iW`+tKT}=7}s0~
z=++U24mwwmWZgKn!3fMWHfRR<gccK#V6QC_iz3HEIoOXl_OIHGWjTSh<q_TaMzr)@
zx&COeia$TDIL#3ZME$oC9xO2>R7FK4b)7wtz>gabcZt=Y;jv*!vxMppzFr~A2Y&1t
zeL(r<C|$O|y|TuQ+~8Uj*tg6Nj(l6-JFr&@QPhRC^2NM7eLaI1-?tu5Ox}yAXI9Tc
z3%Q7~Ef#6MF$6^`!+**{gpNGIar8u4ngr%~pso-PO4EsLRI)H4=1y1B+xfTl^u4)4
z7crVAX3U)Zz5C<J4=4)?dWn@HsA*{{wwez)kAk$xAH2%?yE+|V2|f-SLz&&{Ph!A;
znD4Q*4D*x>LRKcMXl>B~B}QkYXdBOPeYK_a9=~K`uz@n#&vF|SGb9iDozuIW(R@dJ
zyLfE#iI{D^<p}L6Yab4%0Yl42rePA+z|h*;T1jmc3bNs7a6LMStKA;NuY|UzzIQ_B
z;14#WkH7>7pIGzP-{ZPF2{3MJD3iivkp?~@iO122LLgQLB+QC}k~C3a-N5Q%;p?T9
zvDCg`olAL^o~PzMUL<ekB)&U1T|LcqJHxoiXhKBUo<+GWWf~zVWEw{hc&^nM><T7o
z$l~{&Y~aB*VZOOq?P%a=Y_yxuWvjG(v3FqzIS>2>m%rN{7%`L$9@a)2CZhP_G4y2o
z@kge<R&ciw6Fzo)UrG8#G8We0q>2!T@cXZ|On@o5eKN*-jagup4}HC1z9jTq*rW#=
z6JD|{x`h{^U=^Vu2v5PtEFErCvhsfa+5BJ2_{{CrN>7Ctk_+55(6^T?9^mdosD}LQ
zjD$boGPCKs@+>f#lYMegrfEZa?px<4gcKX8bY|p8dM2HHXAO=QL!SQSzit~I`W+%7
zB2QuaMFI2lcjL@hSb&4aGfnecGW$DNE09Q(a&5ctOe6blFz#{Q62Z)H)9=rX{-qZv
z%GTCFdhm`C@8J<06qy9W8+)12?>6VZpxMU<X)9Zh!Rh7Q=3VuC`225);nNs`A|fNd
ziRm2lkLM=PfOHV5qg-vZsK8CC#SLz5K^+M4*I@&wcrvWPhO1;5vGgP&ObPoni&jO_
zs9-FhI6Iv(AAGOHF4fPv#me%Ak1wS1+hVdi;*JBx_cdo!KMwpJxVyYPR%O+b8Ph+A
znjH#AnmrFI`++R1qhnbkifhO_JV%>FwY{F$pQ6G|Xgh~GV9c1=S9)o6y~LhE>*&F{
zJn)Pnp2Fic^6C#v8rH~}Yeq<4=dJ~HgsLs9WjoRLGi~0}I$O_qVsCmfn>;p<3MOrH
zg=`v2%NP1i55lLhB@uLQ>asK0X%AqCjDZXYwuO_?{?W<nDl==14J~YygN33=k_HE<
z#|&Js^q1C0$F-(JakR{*^%k{#b*4L@P<!iNiRfxJ=0D+tHBZ2k?<)rbqTt|2eGc0n
zVI#;;B?Rv?=2*}@G%TZsSQKH|0&gR53EUYdJpIN)GRVP<Qv77`^n>A31QZBNgo!)i
zq21NE=I|O2gdq!U9z*WCP>_KL9)d{KE<G*|vcrk=Q_<z*n_dpb3(l^*1mn4f_J$vQ
z#CXCDSfgZwY>sC}^L{j4BF5Mil*e93gBh{D0!)%kq1^4ef3tHFBIJkVxV+RInP9gj
zj|MX?<jiK3m82q~|C%g5w0$D*$dUB)oq@A9ez06@V|VNzm5{IzYs%5JDNHyx9MCJ#
zaWJ=DZ$oDR$|S{7*j;JGP&J3o<`>oUcO&R=MrPdstV-}LO$O;u8<}s-Zh1jB-L=q&
z&%7T~cllxvVG2AUYBDwL%eVGSe4LNDU(;hIORwEI_GPaw*4ex^q=M6CPm{V>IPCwf
zmQ))@9Qu?X_7$GR>W^wQphzBypzIfy(b{+QO8K~1)Cas*lYpO+efv9$p-C1&DKn->
zKLo=}WjMTot2CO*n}J4b4(l`!)8#y(5@ZDrG3Y4{i+WViu#!u2v<rt}x2Z5adS^6}
zlaxwuQk4pOaFAfVL%3HL_9X6;C>j!S5_0m^wrFD^HOPsn{dS&kAz$OJqnPvqgVu9h
z7OWcdkj7CDNdK7D&Q@148VxBXWxE3qMh%%gPsD*?Co34r(S;c5!VJ_|g+%H}C%Eu1
zE>f5?GB(>gkt4A_*xN_Fht?mL%xFiU5m0xkWf6^ywL1xcAeG66B4%?Y+)LMUk%qzB
zEkV-BlXz{iw%NJoeU`&1&e8g_gh>dmrcNeN?U|-b-s`1A(Cujb10jLaXY;+*&!706
zuE39%!PU5F=i$!}aS0>P^1QHeb(WVH5mAI=7*|h|C(?RnV<GsOkI+~jxAyy>SM-8u
zWEEG^dw$3L`-pjT9Ib2||6HuuB&1#SrjXHXf98kg-y*Z~*!nsk@bn%s%{#x5f+ai9
zYqzA8^?y7#c+O16pP$DmTeG@Ye=q)gxAoktg-PDnY2oH6<SwxKODvOobFa6`LUo=5
zONTKjt@Hha0{E859y;rqm)E_yiQtuUAW_Y?PfnWxj8diV4aPbuB#y0^!qWrxd?ivc
zL+Tam)m3!3Eh*jGM3Aa5`EAM&)1wS4tagpnRn3zcah-mfNo8Z`yd|BbW?1UiB4KlV
z_PyJJ>Qf7^%uHjAAsIYqTz-q|=ske^tbK`@#5>-g1-6|!y7035akkek5Rn^IP~k7y
zSj0pmEe8#}Hq>=B5IIb6AbR!5H&+N))?8F8_m<*o%BtF;LuO8xY#s5YHc70XrzqtT
zUTBZ7>BlCGUjE5iC5*3kxDE&>1;5L#r`js#EFTh9c#bbJ-AUq`694t|*_$-yI;1Y(
zSnAuy%apaug=V4I60_v$3^Hz<RZJkn;9J6y5eDCeuC2r_ME+76dA+h8?BSg?8kAZn
z<`b)#Zn}_;!O1Zw_wXv4E6de-gyYll=6kl9)&s-S+I}bE9L!b#(Gz*rqcg`nF@Zyb
zYPGGEJ9eMqPNa!BM|lI6IypjHa`5^+J<Vt3(GM3xlwIniDu2wdjJpVVA|%d3uFsO6
zmT!N*g?{-*cZyy3`B^!$nZi#bLyC(0VqwrE%-oZ6h-*=w(q`uGpI7eR-26mZ*$DfN
zG=`SS`eK_|k({iO9U(M8T<|$wcvImk_O?C{-7L=;^4nB(T{qL~^AY*Wh$2<{?LTfM
z`Fs1yih8d(vd=_uy0H0A>NHSA-v4*h6=}OJmSa}fPVC!6iQiuh1*p?h+_H6Uq12w)
zmVCij*KzhhW~H0+yBDafp@uS*jWdm7hN8mC?cWw@Y%+Lr>61eExUQZN3{>CJsjIV`
z^ZojKQt|5*o{T4=G>2IAHOVXtX$X0!?dqyq|JAbXUcJ3~6K>6e&3U%NudAl6?YVjV
z)pfIegVpqW$vp=oCch^5`BbIUd5weewsTXAyS%eRLEYsUN>X=m-^R^#)aQndzE1<L
z^fe;M5IdQai|6W;<lun%zD`Hv*G8vYt1Lu=z^fTze|rBV>mh87K6jRF{IF!FSoZ!}
z%QlL{W}uXKZ82erzdvVFs`FfvN(xKUyraN!p_lU6j?8v|{EZ=yB|lNE1y5|AQfFl5
ze(QYXKTo%NRrPO+n@NLuTK0Q9*^iYvH?>G^C&1|OdNs80Y^tvpo;vch^5pk9nLIAR
ztiASO1JAJ7P~=+@q2=IBB@Y(Jb*L?DcxZt`s-TUSoC;UQwy6EyJM-C@qRdfX7?)jn
zVJ;DgWlT^>71rE_TYg^@?o4Vm-Eg#HEfU;z;p5qN{Q7M0srrxfvzYukY{pY=Fe;97
z7$QO@v#^6agN~OD;+erACNXWKdkOPRZs#eA{Qi(t!QMnFLwyRk@Ye0?azYl3VgNrn
zXYlMCm_D!VPU0f)`%3u)8H<2S2tyopctE*U5}k)htA@Pm?{@S+XX8`&lWG^EO)}6M
zxq0rFD3@h{d9nc|bKDi0<!hdmUk*&KeplMfFK{*QI*>~^a9yMU_8U=EXvikU>IwAF
zssp<H$gIZUD#|$;rf)S8g!M;MD&^5iP`d+V@tMKS=u<0|VW)BN1_sj1BYCyFe|t8t
z>y_;S4BCjcij2Jm`ZnD#9vtcwmYGK~YlF<E3XRMw0{yTwT{@KKqRNRGn{(zXUnL19
z=fU0_NN!2z5@eTw5W=ig3V!d;c%<6>{z&*cq*7~1aQn>Fyn6;c-MoV~VaOrF3rj-4
zgH|rDMsxG?F8G{F31Q|CIb~6kM_MJ_+=XXJJ={dQycqO6f;vn`s|@^!fcfC@4Pfw`
zV`9EX=r2Da<`24u3`7?(&>m6Qy)0B$Rl`*R9nt;PlQp!F^8-*noi)U54`!q9{0WxS
z#X=A@koS^!6CpDhZpZI`doc#-*Xr@x^0OX>W2pHL!1Q-$`u~e%?67{LnN$0BN?H#d
zu;LK?f+=lWepK8qB4&(%saqSju}jaWf$-4g|CZ2^SnPii*g+vihmi`-p8ekLS~v>#
zlse>jO2SLQ4z?dR9wAhilJR`>U$(Pis=};z1UovOb1@3W^cHWE13$N9DM~^f1CbES
z^Q0THxR&;fo;?4)e2oDu<2GP2G&E$gVv7912ApT%Oue;KZ7#P$3?9X|`|sGi$b5&t
z=(V-KPFd0xbDlI_5tP8=EXnLZ#3b6Nh0yk1DlLf}hpvzeU>zDkp_Qg`#*7ZknP)o0
zNUK?iIEG^ssMp^0%IAJ=5s{ivN6+NQJ~e!6983`reyp^S3(yaER51=Uy%r^VIraH^
zu(k5KHpQ18itr<W^b-t&4O$#yMUklMy{ovangb%Q4JXv!g{8XO!lRI|IUEf<+pyYR
zSuO5%OkB+7&Db+H+W%gVCIrhjW-pZp2XQ2mniy+pqw6`~9goc~4mN&HJE}ZJfs?;_
zzg$Q#m;=Og72sJ{2k2yd1Q1M7Bo={iFXb@9mIfJHTOV=_je5RJIG+OJ@{Z)tM7g|X
zs-c-q;n=~@k(`^+xv2xuF96{l*^II`*Q6W;IO0KQ0SIw67|LTUoqrGZApNmvmRv)p
zx=?HrVP(swi?OdrQKE-TP%qUEgnGnpICWvC>|C;n^krG|$_#AGe|uBi=7D!k>zd22
z`?^obJ3eci(uL}N^lU(2IOA28XIDOrybn}rk*KUf5J;N;3Syr7Aas$8kIC7|vjem&
z7=JeYgQfdfCzg$78w0;t1t8mfJ}YW?FjQk{kQpQx#j~kL=KSq;`Qh8+)sFo=_3&{q
z8t)5Eqr=?(<6m2X937|PYn(oUotp}0>*T*QQ}X6#H<yhpfvGds6kk_FHE+5XajYZH
zBd?mMEM#Z+R${W|=V0TzKqXZrPT{49J?X%}|G4*!`MUJ`FC!I2zH-Ci8;A}f(6PR#
z)R-I5uB)zDX?RE7<b+b0aXn#^OEPfG)$;TeSG6H*dw-+e%}B-Z>u$Q);39K_9WaB#
zz;M_^o`g)NcW1NFjP>ygLTwpj=`4rm==V7QA2iL~Gh8+KSGwvsay+w1TW$#}6+4X)
z>MPN=VgwF+_GYS+0SF;-L;c(Runp(5bAsnh5VUaV&iKS*Mehx$#Df_iroAv|H`dS~
zT43&0J0*2*i@R6;$-29OmwZ~dVz=8Mgaw#{uVb|yqOGrLyg3P_yp`FK4igsvL*u;B
zFYPW&zt?fY;?W%^eW%E=kF0`YukBB(FLnEQkVwPK7eGh(ca1ZoC%hkhO@Bz|<?ixn
z-ODOAtZ#u9)c7WX=?uB6>wP^2su-KTJon$*s<_4px|W3LB$qpbuB!l5K&rpA(BlnR
zD(!hEt<!hBVN%9*yxEU7f-_=nSq}1?4kBTshR`By0eg9VpT!n$A_Om(5x-Ycz7BYw
zM(3s_W3yCLgocxjF-j;(N@T>(%^Z%s#>ocVWbmo0U6PY|1l?ryL3R5G^vGuCV_#*a
z+uWy@JWiDP$L<-z{G<87L!9G@!@=883hlO9rq)hcS`=<;EIg%}ES|!B|KED>uBk2r
zO#tO8Xi!eO9r`<e8K2s^ZTNW|`sr0vlUBxOQJGauwwpbJ2)jtzr|QME<&fddoNp_3
z!x)16QxmbdBW-~sZZDmB=ZVv&1_h@8>$?wMS=0z3T_-pSG#&{#;%#qfW%&jcS8Xc5
z#7C5Xu!#nbtDuVli3uL-btNXMOC`;X)9;~f$hD#h%$<V})gy20<(9gd#!Zk#ob3>b
zoK6p}_hu(s=`fX+Rj}Pvj9lY!_@#Dg`^(!|Qx1e7BeC9Nv~{4+*~&|9;x(=}?>La*
z0e^ttTq45v3nrP~J7C(PMWDspp{H)<%mrlrODK%(typ7~^2^Kas<hRln#)KIWIMen
z<dIdSt&aV97#N1ovJ5vBnrU)OypRF3G?goY;TarGho;J)NH{OR=bxTFTi+287~vVL
z=Hb0v+Xm1Dq7j#Y<c;meoPc(sf@?YYZi(}(=(maqlVO$6V4Sjs!fe?NMk8_F4O|G5
z${goAv@~Z3pf)0`Rs!XSXbjqfQMnpMuIZRVu$<{6`V?eEmmGJN*K6Hvd+zAdq?b-i
zKtn?E(#Zd{SF+fCMChIlUPqTUIPBleTU3Bwz)sixhxFGhDv|s?6M?rB;9sgOzh0Av
zXrav6Jrm~sJqyfhkoLt~Kn!{)^T)y`ud<;HqWj?3M`@)uXG@eF&c(2c2_gA8hc)Ll
zZ`yC9L9_)R<8Q<$?0VA{#}7gowScL5+F^8FuNrtwcCEL(xYj9*G|>`0XAT)MQx3+E
zH+ixw7jK**1BJf3pRDe1a&sJ#ZNC|@$<LbKapym*JjQ;taZK9X1@nx5A?KH`8&}54
z%MjsXCd}gIze|!#xb4n%6ysA>=y>*a)YVa^gAVNN&G3zt8sSw{L7+|VgnIVS{ral3
z@14RAyE#^}ob_q_%eSI+23B7vXW6UsFUN6hyKb(LP?m%(X$wH2g36qcO+7!A<u4yA
z9Gd;qu<3s%KPvug&)@SxJNza<s|0MPW|Dbt!Zjx~io(u%&mXEs<JB*f?62;-)oJ*5
zI!BX>uP=5QhtzCQjNtpd6;s7sWxFferOfDd<BIC(yLND}p7e8=(x+AFEtA%1n~z@z
zm5<F%^|)L(+E;AhtM+^Gi9DapzRK6#DZqYr5;dZo!oSM&PQ4o}!gY__M1j6rAy{vV
z{mN+b$en_RD*|FW0mm%%LrqnLwMrsn1O?WelpN-92=+-PCch6AVkO58<K#pm)Uqtk
z-MwY4ON0X@qDIdsNFbzWLQts=$!&=SYvPofwMTlWfx#1qMJ7cn!&{d5YpSjrTy$EZ
zJ)(1H<`DKzjI=|)H;gUyd_3Mt=#^JE?Tfyn^b)l5&k9&$6Bzmt%^I2=bELX3#*>ZR
z1Y4i*>w(y~T<Wf_P=^^17S#Pc4#tAE>4Zhr`i_o?5!up%b2aT!ZaKT{t5Igfy+WRN
zJ)B9`KJ83|W9KH1=64kH^EEw{Gy9z9<yl8Sv286#4#N;hxyv&Wq{1|e-$#hkFOagn
zm2I|DbjkEMw5#4Z$|pV6SW*=5*Bq%>t*FtrO;LpD3^mQLNih;{6lpb&B|?_3Rg<$t
zP{eSfCKbsfgnIq^{EDg>rZ2pAvsbqq5}p{~(74jtM(%;e`sWeVEcSS#f9<ZVPs_U6
zqNNUTLcXiuM@+SNM||MOEyCC6KI)7LJ5Y<W?|Ag<yBRc{;8P;P>*_j%(H?57<C{t<
zy2`4qNF>KyEZo>=(N%5B9P6uDDipV)a)IMKK#Oh59k#_s*Qe+5`uzV7aJH>cMkXLW
z;?Wq`g0Tk<IN@lfA$f%0lcM56W?}>}kDzk;z!I@;u@5AYarr+bRaPLA78go$l+fh|
zVq53p)t?lR!6F#MkCuhT`DK5{(F?2(7kQ$i$~mY;k9Jyq{X{FMHkH?^ZSwu{{FmA1
zsFy=yxb0U&Q#dr=$6;aleI;D<;Gp!b<rJlb=fsYxF}+n^m#WTwyZ$uPz{k*tlo71i
zi*tgx!6EUNzA2!5sM2?72HcO;E6v=cQR$Bzrj01^-fcE)Feqb*jR$;YL!xacmmP0L
z^~i+ziyWIJAs&q;lCc^$mDFQ*9OOna-RZ&rY%K3f!QCja!<M_fR4>H};H|rpB+b6?
z*9y0Ch09fg-3W9+lk7rA9AUa-j*;BG7f|BnkPj|b$+aKa;r7ddy6@6FPX!-MC9goU
z<v8uK6xMFDEnE_jG%_G&dS9J#Euo>@5sQkVlD0!z)pKjk$&u+>3&}TpWdc6o4$|*<
z5Q&}9m3p<r@KWj#LJw6ZITgImHvD?|+jjV*Esx%zZ(D6{W|wLxP55;A=6Ql#ANBgb
zTOEB0F(rA#TG`-J3dJ*?Kd~4)!om=F9?0!07)w(LJN@IlmI#^tc&}usRGy~ttQ*xI
zqh2K!Bet&7<4-N!s%VxDbZ6%vYv*P%^uv0|-1@Jwu>v$%bRHZbD87ha0oX!B5D%TC
znb?H$FcV)$`YTjEBBu@SLyOnOe+;#ry^h`_7U+~WT<-6Cr14Xei(hw_48>N9VO}O!
z6-jE8(Fs6!V6~{MUA1o>Dk#*pt~!(UJDT;?jHNUN$z`ExTy~v;3JDHu`Jts>b6j8|
z4C3Y{#-}m~Oin=b)m~0EkD7THmjgZHG(5#k0|#*2<$X`IlhzLDi!j~IzC_A6%WIHB
z5D?-JhMxB(<A>^_lM&+_Zr3&tV63sG)sZ~}7=idnrfnAzVN|@$dyy6PnV)%4Q*{$C
zVxmRGfeQ+y+H-mxKqv)zGLq-Q3Y!so5EZs!7`Sz+Ao6JNWpX*~$g?=@iixaZZS(Yd
zbLbz=^|;ej>7E)yz>i~9)}876le(q8dLY<KjrFheX}ttOphby>sxm%r+zG!Tj{NN7
zq`Nubcs_l3t|8;oCb@HFosKqmU$PxoVOs-vg*%6~2PzQJP;Ql~H%WqGFxN(d5i+{B
zk*Qd<hAe9|IFoL~d}?NSx<PV4XsRC%BlWvJtEO5Nc_4g&9v1`g34Q`?e2OCSitCS2
z=B$rn%<iP%ZyX`XazkbhI|_*NM1WWnVGP&FL5d;7{Awn0God8kUxd&+vETORfx3R9
z`CbrWgj1M&v=*TOzrepzI46W;gP_P{_atxz_>=4ldPI63i1$CJ2ig{jhGK|)sBi>B
zP>D#5B_OBvZHj*?pVPHc2Id3z54b+(Tv15ORUd(;{#0qS;CN^`-EPZ(Cf7p5gqi40
z#2eE>o&~~dC`&e-`^@)0R!q04U~wb<sJId(r6f9_DoN_>=xBJ<z2pJD;nF#UA?YK_
zk=Ess=8-Wpf@1|pR+Ry<7I2X87zGEq3N{v6QY&KTfr+N=gLx}aROALa83lHjrVVbX
zn4(qIkyBd?h){=fW&*(8jpm;S7*;GE+6Iv#I1Mncgiva!VpQi1z`x>u?0?2^JO4jo
zZ$^o%1?&iESTUm26O(}rFhmF8kjz2yGH%J?!who8T*IG_Ts(v?QXejR3~(eR3O4bM
zL=l{4{<Lu;-ZK)HZg7451=Gu<kg!WiGgUHC-K3I3$ODj^f`o&q29|=7W1Qltz=V!m
zA|`|G-iwbmG-wYLfb$5nh!_}(Pb7LI416a7a%v>u!XP3AH*bM+n80>IV7P7uLkBPh
zlsO2@V_;2CXiZS!Qo&4luuDaukg<+(jB(BDbA@CYBs}zF;2p6}+F*=&xN?FeGY36o
zcwHdDKX8ZK1X95PGK8>2h6vHupKrqF>pv^e^`D212sU)MoF4n*+y?@ZP?mQ?yy!e7
zOzL5w*lebuVmXpxGsNUXVa;*Wy9W%$^PrguaUl~-5YjJtrNSF}gLVj+B4&;-d-=4I
zP4M5S_3=0dW4k@$X^l3t7`QqSj)U#h5oIu=V;)#qNO{G26Oe03fz_U5ijS)!=dq~i
z@-_qSDh=vf%D?p^?t_5?+KHNBqD#LV4p{xOlieqZ+77+2Kj=Z){BfTljjfGBMM`@f
zx7(?JU+**<s%j%lfapd~2yhX>!Y=@6p$BXa+_6IuL--tW@<@chQz=lVPEkU%{0Jj8
z3{_9hdMoY@V$H!4kPyu;4IAFlXG4mH%ErTQ5_sUuZ)hSWM2LaX9apNrtlCmt!+3B(
zBsXQLFo;$kPoN<s;7LhIgt|kdge{8Y1yVrz3kQf^HWN&ZX#wLwNHY>5`SFjFW=!Gy
zMK}9lB!`8KowR2Jj3(V5FoJS!rA-XLqEZ21*i^<U!@6E5GNVGQvXDzMF(QBvXb<*y
zzwAHJ>hk~L;^qgP0uHRIs;a1AgoKok`3hqk5KH4=`vfW;A7TmbPu)X7!VT%F7z$rO
zLrKcXK5#i8i3sy4s1hPhnH@+;1T;k+s-qyiTi_w-fHGo0q*98BqNymUrUjv*APAyD
zLI#x$zOK!F)Q<^N=_>UTNdH7F0HOF~5BY>Y&~=;-<RT;l8b_QxC+|7P20~$pCQP>;
zLS8*TD^z>`0<!b@MnNw))_EEsLXE+<9zTQ2t480l5qFir<f3lT7cj^VNJ<WQZ^vVN
z2-QRul{yQ(O(H^#MAr%?5y$SFhx!P7$=`q_3VxCAy|lCVv>N?hnIzV#Ka2gX$vYhv
zzw{I11=we9x0`LRzGt=c{qjmx#99yeocPHso;RV#muBTNhSvCRX={8*|0=4mUE^)F
zt+}sIdPJkq;oj1Fwv(I!2ACO4aw>`AJEqmOM*$Uy4mg;<O<+<b8qRNwiIN!#LqZpH
z9~`;r{rkO~;t++;-Kk$yqdpyHkVbI{*zFj%iV0{UOdx!Rz;eTAn?f>pW<=Hbh#0j@
z)e&18oyc)Km&kQt>fz(p@SYeB(YV9mvq*S}fi%M&k2cz<Pc$UVW`);V9`HjL1m@dW
zG0BMmA&{YU@ftC0W_jS38E&hYQnqXb17`9Dfg^1o6F@Y^*RRR_X*Fbn%82#<o!BWU
z*ulI5mvLJ|=^_6y_697Y{~!GNAJZ&KukXM*fCKZwzw&`i0t5$!-amHiG6Mf_pk&9f
zs749p0HfB?2sQ9ZkiXB3cMr4SK=J<`phNUsmWgmng6M7fouVQ+zHA<*MtMLWR>h+{
zxF0^93L)X-g<a1o0ujil=qIuhVtw#v6>xKj49XLeq?-sK%teuc=fRPW^e-9waJz~)
zZFk|;4DfXY1vB8Jt1EjGzjBE<I5^#~=CA`gyiNo{B!o2DUq{Wa+g_r|@f;ktW0AMl
zI5b`Mh(O@%!ohC?(`hMlvxEzQ&WiKU{xt8C0t0=TS0Txm8t+B<@-^1_69Mahul^W&
zU=Q*^7uKBla4Vb0Akdu7;uixjDj^s+GZ2i)WS)oa_mwF6zGs^O+IY6uoA^O7qedg<
zYxIr8!Hwv4_YK!(Mx-zm!!2=vgq9E*ENjjRc=>1&*{zcLwJ{UdxdC@H*tpS@ZMBRd
zPK}ZnM2K)Zji9pVUxo+`jxXOskW*@CJy@kixTy!NGpdik;y}=Rhw|yDA+@&IstJ<w
zj-jtDX@2$_6WXQ$ov>D7k};}lKB~q)t3jcEo&*@kz<@ApV&K+@W%cV4<+q$xX1m6X
zcw3AHV!o{CZHc8qKOMVm?(F%x_ENSW4h-(+^yA75YN=g@u}b^~D}g-@J?Gf*(Cu1I
zAMFFn>TP~#`!%VieSc~;p_{cHy;!NdL3_?s;RB%zuIB_c389oltHinN!k<zHD=S7R
zs=da3ZC{f4R%7U>r}d~IMwDO2q7Q%h|C%0p;qbE>e?9cA52;5vLUEiFtcA35^Wb4Y
zhG!WIU8b@dG{{8LCz();cZ;VOUyT+dTLOvzrU<%~1efR5M-CTAN}=+_BqD+Ey3{g2
zz;pWZkVKgvg9;R3O-K9!jIr5=o>i#hMuOa>LK!(f!FZs?^Q5OI<n2?EN0yQv7<f64
zx1wu`kJ?76ioA|}x7xsrRqmP{H|mGh-*9%Ju~>n<NGykD7DRqTr0Cm|>Fk2Thd(;L
zr(Rs!LGL?VUm%Q^<ng#XT-3*ySN{1rL}iI#BIFW|C7x6rxk9|z@NL+h?po}oL$m0@
zUhwbixjXTkE{D3I{%w*gBc>PDN10c92y1RQ-x4+!p_*+*{+Q0|ImLW-yOpqtjaPfh
zq}AVXaqO6yCKrDza$@zIrEsYR!OOZvX|o$0_-GC-1Bu#(OL83%IebY)dLVOb^bkH0
z!&E%Oo6sQ^6l}D&!I+;=b_7Xa*bGK4i4*2swH)r(8Cz%&xZVYLPyC6vP||+aC`f=B
z9YlemBsujcAJqn+RnObG<9&7FXmYaS1_Z(oWJex+)tfj?;$89%AqYh5V_8|z`+DQI
z;b-i_BGKkB;yMfj=&1eG#xU4aa_&6$5z)!cD?O>U{T|%DfiS7<HI3$sVf}s$kplfF
zdaQvDFM(m()vvfvhmfn%bb1d49>A6yp$Rb-Xfg{sV$$&3^O+&^79WN{!|I}lmtF?v
zgA&AA2^vYkyH4)qpj8CCtY_Z8vN~`33aqx-SK?P6Z=D32$Is*D2(J3rP<A?7zm>d>
zeccQO;V}m*VZuTw9~?H49WxcbwrDJW^A<yx^vjKdc*DZ3OO)PYVt0<kOpMc5bh})b
z3@dZ6hZ@=^b?n?pu~fHHUh}~lUiq5K!ai9$G(*gtxkH?CZ77e5Ok+sQsx*Aou*3U9
zQL8*!-Hw(w2HAE%3xXc0#OoCAh#j_S3Gya<gIRa<&n`UPn{Z_JF#Sfy$>>1GG;*}8
zlQCf!lO#ch^KW5r`F!UO)tttyyp<j%y@A%QfI&Kv3DlpgQwN^{G<W--!@<&HQlUgE
zMQN@*TmAgw9h!zTkTE_##(ffz(Y%BPD0!$`5XRU9bjm1oI(+FBZGA)V&|U~XX<0Ve
zWladcx{*9YY$-E=wBLg>37WIgJ2CuxC@cNNFTK?c2G3XM3T(iq>{GK-*ypUB#D>Hn
zXG<|Y9#g&eIQ*w-o~0t5VEbm`oM9S7*0n2salkw0K@mgy2{X|C{XL~0d<=eJf)0+)
z&E4_d2g!6r4y*NSbsj%$?0sczAWd!90p&6~|B$hR6f+IXzVhuOTFfCwmVzJ;ulWXB
z`VEt#2ed>`iHRNP4vWyp^$PDHHg*~szJgx=toNU&V+cYiBe0xPaZEN`dhIzaEE(dK
z1Bk?N$VmmkA=sJ?0>?|TO&&BFowh-v!eq@)6+J3NFOF#0;3l#M7$=+|<fCWiQ%x*A
z#0OyWn#Ly%h)JPi9OC<C{hNKiDG_8QOB94VY;>S6D4;1aAt^>a=YMxW#E+oX8b>(<
zNI(&^Loi$e3E}TFU|9}%bbem08lYs5VW>mSj}Nt~k?iw(z0#0ysMG3ZAk2D9N>HL7
z)rff4M2!?~=nqgh8*3<|-u3wRN`+qHM7o5Ube~t4zo6#%v~)nlxv;|5ciFn%8!?Vz
z+J-a(2_O)YGxT6+iKkbeW9TWOu7gaj{v<5LKGW$^9%1esfdS4$gP4dmt$|?RAqWIo
z9+E>E_jsU5ica~~al?R)7Wfrqn)|#=7-N`s&1c6)I7tXakIEMY;#3XHc=gAx>#Rnz
zBeUKXgwWW5@Rs`Uj%XM*z`|$>ujMyHF);NF`BYfc5PtDwbC?9!kE*M|4dp=*W()?l
zdRP)iX#ueaV8o$+LqQ<-GY6@(TbV3{&9Iwz;!_|(P=v$!US-^xV_vGuIzE97k%#W=
z;3R<w3_>;}1-BoHuMMS#EtE29W;p0g<H<S2h=^neQY&b&mT(%g>PM+=ZAX~(w7zbR
zHa9<UUfy_;knwfLPxfjfw#~yAQ?v2gu5pJRY;r3m{aQQapWRUv7~7(>ZM-##g6-;o
z0f>Sa(FW!g!E+EAy`-unzb*WHe|Nj|9}G`=oBYRmhKPDlB79x1A|x$4jUZ^BB7SuD
z55cMMI|U)@AXZ$45*Ol1^^5kK5FD4tDK9K3)MYZq9?iL2W!%gI4WP~P=yRe#k~t?}
z`O_Lggz2FzVABxDOi7sEv&&X1r$q+dag;Smr3xJbc)owMOlC!ugB-w$>tjcZWmwRN
zeEZFeSSA#eK6g6PNv)^Mh((&0?)13t>@MjVHz5rP;`52<Bb+r7v0rB{%uDQf`&cB(
z(02N|2pz_QnC`m*Bm0A$hDj)d2B53lW>&@z*9IyaZ6B0Bh5)-wGBU-O?PI``5MT%?
zW0wkGODwaFJ{SN)BbO#~s|9pvjW&>iGdKp4;NxIaFw|hlvuh7A@iN&6vtO9p41vsC
z8Fc4+VrR9Cq<rOGD>KEksVW)_gjn4z*5*|kc8hn<7PQF3fq}}~c5bhvMPndHZO!z~
z5S61(5x2m?m<fR%D$2qx0%Nxmugjqlpe>@X)$|tlTgaq&v(;eJntVr*-i0&DB+m#^
zwB4F5v<;_c8mfk)Q%%#Moe2tCgP7_tBP^@&YW~|oqpau=ztsm#08E6?ExA{nU$ywD
zh!1WwkG-YUOiLlnQ$=*rv^D$o5IPFSnds*zRXGcQ^$?X&YSjz$gf<EEnE2gBhhiSo
zG{V~{zyd=F&oN5gim>>DoU3C1e+|e(Tl?V(S4dsnH~L9S$36B|#2Q^r2Zk(=Xp2ff
zHKr7~A!`p=bw3U^O{k!ZPrLR_4(_%xVwWA17>72x?cKYFnlhQmu6-dWJ!y%M>+~D+
zb0*;se(^NKhr)yCI<3;gYT3fhB>_59?WyS5(h#urzd5fS_>(d71UL?1v%|2^SS6Ys
zqi$WMneIhke3=kyn{d}NJ207q#|U!Irfuax=1sf~Q_mB^99W!QR36{bS1BSo!nsiB
z$G5M)-x5MPTHSCC2r<@bAO)>kjU$lvioTXJBzUPl6&p?r-C@A7(V%gf-fj$KLl(3h
zuCiGc&NWnEc1k%8j3fojPo2W?4L$f5boONk+5=v*Lb4pUo`Q;M2f6njS7v1xS0$iH
z;||)6g(d?Nuz9b^WJnebXEZ~+n3ENKYdpE6Wh`L);cNN}YYlK1fJB1hL80{V;6sV6
z)4OdpGqlocI*hf%tdj{ESs01ic~iASVFvOTThcG8n7{`P*|8C$y3@otyn}rq7g8@e
z)Sjwa^XLZ&@7s~REPAuU_82=MQ%s$xVcLArRp`=CAB^1g!tP<QCNz()`{2=R+DykT
zXW)q&&ezVmig|I%TN5_?$QoEkA#WGw6bS8=d|}I!apjQSKs{cTF5Do+nE<>j9K9tO
zFFVU?#|=HZCQPeY!WLTLA7#RBpB6Ig#)WIgD*^{JTA{Qz6OV8e%U!oiHdC~`wUE@&
zFG7U+o&BSFw_~QN7Qm><%~(4<jVe{TULYb_RgN5J^Nrr}-Vu(4QCz<YfioXZqJOI2
z$3w3y#2hWElezW|;juSs!(dc<k2KAP97D_wPoFXm8#NwbxvrNK+EH~?y}X;9-JeV*
z>)c~s{0zyaiwWfY{2O!glwWxd&D!Dg1f8{}iVYtOFujH>ig1+{0iR~5g`x(^MYN7T
zf{S5*5y&Z+6%s`uW!N!GU9q)}4rVt0Fn){WUDR!>!JyFG;}?l|@2^+Kge~5a(r$W(
zmxkVN=lV}TblidXUQe)&M1$`KwgiR?-b|NcEQydNP&pcX(|t5_s~<t>&PU>^+4#!*
zEEwE~6wu|52CI5JbNgY-VfXLy*j-yNm@eDqVh%lca$DX<%gn?3{ha>l9X2sjad4Q4
z8BB+`Llmt%2vY~G&b#y7U>rdhxXG?Lh=xQ*91}jw4M`a}1FZ#v76y~f_->wL`%M<H
zg&{X+kT@E?9!QcyFKcnK4KzrF-}1u@2xv8z^mm5XcWXl{mrR*5SRNE_AK^RTQc9uS
z->V<PETRQyknA{0FB>gM#O{IIa7g$mwy7O<;Zp>CrkyfYU*NHHUx9pAQ^TJ4z6fHo
z4NXGJVX9S~ZU-GS`EETqYb$V@6$2Bf{G~K{CmSVP0f69<+o^3ELNskn&fZ*O+QG4d
zKNB~phYP(UWL#W0<B>5FpC;|5Mnck@Lc@@I`|%#2JSw6#K*Z}jDxx%}6X*VTrg*0l
z=zbpI(-jj{P+J1v1DVtBbr%><#5yWyffJgXl%*{s(rG_8>f^``n0zr_1cw8m7`tBC
z8Yl2O`!Bfh{hxqjceXh+Q$`OX23R{GV9$XR@!4JkoV!x+f*3hEf_9e+%xoGjQl29<
zO*B0?XkpScA)W!AA2FPwXQ$^s1ET#1#6Z?V$bs1#Hegjj|5Jtbn)_$%M%x>su;|(B
z><*ASJUS=jc5r8?h>{{Aib9u3v9Nj$3E4?aRUza!DakaFeEVWvM3bONq&4}s*gn_j
zzfXTZMZ}Asa2laa%@5dP_>FavUaJy@GoeR;-_<_!qa~KfSvEM%3{QjA<Ku@I#xUw|
zKV@+q23OmF<ghPx2S`oL!+_}sB$zfZO(YOBGmaq;b}{B724$fz=;SSR8IdGkK(sbO
zj6A5JPELP0j9fB2%039}8Udt#GI08Oj-D(#Q^hQ>Ek8k?9@=<l9Mi<}8kZNm#DL8J
z>~|9&`qMfSHj_x=ZNS-A)1>FLvl2QHCwHSXkr2t(CJ_z`zvP1?73ZCUq(R8^P`fqX
zZMlC`2r!vzy37pn(wn~{I};}|eL*1v0{DeH`*qfIjTs*>{bxXbB_RZQej5`O4w4se
zoCn;3#<}^<C(t7ve`#T{lQnFznR&h$S{8^$&*z-O_I(BC1JY|kSC7`AbuO+$^Ul!k
z?E-}E7wESyZcLF6l=stb&|rcA4kK8POo(V>N7y$^l1Y*g$J^d{6X63w;Y$aussw}6
zxjzQk@GP#7#TEBCb|GAmaG{W3av`L=;>G3ekc1$+A)7)@?B7j`CO5wmNIXsEy0ndE
zQjN7-b}hapKY3q^4YCW(#v*E5w6O!Dhi@;@s>ZG1+=0kEzFkB?=W)cY%L<UTkbv@d
z9<vUlWgD+UL^MgCna=j^3n0O$%W1mZIRYGa5)(XJwUN(ko*-*j;Kvyt{hoagKLFrm
zCfN5OR@Ay2#bhLR*eG}$1QQ!kp?*+<R2hz7gJJ`5BSz6Dh{cSzZ)aeEFwFUlVO8m>
zqZJ!+c>-$6UFYFxC)JN+p7QMlfdfoduzO3f4^S8$!1NBXP(H}jtL;<HkTMOB;x;=u
z-Z#@PL~6+D41&D!1Dt+MtpmMe7#QaoNqwwh{bKyWiT&uHcxw`bqm&LvPy&AZBa$ar
zM}PP`U69%bV5i<Y--|p@kTig?jWpe)@peD(sU|T$=Xpc@N29cBSY~5Z^ZLfwttmjp
z(i4r%a7h1Ny%Q|sRIe-5;_RwTiB5c_6sf20Jlmb0R!#GYkhU`Z?PTy_`x*0ma-|9O
zyIyI@G<Wah3riExAz^uja(tUOD~<OYSDL8wIOeu*$6dpIpWuJs|7U|t6MpBcXb#EQ
zmzimJXec=Efurn$WoQpZV$h0d>NQ78V8Tty`t{>^w&8QjJe;1_F!KFN`|35B_!CmR
zhc^#n$;2CmM~t{|V^fa-$fKF6(qp01B2Hs)LMuZW*UB;Y*R6(s$mszqD6T6^X%VEu
z3<K6;8@yYa2Dy3F#uZ2Lfr=z2$^;bolaceKo};4_p1GeH_8r^=X3?WIDhdPd8=1V!
z&8LNTFQm7Yj^YKlQ2i%1eA*n{s6&TCM{hE3g&fi*44B0S(pZAlcIs^jr@1z*KM968
zIgShvW~i^?WOuWwi*7`SFwDo4y^F(;N_VkzN}%Ylg~{=-K8JJsHIhSLju1*c^-R>6
zqlZk8BrPV&HpHn!u42L7GFDhNqsi_p{DJuJ%-4N-(kxxbF8VhDNhe7<qj5Re;~Yva
z@ZjtS2_6Lv_gxL_R8WbQx6bonR;Zs}c`_<G)7k}Znp_Z(Q%p=T(K@4o^=_Rzj|1A>
z;Cr-u<mKGjK-U%`YH@oHB=%TKiQKt{Mtr82?^~-PORv~>dHmZIQ2NBRHB&$qRSAx=
zcE>)XFSk0LG&CnqSL~e9l4y>e9MNEZw!J$^WG3oF<Etn}?w>aMb<q7rVxmtMb1zc<
zBm6gi*g0Y_C7jyd+)@31)7I4gZ8kQ@bB5mzn+ZKI{;oMPl4Dqb=A_E>FjH8H$=|&(
z<O#5F<oU0TcIwBQRgK5V_4azkAf1Q$gVRvmlsGZnZK?F}!Vg5~f{)@8utA0U@19ZH
z0=na>Rvgi<&0F<GKgpu(ht)rn{bZn7`F)4<Rfe0XQI2zpdO0ccR|rwgbyheM%XH%D
zt&7w|kwm(!Pr(D{Sl7jS_bX<qHJ&l7J&1g~JGxa>)79#$)Ws_x_1ZZWO$bG;gT<~q
zxs@;I#&Ic<q?FC{PKp=Pxczr?uJ4=m#;2~M534KAokx@AjN?#`rtNzyJZFwMF+7~Z
zTpXqnXbnAg=Dq3uHrZ|bYO*T6#9Xu@P`GLQ9D7@uZx}bOFf%{ZE!Gm%PYndH@qVhQ
z!h0&Y`SjD6#~cjcTME-KnTJ277{U&co;52qkgH^U0-BGukNX~}T%i8kP9VTlWEte)
zH%QB!&!ug<JzB|g-E{qMx^7_EwA-Pg2x+v41Sc-yFg#+c{HPMkxI$5>s}MY43?r(^
zV|gINV_&N9LH2Nrv6gg=`saA_!DLq5M@>*%7cB@J{|6T>zBtF-hqO#!oBv0yvgqd$
zYv_&R*hFLe%x0whCr7IY{{S!?dXb|{!p~-u#X%dxj!pTzZ%eT4EUvAd_*D%|#l#_N
z`GJ7Mt{X7Ap1UrmbtmDw<2yA>%h7nbjYY;g`U|b`G|kcd$&OZjUyrwLKHN8HB{{Kb
z9yTZ-?h8)sj-|fM*LX3RZ_SvMKRoc;d46+H&Q(|KQLR$P@jQ0d`gS=vL2vZnXGxI;
z%IuKrLq$1P!MOGuLyR<4OxCbSK=`lJK=SXrme-R3<0rex$Mg^Jbo~Lt_AkH7+<_sJ
z+=9#^ODj>W1_*)ux1W#awSQu9!W&HtV+`IB)c&dkBSSF^7CHOUnugS3IX9Vi%532L
z=JZ)ih*V0}c4GmuP*QIVh)pL3m}N0H__}lWKfnAbr>y0`8J84!N?0$gGo}xkEu*MI
zoN5P^fdKb%e;v|5{`iyi(;!Fa`wK1`&bf-aCUFR2B1f{ctAPRgpz-<G8|bdYm5Hwa
z)c;<i(<7T451k+*$<iU>L{Y<qJ7Vp&#4$0kw!@okwN`MRokcMuRc90Nm<irRw$p94
z(_zk9G2S5<@~Rn~<6oxhNHowqc$Ut%MHV}0(NP6O6|o_OEx=NlOKfm|5nhM{EC^|&
z<0noAMA?f*^zemF24J6x51!{Ul)~aJxSL)fF_~?Vc66Mf-Mp0NO+PL+AqJS#{Q(Sq
zAn%~2_M_F?%b0$oN<*HBzkNN+AVf5Hco33YaN0Zz!P5uSW&1}pEX4-Yh=AK@V9^7I
zY?iBcZZPy(@D_}3WSvjRhf1e`H5rxQ^`f#YS$Dgcj>ZPux+`qOXpB$DTL5S?MJQJh
zXOpxUeALIV-I69=yHc#70wNtE3*Sw+?{9vix%zlzd9Qly)J}XEgV}CNwU&(Pl1{B>
z?$;u-QK*<iuC|3_C@@@$N9~DIcA?PasR{cg^#QgWSVNJFgw#+x08`x4j+Lx?J>MB@
ziuaRP#(&+OI{i8Kaqgqt9v$)k#fm~mB=bIFzc>Nw2brDC4{E9XIU-^liAgCmLHGLA
zDy-MkopB?dcHD$<s`lN&nuPS{rO=6AT=U0IOnNK*S5<29bY3xmBMoL^BdBvh13-uv
z8qerpjki1X_45RKFk;BCWWkb1Ak5!YJv#8Aj_@I0lO8_+z}Z<~*MKrZQeX!I$U+*E
zLqR_2L~*o=pL7k1r|dPMXda+PChGg3*QchMX<^t+NGrR`b|WSu7zKb4&H$OS>ghUk
z%59Zq#zKHVMcSlDi~)eRqPin>G!`ta?ktSl>UI*KVc}5-hP~fxlSksXms^!p$BazU
z!6~KFr05(U&(Ln@Jq|?%uk;4p-`{KUe6+PxDRx;Tl2~yB!(`PE8t}aZh#n>v#tnat
z93*+?WuSf_9Q+>!+h0rG3*73Zhu13Z4?3<2jD`h1uXR;o`wqJ6T4iwRFItXuplYPr
z?W=j~^Kr6Mt;g>o#I2O4!&MwGQ5mF?E2pA9qEY{TW{89#WKu&AJ0SQQW*o^e=_%x6
zF|t+B?;#OFV>)BK3>$<V3W&M4dAK`3BAF(*chKy|3`N+h%!r|meeIGAkLB(&2Mm(;
zIRUjHE4OjYPW=o7BqSj_s81v;@Ro1jl<saF=tg(?qfc>}e6dC*F&|`NjfR{GDLVD6
z5g`(7?*nrJVNK{wNwG5*M=;yWQetG$rD>*+F{##Q`VX=(j2L+TNa}jCfa(~(WAoe&
z<XVED>aZhJA!!C3zt|6_@gV&%|DuX8AN9Y}ueqZ`pU;c#qgt9VBL7G7e)sTtJv)au
zp#eTP07Jj=VulI@{kRY^2n2||nhha9;zA%*DL@#NRv}1~RmdrfphN-$OGH8dQmDkL
z&?L%~fYK>I>Cmw>00Ko+jF2B9&rZjy*KQB_Fj7DEssBKq$NhL^))7bjK?Xpv3K3SN
z!Z;uDc&3`UyQ;!%xgo=l;nq@0Vjz@giAdN(1Zbk1&eljagy%R>#3UHQ$V?KNMuDP8
zM92{c9FZIqu!c-zDuQ67ifD>rpeQNSVGJ`H2tvjuRGTnhG#ZL(3aVmAjRAsPE0GVF
zmtcm3{~D#;7ybQ%^@0QqkwD=us6J7dJ~osdu}^V>VvHDtm^`o@8)HT$M#!KG$40D#
z)qq_XI*<9xhjjN%4Qw68Ld+5c6Dzw*K*RvW1did}2TmtB-kIz{qE!o794uUaiNi=t
z)JC_(Q!(hmSy(ZwailzsD4}yK!Pq+St(r4ZJVFCd!m=@Hk%QBW*AnLG^BoDMa`(y3
zr5*^(2!jmftPRl9pn#9e5Dgbt^^t7IxXqfvQrOK+;jX|2z<YN;%NSqds?wom^;cx4
zRO68Rf@Fqh!=Oj`SQ;^gRbMd5eSwiPSfG+hQ~WyVnlx@l7;&P2g5*STlQ9y5Gel5m
zx`m+{Qa72Dd6cB6%{_S^<|ec=bT}NeE=4%~#@Y7FSU1NMMSgqH&h{1z-GiAIr}j2~
zCUMK-l6xG}a|!;F{YG5_(OWuFl9K1bW`_~<(jL3`WHLR{mF9o7m>QqquqfIF*$8Rf
zT<f5v)sSO8tJa3*8iRw15;4CiLk&x}DUNJBvpBZWx#DrVx)1$BS#mqg#)JfHk(P46
zJssgd23SruSX>AbANLNi6fB7?SM0C!ev|ztdHkTjeLkl8N2iq^6hE#6EFVFj0%7ws
z1NrCo6@va2zp?%w+k6!$^PJ##l%x#JLKL+Uc0Z;6OcYZ=N|cQS0Ma}~cZJO%sz2!e
zh44A>(bfL&K&t0j%aU^nvyV+LfAbqOSs7lEvIVxFp7_n12&zJo93+~f@<UTo;?;2f
ziIq()Ptu>MJjvCu4->AB?j?V&vHcVo{-Z>k`Tlvx)K{Vx3IZ)-`H5%|DA19k`#+3-
zS!K-F5HEP0Wl$h}?MJu#=;(Zpcn|KHa_yc8fAm?f2<@rR;PmKlKErZyCOiqa2Q<sL
z;W+&?hti6lm%QEoCiiqABI%3pmxRV(W(tq*Ow4`)0t@X-%+o9*{P91OD$@_`hxftR
z(>==0J9mG~Z3H8vY)b#Rt1N8E4#DO+Yl9dj#7xc$A}!n+Ff+_?4Iau`eokkDm%m=F
zJRJ$TcJ_b0Z8&yzLG3j`v}mKypoW^iW6YD4I%jGoZ{;%f7sV+}(1T*|q4(chFmGl?
z4krg)XpD}+Sz+DHNs@mLN>}l+n(A%jY6o{+ak-Q|aE-CB+4(NRpm(mTT3p02x5FUE
z#;!4GJjL;pAk%snd`bIx95B<-QJg$027hS-*`nfAH;Y#W7=}DirVM=D8Gy#s9DiRG
z2YLrt1J~RapM9G*q*v(@B4fhxU1%8<k(p=13Gw)v%z7yMVux2F*ypbG{0^VCdT=>a
zCjg?cXefxIK+^y-HZ|1P>DF_qHsW}4w<+`LalW%5H*UlN0zutdmZPRnob7e=VDaxA
zgM$ZS>L^D(RIibL7iE3?XO!QtuDXFlD3q`9MGpAcD+Mih1uytxem%+PdqDFRQBKD}
zf_q{wQ|JtIJlR*PL#(rO*M)<Ci8`H1T=}T0aGhOxx!WpPsUEcRl$g$XV4!kAkO@4X
zP)Q+<%mao0t3WdHTsp(U`EZzg4q+7z&|ohxQ()j>Pk=Cgah!(7c;E1WV0-;~Jz#-~
zP|Sf)8d!8Sv%?95l`i%i3*$bI>|a5yAc61uKq7}#^x(Dm&jaR}1D2Ai-lA*_GY9^D
z6E^<cKl)++M1Pa|KiU5H|A+I>|4;D#h<}Ch=*Rp%W&c&3pY`bZug^Mv$No(kwk&*A
z+5QVbx}UE<>yP|2RbMq*^8d}Pah=vfMu<uo<(>QtY%ILh47{B`Q-4w7Owm9M1j#Z2
zeMqSwt}5ImWng%G$Jb_h&3t-UaDe>K04^%y>(c(MvV9}1lsN!4f)WWe;8oA7h3ly8
zR62?qL3bj&AW&@(rC=~Nl|;RG8vU8A(nYKq(KX|tAkEl?b;H<+N?>C|%FZgTqKkG@
z9YzF-n*D{Toq3|Bm5H%<(>S_xoe@)QwlX9+jLlXRZWv(k%d;`6;M<!ihHjC;#V}q@
zsK!4dG&9)WN=2~x8mZxIFSf=HzPI-vEp$5!WA-v8*XS6?YM8^{`Sd?CFeu1rpyXd~
z<S{uz!}VZeFQPh$4WM!uN=6u=36Tl|V?5vF=HC4|UvIbDy}!!;)jwc&pRI;ifXDoY
z>=65;K?2gF?G1g`nVm>ErO|sr0aj*~5@7S8IO23CVFm|B<utgQN^;>3HbMT{j@ko(
z%O9}e|6kX9DP+13&_)*$TYtL`+G4G@EaIbsLn2gyB^XiRrt;L?|CQm)o-UIb7?|S_
zOfw#oNm5m7iPjvr)3UH>)vNixK7$x%L;1fzNJo>oxUn`QT@%SU7ypkh?W+=1LVyR8
zc;Rvcl=ecbvMt#k9^!VL(N7b#e}DcH8k4_Tesh~nWM^Y(2$whc8bq6UYzz`Q7a<?d
ziduQif;r&^9QPg=-<=2P|5Uj{u+o*~*k+fH#dxy^uNsn)uVi6V;UNKFn6UKoHUX%#
zp*|j~rZ5{BlQmi3&wGwF&N^im8$Ns>e+ZRklf-hN*98*E%+%RUpM3UaEjT9U(LVmJ
zgBw*#j~rqB1LXx#(xzsq-Q12FC!*+Zzb}C3V72)bn{Bo>JS03J$jbR)SsHS<8oOc@
z1`-G%l@JdXL(m;TuWfP$$d=N0TkXi`&mM$E;nao$!x0mDv+FxzY0Z_wnmvm;F!T~(
z36PO`fosRPx!CHQzuQMJ>#81KhmlP+L?_#j)%gCS=2wgKi!48Xz*w2sLP$ar0VoJU
z>#J$s22k2;z|dk>sdJMyK?p|-Bd+Q7z#w?trb=_0Z9F=T1Ynq|tm`9O0^um5+b%jE
z@z=ZKJRy|d?OYc_=OG`F_(9zu(a~wxAvH&KOa^I~V&ZAm_b@?8yAqr7QA<%++&eQP
zP{KG@Skl`uhyl)e$6`_)cJOPe8*rh{cyClg+?-GE)O$SqT~x=<3nYpjK2OHkXF`MD
z-1B<4;Kzf-+qg~v)5S7|C~f7o`3Oj9lqtk*+OxflXGD9nvs+Io*J!YA!?ftA!PK7O
z4U|$8My`g0@H|gIKPs=ZQz!Hf#^*kPLli-WLgXi(-PYo72~i9u(Td`c?JVI<QgX5K
z`=K{Ix8Lz`+mE%xdO9<UfF39?lSUXxeVOzxtoF!{ui#3$nGNMxdHvD(ADGoq%?1YF
z=#I7N6bYLdsKi^)W|>8Kdk>(s@E|;X-p>xp@GFjcv7fflQ!~KEaAHUH+~1s*iCryM
zy6g1BqaPRAc}W2Sc}66}3Nr{RoSC9$uHTCI)%@_AY&PL;W(ET`+p5LO#Z>4?njlDQ
z$d6%45eSXa<YHc7&`^X6m}X=6?A!cEsSSD`kK15cA4&;=(#rs1wb}+azncw6*ih0|
zhSnpCG6`x86f5DnDn+SZRb=L?Eg@?)cI(@&yFu!{H`g7#a=^UoY(zjr7_!b%@!O2%
zUxCT;h)ITKC4jo^H2-5c=|hQx!a@=xgkoUq>%#qMJ7Gq(e<y~^h`EIUti7^W3I-Zw
z9U&$^5AV`@Ko3v=`uG$suu3;Th+gVyC`jBkeeCE-r&%cxtF%M>JZ}zvvVTK1-*36T
zUy}3Zm~eyB-1`(p7eMdsd7aTg2Stt*5_=H=MG_8n`ku(7<AbCj4mv8#N1Ko}uvr0N
z6^u&Zg3dQ)&U`#Rjl+rYBq9=0(%P_=mMJ6i5%C4mUgN85{MGHC8bh^#w@^lg`jS|5
z=sC|zd`>JOkb~77H6K6lrw`tP1;-9_m4L?9vQePcU~~=KJm3~7J}1=pC*&Wps*j*a
z2j5R1=nxOV)8mxr9ug6G&YVh#i2j$Y`(9_CgWC{#M6wqiKIzlSuj;Z_)AZv{evKgy
z=C7wCe!V?0!{?bIClE%HzRf2>ZJk<b8whLXC(@gm1G(c6FJ|NXa-H|J5PgIusABI`
zR8E<`uJ+lOz)DSbU(9`i0tqx^+z(Yo^hQqHOmofDZZTH}-@GPkBnBo!wHr?1cgWU|
ze{=^LIi=H-EibV|<m^o6a9W+yx^sk)G*#9qjNWM`U?pmjl^#_ck@nE&WBipB1}^b?
zCe_02v9Yd_WKm7OS%uvO;&}Q-dxt}x;rLyi=>jA_;z))Nr$PXC<w^vIgHWg)J|C3w
z_s_5GKbrEJejWY$=2%UeN05DW{xb<%U$z&u6OPBEkGChhl-jWMIb2`gBI81ybN5cK
z5U3eZ$~C4%g${cSO@Ff3v2zeb8ZCJ-;;y|xR6&~95wFec^j}ER*8YTHudaN?Icw1<
zcX*EDO!_B1gp~;U7-F6WtbH4Fnuo_>pzYpmv*q?c!uc0DJ%@3DG?=!xIJ@F+?AkVe
z07o$gAjV=@hUOgR=buEbgNGpu*Puc<&~OnU3{VNMQsB~u0gtl6<QT=VqK2r^>W93Z
z^Py@cjvNfQ)hRnRWL)*x!h@R5rYk%1&tceR8m%NZN!d{~Vd~EuXk~L9EOc1V2wTk(
zo5sO`%Wdj3ctqxE@oD@22M>5?LG*^<`+j1=Jk}pojRgb-&ZESAKpS=JVLZk7tns2j
zD^DKqBa+$T*$9VojvY~F3Y=|+!SNFV2WT(|E)aw=X}6^3M<dc99w{4}EPVP)fnv9|
zF$Q$U+~R18MJA$1q=rxQqfs(K0RS9WvQoC+sn^jaDj1`U^(Kwq1|nl;sNDGL<0wv?
zxlvS_-%G@kwG}2voZ*v!_jkJI@3HDR5b03fOO(kONiCdXdH!e{iT=Xp*yW^^=t8^V
z;~#D$pfsBY4ApT$anL3~l1Q{Hzw1SzdK>2zS;-AJaBX>K12ZwykGnN+M<*B<nd*Xn
ztj3_ccG($cnEW|1!!s6kDPLR89XWf!mofTlMvsZNLPH;oGXrkyhGqgmW(7p@_)fV!
zee8J85dI^u;c3keSC)mgq3xRU#EA=;LPR`8Q6krMT6;Zmw@c)c_3qD?JQ<R9<k?Mp
zf3V??!xn4$ER>LbPE25kkFFj80Qew;3vadH5j`I<@A&#y;F%&PylbEiGlVwhuQzb=
z?+B`BsSk*ee7}@C^a_8e=i>K)_3!2Tz<MF}jDrUVCQy$Iq&tqW{nzd7D$$`2#$k*k
ztRX$4@H!O54|rEu>X0cgm=7UJK<)^8gcU!><JPLAlt>h|f)1z;uz>jf@5RSF$t0h6
z_!l$d8=Qavw=V>+Ak1^-3_1fz)W^ZTZJ!W*RP<}t>CDz$XRXXLcP2RUet*U>c}Tv|
zZ9Tr%hs^uE%ufmv*dcl9V-l<5r0}w_GX;M;on!-0T6Y=r5^Ri!qtU?&SZgMCm?ma*
zNRX%<4k3~q+HB-@N<v-OZQE|IRgkdT={*wWm_wSD_v<0E!jEPRT29RY5W|==;<)SL
zW$!2SZ!<H*vm)0oU?Nwy9a_U3C(>1}M}ZAt=nV#NAU1aew6w14j>ma{tuWz5nUzJR
znoyC2Gs)r4x~jI2lQrXbBLOmjSc`_*0TI~Sdtg%bV+E{3AY4f5fnq*rUM`Q@^-sf3
zYTqGmUdeCj`}6px+r*jT_tZ>s@L>6|m%sIc$Jg{oAM?L&<97lO`N<3l$RMh!!((Qr
z$vBiz#2PB9s)v$j;Io5Z*)2pxL{+$O<v~?kOkjA$$8u=T6AX>YE*tuY4w6-9YO904
z(T&NlS-QmZl4(m#ZC&^={yDP-Y<WUVH>RiqHp^BhzFpYkN6399nH4}%(n?$EMW4>_
zus%^-)DiZ-$nIl#?Pbw%l3#ew68Uts8Xq;3x-YQi=J@GwpU^l=+9dkNn;-kLOI_}N
z%|7oFFBE*SE+c1~#_#6&y(gH{=R#fJV3~RtG!9zHpQO)k-OdN8`GNdDcs`!UeS<DZ
z-cCRihhgtt^pX1?pY6#!zC5{cp@;3}Xp%{y+t~9NaxxjSVDydMyR*Ft54WN|D6q`N
z8eT-B7kPV|&0WFwL&?L^Z_BTt$5j0}fM<i6eh=SkY3Wls44&#iE0@0N7V@T!5KUs1
zch0ZOl)c&QwSax@PouoPwm}FwK+!YgY0!Uh>$Bkc@q;eJe5QQjC*vt=MTb%8ENO2b
z5oq3>*A26<jwTqUx*9KK28c|lx5KFBb`-v7B@v=V9I>VBJagi>`Y?y0bDW@7!BSjg
zRXzQ9R2=tsi|~<QB&@C&MH)ME+k*Tiz>$kPK^V>Ej2y{^d~#2I7-nOLB))WGK@F}q
zi#4%c&5N3d=Fzut;&!+EM8Tcv5ryIGvs&j^a<806CfjasNu1rA(-nB43Z^<SgR@r@
za!kiOSId&?-R(|tSMWcC1$H~T@ZW1zEf_ok+H(Nk79hdeAea~f@;G^5RC5qT^qeA6
zmjcmJ4MhR<fJK6@*oi_Qlz>w6;Ftx#(2>%22c3jn);AnZL|nUc3}MO=pz)(l6NN7}
z4^<8loQZO7wy~X}%ESjM%QT!Apt>ArRQRYSs-$C1W(W*q)4sfjW}6Gd>e3$xbVSoT
zE9-lz69GI{OqvnKbstv}+MiqU=8a=7J<fR_tJUY7LO9^yoPP-XZDqxemu$x?E_nCu
zr?fW%VmsJZbE=jZn8`U|S&}J~6)(?r%;C!tb>lr~KX<-P4p6utf!JnaWHas&9a?^6
zw=9^voTsGR%kQWrNZGU9B(4zSySS6H2k))~HddbsjKrX?Mb##V^iM($JkWR#r(-}=
z1IKhQmTsh85A5=)_`7oAx9~+ytiF9bd`?evT4et2FdSw*!=LTe*k)ohAklO~?k}g9
z#x|7%KhoVo{62Rc1Uwtjm<)QlCpxOt8$M&&9RPYOKT28U6c`M#8y$K)>@zW|f`->O
z6}EbR(dAb_A^95w#>;uW*U!kI()rGP8(-BuQxeqd0AfI$zd?p(Bv)(;DK;GZ!2db%
zv6-0nc*?rOS&r6UirY^D#=7zOvd00_2vgwg7-kLX@+u(!2kK)4Rb?rb8JLbarJN4x
zdVcbq)41lj)qYaHFK&M~=NnIk(rjfhVPWICR2>@@81~fl=9J-9i44rdh0en>9W*dV
zVRG&}d?U=66^aFG^Ty&&Z@y}%*NXQ>*L#~Mm5ds0FmKJ<F6HA9#o*MX9Gn{c#$c{?
z<UF-hT}rBs{jiW&J`iSVWNz6+%$I|ZspFv0jEQ`Opi6qk)U}(TA;KU_=1Kk15=99Y
z?euZqU&987zP)HWj(oW;o%9DCR*a0raM+k}a(dZMl@qWA%tsNUWb6XD(shnoCH9r^
zqg3A`E$+yl-aVb}V@Qc_?RPsDzDLyO9DJQp4=(a#eoY*k){AVvXn0;{fn-_1-?iTF
zW3eqL>L`P}12bczxw$`MZ8~?`m{A##<HsdUrM4NWl(JTP2)*Or%#2Rp*Q*T7N=&WE
zmTzaOWF$15oG@Ap9<3NTQ3BU6d6ee{78*&O3(>(aX}c%cjg?Gp3iV@ok#VjIgVob?
zhcjFk!Zp3Db<VkS{FmGJ!}O+axic!00FOGKmq!WuPrhzwf?E7ji^FYbG11lFgwK%v
z>Hx=%bLY`|+ka+x3PP$!L!{$$<cXmYzlLUu=w#VdFi2I@CW8;3@hwe8%Lo;7Jj+zN
zVKexaK>aOH?7(-U`WO-Z(v1J)O#iwbe6SV&L?U`GPtS+<KOI+(PvMsRIAP=VuJeK+
zGN1bppZI^LKf4?Y{h!r>eppA}{~iE)@#pY8_v=p$3KT3T>~%mLz1XMrpxBa+8UyQO
z%?n#1GL76nMgOR<W7#L^{fG2GZ_tE|tD5%!KJS<0Ui}e=zw`XxBz_WAQ})kNRoZ{Y
z=B4i|W&V#&G<<J`Rm#n8hu<bMwcCC^X}>x?f^X6P8Oemuhj{uar6On(39QG~6YzR|
z13<qVhyEAkBn|yoC+59}HxVa%9AVectwG6r|K2~m24dp#V7pNS?i;^vyO(!-8W+kC
z{mLUr+($b2js~r<a3X}s!`tp%2A7P3Nux->Iv}EW89}sk-6ITNfkmUFYw+}Pl|2-p
zpwUxXn8->1UX3=2gv!1Re{Y$IjbxMFJ#zQDbu_v<kn?w>b-Rmj!4xrw9W-cEOB2&Z
zi1$T9BV-gO7ziYAW)0kXmik>c(C=ZR4*`&EA)H5t8H^c-V`oWf6MCB{$wsRfbWkA8
z8Km)G4NM(Qx5LhS;xuzO<vWwbZh?S?5<DqM3oZ(;J-|L>$On6E#lUh9%=3+vAtg$K
zsfq%k4FXz=jMc%)c)4Arv_;bP#}+t$lHu2!ZuER0A)ea!0&pNmGt}y1BY};;z5%&~
zIq(%LraxXZhlYZJJtM<ypuxqCcz1!uS0*E+E5O{sp-Dt+g*t%PaP`rbUDktSH5GwL
zs9yDgTtPKe6-8B1NPY8?s;aM+$AEka#Xy(5o#JkyMJ9$(3=T7t3D|ZW=2XNX2>|qw
zMakHoGsFJ0g@}W!U3}lA&@iY-XGB9{i|Ggufqeh#W$o42kF|r-8oCf?ad#YyP1OTq
z39K9eAG-(!pkUW<eh~mqDFUyG00RjTQ1L_+bJs{eWJC}T`wAn~4=9(tap6Jd$L;t9
zC@_T))YyYkPWYly6!{{#d!R^oB?h&n_=dl`dU2b`VH7-jz$_x$8Y3k(<A{px?_r^|
ze_rwI$v>i<PK4xZuOF4+tp$;A^S8wbk|p-;U|wJFei_~1!!)SVgiE)9entEW2j_Ae
zwf<N|nJbaWO>SS<imrJ{+p8-SJesbBbe)PgrmYS8(+B&LW|^Rl)hiq|>UMNAQETHX
zE}1o_Wm&1IVor3MP7$byz$b<qxJsk_ot*M}>X)*5Pfum$b@MCx_bJmfrBS7<*ywXG
z;DvYz!qDH)p?RY4Ke;f_K6w6ki24`KbViZp-mlLO{;#loqe-nehP4Ts0^E52OPQjn
za~SpeU*nn&fhovdC%%oFV4L#2Jvz?=uoyj3i09Sgg9-Rz9i)D~>NwSUNRMgd(>IP0
zQ*_x+@Nixya(O1oW5R7KLp1ue5PL;Z=$?>fY)2^|SpwjX`Z@5iPB0DNaNE0l2Hi1D
z=9S}b?%}+f!10bV#x{nP>ee$gOM+IC3ljmADVW<9sQ)ikNLn>`f@#euDd*hnHYtOw
zA<9hEk2w7)Bp|~5U+}7dVh+1#Qa0;G_dcJhJm&h^X6x;tZ2R5R2lGLk#O#HrB#h8)
zpZMM8$eFpa+_ZBNHS2q-?0{H;?K+4(0Y|af{*88jvfZSxV|n0X<2t}b_XQtx;g1D@
zPY6zsIT*%}*iMr%rcb)-E9IlUZd```d}-)B^#UyJ!cH{pGD!}oo5bt?8!1jRW{Mji
z@(;lltkHT63A)w@B)gJ9sWFr`lXg%e*!b<b0!aEpFk`rN9i{Lo&f$g0gwhE@Hfxls
zX*Q~jYaLXpf|l5hnIR)5bkQiuSV4&0f}_etqm*GGlxI4)P>eOc*hGkMNS||jB1#>b
zx$5$~A&U9Dl~Eq9&1=TtiFu1+4HuXDG3I%&v(cyFk9Mb)w*m<!NsJH?sxTU<kIlW$
zO*~N6Bp?>u{e!VwR5$$#eo#)|x76m44kkMwt>LA7w``LTT2TDX!I}?V$FSV}J=KtS
z%GjL9IwQ$?wLF)@x|etm<(mRoLGWGQv&~PG^T$4l@#RQ$MDu;#TruGk>WRiLf#XZu
z$i&XYH2@3l=VX%Bl7xu1geVz!cu*`T6isAehdHAJ8#lsTIyt<&s~cA54iI|TM$P-;
zlW!#9QW6byI76y%+Dn3h7Nx#CKjf##pD&~_z>ltn>z8~ks9xlp5hJf1<XDP1oa#gp
zRo?8~a35Z=!U$sKP~=)7y61%&tX;Pw1VJ-tPJTB5>u@$F+2?~niXBo;-j#`ggUpYc
zucfVKlaw~`t!I=85f3=JGpide5L51QU$MBJpm==|FL#9G(V2vXKOQlmDK-f1x)_ZU
zA9n}^WdZA9RN5d<83s(9dSYTz`c69eVfDn3kkFdSB9vsIc|_U?^uw6|)?|eY@4DBv
zlQ=AdJ+&i){t-;~@wXF`7nD6vP)iLru$$GvJLB11`M{?rp;KSiL(&+Eee+LOEL1eb
zK5YFK1cPu6lU2{C<Z7DdB$GdfQ65ASs-2BAOtVBzTzMcjNh@umo5`9{1H@kraWTO*
z)LN8%UPFER4m}C+Sv>5EzcmZ0kmL{}<t<DDg39OZdITIM;T~qsNNRdd)6w{d$v9zq
zu<)g4UdKw8EaGmQ(h;Pp_YZ?aK>MA@u#p5Td|X=`ImTczAce22a#Ca%O-tx@cAWmb
z%%Qpj#U>V<qK$Pdb>!I~wKeRy9};fqR7CnBozO|!L9#<VGMq5_s*bNtCww1r_Ol*#
zvmOE3P9AtntIe#fMS9S|Y8c{VJ5LvA?-Q^c3B2fFpe-m!8=ZQB_igr<X2UuJhbm%7
zh@eLZn`uKr8=;91>DKiL4^g9mp=oBKeIC9j7~U3ybR10#i@NF9(!$5c>Vt?L+RB!t
zfd<)W(gxrz<2G<lEref%q>k+e3{nvdjGQekgCcVH3Q*2W-==HQu^(Tupot(j97iIH
z7Kx{E7;A(Y2rZX`ycxRF6{a>X3Y_drF=AnfrpXL!3eNpouk$k$1LBAvBc<EgEANyT
z^-ewf)AR-FMT?@)=jx9?WScQG6JTqo{jLb~JW=7?eP1s63J9dz6zB0(Vy1kZJw7h!
z5=t)3l2y9N$AL&-iL!P3{CP&|Pdc8YtbE8%rnytZ>hzqs3E>uDqniMb4}yVl#K{l!
zV{Jc9;9qj<%nWPj@V2p349OcGQJAF`nr0+~fE{U*_NL#=@kJFz8|7k>6BQ=}mnob^
zQ)e+Vy*nJJ|6SWl>i<72A8Nup(ZcSNNbEqW(6{A|BU1U&R96|G(BnM&>Fu73@K72(
zgDj==aiz!9-NCk*)xjwJY%F_{5FSL#5a@LyL<=6c^*hgZKhtIOqZwUn80U+~b_*Nx
zeQwuog4o0NWdWz8BqiaODjC%fCNX95VfQ1#e32e7Q(b(@rG!KHV#9&mIN*dJLo&YJ
zb@!KjNgrzJ9zRpIUSsA-*U<cYNuR}{v7$ZLF%zC)7e;($v6hUG-LyBm=Ys8JHq)9|
zD3*xZSsLs!XtgH)-BfLh)Z#VSX$Z4kz6gQnW+8E?Ji++E&+~;u1P1V(gaZIbGk{>0
zKBh6i%I*BT0R0`T9sWXD#&Kwq@FcH9O0ab$_CACh6g431Ccv<0MA6(qot}a+3r-@0
zLGlqS&VK=znKI04eESRPW9Sj81!Rj$W?;6SvBCl(Ik31P3{Hk4>e*G|3xvjjLSx>G
zLs)`BNkBQs(8t-+)eAyqf*41ay4=xY3a%Q2NhbwHwThK~;q{Qw^R@d(m89dXmZw_s
zwGbg&d={7xc_1rH##od$cYYD1D5*U2{V;t<_@3e2o_1`bLMZ%&4TZvJ;@<T`6O9R>
zw5wPczoinBX&-3}^yl5CVa_;i&uA7J2uK^B;~6P6Gri=+KQ?lD9lI#(y0&-eUELqD
z@ThM@co!r<<Q)#i5ZBAI7A8CJa=4Mp;s#H?v7ZfC{#*`C!?oYr2V6NxgE&2&_pwUg
zEt5bzWyi2Cywa`PW(L)v3hayiXfPNp3gp*lgbjDS5$%(*6%doE5P<`+-?a?lWUOFD
za>IvO9N|#D_cKrh@88Q-xQiL!`HCkN50M0@{rIk6U&*Enb^foa&O|yC9#{7LJm{kc
z!(ECxy`E%CZyY3z0z8@#FaehU%oW-=$w~9xBjCW?y7$MS0n1$d#6?ga4W^^xwah%@
zfgmVkfM4DUO=r;b{FQ{w0>TIra&%Oj@>vHc#9bd>hEy3HBWU!O*mz2f{&9xwNtq!e
zfzaP{&-adlgI5A@l7u1xBtNoC4A^HFCW+S*x6S5PNt&siTEn#DZKT&T6_(4WI1){Z
z2s{$?Fc@$rS}VB&RbrpG|B{e@pDtnX6nlTC)8TztdY`wukVRA^MN;CcNC)Te$Lb@p
zVj^@Juke%p0q9`-QB83Iw(wEysz@=>Oi6hd-?t2XVT8#S$3=+xX}-klA%_vbB4-S4
z6l{D_gn`7wo1+Y*kwD7!P^3I8jYUyoz}hAP&ZSR!Ad}pv{M{3CnOz9ztjvIL=h|JG
zq&C>d$i$9VA^oz-hN!Js-PAySG~sh_=5x)#<WNI=1-f1X^YeUXgt)drmqSE)w{`k<
zERN>V#NrUaAYE${wjLHz2kJTw6G1Fp`3?kUyLd3@d+&*Y%cBSwDf|De*w#04d%u03
z*V(2h&o*Gi$fV4PNTAq3w#hi1C5eT2l{t{XdpkD}h&lzK2^sOh^ESJ4GteDRT0EFz
znHdxb`Q<~C0TfwXmQDz`)Rs)p-_M=c9NKrwf5{D1y^#FZu-CNOyRS<L;OKOR+0RcA
z)Jv&}m&j?8m(xMlT~%Pdj~#T;f%`>P`d5=e*5IxhBut55^~`4XuU=tthj$&`*yzjj
zIPo`kwT8sq)u@S@&~gd0(;-8>S1m&vHn*`lWbbS{!|0wgpoA;Aq(od#4WLby;gXaR
z2u<BHpzL(Z)8X<sX)9tG*hp9)L(gCi;s$}B-LarFAv5M6XGMCq(b*zLcSA!^?cDJ&
zfy|?#ap&$G1E<#y87RwmIAHREK!y|!Q116o9~(j3g7*wTB%s2TK!r(2mIg>Q5UCBr
z$7JcB5Yo;$4nx66Y8pcvNNt-O0Vs*z0?4NpMeBO_o7+jsUm?vz+S*Vlhz!giqNO6p
zIs`=&YC6NisLff1cIKJZ$Qd6l&s2!hk~(`(+|^7FOr5-N!ekT_%)?QGND~?$vZyE?
z)CnZi6w&brx*)?cY809gvDaxJUp|dgoZlnB`T4EbyrB{;5D<ie+36n!8#_gAY_5`I
zS~bPHL}L-{i<Ps-0UAt3j3Y7X7XgiX6pHIED_|V4=5E)6yWylTK%u4pQ?r{Gh1Xt2
zx{o(KXID8oi|Tlw$YZL6I-aL@sluA_QGCZ$Mj9YFJ9K&Q@*~CK?CBBkJOJZe-W?hv
z0jc$p_>w*=W^bTI0ySA!Tqg)c+R%{Xn9!q;oMac|)+TIl2~0_g97uZU%Lfx9yQg)w
z+io;EaIRiN)X5@u!ASv1j35HZ6HE~U5kMzKQ1_2>)1_ZYv4SCto_0id$UK5W2?3BG
zp#n&upr8b$7?5HSGXd{N)DX2I1`HHW@^h)|hA$?kPa8<mA3y2O^AS+~Fo?ft7UECc
zN&tUEC6{aSkw2LHO$uTov=9vlSp}#G#D~Zi9%12f2!`JJxu+c<GJOFI5J3U|N!Z(L
zh;1My<h3S$ANxJZenwB?fgfpU`eX&sF`=Q0q(E#U0$`EkpF+fa%(_nq4wd&>*j)+V
zso}tSd8s>jDb_jW5TciqQP&5A29=;fl85R!pehJ#Dd;2~LLU-7WDH{n9F%!-Fw(FH
zZb)ci40WYw7euD)UdIQJ08B9;hk*xS7ub*liA~F#2RTsGs6i<TQ6``4gic5#i8#(Z
zNSajm5|tAWQ%LM<StV98u2fB6<_7pB5(;}K3z;(khVB8e0O*jRP2dUvh!~1^K)M2y
z<d8xfASw2gc_cEPi77ml>5VZ7qW}{F+dyg3o~}g-ht3oesUn9Y8WZCOybpQtI8nL1
z;c+6A48zNFQaHH4X-{7EMg|Jlm^}e7$5HnikCZ(|@&pJ7rB-2W+)OnO<o9+v$A1qq
zO3m%_muGhgoaY&;xT?7VX(FnUatIPBCp*O4&})AWuM%<!gx9yH)f^HXQD`6;jeW{H
zZxX^0i4HyO{v+k_dbGFIr`z;$VVR1w8ZRo)H?_bv7DNkJ9B`FGGiY{hnAbaaX*|4-
z1@MUWkprp_Aq0$oY!ix-$JIGmCvPv5b~OrVo01%a-~)mk4FV1!-Y5{5V(1Y9RO!2@
zVSrvy4WpZz+8tKNDYul={S{#US^F2f{n~Ukj=-ah$+1^R&*&f!Y5qq10-7-&ta8T8
ze~i&(8KgD{)^w4wpg&^Kv~98zL~+4S(0rm8eqb^XvnA{*RW?HqgeX!6#zFb|VtL_s
zbNgPv`F%h4z<*ue0b0yG_mc;%RQQMiA!FO0hdCK1%k)bG`3on_Rd2|7$`+x*aSlcZ
zzhMqpC>Q|p@ZuI5`OUQ&Yb081b^vzuGnJV#@Ceb}v9Fb}XtsjDuRFUBKsicY)gv{{
z=OvmZu68I@bR{*en;HR@u_PqLSatdXZAl-a_w9x(RwgPm4i=1Hn>b?up-O@z*pZh1
zNogX?>FFhh7^bsnS$MBlH9nbLyuq_g0p5;xc2B39)zxGmB*HFC`p|3qMQ|hq6BS4*
z*M$jzC!pRj5#@1xr}#PcQ_WBjV$5LJ5HDKL_TdJKabl7pkdI>rvL6rG{L}K9ia$EB
zv_WEw-_yf^$ts9}AOs{P5@z0fmt)N8<)nmKhVD3+qKrd4VF-TgB_StMP{;ax_Psdc
zVbT`wJsud}QfQ&tY5!(vs;@b6sxx?q{bjsf6c>bT*VjPevP49740mw)&qLe`-4sD+
z!cFe;BsY1(J0_A}Ad0NDSo%ssuDk}z>4x>Uh*2WxQXsWv)$r$iwRoKl$<FIdBbJ>e
zTEvtREDNYOv55|cvqlGmT}^~RgOJp%KFq;!2+5EKP=HLE5F7kasybR`Ob6NC7KtEE
zYjz<wOG>G|W4IvqpsdH>Xnd<uX|+ZEM-1^Ck)D(d4YWGuNDUH=kmHAsLEQ-l)#>ZQ
za;&qL$|Rkm=9C-oPt$p?w-BwUQHz=29#j`zl{K;i`i$!cLF~XhVo4Jm?s!^r4+`2D
zlcS1FIG>Iz(wju(&J+?|Xd2YRaf_Ce`HL)Ru|*Culb%PxgB(_xlzTm9Gn|y4Kkd9B
zFdn8}^V^fnx%|gi*##6PnT!rQ#HZ-RV)pSpLU|1y4+EPw>R@!q81#548tKVlb5t)=
zq6)2CNrcIVT^$x((=n3EErG`_3J3Te9w{(I1z})cx3fcF?0_cBgcTx<Oiq}MZ843u
zHb>3)+AA${85)f0`0=>2ukM^KjKIzDW^-e_+DXLT4Xk0RP2_Hut&izB$l?oq-K30-
zF`3@}eDAdL>z?Pkz|cNUOWt^gfw|&^pl2gQQV@-@pwJHDQ_m3Y2|CTZdd1zAIt|*>
z*5(@>Asb1vSUNQi#Be?rQ_>lHU(?o9v~Euz55Cf9g6_ubt&;_!kb5R2rvL~(#f2i1
z3TBIsAL9Bf3`N~42yJa4r%Nb?<V?n(p?1w0SV*y-@fiP$y;nkT*2uN0zAVdh1pP(F
zT}(o=6836XpULN)LFDpOIZ*@XAzzKFXLh*gVyu1z3$^tyJ7CL=M~$;0$%M&iD9o)O
zZ6%inaDwD%O>!2cSU<QxAhAW<XbQYGQIKVv%>0n}e7m>c-e^#-0+q6cv4-@sfe(2U
z_RVmVY(+ZA7DV}v4jMzw<tvf6dz)DE81@<Os5&|vamuUOVR7(z1i|estTo3y9T1->
zaS((|v@#?~AvVT#agB_a8*{>OHV0us3PBff2Ze-|8-$T3LnM?RtD!vyz8|FUiC}{e
zgtu5Z*e1lzo4ux^#@@CDY~bb580N-_$*^e>%4}y76AWFoBm~*X%wUOgqU%U&mUJ;^
zi%94++DIW910kjhaoa_i-E$+1kl{SeS-*J-{Lci8?jhSKENVhPoD3W8d@pt>Q-C7+
zN}|4fC$gfkUY$R$aVp!YIw@I!vhcA;__+<gPBGM+X2WY5krs9xoJI`!Rs0ai5@{Ea
zwYI+<V98K3s;{rBp=^5E8$*djdf;G|0}x9<_u@xjsL&C%edtt3C@`uIgqh&XTRtzj
z4}YthMst}7W@q-pw=c(wRL|OvLP55Y3YKvQi;K5|3`-)ht!7f$DuXE@!wXD=8g@Ap
zx#1I+*IaQUUT^LnBd#Pw&jPk5rVgDlNf2Q=ADVQwH%WRd#qcL_cRTR!!#4L40r(77
z1R8}-9lY=Z{A~LCjP>_NK==kSks*AJ5jZi1Bi#?N{S5RlHkfzW=}4Q*5u*%2={>Kp
z_!&6q3gYm7O16xzSP^Dp{-g~tt?28^_ug65;c`0<;EOSDp6(y3{$kab9p7=U$7p(Z
zdWQzdY30)cLA}|AX`tRz?vuYUecRFgH^x59JzV%8Kg$TGY$$&+1^_zFaB!(H(s@R3
z{Vk7a24Y2*(CHL|yoXT>N0JQeRXqq`CcMM`Oc9Sl2mO)wpl&h`;2Pc_`YWH64dSE1
zB5p)K1d!1xbwC+7!_0)=jU{Ys9uu55Nc`R$tfN5KY+^XBd^B`%<ff)#1*D|HQuKxx
zHr);hA9la-O+vcB%d~>asW*+r+&E9&9V3e-Kk*3iMe1Tkkef-2LjO&l)G3A-7-5DO
z7-5DO3<iO*p)``RI65+eDM(PIDoOx{W_C%E9h@p|?{Dbi_kI}X&bW}xLi_xm=yux4
z-l~10{9r@ec*Af%aQ}&ibMyj#p&x(`@G76p4`?t@ZYGre#ZSYbde@omhyENC-Qoku
zO&yWm9d3!Lks_Q$J5J>-NnoKK3QC$&a3wUSa3}9B-6*1nkWcDjYGxRz0%e9`3D~3r
z)D++}zv8CoZWv**89;!*DNG?qn}G)|=>$KRIJ_7;Bma^7;-1s<`uq5x98TqFN>i{a
z2&Y@rRP#hTknRrf?G!li7qEfJPv<C7a$@oYIJ=5w#=zl)JRV6*3<x@lN!seAieH1E
zfaq#1Is<74A9_?v2&Sk67gcsc3U&|xJCuU|LitBjFHk5!aEF|GLM~p=;<3^z$?*>q
zuGe)mG^43Z6oos8Mu?V)%e+B+{fK*2&xlR;O0ZZ6yf}k8zznI(u*&tRw#5tvpRiEV
z(eSEU|9{2tnkPgK(TKPnTj~wagX05;C;5M@Hv@|g0Q_+Mkku_kL?*w7pm5C0(Ya|`
z_wKeM@P}d)WfKT81Vl_^3P4nJQyFwwVP{}MY%fLX13~W>5<i6%Wcp=(vp<CJ^C?mx
zSptILL@;2>`MvGz9WDEe%G@xkjLfFOK>wC{M3?k1(bMlA#r^FaN0gC2jZZHj$UP1e
zBdhv@6r_P7HV(O?&rIqpJZTo2O9~<qbfnl0ROtmfj$4}H#KZ8DZsHsupkBa2dNMF(
z!hsq?V1u)5u&s6P_ovu(*;ALHjQY^(LYx3o2i2vvHc(xM`QQO>?`aJOgl<?l4q~|l
zh>SFdu@TLJfZ%5_6q<2OBtUCXJmBu#f|fWKq<%jybpKTUkM^9QKdFACtdai6QvmD$
z6Z!@}&?f`TVV`(B5^R})i2Y0yurv~%tb!!AFe?E48?A|te0-frhdU+x!wL%l!Gv9a
zOP;qDr7~_(L>x^N27bdo@JD?ivGE_)Y26A5iHJy2a}x-nNR@y`6A;p14IiWQevaL~
zr;u=5y`;JI|2qER8>IA+=s$6PQfW`LJ{Cdb9@9#0q$yx8wnMl@Of>LCIHQl)GrHf3
z6QKUEr?8vbXK&!(rcW{LO4JbA3Pz9)p-dc8)Tuxew29~I1T(9y?gQI6^@I})fecLv
zLO`Ss&=b_3lW)h1#QHzYSVY6~{Z^Rolq7^9X5;m@R~{<GAZe`3X$*glMzcUR27$3v
zQ%pwUg1C^>P9}yPd0Nh3j=9%|!#h6?SZ)vyZ_gCTCIT1@$uJ-yLZ4zhU;~K<OgRcV
z^fQOr9OqAUfW4?YBcUG&J7NE}ey*W#$ND=n$_=)CsoC7sdYJrjpfq6E-Gn!rbd8Ti
zA*cais<9`L*1W;=Fj^V%{)$nIO4tP$7QiULwgnhl`7rEk`5SS}LHjQC#_Qzw&F2BZ
zM3fYlyPy*jV9azM<s{H;u^+iRC9u@zQ%2A@a{rCMKaM}LIp3s{Fu?ae%thcU=MNYL
z&wU`6$+<EZKy$WXVp4AJ1B&lIALZQf7m|Gn0cp1OCf2UZcHQ0F)0UFJXi0=d#U}}q
z;EJ1V!-g{<58uH5r3=T_`?)aRFHoS&wbXa;R1VG*>y}Y6=?maY5Wqx<g-^O`_U25T
z!Vzpp*0T)+A*777Y^fITu#I9&$}meTNRvN%`acii{9UJ=POv<HkoSPf6Z!+TGJKTZ
z`PvQm5sDqPUYkGp(enaF9)nR0H9YYhQT`S{{H8J?;t@Z8tw;wD*-5w^VwR?2q1LGG
zrqm%5kokk^Dd6y4)+oBbp^<^bOa>7K<|0YI-4h?OHT)-#iF5C801N|@iUHZFaU4<v
z832h=_aO5cKiy#T63{xkL_1YGm@MKcqL5C&PjXrq#)y#z0U$x*W5qVWG^c<D%488Y
zB1VC*!l30H2NC@tp}|YnRf2gzcQ`4ua3C<bH};=zP=vf`-NzyCWSAr~dVR+z54-+X
zhhT$Hr|o`km$Un+yZ0nNFW_7R53BF7L={CvP=u06Mgf<D-Xt>82eF?}k86YY&3_3b
zqV{N)i9{+dj2)g84JgO%2bp%y>4EeF7m0>SNOB;dBe2EvA)_*t{)4+m{g_r648UlT
z0VECwXMCJc!;aiOlgHbCwA$@|kY~~S9E!Kq3YavTcNg%GfM7-5hhwu@v51W{qdnvc
z1cY9NF~R^QV+09rTq^xV`3}pkJhc!JAXmgphKMj(5>X7bQRFl{SU-3JhmTIscTX_D
zf~5rrYePzUo`8i3e7*Dsz0{~;lUe;FLlAios1h0V(jJsMA^Volp@G5GD0mzThNc$~
zaCOr|!ZL(6CH4$;T8W|`;UNdMq2(QiFwUc5?^U!7F>FT0B;_nN6w)@_SS=vgE;&r*
z4rfoqaYTACkfi^A&H&``i;~v_4Woe7s7VQB-#JhMBzh9$ASpsrFVI|Rs_^eTfpHM2
zN=71NA&sJ+7-HvqB70E129iJnK&(B0?(_{rDdc_k>?kqt4NLd*&Nc(H*=Z(D5^&y)
z90GfJ20Y_Z`k^|YJfc-q3opxKh!PS}PNuR<=^&2ZQy<Ie_duHYB>rz~lW1$2e+rbR
z<qfN7$U4Vg!%bFnD2|*v{QR$RPN7H{NK-;eO(E1yI^+5+mi@|->lbwH?DyG#ct4{Z
zqHqxrU&jMecy2~HB^qFsYMBWiFURisrjHoxgTn`cpDuAs$CO+v_3-Te{u-K^(3Hp|
z<$+GXVxP56g7jg0J=c1H9~%e{=XfcKr-J}ul6gBtBAgJ$$-0#v(1xbO8bC6pihh*9
zr75yu4M1;p!2WL)9Y90%hJ^$m5a<SgWll~2<~E3E;ovPP5zn3&3!1Rx!FP+=?g2nP
zmqLyqoSPV-iUuI2bxI3@6Qfj{NY{9Le7|@h77w<8C-5ouSx31$ihb|RKzgI}5kdJB
zfH=oE!ZIMZje$}eWAGh>P#7FZ4ZjM6B>`tC!pcVVn2?2vu!@uS3J|}Ntu`jiZMcWF
zRN1&NNiB0{u0Y*`k;p0vsX2nv9N=V$C?S!E7BO&v#DVC?I860eaBWp*G8G8a2H14s
zMwDPBbSPgtEv)<jco@;)+*lZ5Y<zZ>k(wdN&lN3U_e9b@K+)JR#6UzOG(<#5K?D#}
zz&_sU@E3^kx~#v|c<poO1iJiEe@BZl4kpfF4C5CuJRdAkm|$Sc&}g)1q~>tzATZF)
zBF&4c#EVj>VT3_9o7T`}Fb1G93AC^nK50r9hkD~@iW~_ICqR&(H3>+WtaUOD2Y|!<
z5Oe|$`Vjv=_sD-0?*_W7qeiumrCto$sSTs}4_}duw8?w^KNF+O+~o=;bUV68c51*h
zAiCn<+0!9ETrnXf5i=i<<TGh>6hsI7JE&B_iisV8V1FqJh00;+;?RF@(tO>-zqsNl
zN8!c`{h#t)lU-HKLLZHe-*SM`KW;K<N?iEGHq<s#Dq&63!T6NnvYV-*o&o@S5Ve$t
z+4b-R=1gHR0ojCTLpIz<DOM=QbDT>_yx57$D1$dpT^k|<1Pi>_b-%F6stGz0I5aZ>
z1PjB0vf;pnOmpal<%t?lX_pvEjOV9QMj8YPaQ|A6v-)$a2P!7YKpfr<Qw9j4SOp)T
z|HORf)&B3)f6Y0cZ`(n9vW&`1-ppbi{6=BI3?Lg8p8N6e*-p3#E3^Re6Nr9?$VL5T
zQ)CeI-~?<_QvhXDw1R>EDO5NQFmRu#OTOBJfr@UV2LhQ>6>@qKknU5d;6^#o#4~K%
zDcIPg$PF1O0^1gaF<lGJMZs0Gf{!5L0AWM*jVnR{)&{6jnyK(1`&c4<I_WBjRB|js
zAAE{Wi2bO*6XTpeMhY5{F^rHPBeE`lDGE^RDm01d0AyWHLnG2Wp5@FC5<q4E^%M&B
z5(s$#{dF&>h@|OKo}lCbk%a#I9VOsUQAPb_i(=R)Ac`m`C@3fj3JMAe3Dgu&P!y;i
z)5{gw0pTbe82@)H4rdrJNF*u=2qch{kfI$>#2*Pjr4)1xL}1C4aVTn$!~hf`p9uK(
z0(=Q68VZP3C-@N{9R#ri)Grbc!GQY}Hlcp<m_aKB5^5lQ0zTX4d}w)@htz}UQ*T)A
zK`b~QQktFvjKqDaMnMyU6yMkd0{erXr~=gFodAIDq*Dq_zQr;Y7Dgugmt+wD;6zYU
zL=%#lSni);u8=vYr!Ki9hNt&XycF3?XBqpa5w{Q{bcPuVhGsCDDDp+<rdP2W(auod
z1_v+1A<?A{3Pj+E(NT3$2Ng5KUG&}oRY4^|=4UEIIT&%w2&YwbfM+`9VU-$EQ@sw)
zV~NmGQ%r{doKS!tbT=sOlR4R-vl%o4xO&zbsS#`gvCu>+m?aN-r}n8y%>%7G4U~nH
zkjJ_~gNxziu>$GjP4`pF<;nroy9!k1fH(t&z-8Rhz~5eLSPU3R0yVwV6b^H+c_smX
zy#k$T*gS+av1#V^-y9i<X8{PN_~>&CI>tk_>K=J81G1FjaXSx3)A*O+$K-u~sccn0
z%>_{ZpUR;8<e=(=k$pjd%?VGA=h%O_nSejlacLjvh!55u=s&A1Y-(CYR=gy|Eg2e_
zjv>jNA!Rb<a=fN8ve?IlK|q5<bd8m_JSD>&R{jdJ49hGrb&sy3Im*GdELgS-zY40V
zNhF`jJGKV%FKwe>eS!KygwT#u4P*!iLO3wsY$6XA<M0#r1_V0;_R?2<qJZBi`yIW0
z-{ZZb0@oRU`~hqR5M~U3?f6nx^`<xxgZ6O_8aXUHa)lr65fJ1mXi?b1AU#K)2$GIL
z<8e1HZl<H=1LOKX3ZH}pAmQ>{53o6F_WtTWKo1mj05YtD1V5#uJbid>{;@fYf%&n-
zVWyj<8fqc_^gPI9%DoiqQiWRtuo8n_)bwJUg$hUS9k8JjP$KG^3U-a49|xqTra)jC
z5cGd!4~-X{zwQ2D*iAn!+0ev1VGp_W8EDD45`F3U?^*FM5hB7LCjNsJ0}0;&DlVKe
zvVIH??t*It1G({kf8N9XC)^~Xw29(2Qg36{4TJ9u#5~5S4nOPn5Ieh2FX|X~0lQF>
zf^na%$gjHsnpnT%>ilJT?onI>)bS02gb?r^D15KfiGe;MN$wAZ?bJ;`SPKPJMl_iD
zkktUb-4#Dt@<!48da1g_J|s0118gcZ0B%~8E3%sPBVdX_L$*)&Cr}Oms?jQOMSd=<
z42RC%tMUF+$Jo2^(0bVXEx@J?uRTC%s5LJ%Vmu~<(gw5*B6krV6ASFM_p22HVMP5f
zBZ1sc>$C&HQ7Mc~DT0^L3_}<a4U&S``pg9$wKA@vm|%5kbp#|x4iy}s<oex5uOgm9
zwb(d+kxCYp0+{$D@Sg>Q?=mCQh6N}d^g9FZ(O&4L{py@fE(%i&(=$vGVF53QRpvL-
zn#~@d*W8kX)NKR(_(b_ePjDk<Un>|vUNfdHz0aOQ^Op(KU~rC7`>Fiuf5%jMGa?P+
z=@LiN637=n+Y*k4R}&7i{J+YF`(yE>pBfUpy=DItFBoOYD8xT|q8eyOe&&GU`;ZTW
zU*LQyd@77=P{RAvy$#@GQ<41XCRFN2XMwigX#$Pcnvp+?RHQ;A+(Bs^(Da0Y#5#|t
z`~e{rxhdSIcD`}wyn|weFmC|YikL{JB{_#s<U*A0{34F3K~+)bxTUHsKp?;Z#1ZAi
z2!vBaQ>o<cY<?9i-2mtIcTlFO-VbQn0S$ZMi${@YP-RcNhlr&q`^4QTPC$SMMLO2L
zti4?HQ^ijL3PS>Pded{18dInYABTwZ0t$c~f;t2Cp=u%LNQYwpB9sa0Opg)pP46;~
z1v?xI={feEIT#?I2!)9xgsNH!0+J=0lL5s%V7_RFB|FWOr7D!QP6~RIh>3+Mw2!3O
zA0;+8!3ZhJ6($f3w<hR$0joVnik8JXl<oyJ9O(`v0gyE))d++)fr(RN6BD3H!~$cp
zqaqk&6M-x50V{H4$tXZFWC4gt$5;sndXw}1h`e7PmocL%hvm=+`r#j=*N^y_9zP+9
z7%s=wQ5rs>M88ZrISrcX1u;p0dWU2`79Uc6Q$%|sNw|j68Z&ED3sn&?Jm4HnQK1c0
zC!#%bdlVh-ZPSUv);vSP2%Uouj7+F`26>zXWDvr@K8=wE0M1we8V(qd$TWflYVxSG
zFhX+SA&pWk3B)!Q3o?h`(waz7kAr}9R*i>4ka$dN14sFwqY@ZJ*#86xhV?{D^RXB*
zk^@1($-uR(5GJZ4MM<%aNQe}NX0d2t)YWf;0e?U4!=RgJH_r@x`JT7-G5u!_MDRbh
z({b68C-}nlgz-zbL%gDGE~Qpj9U2|*pqy6_h=P!SKhKMb?54nX$cL&tB~1`Flx`a&
zN*{>W^^hTB_zaXk<-_?wp0rpvHUrcuAMd*uckfaa4yZi_sx0?E+{X*|C!mCgb3J%t
z>kge!z(4G+z|QDjDF}qYgVyOturRO{h-^QrJgVa=T)=K~f%{J9k$(YT#6bZQ6Na(J
z_~I+|2DwCBJVa*I(>wy)>(UF21%wUWxDyzx42&el9>3uKQ7#WeSPUteFDQ8jhz-C~
z?~7mDev-rRfc}9Fv*R`VKtet$goq!%$*>5@{kYAXct6tsxSY_Tln;(DLNHAHfT}yG
z!2sEP?uH(3AEQUNz+#fBX|d<}aL>u3@Tnk{5;r83BO(vv@koW)v7}P|c<b}0<OC1;
z0MX|{9+2>L4m=R1h{6r=*Zn3=qVvL?S`(}gFkRvJ$Ux0v%pt+);-&zBg98XbKVp`M
zJQ@tC9uYz)Kz(32jR0W&t%Hzksk_wUWj~8lC|$6J>@0g%84!pBfLI(@G~PgXj{~dd
zqyzRYpmI&o>swL6l&Xg{G!*s%02R;)(2{gTG!S|)L*Rrw1{FDm<kl%jYe+qvNOTeA
z3<n4p)k^{wyVeM9j_TwNvJ@0=#p<K2>;sS-(Nh2jKYZk$qQZm@@e@EhQRcjcD)L+m
zPT0u+d?>1rA_qVqUs7-mX{dFfK!s%rRMH1N{4@sJKmpH)N*rM1%1n^JK8X>~=^S|f
zL*a-~?*RW`e-;#G5sYCGjBD6?1LlX}I03}YJOlk{{AV|%U-6<DI3yBG0Cm}VKf@y6
zP6;VFQHKxjbT<YT2qP=fG8|S3JNt#?5$_TaCof2ed%vpTr85rhAkbqd(Lx@B^^$*+
zZ0rsCauh9xr6c@<4($vN!TC3{LNpExARcFnDF~6=hd;a?gn^q#<Xj_wsELe<h6HHl
z=syV`;x;gLCO<HJWJE_E5GoaeIS^pd&z^6RnlZ%2Dj|3#W^1Q_e<{bd&^2`x*m#M6
zivc1~*u6#I7)(SdB5_UtKm0wX@hv}efxiJUK?Ors0o#c{6+4eaBonhZK@U<dv?*Yn
z`79jAu+2!Pq)%unQicX6=6$pV!wX4CP>5H|MFk=;e<^E6^AV%_=uE~KVQ?8n2ERX#
zhBiBWn0GO*hv*FBu|Fu%KWFS8ihdEF#rrUDlXkd+1X}Y6FXp^eNhMWzv}&fdCegL~
z`u+FgNByC1&GU{F$fxZpWB7lQ0S;p#bP8oi=YW{ON~xg_$}W!)+;mUS5Cnlh5CmyV
zaoBx-_$PIOeqrRK?m|=^eH4gfdk!W5^mO%-riYr4yG1F+E3A~=0Fcs<MJbblNPDr?
zU)5f~#d`-xI1rxUDKf|q#0U2Tm&1lViNr5VVR0NH35bY_6+V*}aD!k1;3AZLkEl-&
z_6&bKV@x9SLFkdfHJXk#;|hsvakm&)ib8g+v@m;}XS$T)2pmBJ_+vv<d-XsdSxgx~
zGz-W0d};CdOMo6C2%h>e5ko(B+yQ_y@h9)m781o(R@&Qbw%h%bKU#ek(Vj#>5T47i
z$UpL7yt_NZK@uj7j}d=$`k|Vlf)SLOXrKydDT)H2NrZ+dqADmUf(e9zsR^PYA}FP*
zC@7+cA*7;;iCU^kXpkR^OeOVSD4(7z!!rQPPmTNz9{qdTG@fZa_@mdi*zcK<oOXCo
z&~e*VFW>|C`w!&IU%eS=$+G*;2T}D@9j1WniT<KiIN>z*$blHZL3GHB?wus*1A&dK
z;n<1qcT6a?aS=U(l^*@bcvz)7rI23;Jh*Er)WAgXfg&7%fmReql>sU$U?m5QVnRA;
zMt@sNz4qEZXefB6w3H}LBN9ar#6XW3^FX~-K2m#inL&DBJ3M{PW@+w?q2mGLEv6M%
z83r886m1q8)J1V=Cu@^MB*{gra^!1!iW|GY8e_y67>ap<{-C-=8xX4z;2{^uh;p7G
z4|%5)+Nl_}=>-L=2r6WAr9gi?y=Bx~Bp>kSmo#DnlAPH&QW{MN(f8g#@q?Q&6Qq%P
z`?|Hmn38iKE-`&Uh7CrjsEA@X<{Y>V2Qv_UX$0}_<AZpIhGuETd-(8@Qvs#G(6;<`
z$a_KmDElwmKSlRMlLUfvSCQ=U88yOaBzePV*j+R+QQ?`RO|vokmnI7W0S4cEobtk3
zk(i)sY$h{9DhF62*YN#Pv8+4}LYKdoRgMiQJDt#{0(XR>Y7r6<LeMzJ(P=MdSu7A7
z1O?CrgvbGCP&xU=v8SQMP*S4M92P1jLJaf-hW-f@H&dXPhww+;`{(fl1%;7o`SfrH
z??f{sY`ZJ))yu$sQq-uV{3=qBqhYyPhuw}_nEtRx93Wy>mqM{FW(SY>aWM^H`n@{6
z0D1_TBUYTie-lRG^aDKSF@GYLx|89@7lIinNJxm#A=Zjek)$;KoB(k{Kr|NC;3}+S
z=764aRWgPEfqw+T5e^p82YQ=={imT$r8Yp9uw$tt>LEy#2vC5^D6oOgvX~C@0S7?f
zyaWI#0p>2@W(_&1jfXoc0x^RGF;opI+MEcXgf|xvO#n6srlK5a6mlVuA((<71Bzub
z6jh=y8WggF^chnu6vz=P0ZIiUNf;K&OZ?68RChq!`0%=q02n$&u-N-R;0k950g!-Y
z2r>u+xo{xp6caATVc<wF5S4ighIS0e0DqEDI|_l~k^poF9t0sN2qq-BrVtxqiY=Ce
zqywS|MMTKJ$UtQq0Q0Wn-P9X|%o|wlVC(`V25x2Iid1%4LqQOg6crpc3JzGAc%Fh`
zoC!Aa{H7WZ*ceE2L}}>?_8JeH>&DmH`cB)iIY=s5B#w=rzgCj|=$jcA`e5VS#&En*
z{1NggclZZ@W~p;y11y7m@J|^C;Rc4`6dp!TgWL7L79Y9&?5UF|mozItenChdcOkHW
z>iH;8ys1F>8mRkJz=80%0sTX$@&Qb#%u|RD!tp@Dhw_2_kON*@JW$<=YCKgis{@Ls
zXU5ta!4=VOnS~&QLJSBQp=lCi_|1^$9&XSyoRm>uI)M5YDvS((d{9WhaG{-oNjME5
zLR|*xe=lx0zNUleA}^44(j0|32sl%}MwILUOEC(-a0n6vBoMGABmh3F><y|m>IDED
zsT7qkzj~Zc(m#vS*p80FqgnTg8VyD9F@bKmQ_shj5bT6-Cwc0u9vWEv&c%9_JCu~}
z>k2K^>R15TS5+h0K|CW!XdN7>_6VCO`6<W>+%lyIbn`_i;=X3+APh){(k6sNC#&H*
zfcaDU(fGjstMR@TPij$Ca7gCb&v+f_O@aAAAt3qG&Vl>t)AIb>3Ho{3-8WFDHh-^k
zn0Ai9ONoRS5sCUjFdrs9&%(YngJReD|15K)GoD-yJhI{eyYAd^{(_J%tf3)IeZW4e
z-Wf7?OcqTA6Mg^6ba+A_9Z(@pBS7dpkM-CGc-r{|jYG(f`hNL9T<SsrMx_x1JPbhu
z%BDqym1$3qW0C9<`AOj9CQNbLP;i6(h#h}aqq2oG%CFFU6YiMD#u$8p9Z$;ec)yVP
zh(2H+L_&qZ{J={WArPe^96h|l^Qra#2<n0#XdILcmz$9(c|tWsz&e~c2T+?N3I>3Y
zp#$jyi<g0jMI4I&zz5)peZ?)p8>y6_-PuO|@w(Dv6Y!zXRsupmz$M3FX;vu|ihbt9
z=AAO|X$Yq0A>!p24(ezrgcFns5MZZA0p5F0%36B=Au41F$pEw4L+AB_^AP*dN}!=?
zFRyQ`&`z-vYmNmtxnr0c5vWZ;!Wqhi3GO%)0jIK7P&F1R$cPyTFGLB26yqqAfkK87
z5^Q1%N_%1pf+66@j4=$9AXgmz{%HZ@G$kkzD51fH;)N=dtpw7w3H&8CpgCP|s1A%m
z#3(3nkgw{L+Nf!6MIi&LspNzv9+HGU=nT)eNT&k9j3y*z5RkZD`0Y$pz@U%8{|Ik{
zbv%RPIsoa=Fn$mR;)HslL;Vs5`h>j?SYXgANTYvON~7^*zonsQ9zdHBC?L>CWk5QD
zg*QJK5#8n8f5+j8<2L;UjsKVW^c~=S0wOR^KXxZdVS5CR8p?H^8Mz07KZ^sY4)-Lk
zqYS+mI1oggYmSgK1D7U=5!m=JkJ_(y4yH%IUZ5AnGgR_S^!G1J2(EsbUOoE9gk))`
zAmzBm8a!C4sg6Kll<`pDVcR@O(=+QaQlaQP!hlfm{P5owwJ?EWR8)k@2z?_s{Ggx<
z*g%IBCd?iNMG_lTg{1E)u`pHquun<lS`2*9Urwbacr_SELs?vhgS%uyg$bd^GQe}x
z=69_NLejrdj1D0#nCb?T>j0ifekS^Kz&7!iJ#ZXIa$Adt8$n6T=>D=kkZ0(PMwo>^
z7Ac4Xrll}b?<opzI=JCw+CT5Y<IJ6(f?&vSVeQo=nLjUV9wGjj7-2WnO!JNmn;b5?
zl4sTTkK>IWw*qTMbRcqGEs)0l-YpA^k2i2Q6I1kl#V{#j!HAIkDq+<~A1I~a$}Nka
z_Bap9<w_8JVi_>7FcT^8l*$_^{fOlc$v?^q3V)T92$4<H-&j0we<Bey1oEH_9r0j^
zVgtr(fiU)mv)6%pMMps(bOY2WL4kkFWNZX@02wYxVQy67kqm{U45I=qmPNKH)z*R^
z#NY#>fOUcT$C~g_McCDJQ?>3#xA0D(c^W*_^MTX|Rs=fKio{@#H7E>^98o|NvVl49
zUvr>zsYV#9c}<RLOev9KkxY>whH9W0*x*3>q?llmmC?QV&R1g<!c5cN-0btF<${Bk
zz(_doW^vnWMD1-JNF68{MndYsYpJCSAY?TGFq99)_de6C{X+ck)gNq1l3VvoBlbiK
zx=TG+^$q@e52$|-SJ-61ITYLtV27jUF^PGb;r+QoKobjmMux|OvQQikxLhm?^b{C?
z4|1enxa$xTtT1H@PQkF^ed-kE28Acp^vN;KizjiWf_8zwVb+y~nF!h;KQ|iJ!o>bV
z&-TuaAfrP+GtubjNl1K_N)M-qVC~jEAY<vmle;fe`X&l$ME#C4q4m2AA0sb6bO{Ed
zn`ye%Vl6sYRVRf*C#r`cNxIl**<`oz4@@>b8lU6+wlf9LBl*Ka81yyBm3t9i&Jf1t
z;6Wr1O!iL?PIxT=Bqu{H4TV0#!-Q27P&5&eAR|=~G>8NkhPe}H#yUy!GT1b5aJR$M
zWczL~a40i|AwLsvSRkfuF&YNQ8OaSAG_#O?!)Ne&lmUC%*8vthli=JSXmEf)>^3qH
zBa^ZF!ubYS1Nix!Ie>ExX^Al$z%$;1c0J+uv8p|^<D3jswn1014y)z-dUf@kESeg8
z9Bg%l?|ve1B#B=4S+wYwznJCAlffQjM5=Nma1A^lLIo*_ZKEihA*BQ`g9On-FxERw
z^8}WU+y8I<vZY=OY;2n*)KhRMD3OCFTBkf;kFo;(@PSSd5sj=qTMy@3z5wt(ZOw4&
zGv=Fj4iiuN!pJ!BGg1fcf^{&sb`tf8Wl2DM3Gu{dyX|}5bAZGn&kU1cHT?R~HNnRq
zC|EYlCwx#Aj0j94kBD7^+<B>>brI@7A%qlm0Vi)adR7o?t?_WvzGi;%16M3j`%r(K
zmL)76j37v1$UgDR7H!5Hf`C9c5F%X6g)kuC<5&^G9gW7|g+o*)m3vCzi&JyII!b~Y
zp^n#hO-<BJ8*GMvmMDlKYJ#RPT7e`aA_5(t&gp9XtbZrk!S#GU6MYnogrZC41LTTq
zrhiCnMknU|JJ?TL4E+{{%6`eW=HtMaeOT-E;8Uxpe`u##JxWlg>{E)GMKjiUyWGad
zNad?G8l>-B+<^vSk=$gKiwv>^oC?{aPbVnhZ~CLn8wytGGEMqDnucK-)=oW>6w)++
z@<|w~ezC1CY^Oy$e!aLI!0e&b1WHr-fq#`9gSW*>>QW{woo6`P-~Wdb2}!IB+Qv?Z
z*;Zq35`s`8R!gT{T3QsfB@u!eF^k%pYOAWgx{X+^O_kCXRazZZ?e%m0um5@Ud3+vx
z&UMb~{krc&3)F>lDlcU??Q2C#=L!5=m^n@LpDm}jxfePjZ^8uoOwLjPmoD54uJ=~x
z9z>VN0erON8w$K`HKc#%6OpgYC$P~d@JI%e6I)W7x^Qy9rhfNz34JgO%eFcrIAtd_
z#DH;NM}Mt-OI4BQeoNVx0+UEaw&cqNzY(K$HRLK0m8Ct2(l3+MNM(pJ#m=l+1TW}q
zIa<=FmBE$F6+lQ!YKaq22t+jDi5~K$;tC;K%r$d}YkEjUxlB9;cr_T_Z9tLW>>{;f
z4n8=BM6VCLDVk`Yl(P^YmX{GNZvl7q{2uMuZPoDm8hmki(u!N%!R#|O@DXm*P-{cC
z){Rj8oBo(enT*<yyo9>s@1Sc0SfVJ>=y}NvC5~*4R&0HLgjjV`i-Vn>@mY)Gk1rJz
zN*MHvhCsTlf4(TPiJ9Xy;VgP)(b!$sWobOK6S1N5UGVQRhkLw?jC8d1zcuLsjSCWT
z)dI>WaGKZN)z0C-oxIHVmo9#|DfX=N8xu@u#~=?m&_h!>JwtvJk&7Zj-$-R;;=Pq_
z*eMRy*R!1>uQN0l(-@22?ZKxN6#j)2=Zj_g^7bf|fxd&GlPL~DQ@P+a0jc_aems(w
z5QzI37u34`o}e9<ou7f-=Uns09|pd)3I0laFW}dH>e5WM9!@=0ySRKIXZRMZMWbu3
z;CV#wT^IKB3RU-8OfuF>0?un>WFbs$MVLFtF80L3+#_<dU3&aJPOhqqr@N;V_5BXC
zDr|FRlQN$e+4<wyWl>c;Et-(1Z<*fWEsya<nPNFIj|=%Y!{^~qqBtD%!}A4<4&G1|
z!PUnzr2*wrN2DPr6oPiKhBl24WaLAsc<-jmP8lSfO6PhaZo5+cMO@EQ_B7K1j3gNY
z@g#3hFol;W2nHG=FX4t_6zvaNbFjr+ou6OWd%3Ilv}d$%j|q}*SuT$-ZnfZv5P`m5
zKsUi3pLkgJscz}$O4XGVH6@L9*IT>=x9v=btNrg!6Q_qh1b~6%Tc$iN9VA~qA**k`
zRkXkkFVm6xZJ+3q;7R+J2_2T`$0%2C4eUpb+xY?MPr6Qc;<Wg8@B1hYYh%TbhM8!~
z)&*XlEX6!aV1&B3A;mcvY<RNZr*DrLUA`$#sQ}iXcz9$@elhTey5>@-<%+KR+}Y(4
z+~!@u+J6Hn+T`2tuFTu}TnR5`HpZ--&f?knnmtx0>C1X{j>qPh4docpzR{k2%z=}X
zMRC`=;$~p>kf(fa*={@=o^=<0<ZE7gvD7bI>4&pcea&Xe^yoe8s4Tps`yi$|KAEkR
zmsLD?o8J*+wIn{&7Bq2rXd<Q!4IeS^atK1?EKa*D_lKdqpSn*9E;=Ud>^^-<iy^?$
zGOYS|LX_C)Tf$JsOn2)#39quuw!k;6^_bDO;Fay=Vf&Vu!HP4d^9n^1yk__cT<0Ey
z%tNG<{rv8!bQU?srD##pj;mjMydgV>bKXu`dwBG}!j$?RODjCkT)t30`>ds-$*$xE
zuU580^Yq{LdWR72lP5j*J4Qq>#fM>E--DWMBAkKTnH;voArHQr{fG}58oEvO|6A)i
zGSwCmGW7=$=2A9~w*I*v0XMX+z!eTCZ9QcuN8Xfd=7hxYfDn?lN)hG28?$lAX+loW
z_U|$_EUHq)Lm$mPG-=e5WaM)f?RK+~lOd&Z3SP1z1B=Ek5#$&Fs_1;ej~<1&wDEU}
z(%$@+=26+1BS*6Vma<q-y`JQBGdC(uUm9X9Dn3Myw6V^_L}Dd!R)7rabq?0s7tF>t
zANM6bPx?MM(`kNVcaXW&BUiR9Aj+H5k25rUYPzxXBObq3Z>8?p?Qf7~A-^4~Ezv1o
znr2aRFHW%5ut`Mtw5HYLYmR4EYjF&4+guefNL6v8ye--z*!Nkjcgs`*oipRVf3_t(
zX=~W${_}YKThRRCOzY{JZ*=*LCsyP_!0;3G<!9|$BE^d9rPof&pdUT&y1tj(mE-`c
z5)%e!T=5H+NfL1v@ZH^>F0n|n(&O`kpVYn}oT^N2lrfSf6ibo?RY@2#^RpKAI70!!
zMiQKHC%5XXF@of<0XcTL2hZ}66}9!%w|X(~Gwkm0@w5mRw&sU=35>oBo_N6zFprn>
zx+4BAWOP+(S4cpRaddB!Zanc|()QA+p)d0MF|(EzYYg?EWu^D?z5@=Nq_~#+s7D8r
zR+Lz}<l-H{y`A?85?jQJq6~K}J@M)Q@BYNVK;H6dP5Dn<;h&g`!QZA`h3>jG$%`Xg
zfX()H1QY-Ce~=1{PT{w4gV&kAiR&!8N?LPD8_TsEpv8T`)u;Rn+UqpBoCeUL=eJ-{
z+>YARY(g=z#Y^*mlCYhV7H{oP@t`*G6zb>6XJZJ=E5Y^_B@i&J#TM#e9dGxDW^t&{
zAT<sN6xPN$B|_<9iRY^mWrz~QjKq8ntX@gm&KOt;oohXg5J9Hp<&cRor6DU8g+E6g
z>d2}tN}T9bTjczN2|HQDuf<oPr5-@>{_l24BlYv>N0<KAruSYp^)nOPVu8xnb%51B
zYx4we@HG`bYXh_liivWX;I>#p<*#Vj|L_kiax|D<bYk+ttp!%QGm!(=KF3WUB0JJt
z;{gVk;t0*60jPJ86F2qx)tvz+r6W<K3#Wz7wXNAGhut}K`c)-w2uGXni@0bYXy<(c
zd(?oX<1voVCv$R>^oQiY#g>K!^7YO-1d8u1O-34(CuXIUy*Ywd$Vsx{8LsGzGF)8C
zZyd4Y8*?sdE(enc_L;`O!+X{J39wN^T@QYy6_cM&b?`Fpl_c@n%z?V%*YtDWKkn~d
zdipT+PTZFl3QFk~BI{#cXyh!}ka(U5rX%EM$BwGXD^(xPvHOBiYj2Y@_0WGWq^G>3
zo}HC?P$>$tX6xL|Q5QSKx;wqjhT!zv8VAa<<IiEYWlP*FuOw?!7GADW-?&P#i10p3
z$w_&A_jX7gqfsxt{DE?p5z_H~y9}p1lUtyIP22ps>ZqcNvA0V(W2we8of?7)pK__S
zXj9cwip%7D$j>VqbtvR7jH02tKHO3|rOo>ILcv=lp#FF#Ok7`ONmN9gHPY=zW*7ix
zla$1EZ^4mI;tEb_=AS(gh(qFx?ied>{ETJid$A74+5SO%@u`<LrYG&r36HdWz6HI2
zGGTp6qz%clz0K37da<Iev39qnC~>+Y7laxlc_UvrIAGVWLG>*<k8z#+G?T#SoPO$g
z1I8xv+Y0c5C?Y@>a_&iLS_9K+ddcg@{t{{RI!#^WLXdPBp!amQJW%OL$<w^+oo<|G
zIqgnb4EDI+GDz`EK7Tn<U^S2L<$QY9Nz}ct6}Ly0bIIz3viE+fiDG5p_<kMX*{+h2
za{+Oe)(f9zG5U>&Vu6466jkM{mL-)Flj~ikGB=h7tOSX?Nx~MhU=f0nJGOd9C|0<Y
zmt#_{uSG)?DpOdlrqs#Xpro!b+mb?-{C-lUlj@}zmjSV*RTwsEM)(Y2NP?^iYn61&
zkvX>xCF#+Ua9(v~A&$m@=z%d_r5bI&S}2~?N|AC~zn=P)RwBUVRsMq4NngO<!jCdy
zV@c9w+s5Z*8BP07wD1ppsuwMo?c{Ck=URB4%xrtB5G*C%5S#+qV16N=CsY|9wa^aH
zMTHRL5sryZYqvH^$!MoVBghNh0<g^=cyQJz@#qO{P#3tjV%@9WVzh$YW&%5*-(#qM
z<skd-yu@xM8g%}sd@QX><X=D8VpqH>c=uCzDC4;NQ2ZP2J2XzsnhvXE`q$#=!r@d~
zfANnBUXU21KWG%V+Yr_w%ZC5sqc}+X6|Ta${8g5C$(!0&FVswUzIpie;Fq$Ib<y%C
zS1E~{9pkTDy;yw^z*%tbjqQ^;ix@*60a!X}qhP?$XZAQvIe_aSDdzmcIl>+Z_TQtA
z-Fw&v-78zMhM4-zg-zb3jFO#4Dc_Y--gGg4Pk&ch%>+dFMXfAdMyTm)J*iPE?*`&2
zkqckm3c??y7J#lb_}eo`2Hvrzdn`Lb3f#65C=c~_LxDn+Tm6FKy1vd<^;Zp6{tmt%
zkoL)E$NcZ9RKMXTgs1E?uXX5kE7m&Ky72~7gCy50k2HEHU+=94%xnmi{ZJaxUH@F&
zUp4*a-`kGkNS|7}>=55he=S;du>O)_!#Tv(?Az6YZ~r~)a1cFoI59UUgC7KTCw)$;
zx@7l5sMF&cre{(6bU&(!XG-jXurXRSruuj;>1mLT)t1;{$U9~rKT<1=gXiD2hd!NO
zpr${n45G}9Sr7VUV~4{QcM|Rjul-w<$Z^ejE5tQE{+{XFRknS0sr!7dSD)?qw);Y*
zhC?#&l|R`MAJe<vwCdYLV=CmE%N?uUspi@xdTiMU(pqH0?DlHUK)JMm`=b(K`JsVa
zElCoS?5%h55>5hBbUYjwL_)Mb^_|#i9xlsEI4-ptYcv)mHU3wYHjDV;u5A>%*;kxe
z=>AH=eT}S&>5thsP$KL2JWk-9FC=XfTT~|oXKjcJG*5~P>tNceGD$^#@Uj8spky%Q
zGCJiuU69NI|5mkcdBdh=rbu{~SfL52fjDzNhFSJ;Au1+Qb1Sv$ZT!*oNq7IJaVBv6
z>%ikDE>PesLI2L&w(Ep>py0M(g`Rm-1ztYG)U=7hiYFu8+%P60$1B^i#naI`H~VE1
zZ){Kxj_E|XEq&OZEV94X_c%bgjxXu%>EAjGQdrcFaxw5GZt2e-h>3NAK=#|uHUuxe
zW*JBrG^!I_{wts3I27*pfJKo7v@;SF<gJHmwcy>^RB^=s<lnX3j;M6HM8r-Db5U4g
z)X23b#Z6D+U-^*0V(|~=bKVHg@R%Iu7T@(l{9#Voo=pGo<X@|q1UgN|lNxtM(4qft
z6fXLLYM+l%(~@30E-r?i=aJ!O^G+0V1FRD7dm^T4S~}0j#e*xEzjF%bmDbsIl=3~R
zfAZ#EYK2mUN$>s2Qma!`8ef<x=J|j$XD4q;XsA~4IA*ALBn3)fNgrHgI?TU)?zQ;Q
zXtY})Cz^0?Gavp}t<w<IL+u9qJ{bAWj_h??i2JqOyoHH(JNj)azswo;PWa|oi972k
z<hYm1iCZ^5&xIz}I?!l~;w8V2NS?DkT&4N9QdD?yEzrXvcz+{a`3#XtVI8S>KSb(g
zn&k+X0mH&r44F*rdsok|e%WlUfBaaRe6RiS`!YvQn>&tu4*%`Eq%OgCjP^GBBuWVz
zbG!_Lcq}h-9)n_xk|?nKfg6X4F$a@hVt=t_2`(@Om|Ud=jz3XP_cGd}RAJ8_ND`K5
zWV(zDPLeZT(%#F6;GSSOyd;%QQhoZ`<>0~oYR#~BBmuHB#fQWpq$#8{Am-b6OCcNM
zB}t~sJ|%=qACH0F$>S>8LGCpqjG6NgN)0|r0-qiFa7%pT;~Fgay}2wfqvN%I&X#H~
z(Ikq|*^$$;vHlFdv;W`WE#2HcI8T$&BgH9!>6n8bRwoio_m*u#X1WauDToae{OVl$
zj0Yfk%n)`6r5G*7`L+RL9`w~mTfhG$v8TDDZ<84X*@%9U&vr@uDf0d1@4c!Ii$M~T
z{svMp4S{K*6HZcT_k$k25*6|yl=#P<iwv*d-&PAzURa%WcD9`~n2_=GPNqo;EY|H6
z{qwHwWX3&}u@s+jeEZQ}j#6U&0GHVc&0%OMLDw2*NeOe`9xr8o`ppcVCL?G+)qMk>
z$%=2r+(^2DH$gh;xLLjkAA@*Qw9#(N(7NA=<eiY=z2W%z8u#M2lRyQJPZ)antC_h|
z?U@8;j28maS8GZC7Vh_LR$sB(?1aAjdj|;MPqTEny3@6_Zf5}%$~281>jrhp$qxcE
z1}a{r;L@*WTQIU^db7B6L|3D8H-bCQ^EF0leTSC2y}D~S_uRMn?@vt7_$9)(BN%q4
zd?6xOXi8@O5)SFgx#0N18j@MTGr;rWU@rRp9&=kHZP&m_*3IdROQULrU-MmwXvL^F
z*KeB_D8t?iRuM!nB(L{SKiJ;UtW2;s!{=%0vi{3fch=hneA*J&y{?_q7ry$K<W|s6
z+8Ed2_k+jl0h~PuejwaA;!4-j61%<`Iva^YjdObu7WM5rKi@*T*DmJbqo2Oq9r)Y+
zOfW!a^tWjvsH^WFMVE@(c0?!i#^-Vwd^Zh*S$pd#wS2QB`B&==%Y|9WC}%@9LCbz`
z6$4Pr_&_zUndIv-7X_Ozf7-`xn#n9L;Kt(~uv=?yI*VN?Rmf(Wf*vY5uXKClV4*g~
zHNMZb1zv5B>|K4n@0odctag6{+U#^y<GZSMx^$q}t5C?xKG)aR3I#ihyXxMd*WR9r
zU{2!?tNB{iA!)oKIVSprw2(-me&Byal5of9e&*9gi^`ZaB$ad`2)-f9=4_&>6nW}9
z;j29D2$;(R$lYTRp#S=%ev!op48(5BP6*T4;%_bUH8~Zd)kw=5srwiA5<3_cb9?6f
zqxsrgqV8La{u%5Da9ON40=%S90%?z#c9a+c6C`dkqWH13LfDC>5-$A}gyaUZ{MpL{
zJ~!o4#yRKO=T8U6-eHz3+g<A~B!V8(%-Xaf&&KrY5=KXCyth(Jji~D|V5E<a-Z%2#
zkbQ55i1qNTa^E)(V2f5~74Do7{Q4po;ji-nynfN4{Mr4r9_^>M`WB9-Z+Lf`K$|_&
z=QFKWthBmxdM#cr6o%Se)-FKHYX)UUoHcn#?7MO$t@h3Hy0rnv@8>nmQBvhU73Lor
zXgqWicr@@#1yQdz(OJ7~<YKKl+C5_0eP7&~8iF(+M|p7;FqQtm1?YRGmsRGn5T}%5
zFV!azveNBy$vCu(ONA50>NU84EOr*aXVTAcN6O_vBJUR93jZI=RHdYZ_uQhC>D@;0
z&9Vd>ZszIK&tAx&uvF#li_jEi$DhZmhYIYg)!Vjd^q`lob`sBoTKnp8A}b_R{-&X~
zB{v=@76|@$LiFDAxVJb1zjdc!e`N7tlEnfOi}}V%=k8ROU6XRVz=^-`u<1I=OxMV#
z`?sPCI~|cvJvFGN_K#U+zj(D+&F<l*;40jvB}!#cE?+A#7!qy=&ivpgSqKLV7=}py
z3WI~p{-lwH1w*JmxLThKzVkZSw~vFG>ybc{@GcShTWFr_Cr*J8u8r2OwArAVZ!=gO
z>Ms1QJCDTesaVT<Z^-JEWbxYWZZQv@f8u4IE>x=JVSJ9ozsZNdDc9|SGWifK`XgdR
z$r}{!jr=UDw}#=+CI|w`>|Ioy;IFp7)%)suDrWj0`NEIu1pN8d_i5w$cP!KHzP)<O
zP$2tmw+=NfXDf4OD#Ff-m<EVQrS5YFy%yCST=CNWJllr79;l`*Ga#sb`<vbSw|^=Z
z|9ldU3V7)7|LZ()+4_@p?nZmG+&}FI)2X8kJ{K_#f9I`4c7<zBr}SLOBFwL?kgBSh
z1qKT>;}e;?{BokQcRp>tx-z}X{-@id?O2uQdHxi>L+`&kLeS0a*Lqka@y@qw6QLBL
z6lAuTDWdq-*{|EF52h|HJ?=AD^8Ne8;SyC*2R0ntZw4tf9PDSS)XZHc$N|*Kb?@Pn
z?BLjE_Wn!H1g|u9d*#A!&qos3Nk;v{_CEinkHV(k#{r)@a}WUrfc<5B;UM61?8p2N
z?ESZy%p*f>y%TC^CP!*ja4hVkh>xMB_%7trod8Z1+E6^UrhY1%SlrVpkecZOS)4lG
zjR~ad1+rGZPEL-V@$>zF)hA&1a%4v*KSa{7dL7t4+g&-nXX@Ad&O|-WbP6`3w!@&|
zsZt#pL6#7QMN4LJ=qa}ob@#9LkH{7s{O9iKwZVJQrv6;M(EYvzGTDNa61_D3##+-m
z`9s_@jMTp{*9G(BLakf#%M-sRN1WWGFTc)Au@%cBEw&Y8Bs+OrE{rS`+jSe9{Wrb#
z_f@1%t8sYYFNBSQtple8(k}d(XN>({Pn@xX-Ga-&w!}T~sEr!(G$%^1C0aGIhudqk
zmuP5cbZ}=ZG=c^VA1I8<_)@82)s4t$(=X%^(_cFIG&ie`Eph|v4K`h0Uc7PPG~E?c
ztOWe{lRPF>#f6|1-=BC7iamds`i|>rNORB1COmuVHnPo-=YGD4%qepm>Ie~x9=aeD
z-LI41*N?e&r0a~DQbXKSYEmqjPAN)gs4i<2QWaO6lzR<SC+#twaTwnExT@i_v!flV
zS9%3yiK=G_Qs5_Z;%~wee%IDkV~o|WbSS?xt(!1<Fzbew%XD;G;R`w4!Gf#9h<<no
zrG4e=9)DNpPO*bOq5g*eulN_SdMqh(Fu9-&g54Q+A6MQ?^}hV`tF;oJNnc$kV8m*c
z>oHD^Kk`~gOR$|A4Ob|uafR4Bv77`4@&6baFKJz4+6F(W6MY4MTZHS5eh5CUn{_<4
zxLtu4n$CR7T=TDUZ3y1jY3ipvY(21ni>tjrWp)PqoQqZyjZGgVFnUhGy@&jC-1&CR
z;@Hsz5fYqG`~f5{?t|jjgvW&I7BPMiyLA3>%?y=RxtNrmAMUB1uh)`}7=0Fz@&65F
zNtA5f%(>{t&^N7#$cQ@T;C5qQNxSs#aI^+tp=Lp{@MGiaTuz3Or?gah`_uXu>M%#>
zI_-~yS=QW+5+}6fgTPpU`7#DUUnQ(d*j(%TVzAY!t08-{R4LUlQq^ZLr~XlCnmRZ^
zh=_p2OE;u_d=btzy%)7M=uyZ}(L15bP6)C*Y3^<i?SzGuEa<*N=mD-Dcb>`mnsh$(
zc$W<&H8D!@_}?=vRa?AT2!_DG%l+evyn6xOe0C@vf*{2OnG^Q9#xR>TEWWB41V;Gw
z{)V*p9Zg3ws_@Y+B?1yjwjpi4o_rS4=7joxJJVqf3plKx8enN9l-sq%KcLg6<;-aS
z{skdJ=I^x3m=c|f!q3yA$9(l0xUBxWbxA{W>2%AL&;SJKEg8#A=6T3%n4aY2T0J*z
z61!|p{2)>+?pD!|3+n;T{d?>8_0|xR5MDBmkg>LI+EKI<;bIIn`V8gp)!!KyhO`>3
zf|m70zKMy{s!4V5JBH`X2IpNp`6A!Enl8CNlFfZ<$MKQ_!f$lalG29*8=hkl8+=fC
zgj$2CLkK@|Qt3$rln%|6lTmm(XkxuDb)b7*NYivb3Y{qLSiWAPoKCj%nGsHmEj3u)
zn`v3l^v~Pdt!g=+!9hIDKPmy|lqWn|UfZf!&%Jm@^{&i~p;oz5Q=`^qKh!k@T$~Zx
zUM3x{_8&aX>xj$=ZHqv6D!ENvV_*M#Lvvm>G4$zM(O;{BTR;8Z_o=Y>uicx?X9|7v
z^Jo3bNVCka5N@$hFEI6*){^w;BD;Hu`a@0VNyw5XogYZX@Mhqqgo8!y6OfE*XvL4*
z;^kM8VCd-*x6I{_kz?noAJ%+B_FN3Bg8h9|ed0^u8Rt&1)$Atc49}#TztR^>(%a^7
zqK4@%$Nm$Htt*yGXvIPWWUglhqjoThuwPKS$877+S&h|OU5}c#;!ix|rcdNaolyDc
z^F;9O`peheF5z7nDz-W|?=@S*%ERIp?nQkM{*uXoxYi_z@^C0lG|AL#-`ue8wcHQs
zd;dlhrN6xnHxy&*kvHDZ5ve#eBUwM=Q?D7LN>jnCxSb0ihj2XRjB77SB&{D~Fdb8D
zdUE{PbKqD3AnXM_HOI2O9AfO0*<xYzT#e;^)5FLht1bxhPDH<wmAYVHu#YStk#a4o
zh_rz*(Z4-8m4WTX@>b-GQ5&PF^}fRYAgS!sj)tW4>te^I3pDEHcfTg_@%?)v93kEp
z=Fy|B&Zp{<EN0n2>o%VJ;$v$hs-Px<HTkeITOPCWQsH$M-<xC8<I5|uoi<g$dr9P9
z;555mgKmjPv0tD)?kISPWHJ-rW9?53w{j-FF99W(EXW0PMKb~F-Ly5N&OPd%+1CkX
zj9D$fWH41-^;h%$hR)ud3$A7|uFhkg9w)*B2L>pY4gy15r+V0$CKba|^V3q7bk5Yg
zH^QVF0j(7iOzE4X^&%$@iS(EJgTGh)$=wBMODO$NkW*+p?vfVQx<gJ{ewn1{AM;8H
z)$bn@%NrvcC*a)7*`~#-nkpQtZ`sh>fwn)=nG*RV$J5IIjTEF2?5t&`4EV2dfP|l6
zlPY1BS+78s)mS<xdOUmQ?~O^MubC>6Z}WEWVw||iv!)EmcuixPYfJcnd&qRE$SXZ;
z4K-LJ_8Rp=%)Q=aqj++_N?bAC=VcN0Vf)x?^Qsy+&@~T&^-+30t53OGB>PFS64zFL
zz0-B*iL49O`ChN)8&gamfUk&tW4xN6d1m~tKNqk^_|jcJBdsU=9!^qVy%3%au2&C@
zesefw)&@nf-fje0Cj~!E0R1_ph|(3ktaCHR=}1U3Wx5satabdyV4MPYO>A2b`-l|F
zLCtMqD?k(rG8`xLp0E59f4!gT{(*AM>iw%sgUK`Uzv8#12T#rYkTSvDB_SAFSf0-5
z;#q-i4g7sz9IF%%fxNYznVU9$zG42X18joeQ+`Ynx!hRA$Eb~x;otm3IO23M)P@ni
zU)g=6bx5U@yMkAbO-XSKC1;=-h=$H`(j`h5kF+^`fo>h(TmeRYH|OC`h#6m8tg?D6
z<V*DT{!(Dm?l0zp2T(B%ob?b-iC4U0p=)z~OU~Z_SjQpv@p-Q0E^<hKIh2*M>=>t$
zO8fOu$ZE+z?1Q6bJJI1#$IQkGf2E8SB5zFm$ce3`I8}>vB1%&LdM(@;_7ntUw|=^p
z`}pX1o0~~?-#+9NIgHMc1$H-yu4B&=^+HzWZ64rhpqH<TwFeYxo?6!<WVUDh&Lf=(
zWaCtG<a#W9D2P0IuxwcQ__y&NmF>i-frmDZqI@!Ng8)TjT~n*Dm>ZN=H)*g>v$fmR
z8KY`yZ1Y(_tb#icoL1B3<r~O*R+<vU(u;X|!ohNnIB<f7Aj0IqF+fzBhxG&b=S!*V
zdF_&ER1TzTeyF8}9wI-#rE2s14r-SJpP7Q~GMfQ@)07KjRzbL6al&+$i0Ii>mzArp
zmv;hB+u}l0dCoC1U?BO%KF<s9dfEQrzLmj23<OTybb3nOcJ2A2vz%q|t%*!siN(;B
zJq+mYq1M3KX5Cf)q-f#xex$?BMs;bkQvB2FMx1Ij-}90Holrz9!^nD*5@i=?@Iub}
zPLA75ES@@VUO?F6BUeW$a}1m9n}qr$l-gI!X~yaY!e_HH^*A8Q<hloda6V_<J8P|b
zX|x|wpbP%jHrHmF0W1+Hq6P?%Em&M7cwS&-CT0m6(pioe5|F_FN(1E1XO75jVh-47
zxZC8XAXx^}zfFSq*l>yKG$1U>rG87|&o&X<)|hFV#*IWj*^C!?@#%i1(H>^aRzUn;
zmr<vY6{G!ANsi%AauZr}@RO#g#JPq~&_mkeouXxlb!UUS_udVg!HY4P({J2SH!~9~
zSm_p1&h4~#cNavTXaZlK$n~gI5BSv`Ozih>YGg%V(ls%eiZ>h#GswLw&&vwldP9=8
zqWa93ufk`pafzdfT7?8td0RY%IB8IT428E6A4I?Ubw9ch7?|-yph=mH0^w~i*G_?L
zSP9v2*^u4O)-z!G+xs8*l=csef9qXoMcLYkX^8kld3A%n&!$A4n9VqYK0rV2^a|7C
zpAH+vE}g-+MtH5Hts6^tlyxV%v^!Rx5d2(`;BAP(n!@qI=l7f+Z)9EpZe;_O()JAZ
zNx&)eSr&LS35o<8N-L(CE^Ue2(9(azl@8^?7(@45JN3VkR9_tbp(P0{Cr$$N`yW+L
z!H=ihG(O#HItt9ArW<-K3&!R~ZHRz*N;4n5sC=Dc@59g(BKMJxmfm!pV%5KNj<Wx7
zu9E0@oFT@`(9rmT48S>y%K%}&@x8N?_xAxsc5h|+eicefRF3}msM3CxkdRy~b$pBY
z?4VOgRHsoS!Q|HP=bi)aBRklvw-(}L=^aXr&}e=i8YF^4#t<u=2cn*Sx!zGc^AO*v
zRFj0$5x9Lu>LndJwdKmKxnQYe7n8d1YK5Qm`vk25tvXyLz@>W`-|G1;a5~_seFhE-
z!#_<tN7Lq_b=Bk4YP?`3cux*<t(=zLPhl1ncRRYx_*CxbznrBy>#WY^pKVL8oD=T5
z0EIYlfJD>O?_#+);$k$lh5Bil@i{N}i(}+}WnXJ%*Z-CE7XB|pCbrWkLKMyATV}TG
zfobeizi(NEM=*MF&E@1I33$G32jq)Kt?5#xP>@?vi8Egc7b6gblcZkHMkmlvL;Ui}
zwV$B(t6Gf4f4sik0!2=H!c*A_Qry5kQmo}NZZ3~7O;?ber0~>=%@#_={3y7)_)Z5c
z&cFm+ciM~(#SCnvejAv!FygI<C_|e42~yEPdS2JGx4SpBn-hhSQU$km>=}GMnix5}
z`+O4yFZR=^;ugpZj$W77jH(TYoV=bam!qL>Zs&WhGv-&jA1l5fxxrg7Z-J8@X?AL~
z%$5wl+4{qHy@PWTF1Zu=8T508K5U6{9|F|@T*T7ZdGbQGh9#!lt|VFqr+)OymF}+V
zsN|#}0kC`FpnRo7KHf<nX_tS>=0j3Eg7CpKkuNKCnP~dCJHANF*X5lDndj;Yal9aJ
zgpP2|E-}Kt+)CrO3f<D!*FIA@6M?d*%E-w%<9?+=%Du6%@IPMZ|L|p>^d}8XbCJOJ
zOU@~|wrKP9j*|!(T-Ba(bjl%x5f*A?y{~Lqye?YlHXieG!UYI8ynf;p{}QK4e|0Lr
z^1%N5PaK-z1+JEsBva)jJ*d^O#Nq@bEG_ViQ@|?l4+kg4pn7-lzWmz1&}$eQ`^-uk
z3^l<)jwqKpAzw7-&lcqCu!WxN|1a8m*Vy*)(~`c_FJ|(;-3(f3!}r!iC5<&3CD)wI
zl^UVqRwB1?x^wxax<+GHce9oDi5F_FB3}ASh`READ7(jzPp}xAw!D2z-#LTwSf04o
zP_&J^M1y!6e>rwg4V5@i7y|>EMiW->Gon6kYX%|32gxMfnpjm(_2jD9^_Zy_Me~?b
zF(^tp5Q|A-p63iZ(-)v!=@=C+E51FNj*`$nk%QD~k$?Qsl`7i*7gV*rQI~kVFjJ2c
zJ3*adxCmm6L5YC|O1UjD0xZ<Ba0Gsxk&6-S`BwHKTekbw!v>U)DgC~PXrc>H01@f<
z9DL=(z4wJqpdt;H3wV`3I~&Ykn}UzIh*XnS1RDF9q1tQDpEQe~&=f9%;!$3=Es`kC
zmDXpN26FzO1_8PP;TBJooM<*)+JVLaaHJ{$UXbEpk}SCkU_3%9fur7yK!)WQTL1_c
zBB01C@EA&w>M%=4TqT;@J5+GRnxcw_0hI)*A&CwJ#Bme3ktcNS^^<VJl4-|7<neE-
zSQ8t?QEM&mfy^*H5+hYn@;vhdtQgDsTf$L{N6=*)GYMeapnh>w+E#mqY_;(ahdY0=
zuUGEbu@R$|76bO{-&i3CWEXRT%bDF$l~%w7PUVyYc{)@;f!$4UZYGnFUxgpf;qKPY
z?6`W@l8s#S+66fDPcFZ?egHo3h-Ih6*vH`zgZ$DT%x&DDUbm7oLr|4zQ85`fIGV+?
zM*Svc7|6LM$ej?)kg*@k%ZJb0>RbR-2hyp$CPsA;+zW{=3O!>kE=ltBj$Olivdb)H
zW9Tr6?@5+k4}SHiyHk<1x)fGu^?an`l|oITWa@(D_cqBf#r3Oyc_i;A;*#MIfQuOy
z-@a*wX}cy=;0tH5;$Kh4+MQn?JkYLFb^M-qxbI+d?w$Kj27e|c9t>uQn^(e2mDBia
z2PFliCI~HIG$n`!T<Bl;uP1$x`a*NR=<+a=RB<k>nV}IM=xf>wpDhKwRk_Ss!35Oh
zMQM3+HXSL*h|pLed!LSp({|c6B;zbVcaTwEtb+pDdAP(6mlhIuB98G!^u)^|BUR!d
z7)hAmc+0J-{*d|>)~_Mfn~4|m{4I9iI-o5BiURIw`G|;4O(><SpXm3)40|1>)mNyN
zb<0~^Hrxc2n{r6pkP`q90-1mjZ5w<=ZaIajpch+deVwX{_x<|b)%&~p=In8!Nj-HB
z!P9bXLJuzrVL~#qE;YXV!bsD+KZPRZ{6~~)*+%>IJSz4L)RG{#=TtjS{{AqQaGPHm
z>M5W(m(Jfy$)(Blb~4cHfL7=G8V?N`>GBUc0BFrFWq(d&n?EBC0c>gos6k~oc`B(A
zHXbt{wI62x?9%@2;K3mLYKZS9X#oPtVJCFmP4Iq|4y0K(MPHnke@jz8?$mI>p6T%I
z4E8tFO<^_$x>!N*vPmJ#w40}wy<0qz>q<4r2-Vq&Xy&;-eV(0jd0CN<H!kmauAlE^
zxzC>+wMWA2&`0Johl_z1$}?wAKEtf|<%NxT35$eu`?jeor^tLwJ^nLIQ+14KE*sjf
zHTF$1Ku)Qu<s150IrDC)q$C2##0UGmnZBj$Qr&*@D#`FzT6&Drai<T@?c@x3s0>a>
z>Gj8yFRyvt<znep5G%zz?qAbSE*q+AKt)YcZBj4XcM*{$iE^@sBb4rsb5KQv?aM|v
zk1W4rngYQr$z!c~dBajL)Ri3W;W^_mh90tru<`!pi07>@6L$XMZ<!W#Y-%cBsr*$G
zFYx_ai*#d@F^eWwXKn_SC4rY&m~3f4e0&ZU)hR9Rf@6H8Lj|cE9Seif>BaPta;$<h
z7URi~G)KsDpOdytXL%o!!_ZkA#(6?DWCWEe38Wk2V1iDzhENnKEsv5(G(*8W49OU<
zPRuNbZBi94$}iHPouv;%Zf*^jW4@J)mbK0nrWG|PLzY?azTLrnzNeNaBp)7c(FIt5
ze&emLQ%blVBOcE3A?@l5?=)ip10Q$V36BBD1ScYmiwI*fBRRLs;>v!i6^zU8c`kJ0
z&Ri$lP}%YGS0rxwn#{UGGp|T=uZS6*mceccGgwQDpc&||H&O$SpT<Q%)iRly2S2PI
zZ*%lME_&nSe%J)t`w@6@!yyVimear5Woxt8N1TCl$-nOqfA42-M+tH_U0JnO%&=1F
znydP?{22qZ4zg3_A5<$qzM{OuORl*1X$(4Tvf<_%JrTJ8%+i=Y8aVEU9Rps1%Z~E5
zspwS;?rM*pGpJIl;{~%_*`CgPVD!_S@Y^=)YaH7pR~Or|e)7FGK_@kTZXP$wad(*{
zyKB?+nzHyyLam>#H!xr8r{)@1fo}f%Fw}M;A@y8GkHfEf7#X&1&f`zw!G;lzm(ZBD
z5N{s-A357CR77euDcWgvN@7$_tY%HYm{&fBUf?bm7$4hV1Oh4oIE!F}D-E<AN-*bD
z0<@!30(612mT=wNc6^_;$oP#BWY&yjYVOtiJM;?$4ei~^A8!QEwEM>$fj2oNL~Mr&
z5UVv%vaP^D(Vx*!uc^cE30{hQ`p0sF3U_guXXX~OY%A)Ck*;GXTZx0DstSW#{SRk2
z9bN+DTpLK%P8Ih^BUrf<+g85$s5x&~EjQdU|GqkLJje+@3zp>0>GpAk;midDfBP&t
znYuW&d1QsPT!T6bsvAelpvbS@3utk&9E%3_?O}UTF{*0T7Y|Yww+-gEZ*vU*zeX<0
zy{`|-%ag(60eWO4>ShsbqA_Tb0OM|#jjtJY=|LoF==D*xm3c!V_M=osvVmHBPBs7m
zFP*$%)cfJP^-lZk!3akKM|OdUoR&gW?xDJ@i;_G!8Z!8f{g6+#hF`*hapNmky|M(Y
zIWp*PGS(M;VyB{&D-Tnn@iM`*x962M01HnB>%vGX?0A9ktUoUHUC)nb*?0eOV<8(5
zRaT}U6q26<mR0#Lros~uusslfu`T%W&Yb$^$yIv=8M$cb7p-;=5&Y2cKWhRCm`Kp(
zotr&S$<CAQu&y}0+ZEOR`4X=k6wP+G?(kJA-}LsJ*)p_rAPl_a6Tf}_ib0)GiX?kF
z!~PR(A_Inz(Rr&^b0P5eDaP)0EwZX)0)HdnlFIb>PRz|aME+ID+=UcCBlM^bujGtQ
z&+*2DOKa>NT8{WKeo0Ltl-deD(wt%+x^|UQ)MXU%pk5@cYvC%qC4zFQRnBowZ>v#V
zPl~M$@g-i8S)M&K(0iuSeEeQ}<cc@oorkhnJo-a1H7>TOaQL2s3bL3g${2A!HGcM=
zcX>Z|#O73J=1g&3>GhsZ7r92b!o739U#*|NBygs~H%O$lOQ8Sx11>JIgH1bYZo<k&
zAnsgxwY>bQ{Od+^+Y1m7*E+z>1&JINuL}Q?CN}F>-5nrv?8)cCSG3}@uAe62Z@)4>
zRX11MB>frEMtn5Ja(<%-daKu%+&HKiPWd#?q(a+^#7o7j<0>z6TCdIn#IZk;cQx`!
z?6E8l@$z<|@%9gV!Y<&>JU7<;I!wWuD~K_^b=S`0+CIUQy0HRku`>?P0=;h&SQF9#
z@D@GZj(Inv51(%KOA1G;plAKWd23xkP!w8*;=weDc?^J5RlzNUuC0ylN!|v`S#sEt
z>fZM6HYAys8A<~vNrp%m9(eZX6D-ABLO>8P93&vF&IrNgxQmhl5*j5{Z8HJY=JBDD
zuEx~ZT$n9N#yJhdsa*_lb_ONMHOF<z|3*fcKlm%=Ol)bvoUetO$T_okB3EE=iuVba
z;O17sIwqlnm9PU9u`BaXk`!p+3N%tNGqX54(}{o^!56$>2SE4(QGJ7wNOnSed_rk0
zZV&Lo&#oxXUV^V*#G?nqh0h(q<ob<?;b^Gq&_me)D7+^SgKg!-#bWIQ7A*Vc&7Y_G
z)5;U_)C!9UnUtxMiAM5WrT)M3jm0k_0z&F!@1K;5?_L)0fvR?0t_NR~6x5Ys2C%_k
z22n{s-Z_BKX=v^!S4_t|&-zu&o{38@cZIrZ-|c(3vq|E=4C+2ZwL~I_$Yb`#_QoW8
zV~30K%b}lBFk*go0}nWJeN?1N<mIO9>T<F%j5r3UhW8ykn<HL2T4k0+(PFV$N`7iG
z2S`E20!|6jG;B>fZyQ(K*hz=gsVh1lZ1J`7Ds@u4MofBa%?(0?4pS*{e;zx95RECW
zM!Y$>JdjAvn)&$6LI);Z&qw_UdF6@ybqs##A>{+7y&8&4C;iwUK-iCLjC}zWGj5-p
zHL(C~<51Wa#IaKnPzEn9$;?KYq?(z6q6CCG7`BGtcV_cpQ_Acfz=~F9W^2owE|uE}
zJVU!g;BJ?!r{x@zCJPvH7n96Sp0b^L4%F64^kJ6VF;>#kU(c0~^zZTVHhB0_790H_
z|NFE0<6Rs5w7Kk_y0aIC7qiDFy-yc_c1E1%L|im4C8Fj_>G7HA3EYzLfCERPjp9Yy
z-z$}Rv~LKzXBu{|91f>6^hv*^cuo-lII`k(wXbaqmzr@i=M0e?KZ%lHFNr@mI|4jW
zSW<}M?#{*=2OqxtzIpR<+3SUsd$6B>Xs_~3HJuN<fTPUfzmk$rNh#u!ZGAH>?F>UL
z=cZxKI!oHW24Spce7YV#Kv(Da{G?xuu@L4Uda`lH5yk-{Y|=A~iq(oQfVi<ig~^BF
z`+W2erPrxefZ2Cm$v~hyP<tKDZe|*#%AFiL%GDAf>sddZ(;TSdD(Zt$L&YMB+$6QQ
z=Vh~GcP)&dL_E3hR$#?9gzovzFXuqHm_LBRB6(sCQYwDz_^Iq|dVZFXsHR`WwB#vn
zy(sI~y;Gm6H|yw_1V_fu{M7V{UwjCtAqbz0Ft?exC75~9jdiV{J=ooqIzzEJCN|7O
z$vC>=<Uscf5fLmo89{wN?7K@2vON-EMoAVA5dKL*y>mnx4>=z$sGgsHDc(gCFp?xM
z$Uwe7R{lc~Rb6)Va+xq8=$!*=TyoaRvmVvU3wk3b=L{tln&p~7PN}8H{yBW>5oGg}
z@lsos{K3J&=Ko@G3c<)AXVvRgbD^t9(J>*YuZDrPjZ4V>xvb+ZVjtI|{;B%SnTgTe
z>~qF9(0W*m2RdY9*xobdB~&!=RJUjzK+D5Zz^V5k_b9o8I_^@|tLaS6{Q0g-sz(BM
z`<My62vjaTSR6hAra_Hx@!d&D<-IjLN~j@8aH$1RO@*WWi0!)Yk|aUq6KuTS&hYE6
z>yVQ(z0GTsw!Qpsb?!c#^Q%t?g(;TYEO<;=NwwV8Xbk4)!5zDsFiqms|4#Kqe>{Cr
zoA(cmOYD=X<7^U1l3|Rwtn>!&{LYP&$8b}onqQ#Sm4T_QF!<7C8|wMd&xtXFLkayJ
zs;D6UQMjt>ZS>wW7qI|TM#ua<(J0*A{$~yrLx`dPu4ZM@0Wh}Uwe{@pwnM`zw)*~h
zLd_}TXD*+}KDhlLk`G>!aw*>{1d8%Yv!z<wKt)<X;|?e5IQh6sDS;P}yAH|E$lvn0
z?SLxB%%8rC=y=LM)YX)qn~O1&GQVF~1!xxl|2%O@J@pBge)|v4L>pzDcPQ+a<Mg1;
z?#ec`fDo*poh^QK_qM-c?8sWxmk8$lUMLcJb2#e3<CrHeh$><`kW}c#(we`Le2*I-
zXo?d)xv!ZBYKqI4`htAKDMy5n?az{X0D=@(u-s5ZAas!QRG|lCquH7@i18$(^Pmax
zpH$s6+1?18Ax+XNzKZPClVAkKuY6BdDqN$fZph>Ncsr)h&IEcqEsnr~nwiEw1>y*4
z@)lfL?aE9Jl0N|a>76Bt1{GQ0nn5tnsXw8c%N<fanG0&Nk4xTj<F#vaQuYOSOcc+}
z@E&iw{QQOAjkwMb0#Z&m_>zCato^vs7uaaE<Z)>|9G9+yY#gHuuFh1m!J}oQP*txx
zSu8T0LCZ`RlqW--y_~;~%g1NnT7~gmXVLyApx@8-qo<yAOvTho4V6EaseJMR=Pkgx
zsOb(tV32YR?~1*_!wO!;a+LD(^r!NI={{Wc-SA4|JPsEZcPLSYPB%m*NSYzUuG_}+
zhHKmbt)Zfj)^?q6=_|9%PTN8YZ#a(Um+Qr|;*X{Z`RVYNqibcZ)<vsdzZY&+<tpzU
zC1~47PNUPu43Pr-#hu^zfwm4loV&jIx`Oayo9!mk);rBYfwhL>$JKZ+d`n?QG{NWP
zpW1tj?U=uH`T6VcPfPZ?3U5W^BgB>DYT->6F$jyTRwwl`;uA(`RFnLyz-F%IvS>Q9
z6R~-(7;?LEw=_xWm~8Sf6Bx0*j_T*!d2E&VO<U5LS1RfL!?ses7Da7cEWg-GdA7Wb
zf)l7kEljKGLp<|~E}%Gl9(sLQmRw%=d3nJb>R2Hvn8qqtdO9)GwAm;{07Xpnq-{P4
zxEkeJlmJX-v15pOM82WQpe{yYN`iU!IF^W%?yM)SUiqkb`=h1&ZNU`iL?nr!o9*1~
zgWi$tn9fg0@@_Xj>2UnoM2A~p>dnCK#}yia0*gmPhNPH&!^pc_xou62|NS2E{j3)>
zma}H(B;w=cCU6V26z7Q&CTEnykI`|K-p<?>@-+W>Nxw(;`>*j8SOxn&JmqBs6OhAP
zZdQRLXeMAe@C=iD9$lxY2Pdxw$`jWmCA~|GPxG3xDiihQX1d@~VFT3*N~^OmB^xYB
z``*+x2w7Z22DTm6(@p;cl9zxD8u9hfD}3qhRN0ays~Fkul>Z`fZYtHgEqRsNqHIxC
zXeCx>jw`=gJ1Ri$y9oQcCQIRv@6obDwd5j%uh@zTvxspXo@gEXl8j?DrU>QY*~%O;
zIwM;AQ;DagZ3VPdE(n_vyVMDnpgVVrlTf#FTN_|PZR{%3PflqmFy4A}WiV%YYhx}3
zobj3*@n5DXKWllu(lj=WKe7TeVXfJ<Sr57Ox>P2a^Z=BBY7I?l+Xy_ww@*Y_X}-7`
zuWa{IBge;Zqrg?OJHAdY(*hCp><;#pa2ehrz58F>wzrD>47ITdrKfWC(UIIm=~0E2
zt0-Bw#9J&y^O>?2<#{SpIDG)0h4Dbmn3D(fy8M1I@&*3ImgS&<m!;3=E0$QH;;!oI
z`N4d%e&gYq`VhXW{nMg6Q=mY(u%Vdf!7!d<R?v7Qb?ocCt$97)xDC$>dd~5N;0pLT
zqxf<ZjMa9v_^nvS?&!5O-Yf2(N?VT#dy-F-V8^&-OJ<%BU;!k(J9m$rax=jzCkb7$
zN|Ru4gi4MKFdy1~1Yn>zNXd}gQCu=qapD0vPVPRz#x(`d8`I$60cg?9a=}9GlH!9o
zsccJQt6<LMkd|anLz?(#azevHDZqM~4{bci-IUaSmL}FQmrG!m?a&2gLw-cu^pOzq
zKNs5iK$_CdEh7Cq1%iK}o9177B#`8Yx&l?k(JyNmPe!~J1(9J(tt&|Gw><NzVN%9|
zWmBP0Dg%?l&^dO6HpJIYxF=Pk?nTFBfiV|YTt@RhGI7!Z2xhD1yMyve?k;}qN!SuR
zhM+{H3zm|TDK{rcTJFN95}d2Yr8TgS_@q`In0e+=;gyVg*DBcxWh8K;N{F}`APAV`
zwjcS0TM+>R|4<IMS(4C5ptgZ~A!aUAS1Q#@t~^c#n$D^ytvr+6$}Ov8)S?a-LWjRd
zB~|ew`{e`o|GK{{EdJq@6I+Zi=vN}7olDBHH#bHapK>rHC4(#xj4|`N`_Re>bMFLh
z88eJ3#yvBg(5aMbs}4*jkVXm9#NF2QB7;6^w9`QrvV~~UU5(_%f|JZ3XcuU@LSp2%
zX=TXv#rnoL7|NrxbI8Kch?r)cL#(;7W4QcZ1hI;Oi9}pKHn!n|K7oZd2mm6L5>X$K
z+G$qCvY&T_dz3)K>Oq&x;SW}XuK~HKt~p-+l!?9P3kF{QNglYp_nERZulHqjr!g0N
znT-Y~=Hmp*0ZR7Ij-a2BAl?%V7q|^`(z$MyaAq3*OiTQD)9!rOxCBSIx`ahx(S?;Z
z(e5mCRBy<YTT*niTf81Ny|y?E<73)`yR|U%6Luu^@wes#1C|&zx-dfI+iT4w-=`%s
z@LR(MlzCod@zVXPWxL6(KX>nZ7r+uEq8~aua8-&SPMmC%qnkZxYe`e$yU2HL2XfxF
zi4BG|!X0@n<Ie=>bv2&CcNq-^&3M09;_i<H8dlkWs4M);hUXWC;x#^4Ij{PEp0gj!
z=+@<<#SHGH@3Sgn%HN{ibpE`}57?77D!MhTiODr1n?BAYq7cL62SpO_l8yTpR4ZR_
z#YF4FZ?8Tfm&ha7m~`G@A`diQ2=jvhr>!-M`Mv3usxRmzEtda%S^L0*dI<>11?ph0
z*YlTwrr6$}@pp_m<$RD>4%ahZa6R%^8z-+55nAhVJue2U(<RrXxz+{+#Y!)p4+zds
zUUi*U`O$qn8~ojO7S;9@9(2HQiM1FEkKAUP3{dh!xHY>)Xz!HBF$jCtdT^y=`3ldt
zIHWoH@uNNqk(`F=f9m}IT6DY4!OWP_v-RX|l!(fwKv2`>SWE^4G?9N<TUF2~nM6r#
z&L6F+_78{KJs5BtK@=8;fBn}dlhG6As8@E3F_GpeD#MQvxw-Q1ssF7K)1guX)AOF`
zOYVNImxjTA{iU^UoGubcgj05q%XuTB9rDY6`L`g>@%%QAmkfN}vRdy`Epm?gAEaeh
z{!MbLn9LKdc#$L|Ri7N(+*!moI*Odwg<*b@<58E6WVIREb$$%BF^YOxc3W_{-vYN1
zld&qV5wCjj5_-XBs?zmS<_jC>r_ZC5oR;nH&mLU=yT#DS&-Po*`Gm!1s;I}7IyI%R
z7&wT``4Yg>%iIFtn45$?p?5^zi=&+yle%%jo0F6TEzv;#^igu|OTHHibi-#^?^8R$
zPXjb(F(QbY3E%lnsis%%0o|>N^BEim16luL>D=R)`r|*o*|2HYW;6`j40B1t+{Mf=
za=)cgxreXHts<&zhPmI%{W5o{kR;vQaw*9z5taL;D5Q&spWoy6JLf#k`R_c=U!T|K
zydLk@^EGGuuCV2kCpaf;X;34x?5=2j<)>KRodV}C@wg_D>gb{Z)%z-FoHh{9cI;}<
z9WBwC5pDnTswT~f@lw>8;LD{L?cSgP39Z=iR!xBnLhNsUZ8`U;4{b-nCB-C@uBbG<
zbRUc#OkO5G8%$TXaU{ao+LH7uX7}Ph1oN~fqo9m4=~4;b+vE$&&K!2o{haPQe%QL=
zP?L%3&lU-Co<$p0E6CTuhBgEKAz10$kClH6%p&qV>RV}e{MuW}ljTNhVJKvwS`PK1
zl$2t3TjCqE$;cFH*YBnC{KkG1OeHZ+RI?XLvdqh6ztdNEWP)4HxIH+K3i$eU;yngm
z;Azm@%zGX*llTAzlx0RACQ+y{!Vs21G!pc1lUrl}Uv1$@T7~*xC5%M??SPm-*R@Ot
zt~u7ZyVufrMoM!m<_-eWrRibZ@{se`3h;Fzc(SnaN<76JWcKZ|3B{CWsM>PaAPYvR
z|Ks6i9Gk&ke9lbhXVz~53~R`tkVu7BqSKDU4cM~LOrgcuOJKMJe4gh~{pDGUfv3NC
zFf7^w?1<NZ>T94{ERUaFW=0w8qh(oRulu4<i&yeS3aAw`Gle=`f8_!V*X%f!rF9MY
zQ!0<hmA}WDkOR;L%PdrGpI*1VuQ;LlcxC}AE$nD*K79X3aF4K0A=h86OY44mPPv3G
zSCQl{eyNNrK6c>Lj^#Jb)QpD_XSPqN#f3XYbsoOgDF|NPvKka@uXt|Be5C)MzSk4A
zw*e0xz&ex!B{n|0zLol~{sP!6(rH-#iTZhQlK;miH%*#zwUfjtpCYDOJ_z-t)F1Q9
z^y7nJo}>It)n*1h={B!w$FE+JH{YCl!s4nbQ7$_8ddB&-6<-`0)N)rb(dy<_mzfI>
ziDbUMmHgnnV|Zb3%axUJgwV0jTXI__B@KdNuxc?8j*XuE#}8Hd;J4Owk*>b{XZap~
zllqa;%~z}<YAfE`(Hmk0lLV@X(0KR&aahV*pg-2Ryz_$p%6;mg2EAWY*7xf%B#fD&
z_YAP_uDp+_HT@~1;Ofh=$D-9jW4>qIP7pV-d~AmjiHmkuVn?aRuwQ85vC4{%$2e?Y
zCxl0&pyWqnt?YxekW{VM$fw)o|H@7<Q|oj{X?erYA9Cj&gDQPJdV;!bc3%gZnn?Ra
z+cukcC5g)B1YR!CjzjCb=Fe%NTSergL`sFCzjZvcDBmDi0v6y+3!NY>iS%Prdg<fZ
zHqS(Uxvh22OvWw*7K4P+l96hLwy(5uN3=6Qjs$5|cY&7PWs^JTg@2mPl~5}%|Jj1}
zyG3@pWm?1Goe%yiCj~B$!nKyTUyqKRO#W`#0Bwa&*@lr}yIb!%6GU!J`s#4LT0b&;
z#^>@!LE3doPe>|0ux5ZLVdd&B4AW5SmwMVd;0$w^%@WcROnZGJQ++kW$@y8H2%rA!
z7>#a*SulwP{8>W;tZ#|^EA04{pdNknjen5GWW~60_$645#f<UwP^3_UPFrw=L5DDw
zlJ|1yF0`5AHd$6^<s!vhFmZtRKM%oNl{)MuBM>(i00T#bUn`3nN&kd#VHNcvBu-?+
zX5b-M-QUx**D^8!&cr#jYkPJ8dg+%RmtUe5Zu?k%d0j-jU^W=CRxwsi)D?HUGDVYE
zM!lD0WrmzyaPZZ74Rc5O%rG_h{!9oaVOZ{RBpa!mude;TBE4%O7jmw!+ph@W(<VL(
z!q!5cwCF^{%<6>V_{Bo*J+3Xke+HR6rxs5WM4CK^!)f-qUJunAdHutI{Pz5<V@FA>
z4Z%_teA?q`^J3;%YsJ@hHQ{6Wg%)O+Qnqf-m$l@9+Hc3UBNFlyL$8l5PI}j0xANXq
z{2LRbvs_VVHE-%Iv1Il!>=MW?G)ClFxfb0tzDi=*;{L@em+n)!bm05Otm$RiZ;3TT
z^3}Nt<jh9fw8{!kgTYt&*ct{YTO|>E7`q%`5Uje^XuM!~38kO(3ggzB_IHz2-R2hE
z=6;PF=5E0RP72COnyhq>zDl)v_A81{H$~7Bn36SF4}HzIP-*vZ@RRGSXm+ZC5Rc|~
z`gh?=Dk0T#w(6Q~s~XaN7t`N0yUfFyztl2nIbowmkIV`LVCZctAHi2;!oI~Bc<NXC
z_Djo^-Ii=V^R9ti@WHEqpAnsspKubLjmB!P4%mvM9vaTtn&b$)8P@{e=oZbZZ<2`@
z8<R`-^l7gMmTliYO8U+X`s+GcZfBtBAK2(L?gossMxdqY;MS094MWyARI#X_W!U^V
z)NpBET&j+=(_JCH!YzyJ5x|eQteJ(%oE~ZGla3>p-*fjM=xjZt=-wkw5qS~lmCetJ
z%y`{3L?1FhyuMto+a;vtfu^)Zmw3aQlDW$as>GcASKJ$<9D;B-qQSSmQG{)%c%=w2
zW@AQU|2f4RHE3;Efk324<EKot00LeCD=H=!d7EON<yf7KZ)J}5LRRLcf{`{@=HuR6
zrbvcyU$a!v#rU`tcANOXRaEtT0~g{IkLX*{n?VXz-)66Ru8-c4D+=@0|FjkUI_-#o
zikPzgL}KO{5p|tgb16;|m(qEl-<}CI(oQN!8@yaN&ymy~J?pTNT>jzEs@4(NHbZIC
zwRQUyJWVLg(P9F^c0J%9(9}f0ya8emFR6r}yF0B3BKO*eI^a}T15}cG625Ags_=?o
z_PuFV^|!<H^lkYx@AxBG6LC1`T{#g^0}Hd*w+NUY?!(ZT`qwa5^>M?<wty42dIn~$
zfX?pmmnK{@6XU6;EVVp^=Z0LI(w+X89*3EDiZKp^zju!zn^>GIQ()n$#eA!rO?;DR
zUNfB>VQzd)ZmLj@eox{+kWDkFTf(iA{pe~&t6|lJDSL*$QJ{6+T%glJY-e!$!w1UT
z;{@xDI`p!uVpIQJQ|=$`!i4)3C4NK)J!oAKUieGmPN$>CMI|4fZXfTZTWx>lS-|h*
zzQdy)WpoRjiVBj4ng&UuuJZX52E3@z-sa<>j_EXwZeW;xRrU70ap#`7RSLMj&ir^T
zD5XEK!I#k8UY>I31<zq}GRPQ^LMAp7Tu);1ef!e{L(boFYdNiJDRQt6gjNRtxefJx
zYPV=woUw5iaW9V~o`+4sRebMc1=zjQA)}!w{wNI<r2l{-<^V_nl32=Z9-Z{<w7j)C
zPQJBSn?~~gaqpM@pfdHtN?1`#-0g_<%-e0uw$fgaEI9&iT|i%2?!srQ&Lx-rS&au5
z9%I3s7pdu<zNDw)5X4u6YNwA)cVMM2WJ@m)^YP;JsUx$)onz_7dNXO48Qm}4X^Bl2
zR}^CNzP9-JCO&XhZDS0|p4Xpu?TpAtY7pqRsnWZ)<#;ixrsh^$&CG+(1-1U*0?Sjn
zNiPEq^Y!R`D}Z6-y`FHKAgiufx$%hkhwJ?(#1&pSpog?3QOU2(&VqA-B!p$jbtl`r
zOl7h2*nu|~&U3SPW-d%iAZ&RC<-uO^^*H@bvaui7-jW66Az~WZh8|qxUDaEr54*m0
zn5b#|Vh^EPKqEX4c&*;B+=gIOzP~H{Q}l&~=1H#$vgV<T_lF~cRpBjB)B;&Ac)yU~
zLx4_uWr3JfAt$qg)Jxf3pq<Ex(vCXT`$4(t*NLqz<@G%!qpvDGOMOGnJGs(C*OoZx
zL>)V6g-7Y0i6h(Pa}nv8Z#c~#c_3)o-<p(1$09GRiFJHXbwL?-{YsG$N?-r|XCT6~
z{*!L&<Ir0@2HhX?2_vVUd~G?;2#(f~IOSOu6&?21NanvaS?M9d;hx0X=M5vS)vIyi
zYPWr<W|l%{6-;cF454&1;~2?~UncIKtJL)%KN=(Dp2Y*czO6m}WxlsU1<fmuOHDuP
z1R9$yzlF2mSkrhOW-cne!cUQh>1W4*WS~r@qAdWCX<f_Y?i90xt)X@&U;U_)PNxW}
zvrUG)a-K8ErS9lniGEelj97k1j;F-WLpKi}J`8Hy$b<Lj{{1U+m^sdbSU)?4Cr%l(
zxE2n(#3BJrJ{fc`DIPwOoqueum5!2Tr)ye!g4xtNUy~2j^;ZK)?I(%Y3r!`Rfn_(4
zKu9f}w>8d-A1ND}BG2JH8pU7f+?5~HAKCup5-d{Q5La|GTI>VWN>B`C<z;nuG^`)p
z(@FmF_#sqvJqj>=IraY2pTGjy$DWXfqIQ}rFtL2Lb)K5vFehT^$HKgoy%40xzwmU#
zCA=n?<-IPa-yg)lJ3iIoOZ+d*y8)aGAA7}W(2~zdf7Yxuf__)7ENR`!D|O~eT`pd`
z&euYWUqC)DL*Bm|=H(qU6!WkX*LG1$#nW6!(Aqj*=jmyC4x3CGd*skvdFz)}x332J
zHuRaG-#b1DEm;0*m#mX&$;ruY<XYJE{*vfY3hHPqDV-=1z9D?NaR)~9jz3P!p^oHi
zNV^17p)`?mO_WloM=L<ATnEAO^I8;tohNWvksr0fWFs&Qa(%{n%D}JSLJ@$L0b^QU
zd?4ROV4E#?+${aD`yzqgZgMm*E+EzJLVxwMp7&hTFR)#7&3HjQ6N7EP5-d_7+SR@e
zmYrl>gG$#<*GxjN7E+y$7aCqZTDbOmM8`*@Am~fo*nf7}TW~&rCu{s3)M@Z3UgpI{
z(F|#+iY+1e&+sCcC);|OR&5hm#O7}qOQs_gvWQ=Vu?8$=n-=ye2M+s07HRq>=xzoy
z7EE6!vfvZaz?e%uureK<&a}S@eoN24>gM?t`nQtgweKu7E)E9NZzo$mCN7%fe3N*u
zC}om=>jIgJf_5!mt~zm~`mN131*u<ecrNf>vb`>Y{SzzGvNLM4JOAsUe6*&A*3sW`
zGk$VZHJ<Bo$SlWiPe3NJiYBYBSh@s(%$X%u^2T%0*azGqJT4nIY{xd?3%WnJdAx;%
zX?!uAV1k-0{8CEwd36Rwt+zb#UmR=D;l-zp4MsHl`t;1cTO_{+ViE}do$_|)?cr_L
zsxS>m_80H+H+u5mED}9M0S2Zdc=HdI{?Xt{gSrr8$RD0U{-5+1e${DRK|3-GUQJ_z
z0W=Y{gTK|KTqow{a*%4(J&!EHjg2pF<7&WvVrk}hXZGc+1VQxzWdXjT^^acgD4co+
z22ct~1&|@yLDW616bVHgDQp*)ZP_ZTbC>3RFNNO!v_0L@c(|-&5=XI7pW$#l6_wzZ
z)nB=%zf!F+%Q{ucgSrlJbt?Bq0&86ykS9?Bz<6gxAL~cQPR0-Lv<d8IJmZ;T{P?d!
zYqQS1B|C7WMB>*lygpCko;}FK9z^+y%Mc%}K_Yq|`tkd4dQQAJm3L}{Z_+|syZ&Bc
zd)^APv)Sm(unI}z4&AtQ?)C-VU8y(`ycFoZWYj(7i_^bVM1({r4Y1Be)Eg_up<emG
zyPPyBlE_7)(5Js8&uk6m>#LT_TJ^h~W5!($TQZBfSl2+>V2pkbFYl7ljgIw9QuJnP
z^U<}D8B`pYBZa7jO;d9g*ZOP(N11_>x^KlV5hmyD&Jf6z__*x%p|UO>by|PE1jFw~
z7!phV{K-{(-Mj&uQR{kY<KjhsS;dERkX=OvN$aj@&+EEr9J+<onUl7a7E$}~(R-Ze
ze*G2aJ^z2gUoXE-h8A40yOWkjHtbxhS5)_5Yi>llq-R@=>zNc?|0%g3K6{dLbg<=O
z^4ClGrri9FgtP<7x(1pTT@mCFyeeJMa&_gWur9yKRJyfY(;$!oH@_nYu?VdWZouQ!
z9-Nt~H&&=XRK+vXE!v}$)`ye2G#);^WcEQ!O<wWi1SzgdDAjqqGPp{Vgm!FOta8C{
zyhdE_pQEFpIqJCo26;vk-<}h%9NwNxx@>dMuJTbn^ora(J=*^E4a~bPLD1v4Yv21~
zsb2h-&>B{?uoRLs{EqvuYNya{eYgtT-qM)>H<v1O=s-DivX2VEUaC_O?A{Mtf5<hw
z2W1A3>){v&tF!f{r{fX61ndCSq#Sqh+RKFyWPl<D<l)z>N^A1B9t@Xkl#e@b<CObt
z=F!uQh4Als>DuFHKDznC#{^|!FSBHt5q2*i429CGN^SWE-xbY~mi(Ir(e6=b<CA`8
zM?uK){y_p6KJlIoJe2JlyXZpQ0{~Q?x6~oazdPry{)4sPO}>3E!fweth8;d9`p+Eh
z_%V(vP5Z45=%xD8*R~WChQl|$o%2gDOUp=yxO)JxT(W$&h)ABCZ*m+h6AG5a(bU!L
zDB$!AJ8Xw14lMNr>MS4+dHdW#T~t{F2=4+@=$0<H3IfIOrIX296oD$LHkanSKFk%a
zK@$LeXgQc~j~xoP=M=T`{9FRkSkW?y_tz)e0v%37jG!aO+oqCmRGtZ+aFAFjd2K>!
zaS1IKv;zc;{F?rn8E>>z!5__^wFFZZ=ncwHZQH+fZaXcOK{VOfrx}T~0hzzy8REs;
zFE($k?T2pPoY{YS)ArBvo<IB1d*63&+}@MgH`<rEyZ?62cE5Oe|NF?uzRbIo-OrtG
z_Fw!flG(nw_G172-lt2uM*p6t?jPMT+Pky=`}h9&{iT1!zxFrw=N2C9ecyTUZST^~
z=YO~MKkml~|GWA1?~CsTZ#VjT^ZWk${oDUuyxvdUE#8jQ-M{*;c=_LpdOo91YSZ#k
zPvPu0dq&R)S~n2?(juqsFf)(rTV=vCRnb;4daf*>c5RjjA1%UMDTl$4XO*j2mF_bL
z=Kq*ieJGzCAt3+D{Oa0>{Ti@QjgisJ&AWhO0fC$IxCMvEn_XTx9-}4NyDtWe79gxj
z>fcrKJ+YoOr~MeyA6Nf<?Y;l|NfRpP03NE7s}a`yk?ybA5ic_XiU=+^^Tuk15J$1n
z>N4h(ym&h@<u@(JsOQMGUd=L>S-%I_?}q3D3aQ6Dm-S7J#@sG<^N6}4@k$m4WhD1f
zcbyl2#`8~12A;hyZ<{YVv~qKV*O4yF2>)PRudWAu4@702aWC2&-dWiXI{dETAT)yw
z=CP|ty#DAtuiJln8<vu7tQuSn?b`MWDEjC^_P_l_TtzA|E_13&;We%9U9)xxa9>)q
zIfi?4jt}o9(9RT=P(+MXiy4RAXHUiL+d8~}tC1QT^0L!yO3zl~K^)M!+^7J+NCErx
z*I)`FRPT%DwQ}12mGpsU^g3ofFKr@gf6C~uudXq;a0<Tc@~tN9Jw?Y}+3Z8vC6Dj=
zk8C1@5r@)83LWFH3!(}>*t}e~KNtGVbD|)*dS7*&$U00On5iSlnWrZvnCF2zr=abF
zY&#egf&B?c4c<4@HE}S%WB@o$P#fg-1!bAxceqgsyyH4?bqk$4{bZUUI^n6c*v+2@
z@%z8*h{(vwbAQ-3-*+C--&xuVvBfHuePl#}ZY$sJX30mH9f+Jj;NOdLqtM2@MOww!
zwWr_xVx8DPJex~FkR5HCBBNe>kX{!BQ*m8Fd@R|u{bA$T=&!bqL5vWS_b-6Lh@J$G
zEf!xBGNE(X$-p~{99iwp_`Udv;Bo$KX(~{|yfiRk%slDq?mwNvYOM=**9ORsKw|gM
zHg1a6>za4s&KB$Z`2@85GyqF0(88HfwkXqtW94BESrU9Pl>`Z#v(e_TJ&*jZqZR03
z5x-_<on+gvu;|rjIz|uSAPP<z+Y)`4me%<*8QdU>3L$0UoCc}eh0in6Vr(z?iH!SM
z%jt2_J&7(#=HIjEMIJQJ&AULhm1E!7u_e}T;WXj2O4GN(`TV`lJ>@?Up<@D)1kf2X
z98Pa<%+bFd#A%@&r%U`&>sB?aSG|P$lIL#;Oh}6t&+>Co6Fj!^@&vFfM81x9_t1w1
zDavIgBnWgU)xSVbAP*_K;{7A{My>UD*fQ0(DD3^<RB51D%$+Xqq+jx}O6|0ln)WrX
zNn38<3W7E%r84lYMW(pwkpwp~mX1##dGf0%sOw|6R+2&lVil}%7N6ed)+eg$8SGny
zdfR|GUZ0hC>lGyGNaakG?v&?Re^)VVOCu;>?2zXt+q*d@d6s>i)DIUx@DK;NIz3&R
zRo0oJovoRx(<94TDG6C5R4zM5{}QC}lQxheCu+8k6LH?_N+=Zhy38u{QJ7f1YXad^
zUmHVRePfb>J|Cc#es8WjDOP7$_q~_~yZ<)KzEx#B18Jcl%UDXDA56OSt@^5V@_d?%
z{L4}Y6G!N6ZGe4;_{8yAo@bV=-}%k@`jFSF+%QzM2LL12Rzp<(?T<TMnjIr;N0M;L
zNvnYtmd<m@oWMr43Lo)Ll-K}GcW<QSS`LtO+N~=CBHq)i+Bbjp8BSbXLT=NZWGi=!
zBMq0ti+!w;Q#TiXny)>PGhy8<#qPo8=3~bFV<3dCwdP@H{>g{5_V;$066$}hzR?-;
z8xrw3+3$3`sG!M{Mxkb6cfe9YQY(YM8rGd7Ue!m!6+Ojj;JnwG{3?db1S%Qe5wo{o
zr`SU}vx3b_qU(~pH%pZOPESpEVd09Fxkwn5Mk}Wek<<@sPR(|`2am_=_KJ52^rpn=
z@TpmrNR{)Jv<IH-JgYKpuW;v2BR>{wKzIE$KB@<cdymVp_P2|ns3sUL^Y;>rI?|ee
za0kb?b%Xz1e2D5b-q;k1#Lz+d6@KLw)w+z-Pt#KF8S=HEeBEFnl^d8<2_eVfU<afk
zPz-^TqhP|Npu!?ui*{-5(q=sTcK*Q>@ORpugEk5eD)%bmW=1K3L$LcAxhn$-qLjh-
z<vZ`kC9^e<7bfre+&RJH4!1A_m+}V>^WIoNN+RE+$=a6*{vBx-4C?auXaF|1z}|46
zV5uPY@*F#%#<Yj-_2Qm%ouN-{num$o47lAjGZD@8PK~7-mF}#_|7h$l0x1iSB7wWB
z^f4b<H_{myyFbn<Z=ay7Bt!Tl6<KL-?*Edvk$Zh5jET{|^b#}vFL9}_ztO*DBS{j>
zdmIED0iFGh(!%q^d=o28D+F8;?@VtfuHPPd{-wRyR7Yh>IOBuPznmViJ!te3wHSiL
z?Vi(b)<e%dolvNB4~4wC3_ltW=15Lo{QjSmCJ)#vqBXopt;jy%!SLtKUpeO2eK6|F
zg=$n#Ru~RTC)YTn^AH`O+Wagm-i3MyTaDRYnsW%}E}F^M?nvFS__VVfPV3T$$mkTr
zdta@m;Kg@wI>NAi*ZiYxCE9ZjonaD`be@OZLA_-&yphvRm!9NEjy+ky^J+*xdt(13
z`jI^4;$M<N3ne;*D}oc#jo>`L^f<0=WLWyk)U80QI0>o_XVjd;SI3*DC^Mv@u06TZ
z9K@<LVdF}L6E4a~R~L6n@$vFNj6(#@$0B~E(0Q*jNjW_Y5I9}Yw1gJ5i%~wP4m>@f
z2$K_f&@cEY0a#)lpufIQhL3guJ}B!5T=fE-`R4Vkc@`sUGAXV<66Y3{6xvXswHI{c
zDC@HfxcjkT#kqOVuDr-_t+~0kztD5491x7R+2<@ye{WT1?1sqFg`-en?S_Wc7VwxN
zOsiSyxtKXo^{d~$oj-*s(Ifc_a;>;DK%je9-OY3o+C~Po969~dK;Vy;4g*sU<HMis
zCtJB&Edlb@%1KJkElJ>+ub`3MXu14ckYI&q2zgS@!Na6OnZx^X^>}i2)mbInRvx+B
zsv|kmszWD^<3$;@LdQ8I1T1{=#P;^+(3GIrEqtxsDx*VWr;yl5f4dX6@Tz>;&DFW)
z9*S(3DtpOB82&-F&=9lkDo#Brsj|C{2BaYYKwLUdX0-CVXy@{;xdCri4K@>Edd-IC
zaFxA<scU8Qb8V~+RFR)QcrZ@qIugPG<pL}ysiNK?-+>4Hvq1TVZ2n@et?bQ-%$t|{
zULEHUk{oXbLIqJzdH(w(BXHlZvhEw!U4hsjVjgG6igGxX*sA#W`Rp?wlj#YDOS_nv
z+;=HG{;gZOBs_RQsoD^UZv)}WEaZ+msmQ_8C=LgdZP`IvV+xzL{ff4FQ+VXdC1vDH
z>c8Q=&_h`niZkoLPs_o=L=68sFx>$bF+48R`Sy1FZ;~*`C(1*FZ$<I(JJ{b)KF%#9
z@_>!|k4civMA73qg!L|O?|u=Zv3T8MkXS$PK{f>&o6T`T((TIaJs7TOXq<Z*HWrP}
z$mS3$JWn|wxOSc_XHR<`dLEcSgmY0udm@+4f}*)GLUdVH2BOc>S>5J4=(}I&tPXS$
zPdHn>r#=XV8_doCV@}S;+e@itEeu>U<{Lpk?@F|7r!g?_!159_|C?3woWIwvoB!Jr
z4(E|>x#^u|=s*o(*JBhuY(^IEyx6^b`cU)ag@-On52NnO>E`{szw?I{o5t=%s5_Z7
z()8UcL_NIuR%k@2fL)EhFHYDC*CuN$|CHK)GV#&$bHZHiB(U0<br^|FfW)w96<B#s
zB|-7@3jeSK3RBPt)!CSr5rd>h5SNJp#^-Y>2Z;O(iH@#BYrHpEq+gs5z<B9}aGeGA
z&d1tKW2wxOiyB<t9Q1Cf;Ho3#E1*jk!fe9Mp1RX>T58>&9LxLYMe)rW!xn{?Pk3lf
zOfh2+qC$m`7z#|UZOs?taqa5Zx-Ck;{DWp&_M851p=m*zHg`U^_xHcWOvhf%&CP*W
zl*Z&1AabWv4WNZhuQfC>Q{#l5;mLQ0J1y1#A#D%VS89u{f{aN;6?UZ7j-v4(H33U{
zSJAz+5XvB$;SZy#rZ*c8B9zOh5^kh)6?F%(hQP}7ErsAAtjzg)znlS?Lv52iPuv`9
zO5W+rpMP?H8z`#BUz3o*!N&4Hp#TO1kCvmGImlbYXIL;fHmpeMrIc{tM{e#Md3SDt
zVg=VyoP(Eb>&y|rTe`BmmE@I_AAi(c4PIsTu)@X9D9cjU`(D2!%TohulnZp$zmLug
z6oSWfm&1WWt~hyD$jJnrT7lSv+zfi2W6F59Cptl}(Ov^#iZT_uZ4A#jn-bnnb2HsL
zdf~7e-+y=NLle<*ne9zOpUvPy{|maon3>PkEBUJIFYQ1o_b0%s`+xSI?EBcoS3F*M
zemY^rWmc^bC>|@74l`PZbrjq@*ZOy{^AmY|_b}szN4HdN-@YQ~zU}Q`t)p6k7kYu%
zmf8>r2Ml7G;8ot{U#WBJJ0p6g=KN!Op)MEI!Xyo~uHq9edcWh9v@j8??o^M*qwe#<
z6EZtSA0j^er!Jx>0EbZ8BMbzGToCi(Dbo}{A2><a?|Ij6XhaF-CFki-VoCZTfHqOA
z-S+wK_yxUJ#6=#1!1`-c;L4LjRB#%fcig1H?|zM5Q>YCD?qCAqP3ZL$ppVa6DWLbo
zP=C3?P50U;vj(ba*HWtUUN2RYaTJ#-Stw#AeiU|R@#>3Tw$mYO1lj&Q@z5d~L?J1t
zX9j)Dh#^5wwYC!Pk@r7i5#H&e`~s{%1w}b1fC+T~bOur91zPS?4gQ@Cw-;Wc$hdVC
z*ieXMs;^vvr;@H=%N(>aNNr?wS4o0mSYq-)3(qJvcbNdS9}22JGI*3Ge`jrV2po43
zVwfA+#Ah(=C#?oEx@X!)7*Tl%mLE&rW-Gv1FS&MYrCXooX)kgVX1PYJcqKyg=-%V^
z6UD=ra~q&o*{d5fDNn_Ew+x_{({g@>1(#jBcqwoqNCW*bCw4XB0YqU8PGvDgp0^rW
z)UPjvdj{UtO%V}ejCW#Sfo8a-3Q_YNg@3I5ubsUX(HH(QVxvB1z|kGaN#>K}K#%qT
z#Q~kH?gMU{&L&CRzC_-xobr|=JAm^fhL;aJ<V|FK-WeBe5%{!rFYciTEaCj_^z7gR
zoty`o6O()h(?~j1{{FwK&<@1B-CpsmY~TL8<cUDknU`%o{dHmI-?(<q9n@OnDZ0Lj
zYgAdiK5w&W$xGR+v^MNihY)V@$sMGyJfV3k9@moez-{1Ag5Npyf}Ro0H?lRj?VBB!
zE7_$^`_`X<i#SkR9!TB*B79Mri<N!4=1x>T$j0`(bI6KIVsvX!&eqC=N9lV+n>z-P
zV92jOdp(g|L`fn&7S4y`M@JlgNlaHRY2)86w{-wS01m8@dKf)t%R<shry~F|ZG3NB
z$D(3YCjnwXMRQ8MHVA5dEP1peTPmQ)vjLRb_ov<d2#4}HxS9_D6C^Dp&wZuyi_h1z
zMPyPvkR8<LIAvyaO?4V$u725K(9=E{<t1TuW-Ymb9)z5&4doYn{G=eot0V@Bb}l!D
z=<q}h&CUHKOiugl!W<rcqH^x`X;4eBW;wS%kBJx*BZT|r5<#E0pI;PvsjC$jJE}o1
z$TBJZfjs&%tCaQ3lz-p1;$X0~q}ok^SWs6Z##cX4+0+gi#2O8O5od`oq@h}%@v`8h
z_$j{~8;@MhdWr%@1%WNfHOZ?5{-{|ioy|Mc_|^bt+r-ZmjPqL{#2e$D^6^&}kKrTW
z8}~Bvq&&XxSe!h_ZwrW;Y``Nrz=P@(#eP~lAgJK9(<tEB%Mzv+&j+f0Y$fYU?LSZb
zT95TM*eiengob0R&h-hsP;{|WymgD|o?cR6^4j)PN^BSTKhQiW+LLkWv)pOC@Ecr|
z6k@d6shr33Sj!7g#aUuOOKsK%#T;M<1aMX5*!4<^rk&ThGS_5lG+d+#w7g@)`g?od
z{G&|jN4u9k_ulI#88LaT0L%SX{Q`2_Ymk+t*j&8BeQti*o9>7#bvMD941v6`Rsl1t
zCd;oB;!9-`GZ>N*6BD(AVoZ?#QQZz7Z#|;NuDGuJsghwnK)paQfwtp$7_<&Ip_iOL
z1?YocX;nuAl_oY6f2pJiKL&V*RGxx8pIeANPfGA>5Udt#A6?q`5ILsMVApT2XX;>T
zuWW-|^EY`{vimXOxnJ=PC(y&hlM?-Y<6U=cF(w_?mVJD@$WX$(72qy7<zB?~^jb}c
z{PC40{LN(lMJ&DvWC6xqy$sj_+amJi-7L=jLTAN0$bsO4%*q660#FP}#Y3oQ6gSyV
z0!6ffs#e>T5-E6EfG?DuO}BJc1eg2MGT`zj3HS_RDL0RY1vPVLFb;<O6~P=j+aJPK
z#FOQr4h&a!Bn0ok<`D6|R46*DoKoR$8c!)H7h{%FvnqI4vFs9m0RcX?B{=?ox<j<{
z3$;g+<oNJ%QbZA61Vlb23<pma&`@zYa)_FO2r98`y1!Xq(oYWDUy#4~_5;6jBNS3*
z_G}5Rlj&~Y3G*zD+AP>F?v{kvW^|%o<u1iq{pSd5z8fGX>;8u3<Qez5z!V-xIanX_
zZ-bLl$U%AIBX`C2QeW<EMj1*gU3~O0#$>vXc=3AH?P7qs@X^m>ljT>GTn~nVb;=q*
zaPW=G+Pqd@;G1>Tvw^UT>(KgCtkC(YvdRQJd-lrlw~UnaXdYfi$e^aNLp=&!UoHUW
zv3m)Fk7g<&N5~GSbo!{eDAHI?MTClgBa^zEky(S_thV8%lDnq?7lm7c;8*8u1cDPJ
z0D*c8K1bS*^HB;z9>?#^gPcu*OEE@6%N;<^;P^E5w_o!w;UzY$-kztZdHj$NDC7G1
zCz|#^s`-x0Y7i+%M>lVYgvqPhq*n`QmSNCx;^uL9RRG5HDjx0GUSBRd5NvZ4l$Zht
z5do3ZG+3iS{WI-~q1n#IL)1JT2?gnhI*ZNWtQt*d8*>O#60h7*5%E}1eu9uwP(39G
z-p`wqg0tb7yLu0LxTKKk3Q~WC0YiDRv97p-dQ3hfmD<<Wu}-`SARg2xqf_|74IKeC
z+B$josU-=es@PG{lOH&>wY8Z+Q$?sQ_-%d<9Ln=TqmcU8NhrZho}R-771SWBxvbjQ
znihjc+7LXp2f|4Xdf6Eeej%u@wk7a1n$2ukKV^qU_;E^e;yaUQ&InO^V=(;SYDdU9
zI~bcfzjO>>2h>e>g~mj)MG&$er%@Ws+1XLendVICuv34nVGKjUyF@e)2ojS3M;aqk
z(vHJO4uf_Yv>^>Rm;}T(Ajl|tIYK{qkd}@>!rO5$(s7)ClLfpT3GO#hLBf$>L70U)
zHO-hnO|yWJjLBBkqKDLIz3nPpw8rBqrZk$p1-?TKSq`)_fr&aJP^L6zdvd!h$T`J=
zHu}cFnQlqXLdB>Vi;$3HSvjQBK@DuWsIkNPoIOs%5pL|9ZDUNaef$e(H*eVL$hz9~
z2f`JrmIC<yJF^Vy7EDAQ88K#ce)|5?NFJqAT(G}!zi0c|dhNM)GOd@6elha52g*pZ
zHhD9R)P7`;v$G_%ed)eSx8K<#%JGQszT#t96ob8M=iZEPpN8vdEo^%Zf4-i!11?(h
zb61NU#~xeb%@96kK#}{pNMQoYg1LD{$c;3XG~91<8Fk~PAZdCJeEelirQmFl*H((g
zNIT_OOESM;)I(uVbJXY7^FNhrFJB2vBDCol@<guxWYxO4I&I%`kJ@;2{%T-q`202a
z^7F1^;Z;Om`AngnL;->75`i0@lAcPN!hbkN-#i{Z!eaB6PH+Fz+|<_*>TmRDI$7IA
z+FV&q?xCdpfsrqb8HO5LvIHrhV#BMY4rJca<Q#cA@nF)!N$O_%fGEQFW!}g^TUo-1
zuIB@FUs!pDH>GcnezD6-Hdo`$4!Q?Y2NIr;jK4cdhX=ucbz9T#FFM%!Ne$5?LnW0~
z7C<?7T>qPRl-{xN5K=?x5P`xVbhnTfwb)4-y2;TM>nkjNQnvf@ity96@OQSrP$B+v
z&6o@z_cN-G^C;mtmLjy@;B0tdI-;X1#K9g?mN-a)|LNRy;P<Q<wY<NXI7+2iK-7?f
zufg<sYF#;*Kph;m029E#t%BlIA$32ZfL6V530nx<slsc5f|ntaiD~LNl{47taFH$k
zoF8qfsc5hHGs3esMKqcM%G^uq&4`73!U#|`Bg+45T)`5yoQyjb4*4O0f}9MW<^+`Z
zg)#Eu%PY=?{;mi6eEbA^lSmuE36^VEq+T-(oIAiznxF;j0TLUp%IZ7{9s_FmSm01A
zSa3|Z83fiL#rZjs2?)=aj*n0#4Ls(q35J&f2wq|_(U~6<7ObHucYt;O)+q_VhG~KP
zKQBcW^|&t#pS~f^Onu@1oAQY0EhJ?bmpq*K9x{CSAgXcYsX0&+LgqH$Qk=JJi&!yb
z*TC|Bi|$(8^oR~E$zztZXodeQzHkLMe$|y1jGH<3JpV|yq9O$ir3gmlIMNGn2o{E_
z;2B~`c788#C1ByTv$0m3BK`-7f0=fSggu`)pzTXC?y`p&sU=*gojx;oPs#E${y54V
zEjDEGsI)<%Jx8}A)I3D+RFl^~B3*jty?~m^UpV|5{@5UR53Ai#Tq~1Q_ILG8nbFgK
z7xRp4UXi-<dI#{N0PkqO?ks-qQ$`Q0(f*sd=30JBBCiAwXVm^xwbOd^pb%-U)xByZ
ztK2EjA8elE-PZQ958{z9Zpj(tdl*}*{00=A@+w46a4y=n@?B(rMeSv}@rN+FUK1JN
zE@Bzzl#QfF$lUNKxiD=CnnH2_#bxKdJirLfOVipN%4_w4+Cv%;qpHe1B#UZIj%MN!
zT4r1Nc*&eIx*n|*o-|^Hl!ZU`A&+KX(fTy4AO~0)GX5dEOwHQ7psEdJC9$5gQEBO~
zb^*|67ipBG@KK8&ESZ59B?)B|V-!{?oz9^G1;9WaS%DfX#jb`5A_)?b;7QR0OLZtX
z8vM?|j#iGPQBb388Bf+#Esyy^j&?4?wbvX%JyBhS%cW*=MmcRWC9A_Z92v4az_1C>
zM#RUv`p38;%_vv_9ttPc&VyrVNv{UGGwmvXS@H}PFV?__CSh%$_or%bm2X(>^5(B+
z|Nf4e8yPDs-S3lfMaW{nqha==Aia)6z&D$%ZNOh1lyLEgpr;p#48cr^O?6P2ZTb+U
zFxd&F5Z_T-WYqmPe>>B&k}OEx3p;ICXXfLa18+;*aB-u`xcENl%(W?&$H#PU#c*rf
zAg;}J;f2+PglqJGR}!jqj4NYx^`xFjCOVA!O_TL)*&-HXZz^Fp@=JErdfHRgV}Sox
z#(wDL-WvzMF$<GRYpyx0YBT|!?d>NDA@Cq80N)~r$C%U{{(AkJ;OnnrW&q*$H36@w
zRYcHn{*We0JIQ}3yZuje;>9kZzV#%TxoCV&>K1jKD{*+MG0!0S&o2q1Ya^Q<7hke|
z_c3_{rH5nlXVTT^SF)iNBG`&Ur9<m#%|tD*gN>U;In}tz?5NsD@0#Wtm-}EJhF#!s
zw`vNG**7H&=J^SV+LnF|+ElON<)?LwJECzCggbYWjpr8)x3Vhsr-OvqGm!SNMCS7J
zOM?+xTa}l_C+7ZAgi#T{55&3d!vBVJ5eMi09ghG1JOPgS*@ba4ih>;jqe&P3`GpJj
zN&5}5<v){eY|z|IhS+cYx*}=}KTp}5v-qmvwHY1yGt`7;NlU{MDo{ztcLyCu4pw)L
zgB9Pf-P4HJbex}T#ki!n>Fh5|Y2VPWw7J0Z!TcF01B$h)x&~7BD<JhImzkK{Z~2`c
z-?$1_>L92!g8GC*B`6)im^6w&5+mdd_piGITW9SKL9RMD!*gbE&qjJVrn41A_-1H!
zi|n}NE+9BteY;sCwTUUW@+6_>4!J|C{U0N`74#$g)hunV(bvr8)s@bh;P)~D!|loK
z`Bw+#=$Cb`_k3-wamqW{LQ{IJGBf#mgX7ZqYZ&vrC@}azTVGC?hWMA*(B>Ak{B(0-
zc*?m8cTFDz_~GYlPrMVcmS1||=&CAK9PNF_?;Y=pL)uBL0SPY$E!h)~Ncs&{hl;{n
z3II`O50JhW%nUYUvC|hn)>XZ`;ai;66nHjm<9UJSx1NEMvvY1{A!d969ys(+nS-*K
zLvX%&l~r%_mc|!Byb$nEn5W`)S10OqtE383U+-;iCW5x9_Qj+=C>JjweDf4#M6m}z
z{wfZw$ci>&WqgmbjJ?f3!>P1)uQ@pi=QVGT0i#27Ne|)NZw5%=&TkpQI?76@hjAaw
zl!YH3%cz(EtvnR6Vgn7o@rOMcagbS&>2_~QGvnj(Oq9DTAk9Kz8G<|mgtjq~_t5?M
z@kK$x2O3A?lof)Pq9N6o9+ZScB3Odn<K?dpYshCH6<K)U6O-2)y2dNM6ULt$pH4me
znR_yU@k2sN=A*MNcE=X{Yn<}cLgb0COV+l+PnxgzcF<)kypIwvYSdv<(jlb?Yc#C}
z4uFKcVX(qAAF|A^i}o<%{fXNM`nA_*S#(B;yu_9bGY>10AtoFa9zATq@@o89l(-Y$
z_O%^w>3fR$O&8w%RIMbmcZE!njpHnzSu)m%?T7966XJhhc{Fjo{dde)Lsalf|3^A;
zND+McR_c6#6lpJY$0x2-I3RKNo!#bq6s{}C@Tn%S!2|KR@DP>#!0MLa5ixS!S;WxJ
zTmId!GqyH{e1rTbz?&p&Htbw1$j%yE$$%iXyZoK85L~>e;rDNgcn_&0c9zJWIh3l6
znXZf$%Vc_Z|DTO)rErHZ4=CpFF>%Mz2sAlmZ2%1axWr~lMH>^uHr3!Vzd}3<AMKC3
z_mn*MgYV4){)+#h#2#fQuKuz6W4g=yVc@j#zK9#IG1)HEj6Xil(U863cxS!X#p?cO
z`5lVUY`**7&W>;kr`QC`|11J|mAtXIBYYO)51K)N1mkkoN-DIR>v8wy+1`hJc7y2j
z63tWel0u0v_XMrMHq-;Cm6@Cx&;%LdKa6uGR8G)u)hK1<(hodmJj0*p=flm5mxpF3
z)s)6Cho2z0Ctv!sHwq?^Q)Go2?Femy_QotVoEap6%JR~&^ei(AAV9GG=vxAEmJJTH
z!LHUWU=`IphaJXe<(FO3l_f@+uxtktC{D*M8r;<mnF8reL&r<vX@-MAi$UiRYIX!C
zwu6H>-Gmn<;G4z~a6noz2U!DTJx4S)WIoz5on#5~8$k#R!|6cHTV!-LiBgln<0`;c
z2u1>}vBS|8rfQ1EslzXkEC+H{Q?ea&$9w>~=9;N6u*YL!9*)8~NC2An0K3M0)7zgL
zfhgUqT|Gi%&u<>=Ne65W-V(()B~G`xiIWx?r(fEkvTh)-P`WUuYQ^<jZ-XfBowZ=@
z;yA__7l$8oH1W4e@c-`7Mw#TdaGF;pc!J56X?2z&@V*D}6b3P#DeqoE&xoV=Ij~u1
z1k^_n!9JjVj5&ox->UG#vjD6#Ge{*463Yb(#Cv*Vmj<?H;N|d04jPE}vnTq4+5PiW
z2cI0m!}8%A432Y)q5KWO9n!sii^FmDW;2I85m0!%1?~P~++vu2>bQdD%u*qevMG-~
zY;GK=`eGLllz{zvAAPg$*Zzyp>pwGlpKE`fD~oUCFPE|U8{2KVSe)(no_{sV7K#Xp
zF*26;C0SK*J?h`xE<G?4nGxA|W5)u-3xbnGR3wBw{S4pFtR5Cty|D~x=s!DwO7nXf
z<(>~v<@^3h!Rze@*^aOOJl>anegEZFR*A<+VEqaA>swHc#!Yizhwb}Z^Ja|UUA$Up
znY!FDt7_fpY-CDPyJUdDq~HU`>i=qA2j!$7>h))uLPC=6e_Y0X!F|xLRdFtP|As$G
zcX#kIPzWa2EnB5oD%8fAyQF?AWavVCaK=sho`TSW0CdL9EYPKzouwz=nogTX*u~$3
zDKalW@-W8mV?`yxQ&bQtts$JV<5__f9TXLMarRtj-{=v1(o5*m$7)D=7RN5Dj%DBh
zI^}2=NJ(w7EM1hmD7yjp^i3#-Mbw!^<8ucg<`{?qQvX_VJwS2TSwaH-V%B7DSW+PU
z)!{ee8yiCX>P;n!i8%1#E|s4jWG^H>`0%IoEj>#2PhWzytND~>g<`CQ?dei&6`D_p
z0z6{TW@oQ>(X|V;SMGj|`MZ=?dQ`92?ym>Eh$K;i+Q0)1;Jn%%`ujO>&=gMo0Ht`x
zVaxDKU_zLj)7C5H48}i?!8`<&U^mQzoi*00a2j5Z`_@7Gx~~4Oo_mc7@kq5=Y4Ais
zmGEQYwIXLb_STJ^RWwB4gBC~!Fxb=-LGC0t!{EH42m&EfQxnzdtQyLUbq)*Cm8{P%
z^^SK)6j$Tbv_$1_D{^DlzTUA=E-^McAVUI|VW%kIkicPymq2RLN+9$EsJ{R<!Sa-7
z2}_{V56a`s@WXL(S=FxTTuyAcX9+<f+s_@s%T&cF!gEXMd>m;c=Z76=qO%@m9NWOH
z#!ZZJ{0^Kb4lUis!rfbkF`ZeFVeRRr0aTxRX1_;sockf|P6Whm2lbdnx=8gJE@u$H
zgE2-FU4=!HYi&Vw!cF~JhiLvpwQ|8nLIz=oy)nI?+yeslI)(ef#vjKI)!0dxMt;(I
zveB`W#D+*5LIY2Bk%IANV!5YJ<uW1d>}S+pCIkqD4WY(#{l0$d;q$!nLEZ{5&#@__
z+w&@qU!~v=r(e(f+eRONCg9_^43sxB9?m*2GTj+|(SM_Xn=Iy5yl96+YP~6Fg<?G6
z#Mh=O|2&~K8e>0pGhrmDe1lu`sYmA>G{;%Y800vYdvtL#`%Z%5Xdt$2w_fh3;*E^7
zbp4a>FE>d|kS%!?AX0B_UG6rN?4_=>y?gu`wPsN#`D4rDd0BFE&{z`LNWnlz)f+)5
z{#2~`<_@G+%lL~i$?sP3nRM~d_Q@vt@RO?t?OZl*P*Dfk`?!A3Kd>$C*$6^0Gx4#q
zxs3b!CvV-zy(Wk=&SS~A0uA&0(`m?eWAANR8STv<rjje^!qq|OGZpqz?jh&?ZQ0d^
zkV%cbUW~!;#2t|quk#>TiQl<r3Jbh5^t#Rt2qt%hJI*%;)DQK27Lp8XbN!I_(7FJB
z$@nqQ<#3~Zm>Dd4+AZpR%5U8kUbrr$AJmi*z&Lv`Hn%J>-(fcT@OuF<o~m*7iW~=U
zRau(L^SjpY>?Id~-P?jM6VlQS7RMa344#0VJEC?&p-_Csjq*C&3_CEIM-gG|%6Hd{
zd6d_U-};8o^*uRC3=9mnp8k&)cB1nwbDBmejPIKI?IO`~I`El?!Z+8OWK|^lQkRfx
ztpLA~N~Lh5q5V1G^d*JnUI!+g81)uszDNrU8$WYAvX5uEC4;8<>YT!(*lvA+FFLW9
z-j-quqT!aPjAiDbt-Pb$i^hM<@7Z1axpe+Mu=ECEz3pvmHD{8vwDqhcB3df7H|7D<
zYelo@DLmiJZ;Gs8VrvPEzL1<etOG+`4NXB%JJMzW#FCX@)5VcEy8BF01`@--IWiEW
zl!xm6Ov;d;HsTCLV<sp~@3Nr%gF>Ojh<;I^{zaZ_zwYsjJPoVGV|@__-rkcJWaVSE
zi2YDLZDNAGxKK8){h8U8??LF<7Q6YU;TI2(3~n=NT~HH~hU~dRm3+#Rg|nH^59HDb
zp`S83VwBB$7NwK^{>sfZm<7x@g)EoSbK`sI*P(fzqh46Q%Ifm7$i@4V@buNE_@wr)
zq0%k;{#or3#)Ix?pb0Er07WL8X>m#7`C$noHh7AOKLT4QR**(I<#Rz=pfD<$N2<yG
zw%}G?EGIS2rG}-(N}>fz1UcvVBxs4_)y4V?|7cXY7>}2oOxcLOl1lW)NTxNuXHf=x
z_(YRMaB?Xd(>Wi+hZD$NS&}O*?jIcCM{JxqpYL3#_nv-Af=$iBFh5$7d^Kw%+XVos
zUWiDi>^m9Es+}J{R4+{#@E_F<F8=hNXBsrQ>oZxp|BDuR%c_Ib2kALg=1Wy*1k8KO
zFYD6GTNr?l#`$A|bu{t3qEqOxsrv0aVVtl%S5P=-`V_LW&h0EhpI0eUmQkOMO=epr
zfdZhQ+7(#hj|44Vu@dL9TsVX2_l!PYwKio<?P7xLVkzt_1_r{G$0OuKm^eBTMJk8K
zywb?QbjYU*(wSU)Js9{vUa`xWWsob?6TX~~bVL^-8Q`*nA3cpVF{ymb2CHJLD$fJ@
z<3Kw?_4ZbB;(A_SstjnBhyT}Kz*YV=sCnZ0!5xY!F%dvLpRuZRrpxYix@)o)o(hK<
z+iZjfu^1l(uYDH(_{ntA2a;jMPCy)i9BdY7az}or0NbpAmR+!DvPworS|i0y5p0ll
zfErB~L2(IbB_fI<2zy$EvZX1t3ttCE*%49I1bPzuh=42*A;7e-$KvRW;RH5F1K&m~
zBOn=;;BtB$ma2{fg4=rC(rs+JkLTy-U*u>0l4dzs0B3oi1HhJRUhBJ>3XR{sed)cH
zf9&?BghJzE|FQ(0bMRNXG}4JqPRBHm4=v2O5l5wdBxdBCvKXCFl3+^X)@6L%uR(8;
zPWb=5^5f}Qw<J;bELv@ekU2cqvOw_utE9wnDFLIn73>>vkxjH^n@n9?X}Bc6T^8x2
z&lW?*XwG^g`UP$)O!zEYkWDZ%CInC92RA8O3UqZL*MIWmk%Dd(OD!zSL`Gz>5FY75
zE7%}z@>BNUk2vw_*xpWp-~*9>guvM`2;T!}M?>Cu5D(LMLDX*fUEsve3rnEeym6iR
z*{Yn$ajfpha8S;C6(4GSB`7?gazMR#iKo!lc^Z4w?Ny$Qaks&@TEq-e3KadS)!)qX
zH01^YiKr(To15q!sOPX2FN3ef*bfD7<5m?)oG{CJ!0en@a}_qSdiBh_%So<eD~<;*
z0|{GxC01QlI#|aZ@K>UwvDFwRo7d8o1&1^eghd4hE~6|+(Xgy~$V>lYx@g4pp3pk!
zqsryqzsCr+g&?)mlW!&S_tzWf+uBMP%#XR<i@cWiH!|{5$J^`DLv1z%yd{eF1r6ce
zO_2^LQ!9@~#?fuPxYXoWKyD20D$z+z^vD%!x(bB(iN7-D2wf`1tN;PbKKObqc^Nyb
zkI^!^jg}2l>CZZ3M-$cP*D~4W341MvIrBdZo%tgZjvL2kn;l|iMssg7%#r54wK2@u
zoT1AdqUJtIZ8K~Va}`3{9H9%TB$fM0g)TaTgpv@U>-+ikA3VQ4&+~e}Uru%N2^UX2
zRdh@(Y85ViG=iSD(|7b{H7ois$s8aUizLbK>&F8d&fq@k>?V=|vunLjNS|RGRP1=y
zo{B3co7LQ*{#C_aelM2)FkYuhW6{<_&|4c5x*fKCoBru8LfF+i?k=I?AhvQZfd1H!
zLeRs~hTMt9=MAKAAQH$>GWS|*fm*wvD)!gk6_l5V<OHXaSepMZ<4A3tnhg$$|F^zZ
zWP959I1ty9@!2%!z>_heb$yUm*IC6CCrLpRo*twCShL=L>5m|BreF&6;n2SVd+8S7
zRb-i}^{i^wfB!26Pinry>uH1@teB8HJdi62IXi_~Ta4}czBpHJtirL-9+EI)1WNX+
z#<_Qca5F(iBuP6!aL~LI&H?-LmZ8;V_B{A!YeBh~w3|e{6hcslMU~W@2UE(WDXB*m
zYc5rGd!4_x%O%o|{aG8sgSK_ke*CQ=r>|3VG_Vh0;$XRuXn6!Ad*nRR)J7!wB}(6&
zBs2EE{~AU+b^s7JWX|r@^Q7yr-?iq>M0;&*iLRj{z$lI+G|ZH7^F-xcC4&G|AmiE7
zzn2wKo)b-Tx{fldG21TUxfZ-PX%l;0C2Y(sAH&MRha5+W8a%MGybz09%~>)EAy-7Z
zY5^}lqmS55fylC`R(hr(wT|%OD!HT)*_NdveQ$JYOXI0<=VQp>BFvTv1TRVcEB5+i
zn0%1^F5z_J<97abiA*0B?7Fa#o5{%q3p6M6z$FrAI#`CmXcEr9w08ZP^dTrS!Bf>u
zyNw$RC~CzONdaQScL4{mkeDm$vRChZGWMNU2BQUX8~r{kq_6o57-4*Jw~z%_`MnF^
zJ2tmYo-qG9hNO2n4V{v9{59n+<>ILMldjTJazZBfO5rC>4`?uDv!fs7hiaLAFisi`
z$Bq_*^n7ezIhIz$e~$=#tYInn?^ki?P*yKY5yiP*_H*2v6BH8~@_fWBAmM9-_R>U@
zS;A%i)bGV(YJCa951hp*S{W?l?^&5dM~dn}^M@;U3c^;)l?mddAGR#QE!@(UB%+FP
z&YE3j-Sl#${5d(aeeU<bU<Y_E<@mXrZ&FoW`X%Pb@fiexGTW|`HyEW5jJnuOqxeWj
zv>4P*KIs^GK7`H~gx~hEHusb^k7fkG{}bRh`lT(0p37SFN`j|8Av{Qw4rs~j+`ZtP
zD)Y*=3-`Z$%P|wp^q<y@4|+^<6tt@M`fVmS$d`aW!24RniH87+)Ah5k8GSGhHl%=O
z<MpV8a`w%gS)2CA^bX|{py7F`Y35m#*R9$Yj{oKpRnLc?(2281FpkEKy@?ZyO(-Gl
zw#@WEF(s1cwkg@OSJ@*hM)tgsRg^2+n4k2-<h31Y>4KPf3<N#-I8||=E&GAL4`i|6
z@Ev*aD-A}s7+N2v9~Z^R3x|*^u!C85hC`jkQ~_fp@=kef*9K^7uw?rhD+|B0FC~Y+
z%{1o(@Gb)NhP+~xGoMD4Dw0nLuv-)}wm4Pg@DqTxGL*>}-kwdjAs-5}M=&$^if2@N
z9$R02tY)Cym7)Q);ZTd58wjkl!-6b3<+$~?T_1z*KKY;!$A545=2`cE<3N<bAI>9>
zL#>^J(?6D9ybfsk{xTxmNN%;HqwiG#VP%uFHt?P4eDB)nm>!lQY{uF~Q_;u|3W=9Z
z=t+(ImCI|WI9Dk8l;!;)p2q*ZbLtP_J-K#`_7RQNl78rP3g#**P#?BbIkbrw+4J+D
z!2!*pzJE1d=jgG}(>c>$C`7}mD{Je9<iO~gC*w|!c86;1kEL4misgO1_RV~NYV~6e
z23k8wehuZdh6SZGD;L|PR_IJO-7tch8>|PUjXm>I1tPROFDV@_MxzEU4W8N=_Cs*l
zY}-GvZFH|bpEEM&PA7a>Zhn)0WA1#*bizfI$6<(|wz;qm%~!F|xXD68C#v*VEWa>a
zYq~nC2qVIqmlvR)zA;+-M)m14YO@F)9%J3;_Es{#-@J#h4qkun(;QVg)qb+^(EZvf
z#D)~#Qg!klF6O|1QZK)RkUYir*ZWMPAoEfm=iDq!xYD2kZS{9SlD+nQr%Pk}UsE1P
z_&qSiN|oOExeTPG?3~ZMqlz>~H3QOVd{;(qypPIkn7$doT~FflduK}6;f@M@6`Xfe
z;qKG&*=xbyY+=VGR&L+!tLU4nH~qeYxTDA~LfP{%Wy(keaLjxfq?0}()i?qM4t<F|
zgz$;f-UR*u>*!Q~rlxg<Tv}C!@H*$5x%$YuSCIz4;zZC%?0>D;^Qc3dV^98gx!n6x
zkbp6`1@@%m<=B$TPtU|RIkOup<YsjqNoajU;{B87D5@eNQF(7bF!1ne0NYYHdBmOQ
zM9|Br6{t0h9{g$%8F%2O&krm`L+Y$9L<@Xu1DC02tdiGWl&+)vRymiAy*YHmPWyF_
zaef+B&HG3Rb^l9ywO3`iX7j^ME?u>TiEdE_+q8xAKmippAFX+SnwK_?O{?B}eP2&b
z-nfmhkEsX{+JGzhYlH*K1Vu{`!F4lu%)qWkBAKj{CA<A>;Yp!j$r`i?ZHt`6(3zRu
z*YL`v3=PJvA15O9s1C7l=i6=!XvWVzJ)nf@K$VHW*uO>T$q3o53!<a3J8Kg?i8+$(
zZG{>6*h;tqb_YDq-x@lLa+GGN_9-bjUn$@uY783fE;h0TJ#8PDNSm=;J+z*)$FssE
z<f%M;w_*CDhodJboJJ}4=&4!pGi>lG!B%d+!TL28tVQxF*l8}YmN?BssCho3ZheZw
zr*B{{D;{gtN|6F>7?vB^J|t27l_5^4>016tzjNooWNjU6y$jrfByW2Dv2!o+(l?UD
zLO-qX&K}l4PlajEn1zLbmN_U#%N<fm5t;-&hqZAmt=G~Po6MNTlxGd^-OG=3R+_Jd
zTw3$u%J7Twk&#kA8}=Pl$iA7|liqA7)iPvpX<H(}-oDoUHTtugw{eLE;Ad<$R{Jni
z3EA$g`oAxj{A!VYzj0I?8WeWMrk9x8*09RH?4_CDa*!<~cCw(=(ODkx=q7?o9Qj@0
z#Bl_582Vyrod0*@o7FF8J9Rrq;VLJQ%jt{THC$dbzol)xo-cMo?e3)uW3#H*FX0~7
zzN$u_R*^i%`zABS<vKqww=4PFRpsa9K%$EcZo%R{+kM4V`!4UhS~b4Ci+Wu0BT<bR
zj)#?Svp*-5{$g|V0JmU!z5t7|nSB7u51_ldgF=TH#it!W%zDuPkxY6Jb)97_ZnjUB
z1B(IK=FPF4uw9W3a3=FRGV@rd@fPd?8)v^=+b5#ypalo!-EPn}F*V1LK9QiWA(>6U
zrqufE3oIaY25nb@bCeT{o>2&SJaUKL&}?+fQx+)Dx;t5Y;>_!srELdEJ(tl3Vb(v+
znLfm;wLNm)Fg-%XZPxy-zx~+e_r1OogXf03Z1p+zuc7ySu-Px3xQ#w*Ao%Ck+wR#L
z@dpUtGX;|1oCmzU-p@N6tj`>brYFW9h%_|B)qM}@ZS0nUf2?ByVFk)rYOPL(Cp%}`
zRDz34?SD|!)-Mebw0Sq1s*kP;&i?0Y<NO8opvEz;dnNPDnZqV$As!r`bW_*5#)69W
zp-1g3tFJQLFEwPSD|&{jVPG%ev#j*JK5N51l9UdV@}T^^O8AMeQnvV8ylN~S)#Jty
z_b;4H#f)V?xT(kIu%&@*9m6?7+NP92-*~-Z>c&M8i<CrSaw4ORG2?o`{5ZMVyinQ`
zc~i~aT52`h7#X^nntXghCrv45u#OOX6$J6^lpjnm$7ERCwU@bd&LDW=^N*;ZBI7}j
zCmNHqY(L<Z-=t)wxZH$hkl&yp2PRAl2X1)Io#eX9(s<+Iz~o2;1m=LS?};%>fXTIv
zmT1-M6&@dG`5xT%9z;eR?$jA{bT89Y2O1A(YWc(82|7&j0$;VfkV7347i2n<DhNup
z88a!z_FsMa4HfvjjqDYl<~oU&tdp5AJ($NCcs0L=xr-}QnA)A=^+L+HY(n{8p2Xij
zON<+{A7PXh1%e~irX0VMJ#Rf+aR~*2f!6bfvJQ8H5<K|zuMZ}i?1*1Z4JtJ6JI;+%
zsO7Sb8*<){cg8P>Fq+kw=m54SP>(t^b4wF7It~g{mN_ppYjW>vnGYOixhMGi(Mt&5
z7**kG)-J4qV%Jr&sAc*Ac5hWhPud}-C;C)cPO8QqgA_8aw!TKXlk0+}5Hx>7Z1`|*
z;o#%F*DH-=SMSdz&M9egFR-VSe>*=xW_QD_KTG8u(6HNKEs!?Tb6~Pvc~>m-LB@Hb
z5azeumoZ!9Zi$w$Fq@$lLCAbJ&-bNfv&~q1gzh&$T?WtT?YZ^kT;Svw75)9NajsX1
zv3iH1zC4mB&($0tu(5qcsEaf>pEtP~z4TJsMXP3y65k=pDPNqJywyLM9(4MOQK<Bd
zqEX1belxorp;053W`clK)EFvtoje~MZEbMtVntfQW7)CB*3=z!Na6oHbnW&LL9)>*
zjl)ykwE1^bFw`zo*R(4gV(vH@%t%kg@R!Jb>hs9M*@0448SlrvA01>lcSh{_Trdk9
zPY6V4qI8a%^%)GUCI3SQcJU!KkMj3~#g?UV4?9ni(YRRdub`Q%WehRDx8j%|60A>t
z?S)zuy^1^#LVM>EBsCN$38)i#xo@qSnyXknF1fTkq0@m%XmC$O43S5A&a1cKS^zt|
z*LTga>G~Q-ayUVVu#V}*klxR=ak!P$nn*no*y*X9i{!Zw$-~I$)_O9@*4)=a0+O+7
ztVFwlh~VQyf#DE7Et2c!*{35X)(LKVne5f~_?21^6gwy)+O9tM-}J`5*4e{7D!x#R
zj84p<BR_CG<@@tuWC1D;3M9}=VmWOb<Xm!a@}e{VvzxImez(Q0J6-hx9+1#vH*7)H
zwzmr<M`^-EUgeXOK~lP9u6ANfH&1O>mW)AZKm&D1?cMIb;aBr~M7Kmuf~`id9q1R9
zc&1Yfsmq~_X)6I@)NtY%OzDEINzP8MGpcJimUL=ZjC8T9vGrK&g9l>Jw_P$n{@8p-
z4EXX`>tO_;g$6flhx{SCCuIoFsAEE(CTf*+hq#plzMs{LrXxreZC#a8Et<kaY*Mau
z{?7~iI<WORgdz#?yXL8JMPF=LRIt<qv!G5(2F0A@#Yxa`nc~E_eTc33)E!9HyqwS+
znY9PDMu<bOS2|*hquj-4(PjDe!!i@B9+Mu65JYLDhX(mI0ffCqSbCpX+`vB~^Ov3m
zn!oB`lfzFl=1qR(@cUuw?jWv}%2$QuJNlAka}6GMLNt-n=!)xlPGb;uBXuGY((Y^y
zs92u3+)NIM6v@;xmyUc_St~6gLrS?wAWKFY$m9ybcokGs34r;7W4wzjnTj$Wf++#q
z&~>#8^scLpJ&;+6Pe<}?R-KNl^)Sk`3h+(2kvHUjUCP##XiAouZzI|?Qt?DoE(vDW
zE78_*_`Fam4>MpQ8o=O2BZmF)W*%WW1Uwq=DSdcQ3+*XyH~JEpcu(2XEqsrY6u04C
znK~7c_vDVKHjfm<EpN!xgo~TM5Yg4AHn|1J*<TYjYa!7Q`$v4o#iE=Qy@3bCkyat}
zNM&TCpqE}29aJQg<MXgvE(0MIF1T}L!ued`Ou?DGWBR3A%Jz9C=t6=6z*`bYa&rf`
zQ1M={z8uxsXTdwwDw$CRF$yJ5pXhgG`v<k%Jk6|EHc#{=VXc7Fk%#|{`kFLasOmW_
zW7E1hA59-bWM9tieZ8ySkpLU))YVXB_pZyF`TTD~vT>@!4GGG|?!2IRaq{-a7)pwh
zh7?1n`!FtG61h%W2n=_}M}fz<$Xbw#aS5jfhh%;>ZUNSkGtc2Ei&Y0sO3_;gk`3u(
zproMEw+mE+j6&jAUWY(WbLuj_Ra4(t#O4U`5*M%w5#q*mXilA!?NWH}3qB1?)@@%<
z8~QkmRbzulLEXiYL$nz+LAQ}Tz|gLUB}Rp|DgT)HGluq<nQJFZfp@ch4a?(PxU?V>
zTC{&LgZ$N+&)t}gR!}H8W&uk|Zm2#!`Zp&|#rEgCCCqlmJLTi3J?HXrd&!^P{N5D3
z+DgT&H5J?&CvD&gX}JxXxs}^yg)gtiDgZpsc7@kIfqU6@`W*hKt$Y1k!qK}LbGNeu
z2^Qyxs%)?)aSV3A2R4sY$u3CqfEx6huI+AVj<QNjyGXf@T{5}coJ%ZonB0Wc6D@H|
zUtlD&FYivVr9Vj8zul=qSK7ommk_+r$E5UcmtA@NmGr&oYa(K7+1ILtClXvJb4s})
zyRcoHm$@l3cX7rJCdhgrU8ZGZk^^E#A=G!54HzIO9|2mU7q7lUkrQWlvt+kJnH~eX
z+NWE~itjQandY9B-659GIIho3L3ZWbbK#2Ac8Ke%p{iu0WvXV_4|W7=J<LspJMJ<8
z?sllEy>LKxqnfQgDuAbge~>L3J}v2NhM|XG4Iy+a0ecoTB1V#>Ha)bBckR)Nu`5%B
z^(;zDiuGs{eF6c|VGs^ItBJ{;SDaU@*M6~aXu_~HORt~UPtF=?Qwo_fyyRZXC&}a$
zikxZTNzMuS+Jbh-(>+<H?Q!54N?cblG0MsCF{HP`zVx<+yx~=V(H-xgr<3s6K6Co_
z;X6T*ZzG-R7OB=HwW<<XU@?67qWH{S9yEyO%@UGYl)85p@$re+7j@*X*+Vq)5a*?C
zD=CI7*+q_%14zarG(Am#xTZq4v`o}_K)TGFb2I7Q3-iA{Bk{6zwUGuA6XQ)tLAkRI
zY*O0|Gr$WtY7S}~Fw8S;r6wvMb0yN<e{E!cF02uwotnE^PqgX{DfR*k5H?*759BG7
z@H9zh7=Is<s{}Se;C5lH7`#yK_jn2c$S%WnO%!=CzJP~z+hhHY9xeE$yNT19%{{GY
z@*uIF_tOur<mT`6-ri}unGi_NGn)d{YOfAA$~KYHy7~VZ>#vJ^K5I^8|5l28aZg|1
z$gcP^mQM?3{@IYFu_O6sr;jH${!3?>YidXqC6&yc`aPpc_G1$|W!<5Px3leOV~@_D
z3W6rAvu{vUQhhIy`S%jHKU(`rX*VAUQts@Av#SdwB_ijgClEcGLiNv<Hlm9~muVTb
z+gqps=1!3%)%Zp`nM#x=x7WAbzLv1EuPqUQ2+Z}C(OjOGoshJEbc`eoks=@NPZ|4O
z{iHSu<mUZ8#FD~;jYF}*ACR?*5HZKm2G0T*|AfzZK(m{3j%M%}BkVbF9NwB}ta1nZ
zHCL(86lqRPV;rQ(NO*u~#<kvwsPWc`AU?82Fy&U`n~s<j#gxMA*d@D@Fb(oZ8H;en
zB>qtY<*_UIm**}qE^A*qgEifaZq5Z6ESGSTF<>9de!U}uUQ`0n>jEFqg~<Jle<VD*
z3WQ*77n&gyrjA?EB$Mt>O+H-c5ZP7aqu1h!<P&@zU7MP(rAibv;|*wHFgRSom`FFm
ziOK$>5@{^39?gyAu50xJmX14BVrv1A`5T{`?G*Cw#>)))mv_FLvRrVj9djfi_O*0}
z40zvOJ$nk0>LjSMx$>0jvA(f~6=qdpo!3n^Oqw~l0ci5d{8P)=wtlHPdFt{7XT{Qx
zNHX3R1>Sc-0<W#<WG8)$Vsq0#L-ncp*K=9O6GRC9j)MeG$SGv;WXf`xCE-^38VQoV
zwf8x%%01yMbwQ%7(cr5)N-^65pzY2<k#LFFyNDCD5<7l3EK|;i1HN?1cIi|QwFyNu
zP9eQ8Hwpu1yC{f!$`yiPgdiN=mq(29qj6{~^55<-cqvalfKU=t#0_5s4epw2pkFAF
zu)~72`qsQd`A~xm@z3fSPEW$}bt;2Fd{}k1g))LTyHtoXKwP}#+<nA)%+S)+!&~`5
zswbhR{^amm^LFZy1m*nT|IK{?tQS<9z0+<AgtK52uMn>+?JPkqxJc2F3v(od+sXL{
zl_L3dzR>_Cn@z5j00tuo|1@_@p726YwgM9GiP9D{HAxWgQFx4Ia4jNdq^XLp_ViE&
z1H`op)Krvy8_CzkR3{XOTj<tWNJQ!2j>2~Z3vxM#p*9GNEQPg%@&T261kEPLt|Wf9
zPd}jKI@w!jB#u3tprLIST~0T7Q_v5o)+SC|rJ;$+;q+;rkMEo>4#{!_$qt?-%!Yqf
zYUW-HQMlId<;WeyNar9t8CP4IC4nv}1C%pyDF6Fbblew}*P+hHG#X&CcxCpo{z&@@
z1r30R2`6KiRfS;(Gbh9u_Ungn;fVB{uw@W)c<j5h!%^-aY)p{sRz$+0m=x!KJnT7g
z1M(8{G`QKW)-L5c)u~6(*O>!4Q|TiP81e=BqpbiO65jv6)GDt&0a|AQ?CgaGIm`s;
zs43=ySmW4~l9$e2ZiXesWu2YfpO-z>w&`-_M<gD!j3W5)(hJt)|9nns5iZsQTa={$
zPT93xB;S0+<42k^DlRD(rC!|PgZ%I1N+hnXhKw@@Hyt|2@lm|UXtpRS#3HuX!Q?N-
z#Osh~Jn`L)XzcC48VAo%SGj)(rwR4BXmZ>^-kgCQ2%Cc*2uxB{(q4;8;7v{U6?+Qy
zKd~A?p}sruiyG(zX7iONFEY$%!)6r>Rn_NLvahN;J^FoGWr!Cnw!TZs1lFtWk_kf&
zk#zGV{bm_&zTkQYMGXWjo2VdcI|rwjiQWbPSN?O2O6#dBhZWMiB|BcYUw(^|m@Q;f
zfV4B4lXI4Xk!ha~3(d2wLy<2T9(?<y_C?(qrMRj=D8^j-$T3&L@#KZTs|nesCaPL1
z?ube8(t<MuLO1$LfJV%hLiNL{peW12zJ<Q&qEJ<bN*~FX|8UI=Je!Zrc+s+|2%59C
z&9|BJ6sfHB_F?&{b+c>US3>LX8L%CDJL67yE}W{k%WBA@Eq>17T4PI48CPag87U4j
zEJY$kt`43^PB%%iYm9m*mOfH@<sOLlX+BL#+&Fi+%CHaAlcX~%X*YP*P^W1R0Mg|q
z9TW#{rPdmV=@i}UOC5{n0^?xw+_l||PYRaJO@}$>6`Q&Ei9f9(tw3CRV&*4MVM;t9
zL`C|%zxhGwC!dxyBa5y=)mMY&_lMdn92GnC0G?U^FwDpcmIx}clzvRsy6$5vSpQ_*
zVCk^6yd56&G?Jypyo&A1${yTb=rs0*dD*Laot;Mc4+Ea?f`9l(!v_Y!aX{A}Ku8a&
zsN;a$-5nI0-Euy%-zRPklIllPcVN~hRFyNbjCGb63V9+b;e4}RDV~3uGegeoF&>&p
z0;ZKYhh^E+c0s>LU;Xf7TS`+0l3hBH8#$55vp)v&0c<;<-gsB#jIY@=<Ali?7hC|O
zp13%EUvBcshVIP<=0xhfrc+<4egMy$dEK|u8BvU0@-O-yo4#sp0Eho6#fM<uDmqAi
z+a~VX2DboEZbgM~?Nc^kq)yHbw$eSQ;<5}_z)<JzmH7quai9<>$!GWdnLQwBjRE|b
z$EPvQeKOE<$$&mE>_$}~f{d?Bc{Hd|wOvp>q+DcniRFuV77uOYUqLsp(cSDB6q>01
zsi(<Ob6`gU{`X;2k&Mm8;sgB!nhk<9Osw?I#@Fw5k#^Wo^x1tIWv5;wiOH#k4Q>wC
z{7qIZ9HD7qxw$n%2Xe0MfvD^o=$?PT@ZJO+)p`5#boT-_`3eKcbo#EgN`-kdbN`-8
z`&m6I5t%n=q%0jEwfo6=y1)N`Lf%o*rX}~Cy=SQ)^BWW?wi8fiiiV{uum720H6YGl
zZF#q)v|h2s**(CY8U4T)%*x~=We<IXNmP-U&B?Ddp3dSHaLUJD`2}39nsvL95n)Hw
z#~-t6biNi~N#bbS@8a4s5%7z*`qrMyR}z1eVVXjn+9&+#4E-f_Up-NJbt&BKebU}r
zfP`S_4~1K$Rscm=84BD2sbc`0G+Z|ab(y(=kU!U)7<E+aOfVOvPQIKBD|YfQqBN`X
zt1JzZ{Wmk#GH+<A`-hRbH6X2#4=}Sh)bU_b6dg#ufU5_x!?CcEV0cgv!37TPA2Ktd
z_5*!gi~(T1Q_u3lhy>#-W6sb3xLvy~&UOi#3WRR&e|XBWPkL`&19|^~N$16#UhvAO
zttcbzaagqRiT`z;B~Ce)rphSpJNe|<uFOBVYMp)V?d9*!R$!5ZnE2RV?(tXritsCk
zIT8lG*_BSc6irO`chrHx`545Bqju8+aTtZMDb1+7do0Yfo)&~?>`DLU>tX3h{f>Po
zWp0Xj>Is-Xk8P>Pa$bPmT0Dd<q#M%@8FPi7zSi+;8o6aCjm)=ymm{D^yi1KZW{JqE
zDhJxUbMP*s1Y13C6g|KQwLbh!M(*tm==IFNK6f?z{<J7Az2&W?Qi%L%6RIp*^$ODN
zt@HM=dwu&lqRiJoi~)td0$3WsxJ9^d;6L;(R|Zi<Y%)8%DCO1XT`v*iau6rJ%G)6o
zv}X)ggWoQv%?xt;)1}?ZKQ^$#e=B<{ux|i45rYcbTf-B7q9uLWN5yJw#b6*x^H`93
z)<0w+&#LQ1Ot*50a?ASU39(k&W}hD+T|MNGOLyA~P9n&0?wJ~Ua>#ZA?BYP`xELl9
z<?)<{TXF#ZDlIOonc)P{cK->_7o=QVP+K{BS4j`Dj2aD(F(K$zn&A+}1hs&Jm>s7z
z(mo$)3!5Wr>Aifbk;G~KIx2*ZKs~A~OssWHt^Na8)o(|BlzxLsp~YbqVcV2Nj%qWn
z_&?_a+~3~c2GWP5trjwh|JB3V{r6AQ*CAu6chmCqM56Z#bff?Z)E1FdLdrrQOquVO
z4VYGEm-J*`f6KmTSEYARz)sQbP*W!O2nS<__m8Nr^>ESn>j2>1lfl#ND(m(x6m+SV
zq1XZt%39|myF8Zg+4rQc)x0}!b4l=HvxZ>o!cYrlj~K@N%qL=NM4fp-ox`(dj5Z2(
zzs0nN{GLF1wqGQ1B2Muwd-m1ttf&^Z<Nfh+91Q`7lwKPmjwj2{@m7wad2<T;U9y_i
zzz9srF0t-DrZhVN5kjmw83;`Kk+hrt=lvj$ql0MB7GJXNs%g~d9P^3m`eIQjby&96
z3+Xv7utNQtHFa;tJz0acSzoX^LH(O_E3hffMl}5MZ`?WA+yMOT%ume_w{r1n1+WPj
z`=CqlQULr0+i*lKvl&u5e~QsbRRdUpJ#~Dkdw|qZPoQ$$+*@>7S7Q9atlz)DW-!op
zYtR>3>Qr<M%pXeWf{v*Sl|WhuFH^xpgK@xw&z>u&GKJAdM~%JN)ZdRh3%_3O(A<uT
z=c=XP1{z5$AN3$jhCQa);Dq2>kgUYK_idT`+K3?(<za-d4D!Q@&nmjXC5+VqVzKpg
z(uK+_7jg4H`O;mzg%imljwl`cZh33O4Y}?UId*Fz4Vj7Fu%A(OG>|N^bENbsltIu1
zKa19e6dJHjc<74vjtk7FSHR)5M`n)v*NLqy7hMo5Ll=IL-a7Y<8$8e1PX+<EII013
zqZg#^kevLj0!j`)U*^cCr!41}&&GjvWEnLVz!A;DSK9da?eUE?RnxuZE2Y~F(FaE{
z%oJ!go%-Nzu*`68p5OUqMG&I+uy+|(8-RC2p6FiLBh%$}smu(R{p~_m@c&xZQvg3k
zYx~Z$=lN8M5VjIWzMn0FV>uX+R}CrY&*fslA=Ccr&k#y%?GH873u+{36Kg_!FqT>F
zh_wnbzr@RF=KLyHN!tVZnEB42%ka!kPKJSps8+iEKr5(W?aDwf-F8T=Lz9^o6P9<a
zo50CR5Mv5CCl1YJ*yg<0-p`uqHy!iTKUHcN(r{yAcOuW3hZoej6@{(>a&B$P%Fv!w
z>Nd$BWL{yvTnY;)q`zP>VtFEs2$%7UA&IiIt}9-t5Vc8+N1+O)@kt1{y-pEEu{rqq
z*u@s>IXyKeD*fMny|RG5!Uz0#{8jH}Vjjhw84LE?365|K`n#G*r9@6Y#Yf#y`!1kG
zwk2PFGp+T%i+?g6yh*bEROjn-=gH?g&vPPivwypd0Sm{g61JB=yuIs?{FSUO@CVm;
z^S}_PfMbs{?>Mz1HSNG%SbI(Tb+HIL(iQO{tc!Tr<A$Tr&{2*e<p-)vh1k^LmkIx>
zp^V-4sFI!;^cR}^zvcNn&G0Xywzm*pFG#=4TjRm*NNG%1|FydPRyDA1;oDJO+(yXn
zgD)!1y)lXle>~eZwl4QiQWKWB-mcXnB{LQ>B8&l@FPRNhF1T!-r%c3F4#P}0|M&7`
zJL8$E<N29dqGL%(LH*#1|MU@Nw~Foh&er|@&v@0dnYW}$HDX0uHis+uWS+ZsWz{mF
z=T&}faI?GY%JYnD#V3>YY56H(5Ok{w4lr+LM`iJpKf)|kAV%KT#(4vrdfY^}=9}QE
zJXu6HpLXkMLM98}l;<eBo+nF1Dp&esYf1>>fZ|l5q>fl$v7`8HGg)Pu8=1B0RLUwo
ze_)QyoUn9}PCM=z%P{lIg7bAK;Q~)y0Qg<5B(YnEin|AY?4jpdIo=3@OuZ=)x=7WU
z!d-OZow<v_hzFS-jFd8S(*dWbF|uRq#aC)hZXvs_q^c0sF2JPrdPzTGMq<)r&@ui~
zNTc%x5N~)HJEUYHYU|_u`|){&o#tBb2$$5pI>M3QB;!SKR^%8meQ_6$^Hs?qcdI3V
z)ZPn83}B0pT*(vp=F-rZ(n}BtNF2m4YWm%~>-RD%?~H*zxk$={!ny1+o50klD*Eug
zt$d6*m{ziawHrg$IXL)C81k*;Z=DlsGl-ENH|G-EjINN!0+am=@_4OsND$Io^TzDE
zgxjG$XkTVo#$&A;H_geO4mf1d5c;3n7B<#Z7!+_%@yO+x6;j!_xZoWJd!0u^QfMOQ
ze<#i<Td%BeC9vTF@Pk$58}J6kbSz%V8(9ea^C^*8*v*I5yA@7n&rm^k2P|yCea`9=
z8;xA{0S=P9b+2!(YA)qMoYTj>mpv-uqD`bMbEZ?3@Y8Q1?gZtzYZxV7VtpZ1_Q-=%
zty1gB@WpRNqNqK~EB3ukkB+7teHP*+9qpW$XrZ7KwAH4OymG?_st)xQ1TTjEE(oyJ
zHM}+`qBNKm0PT=fj;Y#?0Z{FGZoym=k8jH*52@j_Vu`AtRGj>N_dq#Va`1-_CS4u}
zTh_*vtWfv(QrU&S5mngDT@p3+6dm%PRtv`6@!Q;4DM^Exfp2}LHpykz0~`&k)vB)7
zF~g@F69<Iav2Y*A8*S<2xl5H&sISi76JFV58@wFw%?LLj_Z*fC831o0gVw4m51Px=
zv&G8b6?8lW6pZ=b6cCF3M&BYN<l_AE<S!baMxATIoEj#d3!5j?ew)=sOVV?!8@on>
zCQwgra77M|b()j?l10Ul19Nur>mU0DL9_AZqu8-X0#+&yd~wH6`N7{bm-wh%^&rVP
z8fW4oAca-Tk}T^&aZpVma=Lbr$ceb{iFow$%Zcw&?e+Q00aBkDC!ITL-OTipG#-nc
zqxXCWqU#*h?2E(iKi(Rr^T<|9m*e0q-)wM6CZ91IS2)Iz-OzG+3iy2nLq2WlVNQ?r
zdxs+j?|K&{wuV!T@5(MggIa2lwCr2f21PN}9O)bXO@Di5W-Xu_f?*Gyp+&vcyJ*PP
z!eQ*+{B)v~()=0Qhwn&5pN)$*J*Gn8!O=>pCXQ9`+0$>|nY{0Bl^J*gDD!S#OHx&?
zI>8K;k~{=L1q#&;<moQG^S#n8JM6$0k)9mc<68EmaJx(jq}AP>9riG|S1jLvB133)
z_r!;=vbjt=3@3tdt>fo}D3wFMlJ*-(Jprz@_<q5Dz|`csUR!gT%W^fQsE{6!W^*A#
zc&cXTx&AvK@O_AiGSD5%Fpq<^S6s4p=J)YRXa>wg&*R$QLSk467iLf>J@$1koctBL
z#xl<A$L)48E@jR#8OX;-IIA>18w}}l2B>*_d$5c7pYu~KdJOm+F9fSe7XeC|d&Dv|
z$@bsF=OuHX!-gm=6vA#|&U1t!ysq#zSJ}i#C+0H>Mq&u1n!oKvSj2S=8k3BX`YPDX
zj5EYl>1frBuGi`{efd?Y&wZYw)@YZ@HW&4uBY+iDtTcH;66$`|Gwz6Pk^R^_hSkY(
zb2$ncWne2aHHSsC5P*<S4x|itH&!Y;%Yr|>T1xeRZ=dkoU_*%Xgf8p7tN^K(GKPD<
zZvVXTOk@87oRABacd*MA(M!BafCLGjEW03_m!F@GuO{)=J`7Q+m93^h-yr)C1|Gf2
zJ{quDI}5I9%JjA8Hfx5Xbbu8!o(6z`f{6*SMQl93$SYesnnq+r!SE0Tesy$OThghe
zvsE4{^=WcrNR7Tcg2ZH}^a1!Ge2nbu`C0h4+6qH{StF$mji`wL@YENOs!IPvW&3`e
z>jRom&{Lu4v(zz5;88ZV5=VTn<;51Gm7*|6X)Z$5rO%K`IxRW<PQC2I$rGE_(l7Q*
zFg!>Kxi$|%pt1fS%KtEwP;#|b-o22_Y*potUGp1~phkgRp)gJTG5?B&0K`{{HjyR;
z4qQeYueZE=s>rJObI)%v#F|_8kfpm;<O5#XV;yJ?2`a$80AtB+ISF6QA9H)8NA%Og
zyu9CLsr|*CNwT@UQt}^Fzw2akOeX73c~q+mi2LS2L(;E3ye07EierjEG+<cbEFm*n
z3_7Oj^TR<FsGN0xJh3_~OZk<UVy&uXtK`@gdJQ}|gDK02Nv^F4|M4T09E~;&&NwEd
ziR}QLFTW^w+`lIuD{R`Q7gUKa?3ur+!q<w)m~<8j%95G#0lf<~|HgQ;vKxMdS3vah
zSX0N7kexn&4V)yw*%OeYpOceyz>{|6pC33-%A!n?|C;kV?7{$CmZxvF<L0q=TFob6
zX@POve7NuLjX1|zye;HW<Eo-dDw3wUW4~~AB(ds=BBo+D<k*uO^qXsucnb-Kb(PzK
z-nrjDj@s_~j#*5Ph>o;6zkQ)1WP3Z2j{_nR1_xgCYpIKKe;2%Uc;o4yE&almZB8`Z
zrP?<0<L`qgLq>MX^ZJ%8#Buq8j`vMBs>SxDhAucwHw<;JN;9GP=J3yyJrB`ge?{s@
zzd@W2PZ%gbmHLkT_MBbl*}G*h<9Q&bTuQ#+bV*7v#XCpVi947uGI2(=<CM(wsfde|
ztsJpG2m{`TwR-Sq0Y)BDM%MQDh13Sx^T0dZb=!yHQU!-bme>aX$6#@HB^~?q?8$vu
zutMpz$`P-9+_y3+LdS|^tf74vOOlL4Rw06kNak=zGJ`7PykBFi4=jU(X!v6x!_71q
zea`re(0Gq=?ZI-8yvT(TiCliPVZQ(x^PXrE(S0~*Up+DnsrQ)d1#(V_%$Tuv{R*5_
zeg7&YLcOo6+xGN#?#<Is3Y}fJzmphc!12M}1w@jLs|AQ}6&|H4f0pexWwT4Dxs4x5
z?sco8u0DfnJJ8-;ys=<@HXaC=w-B-gMR8nXsj=&Kdj_tnhG^ts`8NGl@9XmmcR4tp
z8c`XGb3&z5iV8o8Nd9n1OHOKLiPh9;yuTDx*@!1t7A=+Yj|QxZA;DLHr*p5cug*!M
z%GRW^IJI~`CXFWGiZE;rj|QaR>H{Kt8T+*hhI*JWg$5?B;1=<9WfI-kbu{CwKA(y>
z{uyoWk|h1Y;8nt$z7MNBXJ3n0SQh>V2t6h?KprDrt(*{=2QSoTs!{sY?Vl~9|JPQ0
zYHxU$vl#+2G!-_2L5lC&J#q=a)-so9T4F=n+C#Mc$cd`={SWX)%Q>(=srP@ab$GBl
z==T3?2jJEgqz@e%iG-JW4jKJxFfb%x?TX6P1P!w+w2LQDQjFOLY!(TTw5B)OS*?<}
zraD?lA~-`Q^1Fk(y<4l`KWs8_$9a23d}l-v-5~PQP|USsHk9Fcure+S=18N2iQ&jr
zZpylpMX<2;s3Gw0PhSa$0$z$~9T^k9o3_PF=Gz2MNva*<pUCO{)_&=zyuymzjVteH
zTg{DbCNSPGd2#EYj`Z~}$X^R*JH|m(yjHP~;Mz3VyvvNc<@ufgDBKI&AKC7>h074h
zMsZmjH9`NdU{Za@Y~<Z~#7s29y#E@3l@v#3^4W6Vx=wL!XyD1)|8;z<{<)zg`P|Hp
z*#CEM_x?-!96NZW0>1fQ<0wuZ9~%LkC^cEo97wZQ%Ne^6lLB~{*^jox?dSCYZcR6w
z+u!gjI*`JKQS$e)3G75a+49Pz=y2U*Xu=-_N$_aGuN`H66b-M<6lHPcc?&HU6#Sxs
zb7>(H!5y>+DUD(iyH}H#5-&Q9at1bFSFmd!5;@xQaN@{abk-4y9aX1tPI*VdlIml0
zPNG6ec9XB8(f^Y{?~_(<_MwO-%fS}J^#vn@EGP6L!m-gjf#1gn!Iu~}EJ+MJF;Y*-
zbRISyOLWGbN8~5A&pFHvr->27D6)G&ST|`#@aOU2r$~a#nJzO4M>a-`(L|0EA}$<q
zEDwAB?a)gH)y0$YRH^~8)C<{auZ^sM6Uoih4^`@CREy+&suj1<yA*JrE>wXPX<3b~
zc80K0^Fi&Mz^454A>swlMZ>61+^*R*Wf>NR&%-k(uxMS0sfDyQwbbq7p6|;a-Fb0*
z+k-1BUTSr;mVet1s(fr;<+IhZ`cvgi)gI4UFvsu9j7xpWAYdPpHvUYkI2-6~R(QA1
z!J*Z@d9NyxF@1sLn;ns|A!o-j9AgH13AwJXzBg8;pGq7Rq{PAM#O|4;`rbxs$-i5h
z`2JV;-@(qf$xY>1?8Dcr_)3NG1D(=pwX)DJ=HUGnf<Wb~XC1fK|4_5_6r0*EnILsd
zD<F#9m!Kw*PmSq8Q#wa&ETf02uWUf))C|6r?7)7Qf8VlA-B2bhz<Cib{buo9-=3QM
zl6@jydevui?Y@!6^9iMv*rx`LVEFCoOS>?l>tDVd^Kf=*o!>Bm&k9b02Jb!7f7_#e
z;n*A=*u=H^VZ-`~olF`$o6@!{`&@DN!9#;G-Iq=jyw#Y@I{baVUN){nE%#!VHCerF
z3lstPu_E;}2DaPghp)%biHd_z{A-H~U)nOuubO@y0T~oNGHp`oK10@A_{+#fWnA`s
zTI~Kr`Av*6;8R}qnAXj`39AcVA$1>zI;T&aI$W_Uas9y2qsC+XUUDxlxm&ishIX&7
zP<RGekrpORS`%X555HU|{g3nxWZ8;4y#2*nzB1wk>~t>$lVaHISp+cnoH~)0#5S(*
zxw)^K<OrhJv4G@2^&U{LS%2Y!6VKeN^I_hOAo6SFPsLB0=il6WtKUOxtC5oPiU_g2
zTYH@w+wu{yIWt=xAliEPRbKb{C~j6h=uIHcLfbuQ^og0cl!AZr7ekmO>B(*Iog1xP
zr|SG1WGXaUT;OQlWC1<Dv$a3zaG?>Yuils#+^v1>^V{=iFRka%Ey9zB?}RK+LonTW
zk#U5fQo`-lIfV3)O^mFgC1c>(sb*8~F>n4gM<r`<L!Lrq^z4mjSDA08ahKS<6F+qW
zyhylNzZ<u+emVm(rW?f@KHR)!_}ir5ao@^7f!uBIbGgQ(s6%k0TNg3tSBl;Hz0z^2
zpA8vLZ>y|i7#_LziJfWx40GUmiA@?EnMSn{<%A}hPdz^^+H|>PLFAfR#|hWMQI#sC
za<rg^wC`tzOb&&l&i456#gX4e^=j^gwmeL@6LsTcd`VACi~}ksQ~bu5Yi8}U1cswi
zaN{@w6*Zv1F8CgC-Qe}H#rtm;{!DfLV9k6;IP<&biSZ>rnPH(&qLL*tvAzXYEHnzB
zm#{6*?x_e7-YEN4VJdr&YEQa)vExZke=k}t=&OSBGn~lXU|H<Ly~5moEwVPCE5Ub|
zEy22%10t-2UFn6a`Qf1%<Dc;gq3Kp*Qr1%^o}0b6;(a^+R%2IqW=jRM+Ej{xc9>A;
zxif%Cq)nJRU?nq}-%GU|FKZEQNU7XBi_m9U2EAkfljMNN7aYu6`PvwDsg~ACNWZ13
zO~<I?)`x2~M;0jcDv9ka)(`{sVnBr1?A1U=XW;EIq*QEmZ$@Lmxk0x9)6QY3kJrcd
zO4wI<=x^to`eKuvvUu-6!}CJbJ*s8->63}mQAJA5%yHWj7V$4Ve1Ey3tU9nq>Jl`H
zUG679LzI2WunYPei{!Bt^hjh@3SI8rSnkR9O=gDX^J4+Bc<eDlN&ki9CS3J1^ZT2t
z&lJTDDt@r5>se!BXVt4EI)lyCbR#~HRb67!*Ibl7Ans;<4>!5))vErSYm_>Y&3&74
z*eH-uv~$w#b944wE((f<RYsn3RJ|?U6ctb#XKZSGRV!oG-}uQAKL&dpYbKfgI=cm3
z(Q+v-c7Sr;QT3$9IXLKWeb7*g>6g&D$cqn3waDMHo?<&9oPQouM!tZ&+-r2-pkam-
zC5dsq{l2T}u2}cI>g(TE4}YE8ZE&d9nqhOt_ae&--$;6zZ@w;0n5^usmo<nCMPUSE
zp?kd5E<{%;$_#g$Tj_@w)Avl{Wif7VoLojV!E=Xz3w|bg^Ow|A>K`wUm{%D{Ra)bN
z?RJB2e>vxVB{_J+#@Z?U$xP;zBli4GD{$rZ%9)T9#<1nXG8Vt+hS6>!s!NGz-94kg
z$7Lt$h9bwb9@&%AW#@WAP>v}^UDg)69PbZBuCtcQI?M8G&z`+6rTILlI}@&cI=2^D
ztQp1$;1oKF<j1R=D}Szt5KliZYZYI#VZahDo6c8q7quO<4MTk9jE2XXUMQ-o-cxOy
zy>@-)BywpM=+WZoo#ZPQUaGn`fCNECIZ9;)jhqjf$MmwK1hL?-2cUa-i1B9s{AFi#
z%AIdMB`iWAC-0%5R}PIAP0Fhez*{I~cRzUE(tB;O3;TlC9;Y0eb5Rn{P;J$DMH70&
zNg(3<@~_>P>}z&+Rk@mBs5~;;^s>zD<0+#_cxa4reP~F~Eg2i0vYXV~8gR*R^63u`
zy)<tkg)el=F-7s(4V=kuEgvsfZIRxO++v}WZ@<)xK4H$LND&X`lZx&iyRnIZP~igz
z?6K$V%2w>%q1R#uRVt5H6;TV`-nu825th2G7ZTf(`~dOiV=TGi{&KaY+R6~hf8OGG
zjE8sM+)>_4f(4V?>;7F)`$oeL$YkMOBYRJyK!=blQm$klg7HV7|CMeRVs)FZSiuIX
znU@Od`_fPU{z)VMefre&ZA^-ZrpN6M<_kTtyNMoqX~#}lZ=b6Vz3WDSUty{Kuexmo
z6LY}Ua#0nw+Hk_^rTEY5k8Axsw1<gbC)1X@5KU?I_^OJ<n=c)oF7@PU=bV*|jsF~O
z?RfL%i5sbsw_*qBQI$b~RLF5>OFi-HC7-9|)Ww3<V4yw)M>o1XyaMC&g&?G(Z8}us
zlw_gAthno+t{w;I;M}xe)}DOjwS3{~*Tm24({!%fr+atx${#EXnM?l0PXRP2_;%g7
zuWFwr*@U$|?T6CLpr1kGle$t+F?A^*wR2K=yXt0gOlL%F6@N&jMS>(}SGTK4Y1OY#
z0C~-NX1(9(L*Ak}yydy2tH0QFoq*|JkA$nN*I}KfDPxmEyVt%;-aPa9{?qi}@*K@u
z^L5V1zeWmEs)0eX7VAlS$a=jlR5p(0t>tNQdk{uSes0|OQRb%y@-JO=vC2C0J-kE$
z2V2%59{I$}eBO%pd%Ee>H}LFifA{+}r*Zbfy$X^iXrFTB3R{FY+Yp@WlLK|fpL4Y|
z`%Z*>0lVD^O1_6X;9}-T*yz4MaLdE<l9Nu}G`ku9&lJAlgFbe{FfL>l)zQi7+DMxF
ziQ^9~FMKh`y7u_Osc_dayn?0QP`JI=EUd>3NM@_Fb}MOUVE!2IH*NYz*{KdGOi2_b
zyu=YK*FDgsd#^3l8f2WV&&jy@;2S!-G0Uf`P)-{Gx|kVOWTX9B&2GJeM-8-_Y%6mM
z?n;LOPN~4zA<~2IR!jGtzaSY6Ge76V+6o&w`8+HO_5}<TodTXy;TUCFsq>8tA){}z
zq0sXOzx7DheX1XF(J0pcaldz-Ofxj>DSE66%xk^$^*axWGC1;MtMkZ>KRT<c`idEY
zhzpmgHdQ$lCou=yoh%|TtCuDwWV!`|iVQNgt*;Ss+pVKbhHE2U%X$CB%z8hS(JQ7>
z;d|lD-S=hl>!;rFgFK31dUxi2%heCEOe?Hpk6b?0X!$dt+Os5G>()t?7MC@h2;%#Z
zN@WzdCuNU1i_0l|`23LAe#5Xs68`pzF+NLyiV!L9j!k2{HFDtX=JDQqP=i5zO;*Xt
zYWE!CF^2g3nBM&g*&EtK`n)^*EnXRBht9cjNJIyrN)*N1hTWkP5Yn5Ol(C_(`#wnP
zfvS4MdwYsyOS|EsAZMdZ2Ao!WD*S7u<`kDYehq|l<q%M$yxGQk5n?u$M-jY9#K(8U
znCy8I87kGSr>F0woUE_Ar?0oK7^>G;Mh5JFrrWu3sNxiYEZV`{K}N>QZnv+GgR1zO
zbM1g6u-YfDaM?@K3%dm7;Us9^=YJtw<Y;q`%VUDQmbm>d@vn#IR=!89eL=m#OtC!q
zeDWmPIf@AB$--p!6BXv+L(+=M-5(fnCE2w_cx{+QT@ef(2@k`Dl=uf<2xFEInwo?>
z0-r0=sTJ8p5_5r(k#$iIbvei_)lFOI5g9#K^_~z|lXC<-1P_srhszXV>Dqn~BC0kD
zixp%C7bz0a+4Lfavm0`s_}B@Wm?7LHZ-`S1Lbb?%;6Q4L2H2&~p6JDb^`a;QlmXIi
z7=gGfI7F-lu6+hOd70c{R9=0+RvZ<LLs18JgD~CM5JZons&JwTr2>{2Om7TndidWs
zRTxj2n^1J3Erx|EW7*@mlLJrjSeTAK&sj@)cdkxCRvAD9VBnmteM#4Zu`-L9F+>PB
z^f`HG32Tq@$Z69~(}HA~c>y9T`(Mm{AY?!8Gj)n!?n!pV=z53?{@UK)Equz7(YRv1
zxH{)fijnqs^x0K1EFqI|=my#ra~aJ1n!Rgy>T4CCem-eo?|Why+x9L=w3jKSRG3Q?
zB{+dX^BZ2tm;XBmaO<Qc^Yro_Ui;}<FyZ-Q{E#i7?v+ktO7nTm>_0y<x#ALOtXp*F
zO@42UM0Vz7${B|wMb%A@rN#xzQBkXtccb@X1)}BR>%}`CVxQ-69pkXKbw8Sp2Azx;
z4Q59oJ==o8Y;u<6%fh*A`L2<lm8~ID=d#!T;gYY-Lya*P4pQ3AFS-}59#88*b@|_7
zXN4c1n_pNBRc9e%zsp$DPF=ccGMs3Zs{X#$^yTczOxJU7Pn{)A>V5hr%q2mPL7s^^
z{4vScE-n+^!MKdS?2D;jN96BTD(Rek8ax$4^~ctkcjl-p8h+j*$n~5EV_xAiS~Q+#
z^_zKp(xpjA0ztkqMF;bAqseV=LbM2SLe=icwFaWf`!7~*jbRRw3VP(`R;;GKxa83J
zLe$=VY2+N&Zd-fZRBRC>wvxW+i!Eg37piIkCQ0Pq%ECN7Y`C%NViA;1cT6_?U6We-
z?)*N6v82^rHH+y6f#B+TSkO01jCC5^pgW0rSoe~$kJY>Wp6=$jY{O*A_+Tj#?cfsh
zfU+1K1CZXk_OtB0Bwit`?ugjOal^f_15%}V50Lclq8AM7s)5diAlMwe4um{D%$prv
zVO#151<>&Kjt_<gk*zy2?Gq<Yd>E(|AbH3u_s~dUk|s7?-qSj`Ie8rOe*l3%e!q~+
zl1U2exd?DG$)NiVN*oTruINDkPNeD^Ob0<AW0WhaGL!j_$@lI{fqhjO6%Af{4*6N1
zHC5-HeM5+cw4J~)*DGizoB@tI2ev3?N^{F0QCi47;50bfClyx*ijk2=BG8t^CF!)6
z&iCEG1zUQy+PB517zv)?9SD-j&ua34g~)iZ7`Fs+P-7YLUwk01NSbk`y>tp#LS$3W
zXoo`t(wn3+95_>pamft_D8^0%L(K5O!q+jw2N+1A%LPPjgrXUAaDz?D4u?B07(^?X
z!Oehl#@yI2<sd^UBg#yeq_!z5@59viB5Oz@5~zC~y>QSybVpo<L+?#@AVJ{lV|h|B
z6Tg28f`_owq@+Y3Or%dbKTaRyJNF10uB*w8(c9UC<1Ga=Z$@<Tia&~s9KKj%I-0yL
zaFbik7HgA^L}HBVY!KSjl8tVg1<SWjhmVIy!WvpyKhrDv&DH3*%?uvKAmSN~FmlE}
z=JT8?CWE03@YmNr7%){&#D*aMA?e*7CP(lc@JS9Ft^>Ob0WcH{z*oJ6y83Seaa<5h
z9D>-kB};7>Da9r?asRL^u#EAF{YM*&Q7;TMJ&-*XXVN>638_$^NF4Uu&5sH7u;#6+
zHg0bX(g^mP^gkLtRD_g3y*35}p084IJwce96hDRm<$N7TZ$xSCDTtHfieM=uDujxa
zrT33`#W(pC#Cwk~yk?(%n8U;d5I{Y0zfkk=@A@-YYOP7yo5J(NuXbN+(Sorbc!0iO
zsA2^l#|PSuA9s-p)gja}aiSP;-Vqg{CrFUUG$$!1hriAo%yJPqAf|jhmC)66KYNj<
zg;5i5TsL4nGpsTJBBn`fT_wt*iRI>oGW@5kuW$(7le|cTI!lNG)kMh^?n{l4$sq|+
z)iE&^gA_<WQV>B=ENIi$k)0SbkUIzKg*;j$f)-%XJ*X6j9ZIPL2O<+_4MWE;5oHiQ
zxkC)Y=?8F0M39k=8U1(_Nl8&$B@8{wN<VKeFsOLroZ$+Z1PFms-*J<a42K|@<Z2)?
z23?56a0Aq!4`fvr^+=Ea(8P{lV`U8m*Wh*Nj{$IO!GR4eVXLR8R*{t$4u}ghX>iQ~
z49!WD-f6V=g8?+4(%Chkl0-29w2?6shJvG7)oCL^nDr)VmXlCKgapmz$1X{Bq8YU*
zI)eyg0vMAZA_lS`p+=(-B>ZlqY$K7SmeUPXjaJig4Ka%xqho7C7bC^Sf>Wq|gnSMF
zc!di}72SlUAw7Yo*yuV*LxBw-K>{#?NNLdz5YmOE0*O+hh?uKVS(PRdmVqsTHl^;^
zjlx1Gaq2uPyPkt<NQ8mOEQmJHBeE((>x|P!1ZTNZoCt_H_Ch1*SjY4Zm6tKd+1Kai
z_xg|dWKtFn<t&f}2$_al!%R*jG4nW_Q;7^n9R@3`uUA8l2c$d*19gt_5Yz_J2hKo&
z53u*~vFm}DaVRN5hJm3&WsVGe8wgO#08S$U1SB$G!G=iHYA`#nR+1!$VN&bR*L1z-
z+u*O59=L~+5CwkTFvS-Gx_3gzICNk|A}~E8XkiNo4&NIC(DTwpMEoOwNR%!nA>EF5
zJOK}nT@em$#}qjLFD*C{9qlpnK9<+dfvk{EIKtxuZaD*foO_>d&y5Wf5=1z_T;s_o
zrbU?u36eslVwwn=0hy6#DyX1kWq?YL!(a%72v}ni(BXlgNP-4;VkCk}Xh5Z=m0F2L
zB@RkD#y(;9n8@V^_P%%=2d^wk4EJ(izncP3zREBej3ZpTdphzv9*g!6h<eC=<bwR+
zJ~RMiew)9$ov2v(4JXLXWK9kT7>6F{IQ{%x;G&d_RQRAs2BdHiVfcenL)Vv1bw#5?
z;=Q9j4F?obL)8WCVmr_B7aE9qje7j}vzbmYNP3>o`$V4=*7Nkk4^72G=)li-rz#`i
z{1=7{-H!8kDE>x^)nLpZXH+J`xB_ULvyPCFx)t-BTVN^nabiOoOv4Q*pW(hm;>YTG
z%<Tinh8cu%VT`6ovZfuna+3T5qPu3S41uE9ecMJxspw_~#N0CqwRHy>W9l8ZB6Ps=
z7D>23V=$_w2hGVi+DCzH67wJGcg5FdCy_hh%2*qc8Hn;`y5-6=*)nD#x%-cP4B+M9
zNb+`ZY~>~hEY|$d+F!b7NNW}#bPhknPY7$WafoDshnCG7>vJXjK%~(QL7E)UYIW_p
z<vR^sZ3*8q9;!9&DDUESnHN~(Ae3|}ff9jJj3C9u&pyybkk}Zpp1?q0Ll(Q$*u+K5
zG7+?_i2(o>K3Ex$t&s>^Jq!e2WZM?Tkv1M&;Npi9@nqK}RvsY1v<En4LJ57bga`nK
z+XGofkW;XV78f#ur2IE714)62i6k~vJz0<d%!sF873}eYp>tSnZ3t)&Ndw-wc`hDd
z0}%wgfD8)<U<{t|`eT9!_7i$zKpvr8>JT)C2jpZANh?Bh2=u|o;Gq!+FsI;eQZ^W(
zfz`qmkmG5KdR?IA0!SnTjct=0q{b_1yiKBT>Bnb7JE6_u(MnRop$Ikwds|tKT_&Oj
z$l;)a2%;MF0XLaE=34@GZPO@jYqYqncH>JcO^CIF55`US$+g;O3buH%tF$q%0m&R7
z_UYouDp`(vZTe;^$a~HUG=BUxu*AB|XvYTH0Ie{1+G^ba%vpyAkuD)FTxS4q0CT+=
z72^BRvsmF_sLM-Kc7~g}1_Er+ouydY9>H$#aL@zDx|ho_rcVj80vO{=(8UWhOI=VT
z+{2KZm#3YVjVbOJ#&pcg?Ri6_4xV!*RVa-Ug3gW(D`Tc@rqQijfE+_Ojt<Sy7#Cf*
zX2@~0tq6TJKPuc94!Qv*LQcWVbsd$H2y-OZoY5vWWv{GI)G!qcaRr^A7%<BjYymS7
z$}blW7u;nlOnc2?kEBO6Kw{!3&G(UW1A&$I>A;@Fh?}tFLT3Q`FljWX+niOQgdL8W
z8?y&I!KM+z2Qjs}jR>MnM*|yk&d6-&SXEOZ2Qn#e;_DNY^2<jo+`S9cP9?Zo&TMf9
zE6x{#P7A&_V@*dWLov1js^WQmm|!-ah%pETN{>djty1btDuyTzm#hvn$R<eI+!O+y
zRB_2`uUs@H?Hq@9omrQ8q$&Y~!{QB-h}er^keFm?2PvZloXP_@Hi??*+X)!PF^qKH
zaI=8Tluo|AK)@U}qrSQg2}wrzd5o~=0))u}AvT__nVJ#h))|c2Y}+;|n3(DwhI$|z
z9Od%}5skRTjKM}TJW$PxHuaW}G_db1Xyuq2QNr=wBce14SC|!s@TnpCMa9=1PU~7r
z!OT2nZ#B72<n)yA)7B>Zc$n~tLDp%ZTBN9WcVY#{l^B+xTZ@+n(sYFAoM%bm>XD?-
zA^fq4VyiG1OzZV0*9D6M0ojMX(7JnsX9OedIBV0h<C8J9C?FbC;)=C&u&Ozh>Y8Lz
zRM!`1CSgx$5#|Ama99wDxO+{tyz6Li!eY~CH+04d%jvwzvBklHjN4WXu<+!n7cny~
zp2a3H2#uysSkat{%O8RZ8-&9F&je&{Vs$a5_L-#ID#|T|3K$aAn6+rxjz9i2%d-Qt
zx{6KW(H?HQ2Lj#<4M3lIJMfs*e5A}}<pfyW1e`f)jfkxSvz$GJPOftSw1y2B8>I=j
zg0#3A1=hw;QH_x?bvhVea0duFzD$UDQYJCmXh=q=plckWsBzK|k`So8bRe!89fY+M
zDI_VbMHwMlLLhJuO~8jj=JJ7oBOjp+jd+~`b~Zf##7?jzp%#*9rd%bDC_Q)_V2KU4
z4KOxJbo<8}VyR^xN(oFwH%*7jP^7wH#79tTExIF1@PLlJ)Mt=mU53ff9XLkFn27|`
zK=_kJOGuMf&VlNJ<VcYl&A`UP7oA++e<%(ll&?CE%XbuB7vv5*9W(FazXdp&X~&t<
zYQSLVX-JGo5ZRR>9?~~-WR(!Wb33%qCkItY1vtt#H*Bg*I`IzzeNIf|@8)A$0|+i5
zJO=MuH$eFq$%SSdiJO-lq;OIT0~yqY7<$A5ZA6B3P!1J|gc?g|HA&6tK5*HF!HqPP
zIK{1E%&fj%8ti(J%!!bgS=faD1SUGCxgNMTK_%HrhTsaAc4#ERVk!7`x85QTc6E~D
zc52aT>%?n%!m7P%dCvD_Jhi~<<w!iXdh?Ss5qS(T1F4Fb-$HYWaG*g21u+wkTxb#Z
zfJoTMms(Ar;XSzE3oc|6HpnkJ${1va&kfgG5^p=Dkco8M=om#FLA?NhNNEpXZf3f*
zt$|f`+A!e;x|fYrMHNIv6`%x1tU8YZA|fNEjgJ02G0R<wj!c=lgE=Fh$J7WkZ7f5C
zUR6jjr`lr`7pHu!4H!X!=v3PByvG&rmHT$jfrj1eTbh9z$0);mRCKq68$J^_9z+ab
zk6>Wx)A?<?WC;>s-SzeDg3~uau-O8p5lNzhLfFg`V1t-IIxvR&re^eH&cm4wBrl>v
zpwKM_+JW7O!mFRLM7Y@dv{5Zb7<U5YxuiCcqj))PY-mWBN#JooaRPbeAqbkJM<Zil
zLql(F3ATn5SoVW-;+xT&wS`?ZP^dAqkTtMI*(B2h%n>WZ;wQJIFb&5Dq#$KOI}1Q%
zG6BHQ%Y#e-ybJY+DrgwQpwu>A09e3;1%yLkKsR?S!9o<!9M#zu0cog|WHrNu3JO+;
zVCWR&ay(J6%cW#DU}!6mAQ??^-Z%@WzAQl17bSAzNCIl~A7ybV5~v>Ik7MSz7%~#Y
zF(4W-Bom`7XQBi050QXflVu$XGX%h{HHLPlh*5Z{RUDgw6tYqb4p7MZ9Uo(%;+VqZ
ze?GOqb3v)1(gX;wVpu^Pl8{ky3^)>k6*e<+T1Ueo1`A0W!DkpS6BIgXi@O*^B!LJ>
z8zv;n410&iryqP|g@l1ZC7_}~$kn_(DTpEzX-XK80wNirNPvP>B^e8*=Q%m*MSfm9
zeo*+=0OWbW0~FgJ6Uree+bszp$UFFmAJ-nfzk<*?5dh^8Q;K@_OCu2kLdz7y1Pvrq
zG!O~epkxy~yKzEiq!9;Lpxwx%U{nn(B$MRGWDGlD@=T;0Q)z}&q={hI0n$29fq)7C
z#H>jW8Z=VHRxFfbXH<j-H?nKeRTV(MfdUJ`!U#gpbNIKwJJyw?AyzchqP06CjZh<$
zOU<*@&j?4XtuJ`$HrRlHfELEq&~}0pUR0#Cff9mbz!L=!KyU!e#Jf1T7^tpT<B`LP
z$%r&yDOrS(CSp3rIAMSoQbgf`c?Jz4auhs!gR|uG!$A<paezP*sT3SkOcJ<22y}>L
zKp+9`WWew@PMrg|Dv`HUa?*i-47tr3h0q{g)*yUV8L@c1sZ}UFqH$pM(V8O|Qvr~e
zP7XIAqO%D!8*doPs)|Edud<P>*%}N_U|tO2EfWEC9@}k?6dP<FF;-m!Oc*@K2|=V`
zQUi?u7$Jb+2m)Y0!h`e0Q<`Mj3!ytq5cL_C$P^=TutdD!=TtHo5G4ph1`pjFlz{5_
zDlU~kH5(YHF#;MRI1;5~5RC>AaWtbyG>TG~58}#>LIUHU3<d<ofRx%&+gOzijG~pK
zNN`{j&``T&bkM(g0kD>##O+7d%?IKDI@Ey_&xI6vLRct>h6C7`aU;jh<L%K26F|t9
zEKI@bzk4y5PQ%jY5e1Pg8!$5iNVRBJ8p=JaRJx{KaBOU0%Uk{&^)F(A3it{SxzYAI
zF);!`MIw+1c?>DYXgTl+0U#h`aR&gRg`Ti96%x?{i0%%>L(KybaEXHD$ifz-rhPEv
za+><95n=@dH0-WpW891$x>7tO97YD>O%PU;WZtnI=RoZ}S78CHyP?D$P>AGWI7Gt9
zB2e}QRt}f@vKvQ)U`Ri3lQSr42}hJCvN`gT1vh7NFcS%K28D(ahLr<yE1Vk}hKLBE
z*ug9*ECXs~qZASC8YX07F96Gmh%Uw$1}Y(;rcD6K9MA`(L?23JDF7Dalv-3)mPk-U
z{un?y<rOs`&;Ttcqva#f)CW-ve(9V|R#1G;jvig}2y26rar05p4w8`A4F`@f<*5q{
zs02X4C_^a_u_7czJ*+0B2t`>|0f&k|WG0<S1VCUtAvPih_4JF|bpC-#l$t3PXpmwU
zQW+5?Aw$$TNlHE77c8t)qX=nbpegMmAl7-zOpm?J8)Iy97K~9Cu@Rg<$pI0(d>}~3
zf@&lL3}Q|~4-rnK3=N<jfy6kPgDQl8-c0*`6NlsADc2$4U}KNb<P#pZ*Fw;CJ%OPk
z93WvrFrphF;u>Is>og$0!bk?eksMG3(nNZX?SXM$9!gS@(BGdhG7k-wy!HH4fx&qp
z>mX~xQa#W<QOdt6(HPYUtZYynkGezMRpxbJ)g6R#vV`y}BJ+#S3&N!*9x9`Ug)GJ$
z^7Sf9S;$>Q;A7=2#f31mn06UypN9t&aLlHr0<k4hG}hXdsVanHZ0u=E4s2wJxTZsJ
zHfkt`V*=^t12+p?klx^JAofZ#9{j_=v<3ph-f&5{5e6_2U`*l=IZ(eocaO`M<U~;?
zw3<hR<3W@rlC)ABgK)O9j0Kls$IlLshLD4Yt;L$5r6_2LUM9{fV7;>9<eOtaQB289
zMQAW#&MGKqCL3h7O(~Grbb5`$7S*>daV%pAX>}BBpd>w8s&3W5HYh^a*w43j5+Zt2
zC<l|oisk|_k{8hga75&f1#m(PFci!hK&5dD1~Gu_G+e=wqy)=o3!JC|h?zOTcya?Y
zDU1gNF}uYuQ`C*(nLL9jx0^m|X7NiBa)#Ch0E&4D$ODu)nn0F8wP6WrA}y&vjduYq
z#W5}RJ|W_duScvIwB*Ta8F0|)0+ij>s1JXSSHf(EDT(A}r&h>GixGnny<+*gC(y+_
znAd2PN1<qCs!-9R-9!38Vj>`6lo}=wV;IpA6La^^Q^7v~VtqrQ%ZT<d*?J6(Vua0T
z#9~Q<SpvEsuxYLVFHp$+W`zF0fdfK+f<+Bz14A=RK@bE=s#1v1gi0(DgH$x5Ff2tX
zq{z|%|390|><=*DZW@Ka4u9rhL1Tf0Jv%A)GbZ5|?jcRK(7j+3zcB>%J)~6GJlg$6
z$aDuir46K_g7smL%nleBgvy47m5qU^3Xy1H13(!9M5SG_siOf{B{2v_2tb$;W`c<<
ziV;R+p_nj`(9l*0C7{4yQig#rKp0|4Fu;)*i3Fe{MjIG%p#uz%3K=#OcYWHKA_N45
zf(0-_M0o^Y5j>UgkVC3UJmyhK0+hg%UQc-*j6J<|fTzHWbV3Ldpo{dUz6=nDfxzR3
z>NSI_GZfTPq4*mF4+CMAsS-(Vk-(#=)hN&%HDjhE?XwE0H9*6bAyb*{K7t&pkjDdo
zv5tR)N(6`%i4>t)SMxn~qCZ$>1Kg<{4>6OFoJ)jC222xx%#OsnLJ=T{nB;-{XZbXY
zrWnXbLO~Q^qx{Xn%cdvWbU{r|FMa_0D+GxKL^UDj{xj&G0XhJmm#bCzWk@23{@tYs
z1FXslHz6W@L)YdszJMG<Jq+>g4o0A$h|%&I7u_#_+Y~UWA)tvs$k_@m9pU};+7Ry{
z+%bD0M(7Z)x<NEBj+P{<Yv2>C0ee*N7pXuraC{086ad3X1i~c112QPV3J?&n2&AD2
zAuJ|xjF~{LxMK`bs%U@+hE)y!N&iVfMrbEOACv=S+_D-PmtrU+1Dr(KD0ju=Mg5R0
zAU76(e*~aI5xX(4hG%0948`<A<YfL_CjcN~0f%436$T;v&}03Z^ZqjysT=^yBp%}X
ztPIb>t?bf=87dkyJVhi?gcsLkZ<vD+q&diR$O?v&LYz=j;B+-ZkYsvf4(uXh2y#L(
z<S#U<ML!xvR51`_){?^`Mj*Q)8Kg|eSeHWf9sT}p4-nZ-#}^oAXu<RvZ+#R;1is1?
zq7Q;cRXTU;byc82{%w#cpovsR$Y3uJ^qd7T6vwzIqBaA-8PFXskdIIbYB>`b9$*5z
z$mIKHO5eqfj!yK@lNA&j3aW-kB9)+fcU%s@^(jD{l>=cll@H_mHMO(w68p$}`&teA
za{fP&VC>=)@r3QjIDXsq8cHAxh+@BgiX0^#S*4I;84QF5Fs(QyGn3~E2IhkpFs6$H
z{)srIx`H%la00^s{U!zj6EF=A78Nil>L?_FW7JQe)W=K*nEpfka{<Jrc^SWt3rUdv
zL#E+foh)jNusWhisuvN$Im0`KST>~^p}`Cjnwo&+k>Ve>3BpcBDuPY14{EHCNOGrh
zZpKQOB4|iG1{A<{9Rspqn3#wXK&66T35kddj8rtqh$3P{i77Vc7x+$PTvIbqwqb%A
zLRuI>gh3)jid0%d{yP0bjKdHz0&9}UVgDWtRE025!7Pyw!bAZfBt#(u(-kySQxbf3
zm<E&Kj6^5+rNt{SUglE>5=0=RQaIp-2?<b#_^<zqkMrUGx9b7g36dnz35Wx_vJeE!
z!o-mWCjlf>0YZm4MCWoPHx7H6B7#U!DGh(wit<$;h>2;GBq5+ufGLR(sN_A6_m`n0
z#03-uXwXCqb{wn20qzhk2nciqjKUR93&`Y$l4GVX^!I^s`YTBA!61&;La||qN9prf
zZ~*u`)Ca;6&&GPsr{T#9J)h>HT?e}%ROq0U2*vuiC$RrHfSYn8e<*cf^Nb|0^#leo
zLx3q!>I@l=BjOnm4D^YYPzQpS^6DCGA+IxG{=`3b*VP<MSp{KK3?+f45K(ljWN?is
z`q3m2<B*3P6GIF{%)vn@L<vy{1cW3Q3G6wj4gDd<(o%`4i3S;dp@9R+pa)`p*dR)w
zrP@-F|JDErFoeHAQ}2wQd_mhHU+%91`qBe<SVW>p2!Rp;WhD|Im_}isgpg=T011%_
zL8VfGrUHNfBnS{>21$}qf(TGzhz3SUQas`#*s6zYp$C-{7oD+XgC!(LXb{j8P)f*!
z>DpxpSqe&pmI5S-1fW8RrXnID5~Z3Mq=tkd6qE@e9`rxHqWINJQ^x>t*#Q$1pYVag
zf4~$ZN8$m&$zS@FKx{GMgSVX1{!m}-jE<aq$Q>D?9F>FVcXv@f#5|{<JpmtTH7Fq|
z3Sf{4?scMi3CJ2nm;j(cfmE%XsHOlD%>?u(ptGp|tmD>C_zfrf0i%}*4&%yD(hSK6
z5>pI?MNtw&RFniV6wo9jAuJ0JurRnV5)XW-3}f6}y>=-mc9b*D0;!TAX(=f$ro;;Y
z%>i&%2$cg896<1R(j@UZNk>Q!WIieTz#wCQm#2<<*q|rhgmfNpPVhUz0s?@B2oD#q
zF-3I)G6YObLo^XZOpqRA6S9AVe{mvJ<RPH-n5X$9K8SrmAGk-%VB^>y2x1!--;cj1
z86D6*88GscZ-bzZ)jNaKVA2%KiJ@h_7&?R&c&Yca+{efC5f4@Waq2iAmc&?|aBLO>
zL5=BM?TAqFCZ0*K>~I&5e#CH786PZic}WQ}0Sh&`<^$cik|RJSK##>JVZ*4yU{ue3
zIZo0UK~j1oIUE-RQ4>!NDv$4twltb+m-T{m*HgQAmOhUx40Nc6i3x>{0rJB3LljC8
zRLl^?LTfNI5eSEBLLqtp5)W}qaGjVe&cQwm7utdGM{MsrZ|U~~5I-E`FBt3Y4zIjF
zJblXf;H1JJg)860$NxGidJj)CsCtD?s1m7sm}M0nm@pEYFgZD#7cruv^&H{IZt+pl
z5PUhn9Rm^sdtk$`0s7@{TwW@UkN_Yu;lP0arib>C6pD=ihxebf1K=_y05#P}8x*BM
zPcyQSKiU?j0T)r&IGsH+#(PhQe%ByiG$DZq7dZs_%J=$L`=&pBI6QuwYuG;udp2g;
zm=0;emu_c6bMQovnBK_eCo4>t4266|VKKXKrwDE;Y(Nerl5vwzA0Iu9A-n>0C_-Z?
zyr^}PfPwJ~frIShhQ24>Wjd6~kx71=Aozgn#OvdM-@^kyVw5i>t2GEfg6hHKXcpxh
zDVUtVFah@N4tKVuK#D4$nC<}6!47<7Hr^<Oq%`QL_Mth#dw<p8qzxa!ZKH`qR8_>B
zgp>Vv8B#&%xabbtIT{JcRV+k9W|>cU2-wb$*X^Wj0s4k^NIXsn1xI`$WTZmFG>}RW
zDB=QvAS_8lK}(cmm|&IIaD+-fcklP-zXKe9zYn+}KWOY|(0-Oj;)TKp|7gjf{equ2
z14MQB9D2i<1`^Q25tc04(x!r@n?S@e%Up$VGO<Bg<5;||Gl3#_Q{+`0%aDJOJHg~i
zbWorm!UPHfzxy4_3T}k92yE~Z?~CaEX_^#9By_yzA_!mjx%$<BA}IM#oxn+$povf`
z+`rC3cI=O2Xh&Mne8(VV4#tT{4Y4dTzqFI+L!lqY=lA$05<%~CM@cxqWF-vGA&W?T
z>3SmW^&Uq9i3&LZ<m4lj1ceApG^{|(2dIlg07)1?V+9T;cLeY8FfWDzfmPr>7z9X#
zS^-iZ86F6*5a2aSN`)t_uq+;31@Cb9f#8Ru>DWFXd?lc$>}N!5A+`)>4JbCqPJ%F^
zZ}}pP!~6s<BuF^IXpTv)z+HeTH>nZ^gn)x{h)hF3RKgN6wKK{DnR19O+0M2}E<QYf
zLCAq2fe=#Kz?^SvNfM1IZ}tz(_wDZlnn!?`Ux(5iuLi^D|3ATnnF5;48$hT?okJ*l
z#2>*OedC8!L5UGTJQn9J67ZLmRRBR=UE!&MXoC{+1ChuRyvJ4-yuc?U&;r3FNsCDX
zAQLfM636tRmfj)Y)?THgd27eia7{rK5SD<<3VslS+BrdVUariwQ~-VCfv`X+AF6=x
zJKx({L<>4+`ZiKAgOwB%F~<R+h(ZDYC`ymv57(TSqaErOd)e^uZU{z1pU(ChX9B|o
z0X8UXp|Fjj(o($O&{~%b_R>EuvJLce%)rBIfxyH}BY(eVfKfRZ!vqSA5+em8JKV<z
zfGHvZKqMg02aBo6r1JjRBT4UvAI@j1txrmGeh`L6Q?3OM@4%nqQW8D9AbW99y9z`b
zh$kT()KliP`yk;&0t8Tyn-VmEKpza@C~}cQc&K6Z{8uEhfS;=9um{f$B1B(III5TJ
zdtRT;Ui)awB{5uIF&Cqa5t2cWZNODx3S7%<sUWBrlX!$Uf|x?UAYk(;qP(I4c0pA-
zh=5@f>qP4W`&dE)hnx={DdUwsGDZeR&KHtE?PKL4JduXsZwhs&Aef#s#WqgFK1~q6
zk}1lO+=Gc^^-l}bn#=IG4RKCt4WWG@`HFR6jQ6nwWgBPk9cgqkNhfDWe+CgRU*k4Y
zmDRXWpD7RNqsVRGzkGXQ>(n7?KXdeA7U@)~xG`|%dB3BuJX`k>#SbjuB(NNn8DxTG
zPB1~i!o17+_#6}|P~?UVaFl(Pnm{ZV87q5eL@`Aqi--%ZY$UP-65I*r6jLiP$pcU(
zl!#O`LID==fN7P98bk5e4v-Zmr*J4pSn-D-K>$MsaybudVNyv!<cO0ZrX~Us3N08f
zAUCK`_JTldHSNkDWceSc*I?Np3JNHrj`fQg1Fb<quwmJ)$&5a6oti<n0zn&0BdN{>
zLsZ<ETBewVP|%i^25=OHCY_;#j-2cEZayfsqWYCIG7XI~(I^{bI^|8^(?b|zl_66Q
zmHa!|@A(Zd(T8zAWf^Ck3H1ow4oDbx_YGnrgJukzI6lGyN?E{{w?AR9<IHS>+tNy5
zAHMSrV+;Go{G1M(WmMx6<qS{>3p&CaGy^0f6(O>w;Ul2eLl9gI<hdG4>@#f;i4ZQm
zh2J^~5{Van)%8}=C`9l(&drnuCdGJfzT?IK8o)GDt^u+g#7<C21+;>N^pq-OiYCNE
z3l4Tgw-h0dkQf5X5(;Ulz<$UiF^BjM(%_dO1`z$d-JFcTFnF;Xks}!^Ae$HsKirfM
zAXZ@ln2>WykaAl^n2NiS07Mdx-CV-p&>hEAG+cBm5ZogkUE#Q3aVC}?2EmhD1$;zQ
z_URfAXv8?Y0{yp=iP8Z42)LZ0Dx`{^K)n!qDw#@IU{Hc!^ac)1Akg;g27p1+iWq=K
zImH8dP~u_afOHTg3K;cjP>zffBB30p4GK^u<puy(ic&x*5g;%?iehLZLPP@rgn-Bl
z3;${U|C<l6h7CtnJ%bQ-Ip|-t5hNG{@d^~{fjHw1aw;f#$p=X?<`Gb!m~k;MJfZ`M
z#9lBIsO`xANPFhWhv=FhMm%sG{&-5?kp*h99*{k}c^lWxRfFQ86goWodYY*Tkd`Ql
zV2WvgA|L~)J-@%mLyLSNz-5Iy!*J&;6jHzep#}rQiG=9!5yT=yj0^~nqA*n<%sV>`
z&ItU1N+Y==BLx!(B#8l!sqKmW{9Xa*b`ki`u2ao#?l-aG!*5#3YNTo9c#oI!ewm(@
zRwNh*hu47m<dUdzW|^fqmHXbe!3w13s;Z*MJwXt1Vg_r^47gO*FoA4Cu=QjH*e4G5
zuSblkdD_zUG+W>mk5JXrm8Ks)lN$kHkeM<T%@HpJF-$;YH*jrZ=sr?-xMxI;XYCJ=
zV;Q!xxK0GYbfBZIv~?Q8VFc1day7k7dDwtlQT01!2S%s%JMh?J2Q+lMQOd}6km858
zVn&&rT!hGA7z`dNGRaaJgZs%v&m@9t#|OwvA%SC2v;6(FNHR2zHN0yP7*^Y}rr{fA
z$2?9cVHyU6cFAN4sU2}KEifU@`8(%1q}kFb&W8BNg~_E4dlWopW!G-4S3ey2bar2?
zj`PT%S?qYDGsv9u&5=SFaMp!ikosf`aO+a0jUAtmeF3*mkty?R@<FD_7tCl-*q|!q
zQY+l;DUqXV8Z79F_!YMb-KN)B4;iD~eK5YbCDI;+5;k=>+-Ttjm4@QNoF;=*20=Fb
zaHL6$_zL*#5p*E=^O=tx4<EI+r`Z6>jiv))2N+$oM078#b9@)}v<ye+);(9z>*Y^U
z8z>yWC<+Tw#wd^xzo~g-z?mF1_F#CNp0Wm2HR8|^J_5$n;bA~@a=-MQhZ9G4;Thri
z=;uE#hp_m0_DD&y=se@xf%;<zeiZ*ww1Pz?Lj<6)N=Zr(P~dVCVejw|?LqNBm=n)L
zP=ylAAW;w`t0XiH6B8t?473C+B`8xt5HVB`j7Y%B%tBK!GLRAl14tB5LZJduQjkDN
z08rEeNd-YDD+CA;1cXuyHBgkLG)x5{5Ft@WR45dJ5dc+0j1Z+GLLd~0O4R@n5R%Xg
z6b&O4GDx8k5Ci~1z)FZjBSI|z(xoai01!w73ZRF`f3_rwSfOB&83P4$S`%*gaqsW$
zR0G2Y5m1krL_JIcztF*FXO~cKMz+VM7M@6<3+i?by1TmK!}!=7@;H)BSq4rontb~e
z^W=~$fqeqi?@m0lQ*sVnY=J3E=O&QHGl|CbB!|X*3V;U)fQX)15$1<%A?E4#s_za0
zZUV=~0tPsLcpoXv6!aNU^&lH-%8KxZU{e&SMHCsjDS`N#_ArYQv<Q(P1h6O+QAtW<
z3POY;0%{<Lf*Bwnph2M`5UNy&FZGczAZck*3814w(=cA4H3LINs#nwie)^k^@@`C|
zr3g?fN(~_p0}!PvK+=S=01*ID6)HrElqqI8`iVX(dw?>(Nsa=sZb)w&K?%tYNR+71
ziv&bOM6(GnK@M}o-}riGuY<fOlPVOXi~xHwA)rPi5+FlHWSAmQ_`)ZsyOBOnJea5i
z$tovN|6&aUCHl~&A?Wz8{ojgh#|grN@P41H^_%qvQOg5NCXd)?UU6M<y2%iO$O>Ai
ziT^Rb)_=CJoJopb!nSRK1}#-Wf9()qT9W{PDE(#Y(jid^0Er>;m`#)X6Ze=u$npJq
zhtwUQ>hn5-xR33Tg~kFB18;vn%0eDV6aN|iF%b(gsqdU3&on1sb>N<I4XZLjllN`^
zFZjF^yRvIez%_`#5)-iCmt#M=4IHBzY?Pcg$0AQ-wGV9A2Z2PiEe7c-;{!;cMMNbA
zNU9u>MIQ7-(f|<wB+^6$QNkBQ1hgboMGZw$O*9b;Fc85kQxp{p69p{+^1^hK)TmI=
zQFkPxctmYPfJ2-ZehY|Atf80?<cGjJAQLCR2Xr+X<Nu4_v9>1hk`NR2AsQYuv_)M4
zX~Mcxx4^fyP83|<^lma=-Yh{w5ERnVQA0sgkqs0S6*U7vRE01}1O!6_EhzT&0ZOKX
zNPyDP>_2WW7|4|n0zgxSf$op$qg_qL8WI&N$|3;eS1xzU6rXSVursSX-42}UAmBjo
zL*2FuX204?f0m7~b%71oNe0+xT!Sn?^Nz(dC-iX3$Qo*zh(?9`M=$ts-YnG2D;p?K
zebh23p}66af@TPXp)^yVO<JO#-wDvLegBf2q(s+JmoRoCWI%#Nn(G(??!8EVHPe_(
zT%P@%X-W{XG2uI5Y=0^Kg9DGZ?Q!M)I6lHsfIlDX<lF=Y|NO-TWSLE53Xml{43fM5
z|NsC0|NsC0|NsC0|NsC0{{VC{gqWZp93tfzLvBC{A&k9mdh(2Y*46DT+czCtmhP+9
z-Z|Diw%OC#eb0}1^=s${KwE2Vc=qB!)3LgHhqg8ESDSr%-s^0A?jL=pzUQ{RpFH*s
z-p{r^yYIO4(k1PyZqL2$usvTe<E<2HP1{bNT$G;r>qE-<^n9Fc_RHS&H{Hv(y=MCK
z1Gs$oc};oR-(YHc-re@MzTbW3``hiTtL>+a3K{@(hzxT3cfGd2XacKSxwy7y4b|r6
zy7WB;l8^-Z05m$#l?0L~1q!7i01c^{-oe+WzV&r@9%VE!J$;4ShKEn5yO!R0D)+s?
z>MCm8xzMt)fRC~Fy>Maou<pJ0xRnV@?{w#0+n!-SBB-SlrBDh}!VaFj2U=ZaDbrF_
zb-sM}v;p9ON&o;TssKo!06yA9Q6RUsEZE(+pbw^si1xq$0E^QBy9ZDR8#+1xB2<>P
z`?TNz=+Pn-R&5k$bO0Q+rBy4YeD8OtqN-FXfU2Mbt%U<npaDe}U>XW4sDxDoAtBcK
z?eD$a&iJX*6j14^kfMR}-QfG*TpxYjr&q6M-zx82TNOslkA;RRr3FzcdKp@Md(9{k
z4QuK5O=Hl#fb^jiT?LGksn(*Rh*X3X&5D4iloS92y$a9-L$Is?w&|dhdmEt5n6GEE
zZ~&kb0D8euO@X`NeV)rNo1@STJ$c^GI$ibg_F0qN+t<$Bm#Xqon+y~H0Yjh~0{7e=
z_5cFbA6e~{C%f)bzW5GR-s`fhYCs840H7#6-QBbW2z~7PZ61{cR;=B=Z+uriA4_l#
zTgj|ayVu<1dQR)@-uK2X^FH^`J=^ZmQ6b*?aC)U(y}0Ip22zD**K<3!zUK4iw^!5F
z_Vo9+uTFLEijTSPdZAJ|d)D{8oI6`Ygh4dOdeU_Fyx>>15Tc8FxqIiGUtaqy-+bRv
zzKz8^Us!W{vB|3&x83gRV_V%{Og^2k*TqPU%pUi-_AuwE_1kY}ToCTZ#qT}Ob-iMG
zJ?h7kN0*)5ZSFDj`{K_!v*~)(+a%+=&!2BTj=OwZ9aV`^i3+Q%MaWx2UeniB&hK)0
z?R$3A`|SDcqMuxqbe1V`o$0ObA9>$L+g-lrUwhr|!>XTqk5slZ(e1?TS6aU7?(}`{
zy}jqtJydfJRUd2KJ8y1YZGH3B_I;ZA*6({ht)9AXuzPOP?=)vKwf8yRx!cycRoHY#
zvv&8>L(WOQuGQY{Ru0}=w^ML*-GsXUXT5{ZRUv(JbsN-Msk-PpVRvpC9*=e(UGmo3
znKy9m+uU*Qc6X<~&ieB}FL#f-u6;hLh3%qhJ?iCpw(WPPCGNf6*F;&`k|$#-mdv)h
zg6{`S?|S!H+h=j^0Cq~A^PDGzluNqV?hjsX8(JWCW4i7%^O~*O-ZvTVUL8*-q2Aga
ztg2uD0q1#+?cHwI8?foUmIpgCZgOL84{y1h_WQx^`|o#qx_}>jXWM`p05Ut>#@k0n
zq>P#r0344&%RQ7nfCoxD?Os)T03T1M-)%Z)&$teKy_Q`2ThCgz0qLyUyJoP88~_hY
zj+QAiVlPG8&mPZsHR-PI=Cn2Ld&j-C2LaR5&h8tzJK5`FHECuXpI`ysFCT4z-dly@
z-i}>;xCB7x55DhJd5s=%(Zy+ko3=VsdvHAKo?ZY0Tkdjm4A<7+02|ky`)c04K0UQ-
zI_|Z#cRlZY=f|&0-fvpRyL5WHrsH1mqqgt?)ak(2yYAI|_0ITdfB*#UZ~$-}&Fz%-
z_jhI#r=SCR@2!_>PWuC$*>Rr()dAaP%VW?l3d>cez3)2SRSIRMge{h9yK>gfdTpv2
z=exUSXMOJbeZKp{?`qz|bC=IO+jWnu?R)Ke&eMR^=WaKx*2Iw7ueW!;_qgvTx!YaM
zvs1Y3tZ7!E?`>~HuHD0zeTREJ3I|#OzUCKsy6IW0uU&d+;h_)!Dw(Z5*zj+2hWodP
z8KVH3WLpM}s5BPd?zyb>3G2cSXM42py;*mA+K~@zQ)JDdY^%iweTh4e6c4+4ee)>w
z%I!~Wd758$a=sg_(DVQR3N=~)29AI<D9r;4cGoBl?hd8tuH~0&Mu4o>yKyR54JDiH
zy}dqrbDYDYKqc#MeMG7Ue9ty%Kmhr$=pD-d`rh@LbM1gWsX(WFZ>KA_d)zk9KINdB
zY|TB7uD#zLUAmsi6}UZnruVnF^6tytbtLp;Mee*fJ9^H#ske59`V<Geg@6D63IHCP
ztoi@|dE0%u9T~O0TRXbuW&p?yTz%ufUh}%T_1$eO$YHN(zyJ<_ZO%>i1G-uD-6>yF
zJ-y4@X;ccdv8^3%edg~zCWQAK>4#l9?!n%gr*FNvJWG|j;I;DOM!LP)XvbfDz;q8)
zcTU~)JG&;0Z@!Q|pG^*5QQ!pKHz1Yt-P=wdL(uI$bGr#m5I_O~049J0&;c3%5tMo+
zLnOgZQ_!A?ko7$#)jbFR000002@paEAWZ;4F*FlROaM$xPa1#~H;JjK?5NG5LFzqB
zPgB%-Xqo^T00000k*JbEG)$+E(llrZ<e4&hnq^NlG{9;CdYDf_GHp#gOietRC#cN`
z^$h^f27#uUdYLgFst8F%5J3V{^pn9FX(zQ9A}~WH(l()>XlQAshCpZ<VhsQQ00000
z0u+?U5D+F1X`oC-gHts$!l&t~ev?d1H9V%mOiFts%#o(mKPb`apQzLTGynhq03k?-
zDT0_3W`$4HQ~Wek{Fo}A<e8N8)ipoVr{Poe9;fPQsRyQMC!sXcOoK*2>Hq)$&;S5_
zAL@CiTR*Xb08~m8vZ$6^LeOj}Xvi{&GhZU2Syd$kC)%i+1yayZeN_`_n4qXAq7itY
zqPqf#_$8SK01asTyl>8aZ{z+p@A%>m<96<GQExKm4)J$*hnXico1A9qaAD=tvTfC3
zs`FSU1!l-GxQ-eIfuRiu2uPY01f`ZLAwV9a2_z8uAP~4o2w;Vjkc#7Z);Ef)wnT7X
z<2RYCJG>I}lFTxuD>-u&4d#qwvJ75oaho%F#$c+<)6VTABWM78$kc#v3QY@2h!F}a
zK|qO01p`VgDgh89N;HW`OvD2Kq#~(GBE$$30IN(wsM0C$gvk*?fdTQ9Kn#%uN(BTY
z6({nt3LJze?gd0lL16(Ca*BZ9R8Ka5l2b#3fD>#9LM#Cy0zb1@ihg+zQ&NiYc$72l
z05rF1BqU-A8ImAiibN!xNTK}8LVwi6LUfp-*)64|DG8AK=2`o{yZSUgI7AU`SyLFR
z7qiF5o4QJ_cX1mv#xeg>acPB7rW7|#a+7j5cP?5o%F|6vcP%WTimOu6FAv$az|cCd
z@9dq_G4ZM7xQb>wMPvLP4v+J%nR~Z-Xy>CCpZ3{w!p?J}Ry*)ArmYo`Nq;9AHWYS)
zCI~IqoDdlaLeLd^IG~`a@Ywx!k-m0ii75z{fM%rsG?+jYZJF`P`5`qS!VcYK1rL%8
z@c(wbFz}j6JLCP6{z!UpfnD=2kvo`fI-Fq|qYxmNAZ@S^pzc#5Vp~oEB@gazGnU_f
zr<LU!ZNJC;EY9EAdbIbM%VCS-?=O+LUmKWQsyZead+3&11!i4zz~4Izw)>lT^NI{m
ze95Qh7^0W`Tm~ux<~NHe)mnSh%1e~}dIz_&Xj*&SGdz=+34ZW*nnS!dM8#R%^x8b}
zqd}8WZ5SQcnGFpmSabg;!K38qgmWxgmS$t!(>m;8Q(Y>knpu)8fXz`OdEY*GS8b!p
z$2Hx%tsUB-;tB)F4Fw72czZxJF;JCBK+;f9u>?T&MVOKIu_tRILeMY4Q1kY9?pu5L
zjI=GedB%M)gq!CxL1FK@S{Vo<CFnyjhNnR$_Zs7N<F<1|%pYr2K|@-;X#Yx0!@r-t
zon5$0rY3*lz~q6V40$G+C``en`t}Y<)(EI5*$@T?eFhW<qz*&4FpZGHeRCqAY%TEs
zp2qGPGm>X+g)}8iLqO0IyRT3+08^>WYtr80nm%X>8N47tZ)f%rX0lh>>KUD$NcG?8
zCC8tt((7FspgT}D+D-N$ls)}&%VB4VIPJ?e(sfO_rLrt3i$AHgOs81f<_=ETh}v^9
zmTjfp+bPhJ-?>Q8?Z$HL-6L>zaxAwHt(N7sOh^558N=F4W<2ZH(3gugc$n7FaS5_3
z7hXocC%Sa+Q4t6V$J{yNZ0?V9|G?ETm*W`@LE$OE(_UUWstUJ%MTgbB4o?`4wLKbj
zwL>Nwiib`I&EFKRnCUQZeQOI3MM7_OOb)1?Op9x3*3MGq245QE5!PYVa{2ovJ#rVd
zOyhFbwUBAa%)=CH=Sfs;Z4z!{cVOCWg7T}euBxZq@0m2|^G;xbO(}BegxmzOQBet~
zo^d(3GQfG6X<185`u8!9gBeO<(&FVG8q(cT={r^m)mStK%;=%_U@Owa^<**LCVWVP
zE(?4dLBw3Ai6FL8Xl*7ISXvhn_o0};de;r`W?Zt3QrcS54T8oNwCf?(18J{y-wyo9
z6gqS=q3Gd+&v?oD;IFx?5`%biXsJTkloP5)7<?Fp9%no3VJX+CnR<gDo=oqvHE7t6
zotY2ra|{B*zt2t061Csqc5B1>&n(N4r;5>=(z0Mp{{}-0=x7gv_8#x2jOKoj<^LpL
zv8cuIecSuS+|+f5EeGPc&cNB&Dt8x<37kOSnoeHNaDUnqh758q^RZzfX14#w{^qrt
z{wi2+#evvI(X9dsa@mcOkbSUa|C2IEHOD>);6y?YTYHX+?M%KXPv(Uu)81k9ZXVRa
z+EY~JIAOTW(+m};jj<Nn+M1<z(0*S7l$@myY9K35@e*_&)3lLmQ3+a20nn%0v`8H~
zJ%IL3fTC^-K|yRQpm0SlhQ+F2#D<5x_qn=f&$Elbg9wNzDGvxZv#vxuxI_!(tWM{s
z@pWyka9IvIYZf-19Hh;8H)maSbsm2I^H0KOjbsv7_}!+xgzTwwlacm0+=<odtVjNt
zkFoUPq>Oq--1{-LMZvV~P+Nz8&Or^`N_)WqVnX*s%y_vrtGX9dCut-ZQy&qIp!0R*
z{>+kHd1uh=i&HKxI><v!iv<KY^Ncp8y5cRZ>BQXgq@?8@LkDE_ynoZ(J$bKhIodOb
z>axmeTyx-bBMOVgoh`$XA)(8toSvOvHE<5WAc8~N9HXfzPf~Vs1;an-HN!3jbZu_o
z@f##zS5wkG8pZ@Sj{9=0@XIF%H~ke~o%f#mGg#b<7(`}z(KO--^@Nvp8#4?HW+o8n
zscUkjrZV}6a@hgb6!OX@=jh^<M9<Dqx7WNFq_N{V6x1Z=&*A@f{n<6KtwCS+#vS&B
zW;|el{34ErS>MFVQv=l~<she>YGI|OVV8`y#>U83ZMt<Qah|PbP&?at`OyH~u=Hq_
zd-^Cvu>a5Z#J53-9|orBqx0HrM|09v6txuq#uC>|mtav%8{Dqnj22>N3@?3|*r!uB
z2eQlFvyw=idg?k^xNNd!R-ZRe;jvFpljj6y5lyG-9O%|D!M36n9xUcUOGQaGA4}SC
zowE-Os)f&3H$@#ES`4)emZ82N_`P0<%iY&v4P232*p6Bur7;H>ir7%~*Y7&{(lW!_
z;k3S?X>@Wf%^end$h9%n0%x(P7ejXe3~;cHEVPrzc}%dpn?`+tflf7*L7O<F7%0Ac
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%0DT|3=eT_)2egOzb?((4H<<uA2z`CO
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%0DgQHpdw
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

diff --git a/scripts/Make.inc b/scripts/Make.inc
deleted file mode 100644
index e1b03d56..00000000
--- a/scripts/Make.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-HFILES=
-
-CCFILES=
diff --git a/scripts/filelist b/scripts/filelist
index e6a7993d..a8dcbd2a 100755
--- a/scripts/filelist
+++ b/scripts/filelist
@@ -3,8 +3,8 @@
 home=`pwd`
  
 cd $home/lib
-HFILES=`find . -type f -name '*.h' -not -path '*/Old/*'`
-HFILES="$HFILES Config.h"
+HFILES=`find . -type f -name '*.h' -not -path '*/Old/*' -not -path '*/Eigen/*'`
+HFILES="$HFILES"
 CCFILES=`find . -type f -name '*.cc' -not  -name '*ommunicator*.cc'`
 echo> Make.inc
 echo HFILES=$HFILES >> Make.inc
@@ -18,16 +18,13 @@ dirs=`find . -type d `
 for subdir in $dirs
 do
 
-pwd
-echo subdir is $subdir of $dirs
-
 cd $home/tests/$subdir
 
 TESTS=`ls T*.cc`
 TESTLIST=`echo ${TESTS} | sed s/.cc//g `
 
-echo > Make.inc
-echo bin_PROGRAMS += ${TESTLIST} | sed s/Test_zmm//g >> Make.inc
+echo noinst_PROGRAMS  = > Make.inc
+echo noinst_PROGRAMS += ${TESTLIST} >> Make.inc
 echo >> Make.inc
 for f in $TESTS
 do
diff --git a/scripts/update_eigen.sh b/scripts/update_eigen.sh
new file mode 100755
index 00000000..d1338e4d
--- /dev/null
+++ b/scripts/update_eigen.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+
+if (( $# != 1 )); then
+    echo "usage: `basename $0` <archive>" 1>&2
+    exit 1
+fi
+ARC=$1
+
+INITDIR=`pwd`
+rm -rf lib/Eigen
+ARCDIR=`tar -tf ${ARC} | head -n1 | sed -e 's@/.*@@'`
+tar -xf ${ARC}
+cd ${ARCDIR}
+(tar -cf - Eigen --exclude='*.txt' 2>/dev/null) | tar -xf - -C ../lib/
+cd ../lib
+echo 'eigen_files =\' > Eigen.inc
+find Eigen -type f -print | sed 's/^/  /;$q;s/$/ \\/' >> Eigen.inc
+cd ${INITDIR}
+rm -rf ${ARCDIR}
diff --git a/tests/IO/Make.inc b/tests/IO/Make.inc
deleted file mode 100644
index dedf89e3..00000000
--- a/tests/IO/Make.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-
-bin_PROGRAMS += Test_nersc_io Test_serialisation
-
-
-Test_nersc_io_SOURCES=Test_nersc_io.cc
-Test_nersc_io_LDADD=-lGrid
-
-
-Test_serialisation_SOURCES=Test_serialisation.cc
-Test_serialisation_LDADD=-lGrid
-
diff --git a/tests/IO/Makefile.am b/tests/IO/Makefile.am
index 69121a8b..d7ccf25f 100644
--- a/tests/IO/Makefile.am
+++ b/tests/IO/Makefile.am
@@ -1,9 +1,5 @@
 # additional include paths necessary to compile the C++ library
 
-bin_PROGRAMS =
-SUBDIRS =
-
-AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
 if USE_LAPACK
diff --git a/tests/Make.inc b/tests/Make.inc
deleted file mode 100644
index 2be1afae..00000000
--- a/tests/Make.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-
-bin_PROGRAMS += Test_cshift Test_dwf_mixedcg_prec Test_simd Test_stencil
-
-
-Test_cshift_SOURCES=Test_cshift.cc
-Test_cshift_LDADD=-lGrid
-
-
-Test_dwf_mixedcg_prec_SOURCES=Test_dwf_mixedcg_prec.cc
-Test_dwf_mixedcg_prec_LDADD=-lGrid
-
-
-Test_simd_SOURCES=Test_simd.cc
-Test_simd_LDADD=-lGrid
-
-
-Test_stencil_SOURCES=Test_stencil.cc
-Test_stencil_LDADD=-lGrid
-
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 24bc9190..cee0a656 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,16 +1,9 @@
-# additional include paths necessary to compile the C++ library
-
-#SUBDIRS = core
-
-# Uncomment to enable complete test suite build
 SUBDIRS = core forces hmc solver debug	
 
 if BUILD_CHROMA_REGRESSION
   SUBDIRS+= qdpxx
 endif
-bin_PROGRAMS =
 
-AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
 if USE_LAPACK
diff --git a/tests/core/Make.inc b/tests/core/Make.inc
deleted file mode 100644
index c139f44b..00000000
--- a/tests/core/Make.inc
+++ /dev/null
@@ -1,83 +0,0 @@
-
-bin_PROGRAMS += Test_GaugeAction Test_RectPlaq Test_cf_coarsen_support Test_checker Test_contfrac_even_odd Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_even_odd Test_dwf_rb5d Test_gamma Test_gparity Test_gpwilson_even_odd Test_lie_generators Test_main Test_quenched_update Test_rng Test_rng_fixed Test_wilson_even_odd Test_wilson_tm_even_odd
-
-
-Test_GaugeAction_SOURCES=Test_GaugeAction.cc
-Test_GaugeAction_LDADD=-lGrid
-
-
-Test_RectPlaq_SOURCES=Test_RectPlaq.cc
-Test_RectPlaq_LDADD=-lGrid
-
-
-Test_cf_coarsen_support_SOURCES=Test_cf_coarsen_support.cc
-Test_cf_coarsen_support_LDADD=-lGrid
-
-
-Test_checker_SOURCES=Test_checker.cc
-Test_checker_LDADD=-lGrid
-
-
-Test_contfrac_even_odd_SOURCES=Test_contfrac_even_odd.cc
-Test_contfrac_even_odd_LDADD=-lGrid
-
-
-Test_cshift_red_black_SOURCES=Test_cshift_red_black.cc
-Test_cshift_red_black_LDADD=-lGrid
-
-
-Test_cshift_red_black_rotate_SOURCES=Test_cshift_red_black_rotate.cc
-Test_cshift_red_black_rotate_LDADD=-lGrid
-
-
-Test_cshift_rotate_SOURCES=Test_cshift_rotate.cc
-Test_cshift_rotate_LDADD=-lGrid
-
-
-Test_dwf_even_odd_SOURCES=Test_dwf_even_odd.cc
-Test_dwf_even_odd_LDADD=-lGrid
-
-
-Test_dwf_rb5d_SOURCES=Test_dwf_rb5d.cc
-Test_dwf_rb5d_LDADD=-lGrid
-
-
-Test_gamma_SOURCES=Test_gamma.cc
-Test_gamma_LDADD=-lGrid
-
-
-Test_gparity_SOURCES=Test_gparity.cc
-Test_gparity_LDADD=-lGrid
-
-
-Test_gpwilson_even_odd_SOURCES=Test_gpwilson_even_odd.cc
-Test_gpwilson_even_odd_LDADD=-lGrid
-
-
-Test_lie_generators_SOURCES=Test_lie_generators.cc
-Test_lie_generators_LDADD=-lGrid
-
-
-Test_main_SOURCES=Test_main.cc
-Test_main_LDADD=-lGrid
-
-
-Test_quenched_update_SOURCES=Test_quenched_update.cc
-Test_quenched_update_LDADD=-lGrid
-
-
-Test_rng_SOURCES=Test_rng.cc
-Test_rng_LDADD=-lGrid
-
-
-Test_rng_fixed_SOURCES=Test_rng_fixed.cc
-Test_rng_fixed_LDADD=-lGrid
-
-
-Test_wilson_even_odd_SOURCES=Test_wilson_even_odd.cc
-Test_wilson_even_odd_LDADD=-lGrid
-
-
-Test_wilson_tm_even_odd_SOURCES=Test_wilson_tm_even_odd.cc
-Test_wilson_tm_even_odd_LDADD=-lGrid
-
diff --git a/tests/core/Makefile.am b/tests/core/Makefile.am
index 69121a8b..d7ccf25f 100644
--- a/tests/core/Makefile.am
+++ b/tests/core/Makefile.am
@@ -1,9 +1,5 @@
 # additional include paths necessary to compile the C++ library
 
-bin_PROGRAMS =
-SUBDIRS =
-
-AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
 if USE_LAPACK
diff --git a/tests/debug/Make.inc b/tests/debug/Make.inc
deleted file mode 100644
index bb84690d..00000000
--- a/tests/debug/Make.inc
+++ /dev/null
@@ -1,35 +0,0 @@
-
-bin_PROGRAMS += Test_cayley_cg Test_cayley_coarsen_support Test_cayley_even_odd Test_cayley_even_odd_vec Test_cayley_ldop_cr Test_cheby Test_synthetic_lanczos 
-
-
-Test_cayley_cg_SOURCES=Test_cayley_cg.cc
-Test_cayley_cg_LDADD=-lGrid
-
-
-Test_cayley_coarsen_support_SOURCES=Test_cayley_coarsen_support.cc
-Test_cayley_coarsen_support_LDADD=-lGrid
-
-
-Test_cayley_even_odd_SOURCES=Test_cayley_even_odd.cc
-Test_cayley_even_odd_LDADD=-lGrid
-
-
-Test_cayley_even_odd_vec_SOURCES=Test_cayley_even_odd_vec.cc
-Test_cayley_even_odd_vec_LDADD=-lGrid
-
-
-Test_cayley_ldop_cr_SOURCES=Test_cayley_ldop_cr.cc
-Test_cayley_ldop_cr_LDADD=-lGrid
-
-
-Test_cheby_SOURCES=Test_cheby.cc
-Test_cheby_LDADD=-lGrid
-
-
-Test_synthetic_lanczos_SOURCES=Test_synthetic_lanczos.cc
-Test_synthetic_lanczos_LDADD=-lGrid
-
-
-Test_zmm_SOURCES=Test_zmm.cc
-Test_zmm_LDADD=-lGrid
-
diff --git a/tests/debug/Makefile.am b/tests/debug/Makefile.am
index 69121a8b..d7ccf25f 100644
--- a/tests/debug/Makefile.am
+++ b/tests/debug/Makefile.am
@@ -1,9 +1,5 @@
 # additional include paths necessary to compile the C++ library
 
-bin_PROGRAMS =
-SUBDIRS =
-
-AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
 if USE_LAPACK
diff --git a/tests/debug/Test_zmm.cc b/tests/debug/Test_zmm.cc
index 2ddd66c3..a3147509 100644
--- a/tests/debug/Test_zmm.cc
+++ b/tests/debug/Test_zmm.cc
@@ -26,12 +26,15 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     *************************************************************************************/
     /*  END LEGAL */
 #include <Grid/Grid.h>
-#include <PerfCount.h>
+#include <Grid/PerfCount.h>
+
+#ifdef TEST_ZMM
 
 int main(int argc,char **argv)
 {
   return 0;
 }
+
 #if 0
 #include <simd/Intel512wilson.h>
 using namespace Grid;
@@ -481,5 +484,12 @@ void WilsonDslashAvx512F(void *ptr1,void *ptr2,void *ptr3)
 
   return;
 }
-
+#endif
+#else
+int main(int argc, char **argv)
+{
+  std::cerr << "error: no ZMM test for the selected architecture" << std::endl;
+
+  return 1;
+}
 #endif
diff --git a/tests/forces/Make.inc b/tests/forces/Make.inc
deleted file mode 100644
index 0ccbeade..00000000
--- a/tests/forces/Make.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-
-bin_PROGRAMS += Test_contfrac_force Test_dwf_force Test_dwf_gpforce Test_gp_rect_force Test_gpdwf_force Test_gpwilson_force Test_partfrac_force Test_rect_force Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi
-
-
-Test_contfrac_force_SOURCES=Test_contfrac_force.cc
-Test_contfrac_force_LDADD=-lGrid
-
-
-Test_dwf_force_SOURCES=Test_dwf_force.cc
-Test_dwf_force_LDADD=-lGrid
-
-
-Test_dwf_gpforce_SOURCES=Test_dwf_gpforce.cc
-Test_dwf_gpforce_LDADD=-lGrid
-
-
-Test_gp_rect_force_SOURCES=Test_gp_rect_force.cc
-Test_gp_rect_force_LDADD=-lGrid
-
-
-Test_gpdwf_force_SOURCES=Test_gpdwf_force.cc
-Test_gpdwf_force_LDADD=-lGrid
-
-
-Test_gpwilson_force_SOURCES=Test_gpwilson_force.cc
-Test_gpwilson_force_LDADD=-lGrid
-
-
-Test_partfrac_force_SOURCES=Test_partfrac_force.cc
-Test_partfrac_force_LDADD=-lGrid
-
-
-Test_rect_force_SOURCES=Test_rect_force.cc
-Test_rect_force_LDADD=-lGrid
-
-
-Test_wilson_force_SOURCES=Test_wilson_force.cc
-Test_wilson_force_LDADD=-lGrid
-
-
-Test_wilson_force_phiMdagMphi_SOURCES=Test_wilson_force_phiMdagMphi.cc
-Test_wilson_force_phiMdagMphi_LDADD=-lGrid
-
-
-Test_wilson_force_phiMphi_SOURCES=Test_wilson_force_phiMphi.cc
-Test_wilson_force_phiMphi_LDADD=-lGrid
-
diff --git a/tests/forces/Makefile.am b/tests/forces/Makefile.am
index 69121a8b..d7ccf25f 100644
--- a/tests/forces/Makefile.am
+++ b/tests/forces/Makefile.am
@@ -1,9 +1,5 @@
 # additional include paths necessary to compile the C++ library
 
-bin_PROGRAMS =
-SUBDIRS =
-
-AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
 if USE_LAPACK
diff --git a/tests/hmc/Make.inc b/tests/hmc/Make.inc
deleted file mode 100644
index a23457b4..00000000
--- a/tests/hmc/Make.inc
+++ /dev/null
@@ -1,71 +0,0 @@
-
-bin_PROGRAMS += Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_multishift_sqrt Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio
-
-
-Test_hmc_EODWFRatio_SOURCES=Test_hmc_EODWFRatio.cc
-Test_hmc_EODWFRatio_LDADD=-lGrid
-
-
-Test_hmc_EODWFRatio_Gparity_SOURCES=Test_hmc_EODWFRatio_Gparity.cc
-Test_hmc_EODWFRatio_Gparity_LDADD=-lGrid
-
-
-Test_hmc_EOWilsonFermionGauge_SOURCES=Test_hmc_EOWilsonFermionGauge.cc
-Test_hmc_EOWilsonFermionGauge_LDADD=-lGrid
-
-
-Test_hmc_EOWilsonRatio_SOURCES=Test_hmc_EOWilsonRatio.cc
-Test_hmc_EOWilsonRatio_LDADD=-lGrid
-
-
-Test_hmc_GparityIwasakiGauge_SOURCES=Test_hmc_GparityIwasakiGauge.cc
-Test_hmc_GparityIwasakiGauge_LDADD=-lGrid
-
-
-Test_hmc_GparityWilsonGauge_SOURCES=Test_hmc_GparityWilsonGauge.cc
-Test_hmc_GparityWilsonGauge_LDADD=-lGrid
-
-
-Test_hmc_IwasakiGauge_SOURCES=Test_hmc_IwasakiGauge.cc
-Test_hmc_IwasakiGauge_LDADD=-lGrid
-
-
-Test_hmc_RectGauge_SOURCES=Test_hmc_RectGauge.cc
-Test_hmc_RectGauge_LDADD=-lGrid
-
-
-Test_hmc_WilsonFermionGauge_SOURCES=Test_hmc_WilsonFermionGauge.cc
-Test_hmc_WilsonFermionGauge_LDADD=-lGrid
-
-
-Test_hmc_WilsonGauge_SOURCES=Test_hmc_WilsonGauge.cc
-Test_hmc_WilsonGauge_LDADD=-lGrid
-
-
-Test_hmc_WilsonRatio_SOURCES=Test_hmc_WilsonRatio.cc
-Test_hmc_WilsonRatio_LDADD=-lGrid
-
-
-Test_multishift_sqrt_SOURCES=Test_multishift_sqrt.cc
-Test_multishift_sqrt_LDADD=-lGrid
-
-
-Test_remez_SOURCES=Test_remez.cc
-Test_remez_LDADD=-lGrid
-
-
-Test_rhmc_EOWilson1p1_SOURCES=Test_rhmc_EOWilson1p1.cc
-Test_rhmc_EOWilson1p1_LDADD=-lGrid
-
-
-Test_rhmc_EOWilsonRatio_SOURCES=Test_rhmc_EOWilsonRatio.cc
-Test_rhmc_EOWilsonRatio_LDADD=-lGrid
-
-
-Test_rhmc_Wilson1p1_SOURCES=Test_rhmc_Wilson1p1.cc
-Test_rhmc_Wilson1p1_LDADD=-lGrid
-
-
-Test_rhmc_WilsonRatio_SOURCES=Test_rhmc_WilsonRatio.cc
-Test_rhmc_WilsonRatio_LDADD=-lGrid
-
diff --git a/tests/hmc/Makefile.am b/tests/hmc/Makefile.am
index 69121a8b..d7ccf25f 100644
--- a/tests/hmc/Makefile.am
+++ b/tests/hmc/Makefile.am
@@ -1,9 +1,5 @@
 # additional include paths necessary to compile the C++ library
 
-bin_PROGRAMS =
-SUBDIRS =
-
-AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
 if USE_LAPACK
diff --git a/tests/qdpxx/Make.inc b/tests/qdpxx/Make.inc
deleted file mode 100644
index 7183365c..00000000
--- a/tests/qdpxx/Make.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-
-bin_PROGRAMS += Test_qdpxx_loops_staples Test_qdpxx_munprec
-
-
-Test_qdpxx_loops_staples_SOURCES=Test_qdpxx_loops_staples.cc
-Test_qdpxx_loops_staples_LDADD=-lGrid
-
-
-Test_qdpxx_munprec_SOURCES=Test_qdpxx_munprec.cc
-Test_qdpxx_munprec_LDADD=-lGrid
-
diff --git a/tests/qdpxx/Makefile.am b/tests/qdpxx/Makefile.am
index f3f797fa..c0119c40 100644
--- a/tests/qdpxx/Makefile.am
+++ b/tests/qdpxx/Makefile.am
@@ -1,6 +1,6 @@
 # additional include paths necessary to compile the C++ library
 
-AM_CXXFLAGS = -I$(top_srcdir)/include `chroma-config --cxxflags`
+AM_CXXFLAGS = `chroma-config --cxxflags`
 AM_LDFLAGS = -L$(top_builddir)/lib `chroma-config --ldflags` `chroma-config --libs`
-bin_PROGRAMS=
+
 include Make.inc
diff --git a/tests/solver/Make.inc b/tests/solver/Make.inc
deleted file mode 100644
index 197497d3..00000000
--- a/tests/solver/Make.inc
+++ /dev/null
@@ -1,55 +0,0 @@
-
-bin_PROGRAMS += Test_cf_cr_unprec Test_contfrac_cg Test_dwf_cg_prec Test_dwf_cg_schur Test_dwf_cg_unprec Test_dwf_cr_unprec Test_dwf_fpgcr Test_dwf_hdcr Test_dwf_lanczos Test_wilson_cg_prec Test_wilson_cg_schur Test_wilson_cg_unprec Test_wilson_cr_unprec
-
-
-Test_cf_cr_unprec_SOURCES=Test_cf_cr_unprec.cc
-Test_cf_cr_unprec_LDADD=-lGrid
-
-
-Test_contfrac_cg_SOURCES=Test_contfrac_cg.cc
-Test_contfrac_cg_LDADD=-lGrid
-
-
-Test_dwf_cg_prec_SOURCES=Test_dwf_cg_prec.cc
-Test_dwf_cg_prec_LDADD=-lGrid
-
-
-Test_dwf_cg_schur_SOURCES=Test_dwf_cg_schur.cc
-Test_dwf_cg_schur_LDADD=-lGrid
-
-
-Test_dwf_cg_unprec_SOURCES=Test_dwf_cg_unprec.cc
-Test_dwf_cg_unprec_LDADD=-lGrid
-
-
-Test_dwf_cr_unprec_SOURCES=Test_dwf_cr_unprec.cc
-Test_dwf_cr_unprec_LDADD=-lGrid
-
-
-Test_dwf_fpgcr_SOURCES=Test_dwf_fpgcr.cc
-Test_dwf_fpgcr_LDADD=-lGrid
-
-
-Test_dwf_hdcr_SOURCES=Test_dwf_hdcr.cc
-Test_dwf_hdcr_LDADD=-lGrid
-
-
-Test_dwf_lanczos_SOURCES=Test_dwf_lanczos.cc
-Test_dwf_lanczos_LDADD=-lGrid
-
-
-Test_wilson_cg_prec_SOURCES=Test_wilson_cg_prec.cc
-Test_wilson_cg_prec_LDADD=-lGrid
-
-
-Test_wilson_cg_schur_SOURCES=Test_wilson_cg_schur.cc
-Test_wilson_cg_schur_LDADD=-lGrid
-
-
-Test_wilson_cg_unprec_SOURCES=Test_wilson_cg_unprec.cc
-Test_wilson_cg_unprec_LDADD=-lGrid
-
-
-Test_wilson_cr_unprec_SOURCES=Test_wilson_cr_unprec.cc
-Test_wilson_cr_unprec_LDADD=-lGrid
-
diff --git a/tests/solver/Makefile.am b/tests/solver/Makefile.am
index 69121a8b..d7ccf25f 100644
--- a/tests/solver/Makefile.am
+++ b/tests/solver/Makefile.am
@@ -1,9 +1,5 @@
 # additional include paths necessary to compile the C++ library
 
-bin_PROGRAMS =
-SUBDIRS =
-
-AM_CXXFLAGS = -I$(top_srcdir)/include
 AM_LDFLAGS = -L$(top_builddir)/lib
 
 if USE_LAPACK

From 49b5c49851f1c773b6208ae8b815733cd88947ee Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Sun, 31 Jul 2016 12:37:33 +0100
Subject: [PATCH 078/295] Checked the hermiticity of the op in derivative, ok

Still CG fails to converge
---
 lib/Make.inc                                |  2 +-
 lib/qcd/action/pseudofermion/TwoFlavour.h   | 11 +++---
 lib/qcd/hmc/HmcRunner.h                     |  6 +--
 lib/qcd/hmc/integrators/Integrator.h        | 13 +++----
 lib/qcd/representations/adjoint.h           | 41 +++++++++++++--------
 tests/Test_hmc_WilsonAdjointFermionGauge.cc | 12 +++---
 6 files changed, 47 insertions(+), 38 deletions(-)

diff --git a/lib/Make.inc b/lib/Make.inc
index c99906f3..7ecb68cf 100644
--- a/lib/Make.inc
+++ b/lib/Make.inc
@@ -1,4 +1,4 @@
 
-HFILES=./tensors/Tensor_extract_merge.h ./tensors/Tensor_exp.h ./tensors/Tensor_index.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_determinant.h ./tensors/Tensor_outer.h ./tensors/Tensor_trace.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_logical.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_class.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith.h ./tensors/Tensor_unary.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_traits.h ./stencil/Lebesgue.h ./PerfCount.h ./Communicator.h ./simd/Grid_vector_types.h ./simd/Grid_qpx.h ./simd/Grid_imci.h ./simd/Grid_avx.h ./simd/Grid_empty.h ./simd/Intel512single.h ./simd/Grid_vector_unops.h ./simd/Grid_neon.h ./simd/Intel512common.h ./simd/Intel512wilson.h ./simd/Intel512imci.h ./simd/Intel512double.h ./simd/Grid_avx512.h ./simd/Grid_sse4.h ./simd/Intel512avx.h ./Threads.h ./Timer.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/SparseMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/Francis.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/Householder.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Matrix.h ./Algorithms.h ./lattice/Lattice_base.h ./lattice/Lattice_overload.h ./lattice/Lattice_ET.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_trace.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_arith.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_rng.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reality.h ./lattice/Lattice_transpose.h ./lattice/Lattice_transfer.h ./lattice/Lattice_conformable.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./lattice/Lattice_reduction.h ./Cartesian.h ./Simd.h ./Init.h ./serialisation/TextIO.h ./serialisation/Serialisation.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/XmlIO.h ./serialisation/BinaryIO.h ./communicator/Communicator_base.h ./Log.h ./Lattice.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./cshift/Cshift_common.h ./Lexicographic.h ./Tensors.h ./Cshift.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/Smearing.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/ActionBase.h ./qcd/QCD.h ./qcd/spin/TwoSpinor.h ./qcd/spin/Dirac.h ./qcd/representations/hmc_types.h ./qcd/representations/adjoint.h ./qcd/utils/CovariantCshift.h ./qcd/utils/SUnAdjoint.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./AlignedAllocator.h ./pugixml/pugixml.h ./Stencil.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Grid.h Config.h
+HFILES=./tensors/Tensor_extract_merge.h ./tensors/Tensor_exp.h ./tensors/Tensor_index.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_determinant.h ./tensors/Tensor_outer.h ./tensors/Tensor_trace.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_logical.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_class.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith.h ./tensors/Tensor_unary.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_traits.h ./stencil/Lebesgue.h ./PerfCount.h ./Communicator.h ./simd/Grid_vector_types.h ./simd/Grid_qpx.h ./simd/Grid_imci.h ./simd/Grid_avx.h ./simd/Grid_empty.h ./simd/Intel512single.h ./simd/Grid_vector_unops.h ./simd/Grid_neon.h ./simd/Intel512common.h ./simd/Intel512wilson.h ./simd/Intel512imci.h ./simd/Intel512double.h ./simd/Grid_avx512.h ./simd/Grid_sse4.h ./simd/Intel512avx.h ./Threads.h ./Timer.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/SparseMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/Francis.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/Householder.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Matrix.h ./Algorithms.h ./lattice/Lattice_base.h ./lattice/Lattice_overload.h ./lattice/Lattice_ET.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_trace.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_arith.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_rng.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reality.h ./lattice/Lattice_transpose.h ./lattice/Lattice_transfer.h ./lattice/Lattice_conformable.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./lattice/Lattice_reduction.h ./Cartesian.h ./Simd.h ./Init.h ./serialisation/TextIO.h ./serialisation/Serialisation.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/XmlIO.h ./serialisation/BinaryIO.h ./communicator/Communicator_base.h ./Log.h ./Lattice.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./cshift/Cshift_common.h ./Lexicographic.h ./Tensors.h ./Cshift.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/Smearing.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/ActionBase.h ./qcd/QCD.h ./qcd/spin/TwoSpinor.h ./qcd/spin/Dirac.h ./qcd/representations/fundamental.h ./qcd/representations/hmc_types.h ./qcd/representations/adjoint.h ./qcd/utils/CovariantCshift.h ./qcd/utils/SUnAdjoint.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./AlignedAllocator.h ./pugixml/pugixml.h ./Stencil.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Grid.h Config.h
 
 CCFILES=./stencil/Stencil_common.cc ./stencil/Lebesgue.cc ./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./PerfCount.cc ./serialisation/BinaryIO.cc ./serialisation/XmlIO.cc ./serialisation/TextIO.cc ./qcd/hmc/HMC.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./Init.cc ./pugixml/pugixml.cc ./Log.cc
diff --git a/lib/qcd/action/pseudofermion/TwoFlavour.h b/lib/qcd/action/pseudofermion/TwoFlavour.h
index 01e56daf..d7acc8e7 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavour.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavour.h
@@ -134,9 +134,9 @@ class TwoFlavourPseudoFermionAction : public Action<typename Impl::GaugeField> {
     MdagMOp.Op(X, Y);
 
     // Check hermiticity
-    /*
+    
     std::vector<int> seeds({1,2,3,4});
-    GridParallelRNG          RNG(U._grid);   RNG.SeedFixedIntegers(seeds);
+    GridParallelRNG RNG(U._grid);   RNG.SeedFixedIntegers(seeds);
     FermionField RNGphi(FermOp.FermionGrid());
     FermionField RNGchi(FermOp.FermionGrid());
     FermionField Achi(FermOp.FermionGrid());
@@ -144,8 +144,8 @@ class TwoFlavourPseudoFermionAction : public Action<typename Impl::GaugeField> {
 
     random(RNG, RNGphi);
     random(RNG, RNGchi);
-    MdagMOp.Op(RNGchi, Achi);
-    MdagMOp.Op(RNGphi, Aphi);
+    MdagMOp.HermOp(RNGchi, Achi);
+    MdagMOp.HermOp(RNGphi, Aphi);
     ComplexD pAc = innerProduct(RNGphi, Achi);
     ComplexD cAp = innerProduct(RNGchi, Aphi);
     //these should be real
@@ -153,8 +153,9 @@ class TwoFlavourPseudoFermionAction : public Action<typename Impl::GaugeField> {
     ComplexD cAc = innerProduct(RNGchi, Achi);
 
     std::cout<<GridLogMessage<< "pAc "<<pAc<<" cAp "<< cAp<< " diff "<<pAc-adj(cAp)<<std::endl;
+    // These ones should be real
     std::cout << GridLogMessage << "pAp " << pAp << " cAc " << cAc << std::endl;
-*/
+
     // Our conventions really make this UdSdU; We do not differentiate wrt Udag
     // here.
     // So must take dSdU - adj(dSdU) and left multiply by mom to get dS/dt.
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index 0e78a243..1245b6ff 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -109,12 +109,12 @@ class NerscHmcRunnerTemplate {
     int Nsmear = 1;    // number of smearing levels
     Smear_Stout<Gimpl> Stout(rho);
     std::cout << GridLogDebug << " Creating the SmearedConfiguration class\n";
-    SmearedConfiguration<Gimpl> SmearingPolicy(UGrid, Nsmear, Stout);
+    //SmearedConfiguration<Gimpl> SmearingPolicy(UGrid, Nsmear, Stout);
     std::cout << GridLogDebug << " done\n";
     
     //////////////
-    //NoSmearing<Gimpl> SmearingPolicy;
-    typedef MinimumNorm2<GaugeField, SmearedConfiguration<Gimpl>, RepresentationsPolicy >
+    NoSmearing<Gimpl> SmearingPolicy;
+    typedef MinimumNorm2<GaugeField, NoSmearing<Gimpl>, RepresentationsPolicy >
         IntegratorType;  // change here to change the algorithm
     IntegratorParameters MDpar(20, 1.0);
     IntegratorType MDynamics(UGrid, MDpar, TheAction, SmearingPolicy);
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index 80ce9e53..8ae31574 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -149,7 +149,7 @@ class Integrator {
     }
 
     // Force from the other representations
-    //as[level].apply(update_P_hireps, Representations, Mom, U, ep);
+    as[level].apply(update_P_hireps, Representations, Mom, U, ep);
   }
 
   void update_U(GaugeField& U, double ep) {
@@ -167,13 +167,12 @@ class Integrator {
       auto Umu = PeekIndex<LorentzIndex>(U, mu);
       auto Pmu = PeekIndex<LorentzIndex>(Mom, mu);
       Umu = expMat(Pmu, ep, Params.Nexp) * Umu;
-      ProjectOnGroup(Umu);
-      PokeIndex<LorentzIndex>(U, Umu, mu);
+      PokeIndex<LorentzIndex>(U, ProjectOnGroup(Umu), mu);
     }
     // Update the smeared fields, can be implemented as observer
     Smearer.set_GaugeField(U);
     // Update the higher representations fields
-    //Representations.update(U);  // void functions if fundamental representation
+    Representations.update(U);  // void functions if fundamental representation
   }
 
   virtual void step(GaugeField& U, int level, int first, int last) = 0;
@@ -217,7 +216,7 @@ class Integrator {
     // of the Metropolis
     Smearer.set_GaugeField(U);
     // Set the (eventual) representations gauge fields
-    //Representations.update(U);
+    Representations.update(U);
 
     // The Smearer is attached to a pointer of the gauge field
     // automatically gets the correct field
@@ -232,7 +231,7 @@ class Integrator {
       }
 
       // Refresh the higher representation actions
-      //as[level].apply(refresh_hireps, Representations, pRNG);
+      as[level].apply(refresh_hireps, Representations, pRNG);
     }
   }
 
@@ -281,7 +280,7 @@ class Integrator {
                   << actionID << " H = " << Hterm << std::endl;
         H += Hterm;
       }
-      //as[level].apply(S_hireps, Representations, level, H);
+      as[level].apply(S_hireps, Representations, level, H);
     }
 
     return H;
diff --git a/lib/qcd/representations/adjoint.h b/lib/qcd/representations/adjoint.h
index 34cf2a42..76f44c54 100644
--- a/lib/qcd/representations/adjoint.h
+++ b/lib/qcd/representations/adjoint.h
@@ -1,6 +1,6 @@
 /*
- *	Policy classes for the HMC
- *	Author: Guido Cossu
+ *  Policy classes for the HMC
+ *  Author: Guido Cossu
 */
 
 #ifndef ADJOINT_H
@@ -27,8 +27,9 @@ class AdjointRep {
   LatticeField U;
 
   explicit AdjointRep(GridBase *grid) : U(grid) {}
+
   void update_representation(const LatticeGaugeField &Uin) {
-  	std::cout << GridLogDebug << "Updating adjoint representation\n" ;
+    std::cout << GridLogDebug << "Updating adjoint representation\n" ;
     // Uin is in the fundamental representation
     // get the U in AdjointRep
     // (U_adj)_B = tr[e^a U e^b U^dag]
@@ -41,28 +42,36 @@ class AdjointRep {
 
     Vector<typename SU<ncolour>::Matrix> ta(Dimension);
 
+    // Debug lines
+    //LatticeMatrix uno(Uin._grid);
+    //uno = 1.0;
+    ////////////////
+
     // FIXME probably not very efficient to get all the generators
     // everytime
     for (int a = 0; a < Dimension; a++) SU<ncolour>::generator(a, ta[a]);
 
     for (int mu = 0; mu < Nd; mu++) {
       auto Uin_mu = peekLorentz(Uin, mu);
-      auto U_mu = peekLorentz(U, mu);
+      auto U_mu   = peekLorentz(U, mu);
       for (int a = 0; a < Dimension; a++) {
         tmp = 2.0 * adj(Uin_mu) * ta[a] * Uin_mu;
         for (int b = 0; b < Dimension; b++)
-          pokeColour(U_mu, trace(tmp * ta[b]), a, b);
+          pokeColour(U_mu, trace(tmp * ta[b]), b, a);
       }
-      // Check matrix U_mu, must be real orthogonal
-      //reality
-      LatticeMatrix Ucheck = U_mu - conjugate(U_mu);
-      std::cout << GridLogMessage << "Reality check: " << norm2(Ucheck) << std::endl;
-      LatticeMatrix uno(Uin._grid);
-      uno = 1.0;
-      Ucheck = U_mu * adj(U_mu) - uno;
-      std::cout << GridLogMessage << "orthogonality check: " << norm2(Ucheck) << std::endl;
-
       pokeLorentz(U, U_mu, mu);
+      // Check matrix U_mu, must be real orthogonal
+      // reality
+      /*
+      LatticeMatrix Ucheck = U_mu - conjugate(U_mu);
+      std::cout << GridLogMessage << "Reality check: " << norm2(Ucheck) <<
+      std::endl;
+
+      Ucheck = U_mu * adj(U_mu) - uno;
+      std::cout << GridLogMessage << "orthogonality check: " << norm2(Ucheck) <<
+      std::endl;
+      */
+
     }
   }
 
@@ -81,8 +90,8 @@ class AdjointRep {
       projectOnAlgebra(h, in_mu, scale);
       FundamentalLieAlgebraMatrix(h, out_mu, 1.0);  // apply scale only once
       pokeLorentz(out, out_mu, mu);
-	  // Returns traceless antihermitian matrix Nc * Nc.
-	  // Confirmed            
+    // Returns traceless antihermitian matrix Nc * Nc.
+    // Confirmed            
     }
     return out;
   }
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
index e5125756..935667a8 100644
--- a/tests/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -39,8 +39,8 @@ namespace Grid {
 namespace QCD {
 
 // Here change the allowed (higher) representations
-//typedef Representations< FundamentalRepresentation, AdjointRepresentation > TheRepresentations;
-typedef Representations< FundamentalRepresentation > TheRepresentations;
+typedef Representations< FundamentalRepresentation, AdjointRepresentation > TheRepresentations;
+//typedef Representations< FundamentalRepresentation > TheRepresentations;
 
 
 class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
@@ -48,8 +48,8 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
   void BuildTheAction(int argc, char **argv)
 
   {
-    typedef WilsonImplR ImplPolicy; // gauge field implemetation for the pseudofermions
-    typedef WilsonFermionR FermionAction; // type of lattice fermions (Wilson, DW, ...)
+    typedef WilsonAdjImplR ImplPolicy; // gauge field implemetation for the pseudofermions
+    typedef WilsonAdjFermionR FermionAction; // type of lattice fermions (Wilson, DW, ...)
     typedef typename FermionAction::FermionField FermionField;
 
     UGrid = SpaceTimeGrid::makeFourDimGrid(
@@ -61,8 +61,8 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     FrbGrid = UrbGrid;
 
     // temporarily need a gauge field
-    LatticeGaugeField U(UGrid);
-    //AdjointRepresentation::LatticeField U(UGrid);
+    //LatticeGaugeField U(UGrid);
+    AdjointRepresentation::LatticeField U(UGrid);
 
     // Gauge action
     WilsonGaugeActionR Waction(5.6);

From 83307df1afc9fec7584f491dd967088483ab2a62 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Mon, 1 Aug 2016 09:38:40 +0100
Subject: [PATCH 079/295] travis update for new build system

---
 .travis.yml | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 26d49f5e..0733d037 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -82,14 +82,13 @@ install:
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export LDFLAGS='-L/usr/local/lib'; fi
     
 script:
-    - ./autogen.sh
+    - ./bootstrap.sh
     - mkdir build
     - cd build
-    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=single --enable-simd=SSE4 --enable-comms=none
-    - make -j1 -C prerequisites
+    - ../configure --enable-precision=single --enable-simd=SSE4 --enable-comms=none
     - make -j4 
     - ./benchmarks/Benchmark_dwf --threads 1
     - echo make clean
-    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=double --enable-simd=SSE4 --enable-comms=none
+    - ../configure --enable-precision=double --enable-simd=SSE4 --enable-comms=none
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1

From bb99ce0680ff7b25e91c6117e1d13fe0dbe69f7d Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Mon, 1 Aug 2016 09:51:06 +0100
Subject: [PATCH 080/295] bootstrap script fix

---
 bootstrap.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bootstrap.sh b/bootstrap.sh
index a094692a..639fd82b 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
 
-autoreconf -fvi
 ./scripts/update_eigen.sh eigen-3.2.9.tar.bz2
 ./scripts/filelist
+autoreconf -fvi

From a7b483d67a9b55a3a31f81846c1736ec2816f21e Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 2 Aug 2016 12:14:28 +0100
Subject: [PATCH 081/295] Tests in subdirectories are not built by default

---
 scripts/filelist | 65 +++++++++++++++++++-----------------------------
 1 file changed, 26 insertions(+), 39 deletions(-)

diff --git a/scripts/filelist b/scripts/filelist
index a8dcbd2a..d59210a5 100755
--- a/scripts/filelist
+++ b/scripts/filelist
@@ -1,60 +1,47 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 home=`pwd`
- 
+
+# library Make.inc
 cd $home/lib
 HFILES=`find . -type f -name '*.h' -not -path '*/Old/*' -not -path '*/Eigen/*'`
 HFILES="$HFILES"
 CCFILES=`find . -type f -name '*.cc' -not  -name '*ommunicator*.cc'`
-echo> Make.inc
-echo HFILES=$HFILES >> Make.inc
+echo HFILES=$HFILES > Make.inc
 echo >> Make.inc
 echo CCFILES=$CCFILES >> Make.inc
 
+# tests Make.inc
 cd $home/tests
-
 dirs=`find . -type d `
-
-for subdir in $dirs
-do
-
-cd $home/tests/$subdir
-
-TESTS=`ls T*.cc`
-TESTLIST=`echo ${TESTS} | sed s/.cc//g `
-
-echo noinst_PROGRAMS  = > Make.inc
-echo noinst_PROGRAMS += ${TESTLIST} >> Make.inc
-echo >> Make.inc
-for f in $TESTS
-do
-BNAME=`basename $f .cc`
-echo >> Make.inc
-echo ${BNAME}_SOURCES=$f  >> Make.inc
-echo ${BNAME}_LDADD=-lGrid>> Make.inc
-echo >> Make.inc
-done
-
-
+for subdir in $dirs; do
+	cd $home/tests/$subdir
+	TESTS=`ls T*.cc`
+	TESTLIST=`echo ${TESTS} | sed s/.cc//g `
+	PREF=`[ $subdir = '.' ] && echo noinst || echo EXTRA`
+	echo "tests: ${TESTLIST}" > Make.inc
+	echo ${PREF}_PROGRAMS = ${TESTLIST} >> Make.inc
+	echo >> Make.inc
+	for f in $TESTS; do
+		BNAME=`basename $f .cc`
+		echo ${BNAME}_SOURCES=$f  >> Make.inc
+		echo ${BNAME}_LDADD=-lGrid>> Make.inc
+		echo >> Make.inc
+	done
 done
 
+# benchmarks Make.inc
 cd $home/benchmarks
-
 echo> Make.inc
 TESTS=`ls B*.cc`
 TESTLIST=`echo ${TESTS} | sed s/.cc//g `
-
-echo > Make.inc
-echo bin_PROGRAMS = ${TESTLIST} >> Make.inc
-echo >> Make.inc
-
-for f in $TESTS
-do
-BNAME=`basename $f .cc`
-echo >> Make.inc
-echo ${BNAME}_SOURCES=$f  >> Make.inc
-echo ${BNAME}_LDADD=-lGrid>> Make.inc
+echo bin_PROGRAMS = ${TESTLIST} > Make.inc
 echo >> Make.inc
+for f in $TESTS; do
+	BNAME=`basename $f .cc`
+	echo ${BNAME}_SOURCES=$f  >> Make.inc
+	echo ${BNAME}_LDADD=-lGrid>> Make.inc
+	echo >> Make.inc
 done
 
 cd ..

From 9e5b934d211d5ba56d34510d3df8c40bf0105fd6 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 2 Aug 2016 17:26:54 +0100
Subject: [PATCH 082/295] improved LAPACK configuration

---
 benchmarks/Makefile.am   |  3 +--
 configure.ac             | 36 +++++++++++++++++-------------------
 lib/Makefile.am          |  2 --
 tests/IO/Makefile.am     | 14 +-------------
 tests/Makefile.am        | 12 +-----------
 tests/core/Makefile.am   | 14 +-------------
 tests/debug/Makefile.am  | 14 +-------------
 tests/forces/Makefile.am | 14 +-------------
 tests/hmc/Makefile.am    | 14 +-------------
 tests/qdpxx/Makefile.am  |  6 ++----
 tests/solver/Makefile.am | 14 +-------------
 11 files changed, 27 insertions(+), 116 deletions(-)

diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am
index 05affc99..d8c00e16 100644
--- a/benchmarks/Makefile.am
+++ b/benchmarks/Makefile.am
@@ -1,4 +1,3 @@
-# additional include paths necessary to compile the C++ library
-AM_LDFLAGS = -L$(top_builddir)/lib
+AM_LDFLAGS += -L$(top_builddir)/lib
 
 include Make.inc
diff --git a/configure.ac b/configure.ac
index bc76469b..32e660ed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,6 +38,19 @@ AC_ARG_WITH([mpfr],
     [try this for a non-standard install prefix of the MPFR library])],
     [AM_CXXFLAGS="$AM_CXXFLAGS -I$with_mpfr/include"]
     [AM_LDFLAGS="$AM_LDFLAGS -L$with_mpfr/lib"])
+AC_ARG_ENABLE([lapack],
+    [AC_HELP_STRING([--enable-lapack=yes|no|prefix], [enable LAPACK])], 
+    [ac_LAPACK=${enable_lapack}],[ac_LAPACK=no])
+case ${ac_LAPACK} in
+    no)
+        ;;
+    yes)
+        AC_DEFINE([USE_LAPACK],[1],[use LAPACK]);;
+    *)
+        AM_CXXFLAGS="$AM_CXXFLAGS -I$ac_LAPACK/include"
+        AM_LDFLAGS="$AM_LDFLAGS -L$ac_LAPACK/lib"
+        AC_DEFINE([USE_LAPACK],[1],[use LAPACK])
+esac
 
 ################ Get compiler informations
 AC_LANG([C++])
@@ -53,6 +66,10 @@ AC_DEFINE_UNQUOTED([GXX_VERSION],["$GXX_VERSION"],
 AC_CHECK_FUNCS([gettimeofday])
 AC_CHECK_LIB([gmp],[__gmpf_init],[],[])
 AC_CHECK_LIB([mpfr],[mpfr_init],[],[])
+if test "${ac_LAPACK}x" != "nox"; then
+    AC_CHECK_LIB([lapack],[LAPACKE_sbdsdc],[],
+                 [AC_MSG_ERROR("LAPACK enabled but library not found")])
+fi
 
 ############### SIMD instruction selection
 AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC],\
@@ -208,27 +225,8 @@ case ${ac_CHROMA} in
        AC_MSG_ERROR([${ac_CHROMA} unsupported --enable-chroma option]); 
      ;;
 esac
-
 AM_CONDITIONAL(BUILD_CHROMA_REGRESSION,[ test "X${ac_CHROMA}X" == "XyesX" ])
 
-############### Lapack
-AC_ARG_ENABLE([lapack],[AC_HELP_STRING([--enable-lapack],[Enable lapack yes/no ])],[ac_LAPACK=${enable_lapack}],[ac_LAPACK=no])
-
-case ${ac_LAPACK} in
-     yes)
-       echo Enabling lapack
-     ;;
-     no)
-       echo Disabling lapack
-     ;;
-     *)
-       echo Enabling lapack at ${ac_LAPACK}
-     ;;
-esac
-
-AM_CONDITIONAL(USE_LAPACK,[ test "X${ac_LAPACK}X" != "XnoX" ])
-AM_CONDITIONAL(USE_LAPACK_LIB,[ test "X${ac_LAPACK}X" != "XyesX" ])
-
 ############### Doxygen
 AC_PROG_DOXYGEN
 
diff --git a/lib/Makefile.am b/lib/Makefile.am
index ee287659..a7ef229a 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,5 +1,3 @@
-# additional include paths necessary to compile the C++ library
-
 extra_sources=
 if BUILD_COMMS_MPI
   extra_sources+=communicator/Communicator_mpi.cc
diff --git a/tests/IO/Makefile.am b/tests/IO/Makefile.am
index d7ccf25f..d8c00e16 100644
--- a/tests/IO/Makefile.am
+++ b/tests/IO/Makefile.am
@@ -1,15 +1,3 @@
-# additional include paths necessary to compile the C++ library
-
-AM_LDFLAGS = -L$(top_builddir)/lib
-
-if USE_LAPACK
-AM_CXXFLAGS += -DUSE_LAPACK
-if USE_LAPACK_LIB
-#if test "X${ac_LAPACK}X" != XyesX 
-AM_CXXFLAGS += -I$(ac_LAPACK)/include
-AM_LDFLAGS += -L$(ac_LAPACK)/lib
-#fi
-endif
-endif
+AM_LDFLAGS += -L$(top_builddir)/lib
 
 include Make.inc
diff --git a/tests/Makefile.am b/tests/Makefile.am
index cee0a656..d3b16509 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -4,16 +4,6 @@ if BUILD_CHROMA_REGRESSION
   SUBDIRS+= qdpxx
 endif
 
-AM_LDFLAGS = -L$(top_builddir)/lib
-
-if USE_LAPACK
-AM_CXXFLAGS += -DUSE_LAPACK
-if USE_LAPACK_LIB
-#if test "X${ac_LAPACK}X" != XyesX 
-AM_CXXFLAGS += -I$(ac_LAPACK)/include
-AM_LDFLAGS += -L$(ac_LAPACK)/lib
-#fi
-endif
-endif
+AM_LDFLAGS += -L$(top_builddir)/lib
 
 include Make.inc
diff --git a/tests/core/Makefile.am b/tests/core/Makefile.am
index d7ccf25f..d8c00e16 100644
--- a/tests/core/Makefile.am
+++ b/tests/core/Makefile.am
@@ -1,15 +1,3 @@
-# additional include paths necessary to compile the C++ library
-
-AM_LDFLAGS = -L$(top_builddir)/lib
-
-if USE_LAPACK
-AM_CXXFLAGS += -DUSE_LAPACK
-if USE_LAPACK_LIB
-#if test "X${ac_LAPACK}X" != XyesX 
-AM_CXXFLAGS += -I$(ac_LAPACK)/include
-AM_LDFLAGS += -L$(ac_LAPACK)/lib
-#fi
-endif
-endif
+AM_LDFLAGS += -L$(top_builddir)/lib
 
 include Make.inc
diff --git a/tests/debug/Makefile.am b/tests/debug/Makefile.am
index d7ccf25f..d8c00e16 100644
--- a/tests/debug/Makefile.am
+++ b/tests/debug/Makefile.am
@@ -1,15 +1,3 @@
-# additional include paths necessary to compile the C++ library
-
-AM_LDFLAGS = -L$(top_builddir)/lib
-
-if USE_LAPACK
-AM_CXXFLAGS += -DUSE_LAPACK
-if USE_LAPACK_LIB
-#if test "X${ac_LAPACK}X" != XyesX 
-AM_CXXFLAGS += -I$(ac_LAPACK)/include
-AM_LDFLAGS += -L$(ac_LAPACK)/lib
-#fi
-endif
-endif
+AM_LDFLAGS += -L$(top_builddir)/lib
 
 include Make.inc
diff --git a/tests/forces/Makefile.am b/tests/forces/Makefile.am
index d7ccf25f..d8c00e16 100644
--- a/tests/forces/Makefile.am
+++ b/tests/forces/Makefile.am
@@ -1,15 +1,3 @@
-# additional include paths necessary to compile the C++ library
-
-AM_LDFLAGS = -L$(top_builddir)/lib
-
-if USE_LAPACK
-AM_CXXFLAGS += -DUSE_LAPACK
-if USE_LAPACK_LIB
-#if test "X${ac_LAPACK}X" != XyesX 
-AM_CXXFLAGS += -I$(ac_LAPACK)/include
-AM_LDFLAGS += -L$(ac_LAPACK)/lib
-#fi
-endif
-endif
+AM_LDFLAGS += -L$(top_builddir)/lib
 
 include Make.inc
diff --git a/tests/hmc/Makefile.am b/tests/hmc/Makefile.am
index d7ccf25f..d8c00e16 100644
--- a/tests/hmc/Makefile.am
+++ b/tests/hmc/Makefile.am
@@ -1,15 +1,3 @@
-# additional include paths necessary to compile the C++ library
-
-AM_LDFLAGS = -L$(top_builddir)/lib
-
-if USE_LAPACK
-AM_CXXFLAGS += -DUSE_LAPACK
-if USE_LAPACK_LIB
-#if test "X${ac_LAPACK}X" != XyesX 
-AM_CXXFLAGS += -I$(ac_LAPACK)/include
-AM_LDFLAGS += -L$(ac_LAPACK)/lib
-#fi
-endif
-endif
+AM_LDFLAGS += -L$(top_builddir)/lib
 
 include Make.inc
diff --git a/tests/qdpxx/Makefile.am b/tests/qdpxx/Makefile.am
index c0119c40..4c9d01ea 100644
--- a/tests/qdpxx/Makefile.am
+++ b/tests/qdpxx/Makefile.am
@@ -1,6 +1,4 @@
-# additional include paths necessary to compile the C++ library
-
-AM_CXXFLAGS = `chroma-config --cxxflags`
-AM_LDFLAGS = -L$(top_builddir)/lib `chroma-config --ldflags` `chroma-config --libs`
+AM_CXXFLAGS += `chroma-config --cxxflags`
+AM_LDFLAGS  += -L$(top_builddir)/lib `chroma-config --ldflags` `chroma-config --libs`
 
 include Make.inc
diff --git a/tests/solver/Makefile.am b/tests/solver/Makefile.am
index d7ccf25f..d8c00e16 100644
--- a/tests/solver/Makefile.am
+++ b/tests/solver/Makefile.am
@@ -1,15 +1,3 @@
-# additional include paths necessary to compile the C++ library
-
-AM_LDFLAGS = -L$(top_builddir)/lib
-
-if USE_LAPACK
-AM_CXXFLAGS += -DUSE_LAPACK
-if USE_LAPACK_LIB
-#if test "X${ac_LAPACK}X" != XyesX 
-AM_CXXFLAGS += -I$(ac_LAPACK)/include
-AM_LDFLAGS += -L$(ac_LAPACK)/lib
-#fi
-endif
-endif
+AM_LDFLAGS += -L$(top_builddir)/lib
 
 include Make.inc

From 63ae39abc77f4835fd7056f1a7ee5476213a69a2 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 2 Aug 2016 17:41:32 +0100
Subject: [PATCH 083/295] proper propagation of OpenMP flags

---
 configure.ac | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configure.ac b/configure.ac
index 32e660ed..0fb11e85 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,6 +10,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AC_LANG(C++)
 AC_PROG_CXX
 AC_OPENMP
+AM_CXXFLAGS="$AM_CXXFLAGS $OPENMP_CXXFLAGS"
 LT_INIT([disable-shared])
 
 ############### Checks for header files

From dad642ed1be184fb1305e066c0f9bf167f5846ca Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 3 Aug 2016 11:39:20 +0100
Subject: [PATCH 084/295] various build system fixes and improvements

---
 configure.ac | 49 +++++++++++++++++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 16 deletions(-)

diff --git a/configure.ac b/configure.ac
index 0fb11e85..7dddcfc4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,9 +8,10 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 ############### Checks for programs
 AC_LANG(C++)
+: ${CXXFLAGS="-O3"}
 AC_PROG_CXX
 AC_OPENMP
-AM_CXXFLAGS="$AM_CXXFLAGS $OPENMP_CXXFLAGS"
+AM_CXXFLAGS="$OPENMP_CXXFLAGS $AM_CXXFLAGS"
 LT_INIT([disable-shared])
 
 ############### Checks for header files
@@ -32,13 +33,13 @@ AC_TYPE_UINT64_T
 AC_ARG_WITH([gmp],
     [AS_HELP_STRING([--with-gmp=prefix],
     [try this for a non-standard install prefix of the GMP library])],
-    [AM_CXXFLAGS="$AM_CXXFLAGS -I$with_gmp/include"]
-    [AM_LDFLAGS="$AM_LDFLAGS -L$with_gmp/lib"])
+    [AM_CXXFLAGS="-I$with_gmp/include $AM_CXXFLAGS"]
+    [AM_LDFLAGS="-L$with_gmp/lib" $AM_LDFLAGS])
 AC_ARG_WITH([mpfr],
     [AS_HELP_STRING([--with-mpfr=prefix],
     [try this for a non-standard install prefix of the MPFR library])],
-    [AM_CXXFLAGS="$AM_CXXFLAGS -I$with_mpfr/include"]
-    [AM_LDFLAGS="$AM_LDFLAGS -L$with_mpfr/lib"])
+    [AM_CXXFLAGS="-I$with_mpfr/include $AM_CXXFLAGS"]
+    [AM_LDFLAGS="-L$with_mpfr/lib $AM_LDFLAGS"])
 AC_ARG_ENABLE([lapack],
     [AC_HELP_STRING([--enable-lapack=yes|no|prefix], [enable LAPACK])], 
     [ac_LAPACK=${enable_lapack}],[ac_LAPACK=no])
@@ -48,8 +49,8 @@ case ${ac_LAPACK} in
     yes)
         AC_DEFINE([USE_LAPACK],[1],[use LAPACK]);;
     *)
-        AM_CXXFLAGS="$AM_CXXFLAGS -I$ac_LAPACK/include"
-        AM_LDFLAGS="$AM_LDFLAGS -L$ac_LAPACK/lib"
+        AM_CXXFLAGS="-I$ac_LAPACK/include $AM_CXXFLAGS"
+        AM_LDFLAGS="-L$ac_LAPACK/lib $AM_LDFLAGS"
         AC_DEFINE([USE_LAPACK],[1],[use LAPACK])
 esac
 
@@ -64,13 +65,20 @@ AC_DEFINE_UNQUOTED([GXX_VERSION],["$GXX_VERSION"],
       [version of g++ that will compile the code])
 
 ############### Checks for library functions
+CXXFLAGS_CPY=$CXXFLAGS
+LDFLAGS_CPY=$LDFLAGS
+LIBS_CPY=$LIBS
+CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS"
+LDFLAGS="$AM_LDFLAGS $LDFLAGS"
 AC_CHECK_FUNCS([gettimeofday])
-AC_CHECK_LIB([gmp],[__gmpf_init],[],[])
-AC_CHECK_LIB([mpfr],[mpfr_init],[],[])
+AC_CHECK_LIB([gmp],[__gmpf_init])
+AC_CHECK_LIB([mpfr],[mpfr_init])
 if test "${ac_LAPACK}x" != "nox"; then
     AC_CHECK_LIB([lapack],[LAPACKE_sbdsdc],[],
                  [AC_MSG_ERROR("LAPACK enabled but library not found")])
 fi
+CXXFLAGS=$CXXFLAGS_CPY
+LDFLAGS=$LDFLAGS_CPY
 
 ############### SIMD instruction selection
 AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC],\
@@ -170,8 +178,8 @@ case ${ac_COMMS} in
        LX_FIND_MPI
        AM_CXXFLAGS="$MPI_CXXFLAGS $AM_CXXFLAGS"
        AM_CFLAGS="$MPI_CFLAGS $AM_CFLAGS"
-       AM_LDFLAGS="$MPI_CXXLDFLAGS $AM_LDFLAGS"
-       AM_LIBS="$MPI_CXXLDFLAGS $AM_LIBS"
+       AM_LDFLAGS="`echo $MPI_CXXLDFLAGS | sed -E 's/-l@<:@^ @:>@+//g'` $AM_LDFLAGS"
+       AM_LIBS="`echo $MPI_CXXLDFLAGS | sed -E 's/-L@<:@^ @:>@+//g'` $AM_LIBS"
      ;;
      shmem)
        AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
@@ -261,19 +269,28 @@ echo "
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Summary of configuration for $PACKAGE v$VERSION
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+----- PLATFORM ----------------------------------------
 - architecture (build)          : $build_cpu
 - os (build)                    : $build_os
 - architecture (target)         : $target_cpu
 - os (target)                   : $target_os
-- build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
-- graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
-----------------------------------------------------------
 - compiler vendor               : ${ax_cv_cxx_compiler_vendor}
 - compiler version              : ${ax_cv_gxx_version}
+----- BUILD OPTIONS -----------------------------------
 - SIMD                          : ${ac_SIMD}
-- SIMD flags                    : ${SIMD_FLAGS}
 - communications type           : ${ac_COMMS}
 - default precision             : ${ac_PRECISION}
 - RNG choice                    : ${ac_RNG} 
-- LAPACK                        : ${ac_LAPACK} 
+- LAPACK                        : ${ac_LAPACK}
+- build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
+- graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
+----- BUILD FLAGS -------------------------------------
+- CXXFLAGS: 
+`echo ${AM_CXXFLAGS} ${CXXFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+- LDFLAGS:
+`echo ${AM_LDFLAGS} ${LDFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+- LIBS:
+`echo ${AM_LIBS} ${LIBS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+-------------------------------------------------------
 "

From bc092ad30f76c28fda7e6437015ce290a336601a Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 3 Aug 2016 11:47:38 +0100
Subject: [PATCH 085/295] build system fix

---
 configure.ac | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 7dddcfc4..f364b62a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -179,7 +179,7 @@ case ${ac_COMMS} in
        AM_CXXFLAGS="$MPI_CXXFLAGS $AM_CXXFLAGS"
        AM_CFLAGS="$MPI_CFLAGS $AM_CFLAGS"
        AM_LDFLAGS="`echo $MPI_CXXLDFLAGS | sed -E 's/-l@<:@^ @:>@+//g'` $AM_LDFLAGS"
-       AM_LIBS="`echo $MPI_CXXLDFLAGS | sed -E 's/-L@<:@^ @:>@+//g'` $AM_LIBS"
+       LIBS="`echo $MPI_CXXLDFLAGS | sed -E 's/-L@<:@^ @:>@+//g'` $LIBS"
      ;;
      shmem)
        AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
@@ -251,7 +251,6 @@ AM_CFLAGS="-I${abs_srcdir}/include $AM_CFLAGS"
 AC_SUBST([AM_CFLAGS])
 AC_SUBST([AM_CXXFLAGS])
 AC_SUBST([AM_LDFLAGS])
-AC_SUBST([AM_LIBS])
 AC_CONFIG_FILES(Makefile)
 AC_CONFIG_FILES(lib/Makefile)
 AC_CONFIG_FILES(tests/Makefile)
@@ -291,6 +290,6 @@ Summary of configuration for $PACKAGE v$VERSION
 - LDFLAGS:
 `echo ${AM_LDFLAGS} ${LDFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
 - LIBS:
-`echo ${AM_LIBS} ${LIBS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+`echo ${LIBS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
 -------------------------------------------------------
 "

From f4c049ea6d1c7dec82f1c256dee0d66915c33e71 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 3 Aug 2016 12:38:54 +0100
Subject: [PATCH 086/295] README update

---
 README.md | 102 ++++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 76 insertions(+), 26 deletions(-)

diff --git a/README.md b/README.md
index 0a17bd45..bdabcef4 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,28 @@
-# Grid [![Build Status](https://travis-ci.org/paboyle/Grid.svg?branch=master)](https://travis-ci.org/paboyle/Grid)
-Data parallel C++ mathematical object library
+# Grid
+<table>
+<tr>
+    <td>Last stable release</td>
+    <td><a href="https://travis-ci.org/paboyle/Grid">
+    <img src="https://travis-ci.org/paboyle/Grid.svg?branch=master"></a>
+    </td>
+</tr>
+<tr>
+    <td>Development branch</td>
+    <td><a href="https://travis-ci.org/aportelli/LatAnalyze">
+    <img src="https://travis-ci.org/paboyle/Grid.svg?branch=develop"></a>
+    </td>
+</tr>
+</table>
 
-Last update 2015/7/30
+**Data parallel C++ mathematical object library.**
 
+Please send all pull requests to the `develop` branch.
+
+License: GPL v2.
+
+Last update 2016/08/03.
+
+### Description
 This library provides data parallel C++ container classes with internal memory layout
 that is transformed to map efficiently to SIMD architectures. CSHIFT facilities
 are provided, similar to HPF and cmfortran, and user control is given over the mapping of
@@ -22,37 +42,67 @@ optimally use MPI, OpenMP and SIMD parallelism under the hood. This is a signifi
 for most programmers.
 
 The layout transformations are parametrised by the SIMD vector length. This adapts according to the architecture.
-Presently SSE4 (128 bit) AVX, AVX2 (256 bit) and IMCI and AVX512 (512 bit) targets are supported (ARM NEON on the way).
+Presently SSE4 (128 bit) AVX, AVX2 (256 bit) and IMCI and AVX512 (512 bit) targets are supported (ARM NEON and BG/Q QPX on the way).
 
-These are presented as 
-
-     vRealF, vRealD, vComplexF, vComplexD 
-
-internal vector data types. These may be useful in themselves for other programmers.
-The corresponding scalar types are named
-
-     RealF, RealD, ComplexF, ComplexD
+These are presented as `vRealF`, `vRealD`, `vComplexF`, and `vComplexD` internal vector data types. These may be useful in themselves for other programmers.
+The corresponding scalar types are named `RealF`, `RealD`, `ComplexF` and `ComplexD`.
 
 MPI, OpenMP, and SIMD parallelism are present in the library.
+Please see https://arxiv.org/abs/1512.03487 for more detail.
 
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-are examples:
+### Installation
+First, start by cloning the repository:
 
-     ./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -msse4" --enable-simd=SSE4
+``` bash
+git clone https://github.com/paboyle/Grid.git
+```
 
-     ./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -mavx" --enable-simd=AVX
+Then enter the cloned directory and set up the build system:
 
-     ./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -mavx2" --enable-simd=AVX2
+``` bash
+cd Grid
+./bootstrap.sh
+```
 
-     ./configure CXX=icpc CXXFLAGS="-std=c++11 -O3 -mmic" --enable-simd=AVX512 --host=none
-     
-Note: Before running configure it could be necessary to execute the script 
-       
-       script/filelist
+Now you can execute the `configure` script to generate makefiles (here from a build directory):
 
+``` bash
+mkdir build; cd build
+../configure --enable-precision=double --enable-simd=AVX --enable-comms=mpi --prefix=<path>
+```
 
-     
-For developers:
-Use reconfigure_script in the scripts/ directory to create the autotools environment 
+where `--enable-precision=` set the default precision (`single` or `double`), `--enable-simd=` set the SIMD type (see possible values below), `--enable-comms=` set the protocol used for communications (`none`, `mpi` or `shmem`), and `<path>` should be replaced by the prefix path where you want to install Grid. Other options are available, use `configure --help` to display them. Like with any other program using GNU autotool, the `CXX`, `CXXFLAGS`, `LDFLAGS`, ... environment variables can be modified to customise the build.
 
+Finally, you can build and install Grid:
+
+``` bash
+make; make install
+```
+
+To minimise the build time, only the tests at the root of the `tests` directory are built by default. If you want to build tests in the sub-directory `<subdir>` you can execute:
+
+``` bash
+make -C tests/<subdir> tests
+```
+
+### Possible SIMD types
+
+The following options can be use with the `--enable-simd=` option to target different SIMD instruction sets:
+
+| String      | Description                            |
+| ----------- | -------------------------------------- |
+| `GEN`       | generic portable vector code           |
+| `SSE4`      | SSE 4.2 (128 bit)                      |
+| `AVX`       | AVX (256 bit)                          |
+| `AVXFMA4`   | AVX (256 bit) + FMA                    |
+| `AVX2`      | AVX 2 (256 bit)                        |
+| `AVX512`    | AVX 512 bit                            |
+| `AVX512MIC` | AVX 512 bit for Intel MIC architecture |
+| `ICMI`      | Intel ICMI instructions (512 bit)      |
+
+Alternatively, some CPU codenames can be directly used:
+
+| String      | Description                            |
+| ----------- | -------------------------------------- |
+| `KNC`       | [Intel Knights Corner](http://ark.intel.com/products/codename/57721/Knights-Corner) |
+| `KNL`       | [Intel Knights Landing](http://ark.intel.com/products/codename/48999/Knights-Landing) |
\ No newline at end of file

From 5be92bb708d0cff6438f9b9a85be369cea831910 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 3 Aug 2016 12:40:56 +0100
Subject: [PATCH 087/295] link fix in README

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index bdabcef4..a41564d4 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 </tr>
 <tr>
     <td>Development branch</td>
-    <td><a href="https://travis-ci.org/aportelli/LatAnalyze">
+    <td><a href="https://travis-ci.org/paboyle/Grid">
     <img src="https://travis-ci.org/paboyle/Grid.svg?branch=develop"></a>
     </td>
 </tr>

From 6adb66dd084cbc424d1aacddbe2e736352c78f7b Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 3 Aug 2016 15:06:45 +0100
Subject: [PATCH 088/295] build system: finer management of GMP/MPFR dependence

---
 configure.ac | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index f364b62a..fa3e094f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -71,8 +71,16 @@ LIBS_CPY=$LIBS
 CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS"
 LDFLAGS="$AM_LDFLAGS $LDFLAGS"
 AC_CHECK_FUNCS([gettimeofday])
-AC_CHECK_LIB([gmp],[__gmpf_init])
-AC_CHECK_LIB([mpfr],[mpfr_init])
+AC_CHECK_LIB([gmp],[__gmpf_init],
+             [AC_CHECK_LIB([mpfr],[mpfr_init],
+                 [AC_DEFINE([HAVE_LIBMPFR], [1], [Define to 1 if you have the `MPFR' library (-lmpfr).])]
+                 [have_mpfr=true]
+                 [LIBS="$LIBS -lmpfr"],
+                 [AC_MSG_ERROR([MPFR library not found])])]
+             [AC_DEFINE([HAVE_LIBGMP], [1], [Define to 1 if you have the `GMP' library (-lgmp).])]
+             [have_gmp=true]
+             [LIBS="$LIBS -lgmp"])
+
 if test "${ac_LAPACK}x" != "nox"; then
     AC_CHECK_LIB([lapack],[LAPACKE_sbdsdc],[],
                  [AC_MSG_ERROR("LAPACK enabled but library not found")])
@@ -281,6 +289,7 @@ Summary of configuration for $PACKAGE v$VERSION
 - communications type           : ${ac_COMMS}
 - default precision             : ${ac_PRECISION}
 - RNG choice                    : ${ac_RNG} 
+- GMP                           : `if test "x$have_gmp" = xtrue; then echo yes; else echo no; fi`
 - LAPACK                        : ${ac_LAPACK}
 - build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
 - graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`

From 629283726b1b4b37cf19a6b992cb9c368be97c0b Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 3 Aug 2016 15:07:42 +0100
Subject: [PATCH 089/295] build system: local Grid link flag moved to
 configure.ac

---
 benchmarks/Makefile.am   | 2 --
 configure.ac             | 1 +
 tests/IO/Makefile.am     | 2 --
 tests/Makefile.am        | 2 --
 tests/core/Makefile.am   | 2 --
 tests/debug/Makefile.am  | 2 --
 tests/forces/Makefile.am | 2 --
 tests/hmc/Makefile.am    | 2 --
 tests/qdpxx/Makefile.am  | 2 +-
 tests/solver/Makefile.am | 2 --
 10 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am
index d8c00e16..60b82dd7 100644
--- a/benchmarks/Makefile.am
+++ b/benchmarks/Makefile.am
@@ -1,3 +1 @@
-AM_LDFLAGS += -L$(top_builddir)/lib
-
 include Make.inc
diff --git a/configure.ac b/configure.ac
index fa3e094f..a57d7bc9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -256,6 +256,7 @@ fi
 cwd=`pwd -P`; cd ${srcdir}; abs_srcdir=`pwd -P`; cd ${cwd}
 AM_CXXFLAGS="-I${abs_srcdir}/include $AM_CXXFLAGS"
 AM_CFLAGS="-I${abs_srcdir}/include $AM_CFLAGS"
+AM_LDFLAGS="-L${cwd}/lib $AM_LDFLAGS"
 AC_SUBST([AM_CFLAGS])
 AC_SUBST([AM_CXXFLAGS])
 AC_SUBST([AM_LDFLAGS])
diff --git a/tests/IO/Makefile.am b/tests/IO/Makefile.am
index d8c00e16..60b82dd7 100644
--- a/tests/IO/Makefile.am
+++ b/tests/IO/Makefile.am
@@ -1,3 +1 @@
-AM_LDFLAGS += -L$(top_builddir)/lib
-
 include Make.inc
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d3b16509..2b8cc2d7 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -4,6 +4,4 @@ if BUILD_CHROMA_REGRESSION
   SUBDIRS+= qdpxx
 endif
 
-AM_LDFLAGS += -L$(top_builddir)/lib
-
 include Make.inc
diff --git a/tests/core/Makefile.am b/tests/core/Makefile.am
index d8c00e16..60b82dd7 100644
--- a/tests/core/Makefile.am
+++ b/tests/core/Makefile.am
@@ -1,3 +1 @@
-AM_LDFLAGS += -L$(top_builddir)/lib
-
 include Make.inc
diff --git a/tests/debug/Makefile.am b/tests/debug/Makefile.am
index d8c00e16..60b82dd7 100644
--- a/tests/debug/Makefile.am
+++ b/tests/debug/Makefile.am
@@ -1,3 +1 @@
-AM_LDFLAGS += -L$(top_builddir)/lib
-
 include Make.inc
diff --git a/tests/forces/Makefile.am b/tests/forces/Makefile.am
index d8c00e16..60b82dd7 100644
--- a/tests/forces/Makefile.am
+++ b/tests/forces/Makefile.am
@@ -1,3 +1 @@
-AM_LDFLAGS += -L$(top_builddir)/lib
-
 include Make.inc
diff --git a/tests/hmc/Makefile.am b/tests/hmc/Makefile.am
index d8c00e16..60b82dd7 100644
--- a/tests/hmc/Makefile.am
+++ b/tests/hmc/Makefile.am
@@ -1,3 +1 @@
-AM_LDFLAGS += -L$(top_builddir)/lib
-
 include Make.inc
diff --git a/tests/qdpxx/Makefile.am b/tests/qdpxx/Makefile.am
index 4c9d01ea..f7f30b85 100644
--- a/tests/qdpxx/Makefile.am
+++ b/tests/qdpxx/Makefile.am
@@ -1,4 +1,4 @@
 AM_CXXFLAGS += `chroma-config --cxxflags`
-AM_LDFLAGS  += -L$(top_builddir)/lib `chroma-config --ldflags` `chroma-config --libs`
+AM_LDFLAGS  += `chroma-config --ldflags` `chroma-config --libs`
 
 include Make.inc
diff --git a/tests/solver/Makefile.am b/tests/solver/Makefile.am
index d8c00e16..60b82dd7 100644
--- a/tests/solver/Makefile.am
+++ b/tests/solver/Makefile.am
@@ -1,3 +1 @@
-AM_LDFLAGS += -L$(top_builddir)/lib
-
 include Make.inc

From 2edc24225d3da282cc967d9892880ccbbb4e66d4 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 3 Aug 2016 15:12:44 +0100
Subject: [PATCH 090/295] untracking ltmain.sh

---
 ltmain.sh | 11147 ----------------------------------------------------
 1 file changed, 11147 deletions(-)
 delete mode 100644 ltmain.sh

diff --git a/ltmain.sh b/ltmain.sh
deleted file mode 100644
index 0f0a2da3..00000000
--- a/ltmain.sh
+++ /dev/null
@@ -1,11147 +0,0 @@
-#! /bin/sh
-## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
-##               by inline-source v2014-01-03.01
-
-# libtool (GNU libtool) 2.4.6
-# Provide generalized library-building support services.
-# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-PROGRAM=libtool
-PACKAGE=libtool
-VERSION=2.4.6
-package_revision=2.4.6
-
-
-## ------ ##
-## Usage. ##
-## ------ ##
-
-# Run './libtool --help' for help with using this script from the
-# command line.
-
-
-## ------------------------------- ##
-## User overridable command paths. ##
-## ------------------------------- ##
-
-# After configure completes, it has a better idea of some of the
-# shell tools we need than the defaults used by the functions shared
-# with bootstrap, so set those here where they can still be over-
-# ridden by the user, but otherwise take precedence.
-
-: ${AUTOCONF="autoconf"}
-: ${AUTOMAKE="automake"}
-
-
-## -------------------------- ##
-## Source external libraries. ##
-## -------------------------- ##
-
-# Much of our low-level functionality needs to be sourced from external
-# libraries, which are installed to $pkgauxdir.
-
-# Set a version string for this script.
-scriptversion=2015-01-20.17; # UTC
-
-# General shell script boiler plate, and helper functions.
-# Written by Gary V. Vaughan, 2004
-
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-
-# As a special exception to the GNU General Public License, if you distribute
-# this file as part of a program or library that is built using GNU Libtool,
-# you may include this file under the same distribution terms that you use
-# for the rest of that program.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Please report bugs or propose patches to gary@gnu.org.
-
-
-## ------ ##
-## Usage. ##
-## ------ ##
-
-# Evaluate this file near the top of your script to gain access to
-# the functions and variables defined here:
-#
-#   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
-#
-# If you need to override any of the default environment variable
-# settings, do that before evaluating this file.
-
-
-## -------------------- ##
-## Shell normalisation. ##
-## -------------------- ##
-
-# Some shells need a little help to be as Bourne compatible as possible.
-# Before doing anything else, make sure all that help has been provided!
-
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
-fi
-
-# NLS nuisances: We save the old values in case they are required later.
-_G_user_locale=
-_G_safe_locale=
-for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
-  eval "if test set = \"\${$_G_var+set}\"; then
-          save_$_G_var=\$$_G_var
-          $_G_var=C
-	  export $_G_var
-	  _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
-	  _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
-	fi"
-done
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Make sure IFS has a sensible default
-sp=' '
-nl='
-'
-IFS="$sp	$nl"
-
-# There are apparently some retarded systems that use ';' as a PATH separator!
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-
-## ------------------------- ##
-## Locate command utilities. ##
-## ------------------------- ##
-
-
-# func_executable_p FILE
-# ----------------------
-# Check that FILE is an executable regular file.
-func_executable_p ()
-{
-    test -f "$1" && test -x "$1"
-}
-
-
-# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
-# --------------------------------------------
-# Search for either a program that responds to --version with output
-# containing "GNU", or else returned by CHECK_FUNC otherwise, by
-# trying all the directories in PATH with each of the elements of
-# PROGS_LIST.
-#
-# CHECK_FUNC should accept the path to a candidate program, and
-# set $func_check_prog_result if it truncates its output less than
-# $_G_path_prog_max characters.
-func_path_progs ()
-{
-    _G_progs_list=$1
-    _G_check_func=$2
-    _G_PATH=${3-"$PATH"}
-
-    _G_path_prog_max=0
-    _G_path_prog_found=false
-    _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
-    for _G_dir in $_G_PATH; do
-      IFS=$_G_save_IFS
-      test -z "$_G_dir" && _G_dir=.
-      for _G_prog_name in $_G_progs_list; do
-        for _exeext in '' .EXE; do
-          _G_path_prog=$_G_dir/$_G_prog_name$_exeext
-          func_executable_p "$_G_path_prog" || continue
-          case `"$_G_path_prog" --version 2>&1` in
-            *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
-            *)     $_G_check_func $_G_path_prog
-		   func_path_progs_result=$func_check_prog_result
-		   ;;
-          esac
-          $_G_path_prog_found && break 3
-        done
-      done
-    done
-    IFS=$_G_save_IFS
-    test -z "$func_path_progs_result" && {
-      echo "no acceptable sed could be found in \$PATH" >&2
-      exit 1
-    }
-}
-
-
-# We want to be able to use the functions in this file before configure
-# has figured out where the best binaries are kept, which means we have
-# to search for them ourselves - except when the results are already set
-# where we skip the searches.
-
-# Unless the user overrides by setting SED, search the path for either GNU
-# sed, or the sed that truncates its output the least.
-test -z "$SED" && {
-  _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-  for _G_i in 1 2 3 4 5 6 7; do
-    _G_sed_script=$_G_sed_script$nl$_G_sed_script
-  done
-  echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
-  _G_sed_script=
-
-  func_check_prog_sed ()
-  {
-    _G_path_prog=$1
-
-    _G_count=0
-    printf 0123456789 >conftest.in
-    while :
-    do
-      cat conftest.in conftest.in >conftest.tmp
-      mv conftest.tmp conftest.in
-      cp conftest.in conftest.nl
-      echo '' >> conftest.nl
-      "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
-      diff conftest.out conftest.nl >/dev/null 2>&1 || break
-      _G_count=`expr $_G_count + 1`
-      if test "$_G_count" -gt "$_G_path_prog_max"; then
-        # Best one so far, save it but keep looking for a better one
-        func_check_prog_result=$_G_path_prog
-        _G_path_prog_max=$_G_count
-      fi
-      # 10*(2^10) chars as input seems more than enough
-      test 10 -lt "$_G_count" && break
-    done
-    rm -f conftest.in conftest.tmp conftest.nl conftest.out
-  }
-
-  func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
-  rm -f conftest.sed
-  SED=$func_path_progs_result
-}
-
-
-# Unless the user overrides by setting GREP, search the path for either GNU
-# grep, or the grep that truncates its output the least.
-test -z "$GREP" && {
-  func_check_prog_grep ()
-  {
-    _G_path_prog=$1
-
-    _G_count=0
-    _G_path_prog_max=0
-    printf 0123456789 >conftest.in
-    while :
-    do
-      cat conftest.in conftest.in >conftest.tmp
-      mv conftest.tmp conftest.in
-      cp conftest.in conftest.nl
-      echo 'GREP' >> conftest.nl
-      "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
-      diff conftest.out conftest.nl >/dev/null 2>&1 || break
-      _G_count=`expr $_G_count + 1`
-      if test "$_G_count" -gt "$_G_path_prog_max"; then
-        # Best one so far, save it but keep looking for a better one
-        func_check_prog_result=$_G_path_prog
-        _G_path_prog_max=$_G_count
-      fi
-      # 10*(2^10) chars as input seems more than enough
-      test 10 -lt "$_G_count" && break
-    done
-    rm -f conftest.in conftest.tmp conftest.nl conftest.out
-  }
-
-  func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
-  GREP=$func_path_progs_result
-}
-
-
-## ------------------------------- ##
-## User overridable command paths. ##
-## ------------------------------- ##
-
-# All uppercase variable names are used for environment variables.  These
-# variables can be overridden by the user before calling a script that
-# uses them if a suitable command of that name is not already available
-# in the command search PATH.
-
-: ${CP="cp -f"}
-: ${ECHO="printf %s\n"}
-: ${EGREP="$GREP -E"}
-: ${FGREP="$GREP -F"}
-: ${LN_S="ln -s"}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-
-
-## -------------------- ##
-## Useful sed snippets. ##
-## -------------------- ##
-
-sed_dirname='s|/[^/]*$||'
-sed_basename='s|^.*/||'
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
-
-# Same as above, but do not quote variable references.
-sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
-
-# Sed substitution that converts a w32 file name or path
-# that contains forward slashes, into one that contains
-# (escaped) backslashes.  A very naive implementation.
-sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-'\' parameter expansions in output of sed_double_quote_subst that
-# were '\'-ed in input to the same.  If an odd number of '\' preceded a
-# '$' in input to sed_double_quote_subst, that '$' was protected from
-# expansion.  Since each input '\' is now two '\'s, look for any number
-# of runs of four '\'s followed by two '\'s and then a '$'.  '\' that '$'.
-_G_bs='\\'
-_G_bs2='\\\\'
-_G_bs4='\\\\\\\\'
-_G_dollar='\$'
-sed_double_backslash="\
-  s/$_G_bs4/&\\
-/g
-  s/^$_G_bs2$_G_dollar/$_G_bs&/
-  s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
-  s/\n//g"
-
-
-## ----------------- ##
-## Global variables. ##
-## ----------------- ##
-
-# Except for the global variables explicitly listed below, the following
-# functions in the '^func_' namespace, and the '^require_' namespace
-# variables initialised in the 'Resource management' section, sourcing
-# this file will not pollute your global namespace with anything
-# else. There's no portable way to scope variables in Bourne shell
-# though, so actually running these functions will sometimes place
-# results into a variable named after the function, and often use
-# temporary variables in the '^_G_' namespace. If you are careful to
-# avoid using those namespaces casually in your sourcing script, things
-# should continue to work as you expect. And, of course, you can freely
-# overwrite any of the functions or variables defined here before
-# calling anything to customize them.
-
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
-
-# Allow overriding, eg assuming that you follow the convention of
-# putting '$debug_cmd' at the start of all your functions, you can get
-# bash to show function call trace with:
-#
-#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
-debug_cmd=${debug_cmd-":"}
-exit_cmd=:
-
-# By convention, finish your script with:
-#
-#    exit $exit_status
-#
-# so that you can set exit_status to non-zero if you want to indicate
-# something went wrong during execution without actually bailing out at
-# the point of failure.
-exit_status=$EXIT_SUCCESS
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath=$0
-
-# The name of this program.
-progname=`$ECHO "$progpath" |$SED "$sed_basename"`
-
-# Make sure we have an absolute progpath for reexecution:
-case $progpath in
-  [\\/]*|[A-Za-z]:\\*) ;;
-  *[\\/]*)
-     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
-     progdir=`cd "$progdir" && pwd`
-     progpath=$progdir/$progname
-     ;;
-  *)
-     _G_IFS=$IFS
-     IFS=${PATH_SEPARATOR-:}
-     for progdir in $PATH; do
-       IFS=$_G_IFS
-       test -x "$progdir/$progname" && break
-     done
-     IFS=$_G_IFS
-     test -n "$progdir" || progdir=`pwd`
-     progpath=$progdir/$progname
-     ;;
-esac
-
-
-## ----------------- ##
-## Standard options. ##
-## ----------------- ##
-
-# The following options affect the operation of the functions defined
-# below, and should be set appropriately depending on run-time para-
-# meters passed on the command line.
-
-opt_dry_run=false
-opt_quiet=false
-opt_verbose=false
-
-# Categories 'all' and 'none' are always available.  Append any others
-# you will pass as the first argument to func_warning from your own
-# code.
-warning_categories=
-
-# By default, display warnings according to 'opt_warning_types'.  Set
-# 'warning_func'  to ':' to elide all warnings, or func_fatal_error to
-# treat the next displayed warning as a fatal error.
-warning_func=func_warn_and_continue
-
-# Set to 'all' to display all warnings, 'none' to suppress all
-# warnings, or a space delimited list of some subset of
-# 'warning_categories' to display only the listed warnings.
-opt_warning_types=all
-
-
-## -------------------- ##
-## Resource management. ##
-## -------------------- ##
-
-# This section contains definitions for functions that each ensure a
-# particular resource (a file, or a non-empty configuration variable for
-# example) is available, and if appropriate to extract default values
-# from pertinent package files. Call them using their associated
-# 'require_*' variable to ensure that they are executed, at most, once.
-#
-# It's entirely deliberate that calling these functions can set
-# variables that don't obey the namespace limitations obeyed by the rest
-# of this file, in order that that they be as useful as possible to
-# callers.
-
-
-# require_term_colors
-# -------------------
-# Allow display of bold text on terminals that support it.
-require_term_colors=func_require_term_colors
-func_require_term_colors ()
-{
-    $debug_cmd
-
-    test -t 1 && {
-      # COLORTERM and USE_ANSI_COLORS environment variables take
-      # precedence, because most terminfo databases neglect to describe
-      # whether color sequences are supported.
-      test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
-
-      if test 1 = "$USE_ANSI_COLORS"; then
-        # Standard ANSI escape sequences
-        tc_reset=''
-        tc_bold='';   tc_standout=''
-        tc_red='';   tc_green=''
-        tc_blue='';  tc_cyan=''
-      else
-        # Otherwise trust the terminfo database after all.
-        test -n "`tput sgr0 2>/dev/null`" && {
-          tc_reset=`tput sgr0`
-          test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
-          tc_standout=$tc_bold
-          test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
-          test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
-          test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
-          test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
-          test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
-        }
-      fi
-    }
-
-    require_term_colors=:
-}
-
-
-## ----------------- ##
-## Function library. ##
-## ----------------- ##
-
-# This section contains a variety of useful functions to call in your
-# scripts. Take note of the portable wrappers for features provided by
-# some modern shells, which will fall back to slower equivalents on
-# less featureful shells.
-
-
-# func_append VAR VALUE
-# ---------------------
-# Append VALUE onto the existing contents of VAR.
-
-  # We should try to minimise forks, especially on Windows where they are
-  # unreasonably slow, so skip the feature probes when bash or zsh are
-  # being used:
-  if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
-    : ${_G_HAVE_ARITH_OP="yes"}
-    : ${_G_HAVE_XSI_OPS="yes"}
-    # The += operator was introduced in bash 3.1
-    case $BASH_VERSION in
-      [12].* | 3.0 | 3.0*) ;;
-      *)
-        : ${_G_HAVE_PLUSEQ_OP="yes"}
-        ;;
-    esac
-  fi
-
-  # _G_HAVE_PLUSEQ_OP
-  # Can be empty, in which case the shell is probed, "yes" if += is
-  # useable or anything else if it does not work.
-  test -z "$_G_HAVE_PLUSEQ_OP" \
-    && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
-    && _G_HAVE_PLUSEQ_OP=yes
-
-if test yes = "$_G_HAVE_PLUSEQ_OP"
-then
-  # This is an XSI compatible shell, allowing a faster implementation...
-  eval 'func_append ()
-  {
-    $debug_cmd
-
-    eval "$1+=\$2"
-  }'
-else
-  # ...otherwise fall back to using expr, which is often a shell builtin.
-  func_append ()
-  {
-    $debug_cmd
-
-    eval "$1=\$$1\$2"
-  }
-fi
-
-
-# func_append_quoted VAR VALUE
-# ----------------------------
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-if test yes = "$_G_HAVE_PLUSEQ_OP"; then
-  eval 'func_append_quoted ()
-  {
-    $debug_cmd
-
-    func_quote_for_eval "$2"
-    eval "$1+=\\ \$func_quote_for_eval_result"
-  }'
-else
-  func_append_quoted ()
-  {
-    $debug_cmd
-
-    func_quote_for_eval "$2"
-    eval "$1=\$$1\\ \$func_quote_for_eval_result"
-  }
-fi
-
-
-# func_append_uniq VAR VALUE
-# --------------------------
-# Append unique VALUE onto the existing contents of VAR, assuming
-# entries are delimited by the first character of VALUE.  For example:
-#
-#   func_append_uniq options " --another-option option-argument"
-#
-# will only append to $options if " --another-option option-argument "
-# is not already present somewhere in $options already (note spaces at
-# each end implied by leading space in second argument).
-func_append_uniq ()
-{
-    $debug_cmd
-
-    eval _G_current_value='`$ECHO $'$1'`'
-    _G_delim=`expr "$2" : '\(.\)'`
-
-    case $_G_delim$_G_current_value$_G_delim in
-      *"$2$_G_delim"*) ;;
-      *) func_append "$@" ;;
-    esac
-}
-
-
-# func_arith TERM...
-# ------------------
-# Set func_arith_result to the result of evaluating TERMs.
-  test -z "$_G_HAVE_ARITH_OP" \
-    && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
-    && _G_HAVE_ARITH_OP=yes
-
-if test yes = "$_G_HAVE_ARITH_OP"; then
-  eval 'func_arith ()
-  {
-    $debug_cmd
-
-    func_arith_result=$(( $* ))
-  }'
-else
-  func_arith ()
-  {
-    $debug_cmd
-
-    func_arith_result=`expr "$@"`
-  }
-fi
-
-
-# func_basename FILE
-# ------------------
-# Set func_basename_result to FILE with everything up to and including
-# the last / stripped.
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  # If this shell supports suffix pattern removal, then use it to avoid
-  # forking. Hide the definitions single quotes in case the shell chokes
-  # on unsupported syntax...
-  _b='func_basename_result=${1##*/}'
-  _d='case $1 in
-        */*) func_dirname_result=${1%/*}$2 ;;
-        *  ) func_dirname_result=$3        ;;
-      esac'
-
-else
-  # ...otherwise fall back to using sed.
-  _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
-  _d='func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`
-      if test "X$func_dirname_result" = "X$1"; then
-        func_dirname_result=$3
-      else
-        func_append func_dirname_result "$2"
-      fi'
-fi
-
-eval 'func_basename ()
-{
-    $debug_cmd
-
-    '"$_b"'
-}'
-
-
-# func_dirname FILE APPEND NONDIR_REPLACEMENT
-# -------------------------------------------
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-eval 'func_dirname ()
-{
-    $debug_cmd
-
-    '"$_d"'
-}'
-
-
-# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
-# --------------------------------------------------------
-# Perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# For efficiency, we do not delegate to the functions above but instead
-# duplicate the functionality here.
-eval 'func_dirname_and_basename ()
-{
-    $debug_cmd
-
-    '"$_b"'
-    '"$_d"'
-}'
-
-
-# func_echo ARG...
-# ----------------
-# Echo program name prefixed message.
-func_echo ()
-{
-    $debug_cmd
-
-    _G_message=$*
-
-    func_echo_IFS=$IFS
-    IFS=$nl
-    for _G_line in $_G_message; do
-      IFS=$func_echo_IFS
-      $ECHO "$progname: $_G_line"
-    done
-    IFS=$func_echo_IFS
-}
-
-
-# func_echo_all ARG...
-# --------------------
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
-
-
-# func_echo_infix_1 INFIX ARG...
-# ------------------------------
-# Echo program name, followed by INFIX on the first line, with any
-# additional lines not showing INFIX.
-func_echo_infix_1 ()
-{
-    $debug_cmd
-
-    $require_term_colors
-
-    _G_infix=$1; shift
-    _G_indent=$_G_infix
-    _G_prefix="$progname: $_G_infix: "
-    _G_message=$*
-
-    # Strip color escape sequences before counting printable length
-    for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
-    do
-      test -n "$_G_tc" && {
-        _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
-        _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
-      }
-    done
-    _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`"  " ## exclude from sc_prohibit_nested_quotes
-
-    func_echo_infix_1_IFS=$IFS
-    IFS=$nl
-    for _G_line in $_G_message; do
-      IFS=$func_echo_infix_1_IFS
-      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
-      _G_prefix=$_G_indent
-    done
-    IFS=$func_echo_infix_1_IFS
-}
-
-
-# func_error ARG...
-# -----------------
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $debug_cmd
-
-    $require_term_colors
-
-    func_echo_infix_1 "  $tc_standout${tc_red}error$tc_reset" "$*" >&2
-}
-
-
-# func_fatal_error ARG...
-# -----------------------
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
-    $debug_cmd
-
-    func_error "$*"
-    exit $EXIT_FAILURE
-}
-
-
-# func_grep EXPRESSION FILENAME
-# -----------------------------
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
-    $debug_cmd
-
-    $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_len STRING
-# ---------------
-# Set func_len_result to the length of STRING. STRING may not
-# start with a hyphen.
-  test -z "$_G_HAVE_XSI_OPS" \
-    && (eval 'x=a/b/c;
-      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
-    && _G_HAVE_XSI_OPS=yes
-
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  eval 'func_len ()
-  {
-    $debug_cmd
-
-    func_len_result=${#1}
-  }'
-else
-  func_len ()
-  {
-    $debug_cmd
-
-    func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-  }
-fi
-
-
-# func_mkdir_p DIRECTORY-PATH
-# ---------------------------
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
-    $debug_cmd
-
-    _G_directory_path=$1
-    _G_dir_list=
-
-    if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
-
-      # Protect directory names starting with '-'
-      case $_G_directory_path in
-        -*) _G_directory_path=./$_G_directory_path ;;
-      esac
-
-      # While some portion of DIR does not yet exist...
-      while test ! -d "$_G_directory_path"; do
-        # ...make a list in topmost first order.  Use a colon delimited
-	# list incase some portion of path contains whitespace.
-        _G_dir_list=$_G_directory_path:$_G_dir_list
-
-        # If the last portion added has no slash in it, the list is done
-        case $_G_directory_path in */*) ;; *) break ;; esac
-
-        # ...otherwise throw away the child directory and loop
-        _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
-      done
-      _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
-
-      func_mkdir_p_IFS=$IFS; IFS=:
-      for _G_dir in $_G_dir_list; do
-	IFS=$func_mkdir_p_IFS
-        # mkdir can fail with a 'File exist' error if two processes
-        # try to create one of the directories concurrently.  Don't
-        # stop in that case!
-        $MKDIR "$_G_dir" 2>/dev/null || :
-      done
-      IFS=$func_mkdir_p_IFS
-
-      # Bail out if we (or some other process) failed to create a directory.
-      test -d "$_G_directory_path" || \
-        func_fatal_error "Failed to create '$1'"
-    fi
-}
-
-
-# func_mktempdir [BASENAME]
-# -------------------------
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, BASENAME is the basename for that directory.
-func_mktempdir ()
-{
-    $debug_cmd
-
-    _G_template=${TMPDIR-/tmp}/${1-$progname}
-
-    if test : = "$opt_dry_run"; then
-      # Return a directory name, but don't create it in dry-run mode
-      _G_tmpdir=$_G_template-$$
-    else
-
-      # If mktemp works, use that first and foremost
-      _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$_G_tmpdir"; then
-        # Failing that, at least try and use $RANDOM to avoid a race
-        _G_tmpdir=$_G_template-${RANDOM-0}$$
-
-        func_mktempdir_umask=`umask`
-        umask 0077
-        $MKDIR "$_G_tmpdir"
-        umask $func_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$_G_tmpdir" || \
-        func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
-    fi
-
-    $ECHO "$_G_tmpdir"
-}
-
-
-# func_normal_abspath PATH
-# ------------------------
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-func_normal_abspath ()
-{
-    $debug_cmd
-
-    # These SED scripts presuppose an absolute path with a trailing slash.
-    _G_pathcar='s|^/\([^/]*\).*$|\1|'
-    _G_pathcdr='s|^/[^/]*||'
-    _G_removedotparts=':dotsl
-		s|/\./|/|g
-		t dotsl
-		s|/\.$|/|'
-    _G_collapseslashes='s|/\{1,\}|/|g'
-    _G_finalslash='s|/*$|/|'
-
-    # Start from root dir and reassemble the path.
-    func_normal_abspath_result=
-    func_normal_abspath_tpath=$1
-    func_normal_abspath_altnamespace=
-    case $func_normal_abspath_tpath in
-      "")
-        # Empty path, that just means $cwd.
-        func_stripname '' '/' "`pwd`"
-        func_normal_abspath_result=$func_stripname_result
-        return
-        ;;
-      # The next three entries are used to spot a run of precisely
-      # two leading slashes without using negated character classes;
-      # we take advantage of case's first-match behaviour.
-      ///*)
-        # Unusual form of absolute path, do nothing.
-        ;;
-      //*)
-        # Not necessarily an ordinary path; POSIX reserves leading '//'
-        # and for example Cygwin uses it to access remote file shares
-        # over CIFS/SMB, so we conserve a leading double slash if found.
-        func_normal_abspath_altnamespace=/
-        ;;
-      /*)
-        # Absolute path, do nothing.
-        ;;
-      *)
-        # Relative path, prepend $cwd.
-        func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-        ;;
-    esac
-
-    # Cancel out all the simple stuff to save iterations.  We also want
-    # the path to end with a slash for ease of parsing, so make sure
-    # there is one (and only one) here.
-    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-          -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
-    while :; do
-      # Processed it all yet?
-      if test / = "$func_normal_abspath_tpath"; then
-        # If we ascended to the root using ".." the result may be empty now.
-        if test -z "$func_normal_abspath_result"; then
-          func_normal_abspath_result=/
-        fi
-        break
-      fi
-      func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-          -e "$_G_pathcar"`
-      func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-          -e "$_G_pathcdr"`
-      # Figure out what to do with it
-      case $func_normal_abspath_tcomponent in
-        "")
-          # Trailing empty path component, ignore it.
-          ;;
-        ..)
-          # Parent dir; strip last assembled component from result.
-          func_dirname "$func_normal_abspath_result"
-          func_normal_abspath_result=$func_dirname_result
-          ;;
-        *)
-          # Actual path component, append it.
-          func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
-          ;;
-      esac
-    done
-    # Restore leading double-slash if one was found on entry.
-    func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
-
-
-# func_notquiet ARG...
-# --------------------
-# Echo program name prefixed message only when not in quiet mode.
-func_notquiet ()
-{
-    $debug_cmd
-
-    $opt_quiet || func_echo ${1+"$@"}
-
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
-}
-
-
-# func_relative_path SRCDIR DSTDIR
-# --------------------------------
-# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
-func_relative_path ()
-{
-    $debug_cmd
-
-    func_relative_path_result=
-    func_normal_abspath "$1"
-    func_relative_path_tlibdir=$func_normal_abspath_result
-    func_normal_abspath "$2"
-    func_relative_path_tbindir=$func_normal_abspath_result
-
-    # Ascend the tree starting from libdir
-    while :; do
-      # check if we have found a prefix of bindir
-      case $func_relative_path_tbindir in
-        $func_relative_path_tlibdir)
-          # found an exact match
-          func_relative_path_tcancelled=
-          break
-          ;;
-        $func_relative_path_tlibdir*)
-          # found a matching prefix
-          func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-          func_relative_path_tcancelled=$func_stripname_result
-          if test -z "$func_relative_path_result"; then
-            func_relative_path_result=.
-          fi
-          break
-          ;;
-        *)
-          func_dirname $func_relative_path_tlibdir
-          func_relative_path_tlibdir=$func_dirname_result
-          if test -z "$func_relative_path_tlibdir"; then
-            # Have to descend all the way to the root!
-            func_relative_path_result=../$func_relative_path_result
-            func_relative_path_tcancelled=$func_relative_path_tbindir
-            break
-          fi
-          func_relative_path_result=../$func_relative_path_result
-          ;;
-      esac
-    done
-
-    # Now calculate path; take care to avoid doubling-up slashes.
-    func_stripname '' '/' "$func_relative_path_result"
-    func_relative_path_result=$func_stripname_result
-    func_stripname '/' '/' "$func_relative_path_tcancelled"
-    if test -n "$func_stripname_result"; then
-      func_append func_relative_path_result "/$func_stripname_result"
-    fi
-
-    # Normalisation. If bindir is libdir, return '.' else relative path.
-    if test -n "$func_relative_path_result"; then
-      func_stripname './' '' "$func_relative_path_result"
-      func_relative_path_result=$func_stripname_result
-    fi
-
-    test -n "$func_relative_path_result" || func_relative_path_result=.
-
-    :
-}
-
-
-# func_quote_for_eval ARG...
-# --------------------------
-# Aesthetically quote ARGs to be evaled later.
-# This function returns two values:
-#   i) func_quote_for_eval_result
-#      double-quoted, suitable for a subsequent eval
-#  ii) func_quote_for_eval_unquoted_result
-#      has all characters that are still active within double
-#      quotes backslashified.
-func_quote_for_eval ()
-{
-    $debug_cmd
-
-    func_quote_for_eval_unquoted_result=
-    func_quote_for_eval_result=
-    while test 0 -lt $#; do
-      case $1 in
-        *[\\\`\"\$]*)
-	  _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
-        *)
-          _G_unquoted_arg=$1 ;;
-      esac
-      if test -n "$func_quote_for_eval_unquoted_result"; then
-	func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
-      else
-        func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
-      fi
-
-      case $_G_unquoted_arg in
-        # Double-quote args containing shell metacharacters to delay
-        # word splitting, command substitution and variable expansion
-        # for a subsequent eval.
-        # Many Bourne shells cannot handle close brackets correctly
-        # in scan sets, so we specify it separately.
-        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-          _G_quoted_arg=\"$_G_unquoted_arg\"
-          ;;
-        *)
-          _G_quoted_arg=$_G_unquoted_arg
-	  ;;
-      esac
-
-      if test -n "$func_quote_for_eval_result"; then
-	func_append func_quote_for_eval_result " $_G_quoted_arg"
-      else
-        func_append func_quote_for_eval_result "$_G_quoted_arg"
-      fi
-      shift
-    done
-}
-
-
-# func_quote_for_expand ARG
-# -------------------------
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
-    $debug_cmd
-
-    case $1 in
-      *[\\\`\"]*)
-	_G_arg=`$ECHO "$1" | $SED \
-	    -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
-      *)
-        _G_arg=$1 ;;
-    esac
-
-    case $_G_arg in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting and command substitution for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        _G_arg=\"$_G_arg\"
-        ;;
-    esac
-
-    func_quote_for_expand_result=$_G_arg
-}
-
-
-# func_stripname PREFIX SUFFIX NAME
-# ---------------------------------
-# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  eval 'func_stripname ()
-  {
-    $debug_cmd
-
-    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-    # positional parameters, so assign one to ordinary variable first.
-    func_stripname_result=$3
-    func_stripname_result=${func_stripname_result#"$1"}
-    func_stripname_result=${func_stripname_result%"$2"}
-  }'
-else
-  func_stripname ()
-  {
-    $debug_cmd
-
-    case $2 in
-      .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
-      *)  func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
-    esac
-  }
-fi
-
-
-# func_show_eval CMD [FAIL_EXP]
-# -----------------------------
-# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
-    $debug_cmd
-
-    _G_cmd=$1
-    _G_fail_exp=${2-':'}
-
-    func_quote_for_expand "$_G_cmd"
-    eval "func_notquiet $func_quote_for_expand_result"
-
-    $opt_dry_run || {
-      eval "$_G_cmd"
-      _G_status=$?
-      if test 0 -ne "$_G_status"; then
-	eval "(exit $_G_status); $_G_fail_exp"
-      fi
-    }
-}
-
-
-# func_show_eval_locale CMD [FAIL_EXP]
-# ------------------------------------
-# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
-    $debug_cmd
-
-    _G_cmd=$1
-    _G_fail_exp=${2-':'}
-
-    $opt_quiet || {
-      func_quote_for_expand "$_G_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    $opt_dry_run || {
-      eval "$_G_user_locale
-	    $_G_cmd"
-      _G_status=$?
-      eval "$_G_safe_locale"
-      if test 0 -ne "$_G_status"; then
-	eval "(exit $_G_status); $_G_fail_exp"
-      fi
-    }
-}
-
-
-# func_tr_sh
-# ----------
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result.  All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
-{
-    $debug_cmd
-
-    case $1 in
-    [0-9]* | *[!a-zA-Z0-9_]*)
-      func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
-      ;;
-    * )
-      func_tr_sh_result=$1
-      ;;
-    esac
-}
-
-
-# func_verbose ARG...
-# -------------------
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $debug_cmd
-
-    $opt_verbose && func_echo "$*"
-
-    :
-}
-
-
-# func_warn_and_continue ARG...
-# -----------------------------
-# Echo program name prefixed warning message to standard error.
-func_warn_and_continue ()
-{
-    $debug_cmd
-
-    $require_term_colors
-
-    func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
-}
-
-
-# func_warning CATEGORY ARG...
-# ----------------------------
-# Echo program name prefixed warning message to standard error. Warning
-# messages can be filtered according to CATEGORY, where this function
-# elides messages where CATEGORY is not listed in the global variable
-# 'opt_warning_types'.
-func_warning ()
-{
-    $debug_cmd
-
-    # CATEGORY must be in the warning_categories list!
-    case " $warning_categories " in
-      *" $1 "*) ;;
-      *) func_internal_error "invalid warning category '$1'" ;;
-    esac
-
-    _G_category=$1
-    shift
-
-    case " $opt_warning_types " in
-      *" $_G_category "*) $warning_func ${1+"$@"} ;;
-    esac
-}
-
-
-# func_sort_ver VER1 VER2
-# -----------------------
-# 'sort -V' is not generally available.
-# Note this deviates from the version comparison in automake
-# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
-# but this should suffice as we won't be specifying old
-# version formats or redundant trailing .0 in bootstrap.conf.
-# If we did want full compatibility then we should probably
-# use m4_version_compare from autoconf.
-func_sort_ver ()
-{
-    $debug_cmd
-
-    printf '%s\n%s\n' "$1" "$2" \
-      | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
-}
-
-# func_lt_ver PREV CURR
-# ---------------------
-# Return true if PREV and CURR are in the correct order according to
-# func_sort_ver, otherwise false.  Use it like this:
-#
-#  func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
-func_lt_ver ()
-{
-    $debug_cmd
-
-    test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
-}
-
-
-# Local variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
-# time-stamp-time-zone: "UTC"
-# End:
-#! /bin/sh
-
-# Set a version string for this script.
-scriptversion=2014-01-07.03; # UTC
-
-# A portable, pluggable option parser for Bourne shell.
-# Written by Gary V. Vaughan, 2010
-
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Please report bugs or propose patches to gary@gnu.org.
-
-
-## ------ ##
-## Usage. ##
-## ------ ##
-
-# This file is a library for parsing options in your shell scripts along
-# with assorted other useful supporting features that you can make use
-# of too.
-#
-# For the simplest scripts you might need only:
-#
-#   #!/bin/sh
-#   . relative/path/to/funclib.sh
-#   . relative/path/to/options-parser
-#   scriptversion=1.0
-#   func_options ${1+"$@"}
-#   eval set dummy "$func_options_result"; shift
-#   ...rest of your script...
-#
-# In order for the '--version' option to work, you will need to have a
-# suitably formatted comment like the one at the top of this file
-# starting with '# Written by ' and ending with '# warranty; '.
-#
-# For '-h' and '--help' to work, you will also need a one line
-# description of your script's purpose in a comment directly above the
-# '# Written by ' line, like the one at the top of this file.
-#
-# The default options also support '--debug', which will turn on shell
-# execution tracing (see the comment above debug_cmd below for another
-# use), and '--verbose' and the func_verbose function to allow your script
-# to display verbose messages only when your user has specified
-# '--verbose'.
-#
-# After sourcing this file, you can plug processing for additional
-# options by amending the variables from the 'Configuration' section
-# below, and following the instructions in the 'Option parsing'
-# section further down.
-
-## -------------- ##
-## Configuration. ##
-## -------------- ##
-
-# You should override these variables in your script after sourcing this
-# file so that they reflect the customisations you have added to the
-# option parser.
-
-# The usage line for option parsing errors and the start of '-h' and
-# '--help' output messages. You can embed shell variables for delayed
-# expansion at the time the message is displayed, but you will need to
-# quote other shell meta-characters carefully to prevent them being
-# expanded when the contents are evaled.
-usage='$progpath [OPTION]...'
-
-# Short help message in response to '-h' and '--help'.  Add to this or
-# override it after sourcing this library to reflect the full set of
-# options your script accepts.
-usage_message="\
-       --debug        enable verbose shell tracing
-   -W, --warnings=CATEGORY
-                      report the warnings falling in CATEGORY [all]
-   -v, --verbose      verbosely report processing
-       --version      print version information and exit
-   -h, --help         print short or long help message and exit
-"
-
-# Additional text appended to 'usage_message' in response to '--help'.
-long_help_message="
-Warning categories include:
-       'all'          show all warnings
-       'none'         turn off all the warnings
-       'error'        warnings are treated as fatal errors"
-
-# Help message printed before fatal option parsing errors.
-fatal_help="Try '\$progname --help' for more information."
-
-
-
-## ------------------------- ##
-## Hook function management. ##
-## ------------------------- ##
-
-# This section contains functions for adding, removing, and running hooks
-# to the main code.  A hook is just a named list of of function, that can
-# be run in order later on.
-
-# func_hookable FUNC_NAME
-# -----------------------
-# Declare that FUNC_NAME will run hooks added with
-# 'func_add_hook FUNC_NAME ...'.
-func_hookable ()
-{
-    $debug_cmd
-
-    func_append hookable_fns " $1"
-}
-
-
-# func_add_hook FUNC_NAME HOOK_FUNC
-# ---------------------------------
-# Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
-# first have been declared "hookable" by a call to 'func_hookable'.
-func_add_hook ()
-{
-    $debug_cmd
-
-    case " $hookable_fns " in
-      *" $1 "*) ;;
-      *) func_fatal_error "'$1' does not accept hook functions." ;;
-    esac
-
-    eval func_append ${1}_hooks '" $2"'
-}
-
-
-# func_remove_hook FUNC_NAME HOOK_FUNC
-# ------------------------------------
-# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
-func_remove_hook ()
-{
-    $debug_cmd
-
-    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
-}
-
-
-# func_run_hooks FUNC_NAME [ARG]...
-# ---------------------------------
-# Run all hook functions registered to FUNC_NAME.
-# It is assumed that the list of hook functions contains nothing more
-# than a whitespace-delimited list of legal shell function names, and
-# no effort is wasted trying to catch shell meta-characters or preserve
-# whitespace.
-func_run_hooks ()
-{
-    $debug_cmd
-
-    case " $hookable_fns " in
-      *" $1 "*) ;;
-      *) func_fatal_error "'$1' does not support hook funcions.n" ;;
-    esac
-
-    eval _G_hook_fns=\$$1_hooks; shift
-
-    for _G_hook in $_G_hook_fns; do
-      eval $_G_hook '"$@"'
-
-      # store returned options list back into positional
-      # parameters for next 'cmd' execution.
-      eval _G_hook_result=\$${_G_hook}_result
-      eval set dummy "$_G_hook_result"; shift
-    done
-
-    func_quote_for_eval ${1+"$@"}
-    func_run_hooks_result=$func_quote_for_eval_result
-}
-
-
-
-## --------------- ##
-## Option parsing. ##
-## --------------- ##
-
-# In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, remove any
-# options that you action, and then pass back the remaining unprocessed
-# options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'.  Like this:
-#
-#    my_options_prep ()
-#    {
-#        $debug_cmd
-#
-#        # Extend the existing usage message.
-#        usage_message=$usage_message'
-#      -s, --silent       don'\''t print informational messages
-#    '
-#
-#        func_quote_for_eval ${1+"$@"}
-#        my_options_prep_result=$func_quote_for_eval_result
-#    }
-#    func_add_hook func_options_prep my_options_prep
-#
-#
-#    my_silent_option ()
-#    {
-#        $debug_cmd
-#
-#        # Note that for efficiency, we parse as many options as we can
-#        # recognise in a loop before passing the remainder back to the
-#        # caller on the first unrecognised argument we encounter.
-#        while test $# -gt 0; do
-#          opt=$1; shift
-#          case $opt in
-#            --silent|-s) opt_silent=: ;;
-#            # Separate non-argument short options:
-#            -s*)         func_split_short_opt "$_G_opt"
-#                         set dummy "$func_split_short_opt_name" \
-#                             "-$func_split_short_opt_arg" ${1+"$@"}
-#                         shift
-#                         ;;
-#            *)            set dummy "$_G_opt" "$*"; shift; break ;;
-#          esac
-#        done
-#
-#        func_quote_for_eval ${1+"$@"}
-#        my_silent_option_result=$func_quote_for_eval_result
-#    }
-#    func_add_hook func_parse_options my_silent_option
-#
-#
-#    my_option_validation ()
-#    {
-#        $debug_cmd
-#
-#        $opt_silent && $opt_verbose && func_fatal_help "\
-#    '--silent' and '--verbose' options are mutually exclusive."
-#
-#        func_quote_for_eval ${1+"$@"}
-#        my_option_validation_result=$func_quote_for_eval_result
-#    }
-#    func_add_hook func_validate_options my_option_validation
-#
-# You'll alse need to manually amend $usage_message to reflect the extra
-# options you parse.  It's preferable to append if you can, so that
-# multiple option parsing hooks can be added safely.
-
-
-# func_options [ARG]...
-# ---------------------
-# All the functions called inside func_options are hookable. See the
-# individual implementations for details.
-func_hookable func_options
-func_options ()
-{
-    $debug_cmd
-
-    func_options_prep ${1+"$@"}
-    eval func_parse_options \
-        ${func_options_prep_result+"$func_options_prep_result"}
-    eval func_validate_options \
-        ${func_parse_options_result+"$func_parse_options_result"}
-
-    eval func_run_hooks func_options \
-        ${func_validate_options_result+"$func_validate_options_result"}
-
-    # save modified positional parameters for caller
-    func_options_result=$func_run_hooks_result
-}
-
-
-# func_options_prep [ARG]...
-# --------------------------
-# All initialisations required before starting the option parse loop.
-# Note that when calling hook functions, we pass through the list of
-# positional parameters.  If a hook function modifies that list, and
-# needs to propogate that back to rest of this script, then the complete
-# modified list must be put in 'func_run_hooks_result' before
-# returning.
-func_hookable func_options_prep
-func_options_prep ()
-{
-    $debug_cmd
-
-    # Option defaults:
-    opt_verbose=false
-    opt_warning_types=
-
-    func_run_hooks func_options_prep ${1+"$@"}
-
-    # save modified positional parameters for caller
-    func_options_prep_result=$func_run_hooks_result
-}
-
-
-# func_parse_options [ARG]...
-# ---------------------------
-# The main option parsing loop.
-func_hookable func_parse_options
-func_parse_options ()
-{
-    $debug_cmd
-
-    func_parse_options_result=
-
-    # this just eases exit handling
-    while test $# -gt 0; do
-      # Defer to hook functions for initial option parsing, so they
-      # get priority in the event of reusing an option name.
-      func_run_hooks func_parse_options ${1+"$@"}
-
-      # Adjust func_parse_options positional parameters to match
-      eval set dummy "$func_run_hooks_result"; shift
-
-      # Break out of the loop if we already parsed every option.
-      test $# -gt 0 || break
-
-      _G_opt=$1
-      shift
-      case $_G_opt in
-        --debug|-x)   debug_cmd='set -x'
-                      func_echo "enabling shell trace mode"
-                      $debug_cmd
-                      ;;
-
-        --no-warnings|--no-warning|--no-warn)
-                      set dummy --warnings none ${1+"$@"}
-                      shift
-		      ;;
-
-        --warnings|--warning|-W)
-                      test $# = 0 && func_missing_arg $_G_opt && break
-                      case " $warning_categories $1" in
-                        *" $1 "*)
-                          # trailing space prevents matching last $1 above
-                          func_append_uniq opt_warning_types " $1"
-                          ;;
-                        *all)
-                          opt_warning_types=$warning_categories
-                          ;;
-                        *none)
-                          opt_warning_types=none
-                          warning_func=:
-                          ;;
-                        *error)
-                          opt_warning_types=$warning_categories
-                          warning_func=func_fatal_error
-                          ;;
-                        *)
-                          func_fatal_error \
-                             "unsupported warning category: '$1'"
-                          ;;
-                      esac
-                      shift
-                      ;;
-
-        --verbose|-v) opt_verbose=: ;;
-        --version)    func_version ;;
-        -\?|-h)       func_usage ;;
-        --help)       func_help ;;
-
-	# Separate optargs to long options (plugins may need this):
-	--*=*)        func_split_equals "$_G_opt"
-	              set dummy "$func_split_equals_lhs" \
-                          "$func_split_equals_rhs" ${1+"$@"}
-                      shift
-                      ;;
-
-       # Separate optargs to short options:
-        -W*)
-                      func_split_short_opt "$_G_opt"
-                      set dummy "$func_split_short_opt_name" \
-                          "$func_split_short_opt_arg" ${1+"$@"}
-                      shift
-                      ;;
-
-        # Separate non-argument short options:
-        -\?*|-h*|-v*|-x*)
-                      func_split_short_opt "$_G_opt"
-                      set dummy "$func_split_short_opt_name" \
-                          "-$func_split_short_opt_arg" ${1+"$@"}
-                      shift
-                      ;;
-
-        --)           break ;;
-        -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
-        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
-      esac
-    done
-
-    # save modified positional parameters for caller
-    func_quote_for_eval ${1+"$@"}
-    func_parse_options_result=$func_quote_for_eval_result
-}
-
-
-# func_validate_options [ARG]...
-# ------------------------------
-# Perform any sanity checks on option settings and/or unconsumed
-# arguments.
-func_hookable func_validate_options
-func_validate_options ()
-{
-    $debug_cmd
-
-    # Display all warnings if -W was not given.
-    test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
-
-    func_run_hooks func_validate_options ${1+"$@"}
-
-    # Bail if the options were screwed!
-    $exit_cmd $EXIT_FAILURE
-
-    # save modified positional parameters for caller
-    func_validate_options_result=$func_run_hooks_result
-}
-
-
-
-## ----------------- ##
-## Helper functions. ##
-## ----------------- ##
-
-# This section contains the helper functions used by the rest of the
-# hookable option parser framework in ascii-betical order.
-
-
-# func_fatal_help ARG...
-# ----------------------
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    $debug_cmd
-
-    eval \$ECHO \""Usage: $usage"\"
-    eval \$ECHO \""$fatal_help"\"
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
-
-
-# func_help
-# ---------
-# Echo long help message to standard output and exit.
-func_help ()
-{
-    $debug_cmd
-
-    func_usage_message
-    $ECHO "$long_help_message"
-    exit 0
-}
-
-
-# func_missing_arg ARGNAME
-# ------------------------
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
-    $debug_cmd
-
-    func_error "Missing argument for '$1'."
-    exit_cmd=exit
-}
-
-
-# func_split_equals STRING
-# ------------------------
-# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
-# splitting STRING at the '=' sign.
-test -z "$_G_HAVE_XSI_OPS" \
-    && (eval 'x=a/b/c;
-      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
-    && _G_HAVE_XSI_OPS=yes
-
-if test yes = "$_G_HAVE_XSI_OPS"
-then
-  # This is an XSI compatible shell, allowing a faster implementation...
-  eval 'func_split_equals ()
-  {
-      $debug_cmd
-
-      func_split_equals_lhs=${1%%=*}
-      func_split_equals_rhs=${1#*=}
-      test "x$func_split_equals_lhs" = "x$1" \
-        && func_split_equals_rhs=
-  }'
-else
-  # ...otherwise fall back to using expr, which is often a shell builtin.
-  func_split_equals ()
-  {
-      $debug_cmd
-
-      func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
-      func_split_equals_rhs=
-      test "x$func_split_equals_lhs" = "x$1" \
-        || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
-  }
-fi #func_split_equals
-
-
-# func_split_short_opt SHORTOPT
-# -----------------------------
-# Set func_split_short_opt_name and func_split_short_opt_arg shell
-# variables after splitting SHORTOPT after the 2nd character.
-if test yes = "$_G_HAVE_XSI_OPS"
-then
-  # This is an XSI compatible shell, allowing a faster implementation...
-  eval 'func_split_short_opt ()
-  {
-      $debug_cmd
-
-      func_split_short_opt_arg=${1#??}
-      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
-  }'
-else
-  # ...otherwise fall back to using expr, which is often a shell builtin.
-  func_split_short_opt ()
-  {
-      $debug_cmd
-
-      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
-      func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
-  }
-fi #func_split_short_opt
-
-
-# func_usage
-# ----------
-# Echo short help message to standard output and exit.
-func_usage ()
-{
-    $debug_cmd
-
-    func_usage_message
-    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
-    exit 0
-}
-
-
-# func_usage_message
-# ------------------
-# Echo short help message to standard output.
-func_usage_message ()
-{
-    $debug_cmd
-
-    eval \$ECHO \""Usage: $usage"\"
-    echo
-    $SED -n 's|^# ||
-        /^Written by/{
-          x;p;x
-        }
-	h
-	/^Written by/q' < "$progpath"
-    echo
-    eval \$ECHO \""$usage_message"\"
-}
-
-
-# func_version
-# ------------
-# Echo version message to standard output and exit.
-func_version ()
-{
-    $debug_cmd
-
-    printf '%s\n' "$progname $scriptversion"
-    $SED -n '
-        /(C)/!b go
-        :more
-        /\./!{
-          N
-          s|\n# | |
-          b more
-        }
-        :go
-        /^# Written by /,/# warranty; / {
-          s|^# ||
-          s|^# *$||
-          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
-          p
-        }
-        /^# Written by / {
-          s|^# ||
-          p
-        }
-        /^warranty; /q' < "$progpath"
-
-    exit $?
-}
-
-
-# Local variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
-# time-stamp-time-zone: "UTC"
-# End:
-
-# Set a version string.
-scriptversion='(GNU libtool) 2.4.6'
-
-
-# func_echo ARG...
-# ----------------
-# Libtool also displays the current mode in messages, so override
-# funclib.sh func_echo with this custom definition.
-func_echo ()
-{
-    $debug_cmd
-
-    _G_message=$*
-
-    func_echo_IFS=$IFS
-    IFS=$nl
-    for _G_line in $_G_message; do
-      IFS=$func_echo_IFS
-      $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
-    done
-    IFS=$func_echo_IFS
-}
-
-
-# func_warning ARG...
-# -------------------
-# Libtool warnings are not categorized, so override funclib.sh
-# func_warning with this simpler definition.
-func_warning ()
-{
-    $debug_cmd
-
-    $warning_func ${1+"$@"}
-}
-
-
-## ---------------- ##
-## Options parsing. ##
-## ---------------- ##
-
-# Hook in the functions to make sure our own options are parsed during
-# the option parsing loop.
-
-usage='$progpath [OPTION]... [MODE-ARG]...'
-
-# Short help message in response to '-h'.
-usage_message="Options:
-       --config             show all configuration variables
-       --debug              enable verbose shell tracing
-   -n, --dry-run            display commands without modifying any files
-       --features           display basic configuration information and exit
-       --mode=MODE          use operation mode MODE
-       --no-warnings        equivalent to '-Wnone'
-       --preserve-dup-deps  don't remove duplicate dependency libraries
-       --quiet, --silent    don't print informational messages
-       --tag=TAG            use configuration variables from tag TAG
-   -v, --verbose            print more informational messages than default
-       --version            print version information
-   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]
-   -h, --help, --help-all   print short, long, or detailed help message
-"
-
-# Additional text appended to 'usage_message' in response to '--help'.
-func_help ()
-{
-    $debug_cmd
-
-    func_usage_message
-    $ECHO "$long_help_message
-
-MODE must be one of the following:
-
-       clean           remove files from the build directory
-       compile         compile a source file into a libtool object
-       execute         automatically set library path, then run a program
-       finish          complete the installation of libtool libraries
-       install         install libraries or executables
-       link            create a library or an executable
-       uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  When passed as first option,
-'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
-Try '$progname --help --mode=MODE' for a more detailed description of MODE.
-
-When reporting a bug, please describe a test case to reproduce it and
-include the following information:
-
-       host-triplet:   $host
-       shell:          $SHELL
-       compiler:       $LTCC
-       compiler flags: $LTCFLAGS
-       linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname (GNU libtool) 2.4.6
-       automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
-       autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
-
-Report bugs to <bug-libtool@gnu.org>.
-GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>."
-    exit 0
-}
-
-
-# func_lo2o OBJECT-NAME
-# ---------------------
-# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
-# object suffix.
-
-lo2o=s/\\.lo\$/.$objext/
-o2lo=s/\\.$objext\$/.lo/
-
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  eval 'func_lo2o ()
-  {
-    case $1 in
-      *.lo) func_lo2o_result=${1%.lo}.$objext ;;
-      *   ) func_lo2o_result=$1               ;;
-    esac
-  }'
-
-  # func_xform LIBOBJ-OR-SOURCE
-  # ---------------------------
-  # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
-  # suffix to a '.lo' libtool-object suffix.
-  eval 'func_xform ()
-  {
-    func_xform_result=${1%.*}.lo
-  }'
-else
-  # ...otherwise fall back to using sed.
-  func_lo2o ()
-  {
-    func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
-  }
-
-  func_xform ()
-  {
-    func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
-  }
-fi
-
-
-# func_fatal_configuration ARG...
-# -------------------------------
-# Echo program name prefixed message to standard error, followed by
-# a configuration failure hint, and exit.
-func_fatal_configuration ()
-{
-    func__fatal_error ${1+"$@"} \
-      "See the $PACKAGE documentation for more information." \
-      "Fatal configuration error."
-}
-
-
-# func_config
-# -----------
-# Display the configuration for all the tags in this script.
-func_config ()
-{
-    re_begincf='^# ### BEGIN LIBTOOL'
-    re_endcf='^# ### END LIBTOOL'
-
-    # Default configuration.
-    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
-
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
-    done
-
-    exit $?
-}
-
-
-# func_features
-# -------------
-# Display the features supported by this script.
-func_features ()
-{
-    echo "host: $host"
-    if test yes = "$build_libtool_libs"; then
-      echo "enable shared libraries"
-    else
-      echo "disable shared libraries"
-    fi
-    if test yes = "$build_old_libs"; then
-      echo "enable static libraries"
-    else
-      echo "disable static libraries"
-    fi
-
-    exit $?
-}
-
-
-# func_enable_tag TAGNAME
-# -----------------------
-# Verify that TAGNAME is valid, and either flag an error and exit, or
-# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
-# variable here.
-func_enable_tag ()
-{
-    # Global variable:
-    tagname=$1
-
-    re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-    re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-    sed_extractcf=/$re_begincf/,/$re_endcf/p
-
-    # Validate tagname.
-    case $tagname in
-      *[!-_A-Za-z0-9,/]*)
-        func_fatal_error "invalid tag name: $tagname"
-        ;;
-    esac
-
-    # Don't test for the "default" C tag, as we know it's
-    # there but not specially marked.
-    case $tagname in
-        CC) ;;
-    *)
-        if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-	  taglist="$taglist $tagname"
-
-	  # Evaluate the configuration.  Be careful to quote the path
-	  # and the sed script, to avoid splitting on whitespace, but
-	  # also don't use non-portable quotes within backquotes within
-	  # quotes we have to do it in 2 steps:
-	  extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-	  eval "$extractedcf"
-        else
-	  func_error "ignoring unknown tag $tagname"
-        fi
-        ;;
-    esac
-}
-
-
-# func_check_version_match
-# ------------------------
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
-    if test "$package_revision" != "$macro_revision"; then
-      if test "$VERSION" != "$macro_version"; then
-        if test -z "$macro_version"; then
-          cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-        else
-          cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-        fi
-      else
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
-      fi
-
-      exit $EXIT_MISMATCH
-    fi
-}
-
-
-# libtool_options_prep [ARG]...
-# -----------------------------
-# Preparation for options parsed by libtool.
-libtool_options_prep ()
-{
-    $debug_mode
-
-    # Option defaults:
-    opt_config=false
-    opt_dlopen=
-    opt_dry_run=false
-    opt_help=false
-    opt_mode=
-    opt_preserve_dup_deps=false
-    opt_quiet=false
-
-    nonopt=
-    preserve_args=
-
-    # Shorthand for --mode=foo, only valid as the first argument
-    case $1 in
-    clean|clea|cle|cl)
-      shift; set dummy --mode clean ${1+"$@"}; shift
-      ;;
-    compile|compil|compi|comp|com|co|c)
-      shift; set dummy --mode compile ${1+"$@"}; shift
-      ;;
-    execute|execut|execu|exec|exe|ex|e)
-      shift; set dummy --mode execute ${1+"$@"}; shift
-      ;;
-    finish|finis|fini|fin|fi|f)
-      shift; set dummy --mode finish ${1+"$@"}; shift
-      ;;
-    install|instal|insta|inst|ins|in|i)
-      shift; set dummy --mode install ${1+"$@"}; shift
-      ;;
-    link|lin|li|l)
-      shift; set dummy --mode link ${1+"$@"}; shift
-      ;;
-    uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-      shift; set dummy --mode uninstall ${1+"$@"}; shift
-      ;;
-    esac
-
-    # Pass back the list of options.
-    func_quote_for_eval ${1+"$@"}
-    libtool_options_prep_result=$func_quote_for_eval_result
-}
-func_add_hook func_options_prep libtool_options_prep
-
-
-# libtool_parse_options [ARG]...
-# ---------------------------------
-# Provide handling for libtool specific options.
-libtool_parse_options ()
-{
-    $debug_cmd
-
-    # Perform our own loop to consume as many options as possible in
-    # each iteration.
-    while test $# -gt 0; do
-      _G_opt=$1
-      shift
-      case $_G_opt in
-        --dry-run|--dryrun|-n)
-                        opt_dry_run=:
-                        ;;
-
-        --config)       func_config ;;
-
-        --dlopen|-dlopen)
-                        opt_dlopen="${opt_dlopen+$opt_dlopen
-}$1"
-                        shift
-                        ;;
-
-        --preserve-dup-deps)
-                        opt_preserve_dup_deps=: ;;
-
-        --features)     func_features ;;
-
-        --finish)       set dummy --mode finish ${1+"$@"}; shift ;;
-
-        --help)         opt_help=: ;;
-
-        --help-all)     opt_help=': help-all' ;;
-
-        --mode)         test $# = 0 && func_missing_arg $_G_opt && break
-                        opt_mode=$1
-                        case $1 in
-                          # Valid mode arguments:
-                          clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
-                          # Catch anything else as an error
-                          *) func_error "invalid argument for $_G_opt"
-                             exit_cmd=exit
-                             break
-                             ;;
-                        esac
-                        shift
-                        ;;
-
-        --no-silent|--no-quiet)
-                        opt_quiet=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --no-warnings|--no-warning|--no-warn)
-                        opt_warning=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --no-verbose)
-                        opt_verbose=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --silent|--quiet)
-                        opt_quiet=:
-                        opt_verbose=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --tag)          test $# = 0 && func_missing_arg $_G_opt && break
-                        opt_tag=$1
-                        func_append preserve_args " $_G_opt $1"
-                        func_enable_tag "$1"
-                        shift
-                        ;;
-
-        --verbose|-v)   opt_quiet=false
-                        opt_verbose=:
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-	# An option not handled by this hook function:
-        *)		set dummy "$_G_opt" ${1+"$@"};	shift; break  ;;
-      esac
-    done
-
-
-    # save modified positional parameters for caller
-    func_quote_for_eval ${1+"$@"}
-    libtool_parse_options_result=$func_quote_for_eval_result
-}
-func_add_hook func_parse_options libtool_parse_options
-
-
-
-# libtool_validate_options [ARG]...
-# ---------------------------------
-# Perform any sanity checks on option settings and/or unconsumed
-# arguments.
-libtool_validate_options ()
-{
-    # save first non-option argument
-    if test 0 -lt $#; then
-      nonopt=$1
-      shift
-    fi
-
-    # preserve --debug
-    test : = "$debug_cmd" || func_append preserve_args " --debug"
-
-    case $host in
-      # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
-      # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
-      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
-        # don't eliminate duplications in $postdeps and $predeps
-        opt_duplicate_compiler_generated_deps=:
-        ;;
-      *)
-        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-        ;;
-    esac
-
-    $opt_help || {
-      # Sanity checks first:
-      func_check_version_match
-
-      test yes != "$build_libtool_libs" \
-        && test yes != "$build_old_libs" \
-        && func_fatal_configuration "not configured to build any kind of library"
-
-      # Darwin sucks
-      eval std_shrext=\"$shrext_cmds\"
-
-      # Only execute mode is allowed to have -dlopen flags.
-      if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
-        func_error "unrecognized option '-dlopen'"
-        $ECHO "$help" 1>&2
-        exit $EXIT_FAILURE
-      fi
-
-      # Change the help message to a mode-specific one.
-      generic_help=$help
-      help="Try '$progname --help --mode=$opt_mode' for more information."
-    }
-
-    # Pass back the unparsed argument list
-    func_quote_for_eval ${1+"$@"}
-    libtool_validate_options_result=$func_quote_for_eval_result
-}
-func_add_hook func_validate_options libtool_validate_options
-
-
-# Process options as early as possible so that --help and --version
-# can return quickly.
-func_options ${1+"$@"}
-eval set dummy "$func_options_result"; shift
-
-
-
-## ----------- ##
-##    Main.    ##
-## ----------- ##
-
-magic='%%%MAGIC variable%%%'
-magic_exe='%%%MAGIC EXE variable%%%'
-
-# Global variables.
-extracted_archives=
-extracted_serial=0
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# func_generated_by_libtool
-# True iff stdin has been generated by Libtool. This function is only
-# a basic sanity check; it will hardly flush out determined imposters.
-func_generated_by_libtool_p ()
-{
-  $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_p file
-# True iff FILE is a libtool '.la' library or '.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
-    test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool '.la' library or '.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs.  To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if 'file' does not exist.
-func_lalib_unsafe_p ()
-{
-    lalib_p=no
-    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
-	for lalib_p_l in 1 2 3 4
-	do
-	    read lalib_p_line
-	    case $lalib_p_line in
-		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
-	    esac
-	done
-	exec 0<&5 5<&-
-    fi
-    test yes = "$lalib_p"
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
-    test -f "$1" &&
-      $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
-    func_ltwrapper_exec_suffix=
-    case $1 in
-    *.exe) ;;
-    *) func_ltwrapper_exec_suffix=.exe ;;
-    esac
-    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
-    func_dirname_and_basename "$1" "" "."
-    func_stripname '' '.exe' "$func_basename_result"
-    func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
-    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
-    $debug_cmd
-
-    save_ifs=$IFS; IFS='~'
-    for cmd in $1; do
-      IFS=$sp$nl
-      eval cmd=\"$cmd\"
-      IFS=$save_ifs
-      func_show_eval "$cmd" "${2-:}"
-    done
-    IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# 'FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
-    $debug_cmd
-
-    case $1 in
-    */* | *\\*)	. "$1" ;;
-    *)		. "./$1" ;;
-    esac
-}
-
-
-# func_resolve_sysroot PATH
-# Replace a leading = in PATH with a sysroot.  Store the result into
-# func_resolve_sysroot_result
-func_resolve_sysroot ()
-{
-  func_resolve_sysroot_result=$1
-  case $func_resolve_sysroot_result in
-  =*)
-    func_stripname '=' '' "$func_resolve_sysroot_result"
-    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
-    ;;
-  esac
-}
-
-# func_replace_sysroot PATH
-# If PATH begins with the sysroot, replace it with = and
-# store the result into func_replace_sysroot_result.
-func_replace_sysroot ()
-{
-  case $lt_sysroot:$1 in
-  ?*:"$lt_sysroot"*)
-    func_stripname "$lt_sysroot" '' "$1"
-    func_replace_sysroot_result='='$func_stripname_result
-    ;;
-  *)
-    # Including no sysroot.
-    func_replace_sysroot_result=$1
-    ;;
-  esac
-}
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    $debug_cmd
-
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-	func_append_quoted CC_quoted "$arg"
-      done
-      CC_expanded=`func_echo_all $CC`
-      CC_quoted_expanded=`func_echo_all $CC_quoted`
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-	for z in $available_tags; do
-	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-	    # Evaluate the configuration.
-	    eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-	    CC_quoted=
-	    for arg in $CC; do
-	      # Double-quote args containing other shell metacharacters.
-	      func_append_quoted CC_quoted "$arg"
-	    done
-	    CC_expanded=`func_echo_all $CC`
-	    CC_quoted_expanded=`func_echo_all $CC_quoted`
-	    case "$@ " in
-	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
-	      # The compiler in the base compile command matches
-	      # the one in the tagged configuration.
-	      # Assume this is the tagged configuration we want.
-	      tagname=$z
-	      break
-	      ;;
-	    esac
-	  fi
-	done
-	# If $tagname still isn't set, then no tagged configuration
-	# was found and let the user know that the "--tag" command
-	# line option must be used.
-	if test -z "$tagname"; then
-	  func_echo "unable to infer tagged configuration"
-	  func_fatal_error "specify a tag with '--tag'"
-#	else
-#	  func_verbose "using $tagname tagged configuration"
-	fi
-	;;
-      esac
-    fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
-    write_libobj=$1
-    if test yes = "$build_libtool_libs"; then
-      write_lobj=\'$2\'
-    else
-      write_lobj=none
-    fi
-
-    if test yes = "$build_old_libs"; then
-      write_oldobj=\'$3\'
-    else
-      write_oldobj=none
-    fi
-
-    $opt_dry_run || {
-      cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-pic_object=$write_lobj
-
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
-
-EOF
-      $MV "${write_libobj}T" "$write_libobj"
-    }
-}
-
-
-##################################################
-# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
-##################################################
-
-# func_convert_core_file_wine_to_w32 ARG
-# Helper function used by file name conversion functions when $build is *nix,
-# and $host is mingw, cygwin, or some other w32 environment. Relies on a
-# correctly configured wine environment available, with the winepath program
-# in $build's $PATH.
-#
-# ARG is the $build file name to be converted to w32 format.
-# Result is available in $func_convert_core_file_wine_to_w32_result, and will
-# be empty on error (or when ARG is empty)
-func_convert_core_file_wine_to_w32 ()
-{
-  $debug_cmd
-
-  func_convert_core_file_wine_to_w32_result=$1
-  if test -n "$1"; then
-    # Unfortunately, winepath does not exit with a non-zero error code, so we
-    # are forced to check the contents of stdout. On the other hand, if the
-    # command is not found, the shell will set an exit code of 127 and print
-    # *an error message* to stdout. So we must check for both error code of
-    # zero AND non-empty stdout, which explains the odd construction:
-    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
-    if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
-      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
-        $SED -e "$sed_naive_backslashify"`
-    else
-      func_convert_core_file_wine_to_w32_result=
-    fi
-  fi
-}
-# end: func_convert_core_file_wine_to_w32
-
-
-# func_convert_core_path_wine_to_w32 ARG
-# Helper function used by path conversion functions when $build is *nix, and
-# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
-# configured wine environment available, with the winepath program in $build's
-# $PATH. Assumes ARG has no leading or trailing path separator characters.
-#
-# ARG is path to be converted from $build format to win32.
-# Result is available in $func_convert_core_path_wine_to_w32_result.
-# Unconvertible file (directory) names in ARG are skipped; if no directory names
-# are convertible, then the result may be empty.
-func_convert_core_path_wine_to_w32 ()
-{
-  $debug_cmd
-
-  # unfortunately, winepath doesn't convert paths, only file names
-  func_convert_core_path_wine_to_w32_result=
-  if test -n "$1"; then
-    oldIFS=$IFS
-    IFS=:
-    for func_convert_core_path_wine_to_w32_f in $1; do
-      IFS=$oldIFS
-      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
-      if test -n "$func_convert_core_file_wine_to_w32_result"; then
-        if test -z "$func_convert_core_path_wine_to_w32_result"; then
-          func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
-        else
-          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
-        fi
-      fi
-    done
-    IFS=$oldIFS
-  fi
-}
-# end: func_convert_core_path_wine_to_w32
-
-
-# func_cygpath ARGS...
-# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
-# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
-# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
-# (2), returns the Cygwin file name or path in func_cygpath_result (input
-# file name or path is assumed to be in w32 format, as previously converted
-# from $build's *nix or MSYS format). In case (3), returns the w32 file name
-# or path in func_cygpath_result (input file name or path is assumed to be in
-# Cygwin format). Returns an empty string on error.
-#
-# ARGS are passed to cygpath, with the last one being the file name or path to
-# be converted.
-#
-# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
-# environment variable; do not put it in $PATH.
-func_cygpath ()
-{
-  $debug_cmd
-
-  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
-    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
-    if test "$?" -ne 0; then
-      # on failure, ensure result is empty
-      func_cygpath_result=
-    fi
-  else
-    func_cygpath_result=
-    func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
-  fi
-}
-#end: func_cygpath
-
-
-# func_convert_core_msys_to_w32 ARG
-# Convert file name or path ARG from MSYS format to w32 format.  Return
-# result in func_convert_core_msys_to_w32_result.
-func_convert_core_msys_to_w32 ()
-{
-  $debug_cmd
-
-  # awkward: cmd appends spaces to result
-  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
-    $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
-}
-#end: func_convert_core_msys_to_w32
-
-
-# func_convert_file_check ARG1 ARG2
-# Verify that ARG1 (a file name in $build format) was converted to $host
-# format in ARG2. Otherwise, emit an error message, but continue (resetting
-# func_to_host_file_result to ARG1).
-func_convert_file_check ()
-{
-  $debug_cmd
-
-  if test -z "$2" && test -n "$1"; then
-    func_error "Could not determine host file name corresponding to"
-    func_error "  '$1'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback:
-    func_to_host_file_result=$1
-  fi
-}
-# end func_convert_file_check
-
-
-# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
-# Verify that FROM_PATH (a path in $build format) was converted to $host
-# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
-# func_to_host_file_result to a simplistic fallback value (see below).
-func_convert_path_check ()
-{
-  $debug_cmd
-
-  if test -z "$4" && test -n "$3"; then
-    func_error "Could not determine the host path corresponding to"
-    func_error "  '$3'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback.  This is a deliberately simplistic "conversion" and
-    # should not be "improved".  See libtool.info.
-    if test "x$1" != "x$2"; then
-      lt_replace_pathsep_chars="s|$1|$2|g"
-      func_to_host_path_result=`echo "$3" |
-        $SED -e "$lt_replace_pathsep_chars"`
-    else
-      func_to_host_path_result=$3
-    fi
-  fi
-}
-# end func_convert_path_check
-
-
-# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
-# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
-# and appending REPL if ORIG matches BACKPAT.
-func_convert_path_front_back_pathsep ()
-{
-  $debug_cmd
-
-  case $4 in
-  $1 ) func_to_host_path_result=$3$func_to_host_path_result
-    ;;
-  esac
-  case $4 in
-  $2 ) func_append func_to_host_path_result "$3"
-    ;;
-  esac
-}
-# end func_convert_path_front_back_pathsep
-
-
-##################################################
-# $build to $host FILE NAME CONVERSION FUNCTIONS #
-##################################################
-# invoked via '$to_host_file_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# Result will be available in $func_to_host_file_result.
-
-
-# func_to_host_file ARG
-# Converts the file name ARG from $build format to $host format. Return result
-# in func_to_host_file_result.
-func_to_host_file ()
-{
-  $debug_cmd
-
-  $to_host_file_cmd "$1"
-}
-# end func_to_host_file
-
-
-# func_to_tool_file ARG LAZY
-# converts the file name ARG from $build format to toolchain format. Return
-# result in func_to_tool_file_result.  If the conversion in use is listed
-# in (the comma separated) LAZY, no conversion takes place.
-func_to_tool_file ()
-{
-  $debug_cmd
-
-  case ,$2, in
-    *,"$to_tool_file_cmd",*)
-      func_to_tool_file_result=$1
-      ;;
-    *)
-      $to_tool_file_cmd "$1"
-      func_to_tool_file_result=$func_to_host_file_result
-      ;;
-  esac
-}
-# end func_to_tool_file
-
-
-# func_convert_file_noop ARG
-# Copy ARG to func_to_host_file_result.
-func_convert_file_noop ()
-{
-  func_to_host_file_result=$1
-}
-# end func_convert_file_noop
-
-
-# func_convert_file_msys_to_w32 ARG
-# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_file_result.
-func_convert_file_msys_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_to_host_file_result=$func_convert_core_msys_to_w32_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_w32
-
-
-# func_convert_file_cygwin_to_w32 ARG
-# Convert file name ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_file_cygwin_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
-    # LT_CYGPATH in this case.
-    func_to_host_file_result=`cygpath -m "$1"`
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_cygwin_to_w32
-
-
-# func_convert_file_nix_to_w32 ARG
-# Convert file name ARG from *nix to w32 format.  Requires a wine environment
-# and a working winepath. Returns result in func_to_host_file_result.
-func_convert_file_nix_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    func_convert_core_file_wine_to_w32 "$1"
-    func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_w32
-
-
-# func_convert_file_msys_to_cygwin ARG
-# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_file_msys_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_msys_to_w32_result"
-    func_to_host_file_result=$func_cygpath_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_cygwin
-
-
-# func_convert_file_nix_to_cygwin ARG
-# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
-# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
-# in func_to_host_file_result.
-func_convert_file_nix_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
-    func_convert_core_file_wine_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
-    func_to_host_file_result=$func_cygpath_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_cygwin
-
-
-#############################################
-# $build to $host PATH CONVERSION FUNCTIONS #
-#############################################
-# invoked via '$to_host_path_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# The result will be available in $func_to_host_path_result.
-#
-# Path separators are also converted from $build format to $host format.  If
-# ARG begins or ends with a path separator character, it is preserved (but
-# converted to $host format) on output.
-#
-# All path conversion functions are named using the following convention:
-#   file name conversion function    : func_convert_file_X_to_Y ()
-#   path conversion function         : func_convert_path_X_to_Y ()
-# where, for any given $build/$host combination the 'X_to_Y' value is the
-# same.  If conversion functions are added for new $build/$host combinations,
-# the two new functions must follow this pattern, or func_init_to_host_path_cmd
-# will break.
-
-
-# func_init_to_host_path_cmd
-# Ensures that function "pointer" variable $to_host_path_cmd is set to the
-# appropriate value, based on the value of $to_host_file_cmd.
-to_host_path_cmd=
-func_init_to_host_path_cmd ()
-{
-  $debug_cmd
-
-  if test -z "$to_host_path_cmd"; then
-    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
-    to_host_path_cmd=func_convert_path_$func_stripname_result
-  fi
-}
-
-
-# func_to_host_path ARG
-# Converts the path ARG from $build format to $host format. Return result
-# in func_to_host_path_result.
-func_to_host_path ()
-{
-  $debug_cmd
-
-  func_init_to_host_path_cmd
-  $to_host_path_cmd "$1"
-}
-# end func_to_host_path
-
-
-# func_convert_path_noop ARG
-# Copy ARG to func_to_host_path_result.
-func_convert_path_noop ()
-{
-  func_to_host_path_result=$1
-}
-# end func_convert_path_noop
-
-
-# func_convert_path_msys_to_w32 ARG
-# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_path_result.
-func_convert_path_msys_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from ARG.  MSYS
-    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
-    # and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result=$func_convert_core_msys_to_w32_result
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_msys_to_w32
-
-
-# func_convert_path_cygwin_to_w32 ARG
-# Convert path ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_path_cygwin_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_cygwin_to_w32
-
-
-# func_convert_path_nix_to_w32 ARG
-# Convert path ARG from *nix to w32 format.  Requires a wine environment and
-# a working winepath.  Returns result in func_to_host_file_result.
-func_convert_path_nix_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_nix_to_w32
-
-
-# func_convert_path_msys_to_cygwin ARG
-# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_path_msys_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
-    func_to_host_path_result=$func_cygpath_result
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_msys_to_cygwin
-
-
-# func_convert_path_nix_to_cygwin ARG
-# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
-# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
-# func_to_host_file_result.
-func_convert_path_nix_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from
-    # ARG. msys behavior is inconsistent here, cygpath turns them
-    # into '.;' and ';.', and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
-    func_to_host_path_result=$func_cygpath_result
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_nix_to_cygwin
-
-
-# func_dll_def_p FILE
-# True iff FILE is a Windows DLL '.def' file.
-# Keep in sync with _LT_DLL_DEF_P in libtool.m4
-func_dll_def_p ()
-{
-  $debug_cmd
-
-  func_dll_def_p_tmp=`$SED -n \
-    -e 's/^[	 ]*//' \
-    -e '/^\(;.*\)*$/d' \
-    -e 's/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p' \
-    -e q \
-    "$1"`
-  test DEF = "$func_dll_def_p_tmp"
-}
-
-
-# func_mode_compile arg...
-func_mode_compile ()
-{
-    $debug_cmd
-
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile=$nonopt  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-    pie_flag=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-	# do not "continue".  Instead, add this to base_compile
-	lastarg=$arg
-	arg_mode=normal
-	;;
-
-      target )
-	libobj=$arg
-	arg_mode=normal
-	continue
-	;;
-
-      normal )
-	# Accept any command-line options.
-	case $arg in
-	-o)
-	  test -n "$libobj" && \
-	    func_fatal_error "you cannot specify '-o' more than once"
-	  arg_mode=target
-	  continue
-	  ;;
-
-	-pie | -fpie | -fPIE)
-          func_append pie_flag " $arg"
-	  continue
-	  ;;
-
-	-shared | -static | -prefer-pic | -prefer-non-pic)
-	  func_append later " $arg"
-	  continue
-	  ;;
-
-	-no-suppress)
-	  suppress_opt=no
-	  continue
-	  ;;
-
-	-Xcompiler)
-	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
-	  continue      #  The current "srcfile" will either be retained or
-	  ;;            #  replaced later.  I would guess that would be a bug.
-
-	-Wc,*)
-	  func_stripname '-Wc,' '' "$arg"
-	  args=$func_stripname_result
-	  lastarg=
-	  save_ifs=$IFS; IFS=,
-	  for arg in $args; do
-	    IFS=$save_ifs
-	    func_append_quoted lastarg "$arg"
-	  done
-	  IFS=$save_ifs
-	  func_stripname ' ' '' "$lastarg"
-	  lastarg=$func_stripname_result
-
-	  # Add the arguments to base_compile.
-	  func_append base_compile " $lastarg"
-	  continue
-	  ;;
-
-	*)
-	  # Accept the current argument as the source file.
-	  # The previous "srcfile" becomes the current argument.
-	  #
-	  lastarg=$srcfile
-	  srcfile=$arg
-	  ;;
-	esac  #  case $arg
-	;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      func_append_quoted base_compile "$lastarg"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      func_fatal_error "you must specify an argument for -Xcompile"
-      ;;
-    target)
-      func_fatal_error "you must specify a target with '-o'"
-      ;;
-    *)
-      # Get the name of the library object.
-      test -z "$libobj" && {
-	func_basename "$srcfile"
-	libobj=$func_basename_result
-      }
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    case $libobj in
-    *.[cCFSifmso] | \
-    *.ada | *.adb | *.ads | *.asm | \
-    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
-      func_xform "$libobj"
-      libobj=$func_xform_result
-      ;;
-    esac
-
-    case $libobj in
-    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
-    *)
-      func_fatal_error "cannot determine name of library object from '$libobj'"
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -shared)
-	test yes = "$build_libtool_libs" \
-	  || func_fatal_configuration "cannot build a shared library"
-	build_old_libs=no
-	continue
-	;;
-
-      -static)
-	build_libtool_libs=no
-	build_old_libs=yes
-	continue
-	;;
-
-      -prefer-pic)
-	pic_mode=yes
-	continue
-	;;
-
-      -prefer-non-pic)
-	pic_mode=no
-	continue
-	;;
-      esac
-    done
-
-    func_quote_for_eval "$libobj"
-    test "X$libobj" != "X$func_quote_for_eval_result" \
-      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
-      && func_warning "libobj name '$libobj' may not contain shell special characters."
-    func_dirname_and_basename "$obj" "/" ""
-    objname=$func_basename_result
-    xdir=$func_dirname_result
-    lobj=$xdir$objdir/$objname
-
-    test -z "$base_compile" && \
-      func_fatal_help "you must specify a compilation command"
-
-    # Delete any leftover library objects.
-    if test yes = "$build_old_libs"; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2* | cegcc*)
-      pic_mode=default
-      ;;
-    esac
-    if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test no = "$compiler_c_o"; then
-      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
-      lockfile=$output_obj.lock
-    else
-      output_obj=
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test yes = "$need_locks"; then
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-	func_echo "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    elif test warn = "$need_locks"; then
-      if test -f "$lockfile"; then
-	$ECHO "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support '-c' and '-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-      func_append removelist " $output_obj"
-      $ECHO "$srcfile" > "$lockfile"
-    fi
-
-    $opt_dry_run || $RM $removelist
-    func_append removelist " $lockfile"
-    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
-    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
-    srcfile=$func_to_tool_file_result
-    func_quote_for_eval "$srcfile"
-    qsrcfile=$func_quote_for_eval_result
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test yes = "$build_libtool_libs"; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test no != "$pic_mode"; then
-	command="$base_compile $qsrcfile $pic_flag"
-      else
-	# Don't build PIC code
-	command="$base_compile $qsrcfile"
-      fi
-
-      func_mkdir_p "$xdir$objdir"
-
-      if test -z "$output_obj"; then
-	# Place PIC objects in $objdir
-	func_append command " -o $lobj"
-      fi
-
-      func_show_eval_locale "$command"	\
-          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
-      if test warn = "$need_locks" &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support '-c' and '-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-	func_show_eval '$MV "$output_obj" "$lobj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-
-      # Allow error messages only from the first compilation.
-      if test yes = "$suppress_opt"; then
-	suppress_output=' >/dev/null 2>&1'
-      fi
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test yes = "$build_old_libs"; then
-      if test yes != "$pic_mode"; then
-	# Don't build PIC code
-	command="$base_compile $qsrcfile$pie_flag"
-      else
-	command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test yes = "$compiler_c_o"; then
-	func_append command " -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      func_append command "$suppress_output"
-      func_show_eval_locale "$command" \
-        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
-      if test warn = "$need_locks" &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support '-c' and '-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-	func_show_eval '$MV "$output_obj" "$obj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-    fi
-
-    $opt_dry_run || {
-      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
-      # Unlock the critical section if it was locked
-      if test no != "$need_locks"; then
-	removelist=$lockfile
-        $RM "$lockfile"
-      fi
-    }
-
-    exit $EXIT_SUCCESS
-}
-
-$opt_help || {
-  test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
-    # We need to display help for each of the modes.
-    case $opt_mode in
-      "")
-        # Generic help is extracted from the usage comments
-        # at the start of this file.
-        func_help
-        ;;
-
-      clean)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      compile)
-      $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to build PIC objects only
-  -prefer-non-pic   try to build non-PIC objects only
-  -shared           do not build a '.o' file suitable for static linking
-  -static           only build a '.o' file suitable for static linking
-  -Wc,FLAG          pass FLAG directly to the compiler
-
-COMPILE-COMMAND is a command to be used in creating a 'standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix '.c' with the
-library object suffix, '.lo'."
-        ;;
-
-      execute)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to '-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-        ;;
-
-      finish)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the '--dry-run' option if you just want to see what would be executed."
-        ;;
-
-      install)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the 'install' or 'cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
-  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-        ;;
-
-      link)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -bindir BINDIR    specify path to binaries directory (for systems where
-                    libraries must be found in the PATH setting at runtime)
-  -dlopen FILE      '-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  use a list of object files found in FILE to specify objects
-  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -shared           only do dynamic linking of libtool libraries
-  -shrext SUFFIX    override the standard shared library file extension
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-  -weak LIBNAME     declare that the target provides the LIBNAME interface
-  -Wc,FLAG
-  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
-  -Wl,FLAG
-  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
-  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
-
-All other options (arguments beginning with '-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in '.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in '.la', then a libtool library is created,
-only library objects ('.lo' files) may be specified, and '-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
-using 'ar' and 'ranlib', or on Windows using 'lib'.
-
-If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
-is created, otherwise an executable program is created."
-        ;;
-
-      uninstall)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      *)
-        func_fatal_help "invalid operation mode '$opt_mode'"
-        ;;
-    esac
-
-    echo
-    $ECHO "Try '$progname --help' for more information about other modes."
-}
-
-# Now that we've collected a possible --mode arg, show help if necessary
-if $opt_help; then
-  if test : = "$opt_help"; then
-    func_mode_help
-  else
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-	func_mode_help
-      done
-    } | $SED -n '1p; 2,$s/^Usage:/  or: /p'
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-	echo
-	func_mode_help
-      done
-    } |
-    $SED '1d
-      /^When reporting/,/^Report/{
-	H
-	d
-      }
-      $x
-      /information about other modes/d
-      /more detailed .*MODE/d
-      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
-  fi
-  exit $?
-fi
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
-    $debug_cmd
-
-    # The first argument is the command name.
-    cmd=$nonopt
-    test -z "$cmd" && \
-      func_fatal_help "you must specify a COMMAND"
-
-    # Handle -dlopen flags immediately.
-    for file in $opt_dlopen; do
-      test -f "$file" \
-	|| func_fatal_help "'$file' is not a file"
-
-      dir=
-      case $file in
-      *.la)
-	func_resolve_sysroot "$file"
-	file=$func_resolve_sysroot_result
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "'$lib' is not a valid libtool archive"
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-	func_source "$file"
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && \
-	    func_warning "'$file' was not linked with '-export-dynamic'"
-	  continue
-	fi
-
-	func_dirname "$file" "" "."
-	dir=$func_dirname_result
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  func_append dir "/$objdir"
-	else
-	  if test ! -f "$dir/$dlname"; then
-	    func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
-	  fi
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	func_dirname "$file" "" "."
-	dir=$func_dirname_result
-	;;
-
-      *)
-	func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
-	continue
-	;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir=$absdir
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-	eval "$shlibpath_var=\"\$dir\""
-      else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic=$magic
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -* | *.la | *.lo ) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if func_ltwrapper_script_p "$file"; then
-	  func_source "$file"
-	  # Transform arg to wrapped name.
-	  file=$progdir/$program
-	elif func_ltwrapper_executable_p "$file"; then
-	  func_ltwrapper_scriptname "$file"
-	  func_source "$func_ltwrapper_scriptname_result"
-	  # Transform arg to wrapped name.
-	  file=$progdir/$program
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      func_append_quoted args "$file"
-    done
-
-    if $opt_dry_run; then
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-	echo "export $shlibpath_var"
-      fi
-      $ECHO "$cmd$args"
-      exit $EXIT_SUCCESS
-    else
-      if test -n "$shlibpath_var"; then
-	# Export the shlibpath_var.
-	eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-	eval "if test \"\${save_$lt_var+set}\" = set; then
-                $lt_var=\$save_$lt_var; export $lt_var
-	      else
-		$lt_unset $lt_var
-	      fi"
-      done
-
-      # Now prepare to actually exec the command.
-      exec_cmd=\$cmd$args
-    fi
-}
-
-test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
-    $debug_cmd
-
-    libs=
-    libdirs=
-    admincmds=
-
-    for opt in "$nonopt" ${1+"$@"}
-    do
-      if test -d "$opt"; then
-	func_append libdirs " $opt"
-
-      elif test -f "$opt"; then
-	if func_lalib_unsafe_p "$opt"; then
-	  func_append libs " $opt"
-	else
-	  func_warning "'$opt' is not a valid libtool archive"
-	fi
-
-      else
-	func_fatal_error "invalid argument '$opt'"
-      fi
-    done
-
-    if test -n "$libs"; then
-      if test -n "$lt_sysroot"; then
-        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
-        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
-      else
-        sysroot_cmd=
-      fi
-
-      # Remove sysroot references
-      if $opt_dry_run; then
-        for lib in $libs; do
-          echo "removing references to $lt_sysroot and '=' prefixes from $lib"
-        done
-      else
-        tmpdir=`func_mktempdir`
-        for lib in $libs; do
-	  $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
-	    > $tmpdir/tmp-la
-	  mv -f $tmpdir/tmp-la $lib
-	done
-        ${RM}r "$tmpdir"
-      fi
-    fi
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $opt_dry_run || eval "$cmds" || func_append admincmds "
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    $opt_quiet && exit $EXIT_SUCCESS
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      echo "----------------------------------------------------------------------"
-      echo "Libraries have been installed in:"
-      for libdir in $libdirs; do
-	$ECHO "   $libdir"
-      done
-      echo
-      echo "If you ever happen to want to link against installed libraries"
-      echo "in a given directory, LIBDIR, you must either use libtool, and"
-      echo "specify the full pathname of the library, or use the '-LLIBDIR'"
-      echo "flag during linking and do at least one of the following:"
-      if test -n "$shlibpath_var"; then
-	echo "   - add LIBDIR to the '$shlibpath_var' environment variable"
-	echo "     during execution"
-      fi
-      if test -n "$runpath_var"; then
-	echo "   - add LIBDIR to the '$runpath_var' environment variable"
-	echo "     during linking"
-      fi
-      if test -n "$hardcode_libdir_flag_spec"; then
-	libdir=LIBDIR
-	eval flag=\"$hardcode_libdir_flag_spec\"
-
-	$ECHO "   - use the '$flag' linker flag"
-      fi
-      if test -n "$admincmds"; then
-	$ECHO "   - have your system administrator run these commands:$admincmds"
-      fi
-      if test -f /etc/ld.so.conf; then
-	echo "   - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
-      fi
-      echo
-
-      echo "See any operating system documentation about shared libraries for"
-      case $host in
-	solaris2.[6789]|solaris2.1[0-9])
-	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-	  echo "pages."
-	  ;;
-	*)
-	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
-	  ;;
-      esac
-      echo "----------------------------------------------------------------------"
-    fi
-    exit $EXIT_SUCCESS
-}
-
-test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
-    $debug_cmd
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
-       # Allow the use of GNU shtool's install command.
-       case $nonopt in *shtool*) :;; *) false;; esac
-    then
-      # Aesthetically quote it.
-      func_quote_for_eval "$nonopt"
-      install_prog="$func_quote_for_eval_result "
-      arg=$1
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    func_quote_for_eval "$arg"
-    func_append install_prog "$func_quote_for_eval_result"
-    install_shared_prog=$install_prog
-    case " $install_prog " in
-      *[\\\ /]cp\ *) install_cp=: ;;
-      *) install_cp=false ;;
-    esac
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=false
-    stripme=
-    no_mode=:
-    for arg
-    do
-      arg2=
-      if test -n "$dest"; then
-	func_append files " $dest"
-	dest=$arg
-	continue
-      fi
-
-      case $arg in
-      -d) isdir=: ;;
-      -f)
-	if $install_cp; then :; else
-	  prev=$arg
-	fi
-	;;
-      -g | -m | -o)
-	prev=$arg
-	;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*)
-	;;
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  if test X-m = "X$prev" && test -n "$install_override_mode"; then
-	    arg2=$install_override_mode
-	    no_mode=false
-	  fi
-	  prev=
-	else
-	  dest=$arg
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      func_quote_for_eval "$arg"
-      func_append install_prog " $func_quote_for_eval_result"
-      if test -n "$arg2"; then
-	func_quote_for_eval "$arg2"
-      fi
-      func_append install_shared_prog " $func_quote_for_eval_result"
-    done
-
-    test -z "$install_prog" && \
-      func_fatal_help "you must specify an install program"
-
-    test -n "$prev" && \
-      func_fatal_help "the '$prev' option requires an argument"
-
-    if test -n "$install_override_mode" && $no_mode; then
-      if $install_cp; then :; else
-	func_quote_for_eval "$install_override_mode"
-	func_append install_shared_prog " -m $func_quote_for_eval_result"
-      fi
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	func_fatal_help "no file or destination specified"
-      else
-	func_fatal_help "you must specify a destination"
-      fi
-    fi
-
-    # Strip any trailing slash from the destination.
-    func_stripname '' '/' "$dest"
-    dest=$func_stripname_result
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=:
-    if $isdir; then
-      destdir=$dest
-      destname=
-    else
-      func_dirname_and_basename "$dest" "" "."
-      destdir=$func_dirname_result
-      destname=$func_basename_result
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files; shift
-      test "$#" -gt 1 && \
-	func_fatal_help "'$dest' is not a directory"
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case $file in
-	*.lo) ;;
-	*)
-	  func_fatal_help "'$destdir' must be an absolute directory name"
-	  ;;
-	esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic=$magic
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-	# Do the static libraries later.
-	func_append staticlibs " $file"
-	;;
-
-      *.la)
-	func_resolve_sysroot "$file"
-	file=$func_resolve_sysroot_result
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "'$file' is not a valid libtool archive"
-
-	library_names=
-	old_library=
-	relink_command=
-	func_source "$file"
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) func_append current_libdirs " $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) func_append future_libdirs " $libdir" ;;
-	  esac
-	fi
-
-	func_dirname "$file" "/" ""
-	dir=$func_dirname_result
-	func_append dir "$objdir"
-
-	if test -n "$relink_command"; then
-	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
-
-	  # Don't allow the user to place us outside of our expected
-	  # location b/c this prevents finding dependent libraries that
-	  # are installed to the same prefix.
-	  # At present, this check doesn't affect windows .dll's that
-	  # are installed into $libdir/../bin (currently, that works fine)
-	  # but it's something to keep an eye on.
-	  test "$inst_prefix_dir" = "$destdir" && \
-	    func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
-
-	  if test -n "$inst_prefix_dir"; then
-	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
-	  else
-	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
-	  fi
-
-	  func_warning "relinking '$file'"
-	  func_show_eval "$relink_command" \
-	    'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
-	fi
-
-	# See the names of the shared library.
-	set dummy $library_names; shift
-	if test -n "$1"; then
-	  realname=$1
-	  shift
-
-	  srcname=$realname
-	  test -n "$relink_command" && srcname=${realname}T
-
-	  # Install the shared library and build the symlinks.
-	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
-	      'exit $?'
-	  tstripme=$stripme
-	  case $host_os in
-	  cygwin* | mingw* | pw32* | cegcc*)
-	    case $realname in
-	    *.dll.a)
-	      tstripme=
-	      ;;
-	    esac
-	    ;;
-	  os2*)
-	    case $realname in
-	    *_dll.a)
-	      tstripme=
-	      ;;
-	    esac
-	    ;;
-	  esac
-	  if test -n "$tstripme" && test -n "$striplib"; then
-	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
-	  fi
-
-	  if test "$#" -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    # Try 'ln -sf' first, because the 'ln' binary might depend on
-	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
-	    # so we also need to try rm && ln -s.
-	    for linkname
-	    do
-	      test "$linkname" != "$realname" \
-		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib=$destdir/$realname
-	  func_execute_cmds "$postinstall_cmds" 'exit $?'
-	fi
-
-	# Install the pseudo-library for information purposes.
-	func_basename "$file"
-	name=$func_basename_result
-	instname=$dir/${name}i
-	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
-	;;
-
-      *.lo)
-	# Install (i.e. copy) a libtool object.
-
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile=$destdir/$destname
-	else
-	  func_basename "$file"
-	  destfile=$func_basename_result
-	  destfile=$destdir/$destfile
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case $destfile in
-	*.lo)
-	  func_lo2o "$destfile"
-	  staticdest=$func_lo2o_result
-	  ;;
-	*.$objext)
-	  staticdest=$destfile
-	  destfile=
-	  ;;
-	*)
-	  func_fatal_help "cannot copy a libtool object to '$destfile'"
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	test -n "$destfile" && \
-	  func_show_eval "$install_prog $file $destfile" 'exit $?'
-
-	# Install the old object if enabled.
-	if test yes = "$build_old_libs"; then
-	  # Deduce the name of the old-style object file.
-	  func_lo2o "$file"
-	  staticobj=$func_lo2o_result
-	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
-	fi
-	exit $EXIT_SUCCESS
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile=$destdir/$destname
-	else
-	  func_basename "$file"
-	  destfile=$func_basename_result
-	  destfile=$destdir/$destfile
-	fi
-
-	# If the file is missing, and there is a .exe on the end, strip it
-	# because it is most likely a libtool script we actually want to
-	# install
-	stripped_ext=
-	case $file in
-	  *.exe)
-	    if test ! -f "$file"; then
-	      func_stripname '' '.exe' "$file"
-	      file=$func_stripname_result
-	      stripped_ext=.exe
-	    fi
-	    ;;
-	esac
-
-	# Do a test to see if this is really a libtool program.
-	case $host in
-	*cygwin* | *mingw*)
-	    if func_ltwrapper_executable_p "$file"; then
-	      func_ltwrapper_scriptname "$file"
-	      wrapper=$func_ltwrapper_scriptname_result
-	    else
-	      func_stripname '' '.exe' "$file"
-	      wrapper=$func_stripname_result
-	    fi
-	    ;;
-	*)
-	    wrapper=$file
-	    ;;
-	esac
-	if func_ltwrapper_script_p "$wrapper"; then
-	  notinst_deplibs=
-	  relink_command=
-
-	  func_source "$wrapper"
-
-	  # Check the variables that should have been set.
-	  test -z "$generated_by_libtool_version" && \
-	    func_fatal_error "invalid libtool wrapper script '$wrapper'"
-
-	  finalize=:
-	  for lib in $notinst_deplibs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      func_source "$lib"
-	    fi
-	    libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      func_warning "'$lib' has not been installed in '$libdir'"
-	      finalize=false
-	    fi
-	  done
-
-	  relink_command=
-	  func_source "$wrapper"
-
-	  outputname=
-	  if test no = "$fast_install" && test -n "$relink_command"; then
-	    $opt_dry_run || {
-	      if $finalize; then
-	        tmpdir=`func_mktempdir`
-		func_basename "$file$stripped_ext"
-		file=$func_basename_result
-	        outputname=$tmpdir/$file
-	        # Replace the output file specification.
-	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
-
-	        $opt_quiet || {
-	          func_quote_for_expand "$relink_command"
-		  eval "func_echo $func_quote_for_expand_result"
-	        }
-	        if eval "$relink_command"; then :
-	          else
-		  func_error "error: relink '$file' with the above command before installing it"
-		  $opt_dry_run || ${RM}r "$tmpdir"
-		  continue
-	        fi
-	        file=$outputname
-	      else
-	        func_warning "cannot relink '$file'"
-	      fi
-	    }
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	# remove .exe since cygwin /usr/bin/install will append another
-	# one anyway
-	case $install_prog,$host in
-	*/usr/bin/install*,*cygwin*)
-	  case $file:$destfile in
-	  *.exe:*.exe)
-	    # this is ok
-	    ;;
-	  *.exe:*)
-	    destfile=$destfile.exe
-	    ;;
-	  *:*.exe)
-	    func_stripname '' '.exe' "$destfile"
-	    destfile=$func_stripname_result
-	    ;;
-	  esac
-	  ;;
-	esac
-	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
-	$opt_dry_run || if test -n "$outputname"; then
-	  ${RM}r "$tmpdir"
-	fi
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      func_basename "$file"
-      name=$func_basename_result
-
-      # Set up the ranlib parameters.
-      oldlib=$destdir/$name
-      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
-      tool_oldlib=$func_to_tool_file_result
-
-      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
-      fi
-
-      # Do each command in the postinstall commands.
-      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
-    done
-
-    test -n "$future_libdirs" && \
-      func_warning "remember to run '$progname --finish$future_libdirs'"
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test install = "$opt_mode" && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
-    $debug_cmd
-
-    my_outputname=$1
-    my_originator=$2
-    my_pic_p=${3-false}
-    my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
-    my_dlsyms=
-
-    if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
-      if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	my_dlsyms=${my_outputname}S.c
-      else
-	func_error "not configured to extract global symbols from dlpreopened files"
-      fi
-    fi
-
-    if test -n "$my_dlsyms"; then
-      case $my_dlsyms in
-      "") ;;
-      *.c)
-	# Discover the nlist of each of the dlfiles.
-	nlist=$output_objdir/$my_outputname.nm
-
-	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
-	# Parse the name list into a source file.
-	func_verbose "creating $output_objdir/$my_dlsyms"
-
-	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
-#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
-#endif
-
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
-
-/* External symbol declarations for the compiler. */\
-"
-
-	if test yes = "$dlself"; then
-	  func_verbose "generating symbol list for '$output'"
-
-	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
-	  # Add our own program objects to the symbol list.
-	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	  for progfile in $progfiles; do
-	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
-	    func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
-	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -n "$exclude_expsyms"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  if test -n "$export_symbols_regex"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  # Prepare the list of exported symbols
-	  if test -z "$export_symbols"; then
-	    export_symbols=$output_objdir/$outputname.exp
-	    $opt_dry_run || {
-	      $RM $export_symbols
-	      eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-	      case $host in
-	      *cygwin* | *mingw* | *cegcc* )
-                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-	        ;;
-	      esac
-	    }
-	  else
-	    $opt_dry_run || {
-	      eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	      case $host in
-	        *cygwin* | *mingw* | *cegcc* )
-	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-	          ;;
-	      esac
-	    }
-	  fi
-	fi
-
-	for dlprefile in $dlprefiles; do
-	  func_verbose "extracting global C symbols from '$dlprefile'"
-	  func_basename "$dlprefile"
-	  name=$func_basename_result
-          case $host in
-	    *cygwin* | *mingw* | *cegcc* )
-	      # if an import library, we need to obtain dlname
-	      if func_win32_import_lib_p "$dlprefile"; then
-	        func_tr_sh "$dlprefile"
-	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
-	        dlprefile_dlbasename=
-	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
-	          # Use subshell, to avoid clobbering current variable values
-	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
-	          if test -n "$dlprefile_dlname"; then
-	            func_basename "$dlprefile_dlname"
-	            dlprefile_dlbasename=$func_basename_result
-	          else
-	            # no lafile. user explicitly requested -dlpreopen <import library>.
-	            $sharedlib_from_linklib_cmd "$dlprefile"
-	            dlprefile_dlbasename=$sharedlib_from_linklib_result
-	          fi
-	        fi
-	        $opt_dry_run || {
-	          if test -n "$dlprefile_dlbasename"; then
-	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
-	          else
-	            func_warning "Could not compute DLL name from $name"
-	            eval '$ECHO ": $name " >> "$nlist"'
-	          fi
-	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
-	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
-	        }
-	      else # not an import lib
-	        $opt_dry_run || {
-	          eval '$ECHO ": $name " >> "$nlist"'
-	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	        }
-	      fi
-	    ;;
-	    *)
-	      $opt_dry_run || {
-	        eval '$ECHO ": $name " >> "$nlist"'
-	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	      }
-	    ;;
-          esac
-	done
-
-	$opt_dry_run || {
-	  # Make sure we have at least an empty file.
-	  test -f "$nlist" || : > "$nlist"
-
-	  if test -n "$exclude_expsyms"; then
-	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-	    $MV "$nlist"T "$nlist"
-	  fi
-
-	  # Try sorting and uniquifying the output.
-	  if $GREP -v "^: " < "$nlist" |
-	      if sort -k 3 </dev/null >/dev/null 2>&1; then
-		sort -k 3
-	      else
-		sort +2
-	      fi |
-	      uniq > "$nlist"S; then
-	    :
-	  else
-	    $GREP -v "^: " < "$nlist" > "$nlist"S
-	  fi
-
-	  if test -f "$nlist"S; then
-	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
-	  else
-	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
-	  fi
-
-	  func_show_eval '$RM "${nlist}I"'
-	  if test -n "$global_symbol_to_import"; then
-	    eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
-	  fi
-
-	  echo >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols.  */
-typedef struct {
-  const char *name;
-  void *address;
-} lt_dlsymlist;
-extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];\
-"
-
-	  if test -s "$nlist"I; then
-	    echo >> "$output_objdir/$my_dlsyms" "\
-static void lt_syminit(void)
-{
-  LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
-  for (; symbol->name; ++symbol)
-    {"
-	    $SED 's/.*/      if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
-	    echo >> "$output_objdir/$my_dlsyms" "\
-    }
-}"
-	  fi
-	  echo >> "$output_objdir/$my_dlsyms" "\
-LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{ {\"$my_originator\", (void *) 0},"
-
-	  if test -s "$nlist"I; then
-	    echo >> "$output_objdir/$my_dlsyms" "\
-  {\"@INIT@\", (void *) &lt_syminit},"
-	  fi
-
-	  case $need_lib_prefix in
-	  no)
-	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  *)
-	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  esac
-	  echo >> "$output_objdir/$my_dlsyms" "\
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	} # !$opt_dry_run
-
-	pic_flag_for_symtable=
-	case "$compile_command " in
-	*" -static "*) ;;
-	*)
-	  case $host in
-	  # compiling the symbol table file with pic_flag works around
-	  # a FreeBSD bug that causes programs to crash when -lm is
-	  # linked before any other PIC object.  But we must not use
-	  # pic_flag when linking with -static.  The problem exists in
-	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
-	  *-*-hpux*)
-	    pic_flag_for_symtable=" $pic_flag"  ;;
-	  *)
-	    $my_pic_p && pic_flag_for_symtable=" $pic_flag"
-	    ;;
-	  esac
-	  ;;
-	esac
-	symtab_cflags=
-	for arg in $LTCFLAGS; do
-	  case $arg in
-	  -pie | -fpie | -fPIE) ;;
-	  *) func_append symtab_cflags " $arg" ;;
-	  esac
-	done
-
-	# Now compile the dynamic symbol file.
-	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
-	# Clean up the generated files.
-	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
-
-	# Transform the symbol file into the correct name.
-	symfileobj=$output_objdir/${my_outputname}S.$objext
-	case $host in
-	*cygwin* | *mingw* | *cegcc* )
-	  if test -f "$output_objdir/$my_outputname.def"; then
-	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	  else
-	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  fi
-	  ;;
-	*)
-	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  ;;
-	esac
-	;;
-      *)
-	func_fatal_error "unknown suffix for '$my_dlsyms'"
-	;;
-      esac
-    else
-      # We keep going just in case the user didn't refer to
-      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-      # really was required.
-
-      # Nullify the symbol file.
-      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
-    fi
-}
-
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
-  $debug_cmd
-
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
-  test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
-  $debug_cmd
-
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
-  test -n "$func_cygming_ms_implib_tmp"
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-# Despite the name, also deal with 64 bit binaries.
-func_win32_libid ()
-{
-  $debug_cmd
-
-  win32_libid_type=unknown
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      case $nm_interface in
-      "MS dumpbin")
-	if func_cygming_ms_implib_p "$1" ||
-	   func_cygming_gnu_implib_p "$1"
-	then
-	  win32_nmres=import
-	else
-	  win32_nmres=
-	fi
-	;;
-      *)
-	func_to_tool_file "$1" func_convert_file_msys_to_w32
-	win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
-	  $SED -n -e '
-	    1,100{
-		/ I /{
-		    s|.*|import|
-		    p
-		    q
-		}
-	    }'`
-	;;
-      esac
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $ECHO "$win32_libid_type"
-}
-
-# func_cygming_dll_for_implib ARG
-#
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib ()
-{
-  $debug_cmd
-
-  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
-}
-
-# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
-#
-# The is the core of a fallback implementation of a
-# platform-specific function to extract the name of the
-# DLL associated with the specified import library LIBNAME.
-#
-# SECTION_NAME is either .idata$6 or .idata$7, depending
-# on the platform and compiler that created the implib.
-#
-# Echos the name of the DLL associated with the
-# specified import library.
-func_cygming_dll_for_implib_fallback_core ()
-{
-  $debug_cmd
-
-  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
-  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
-    $SED '/^Contents of section '"$match_literal"':/{
-      # Place marker at beginning of archive member dllname section
-      s/.*/====MARK====/
-      p
-      d
-    }
-    # These lines can sometimes be longer than 43 characters, but
-    # are always uninteresting
-    /:[	 ]*file format pe[i]\{,1\}-/d
-    /^In archive [^:]*:/d
-    # Ensure marker is printed
-    /^====MARK====/p
-    # Remove all lines with less than 43 characters
-    /^.\{43\}/!d
-    # From remaining lines, remove first 43 characters
-    s/^.\{43\}//' |
-    $SED -n '
-      # Join marker and all lines until next marker into a single line
-      /^====MARK====/ b para
-      H
-      $ b para
-      b
-      :para
-      x
-      s/\n//g
-      # Remove the marker
-      s/^====MARK====//
-      # Remove trailing dots and whitespace
-      s/[\. \t]*$//
-      # Print
-      /./p' |
-    # we now have a list, one entry per line, of the stringified
-    # contents of the appropriate section of all members of the
-    # archive that possess that section. Heuristic: eliminate
-    # all those that have a first or second character that is
-    # a '.' (that is, objdump's representation of an unprintable
-    # character.) This should work for all archives with less than
-    # 0x302f exports -- but will fail for DLLs whose name actually
-    # begins with a literal '.' or a single character followed by
-    # a '.'.
-    #
-    # Of those that remain, print the first one.
-    $SED -e '/^\./d;/^.\./d;q'
-}
-
-# func_cygming_dll_for_implib_fallback ARG
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-#
-# This fallback implementation is for use when $DLLTOOL
-# does not support the --identify-strict option.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib_fallback ()
-{
-  $debug_cmd
-
-  if func_cygming_gnu_implib_p "$1"; then
-    # binutils import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
-  elif func_cygming_ms_implib_p "$1"; then
-    # ms-generated import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
-  else
-    # unknown
-    sharedlib_from_linklib_result=
-  fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    $debug_cmd
-
-    f_ex_an_ar_dir=$1; shift
-    f_ex_an_ar_oldlib=$1
-    if test yes = "$lock_old_archive_extraction"; then
-      lockfile=$f_ex_an_ar_oldlib.lock
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-	func_echo "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    fi
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
-		   'stat=$?; rm -f "$lockfile"; exit $stat'
-    if test yes = "$lock_old_archive_extraction"; then
-      $opt_dry_run || rm -f "$lockfile"
-    fi
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
-    fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    $debug_cmd
-
-    my_gentop=$1; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=
-    my_xlib=
-    my_xabs=
-    my_xdir=
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-	[\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
-	*) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      func_basename "$my_xlib"
-      my_xlib=$func_basename_result
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-	*" $my_xlib_u "*)
-	  func_arith $extracted_serial + 1
-	  extracted_serial=$func_arith_result
-	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
-	*) break ;;
-	esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir=$my_gentop/$my_xlib_u
-
-      func_mkdir_p "$my_xdir"
-
-      case $host in
-      *-darwin*)
-	func_verbose "Extracting $my_xabs"
-	# Do not bother doing anything if just a dry run
-	$opt_dry_run || {
-	  darwin_orig_dir=`pwd`
-	  cd $my_xdir || exit $?
-	  darwin_archive=$my_xabs
-	  darwin_curdir=`pwd`
-	  func_basename "$darwin_archive"
-	  darwin_base_archive=$func_basename_result
-	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
-	  if test -n "$darwin_arches"; then
-	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
-	    darwin_arch=
-	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-	    for darwin_arch in  $darwin_arches; do
-	      func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
-	      $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
-	      cd "unfat-$$/$darwin_base_archive-$darwin_arch"
-	      func_extract_an_archive "`pwd`" "$darwin_base_archive"
-	      cd "$darwin_curdir"
-	      $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
-	    done # $darwin_arches
-            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
-	    darwin_file=
-	    darwin_files=
-	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
-	      $LIPO -create -output "$darwin_file" $darwin_files
-	    done # $darwin_filelist
-	    $RM -rf unfat-$$
-	    cd "$darwin_orig_dir"
-	  else
-	    cd $darwin_orig_dir
-	    func_extract_an_archive "$my_xdir" "$my_xabs"
-	  fi # $darwin_arches
-	} # !$opt_dry_run
-	;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-	;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
-    done
-
-    func_extract_archives_result=$my_oldobjs
-}
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory where it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-	func_emit_wrapper_arg1=${1-no}
-
-	$ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variables:
-  generated_by_libtool_version='$macro_version'
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$ECHO are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    file=\"\$0\""
-
-    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
-    $ECHO "\
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-    ECHO=\"$qECHO\"
-  fi
-
-# Very basic option parsing. These options are (a) specific to
-# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ that is used only on
-# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options that match
-# this pattern).
-#
-# There are only two supported options: --lt-debug and
-# --lt-dump-script. There is, deliberately, no --lt-help.
-#
-# The first argument to this parsing function should be the
-# script's $0 value, followed by "$@".
-lt_option_debug=
-func_parse_lt_options ()
-{
-  lt_script_arg0=\$0
-  shift
-  for lt_opt
-  do
-    case \"\$lt_opt\" in
-    --lt-debug) lt_option_debug=1 ;;
-    --lt-dump-script)
-        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
-        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
-        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
-        cat \"\$lt_dump_D/\$lt_dump_F\"
-        exit 0
-      ;;
-    --lt-*)
-        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
-        exit 1
-      ;;
-    esac
-  done
-
-  # Print the debug banner immediately:
-  if test -n \"\$lt_option_debug\"; then
-    echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
-  fi
-}
-
-# Used when --lt-debug. Prints its arguments to stdout
-# (redirection is the responsibility of the caller)
-func_lt_dump_args ()
-{
-  lt_dump_args_N=1;
-  for lt_arg
-  do
-    \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
-    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
-  done
-}
-
-# Core function for launching the target application
-func_exec_program_core ()
-{
-"
-  case $host in
-  # Backslashes separate directories on plain windows
-  *-*-mingw | *-*-os2* | *-cegcc*)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-    ;;
-
-  *)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-    ;;
-  esac
-  $ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
-}
-
-# A function to encapsulate launching the target application
-# Strips options in the --lt-* namespace from \$@ and
-# launches target application with the remaining arguments.
-func_exec_program ()
-{
-  case \" \$* \" in
-  *\\ --lt-*)
-    for lt_wr_arg
-    do
-      case \$lt_wr_arg in
-      --lt-*) ;;
-      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-      esac
-      shift
-    done ;;
-  esac
-  func_exec_program_core \${1+\"\$@\"}
-}
-
-  # Parse options
-  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
-  done
-
-  # Usually 'no', except on cygwin/mingw when embedded into
-  # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
-  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
-    # special case for '.'
-    if test \"\$thisdir\" = \".\"; then
-      thisdir=\`pwd\`
-    fi
-    # remove .libs from thisdir
-    case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
-    $objdir )   thisdir=. ;;
-    esac
-  fi
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test yes = "$fast_install"; then
-	  $ECHO "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" ||
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $MKDIR \"\$progdir\"
-    else
-      $RM \"\$progdir/\$file\"
-    fi"
-
-	  $ECHO "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-	\$ECHO \"\$relink_command_output\" >&2
-	$RM \"\$progdir/\$file\"
-	exit 1
-      fi
-    fi
-
-    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $RM \"\$progdir/\$program\";
-      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $RM \"\$progdir/\$file\"
-  fi"
-	else
-	  $ECHO "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	$ECHO "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# fixup the dll searchpath if we need to.
-	#
-	# Fix the DLL searchpath if we need to.  Do this before prepending
-	# to shlibpath, because on Windows, both are PATH and uninstalled
-	# libraries must come first.
-	if test -n "$dllsearchpath"; then
-	  $ECHO "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
-	# Export our shlibpath_var if we have one.
-	if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $ECHO "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	$ECHO "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-      func_exec_program \${1+\"\$@\"}
-    fi
-  else
-    # The program doesn't exist.
-    \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
-    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit 1
-  fi
-fi\
-"
-}
-
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
-	cat <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-*/
-EOF
-	    cat <<"EOF"
-#ifdef _MSC_VER
-# define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef _MSC_VER
-# include <direct.h>
-# include <process.h>
-# include <io.h>
-#else
-# include <unistd.h>
-# include <stdint.h>
-# ifdef __CYGWIN__
-#  include <io.h>
-# endif
-#endif
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
-
-/* declarations of non-ANSI functions */
-#if defined __MINGW32__
-# ifdef __STRICT_ANSI__
-int _putenv (const char *);
-# endif
-#elif defined __CYGWIN__
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
-/* #elif defined other_platform || defined ... */
-#endif
-
-/* portability defines, excluding path handling macros */
-#if defined _MSC_VER
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-# define S_IXUSR _S_IEXEC
-#elif defined __MINGW32__
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-#elif defined __CYGWIN__
-# define HAVE_SETENV
-# define FOPEN_WB "wb"
-/* #elif defined other platforms ... */
-#endif
-
-#if defined PATH_MAX
-# define LT_PATHMAX PATH_MAX
-#elif defined MAXPATHLEN
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-/* path handling portability macros */
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
-  defined __OS2__
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free (stale); stale = 0; } \
-} while (0)
-
-#if defined LT_DEBUGWRAPPER
-static int lt_debug = 1;
-#else
-static int lt_debug = 0;
-#endif
-
-const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_debugprintf (const char *file, int line, const char *fmt, ...);
-void lt_fatal (const char *file, int line, const char *message, ...);
-static const char *nonnull (const char *s);
-static const char *nonempty (const char *s);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-char **prepare_spawn (char **argv);
-void lt_dump_script (FILE *f);
-EOF
-
-	    cat <<EOF
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
-# define externally_visible volatile
-#else
-# define externally_visible __attribute__((externally_visible)) volatile
-#endif
-externally_visible const char * MAGIC_EXE = "$magic_exe";
-const char * LIB_PATH_VARNAME = "$shlibpath_var";
-EOF
-
-	    if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-              func_to_host_path "$temp_rpath"
-	      cat <<EOF
-const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * LIB_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test -n "$dllsearchpath"; then
-              func_to_host_path "$dllsearchpath:"
-	      cat <<EOF
-const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * EXE_PATH_VARNAME = "";
-const char * EXE_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test yes = "$fast_install"; then
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-EOF
-	    else
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-EOF
-	    fi
-
-
-	    cat <<"EOF"
-
-#define LTWRAPPER_OPTION_PREFIX         "--lt-"
-
-static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int  newargc;
-  char *tmp_pathspec;
-  char *actual_cwrapper_path;
-  char *actual_cwrapper_name;
-  char *target_name;
-  char *lt_argv_zero;
-  int rval = 127;
-
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  newargz = XMALLOC (char *, (size_t) argc + 1);
-
-  /* very simple arg parsing; don't want to rely on getopt
-   * also, copy all non cwrapper options to newargz, except
-   * argz[0], which is handled differently
-   */
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (STREQ (argv[i], dumpscript_opt))
-	{
-EOF
-	    case $host in
-	      *mingw* | *cygwin* )
-		# make stdout use "unix" line endings
-		echo "          setmode(1,_O_BINARY);"
-		;;
-	      esac
-
-	    cat <<"EOF"
-	  lt_dump_script (stdout);
-	  return 0;
-	}
-      if (STREQ (argv[i], debug_opt))
-	{
-          lt_debug = 1;
-          continue;
-	}
-      if (STREQ (argv[i], ltwrapper_option_prefix))
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal (__FILE__, __LINE__,
-		    "unrecognized %s option: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-EOF
-	    cat <<EOF
-  /* The GNU banner must be the first non-error debug message */
-  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
-EOF
-	    cat <<"EOF"
-  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
-
-  tmp_pathspec = find_executable (argv[0]);
-  if (tmp_pathspec == NULL)
-    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (before symlink chase) at: %s\n",
-		  tmp_pathspec);
-
-  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (after symlink chase) at: %s\n",
-		  actual_cwrapper_path);
-  XFREE (tmp_pathspec);
-
-  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
-  strendzap (actual_cwrapper_path, actual_cwrapper_name);
-
-  /* wrapper name transforms */
-  strendzap (actual_cwrapper_name, ".exe");
-  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
-  XFREE (actual_cwrapper_name);
-  actual_cwrapper_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  /* target_name transforms -- use actual target program name; might have lt- prefix */
-  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
-  strendzap (target_name, ".exe");
-  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
-  XFREE (target_name);
-  target_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(main) libtool target name: %s\n",
-		  target_name);
-EOF
-
-	    cat <<EOF
-  newargz[0] =
-    XMALLOC (char, (strlen (actual_cwrapper_path) +
-		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
-  strcpy (newargz[0], actual_cwrapper_path);
-  strcat (newargz[0], "$objdir");
-  strcat (newargz[0], "/");
-EOF
-
-	    cat <<"EOF"
-  /* stop here, and copy so we don't have to do this twice */
-  tmp_pathspec = xstrdup (newargz[0]);
-
-  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
-  strcat (newargz[0], actual_cwrapper_name);
-
-  /* DO want the lt- prefix here if it exists, so use target_name */
-  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
-  XFREE (tmp_pathspec);
-  tmp_pathspec = NULL;
-EOF
-
-	    case $host_os in
-	      mingw*)
-	    cat <<"EOF"
-  {
-    char* p;
-    while ((p = strchr (newargz[0], '\\')) != NULL)
-      {
-	*p = '/';
-      }
-    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
-      {
-	*p = '/';
-      }
-  }
-EOF
-	    ;;
-	    esac
-
-	    cat <<"EOF"
-  XFREE (target_name);
-  XFREE (actual_cwrapper_path);
-  XFREE (actual_cwrapper_name);
-
-  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
-  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
-  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
-     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
-     because on Windows, both *_VARNAMEs are PATH but uninstalled
-     libraries must come first. */
-  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
-  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-
-  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
-		  nonnull (lt_argv_zero));
-  for (i = 0; i < newargc; i++)
-    {
-      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
-		      i, nonnull (newargz[i]));
-    }
-
-EOF
-
-	    case $host_os in
-	      mingw*)
-		cat <<"EOF"
-  /* execv doesn't actually work on mingw as expected on unix */
-  newargz = prepare_spawn (newargz);
-  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
-  if (rval == -1)
-    {
-      /* failed to start process */
-      lt_debugprintf (__FILE__, __LINE__,
-		      "(main) failed to launch target \"%s\": %s\n",
-		      lt_argv_zero, nonnull (strerror (errno)));
-      return 127;
-    }
-  return rval;
-EOF
-		;;
-	      *)
-		cat <<"EOF"
-  execv (lt_argv_zero, newargz);
-  return rval; /* =127, but avoids unused variable warning */
-EOF
-		;;
-	    esac
-
-	    cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
-  void *p = (void *) malloc (num);
-  if (!p)
-    lt_fatal (__FILE__, __LINE__, "memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
-			  string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined HAVE_DOS_BASED_FILE_SYSTEM
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable (const char *path)
-{
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0)
-      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
-    return 1;
-  else
-    return 0;
-}
-
-int
-make_executable (const char *path)
-{
-  int rval = 0;
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if (stat (path, &st) >= 0)
-    {
-      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
-    }
-  return rval;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise
-   Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
-  int has_slash = 0;
-  const char *p;
-  const char *p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  size_t tmp_len;
-  char *concat_name;
-
-  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
-                  nonempty (wrapper));
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined HAVE_DOS_BASED_FILE_SYSTEM
-  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable (concat_name))
-	return concat_name;
-      XFREE (concat_name);
-    }
-  else
-    {
-#endif
-      if (IS_DIR_SEPARATOR (wrapper[0]))
-	{
-	  concat_name = xstrdup (wrapper);
-	  if (check_executable (concat_name))
-	    return concat_name;
-	  XFREE (concat_name);
-	}
-#if defined HAVE_DOS_BASED_FILE_SYSTEM
-    }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-      {
-	has_slash = 1;
-	break;
-      }
-  if (!has_slash)
-    {
-      /* no slashes; search PATH */
-      const char *path = getenv ("PATH");
-      if (path != NULL)
-	{
-	  for (p = path; *p; p = p_next)
-	    {
-	      const char *q;
-	      size_t p_len;
-	      for (q = p; *q; q++)
-		if (IS_PATH_SEPARATOR (*q))
-		  break;
-	      p_len = (size_t) (q - p);
-	      p_next = (*q == '\0' ? q : q + 1);
-	      if (p_len == 0)
-		{
-		  /* empty path: current directory */
-		  if (getcwd (tmp, LT_PATHMAX) == NULL)
-		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-                              nonnull (strerror (errno)));
-		  tmp_len = strlen (tmp);
-		  concat_name =
-		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, tmp, tmp_len);
-		  concat_name[tmp_len] = '/';
-		  strcpy (concat_name + tmp_len + 1, wrapper);
-		}
-	      else
-		{
-		  concat_name =
-		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, p, p_len);
-		  concat_name[p_len] = '/';
-		  strcpy (concat_name + p_len + 1, wrapper);
-		}
-	      if (check_executable (concat_name))
-		return concat_name;
-	      XFREE (concat_name);
-	    }
-	}
-      /* not found in PATH; assume curdir */
-    }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-              nonnull (strerror (errno)));
-  tmp_len = strlen (tmp);
-  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable (concat_name))
-    return concat_name;
-  XFREE (concat_name);
-  return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
-  return xstrdup (pathspec);
-#else
-  char buf[LT_PATHMAX];
-  struct stat s;
-  char *tmp_pathspec = xstrdup (pathspec);
-  char *p;
-  int has_symlinks = 0;
-  while (strlen (tmp_pathspec) && !has_symlinks)
-    {
-      lt_debugprintf (__FILE__, __LINE__,
-		      "checking path component for symlinks: %s\n",
-		      tmp_pathspec);
-      if (lstat (tmp_pathspec, &s) == 0)
-	{
-	  if (S_ISLNK (s.st_mode) != 0)
-	    {
-	      has_symlinks = 1;
-	      break;
-	    }
-
-	  /* search backwards for last DIR_SEPARATOR */
-	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
-	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    p--;
-	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    {
-	      /* no more DIR_SEPARATORS left */
-	      break;
-	    }
-	  *p = '\0';
-	}
-      else
-	{
-	  lt_fatal (__FILE__, __LINE__,
-		    "error accessing file \"%s\": %s",
-		    tmp_pathspec, nonnull (strerror (errno)));
-	}
-    }
-  XFREE (tmp_pathspec);
-
-  if (!has_symlinks)
-    {
-      return xstrdup (pathspec);
-    }
-
-  tmp_pathspec = realpath (pathspec, buf);
-  if (tmp_pathspec == 0)
-    {
-      lt_fatal (__FILE__, __LINE__,
-		"could not follow symlinks for %s", pathspec);
-    }
-  return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert (str != NULL);
-  assert (pat != NULL);
-
-  len = strlen (str);
-  patlen = strlen (pat);
-
-  if (patlen <= len)
-    {
-      str += len - patlen;
-      if (STREQ (str, pat))
-	*str = '\0';
-    }
-  return str;
-}
-
-void
-lt_debugprintf (const char *file, int line, const char *fmt, ...)
-{
-  va_list args;
-  if (lt_debug)
-    {
-      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
-      va_start (args, fmt);
-      (void) vfprintf (stderr, fmt, args);
-      va_end (args);
-    }
-}
-
-static void
-lt_error_core (int exit_status, const char *file,
-	       int line, const char *mode,
-	       const char *message, va_list ap)
-{
-  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *file, int line, const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
-  va_end (ap);
-}
-
-static const char *
-nonnull (const char *s)
-{
-  return s ? s : "(null)";
-}
-
-static const char *
-nonempty (const char *s)
-{
-  return (s && !*s) ? "(empty)" : nonnull (s);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_setenv) setting '%s' to '%s'\n",
-                  nonnull (name), nonnull (value));
-  {
-#ifdef HAVE_SETENV
-    /* always make a copy, for consistency with !HAVE_SETENV */
-    char *str = xstrdup (value);
-    setenv (name, str, 1);
-#else
-    size_t len = strlen (name) + 1 + strlen (value) + 1;
-    char *str = XMALLOC (char, len);
-    sprintf (str, "%s=%s", name, value);
-    if (putenv (str) != EXIT_SUCCESS)
-      {
-        XFREE (str);
-      }
-#endif
-  }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
-  char *new_value;
-  if (orig_value && *orig_value)
-    {
-      size_t orig_value_len = strlen (orig_value);
-      size_t add_len = strlen (add);
-      new_value = XMALLOC (char, add_len + orig_value_len + 1);
-      if (to_end)
-        {
-          strcpy (new_value, orig_value);
-          strcpy (new_value + orig_value_len, add);
-        }
-      else
-        {
-          strcpy (new_value, add);
-          strcpy (new_value + add_len, orig_value);
-        }
-    }
-  else
-    {
-      new_value = xstrdup (add);
-    }
-  return new_value;
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      /* some systems can't cope with a ':'-terminated path #' */
-      size_t len = strlen (new_value);
-      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
-        {
-          new_value[--len] = '\0';
-        }
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-EOF
-	    case $host_os in
-	      mingw*)
-		cat <<"EOF"
-
-/* Prepares an argument vector before calling spawn().
-   Note that spawn() does not by itself call the command interpreter
-     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
-      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-         GetVersionEx(&v);
-         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
-      }) ? "cmd.exe" : "command.com").
-   Instead it simply concatenates the arguments, separated by ' ', and calls
-   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
-   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
-   special way:
-   - Space and tab are interpreted as delimiters. They are not treated as
-     delimiters if they are surrounded by double quotes: "...".
-   - Unescaped double quotes are removed from the input. Their only effect is
-     that within double quotes, space and tab are treated like normal
-     characters.
-   - Backslashes not followed by double quotes are not special.
-   - But 2*n+1 backslashes followed by a double quote become
-     n backslashes followed by a double quote (n >= 0):
-       \" -> "
-       \\\" -> \"
-       \\\\\" -> \\"
- */
-#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-char **
-prepare_spawn (char **argv)
-{
-  size_t argc;
-  char **new_argv;
-  size_t i;
-
-  /* Count number of arguments.  */
-  for (argc = 0; argv[argc] != NULL; argc++)
-    ;
-
-  /* Allocate new argument vector.  */
-  new_argv = XMALLOC (char *, argc + 1);
-
-  /* Put quoted arguments into the new argument vector.  */
-  for (i = 0; i < argc; i++)
-    {
-      const char *string = argv[i];
-
-      if (string[0] == '\0')
-	new_argv[i] = xstrdup ("\"\"");
-      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
-	{
-	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
-	  size_t length;
-	  unsigned int backslashes;
-	  const char *s;
-	  char *quoted_string;
-	  char *p;
-
-	  length = 0;
-	  backslashes = 0;
-	  if (quote_around)
-	    length++;
-	  for (s = string; *s != '\0'; s++)
-	    {
-	      char c = *s;
-	      if (c == '"')
-		length += backslashes + 1;
-	      length++;
-	      if (c == '\\')
-		backslashes++;
-	      else
-		backslashes = 0;
-	    }
-	  if (quote_around)
-	    length += backslashes + 1;
-
-	  quoted_string = XMALLOC (char, length + 1);
-
-	  p = quoted_string;
-	  backslashes = 0;
-	  if (quote_around)
-	    *p++ = '"';
-	  for (s = string; *s != '\0'; s++)
-	    {
-	      char c = *s;
-	      if (c == '"')
-		{
-		  unsigned int j;
-		  for (j = backslashes + 1; j > 0; j--)
-		    *p++ = '\\';
-		}
-	      *p++ = c;
-	      if (c == '\\')
-		backslashes++;
-	      else
-		backslashes = 0;
-	    }
-	  if (quote_around)
-	    {
-	      unsigned int j;
-	      for (j = backslashes; j > 0; j--)
-		*p++ = '\\';
-	      *p++ = '"';
-	    }
-	  *p = '\0';
-
-	  new_argv[i] = quoted_string;
-	}
-      else
-	new_argv[i] = (char *) string;
-    }
-  new_argv[argc] = NULL;
-
-  return new_argv;
-}
-EOF
-		;;
-	    esac
-
-            cat <<"EOF"
-void lt_dump_script (FILE* f)
-{
-EOF
-	    func_emit_wrapper yes |
-	      $SED -n -e '
-s/^\(.\{79\}\)\(..*\)/\1\
-\2/
-h
-s/\([\\"]\)/\\\1/g
-s/$/\\n/
-s/\([^\n]*\).*/  fputs ("\1", f);/p
-g
-D'
-            cat <<"EOF"
-}
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_win32_import_lib_p ARG
-# True if ARG is an import lib, as indicated by $file_magic_cmd
-func_win32_import_lib_p ()
-{
-    $debug_cmd
-
-    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
-    *import*) : ;;
-    *) false ;;
-    esac
-}
-
-# func_suncc_cstd_abi
-# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
-# Several compiler flags select an ABI that is incompatible with the
-# Cstd library. Avoid specifying it if any are in CXXFLAGS.
-func_suncc_cstd_abi ()
-{
-    $debug_cmd
-
-    case " $compile_command " in
-    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
-      suncc_use_cstd_abi=no
-      ;;
-    *)
-      suncc_use_cstd_abi=yes
-      ;;
-    esac
-}
-
-# func_mode_link arg...
-func_mode_link ()
-{
-    $debug_cmd
-
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # what system we are compiling for in order to pass an extra
-      # flag for every libtool invocation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll that has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args=$nonopt
-    base_compile="$nonopt $@"
-    compile_command=$nonopt
-    finalize_command=$nonopt
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-    inst_prefix_dir=
-    new_inherited_linker_flags=
-
-    avoid_version=no
-    bindir=
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    os2dllname=
-    non_pic_objects=
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=false
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-    weak_libs=
-    single_module=$wl-single_module
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -shared)
-	test yes != "$build_libtool_libs" \
-	  && func_fatal_configuration "cannot build a shared library"
-	build_old_libs=no
-	break
-	;;
-      -all-static | -static | -static-libtool-libs)
-	case $arg in
-	-all-static)
-	  if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
-	    func_warning "complete static linking is impossible in this configuration"
-	  fi
-	  if test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	-static)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=built
-	  ;;
-	-static-libtool-libs)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	esac
-	build_libtool_libs=no
-	build_old_libs=yes
-	break
-	;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test "$#" -gt 0; do
-      arg=$1
-      shift
-      func_quote_for_eval "$arg"
-      qarg=$func_quote_for_eval_unquoted_result
-      func_append libtool_args " $func_quote_for_eval_result"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-	case $prev in
-	output)
-	  func_append compile_command " @OUTPUT@"
-	  func_append finalize_command " @OUTPUT@"
-	  ;;
-	esac
-
-	case $prev in
-	bindir)
-	  bindir=$arg
-	  prev=
-	  continue
-	  ;;
-	dlfiles|dlprefiles)
-	  $preload || {
-	    # Add the symbol object into the linking commands.
-	    func_append compile_command " @SYMFILE@"
-	    func_append finalize_command " @SYMFILE@"
-	    preload=:
-	  }
-	  case $arg in
-	  *.la | *.lo) ;;  # We handle these cases below.
-	  force)
-	    if test no = "$dlself"; then
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  self)
-	    if test dlprefiles = "$prev"; then
-	      dlself=yes
-	    elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
-	      dlself=yes
-	    else
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  *)
-	    if test dlfiles = "$prev"; then
-	      func_append dlfiles " $arg"
-	    else
-	      func_append dlprefiles " $arg"
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  esac
-	  ;;
-	expsyms)
-	  export_symbols=$arg
-	  test -f "$arg" \
-	    || func_fatal_error "symbol file '$arg' does not exist"
-	  prev=
-	  continue
-	  ;;
-	expsyms_regex)
-	  export_symbols_regex=$arg
-	  prev=
-	  continue
-	  ;;
-	framework)
-	  case $host in
-	    *-*-darwin*)
-	      case "$deplibs " in
-		*" $qarg.ltframework "*) ;;
-		*) func_append deplibs " $qarg.ltframework" # this is fixed later
-		   ;;
-	      esac
-	      ;;
-	  esac
-	  prev=
-	  continue
-	  ;;
-	inst_prefix)
-	  inst_prefix_dir=$arg
-	  prev=
-	  continue
-	  ;;
-	mllvm)
-	  # Clang does not use LLVM to link, so we can simply discard any
-	  # '-mllvm $arg' options when doing the link step.
-	  prev=
-	  continue
-	  ;;
-	objectlist)
-	  if test -f "$arg"; then
-	    save_arg=$arg
-	    moreargs=
-	    for fil in `cat "$save_arg"`
-	    do
-#	      func_append moreargs " $fil"
-	      arg=$fil
-	      # A libtool-controlled object.
-
-	      # Check to see that this really is a libtool object.
-	      if func_lalib_unsafe_p "$arg"; then
-		pic_object=
-		non_pic_object=
-
-		# Read the .lo file
-		func_source "$arg"
-
-		if test -z "$pic_object" ||
-		   test -z "$non_pic_object" ||
-		   test none = "$pic_object" &&
-		   test none = "$non_pic_object"; then
-		  func_fatal_error "cannot find name of object for '$arg'"
-		fi
-
-		# Extract subdirectory from the argument.
-		func_dirname "$arg" "/" ""
-		xdir=$func_dirname_result
-
-		if test none != "$pic_object"; then
-		  # Prepend the subdirectory the object is found in.
-		  pic_object=$xdir$pic_object
-
-		  if test dlfiles = "$prev"; then
-		    if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
-		      func_append dlfiles " $pic_object"
-		      prev=
-		      continue
-		    else
-		      # If libtool objects are unsupported, then we need to preload.
-		      prev=dlprefiles
-		    fi
-		  fi
-
-		  # CHECK ME:  I think I busted this.  -Ossama
-		  if test dlprefiles = "$prev"; then
-		    # Preload the old-style object.
-		    func_append dlprefiles " $pic_object"
-		    prev=
-		  fi
-
-		  # A PIC object.
-		  func_append libobjs " $pic_object"
-		  arg=$pic_object
-		fi
-
-		# Non-PIC object.
-		if test none != "$non_pic_object"; then
-		  # Prepend the subdirectory the object is found in.
-		  non_pic_object=$xdir$non_pic_object
-
-		  # A standard non-PIC object
-		  func_append non_pic_objects " $non_pic_object"
-		  if test -z "$pic_object" || test none = "$pic_object"; then
-		    arg=$non_pic_object
-		  fi
-		else
-		  # If the PIC object exists, use it instead.
-		  # $xdir was prepended to $pic_object above.
-		  non_pic_object=$pic_object
-		  func_append non_pic_objects " $non_pic_object"
-		fi
-	      else
-		# Only an error if not doing a dry-run.
-		if $opt_dry_run; then
-		  # Extract subdirectory from the argument.
-		  func_dirname "$arg" "/" ""
-		  xdir=$func_dirname_result
-
-		  func_lo2o "$arg"
-		  pic_object=$xdir$objdir/$func_lo2o_result
-		  non_pic_object=$xdir$func_lo2o_result
-		  func_append libobjs " $pic_object"
-		  func_append non_pic_objects " $non_pic_object"
-	        else
-		  func_fatal_error "'$arg' is not a valid libtool object"
-		fi
-	      fi
-	    done
-	  else
-	    func_fatal_error "link input file '$arg' does not exist"
-	  fi
-	  arg=$save_arg
-	  prev=
-	  continue
-	  ;;
-	os2dllname)
-	  os2dllname=$arg
-	  prev=
-	  continue
-	  ;;
-	precious_regex)
-	  precious_files_regex=$arg
-	  prev=
-	  continue
-	  ;;
-	release)
-	  release=-$arg
-	  prev=
-	  continue
-	  ;;
-	rpath | xrpath)
-	  # We need an absolute path.
-	  case $arg in
-	  [\\/]* | [A-Za-z]:[\\/]*) ;;
-	  *)
-	    func_fatal_error "only absolute run-paths are allowed"
-	    ;;
-	  esac
-	  if test rpath = "$prev"; then
-	    case "$rpath " in
-	    *" $arg "*) ;;
-	    *) func_append rpath " $arg" ;;
-	    esac
-	  else
-	    case "$xrpath " in
-	    *" $arg "*) ;;
-	    *) func_append xrpath " $arg" ;;
-	    esac
-	  fi
-	  prev=
-	  continue
-	  ;;
-	shrext)
-	  shrext_cmds=$arg
-	  prev=
-	  continue
-	  ;;
-	weak)
-	  func_append weak_libs " $arg"
-	  prev=
-	  continue
-	  ;;
-	xcclinker)
-	  func_append linker_flags " $qarg"
-	  func_append compiler_flags " $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xcompiler)
-	  func_append compiler_flags " $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xlinker)
-	  func_append linker_flags " $qarg"
-	  func_append compiler_flags " $wl$qarg"
-	  prev=
-	  func_append compile_command " $wl$qarg"
-	  func_append finalize_command " $wl$qarg"
-	  continue
-	  ;;
-	*)
-	  eval "$prev=\"\$arg\""
-	  prev=
-	  continue
-	  ;;
-	esac
-      fi # test -n "$prev"
-
-      prevarg=$arg
-
-      case $arg in
-      -all-static)
-	if test -n "$link_static_flag"; then
-	  # See comment for -static flag below, for more details.
-	  func_append compile_command " $link_static_flag"
-	  func_append finalize_command " $link_static_flag"
-	fi
-	continue
-	;;
-
-      -allow-undefined)
-	# FIXME: remove this flag sometime in the future.
-	func_fatal_error "'-allow-undefined' must not be used because it is the default"
-	;;
-
-      -avoid-version)
-	avoid_version=yes
-	continue
-	;;
-
-      -bindir)
-	prev=bindir
-	continue
-	;;
-
-      -dlopen)
-	prev=dlfiles
-	continue
-	;;
-
-      -dlpreopen)
-	prev=dlprefiles
-	continue
-	;;
-
-      -export-dynamic)
-	export_dynamic=yes
-	continue
-	;;
-
-      -export-symbols | -export-symbols-regex)
-	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	  func_fatal_error "more than one -exported-symbols argument is not allowed"
-	fi
-	if test X-export-symbols = "X$arg"; then
-	  prev=expsyms
-	else
-	  prev=expsyms_regex
-	fi
-	continue
-	;;
-
-      -framework)
-	prev=framework
-	continue
-	;;
-
-      -inst-prefix-dir)
-	prev=inst_prefix
-	continue
-	;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-	case $with_gcc/$host in
-	no/*-*-irix* | /*-*-irix*)
-	  func_append compile_command " $arg"
-	  func_append finalize_command " $arg"
-	  ;;
-	esac
-	continue
-	;;
-
-      -L*)
-	func_stripname "-L" '' "$arg"
-	if test -z "$func_stripname_result"; then
-	  if test "$#" -gt 0; then
-	    func_fatal_error "require no space between '-L' and '$1'"
-	  else
-	    func_fatal_error "need path for '-L' option"
-	  fi
-	fi
-	func_resolve_sysroot "$func_stripname_result"
-	dir=$func_resolve_sysroot_result
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  absdir=`cd "$dir" && pwd`
-	  test -z "$absdir" && \
-	    func_fatal_error "cannot determine absolute directory name of '$dir'"
-	  dir=$absdir
-	  ;;
-	esac
-	case "$deplibs " in
-	*" -L$dir "* | *" $arg "*)
-	  # Will only happen for absolute or sysroot arguments
-	  ;;
-	*)
-	  # Preserve sysroot, but never include relative directories
-	  case $dir in
-	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
-	    *) func_append deplibs " -L$dir" ;;
-	  esac
-	  func_append lib_search_path " $dir"
-	  ;;
-	esac
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$dir:"*) ;;
-	  ::) dllsearchpath=$dir;;
-	  *) func_append dllsearchpath ":$dir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  ::) dllsearchpath=$testbindir;;
-	  *) func_append dllsearchpath ":$testbindir";;
-	  esac
-	  ;;
-	esac
-	continue
-	;;
-
-      -l*)
-	if test X-lc = "X$arg" || test X-lm = "X$arg"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
-	    # These systems don't actually have a C or math library (as such)
-	    continue
-	    ;;
-	  *-*-os2*)
-	    # These systems don't actually have a C library (as such)
-	    test X-lc = "X$arg" && continue
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
-	    # Do not include libc due to us having libc/libc_r.
-	    test X-lc = "X$arg" && continue
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C and math libraries are in the System framework
-	    func_append deplibs " System.ltframework"
-	    continue
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    test X-lc = "X$arg" && continue
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    test X-lc = "X$arg" && continue
-	    ;;
-	  esac
-	elif test X-lc_r = "X$arg"; then
-	 case $host in
-	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
-	   # Do not include libc_r directly, use -pthread flag.
-	   continue
-	   ;;
-	 esac
-	fi
-	func_append deplibs " $arg"
-	continue
-	;;
-
-      -mllvm)
-	prev=mllvm
-	continue
-	;;
-
-      -module)
-	module=yes
-	continue
-	;;
-
-      # Tru64 UNIX uses -model [arg] to determine the layout of C++
-      # classes, name mangling, and exception handling.
-      # Darwin uses the -arch flag to determine output architecture.
-      -model|-arch|-isysroot|--sysroot)
-	func_append compiler_flags " $arg"
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-	prev=xcompiler
-	continue
-	;;
-
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
-      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-	func_append compiler_flags " $arg"
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-	case "$new_inherited_linker_flags " in
-	    *" $arg "*) ;;
-	    * ) func_append new_inherited_linker_flags " $arg" ;;
-	esac
-	continue
-	;;
-
-      -multi_module)
-	single_module=$wl-multi_module
-	continue
-	;;
-
-      -no-fast-install)
-	fast_install=no
-	continue
-	;;
-
-      -no-install)
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
-	  # The PATH hackery in wrapper scripts is required on Windows
-	  # and Darwin in order for the loader to find any dlls it needs.
-	  func_warning "'-no-install' is ignored for $host"
-	  func_warning "assuming '-no-fast-install' instead"
-	  fast_install=no
-	  ;;
-	*) no_install=yes ;;
-	esac
-	continue
-	;;
-
-      -no-undefined)
-	allow_undefined=no
-	continue
-	;;
-
-      -objectlist)
-	prev=objectlist
-	continue
-	;;
-
-      -os2dllname)
-	prev=os2dllname
-	continue
-	;;
-
-      -o) prev=output ;;
-
-      -precious-files-regex)
-	prev=precious_regex
-	continue
-	;;
-
-      -release)
-	prev=release
-	continue
-	;;
-
-      -rpath)
-	prev=rpath
-	continue
-	;;
-
-      -R)
-	prev=xrpath
-	continue
-	;;
-
-      -R*)
-	func_stripname '-R' '' "$arg"
-	dir=$func_stripname_result
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	=*)
-	  func_stripname '=' '' "$dir"
-	  dir=$lt_sysroot$func_stripname_result
-	  ;;
-	*)
-	  func_fatal_error "only absolute run-paths are allowed"
-	  ;;
-	esac
-	case "$xrpath " in
-	*" $dir "*) ;;
-	*) func_append xrpath " $dir" ;;
-	esac
-	continue
-	;;
-
-      -shared)
-	# The effects of -shared are defined in a previous loop.
-	continue
-	;;
-
-      -shrext)
-	prev=shrext
-	continue
-	;;
-
-      -static | -static-libtool-libs)
-	# The effects of -static are defined in a previous loop.
-	# We used to do the same as -all-static on platforms that
-	# didn't have a PIC flag, but the assumption that the effects
-	# would be equivalent was wrong.  It would break on at least
-	# Digital Unix and AIX.
-	continue
-	;;
-
-      -thread-safe)
-	thread_safe=yes
-	continue
-	;;
-
-      -version-info)
-	prev=vinfo
-	continue
-	;;
-
-      -version-number)
-	prev=vinfo
-	vinfo_number=yes
-	continue
-	;;
-
-      -weak)
-        prev=weak
-	continue
-	;;
-
-      -Wc,*)
-	func_stripname '-Wc,' '' "$arg"
-	args=$func_stripname_result
-	arg=
-	save_ifs=$IFS; IFS=,
-	for flag in $args; do
-	  IFS=$save_ifs
-          func_quote_for_eval "$flag"
-	  func_append arg " $func_quote_for_eval_result"
-	  func_append compiler_flags " $func_quote_for_eval_result"
-	done
-	IFS=$save_ifs
-	func_stripname ' ' '' "$arg"
-	arg=$func_stripname_result
-	;;
-
-      -Wl,*)
-	func_stripname '-Wl,' '' "$arg"
-	args=$func_stripname_result
-	arg=
-	save_ifs=$IFS; IFS=,
-	for flag in $args; do
-	  IFS=$save_ifs
-          func_quote_for_eval "$flag"
-	  func_append arg " $wl$func_quote_for_eval_result"
-	  func_append compiler_flags " $wl$func_quote_for_eval_result"
-	  func_append linker_flags " $func_quote_for_eval_result"
-	done
-	IFS=$save_ifs
-	func_stripname ' ' '' "$arg"
-	arg=$func_stripname_result
-	;;
-
-      -Xcompiler)
-	prev=xcompiler
-	continue
-	;;
-
-      -Xlinker)
-	prev=xlinker
-	continue
-	;;
-
-      -XCClinker)
-	prev=xcclinker
-	continue
-	;;
-
-      # -msg_* for osf cc
-      -msg_*)
-	func_quote_for_eval "$arg"
-	arg=$func_quote_for_eval_result
-	;;
-
-      # Flags to be passed through unchanged, with rationale:
-      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
-      # -r[0-9][0-9]*        specify processor for the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
-      # +DA*, +DD*           enable 64-bit mode for the HP compiler
-      # -q*                  compiler args for the IBM compiler
-      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
-      # -F/path              path to uninstalled frameworks, gcc on darwin
-      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
-      # -fstack-protector*   stack protector flags for GCC
-      # @file                GCC response files
-      # -tp=*                Portland pgcc target processor selection
-      # --sysroot=*          for sysroot support
-      # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-      # -stdlib=*            select c++ std lib with clang
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
-        func_quote_for_eval "$arg"
-	arg=$func_quote_for_eval_result
-        func_append compile_command " $arg"
-        func_append finalize_command " $arg"
-        func_append compiler_flags " $arg"
-        continue
-        ;;
-
-      -Z*)
-        if test os2 = "`expr $host : '.*\(os2\)'`"; then
-          # OS/2 uses -Zxxx to specify OS/2-specific options
-	  compiler_flags="$compiler_flags $arg"
-	  func_append compile_command " $arg"
-	  func_append finalize_command " $arg"
-	  case $arg in
-	  -Zlinker | -Zstack)
-	    prev=xcompiler
-	    ;;
-	  esac
-	  continue
-        else
-	  # Otherwise treat like 'Some other compiler flag' below
-	  func_quote_for_eval "$arg"
-	  arg=$func_quote_for_eval_result
-        fi
-	;;
-
-      # Some other compiler flag.
-      -* | +*)
-        func_quote_for_eval "$arg"
-	arg=$func_quote_for_eval_result
-	;;
-
-      *.$objext)
-	# A standard object.
-	func_append objs " $arg"
-	;;
-
-      *.lo)
-	# A libtool-controlled object.
-
-	# Check to see that this really is a libtool object.
-	if func_lalib_unsafe_p "$arg"; then
-	  pic_object=
-	  non_pic_object=
-
-	  # Read the .lo file
-	  func_source "$arg"
-
-	  if test -z "$pic_object" ||
-	     test -z "$non_pic_object" ||
-	     test none = "$pic_object" &&
-	     test none = "$non_pic_object"; then
-	    func_fatal_error "cannot find name of object for '$arg'"
-	  fi
-
-	  # Extract subdirectory from the argument.
-	  func_dirname "$arg" "/" ""
-	  xdir=$func_dirname_result
-
-	  test none = "$pic_object" || {
-	    # Prepend the subdirectory the object is found in.
-	    pic_object=$xdir$pic_object
-
-	    if test dlfiles = "$prev"; then
-	      if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
-		func_append dlfiles " $pic_object"
-		prev=
-		continue
-	      else
-		# If libtool objects are unsupported, then we need to preload.
-		prev=dlprefiles
-	      fi
-	    fi
-
-	    # CHECK ME:  I think I busted this.  -Ossama
-	    if test dlprefiles = "$prev"; then
-	      # Preload the old-style object.
-	      func_append dlprefiles " $pic_object"
-	      prev=
-	    fi
-
-	    # A PIC object.
-	    func_append libobjs " $pic_object"
-	    arg=$pic_object
-	  }
-
-	  # Non-PIC object.
-	  if test none != "$non_pic_object"; then
-	    # Prepend the subdirectory the object is found in.
-	    non_pic_object=$xdir$non_pic_object
-
-	    # A standard non-PIC object
-	    func_append non_pic_objects " $non_pic_object"
-	    if test -z "$pic_object" || test none = "$pic_object"; then
-	      arg=$non_pic_object
-	    fi
-	  else
-	    # If the PIC object exists, use it instead.
-	    # $xdir was prepended to $pic_object above.
-	    non_pic_object=$pic_object
-	    func_append non_pic_objects " $non_pic_object"
-	  fi
-	else
-	  # Only an error if not doing a dry-run.
-	  if $opt_dry_run; then
-	    # Extract subdirectory from the argument.
-	    func_dirname "$arg" "/" ""
-	    xdir=$func_dirname_result
-
-	    func_lo2o "$arg"
-	    pic_object=$xdir$objdir/$func_lo2o_result
-	    non_pic_object=$xdir$func_lo2o_result
-	    func_append libobjs " $pic_object"
-	    func_append non_pic_objects " $non_pic_object"
-	  else
-	    func_fatal_error "'$arg' is not a valid libtool object"
-	  fi
-	fi
-	;;
-
-      *.$libext)
-	# An archive.
-	func_append deplibs " $arg"
-	func_append old_deplibs " $arg"
-	continue
-	;;
-
-      *.la)
-	# A libtool-controlled library.
-
-	func_resolve_sysroot "$arg"
-	if test dlfiles = "$prev"; then
-	  # This library was specified with -dlopen.
-	  func_append dlfiles " $func_resolve_sysroot_result"
-	  prev=
-	elif test dlprefiles = "$prev"; then
-	  # The library was specified with -dlpreopen.
-	  func_append dlprefiles " $func_resolve_sysroot_result"
-	  prev=
-	else
-	  func_append deplibs " $func_resolve_sysroot_result"
-	fi
-	continue
-	;;
-
-      # Some other compiler argument.
-      *)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	func_quote_for_eval "$arg"
-	arg=$func_quote_for_eval_result
-	;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-      fi
-    done # argument parsing loop
-
-    test -n "$prev" && \
-      func_fatal_help "the '$prevarg' option requires an argument"
-
-    if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      func_append compile_command " $arg"
-      func_append finalize_command " $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    func_basename "$output"
-    outputname=$func_basename_result
-    libobjs_save=$libobjs
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    # Definition is injected by LT_CONFIG during libtool generation.
-    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
-
-    func_dirname "$output" "/" ""
-    output_objdir=$func_dirname_result$objdir
-    func_to_tool_file "$output_objdir/"
-    tool_output_objdir=$func_to_tool_file_result
-    # Create the object directory.
-    func_mkdir_p "$output_objdir"
-
-    # Determine the type of output
-    case $output in
-    "")
-      func_fatal_help "you must specify an output file"
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    specialdeplibs=
-
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if $opt_preserve_dup_deps; then
-	case "$libs " in
-	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
-	esac
-      fi
-      func_append libs " $deplib"
-    done
-
-    if test lib = "$linkmode"; then
-      libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
-      # Compute libraries that are listed more than once in $predeps
-      # $postdeps and mark them as special (i.e., whose duplicates are
-      # not to be eliminated).
-      pre_post_deps=
-      if $opt_duplicate_compiler_generated_deps; then
-	for pre_post_dep in $predeps $postdeps; do
-	  case "$pre_post_deps " in
-	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
-	  esac
-	  func_append pre_post_deps " $pre_post_dep"
-	done
-      fi
-      pre_post_deps=
-    fi
-
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    notinst_path= # paths that contain not-installed libtool libraries
-
-    case $linkmode in
-    lib)
-	passes="conv dlpreopen link"
-	for file in $dlfiles $dlprefiles; do
-	  case $file in
-	  *.la) ;;
-	  *)
-	    func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
-	    ;;
-	  esac
-	done
-	;;
-    prog)
-	compile_deplibs=
-	finalize_deplibs=
-	alldeplibs=false
-	newdlfiles=
-	newdlprefiles=
-	passes="conv scan dlopen dlpreopen link"
-	;;
-    *)  passes="conv"
-	;;
-    esac
-
-    for pass in $passes; do
-      # The preopen pass in lib mode reverses $deplibs; put it back here
-      # so that -L comes before libs that need it for instance...
-      if test lib,link = "$linkmode,$pass"; then
-	## FIXME: Find the place where the list is rebuilt in the wrong
-	##        order, and fix it there properly
-        tmp_deplibs=
-	for deplib in $deplibs; do
-	  tmp_deplibs="$deplib $tmp_deplibs"
-	done
-	deplibs=$tmp_deplibs
-      fi
-
-      if test lib,link = "$linkmode,$pass" ||
-	 test prog,scan = "$linkmode,$pass"; then
-	libs=$deplibs
-	deplibs=
-      fi
-      if test prog = "$linkmode"; then
-	case $pass in
-	dlopen) libs=$dlfiles ;;
-	dlpreopen) libs=$dlprefiles ;;
-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
-	esac
-      fi
-      if test lib,dlpreopen = "$linkmode,$pass"; then
-	# Collect and forward deplibs of preopened libtool libs
-	for lib in $dlprefiles; do
-	  # Ignore non-libtool-libs
-	  dependency_libs=
-	  func_resolve_sysroot "$lib"
-	  case $lib in
-	  *.la)	func_source "$func_resolve_sysroot_result" ;;
-	  esac
-
-	  # Collect preopened libtool deplibs, except any this library
-	  # has declared as weak libs
-	  for deplib in $dependency_libs; do
-	    func_basename "$deplib"
-            deplib_base=$func_basename_result
-	    case " $weak_libs " in
-	    *" $deplib_base "*) ;;
-	    *) func_append deplibs " $deplib" ;;
-	    esac
-	  done
-	done
-	libs=$dlprefiles
-      fi
-      if test dlopen = "$pass"; then
-	# Collect dlpreopened libraries
-	save_deplibs=$deplibs
-	deplibs=
-      fi
-
-      for deplib in $libs; do
-	lib=
-	found=false
-	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
-        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-	  if test prog,link = "$linkmode,$pass"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    func_append compiler_flags " $deplib"
-	    if test lib = "$linkmode"; then
-		case "$new_inherited_linker_flags " in
-		    *" $deplib "*) ;;
-		    * ) func_append new_inherited_linker_flags " $deplib" ;;
-		esac
-	    fi
-	  fi
-	  continue
-	  ;;
-	-l*)
-	  if test lib != "$linkmode" && test prog != "$linkmode"; then
-	    func_warning "'-l' is ignored for archives/objects"
-	    continue
-	  fi
-	  func_stripname '-l' '' "$deplib"
-	  name=$func_stripname_result
-	  if test lib = "$linkmode"; then
-	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
-	  else
-	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
-	  fi
-	  for searchdir in $searchdirs; do
-	    for search_ext in .la $std_shrext .so .a; do
-	      # Search the libtool library
-	      lib=$searchdir/lib$name$search_ext
-	      if test -f "$lib"; then
-		if test .la = "$search_ext"; then
-		  found=:
-		else
-		  found=false
-		fi
-		break 2
-	      fi
-	    done
-	  done
-	  if $found; then
-	    # deplib is a libtool library
-	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-	    # We need to do some special things here, and not later.
-	    if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-	      case " $predeps $postdeps " in
-	      *" $deplib "*)
-		if func_lalib_p "$lib"; then
-		  library_names=
-		  old_library=
-		  func_source "$lib"
-		  for l in $old_library $library_names; do
-		    ll=$l
-		  done
-		  if test "X$ll" = "X$old_library"; then # only static version available
-		    found=false
-		    func_dirname "$lib" "" "."
-		    ladir=$func_dirname_result
-		    lib=$ladir/$old_library
-		    if test prog,link = "$linkmode,$pass"; then
-		      compile_deplibs="$deplib $compile_deplibs"
-		      finalize_deplibs="$deplib $finalize_deplibs"
-		    else
-		      deplibs="$deplib $deplibs"
-		      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
-		    fi
-		    continue
-		  fi
-		fi
-		;;
-	      *) ;;
-	      esac
-	    fi
-	  else
-	    # deplib doesn't seem to be a libtool library
-	    if test prog,link = "$linkmode,$pass"; then
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      deplibs="$deplib $deplibs"
-	      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    continue
-	  fi
-	  ;; # -l
-	*.ltframework)
-	  if test prog,link = "$linkmode,$pass"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    deplibs="$deplib $deplibs"
-	    if test lib = "$linkmode"; then
-		case "$new_inherited_linker_flags " in
-		    *" $deplib "*) ;;
-		    * ) func_append new_inherited_linker_flags " $deplib" ;;
-		esac
-	    fi
-	  fi
-	  continue
-	  ;;
-	-L*)
-	  case $linkmode in
-	  lib)
-	    deplibs="$deplib $deplibs"
-	    test conv = "$pass" && continue
-	    newdependency_libs="$deplib $newdependency_libs"
-	    func_stripname '-L' '' "$deplib"
-	    func_resolve_sysroot "$func_stripname_result"
-	    func_append newlib_search_path " $func_resolve_sysroot_result"
-	    ;;
-	  prog)
-	    if test conv = "$pass"; then
-	      deplibs="$deplib $deplibs"
-	      continue
-	    fi
-	    if test scan = "$pass"; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    func_stripname '-L' '' "$deplib"
-	    func_resolve_sysroot "$func_stripname_result"
-	    func_append newlib_search_path " $func_resolve_sysroot_result"
-	    ;;
-	  *)
-	    func_warning "'-L' is ignored for archives/objects"
-	    ;;
-	  esac # linkmode
-	  continue
-	  ;; # -L
-	-R*)
-	  if test link = "$pass"; then
-	    func_stripname '-R' '' "$deplib"
-	    func_resolve_sysroot "$func_stripname_result"
-	    dir=$func_resolve_sysroot_result
-	    # Make sure the xrpath contains only unique directories.
-	    case "$xrpath " in
-	    *" $dir "*) ;;
-	    *) func_append xrpath " $dir" ;;
-	    esac
-	  fi
-	  deplibs="$deplib $deplibs"
-	  continue
-	  ;;
-	*.la)
-	  func_resolve_sysroot "$deplib"
-	  lib=$func_resolve_sysroot_result
-	  ;;
-	*.$libext)
-	  if test conv = "$pass"; then
-	    deplibs="$deplib $deplibs"
-	    continue
-	  fi
-	  case $linkmode in
-	  lib)
-	    # Linking convenience modules into shared libraries is allowed,
-	    # but linking other static libraries is non-portable.
-	    case " $dlpreconveniencelibs " in
-	    *" $deplib "*) ;;
-	    *)
-	      valid_a_lib=false
-	      case $deplibs_check_method in
-		match_pattern*)
-		  set dummy $deplibs_check_method; shift
-		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
-		    | $EGREP "$match_pattern_regex" > /dev/null; then
-		    valid_a_lib=:
-		  fi
-		;;
-		pass_all)
-		  valid_a_lib=:
-		;;
-	      esac
-	      if $valid_a_lib; then
-		echo
-		$ECHO "*** Warning: Linking the shared library $output against the"
-		$ECHO "*** static library $deplib is not portable!"
-		deplibs="$deplib $deplibs"
-	      else
-		echo
-		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because the file extensions .$libext of this argument makes me believe"
-		echo "*** that it is just a static archive that I should not use here."
-	      fi
-	      ;;
-	    esac
-	    continue
-	    ;;
-	  prog)
-	    if test link != "$pass"; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    continue
-	    ;;
-	  esac # linkmode
-	  ;; # *.$libext
-	*.lo | *.$objext)
-	  if test conv = "$pass"; then
-	    deplibs="$deplib $deplibs"
-	  elif test prog = "$linkmode"; then
-	    if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
-	      # If there is no dlopen support or we're linking statically,
-	      # we need to preload.
-	      func_append newdlprefiles " $deplib"
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      func_append newdlfiles " $deplib"
-	    fi
-	  fi
-	  continue
-	  ;;
-	%DEPLIBS%)
-	  alldeplibs=:
-	  continue
-	  ;;
-	esac # case $deplib
-
-	$found || test -f "$lib" \
-	  || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$lib" \
-	  || func_fatal_error "'$lib' is not a valid libtool archive"
-
-	func_dirname "$lib" "" "."
-	ladir=$func_dirname_result
-
-	dlname=
-	dlopen=
-	dlpreopen=
-	libdir=
-	library_names=
-	old_library=
-	inherited_linker_flags=
-	# If the library was installed with an old release of libtool,
-	# it will not redefine variables installed, or shouldnotlink
-	installed=yes
-	shouldnotlink=no
-	avoidtemprpath=
-
-
-	# Read the .la file
-	func_source "$lib"
-
-	# Convert "-framework foo" to "foo.ltframework"
-	if test -n "$inherited_linker_flags"; then
-	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
-	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
-	    case " $new_inherited_linker_flags " in
-	      *" $tmp_inherited_linker_flag "*) ;;
-	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
-	    esac
-	  done
-	fi
-	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	if test lib,link = "$linkmode,$pass" ||
-	   test prog,scan = "$linkmode,$pass" ||
-	   { test prog != "$linkmode" && test lib != "$linkmode"; }; then
-	  test -n "$dlopen" && func_append dlfiles " $dlopen"
-	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
-	fi
-
-	if test conv = "$pass"; then
-	  # Only check for convenience libraries
-	  deplibs="$lib $deplibs"
-	  if test -z "$libdir"; then
-	    if test -z "$old_library"; then
-	      func_fatal_error "cannot find name of link library for '$lib'"
-	    fi
-	    # It is a libtool convenience library, so add in its objects.
-	    func_append convenience " $ladir/$objdir/$old_library"
-	    func_append old_convenience " $ladir/$objdir/$old_library"
-	  elif test prog != "$linkmode" && test lib != "$linkmode"; then
-	    func_fatal_error "'$lib' is not a convenience library"
-	  fi
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    deplibs="$deplib $deplibs"
-	    if $opt_preserve_dup_deps; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-	      esac
-	    fi
-	    func_append tmp_libs " $deplib"
-	  done
-	  continue
-	fi # $pass = conv
-
-
-	# Get the name of the library we link against.
-	linklib=
-	if test -n "$old_library" &&
-	   { test yes = "$prefer_static_libs" ||
-	     test built,no = "$prefer_static_libs,$installed"; }; then
-	  linklib=$old_library
-	else
-	  for l in $old_library $library_names; do
-	    linklib=$l
-	  done
-	fi
-	if test -z "$linklib"; then
-	  func_fatal_error "cannot find name of link library for '$lib'"
-	fi
-
-	# This library was specified with -dlopen.
-	if test dlopen = "$pass"; then
-	  test -z "$libdir" \
-	    && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
-	  if test -z "$dlname" ||
-	     test yes != "$dlopen_support" ||
-	     test no = "$build_libtool_libs"
-	  then
-	    # If there is no dlname, no dlopen support or we're linking
-	    # statically, we need to preload.  We also need to preload any
-	    # dependent libraries so libltdl's deplib preloader doesn't
-	    # bomb out in the load deplibs phase.
-	    func_append dlprefiles " $lib $dependency_libs"
-	  else
-	    func_append newdlfiles " $lib"
-	  fi
-	  continue
-	fi # $pass = dlopen
-
-	# We need an absolute path.
-	case $ladir in
-	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
-	*)
-	  abs_ladir=`cd "$ladir" && pwd`
-	  if test -z "$abs_ladir"; then
-	    func_warning "cannot determine absolute directory name of '$ladir'"
-	    func_warning "passing it literally to the linker, although it might fail"
-	    abs_ladir=$ladir
-	  fi
-	  ;;
-	esac
-	func_basename "$lib"
-	laname=$func_basename_result
-
-	# Find the relevant object directory and library name.
-	if test yes = "$installed"; then
-	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    func_warning "library '$lib' was moved."
-	    dir=$ladir
-	    absdir=$abs_ladir
-	    libdir=$abs_ladir
-	  else
-	    dir=$lt_sysroot$libdir
-	    absdir=$lt_sysroot$libdir
-	  fi
-	  test yes = "$hardcode_automatic" && avoidtemprpath=yes
-	else
-	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    dir=$ladir
-	    absdir=$abs_ladir
-	    # Remove this search path later
-	    func_append notinst_path " $abs_ladir"
-	  else
-	    dir=$ladir/$objdir
-	    absdir=$abs_ladir/$objdir
-	    # Remove this search path later
-	    func_append notinst_path " $abs_ladir"
-	  fi
-	fi # $installed = yes
-	func_stripname 'lib' '.la' "$laname"
-	name=$func_stripname_result
-
-	# This library was specified with -dlpreopen.
-	if test dlpreopen = "$pass"; then
-	  if test -z "$libdir" && test prog = "$linkmode"; then
-	    func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
-	  fi
-	  case $host in
-	    # special handling for platforms with PE-DLLs.
-	    *cygwin* | *mingw* | *cegcc* )
-	      # Linker will automatically link against shared library if both
-	      # static and shared are present.  Therefore, ensure we extract
-	      # symbols from the import library if a shared library is present
-	      # (otherwise, the dlopen module name will be incorrect).  We do
-	      # this by putting the import library name into $newdlprefiles.
-	      # We recover the dlopen module name by 'saving' the la file
-	      # name in a special purpose variable, and (later) extracting the
-	      # dlname from the la file.
-	      if test -n "$dlname"; then
-	        func_tr_sh "$dir/$linklib"
-	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
-	        func_append newdlprefiles " $dir/$linklib"
-	      else
-	        func_append newdlprefiles " $dir/$old_library"
-	        # Keep a list of preopened convenience libraries to check
-	        # that they are being used correctly in the link pass.
-	        test -z "$libdir" && \
-	          func_append dlpreconveniencelibs " $dir/$old_library"
-	      fi
-	    ;;
-	    * )
-	      # Prefer using a static library (so that no silly _DYNAMIC symbols
-	      # are required to link).
-	      if test -n "$old_library"; then
-	        func_append newdlprefiles " $dir/$old_library"
-	        # Keep a list of preopened convenience libraries to check
-	        # that they are being used correctly in the link pass.
-	        test -z "$libdir" && \
-	          func_append dlpreconveniencelibs " $dir/$old_library"
-	      # Otherwise, use the dlname, so that lt_dlopen finds it.
-	      elif test -n "$dlname"; then
-	        func_append newdlprefiles " $dir/$dlname"
-	      else
-	        func_append newdlprefiles " $dir/$linklib"
-	      fi
-	    ;;
-	  esac
-	fi # $pass = dlpreopen
-
-	if test -z "$libdir"; then
-	  # Link the convenience library
-	  if test lib = "$linkmode"; then
-	    deplibs="$dir/$old_library $deplibs"
-	  elif test prog,link = "$linkmode,$pass"; then
-	    compile_deplibs="$dir/$old_library $compile_deplibs"
-	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
-	  else
-	    deplibs="$lib $deplibs" # used for prog,scan pass
-	  fi
-	  continue
-	fi
-
-
-	if test prog = "$linkmode" && test link != "$pass"; then
-	  func_append newlib_search_path " $ladir"
-	  deplibs="$lib $deplibs"
-
-	  linkalldeplibs=false
-	  if test no != "$link_all_deplibs" || test -z "$library_names" ||
-	     test no = "$build_libtool_libs"; then
-	    linkalldeplibs=:
-	  fi
-
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    case $deplib in
-	    -L*) func_stripname '-L' '' "$deplib"
-	         func_resolve_sysroot "$func_stripname_result"
-	         func_append newlib_search_path " $func_resolve_sysroot_result"
-		 ;;
-	    esac
-	    # Need to link against all dependency_libs?
-	    if $linkalldeplibs; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      # Need to hardcode shared library paths
-	      # or/and link against static libraries
-	      newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    if $opt_preserve_dup_deps; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-	      esac
-	    fi
-	    func_append tmp_libs " $deplib"
-	  done # for deplib
-	  continue
-	fi # $linkmode = prog...
-
-	if test prog,link = "$linkmode,$pass"; then
-	  if test -n "$library_names" &&
-	     { { test no = "$prefer_static_libs" ||
-	         test built,yes = "$prefer_static_libs,$installed"; } ||
-	       test -z "$old_library"; }; then
-	    # We need to hardcode the library path
-	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
-	      # Make sure the rpath contains only unique directories.
-	      case $temp_rpath: in
-	      *"$absdir:"*) ;;
-	      *) func_append temp_rpath "$absdir:" ;;
-	      esac
-	    fi
-
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) func_append compile_rpath " $absdir" ;;
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) func_append finalize_rpath " $libdir" ;;
-	      esac
-	      ;;
-	    esac
-	  fi # $linkmode,$pass = prog,link...
-
-	  if $alldeplibs &&
-	     { test pass_all = "$deplibs_check_method" ||
-	       { test yes = "$build_libtool_libs" &&
-		 test -n "$library_names"; }; }; then
-	    # We only need to search for static libraries
-	    continue
-	  fi
-	fi
-
-	link_static=no # Whether the deplib will be linked statically
-	use_static_libs=$prefer_static_libs
-	if test built = "$use_static_libs" && test yes = "$installed"; then
-	  use_static_libs=no
-	fi
-	if test -n "$library_names" &&
-	   { test no = "$use_static_libs" || test -z "$old_library"; }; then
-	  case $host in
-	  *cygwin* | *mingw* | *cegcc* | *os2*)
-	      # No point in relinking DLLs because paths are not encoded
-	      func_append notinst_deplibs " $lib"
-	      need_relink=no
-	    ;;
-	  *)
-	    if test no = "$installed"; then
-	      func_append notinst_deplibs " $lib"
-	      need_relink=yes
-	    fi
-	    ;;
-	  esac
-	  # This is a shared library
-
-	  # Warn about portability, can't link against -module's on some
-	  # systems (darwin).  Don't bleat about dlopened modules though!
-	  dlopenmodule=
-	  for dlpremoduletest in $dlprefiles; do
-	    if test "X$dlpremoduletest" = "X$lib"; then
-	      dlopenmodule=$dlpremoduletest
-	      break
-	    fi
-	  done
-	  if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
-	    echo
-	    if test prog = "$linkmode"; then
-	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
-	    else
-	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
-	    fi
-	    $ECHO "*** $linklib is not portable!"
-	  fi
-	  if test lib = "$linkmode" &&
-	     test yes = "$hardcode_into_libs"; then
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) func_append compile_rpath " $absdir" ;;
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) func_append finalize_rpath " $libdir" ;;
-	      esac
-	      ;;
-	    esac
-	  fi
-
-	  if test -n "$old_archive_from_expsyms_cmds"; then
-	    # figure out the soname
-	    set dummy $library_names
-	    shift
-	    realname=$1
-	    shift
-	    libname=`eval "\\$ECHO \"$libname_spec\""`
-	    # use dlname if we got it. it's perfectly good, no?
-	    if test -n "$dlname"; then
-	      soname=$dlname
-	    elif test -n "$soname_spec"; then
-	      # bleh windows
-	      case $host in
-	      *cygwin* | mingw* | *cegcc* | *os2*)
-	        func_arith $current - $age
-		major=$func_arith_result
-		versuffix=-$major
-		;;
-	      esac
-	      eval soname=\"$soname_spec\"
-	    else
-	      soname=$realname
-	    fi
-
-	    # Make a new name for the extract_expsyms_cmds to use
-	    soroot=$soname
-	    func_basename "$soroot"
-	    soname=$func_basename_result
-	    func_stripname 'lib' '.dll' "$soname"
-	    newlib=libimp-$func_stripname_result.a
-
-	    # If the library has no export list, then create one now
-	    if test -f "$output_objdir/$soname-def"; then :
-	    else
-	      func_verbose "extracting exported symbol list from '$soname'"
-	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
-	    fi
-
-	    # Create $newlib
-	    if test -f "$output_objdir/$newlib"; then :; else
-	      func_verbose "generating import library for '$soname'"
-	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
-	    fi
-	    # make sure the library variables are pointing to the new library
-	    dir=$output_objdir
-	    linklib=$newlib
-	  fi # test -n "$old_archive_from_expsyms_cmds"
-
-	  if test prog = "$linkmode" || test relink != "$opt_mode"; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    lib_linked=yes
-	    case $hardcode_action in
-	    immediate | unsupported)
-	      if test no = "$hardcode_direct"; then
-		add=$dir/$linklib
-		case $host in
-		  *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
-		  *-*-sysv4*uw2*) add_dir=-L$dir ;;
-		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-		    *-*-unixware7*) add_dir=-L$dir ;;
-		  *-*-darwin* )
-		    # if the lib is a (non-dlopened) module then we cannot
-		    # link against it, someone is ignoring the earlier warnings
-		    if /usr/bin/file -L $add 2> /dev/null |
-			 $GREP ": [^:]* bundle" >/dev/null; then
-		      if test "X$dlopenmodule" != "X$lib"; then
-			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
-			if test -z "$old_library"; then
-			  echo
-			  echo "*** And there doesn't seem to be a static archive available"
-			  echo "*** The link will probably fail, sorry"
-			else
-			  add=$dir/$old_library
-			fi
-		      elif test -n "$old_library"; then
-			add=$dir/$old_library
-		      fi
-		    fi
-		esac
-	      elif test no = "$hardcode_minus_L"; then
-		case $host in
-		*-*-sunos*) add_shlibpath=$dir ;;
-		esac
-		add_dir=-L$dir
-		add=-l$name
-	      elif test no = "$hardcode_shlibpath_var"; then
-		add_shlibpath=$dir
-		add=-l$name
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    relink)
-	      if test yes = "$hardcode_direct" &&
-	         test no = "$hardcode_direct_absolute"; then
-		add=$dir/$linklib
-	      elif test yes = "$hardcode_minus_L"; then
-		add_dir=-L$absdir
-		# Try looking first in the location we're being installed to.
-		if test -n "$inst_prefix_dir"; then
-		  case $libdir in
-		    [\\/]*)
-		      func_append add_dir " -L$inst_prefix_dir$libdir"
-		      ;;
-		  esac
-		fi
-		add=-l$name
-	      elif test yes = "$hardcode_shlibpath_var"; then
-		add_shlibpath=$dir
-		add=-l$name
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    *) lib_linked=no ;;
-	    esac
-
-	    if test yes != "$lib_linked"; then
-	      func_fatal_configuration "unsupported hardcode properties"
-	    fi
-
-	    if test -n "$add_shlibpath"; then
-	      case :$compile_shlibpath: in
-	      *":$add_shlibpath:"*) ;;
-	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
-	      esac
-	    fi
-	    if test prog = "$linkmode"; then
-	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	      if test yes != "$hardcode_direct" &&
-		 test yes != "$hardcode_minus_L" &&
-		 test yes = "$hardcode_shlibpath_var"; then
-		case :$finalize_shlibpath: in
-		*":$libdir:"*) ;;
-		*) func_append finalize_shlibpath "$libdir:" ;;
-		esac
-	      fi
-	    fi
-	  fi
-
-	  if test prog = "$linkmode" || test relink = "$opt_mode"; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    # Finalize command for both is simple: just hardcode it.
-	    if test yes = "$hardcode_direct" &&
-	       test no = "$hardcode_direct_absolute"; then
-	      add=$libdir/$linklib
-	    elif test yes = "$hardcode_minus_L"; then
-	      add_dir=-L$libdir
-	      add=-l$name
-	    elif test yes = "$hardcode_shlibpath_var"; then
-	      case :$finalize_shlibpath: in
-	      *":$libdir:"*) ;;
-	      *) func_append finalize_shlibpath "$libdir:" ;;
-	      esac
-	      add=-l$name
-	    elif test yes = "$hardcode_automatic"; then
-	      if test -n "$inst_prefix_dir" &&
-		 test -f "$inst_prefix_dir$libdir/$linklib"; then
-		add=$inst_prefix_dir$libdir/$linklib
-	      else
-		add=$libdir/$linklib
-	      fi
-	    else
-	      # We cannot seem to hardcode it, guess we'll fake it.
-	      add_dir=-L$libdir
-	      # Try looking first in the location we're being installed to.
-	      if test -n "$inst_prefix_dir"; then
-		case $libdir in
-		  [\\/]*)
-		    func_append add_dir " -L$inst_prefix_dir$libdir"
-		    ;;
-		esac
-	      fi
-	      add=-l$name
-	    fi
-
-	    if test prog = "$linkmode"; then
-	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	    fi
-	  fi
-	elif test prog = "$linkmode"; then
-	  # Here we assume that one of hardcode_direct or hardcode_minus_L
-	  # is not unsupported.  This is valid on all known static and
-	  # shared platforms.
-	  if test unsupported != "$hardcode_direct"; then
-	    test -n "$old_library" && linklib=$old_library
-	    compile_deplibs="$dir/$linklib $compile_deplibs"
-	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
-	  else
-	    compile_deplibs="-l$name -L$dir $compile_deplibs"
-	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-	  fi
-	elif test yes = "$build_libtool_libs"; then
-	  # Not a shared library
-	  if test pass_all != "$deplibs_check_method"; then
-	    # We're trying link a shared library against a static one
-	    # but the system doesn't support it.
-
-	    # Just print a warning and add the library to dependency_libs so
-	    # that the program can be linked against the static library.
-	    echo
-	    $ECHO "*** Warning: This system cannot link to static lib archive $lib."
-	    echo "*** I have the capability to make that library automatically link in when"
-	    echo "*** you link to this library.  But I can only do this if you have a"
-	    echo "*** shared version of the library, which you do not appear to have."
-	    if test yes = "$module"; then
-	      echo "*** But as you try to build a module library, libtool will still create "
-	      echo "*** a static module, that should work as long as the dlopening application"
-	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
-	      if test -z "$global_symbol_pipe"; then
-		echo
-		echo "*** However, this would only work if libtool was able to extract symbol"
-		echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
-		echo "*** not find such a program.  So, this module is probably useless."
-		echo "*** 'nm' from GNU binutils and a full rebuild may help."
-	      fi
-	      if test no = "$build_old_libs"; then
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  else
-	    deplibs="$dir/$old_library $deplibs"
-	    link_static=yes
-	  fi
-	fi # link shared/static library?
-
-	if test lib = "$linkmode"; then
-	  if test -n "$dependency_libs" &&
-	     { test yes != "$hardcode_into_libs" ||
-	       test yes = "$build_old_libs" ||
-	       test yes = "$link_static"; }; then
-	    # Extract -R from dependency_libs
-	    temp_deplibs=
-	    for libdir in $dependency_libs; do
-	      case $libdir in
-	      -R*) func_stripname '-R' '' "$libdir"
-	           temp_xrpath=$func_stripname_result
-		   case " $xrpath " in
-		   *" $temp_xrpath "*) ;;
-		   *) func_append xrpath " $temp_xrpath";;
-		   esac;;
-	      *) func_append temp_deplibs " $libdir";;
-	      esac
-	    done
-	    dependency_libs=$temp_deplibs
-	  fi
-
-	  func_append newlib_search_path " $absdir"
-	  # Link against this library
-	  test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-	  # ... and its dependency_libs
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    newdependency_libs="$deplib $newdependency_libs"
-	    case $deplib in
-              -L*) func_stripname '-L' '' "$deplib"
-                   func_resolve_sysroot "$func_stripname_result";;
-              *) func_resolve_sysroot "$deplib" ;;
-            esac
-	    if $opt_preserve_dup_deps; then
-	      case "$tmp_libs " in
-	      *" $func_resolve_sysroot_result "*)
-                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
-	      esac
-	    fi
-	    func_append tmp_libs " $func_resolve_sysroot_result"
-	  done
-
-	  if test no != "$link_all_deplibs"; then
-	    # Add the search paths of all dependency libraries
-	    for deplib in $dependency_libs; do
-	      path=
-	      case $deplib in
-	      -L*) path=$deplib ;;
-	      *.la)
-	        func_resolve_sysroot "$deplib"
-	        deplib=$func_resolve_sysroot_result
-	        func_dirname "$deplib" "" "."
-		dir=$func_dirname_result
-		# We need an absolute path.
-		case $dir in
-		[\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
-		*)
-		  absdir=`cd "$dir" && pwd`
-		  if test -z "$absdir"; then
-		    func_warning "cannot determine absolute directory name of '$dir'"
-		    absdir=$dir
-		  fi
-		  ;;
-		esac
-		if $GREP "^installed=no" $deplib > /dev/null; then
-		case $host in
-		*-*-darwin*)
-		  depdepl=
-		  eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-		  if test -n "$deplibrary_names"; then
-		    for tmp in $deplibrary_names; do
-		      depdepl=$tmp
-		    done
-		    if test -f "$absdir/$objdir/$depdepl"; then
-		      depdepl=$absdir/$objdir/$depdepl
-		      darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
-                      if test -z "$darwin_install_name"; then
-                          darwin_install_name=`$OTOOL64 -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
-                      fi
-		      func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
-		      func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
-		      path=
-		    fi
-		  fi
-		  ;;
-		*)
-		  path=-L$absdir/$objdir
-		  ;;
-		esac
-		else
-		  eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		  test -z "$libdir" && \
-		    func_fatal_error "'$deplib' is not a valid libtool archive"
-		  test "$absdir" != "$libdir" && \
-		    func_warning "'$deplib' seems to be moved"
-
-		  path=-L$absdir
-		fi
-		;;
-	      esac
-	      case " $deplibs " in
-	      *" $path "*) ;;
-	      *) deplibs="$path $deplibs" ;;
-	      esac
-	    done
-	  fi # link_all_deplibs != no
-	fi # linkmode = lib
-      done # for deplib in $libs
-      if test link = "$pass"; then
-	if test prog = "$linkmode"; then
-	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
-	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
-	else
-	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	fi
-      fi
-      dependency_libs=$newdependency_libs
-      if test dlpreopen = "$pass"; then
-	# Link the dlpreopened libraries before other libraries
-	for deplib in $save_deplibs; do
-	  deplibs="$deplib $deplibs"
-	done
-      fi
-      if test dlopen != "$pass"; then
-	test conv = "$pass" || {
-	  # Make sure lib_search_path contains only unique directories.
-	  lib_search_path=
-	  for dir in $newlib_search_path; do
-	    case "$lib_search_path " in
-	    *" $dir "*) ;;
-	    *) func_append lib_search_path " $dir" ;;
-	    esac
-	  done
-	  newlib_search_path=
-	}
-
-	if test prog,link = "$linkmode,$pass"; then
-	  vars="compile_deplibs finalize_deplibs"
-	else
-	  vars=deplibs
-	fi
-	for var in $vars dependency_libs; do
-	  # Add libraries to $var in reverse order
-	  eval tmp_libs=\"\$$var\"
-	  new_libs=
-	  for deplib in $tmp_libs; do
-	    # FIXME: Pedantically, this is the right thing to do, so
-	    #        that some nasty dependency loop isn't accidentally
-	    #        broken:
-	    #new_libs="$deplib $new_libs"
-	    # Pragmatically, this seems to cause very few problems in
-	    # practice:
-	    case $deplib in
-	    -L*) new_libs="$deplib $new_libs" ;;
-	    -R*) ;;
-	    *)
-	      # And here is the reason: when a library appears more
-	      # than once as an explicit dependence of a library, or
-	      # is implicitly linked in more than once by the
-	      # compiler, it is considered special, and multiple
-	      # occurrences thereof are not removed.  Compare this
-	      # with having the same library being listed as a
-	      # dependency of multiple other libraries: in this case,
-	      # we know (pedantically, we assume) the library does not
-	      # need to be listed more than once, so we keep only the
-	      # last copy.  This is not always right, but it is rare
-	      # enough that we require users that really mean to play
-	      # such unportable linking tricks to link the library
-	      # using -Wl,-lname, so that libtool does not consider it
-	      # for duplicate removal.
-	      case " $specialdeplibs " in
-	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
-	      *)
-		case " $new_libs " in
-		*" $deplib "*) ;;
-		*) new_libs="$deplib $new_libs" ;;
-		esac
-		;;
-	      esac
-	      ;;
-	    esac
-	  done
-	  tmp_libs=
-	  for deplib in $new_libs; do
-	    case $deplib in
-	    -L*)
-	      case " $tmp_libs " in
-	      *" $deplib "*) ;;
-	      *) func_append tmp_libs " $deplib" ;;
-	      esac
-	      ;;
-	    *) func_append tmp_libs " $deplib" ;;
-	    esac
-	  done
-	  eval $var=\"$tmp_libs\"
-	done # for var
-      fi
-
-      # Add Sun CC postdeps if required:
-      test CXX = "$tagname" && {
-        case $host_os in
-        linux*)
-          case `$CC -V 2>&1 | sed 5q` in
-          *Sun\ C*) # Sun C++ 5.9
-            func_suncc_cstd_abi
-
-            if test no != "$suncc_use_cstd_abi"; then
-              func_append postdeps ' -library=Cstd -library=Crun'
-            fi
-            ;;
-          esac
-          ;;
-
-        solaris*)
-          func_cc_basename "$CC"
-          case $func_cc_basename_result in
-          CC* | sunCC*)
-            func_suncc_cstd_abi
-
-            if test no != "$suncc_use_cstd_abi"; then
-              func_append postdeps ' -library=Cstd -library=Crun'
-            fi
-            ;;
-          esac
-          ;;
-        esac
-      }
-
-      # Last step: remove runtime libs from dependency_libs
-      # (they stay in deplibs)
-      tmp_libs=
-      for i in $dependency_libs; do
-	case " $predeps $postdeps $compiler_lib_search_path " in
-	*" $i "*)
-	  i=
-	  ;;
-	esac
-	if test -n "$i"; then
-	  func_append tmp_libs " $i"
-	fi
-      done
-      dependency_libs=$tmp_libs
-    done # for pass
-    if test prog = "$linkmode"; then
-      dlfiles=$newdlfiles
-    fi
-    if test prog = "$linkmode" || test lib = "$linkmode"; then
-      dlprefiles=$newdlprefiles
-    fi
-
-    case $linkmode in
-    oldlib)
-      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
-	func_warning "'-dlopen' is ignored for archives"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	func_warning "'-l' and '-L' are ignored for archives" ;;
-      esac
-
-      test -n "$rpath" && \
-	func_warning "'-rpath' is ignored for archives"
-
-      test -n "$xrpath" && \
-	func_warning "'-R' is ignored for archives"
-
-      test -n "$vinfo" && \
-	func_warning "'-version-info/-version-number' is ignored for archives"
-
-      test -n "$release" && \
-	func_warning "'-release' is ignored for archives"
-
-      test -n "$export_symbols$export_symbols_regex" && \
-	func_warning "'-export-symbols' is ignored for archives"
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs=$output
-      func_append objs "$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form 'libNAME.la'.
-      case $outputname in
-      lib*)
-	func_stripname 'lib' '.la' "$outputname"
-	name=$func_stripname_result
-	eval shared_ext=\"$shrext_cmds\"
-	eval libname=\"$libname_spec\"
-	;;
-      *)
-	test no = "$module" \
-	  && func_fatal_help "libtool library '$output' must begin with 'lib'"
-
-	if test no != "$need_lib_prefix"; then
-	  # Add the "lib" prefix for modules if required
-	  func_stripname '' '.la' "$outputname"
-	  name=$func_stripname_result
-	  eval shared_ext=\"$shrext_cmds\"
-	  eval libname=\"$libname_spec\"
-	else
-	  func_stripname '' '.la' "$outputname"
-	  libname=$func_stripname_result
-	fi
-	;;
-      esac
-
-      if test -n "$objs"; then
-	if test pass_all != "$deplibs_check_method"; then
-	  func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
-	else
-	  echo
-	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
-	  $ECHO "*** objects $objs is not portable!"
-	  func_append libobjs " $objs"
-	fi
-      fi
-
-      test no = "$dlself" \
-	|| func_warning "'-dlopen self' is ignored for libtool libraries"
-
-      set dummy $rpath
-      shift
-      test 1 -lt "$#" \
-	&& func_warning "ignoring multiple '-rpath's for a libtool library"
-
-      install_libdir=$1
-
-      oldlibs=
-      if test -z "$rpath"; then
-	if test yes = "$build_libtool_libs"; then
-	  # Building a libtool convenience library.
-	  # Some compilers have problems with a '.al' extension so
-	  # convenience libraries should have the same extension an
-	  # archive normally would.
-	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
-	  build_libtool_libs=convenience
-	  build_old_libs=yes
-	fi
-
-	test -n "$vinfo" && \
-	  func_warning "'-version-info/-version-number' is ignored for convenience libraries"
-
-	test -n "$release" && \
-	  func_warning "'-release' is ignored for convenience libraries"
-      else
-
-	# Parse the version information argument.
-	save_ifs=$IFS; IFS=:
-	set dummy $vinfo 0 0 0
-	shift
-	IFS=$save_ifs
-
-	test -n "$7" && \
-	  func_fatal_help "too many parameters to '-version-info'"
-
-	# convert absolute version numbers to libtool ages
-	# this retains compatibility with .la files and attempts
-	# to make the code below a bit more comprehensible
-
-	case $vinfo_number in
-	yes)
-	  number_major=$1
-	  number_minor=$2
-	  number_revision=$3
-	  #
-	  # There are really only two kinds -- those that
-	  # use the current revision as the major version
-	  # and those that subtract age and use age as
-	  # a minor version.  But, then there is irix
-	  # that has an extra 1 added just for fun
-	  #
-	  case $version_type in
-	  # correct linux to gnu/linux during the next big refactor
-	  darwin|freebsd-elf|linux|osf|windows|none)
-	    func_arith $number_major + $number_minor
-	    current=$func_arith_result
-	    age=$number_minor
-	    revision=$number_revision
-	    ;;
-	  freebsd-aout|qnx|sunos)
-	    current=$number_major
-	    revision=$number_minor
-	    age=0
-	    ;;
-	  irix|nonstopux)
-	    func_arith $number_major + $number_minor
-	    current=$func_arith_result
-	    age=$number_minor
-	    revision=$number_minor
-	    lt_irix_increment=no
-	    ;;
-	  esac
-	  ;;
-	no)
-	  current=$1
-	  revision=$2
-	  age=$3
-	  ;;
-	esac
-
-	# Check that each of the things are valid numbers.
-	case $current in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "CURRENT '$current' must be a nonnegative integer"
-	  func_fatal_error "'$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	case $revision in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "REVISION '$revision' must be a nonnegative integer"
-	  func_fatal_error "'$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	case $age in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "AGE '$age' must be a nonnegative integer"
-	  func_fatal_error "'$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	if test "$age" -gt "$current"; then
-	  func_error "AGE '$age' is greater than the current interface number '$current'"
-	  func_fatal_error "'$vinfo' is not valid version information"
-	fi
-
-	# Calculate the version variables.
-	major=
-	versuffix=
-	verstring=
-	case $version_type in
-	none) ;;
-
-	darwin)
-	  # Like Linux, but with the current version available in
-	  # verstring for coding it into the library header
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=$major.$age.$revision
-	  # Darwin ld doesn't like 0 for these options...
-	  func_arith $current + 1
-	  minor_current=$func_arith_result
-	  xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
-	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-          # On Darwin other compilers
-          case $CC in
-              nagfor*)
-                  verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
-                  ;;
-              *)
-                  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-                  ;;
-          esac
-	  ;;
-
-	freebsd-aout)
-	  major=.$current
-	  versuffix=.$current.$revision
-	  ;;
-
-	freebsd-elf)
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=$major.$age.$revision
-	  ;;
-
-	irix | nonstopux)
-	  if test no = "$lt_irix_increment"; then
-	    func_arith $current - $age
-	  else
-	    func_arith $current - $age + 1
-	  fi
-	  major=$func_arith_result
-
-	  case $version_type in
-	    nonstopux) verstring_prefix=nonstopux ;;
-	    *)         verstring_prefix=sgi ;;
-	  esac
-	  verstring=$verstring_prefix$major.$revision
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$revision
-	  while test 0 -ne "$loop"; do
-	    func_arith $revision - $loop
-	    iface=$func_arith_result
-	    func_arith $loop - 1
-	    loop=$func_arith_result
-	    verstring=$verstring_prefix$major.$iface:$verstring
-	  done
-
-	  # Before this point, $major must not contain '.'.
-	  major=.$major
-	  versuffix=$major.$revision
-	  ;;
-
-	linux) # correct to gnu/linux during the next big refactor
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=$major.$age.$revision
-	  ;;
-
-	osf)
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=.$current.$age.$revision
-	  verstring=$current.$age.$revision
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$age
-	  while test 0 -ne "$loop"; do
-	    func_arith $current - $loop
-	    iface=$func_arith_result
-	    func_arith $loop - 1
-	    loop=$func_arith_result
-	    verstring=$verstring:$iface.0
-	  done
-
-	  # Make executables depend on our current version.
-	  func_append verstring ":$current.0"
-	  ;;
-
-	qnx)
-	  major=.$current
-	  versuffix=.$current
-	  ;;
-
-	sco)
-	  major=.$current
-	  versuffix=.$current
-	  ;;
-
-	sunos)
-	  major=.$current
-	  versuffix=.$current.$revision
-	  ;;
-
-	windows)
-	  # Use '-' rather than '.', since we only want one
-	  # extension on DOS 8.3 file systems.
-	  func_arith $current - $age
-	  major=$func_arith_result
-	  versuffix=-$major
-	  ;;
-
-	*)
-	  func_fatal_configuration "unknown library version type '$version_type'"
-	  ;;
-	esac
-
-	# Clear the version info if we defaulted, and they specified a release.
-	if test -z "$vinfo" && test -n "$release"; then
-	  major=
-	  case $version_type in
-	  darwin)
-	    # we can't check for "0.0" in archive_cmds due to quoting
-	    # problems, so we reset it completely
-	    verstring=
-	    ;;
-	  *)
-	    verstring=0.0
-	    ;;
-	  esac
-	  if test no = "$need_version"; then
-	    versuffix=
-	  else
-	    versuffix=.0.0
-	  fi
-	fi
-
-	# Remove version info from name if versioning should be avoided
-	if test yes,no = "$avoid_version,$need_version"; then
-	  major=
-	  versuffix=
-	  verstring=
-	fi
-
-	# Check to see if the archive will have undefined symbols.
-	if test yes = "$allow_undefined"; then
-	  if test unsupported = "$allow_undefined_flag"; then
-	    if test yes = "$build_old_libs"; then
-	      func_warning "undefined symbols not allowed in $host shared libraries; building static only"
-	      build_libtool_libs=no
-	    else
-	      func_fatal_error "can't build $host shared library unless -no-undefined is specified"
-	    fi
-	  fi
-	else
-	  # Don't allow undefined symbols.
-	  allow_undefined_flag=$no_undefined_flag
-	fi
-
-      fi
-
-      func_generate_dlsyms "$libname" "$libname" :
-      func_append libobjs " $symfileobj"
-      test " " = "$libobjs" && libobjs=
-
-      if test relink != "$opt_mode"; then
-	# Remove our outputs, but don't remove object files since they
-	# may have been created when compiling PIC objects.
-	removelist=
-	tempremovelist=`$ECHO "$output_objdir/*"`
-	for p in $tempremovelist; do
-	  case $p in
-	    *.$objext | *.gcno)
-	       ;;
-	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
-	       if test -n "$precious_files_regex"; then
-		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-		 then
-		   continue
-		 fi
-	       fi
-	       func_append removelist " $p"
-	       ;;
-	    *) ;;
-	  esac
-	done
-	test -n "$removelist" && \
-	  func_show_eval "${RM}r \$removelist"
-      fi
-
-      # Now set the variables for building old libraries.
-      if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
-	func_append oldlibs " $output_objdir/$libname.$libext"
-
-	# Transform .lo files to .o files.
-	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      #for path in $notinst_path; do
-      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
-      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
-      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
-      #done
-
-      if test -n "$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	temp_xrpath=
-	for libdir in $xrpath; do
-	  func_replace_sysroot "$libdir"
-	  func_append temp_xrpath " -R$func_replace_sysroot_result"
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) func_append finalize_rpath " $libdir" ;;
-	  esac
-	done
-	if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
-	  dependency_libs="$temp_xrpath $dependency_libs"
-	fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles=$dlfiles
-      dlfiles=
-      for lib in $old_dlfiles; do
-	case " $dlprefiles $dlfiles " in
-	*" $lib "*) ;;
-	*) func_append dlfiles " $lib" ;;
-	esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles=$dlprefiles
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-	case "$dlprefiles " in
-	*" $lib "*) ;;
-	*) func_append dlprefiles " $lib" ;;
-	esac
-      done
-
-      if test yes = "$build_libtool_libs"; then
-	if test -n "$rpath"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
-	    # these systems don't actually have a c library (as such)!
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C library is in the System framework
-	    func_append deplibs " System.ltframework"
-	    ;;
-	  *-*-netbsd*)
-	    # Don't link with libc until the a.out ld.so is fixed.
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    ;;
-	  *)
-	    # Add libc to deplibs on all other systems if necessary.
-	    if test yes = "$build_libtool_need_lc"; then
-	      func_append deplibs " -lc"
-	    fi
-	    ;;
-	  esac
-	fi
-
-	# Transform deplibs into only deplibs that can be linked in shared.
-	name_save=$name
-	libname_save=$libname
-	release_save=$release
-	versuffix_save=$versuffix
-	major_save=$major
-	# I'm not sure if I'm treating the release correctly.  I think
-	# release should show up in the -l (ie -lgmp5) so we don't want to
-	# add it in twice.  Is that correct?
-	release=
-	versuffix=
-	major=
-	newdeplibs=
-	droppeddeps=no
-	case $deplibs_check_method in
-	pass_all)
-	  # Don't check for shared/static.  Everything works.
-	  # This might be a little naive.  We might want to check
-	  # whether the library exists or not.  But this is on
-	  # osf3 & osf4 and I'm not really sure... Just
-	  # implementing what was already the behavior.
-	  newdeplibs=$deplibs
-	  ;;
-	test_compile)
-	  # This code stresses the "libraries are programs" paradigm to its
-	  # limits. Maybe even breaks it.  We compile a program, linking it
-	  # against the deplibs as a proxy for the library.  Then we can check
-	  # whether they linked in statically or dynamically with ldd.
-	  $opt_dry_run || $RM conftest.c
-	  cat > conftest.c <<EOF
-	  int main() { return 0; }
-EOF
-	  $opt_dry_run || $RM conftest
-	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
-	    ldd_output=`ldd conftest`
-	    for i in $deplibs; do
-	      case $i in
-	      -l*)
-		func_stripname -l '' "$i"
-		name=$func_stripname_result
-		if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-		  case " $predeps $postdeps " in
-		  *" $i "*)
-		    func_append newdeplibs " $i"
-		    i=
-		    ;;
-		  esac
-		fi
-		if test -n "$i"; then
-		  libname=`eval "\\$ECHO \"$libname_spec\""`
-		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-		  set dummy $deplib_matches; shift
-		  deplib_match=$1
-		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
-		    func_append newdeplibs " $i"
-		  else
-		    droppeddeps=yes
-		    echo
-		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		    echo "*** I have the capability to make that library automatically link in when"
-		    echo "*** you link to this library.  But I can only do this if you have a"
-		    echo "*** shared version of the library, which I believe you do not have"
-		    echo "*** because a test_compile did reveal that the linker did not use it for"
-		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
-		  fi
-		fi
-		;;
-	      *)
-		func_append newdeplibs " $i"
-		;;
-	      esac
-	    done
-	  else
-	    # Error occurred in the first compile.  Let's try to salvage
-	    # the situation: Compile a separate program for each library.
-	    for i in $deplibs; do
-	      case $i in
-	      -l*)
-		func_stripname -l '' "$i"
-		name=$func_stripname_result
-		$opt_dry_run || $RM conftest
-		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
-		  ldd_output=`ldd conftest`
-		  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-		    case " $predeps $postdeps " in
-		    *" $i "*)
-		      func_append newdeplibs " $i"
-		      i=
-		      ;;
-		    esac
-		  fi
-		  if test -n "$i"; then
-		    libname=`eval "\\$ECHO \"$libname_spec\""`
-		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-		    set dummy $deplib_matches; shift
-		    deplib_match=$1
-		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
-		      func_append newdeplibs " $i"
-		    else
-		      droppeddeps=yes
-		      echo
-		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		      echo "*** I have the capability to make that library automatically link in when"
-		      echo "*** you link to this library.  But I can only do this if you have a"
-		      echo "*** shared version of the library, which you do not appear to have"
-		      echo "*** because a test_compile did reveal that the linker did not use this one"
-		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
-		    fi
-		  fi
-		else
-		  droppeddeps=yes
-		  echo
-		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
-		  echo "*** make it link in!  You will probably need to install it or some"
-		  echo "*** library that it depends on before this library will be fully"
-		  echo "*** functional.  Installing it before continuing would be even better."
-		fi
-		;;
-	      *)
-		func_append newdeplibs " $i"
-		;;
-	      esac
-	    done
-	  fi
-	  ;;
-	file_magic*)
-	  set dummy $deplibs_check_method; shift
-	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    case $a_deplib in
-	    -l*)
-	      func_stripname -l '' "$a_deplib"
-	      name=$func_stripname_result
-	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  func_append newdeplibs " $a_deplib"
-		  a_deplib=
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib"; then
-		libname=`eval "\\$ECHO \"$libname_spec\""`
-		if test -n "$file_magic_glob"; then
-		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
-		else
-		  libnameglob=$libname
-		fi
-		test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  if test yes = "$want_nocaseglob"; then
-		    shopt -s nocaseglob
-		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-		    $nocaseglob
-		  else
-		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-		  fi
-		  for potent_lib in $potential_libs; do
-		      # Follow soft links.
-		      if ls -lLd "$potent_lib" 2>/dev/null |
-			 $GREP " -> " >/dev/null; then
-			continue
-		      fi
-		      # The statement above tries to avoid entering an
-		      # endless loop below, in case of cyclic links.
-		      # We might still enter an endless loop, since a link
-		      # loop can be closed while we follow links,
-		      # but so what?
-		      potlib=$potent_lib
-		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
-			case $potliblink in
-			[\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
-			*) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
-			esac
-		      done
-		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
-			 $SED -e 10q |
-			 $EGREP "$file_magic_regex" > /dev/null; then
-			func_append newdeplibs " $a_deplib"
-			a_deplib=
-			break 2
-		      fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib"; then
-		droppeddeps=yes
-		echo
-		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib"; then
-		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
-		else
-		  $ECHO "*** with $libname and none of the candidates passed a file format test"
-		  $ECHO "*** using a file magic. Last file checked: $potlib"
-		fi
-	      fi
-	      ;;
-	    *)
-	      # Add a -L argument.
-	      func_append newdeplibs " $a_deplib"
-	      ;;
-	    esac
-	  done # Gone through all deplibs.
-	  ;;
-	match_pattern*)
-	  set dummy $deplibs_check_method; shift
-	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    case $a_deplib in
-	    -l*)
-	      func_stripname -l '' "$a_deplib"
-	      name=$func_stripname_result
-	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  func_append newdeplibs " $a_deplib"
-		  a_deplib=
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib"; then
-		libname=`eval "\\$ECHO \"$libname_spec\""`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		    potlib=$potent_lib # see symlink-check above in file_magic test
-		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
-		       $EGREP "$match_pattern_regex" > /dev/null; then
-		      func_append newdeplibs " $a_deplib"
-		      a_deplib=
-		      break 2
-		    fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib"; then
-		droppeddeps=yes
-		echo
-		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib"; then
-		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
-		else
-		  $ECHO "*** with $libname and none of the candidates passed a file format test"
-		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
-		fi
-	      fi
-	      ;;
-	    *)
-	      # Add a -L argument.
-	      func_append newdeplibs " $a_deplib"
-	      ;;
-	    esac
-	  done # Gone through all deplibs.
-	  ;;
-	none | unknown | *)
-	  newdeplibs=
-	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
-	  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-	    for i in $predeps $postdeps; do
-	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
-	    done
-	  fi
-	  case $tmp_deplibs in
-	  *[!\	\ ]*)
-	    echo
-	    if test none = "$deplibs_check_method"; then
-	      echo "*** Warning: inter-library dependencies are not supported in this platform."
-	    else
-	      echo "*** Warning: inter-library dependencies are not known to be supported."
-	    fi
-	    echo "*** All declared inter-library dependencies are being dropped."
-	    droppeddeps=yes
-	    ;;
-	  esac
-	  ;;
-	esac
-	versuffix=$versuffix_save
-	major=$major_save
-	release=$release_save
-	libname=$libname_save
-	name=$name_save
-
-	case $host in
-	*-*-rhapsody* | *-*-darwin1.[012])
-	  # On Rhapsody replace the C library with the System framework
-	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
-	  ;;
-	esac
-
-	if test yes = "$droppeddeps"; then
-	  if test yes = "$module"; then
-	    echo
-	    echo "*** Warning: libtool could not satisfy all declared inter-library"
-	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
-	    echo "*** a static module, that should work as long as the dlopening"
-	    echo "*** application is linked with the -dlopen flag."
-	    if test -z "$global_symbol_pipe"; then
-	      echo
-	      echo "*** However, this would only work if libtool was able to extract symbol"
-	      echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
-	      echo "*** not find such a program.  So, this module is probably useless."
-	      echo "*** 'nm' from GNU binutils and a full rebuild may help."
-	    fi
-	    if test no = "$build_old_libs"; then
-	      oldlibs=$output_objdir/$libname.$libext
-	      build_libtool_libs=module
-	      build_old_libs=yes
-	    else
-	      build_libtool_libs=no
-	    fi
-	  else
-	    echo "*** The inter-library dependencies that have been dropped here will be"
-	    echo "*** automatically added whenever a program is linked with this library"
-	    echo "*** or is declared to -dlopen it."
-
-	    if test no = "$allow_undefined"; then
-	      echo
-	      echo "*** Since this library must not contain undefined symbols,"
-	      echo "*** because either the platform does not support them or"
-	      echo "*** it was explicitly requested with -no-undefined,"
-	      echo "*** libtool will only create a static version of it."
-	      if test no = "$build_old_libs"; then
-		oldlibs=$output_objdir/$libname.$libext
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  fi
-	fi
-	# Done checking deplibs!
-	deplibs=$newdeplibs
-      fi
-      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-      case $host in
-	*-*-darwin*)
-	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  ;;
-      esac
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $deplibs " in
-	  *" -L$path/$objdir "*)
-	    func_append new_libs " -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) func_append new_libs " $deplib" ;;
-	  esac
-	  ;;
-	*) func_append new_libs " $deplib" ;;
-	esac
-      done
-      deplibs=$new_libs
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test yes = "$build_libtool_libs"; then
-	# Remove $wl instances when linking with ld.
-	# FIXME: should test the right _cmds variable.
-	case $archive_cmds in
-	  *\$LD\ *) wl= ;;
-        esac
-	if test yes = "$hardcode_into_libs"; then
-	  # Hardcode the library paths
-	  hardcode_libdirs=
-	  dep_rpath=
-	  rpath=$finalize_rpath
-	  test relink = "$opt_mode" || rpath=$compile_rpath$rpath
-	  for libdir in $rpath; do
-	    if test -n "$hardcode_libdir_flag_spec"; then
-	      if test -n "$hardcode_libdir_separator"; then
-		func_replace_sysroot "$libdir"
-		libdir=$func_replace_sysroot_result
-		if test -z "$hardcode_libdirs"; then
-		  hardcode_libdirs=$libdir
-		else
-		  # Just accumulate the unique libdirs.
-		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		    ;;
-		  *)
-		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-		    ;;
-		  esac
-		fi
-	      else
-		eval flag=\"$hardcode_libdir_flag_spec\"
-		func_append dep_rpath " $flag"
-	      fi
-	    elif test -n "$runpath_var"; then
-	      case "$perm_rpath " in
-	      *" $libdir "*) ;;
-	      *) func_append perm_rpath " $libdir" ;;
-	      esac
-	    fi
-	  done
-	  # Substitute the hardcoded libdirs into the rpath.
-	  if test -n "$hardcode_libdir_separator" &&
-	     test -n "$hardcode_libdirs"; then
-	    libdir=$hardcode_libdirs
-	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
-	  fi
-	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
-	    # We should set the runpath_var.
-	    rpath=
-	    for dir in $perm_rpath; do
-	      func_append rpath "$dir:"
-	    done
-	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-	  fi
-	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-	fi
-
-	shlibpath=$finalize_shlibpath
-	test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
-	if test -n "$shlibpath"; then
-	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-	fi
-
-	# Get the real and link names of the library.
-	eval shared_ext=\"$shrext_cmds\"
-	eval library_names=\"$library_names_spec\"
-	set dummy $library_names
-	shift
-	realname=$1
-	shift
-
-	if test -n "$soname_spec"; then
-	  eval soname=\"$soname_spec\"
-	else
-	  soname=$realname
-	fi
-	if test -z "$dlname"; then
-	  dlname=$soname
-	fi
-
-	lib=$output_objdir/$realname
-	linknames=
-	for link
-	do
-	  func_append linknames " $link"
-	done
-
-	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	test "X$libobjs" = "X " && libobjs=
-
-	delfiles=
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-	  export_symbols=$output_objdir/$libname.uexp
-	  func_append delfiles " $export_symbols"
-	fi
-
-	orig_export_symbols=
-	case $host_os in
-	cygwin* | mingw* | cegcc*)
-	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
-	    # exporting using user supplied symfile
-	    func_dll_def_p "$export_symbols" || {
-	      # and it's NOT already a .def file. Must figure out
-	      # which of the given symbols are data symbols and tag
-	      # them as such. So, trigger use of export_symbols_cmds.
-	      # export_symbols gets reassigned inside the "prepare
-	      # the list of exported symbols" if statement, so the
-	      # include_expsyms logic still works.
-	      orig_export_symbols=$export_symbols
-	      export_symbols=
-	      always_export_symbols=yes
-	    }
-	  fi
-	  ;;
-	esac
-
-	# Prepare the list of exported symbols
-	if test -z "$export_symbols"; then
-	  if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
-	    func_verbose "generating symbol list for '$libname.la'"
-	    export_symbols=$output_objdir/$libname.exp
-	    $opt_dry_run || $RM $export_symbols
-	    cmds=$export_symbols_cmds
-	    save_ifs=$IFS; IFS='~'
-	    for cmd1 in $cmds; do
-	      IFS=$save_ifs
-	      # Take the normal branch if the nm_file_list_spec branch
-	      # doesn't work or if tool conversion is not needed.
-	      case $nm_file_list_spec~$to_tool_file_cmd in
-		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
-		  try_normal_branch=yes
-		  eval cmd=\"$cmd1\"
-		  func_len " $cmd"
-		  len=$func_len_result
-		  ;;
-		*)
-		  try_normal_branch=no
-		  ;;
-	      esac
-	      if test yes = "$try_normal_branch" \
-		 && { test "$len" -lt "$max_cmd_len" \
-		      || test "$max_cmd_len" -le -1; }
-	      then
-		func_show_eval "$cmd" 'exit $?'
-		skipped_export=false
-	      elif test -n "$nm_file_list_spec"; then
-		func_basename "$output"
-		output_la=$func_basename_result
-		save_libobjs=$libobjs
-		save_output=$output
-		output=$output_objdir/$output_la.nm
-		func_to_tool_file "$output"
-		libobjs=$nm_file_list_spec$func_to_tool_file_result
-		func_append delfiles " $output"
-		func_verbose "creating $NM input file list: $output"
-		for obj in $save_libobjs; do
-		  func_to_tool_file "$obj"
-		  $ECHO "$func_to_tool_file_result"
-		done > "$output"
-		eval cmd=\"$cmd1\"
-		func_show_eval "$cmd" 'exit $?'
-		output=$save_output
-		libobjs=$save_libobjs
-		skipped_export=false
-	      else
-		# The command line is too long to execute in one step.
-		func_verbose "using reloadable object file for export list..."
-		skipped_export=:
-		# Break out early, otherwise skipped_export may be
-		# set to false by a later but shorter cmd.
-		break
-	      fi
-	    done
-	    IFS=$save_ifs
-	    if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
-	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-	fi
-
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  tmp_export_symbols=$export_symbols
-	  test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
-	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-	fi
-
-	if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
-	  # The given exports_symbols file has to be filtered, so filter it.
-	  func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
-	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	  # 's' commands, which not all seds can handle. GNU sed should be fine
-	  # though. Also, the filter scales superlinearly with the number of
-	  # global variables. join(1) would be nice here, but unfortunately
-	  # isn't a blessed tool.
-	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
-	  export_symbols=$output_objdir/$libname.def
-	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-	fi
-
-	tmp_deplibs=
-	for test_deplib in $deplibs; do
-	  case " $convenience " in
-	  *" $test_deplib "*) ;;
-	  *)
-	    func_append tmp_deplibs " $test_deplib"
-	    ;;
-	  esac
-	done
-	deplibs=$tmp_deplibs
-
-	if test -n "$convenience"; then
-	  if test -n "$whole_archive_flag_spec" &&
-	    test yes = "$compiler_needs_object" &&
-	    test -z "$libobjs"; then
-	    # extract the archives, so we have objects to list.
-	    # TODO: could optimize this to just extract one archive.
-	    whole_archive_flag_spec=
-	  fi
-	  if test -n "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	    test "X$libobjs" = "X " && libobjs=
-	  else
-	    gentop=$output_objdir/${outputname}x
-	    func_append generated " $gentop"
-
-	    func_extract_archives $gentop $convenience
-	    func_append libobjs " $func_extract_archives_result"
-	    test "X$libobjs" = "X " && libobjs=
-	  fi
-	fi
-
-	if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
-	  eval flag=\"$thread_safe_flag_spec\"
-	  func_append linker_flags " $flag"
-	fi
-
-	# Make a backup of the uninstalled library when relinking
-	if test relink = "$opt_mode"; then
-	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
-	fi
-
-	# Do each of the archive commands.
-	if test yes = "$module" && test -n "$module_cmds"; then
-	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	    eval test_cmds=\"$module_expsym_cmds\"
-	    cmds=$module_expsym_cmds
-	  else
-	    eval test_cmds=\"$module_cmds\"
-	    cmds=$module_cmds
-	  fi
-	else
-	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	    eval test_cmds=\"$archive_expsym_cmds\"
-	    cmds=$archive_expsym_cmds
-	  else
-	    eval test_cmds=\"$archive_cmds\"
-	    cmds=$archive_cmds
-	  fi
-	fi
-
-	if test : != "$skipped_export" &&
-	   func_len " $test_cmds" &&
-	   len=$func_len_result &&
-	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  :
-	else
-	  # The command line is too long to link in one step, link piecewise
-	  # or, if using GNU ld and skipped_export is not :, use a linker
-	  # script.
-
-	  # Save the value of $output and $libobjs because we want to
-	  # use them later.  If we have whole_archive_flag_spec, we
-	  # want to use save_libobjs as it was before
-	  # whole_archive_flag_spec was expanded, because we can't
-	  # assume the linker understands whole_archive_flag_spec.
-	  # This may have to be revisited, in case too many
-	  # convenience libraries get linked in and end up exceeding
-	  # the spec.
-	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	  fi
-	  save_output=$output
-	  func_basename "$output"
-	  output_la=$func_basename_result
-
-	  # Clear the reloadable object creation command queue and
-	  # initialize k to one.
-	  test_cmds=
-	  concat_cmds=
-	  objlist=
-	  last_robj=
-	  k=1
-
-	  if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
-	    output=$output_objdir/$output_la.lnkscript
-	    func_verbose "creating GNU ld script: $output"
-	    echo 'INPUT (' > $output
-	    for obj in $save_libobjs
-	    do
-	      func_to_tool_file "$obj"
-	      $ECHO "$func_to_tool_file_result" >> $output
-	    done
-	    echo ')' >> $output
-	    func_append delfiles " $output"
-	    func_to_tool_file "$output"
-	    output=$func_to_tool_file_result
-	  elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
-	    output=$output_objdir/$output_la.lnk
-	    func_verbose "creating linker input file list: $output"
-	    : > $output
-	    set x $save_libobjs
-	    shift
-	    firstobj=
-	    if test yes = "$compiler_needs_object"; then
-	      firstobj="$1 "
-	      shift
-	    fi
-	    for obj
-	    do
-	      func_to_tool_file "$obj"
-	      $ECHO "$func_to_tool_file_result" >> $output
-	    done
-	    func_append delfiles " $output"
-	    func_to_tool_file "$output"
-	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
-	  else
-	    if test -n "$save_libobjs"; then
-	      func_verbose "creating reloadable object files..."
-	      output=$output_objdir/$output_la-$k.$objext
-	      eval test_cmds=\"$reload_cmds\"
-	      func_len " $test_cmds"
-	      len0=$func_len_result
-	      len=$len0
-
-	      # Loop over the list of objects to be linked.
-	      for obj in $save_libobjs
-	      do
-		func_len " $obj"
-		func_arith $len + $func_len_result
-		len=$func_arith_result
-		if test -z "$objlist" ||
-		   test "$len" -lt "$max_cmd_len"; then
-		  func_append objlist " $obj"
-		else
-		  # The command $test_cmds is almost too long, add a
-		  # command to the queue.
-		  if test 1 -eq "$k"; then
-		    # The first file doesn't have a previous command to add.
-		    reload_objs=$objlist
-		    eval concat_cmds=\"$reload_cmds\"
-		  else
-		    # All subsequent reloadable object files will link in
-		    # the last one created.
-		    reload_objs="$objlist $last_robj"
-		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
-		  fi
-		  last_robj=$output_objdir/$output_la-$k.$objext
-		  func_arith $k + 1
-		  k=$func_arith_result
-		  output=$output_objdir/$output_la-$k.$objext
-		  objlist=" $obj"
-		  func_len " $last_robj"
-		  func_arith $len0 + $func_len_result
-		  len=$func_arith_result
-		fi
-	      done
-	      # Handle the remaining objects by creating one last
-	      # reloadable object file.  All subsequent reloadable object
-	      # files will link in the last one created.
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      reload_objs="$objlist $last_robj"
-	      eval concat_cmds=\"\$concat_cmds$reload_cmds\"
-	      if test -n "$last_robj"; then
-	        eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-	      fi
-	      func_append delfiles " $output"
-
-	    else
-	      output=
-	    fi
-
-	    ${skipped_export-false} && {
-	      func_verbose "generating symbol list for '$libname.la'"
-	      export_symbols=$output_objdir/$libname.exp
-	      $opt_dry_run || $RM $export_symbols
-	      libobjs=$output
-	      # Append the command to create the export file.
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
-	      if test -n "$last_robj"; then
-		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-	      fi
-	    }
-
-	    test -n "$save_libobjs" &&
-	      func_verbose "creating a temporary reloadable object file: $output"
-
-	    # Loop through the commands generated above and execute them.
-	    save_ifs=$IFS; IFS='~'
-	    for cmd in $concat_cmds; do
-	      IFS=$save_ifs
-	      $opt_quiet || {
-		  func_quote_for_expand "$cmd"
-		  eval "func_echo $func_quote_for_expand_result"
-	      }
-	      $opt_dry_run || eval "$cmd" || {
-		lt_exit=$?
-
-		# Restore the uninstalled library and exit
-		if test relink = "$opt_mode"; then
-		  ( cd "$output_objdir" && \
-		    $RM "${realname}T" && \
-		    $MV "${realname}U" "$realname" )
-		fi
-
-		exit $lt_exit
-	      }
-	    done
-	    IFS=$save_ifs
-
-	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
-	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-
-          ${skipped_export-false} && {
-	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	      tmp_export_symbols=$export_symbols
-	      test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
-	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-	    fi
-
-	    if test -n "$orig_export_symbols"; then
-	      # The given exports_symbols file has to be filtered, so filter it.
-	      func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
-	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	      # 's' commands, which not all seds can handle. GNU sed should be fine
-	      # though. Also, the filter scales superlinearly with the number of
-	      # global variables. join(1) would be nice here, but unfortunately
-	      # isn't a blessed tool.
-	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
-	      export_symbols=$output_objdir/$libname.def
-	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-	    fi
-	  }
-
-	  libobjs=$output
-	  # Restore the value of output.
-	  output=$save_output
-
-	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	    test "X$libobjs" = "X " && libobjs=
-	  fi
-	  # Expand the library linking commands again to reset the
-	  # value of $libobjs for piecewise linking.
-
-	  # Do each of the archive commands.
-	  if test yes = "$module" && test -n "$module_cmds"; then
-	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	      cmds=$module_expsym_cmds
-	    else
-	      cmds=$module_cmds
-	    fi
-	  else
-	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	      cmds=$archive_expsym_cmds
-	    else
-	      cmds=$archive_cmds
-	    fi
-	  fi
-	fi
-
-	if test -n "$delfiles"; then
-	  # Append the command to remove temporary files to $cmds.
-	  eval cmds=\"\$cmds~\$RM $delfiles\"
-	fi
-
-	# Add any objects from preloaded convenience libraries
-	if test -n "$dlprefiles"; then
-	  gentop=$output_objdir/${outputname}x
-	  func_append generated " $gentop"
-
-	  func_extract_archives $gentop $dlprefiles
-	  func_append libobjs " $func_extract_archives_result"
-	  test "X$libobjs" = "X " && libobjs=
-	fi
-
-	save_ifs=$IFS; IFS='~'
-	for cmd in $cmds; do
-	  IFS=$sp$nl
-	  eval cmd=\"$cmd\"
-	  IFS=$save_ifs
-	  $opt_quiet || {
-	    func_quote_for_expand "$cmd"
-	    eval "func_echo $func_quote_for_expand_result"
-	  }
-	  $opt_dry_run || eval "$cmd" || {
-	    lt_exit=$?
-
-	    # Restore the uninstalled library and exit
-	    if test relink = "$opt_mode"; then
-	      ( cd "$output_objdir" && \
-	        $RM "${realname}T" && \
-		$MV "${realname}U" "$realname" )
-	    fi
-
-	    exit $lt_exit
-	  }
-	done
-	IFS=$save_ifs
-
-	# Restore the uninstalled library and exit
-	if test relink = "$opt_mode"; then
-	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-
-	  if test -n "$convenience"; then
-	    if test -z "$whole_archive_flag_spec"; then
-	      func_show_eval '${RM}r "$gentop"'
-	    fi
-	  fi
-
-	  exit $EXIT_SUCCESS
-	fi
-
-	# Create links to the real library.
-	for linkname in $linknames; do
-	  if test "$realname" != "$linkname"; then
-	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
-	  fi
-	done
-
-	# If -module or -export-dynamic was specified, set the dlname.
-	if test yes = "$module" || test yes = "$export_dynamic"; then
-	  # On all known operating systems, these are identical.
-	  dlname=$soname
-	fi
-      fi
-      ;;
-
-    obj)
-      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
-	func_warning "'-dlopen' is ignored for objects"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	func_warning "'-l' and '-L' are ignored for objects" ;;
-      esac
-
-      test -n "$rpath" && \
-	func_warning "'-rpath' is ignored for objects"
-
-      test -n "$xrpath" && \
-	func_warning "'-R' is ignored for objects"
-
-      test -n "$vinfo" && \
-	func_warning "'-version-info' is ignored for objects"
-
-      test -n "$release" && \
-	func_warning "'-release' is ignored for objects"
-
-      case $output in
-      *.lo)
-	test -n "$objs$old_deplibs" && \
-	  func_fatal_error "cannot build library object '$output' from non-libtool objects"
-
-	libobj=$output
-	func_lo2o "$libobj"
-	obj=$func_lo2o_result
-	;;
-      *)
-	libobj=
-	obj=$output
-	;;
-      esac
-
-      # Delete the old objects.
-      $opt_dry_run || $RM $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # if reload_cmds runs $LD directly, get rid of -Wl from
-      # whole_archive_flag_spec and hope we can get by with turning comma
-      # into space.
-      case $reload_cmds in
-        *\$LD[\ \$]*) wl= ;;
-      esac
-      if test -n "$convenience"; then
-	if test -n "$whole_archive_flag_spec"; then
-	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
-	  reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
-	else
-	  gentop=$output_objdir/${obj}x
-	  func_append generated " $gentop"
-
-	  func_extract_archives $gentop $convenience
-	  reload_conv_objs="$reload_objs $func_extract_archives_result"
-	fi
-      fi
-
-      # If we're not building shared, we need to use non_pic_objs
-      test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
-
-      # Create the old-style object.
-      reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
-
-      output=$obj
-      func_execute_cmds "$reload_cmds" 'exit $?'
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-	if test -n "$gentop"; then
-	  func_show_eval '${RM}r "$gentop"'
-	fi
-
-	exit $EXIT_SUCCESS
-      fi
-
-      test yes = "$build_libtool_libs" || {
-	if test -n "$gentop"; then
-	  func_show_eval '${RM}r "$gentop"'
-	fi
-
-	# Create an invalid libtool object if no PIC, so that we don't
-	# accidentally link it into a program.
-	# $show "echo timestamp > $libobj"
-	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
-	exit $EXIT_SUCCESS
-      }
-
-      if test -n "$pic_flag" || test default != "$pic_mode"; then
-	# Only do commands if we really have different PIC objects.
-	reload_objs="$libobjs $reload_conv_objs"
-	output=$libobj
-	func_execute_cmds "$reload_cmds" 'exit $?'
-      fi
-
-      if test -n "$gentop"; then
-	func_show_eval '${RM}r "$gentop"'
-      fi
-
-      exit $EXIT_SUCCESS
-      ;;
-
-    prog)
-      case $host in
-	*cygwin*) func_stripname '' '.exe' "$output"
-	          output=$func_stripname_result.exe;;
-      esac
-      test -n "$vinfo" && \
-	func_warning "'-version-info' is ignored for programs"
-
-      test -n "$release" && \
-	func_warning "'-release' is ignored for programs"
-
-      $preload \
-	&& test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
-	&& func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
-	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
-	;;
-      esac
-
-      case $host in
-      *-*-darwin*)
-	# Don't allow lazy linking, it breaks C++ global constructors
-	# But is supposedly fixed on 10.4 or later (yay!).
-	if test CXX = "$tagname"; then
-	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
-	    10.[0123])
-	      func_append compile_command " $wl-bind_at_load"
-	      func_append finalize_command " $wl-bind_at_load"
-	    ;;
-	  esac
-	fi
-	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
-	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	;;
-      esac
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $compile_deplibs " in
-	  *" -L$path/$objdir "*)
-	    func_append new_libs " -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $compile_deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) func_append new_libs " $deplib" ;;
-	  esac
-	  ;;
-	*) func_append new_libs " $deplib" ;;
-	esac
-      done
-      compile_deplibs=$new_libs
-
-
-      func_append compile_command " $compile_deplibs"
-      func_append finalize_command " $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	for libdir in $rpath $xrpath; do
-	  # This is the magic to use -rpath.
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) func_append finalize_rpath " $libdir" ;;
-	  esac
-	done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs=$libdir
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    func_append rpath " $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) func_append perm_rpath " $libdir" ;;
-	  esac
-	fi
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$libdir:"*) ;;
-	  ::) dllsearchpath=$libdir;;
-	  *) func_append dllsearchpath ":$libdir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  ::) dllsearchpath=$testbindir;;
-	  *) func_append dllsearchpath ":$testbindir";;
-	  esac
-	  ;;
-	esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir=$hardcode_libdirs
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath=$rpath
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs=$libdir
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    func_append rpath " $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$finalize_perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) func_append finalize_perm_rpath " $libdir" ;;
-	  esac
-	fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir=$hardcode_libdirs
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath=$rpath
-
-      if test -n "$libobjs" && test yes = "$build_old_libs"; then
-	# Transform all the library objects into standard objects.
-	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-      fi
-
-      func_generate_dlsyms "$outputname" "@PROGRAM@" false
-
-      # template prelinking step
-      if test -n "$prelink_cmds"; then
-	func_execute_cmds "$prelink_cmds" 'exit $?'
-      fi
-
-      wrappers_required=:
-      case $host in
-      *cegcc* | *mingw32ce*)
-        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
-        wrappers_required=false
-        ;;
-      *cygwin* | *mingw* )
-        test yes = "$build_libtool_libs" || wrappers_required=false
-        ;;
-      *)
-        if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
-          wrappers_required=false
-        fi
-        ;;
-      esac
-      $wrappers_required || {
-	# Replace the output file specification.
-	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-	link_command=$compile_command$compile_rpath
-
-	# We have no uninstalled library dependencies, so finalize right now.
-	exit_status=0
-	func_show_eval "$link_command" 'exit_status=$?'
-
-	if test -n "$postlink_cmds"; then
-	  func_to_tool_file "$output"
-	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-	  func_execute_cmds "$postlink_cmds" 'exit $?'
-	fi
-
-	# Delete the generated files.
-	if test -f "$output_objdir/${outputname}S.$objext"; then
-	  func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
-	fi
-
-	exit $exit_status
-      }
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-	if test -n "$perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $perm_rpath; do
-	    func_append rpath "$dir:"
-	  done
-	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-	if test -n "$finalize_perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $finalize_perm_rpath; do
-	    func_append rpath "$dir:"
-	  done
-	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-      fi
-
-      if test yes = "$no_install"; then
-	# We don't need to create a wrapper script.
-	link_command=$compile_var$compile_command$compile_rpath
-	# Replace the output file specification.
-	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-	# Delete the old output file.
-	$opt_dry_run || $RM $output
-	# Link the executable and exit
-	func_show_eval "$link_command" 'exit $?'
-
-	if test -n "$postlink_cmds"; then
-	  func_to_tool_file "$output"
-	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-	  func_execute_cmds "$postlink_cmds" 'exit $?'
-	fi
-
-	exit $EXIT_SUCCESS
-      fi
-
-      case $hardcode_action,$fast_install in
-        relink,*)
-	  # Fast installation is not supported
-	  link_command=$compile_var$compile_command$compile_rpath
-	  relink_command=$finalize_var$finalize_command$finalize_rpath
-
-	  func_warning "this platform does not like uninstalled shared libraries"
-	  func_warning "'$output' will be relinked during installation"
-	  ;;
-        *,yes)
-	  link_command=$finalize_var$compile_command$finalize_rpath
-	  relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
-          ;;
-	*,no)
-	  link_command=$compile_var$compile_command$compile_rpath
-	  relink_command=$finalize_var$finalize_command$finalize_rpath
-          ;;
-	*,needless)
-	  link_command=$finalize_var$compile_command$finalize_rpath
-	  relink_command=
-          ;;
-      esac
-
-      # Replace the output file specification.
-      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      func_show_eval "$link_command" 'exit $?'
-
-      if test -n "$postlink_cmds"; then
-	func_to_tool_file "$output_objdir/$outputname"
-	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-	func_execute_cmds "$postlink_cmds" 'exit $?'
-      fi
-
-      # Now create the wrapper script.
-      func_verbose "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-	# Preserve any variables that may affect compiler behavior
-	for var in $variables_saved_for_relink; do
-	  if eval test -z \"\${$var+set}\"; then
-	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-	  elif eval var_value=\$$var; test -z "$var_value"; then
-	    relink_command="$var=; export $var; $relink_command"
-	  else
-	    func_quote_for_eval "$var_value"
-	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-	  fi
-	done
-	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if not in dry run mode.
-      $opt_dry_run || {
-	# win32 will think the script is a binary if it has
-	# a .exe suffix, so we strip it off here.
-	case $output in
-	  *.exe) func_stripname '' '.exe' "$output"
-	         output=$func_stripname_result ;;
-	esac
-	# test for cygwin because mv fails w/o .exe extensions
-	case $host in
-	  *cygwin*)
-	    exeext=.exe
-	    func_stripname '' '.exe' "$outputname"
-	    outputname=$func_stripname_result ;;
-	  *) exeext= ;;
-	esac
-	case $host in
-	  *cygwin* | *mingw* )
-	    func_dirname_and_basename "$output" "" "."
-	    output_name=$func_basename_result
-	    output_path=$func_dirname_result
-	    cwrappersource=$output_path/$objdir/lt-$output_name.c
-	    cwrapper=$output_path/$output_name.exe
-	    $RM $cwrappersource $cwrapper
-	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-	    func_emit_cwrapperexe_src > $cwrappersource
-
-	    # The wrapper executable is built using the $host compiler,
-	    # because it contains $host paths and files. If cross-
-	    # compiling, it, like the target executable, must be
-	    # executed on the $host or under an emulation environment.
-	    $opt_dry_run || {
-	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
-	      $STRIP $cwrapper
-	    }
-
-	    # Now, create the wrapper script for func_source use:
-	    func_ltwrapper_scriptname $cwrapper
-	    $RM $func_ltwrapper_scriptname_result
-	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
-	    $opt_dry_run || {
-	      # note: this script will not be executed, so do not chmod.
-	      if test "x$build" = "x$host"; then
-		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
-	      else
-		func_emit_wrapper no > $func_ltwrapper_scriptname_result
-	      fi
-	    }
-	  ;;
-	  * )
-	    $RM $output
-	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
-
-	    func_emit_wrapper no > $output
-	    chmod +x $output
-	  ;;
-	esac
-      }
-      exit $EXIT_SUCCESS
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      case $build_libtool_libs in
-        convenience)
-	  oldobjs="$libobjs_save $symfileobj"
-	  addlibs=$convenience
-	  build_libtool_libs=no
-	  ;;
-	module)
-	  oldobjs=$libobjs_save
-	  addlibs=$old_convenience
-	  build_libtool_libs=no
-          ;;
-	*)
-	  oldobjs="$old_deplibs $non_pic_objects"
-	  $preload && test -f "$symfileobj" \
-	    && func_append oldobjs " $symfileobj"
-	  addlibs=$old_convenience
-	  ;;
-      esac
-
-      if test -n "$addlibs"; then
-	gentop=$output_objdir/${outputname}x
-	func_append generated " $gentop"
-
-	func_extract_archives $gentop $addlibs
-	func_append oldobjs " $func_extract_archives_result"
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
-	cmds=$old_archive_from_new_cmds
-      else
-
-	# Add any objects from preloaded convenience libraries
-	if test -n "$dlprefiles"; then
-	  gentop=$output_objdir/${outputname}x
-	  func_append generated " $gentop"
-
-	  func_extract_archives $gentop $dlprefiles
-	  func_append oldobjs " $func_extract_archives_result"
-	fi
-
-	# POSIX demands no paths to be encoded in archives.  We have
-	# to avoid creating archives with duplicate basenames if we
-	# might have to extract them afterwards, e.g., when creating a
-	# static archive out of a convenience library, or when linking
-	# the entirety of a libtool archive into another (currently
-	# not supported by libtool).
-	if (for obj in $oldobjs
-	    do
-	      func_basename "$obj"
-	      $ECHO "$func_basename_result"
-	    done | sort | sort -uc >/dev/null 2>&1); then
-	  :
-	else
-	  echo "copying selected object files to avoid basename conflicts..."
-	  gentop=$output_objdir/${outputname}x
-	  func_append generated " $gentop"
-	  func_mkdir_p "$gentop"
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  counter=1
-	  for obj in $save_oldobjs
-	  do
-	    func_basename "$obj"
-	    objbase=$func_basename_result
-	    case " $oldobjs " in
-	    " ") oldobjs=$obj ;;
-	    *[\ /]"$objbase "*)
-	      while :; do
-		# Make sure we don't pick an alternate name that also
-		# overlaps.
-		newobj=lt$counter-$objbase
-		func_arith $counter + 1
-		counter=$func_arith_result
-		case " $oldobjs " in
-		*[\ /]"$newobj "*) ;;
-		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
-		esac
-	      done
-	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-	      func_append oldobjs " $gentop/$newobj"
-	      ;;
-	    *) func_append oldobjs " $obj" ;;
-	    esac
-	  done
-	fi
-	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
-	tool_oldlib=$func_to_tool_file_result
-	eval cmds=\"$old_archive_cmds\"
-
-	func_len " $cmds"
-	len=$func_len_result
-	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  cmds=$old_archive_cmds
-	elif test -n "$archiver_list_spec"; then
-	  func_verbose "using command file archive linking..."
-	  for obj in $oldobjs
-	  do
-	    func_to_tool_file "$obj"
-	    $ECHO "$func_to_tool_file_result"
-	  done > $output_objdir/$libname.libcmd
-	  func_to_tool_file "$output_objdir/$libname.libcmd"
-	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
-	  cmds=$old_archive_cmds
-	else
-	  # the command line is too long to link in one step, link in parts
-	  func_verbose "using piecewise archive linking..."
-	  save_RANLIB=$RANLIB
-	  RANLIB=:
-	  objlist=
-	  concat_cmds=
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  # Is there a better way of finding the last object in the list?
-	  for obj in $save_oldobjs
-	  do
-	    last_oldobj=$obj
-	  done
-	  eval test_cmds=\"$old_archive_cmds\"
-	  func_len " $test_cmds"
-	  len0=$func_len_result
-	  len=$len0
-	  for obj in $save_oldobjs
-	  do
-	    func_len " $obj"
-	    func_arith $len + $func_len_result
-	    len=$func_arith_result
-	    func_append objlist " $obj"
-	    if test "$len" -lt "$max_cmd_len"; then
-	      :
-	    else
-	      # the above command should be used before it gets too long
-	      oldobjs=$objlist
-	      if test "$obj" = "$last_oldobj"; then
-		RANLIB=$save_RANLIB
-	      fi
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
-	      objlist=
-	      len=$len0
-	    fi
-	  done
-	  RANLIB=$save_RANLIB
-	  oldobjs=$objlist
-	  if test -z "$oldobjs"; then
-	    eval cmds=\"\$concat_cmds\"
-	  else
-	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-	  fi
-	fi
-      fi
-      func_execute_cmds "$cmds" 'exit $?'
-    done
-
-    test -n "$generated" && \
-      func_show_eval "${RM}r$generated"
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test yes = "$build_old_libs" && old_library=$libname.$libext
-      func_verbose "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-	if eval test -z \"\${$var+set}\"; then
-	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-	elif eval var_value=\$$var; test -z "$var_value"; then
-	  relink_command="$var=; export $var; $relink_command"
-	else
-	  func_quote_for_eval "$var_value"
-	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-	fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      if test yes = "$hardcode_automatic"; then
-	relink_command=
-      fi
-
-      # Only create the output if not a dry run.
-      $opt_dry_run || {
-	for installed in no yes; do
-	  if test yes = "$installed"; then
-	    if test -z "$install_libdir"; then
-	      break
-	    fi
-	    output=$output_objdir/${outputname}i
-	    # Replace all uninstalled libtool libraries with the installed ones
-	    newdependency_libs=
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      *.la)
-		func_basename "$deplib"
-		name=$func_basename_result
-		func_resolve_sysroot "$deplib"
-		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
-		test -z "$libdir" && \
-		  func_fatal_error "'$deplib' is not a valid libtool archive"
-		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
-		;;
-	      -L*)
-		func_stripname -L '' "$deplib"
-		func_replace_sysroot "$func_stripname_result"
-		func_append newdependency_libs " -L$func_replace_sysroot_result"
-		;;
-	      -R*)
-		func_stripname -R '' "$deplib"
-		func_replace_sysroot "$func_stripname_result"
-		func_append newdependency_libs " -R$func_replace_sysroot_result"
-		;;
-	      *) func_append newdependency_libs " $deplib" ;;
-	      esac
-	    done
-	    dependency_libs=$newdependency_libs
-	    newdlfiles=
-
-	    for lib in $dlfiles; do
-	      case $lib in
-	      *.la)
-	        func_basename "$lib"
-		name=$func_basename_result
-		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-		test -z "$libdir" && \
-		  func_fatal_error "'$lib' is not a valid libtool archive"
-		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
-		;;
-	      *) func_append newdlfiles " $lib" ;;
-	      esac
-	    done
-	    dlfiles=$newdlfiles
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-	      *.la)
-		# Only pass preopened files to the pseudo-archive (for
-		# eventual linking with the app. that links it) if we
-		# didn't already link the preopened objects directly into
-		# the library:
-		func_basename "$lib"
-		name=$func_basename_result
-		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-		test -z "$libdir" && \
-		  func_fatal_error "'$lib' is not a valid libtool archive"
-		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
-		;;
-	      esac
-	    done
-	    dlprefiles=$newdlprefiles
-	  else
-	    newdlfiles=
-	    for lib in $dlfiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      func_append newdlfiles " $abs"
-	    done
-	    dlfiles=$newdlfiles
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      func_append newdlprefiles " $abs"
-	    done
-	    dlprefiles=$newdlprefiles
-	  fi
-	  $RM $output
-	  # place dlname in correct position for cygwin
-	  # In fact, it would be nice if we could use this code for all target
-	  # systems that can't hard-code library paths into their executables
-	  # and that have no shared library path variable independent of PATH,
-	  # but it turns out we can't easily determine that from inspecting
-	  # libtool variables, so we have to hard-code the OSs to which it
-	  # applies here; at the moment, that means platforms that use the PE
-	  # object format with DLL files.  See the long comment at the top of
-	  # tests/bindir.at for full details.
-	  tdlname=$dlname
-	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
-	      # If a -bindir argument was supplied, place the dll there.
-	      if test -n "$bindir"; then
-		func_relative_path "$install_libdir" "$bindir"
-		tdlname=$func_relative_path_result/$dlname
-	      else
-		# Otherwise fall back on heuristic.
-		tdlname=../bin/$dlname
-	      fi
-	      ;;
-	  esac
-	  $ECHO > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Linker flags that cannot go in dependency_libs.
-inherited_linker_flags='$new_inherited_linker_flags'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Names of additional weak libraries provided by this library
-weak_library_names='$weak_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-	  if test no,yes = "$installed,$need_relink"; then
-	    $ECHO >> $output "\
-relink_command=\"$relink_command\""
-	  fi
-	done
-      }
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
-      ;;
-    esac
-    exit $EXIT_SUCCESS
-}
-
-if test link = "$opt_mode" || test relink = "$opt_mode"; then
-  func_mode_link ${1+"$@"}
-fi
-
-
-# func_mode_uninstall arg...
-func_mode_uninstall ()
-{
-    $debug_cmd
-
-    RM=$nonopt
-    files=
-    rmforce=false
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic=$magic
-
-    for arg
-    do
-      case $arg in
-      -f) func_append RM " $arg"; rmforce=: ;;
-      -*) func_append RM " $arg" ;;
-      *) func_append files " $arg" ;;
-      esac
-    done
-
-    test -z "$RM" && \
-      func_fatal_help "you must specify an RM program"
-
-    rmdirs=
-
-    for file in $files; do
-      func_dirname "$file" "" "."
-      dir=$func_dirname_result
-      if test . = "$dir"; then
-	odir=$objdir
-      else
-	odir=$dir/$objdir
-      fi
-      func_basename "$file"
-      name=$func_basename_result
-      test uninstall = "$opt_mode" && odir=$dir
-
-      # Remember odir for removal later, being careful to avoid duplicates
-      if test clean = "$opt_mode"; then
-	case " $rmdirs " in
-	  *" $odir "*) ;;
-	  *) func_append rmdirs " $odir" ;;
-	esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if { test -L "$file"; } >/dev/null 2>&1 ||
-	 { test -h "$file"; } >/dev/null 2>&1 ||
-	 test -f "$file"; then
-	:
-      elif test -d "$file"; then
-	exit_status=1
-	continue
-      elif $rmforce; then
-	continue
-      fi
-
-      rmfiles=$file
-
-      case $name in
-      *.la)
-	# Possibly a libtool archive, so verify it.
-	if func_lalib_p "$file"; then
-	  func_source $dir/$name
-
-	  # Delete the libtool libraries and symlinks.
-	  for n in $library_names; do
-	    func_append rmfiles " $odir/$n"
-	  done
-	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
-
-	  case $opt_mode in
-	  clean)
-	    case " $library_names " in
-	    *" $dlname "*) ;;
-	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
-	    esac
-	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
-	    ;;
-	  uninstall)
-	    if test -n "$library_names"; then
-	      # Do each command in the postuninstall commands.
-	      func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
-	    fi
-
-	    if test -n "$old_library"; then
-	      # Do each command in the old_postuninstall commands.
-	      func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
-	    fi
-	    # FIXME: should reinstall the best remaining shared library.
-	    ;;
-	  esac
-	fi
-	;;
-
-      *.lo)
-	# Possibly a libtool object, so verify it.
-	if func_lalib_p "$file"; then
-
-	  # Read the .lo file
-	  func_source $dir/$name
-
-	  # Add PIC object to the list of files to remove.
-	  if test -n "$pic_object" && test none != "$pic_object"; then
-	    func_append rmfiles " $dir/$pic_object"
-	  fi
-
-	  # Add non-PIC object to the list of files to remove.
-	  if test -n "$non_pic_object" && test none != "$non_pic_object"; then
-	    func_append rmfiles " $dir/$non_pic_object"
-	  fi
-	fi
-	;;
-
-      *)
-	if test clean = "$opt_mode"; then
-	  noexename=$name
-	  case $file in
-	  *.exe)
-	    func_stripname '' '.exe' "$file"
-	    file=$func_stripname_result
-	    func_stripname '' '.exe' "$name"
-	    noexename=$func_stripname_result
-	    # $file with .exe has already been added to rmfiles,
-	    # add $file without .exe
-	    func_append rmfiles " $file"
-	    ;;
-	  esac
-	  # Do a test to see if this is a libtool program.
-	  if func_ltwrapper_p "$file"; then
-	    if func_ltwrapper_executable_p "$file"; then
-	      func_ltwrapper_scriptname "$file"
-	      relink_command=
-	      func_source $func_ltwrapper_scriptname_result
-	      func_append rmfiles " $func_ltwrapper_scriptname_result"
-	    else
-	      relink_command=
-	      func_source $dir/$noexename
-	    fi
-
-	    # note $name still contains .exe if it was in $file originally
-	    # as does the version of $file that was added into $rmfiles
-	    func_append rmfiles " $odir/$name $odir/${name}S.$objext"
-	    if test yes = "$fast_install" && test -n "$relink_command"; then
-	      func_append rmfiles " $odir/lt-$name"
-	    fi
-	    if test "X$noexename" != "X$name"; then
-	      func_append rmfiles " $odir/lt-$noexename.c"
-	    fi
-	  fi
-	fi
-	;;
-      esac
-      func_show_eval "$RM $rmfiles" 'exit_status=1'
-    done
-
-    # Try to remove the $objdir's in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-	func_show_eval "rmdir $dir >/dev/null 2>&1"
-      fi
-    done
-
-    exit $exit_status
-}
-
-if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
-  func_mode_uninstall ${1+"$@"}
-fi
-
-test -z "$opt_mode" && {
-  help=$generic_help
-  func_fatal_help "you must specify a MODE"
-}
-
-test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode '$opt_mode'"
-
-if test -n "$exec_cmd"; then
-  eval exec "$exec_cmd"
-  exit $EXIT_FAILURE
-fi
-
-exit $exit_status
-
-
-# The TAGs below are defined such that we never get into a situation
-# where we disable both kinds of libraries.  Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them.  This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration.  But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:

From d5c1f614ba567061080987f71e5255945f52d4a3 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 3 Aug 2016 15:14:33 +0100
Subject: [PATCH 091/295] gitignore update

---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index da626dd6..f972b7f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,6 +63,7 @@ config.sub
 config.guess
 INSTALL
 .dirstamp
+ltmain.sh
  
 # Logs and databases #
 ######################

From 3b376ed54e486c6603206b8301f07e662f763418 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 3 Aug 2016 15:23:38 +0100
Subject: [PATCH 092/295] build system: error if MPI not found

---
 configure.ac | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configure.ac b/configure.ac
index a57d7bc9..997df641 100644
--- a/configure.ac
+++ b/configure.ac
@@ -184,6 +184,7 @@ case ${ac_COMMS} in
      mpi)
        AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
        LX_FIND_MPI
+       if test "x$have_CXX_mpi" = 'xno'; then AC_MSG_ERROR(["MPI not found"]); fi
        AM_CXXFLAGS="$MPI_CXXFLAGS $AM_CXXFLAGS"
        AM_CFLAGS="$MPI_CFLAGS $AM_CFLAGS"
        AM_LDFLAGS="`echo $MPI_CXXLDFLAGS | sed -E 's/-l@<:@^ @:>@+//g'` $AM_LDFLAGS"

From 93d29bb6993feac2a798ad7241c2d468665fce22 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Thu, 4 Aug 2016 16:19:59 +0100
Subject: [PATCH 093/295] build system improvements after discussion with Peter

---
 bootstrap.sh                              |   9 ++++++++-
 configure.ac                              |  14 +++++++++-----
 eigen-3.2.9.tar.bz2                       | Bin 1163762 -> 0 bytes
 lib/simd/{Grid_empty.h => Grid_generic.h} |  10 +---------
 lib/simd/Grid_vector_types.h              |   2 +-
 5 files changed, 19 insertions(+), 16 deletions(-)
 delete mode 100644 eigen-3.2.9.tar.bz2
 rename lib/simd/{Grid_empty.h => Grid_generic.h} (97%)

diff --git a/bootstrap.sh b/bootstrap.sh
index 639fd82b..5e9d4041 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,5 +1,12 @@
 #!/usr/bin/env bash
 
-./scripts/update_eigen.sh eigen-3.2.9.tar.bz2
+EIGEN_URL='http://bitbucket.org/eigen/eigen/get/3.2.9.tar.bz2'
+
+echo "-- deploying Eigen source..."
+wget ${EIGEN_URL}
+./scripts/update_eigen.sh `basename ${EIGEN_URL}`
+rm `basename ${EIGEN_URL}`
+echo '-- generating Make.inc files...'
 ./scripts/filelist
+echo '-- generating configure script...'
 autoreconf -fvi
diff --git a/configure.ac b/configure.ac
index 997df641..905a665b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -79,7 +79,8 @@ AC_CHECK_LIB([gmp],[__gmpf_init],
                  [AC_MSG_ERROR([MPFR library not found])])]
              [AC_DEFINE([HAVE_LIBGMP], [1], [Define to 1 if you have the `GMP' library (-lgmp).])]
              [have_gmp=true]
-             [LIBS="$LIBS -lgmp"])
+             [LIBS="$LIBS -lgmp"],
+             [AC_MSG_WARN([**** GMP library not found, Grid can still compile but RHMC will not work ****])])
 
 if test "${ac_LAPACK}x" != "nox"; then
     AC_CHECK_LIB([lapack],[LAPACKE_sbdsdc],[],
@@ -118,7 +119,7 @@ case ${ax_cv_cxx_compiler_vendor} in
         AC_DEFINE([GENERIC_VEC],[1],[generic vector code])
         SIMD_FLAGS='';;
       *)
-        AC_MSG_ERROR(["SIMD option ${ac_SIMD} not supported by the GCC/Clang"]);;
+        AC_MSG_ERROR(["SIMD option ${ac_SIMD} not supported by the GCC/Clang compiler"]);;
     esac;;
   intel)
     case ${ac_SIMD} in
@@ -175,13 +176,13 @@ case ${ac_PRECISION} in
 esac
 
 ############### communication type selection
-AC_ARG_ENABLE([comms],[AC_HELP_STRING([--enable-comms=none|mpi],[Select communications])],[ac_COMMS=${enable_comms}],[ac_COMMS=none])
+AC_ARG_ENABLE([comms],[AC_HELP_STRING([--enable-comms=none|mpi|mpi-auto|shmem],[Select communications])],[ac_COMMS=${enable_comms}],[ac_COMMS=none])
 
 case ${ac_COMMS} in
      none)
        AC_DEFINE([GRID_COMMS_NONE],[1],[GRID_COMMS_NONE] )
      ;;
-     mpi)
+     mpi-auto)
        AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
        LX_FIND_MPI
        if test "x$have_CXX_mpi" = 'xno'; then AC_MSG_ERROR(["MPI not found"]); fi
@@ -190,6 +191,9 @@ case ${ac_COMMS} in
        AM_LDFLAGS="`echo $MPI_CXXLDFLAGS | sed -E 's/-l@<:@^ @:>@+//g'` $AM_LDFLAGS"
        LIBS="`echo $MPI_CXXLDFLAGS | sed -E 's/-L@<:@^ @:>@+//g'` $LIBS"
      ;;
+     mpi)
+       AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
+     ;;
      shmem)
        AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
      ;;
@@ -198,7 +202,7 @@ case ${ac_COMMS} in
      ;;
 esac
 AM_CONDITIONAL(BUILD_COMMS_SHMEM,[ test "X${ac_COMMS}X" == "XshmemX" ])
-AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" ])
+AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" || test "X${ac_COMMS}X" == "Xmpi-autoX" ])
 AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
 
 ############### RNG selection
diff --git a/eigen-3.2.9.tar.bz2 b/eigen-3.2.9.tar.bz2
deleted file mode 100644
index 2210a2c3a3661b66bec76b2a73c89e43e73a79cb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1163762
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%0A)Hq4qS^C3Ag`38&lehMp1-;5f;S
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

diff --git a/lib/simd/Grid_empty.h b/lib/simd/Grid_generic.h
similarity index 97%
rename from lib/simd/Grid_empty.h
rename to lib/simd/Grid_generic.h
index 70ad1748..ca0029ef 100644
--- a/lib/simd/Grid_empty.h
+++ b/lib/simd/Grid_generic.h
@@ -2,7 +2,7 @@
 
     Grid physics library, www.github.com/paboyle/Grid 
 
-    Source file: ./lib/simd/Grid_empty.h
+    Source file: ./lib/simd/Grid_generic.h
 
     Copyright (C) 2015
 
@@ -26,14 +26,6 @@ Author: neo <cossu@post.kek.jp>
     See the full license in the file "LICENSE" in the top level distribution directory
     *************************************************************************************/
     /*  END LEGAL */
-//----------------------------------------------------------------------
-/*! @file Grid_sse4.h
-  @brief Empty Optimization libraries for debugging
-
-  Using intrinsics
-*/
-// Time-stamp: <2015-06-09 14:28:02 neo>
-//----------------------------------------------------------------------
 
 namespace Grid {
 namespace Optimization {
diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index 2677d174..2f2b70c8 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -39,7 +39,7 @@ directory
 #define GRID_VECTOR_TYPES
 
 #ifdef GENERIC_VEC
-#include "Grid_empty.h"
+#include "Grid_generic.h"
 #endif
 #ifdef SSE4
 #include "Grid_sse4.h"

From d1aaff65e874e3e016e660ed82176cf4e9ebffc0 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Thu, 4 Aug 2016 16:27:02 +0100
Subject: [PATCH 094/295] README update

---
 README.md | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index a41564d4..2a0acad6 100644
--- a/README.md
+++ b/README.md
@@ -68,10 +68,18 @@ Now you can execute the `configure` script to generate makefiles (here from a bu
 
 ``` bash
 mkdir build; cd build
-../configure --enable-precision=double --enable-simd=AVX --enable-comms=mpi --prefix=<path>
+../configure --enable-precision=double --enable-simd=AVX --enable-comms=mpi-auto --prefix=<path>
 ```
 
-where `--enable-precision=` set the default precision (`single` or `double`), `--enable-simd=` set the SIMD type (see possible values below), `--enable-comms=` set the protocol used for communications (`none`, `mpi` or `shmem`), and `<path>` should be replaced by the prefix path where you want to install Grid. Other options are available, use `configure --help` to display them. Like with any other program using GNU autotool, the `CXX`, `CXXFLAGS`, `LDFLAGS`, ... environment variables can be modified to customise the build.
+where `--enable-precision=` set the default precision (`single` or `double`),
+`--enable-simd=` set the SIMD type (see possible values below), `--enable-
+comms=` set the protocol used for communications (`none`, `mpi`, `mpi-auto` or
+`shmem`), and `<path>` should be replaced by the prefix path where you want to
+install Grid. The `mpi-auto` communication option set `configure` to determine
+automatically how to link to MPI. Other options are available, use `configure
+--help` to display them. Like with any other program using GNU autotool, the
+`CXX`, `CXXFLAGS`, `LDFLAGS`, ... environment variables can be modified to
+customise the build.
 
 Finally, you can build and install Grid:
 

From 32bc7a6ab893e79ba033fb29ca4618e59278b2c5 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 5 Aug 2016 10:36:00 +0100
Subject: [PATCH 095/295] MPI back out of change that hangs AVX2 for clang, gcc
 needs the -mfma flag.

---
 benchmarks/Benchmark_comms.cc          |  4 +--
 configure.ac                           |  2 +-
 lib/communicator/Communicator_base.h   |  9 ------
 lib/communicator/Communicator_mpi.cc   | 39 ++++++++------------------
 lib/communicator/Communicator_none.cc  | 13 ---------
 lib/communicator/Communicator_shmem.cc | 13 ---------
 6 files changed, 14 insertions(+), 66 deletions(-)

diff --git a/benchmarks/Benchmark_comms.cc b/benchmarks/Benchmark_comms.cc
index 7162a0f9..d0cd96c7 100644
--- a/benchmarks/Benchmark_comms.cc
+++ b/benchmarks/Benchmark_comms.cc
@@ -194,7 +194,7 @@ int main (int argc, char ** argv)
     }
   }  
 
-
+#if 0
 
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
   std::cout<<GridLogMessage << "= Benchmarking sequential persistent halo exchange in "<<nmu<<" dimensions"<<std::endl;
@@ -315,7 +315,7 @@ int main (int argc, char ** argv)
     }
   }
 
-
+#endif
 
   Grid_finalize();
 }
diff --git a/configure.ac b/configure.ac
index 905a665b..89bb3568 100644
--- a/configure.ac
+++ b/configure.ac
@@ -108,7 +108,7 @@ case ${ax_cv_cxx_compiler_vendor} in
         SIMD_FLAGS='-mavx -mfma4';;
       AVX2)
         AC_DEFINE([AVX2],[1],[AVX2 intrinsics])
-        SIMD_FLAGS='-mavx2';;
+        SIMD_FLAGS='-mavx2 -mfma';;
       AVX512|AVX512MIC|KNL)
         AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
         SIMD_FLAGS='-mavx512f -mavx512pf -mavx512er -mavx512cd';;
diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index dd19c4f4..94d277e9 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -127,21 +127,12 @@ class CartesianCommunicator {
 			int recv_from_rank,
 			int bytes);
 
-    void SendToRecvFromInit(std::vector<CommsRequest_t> &list,
-			    void *xmit,
-			    int xmit_to_rank,
-			    void *recv,
-			    int recv_from_rank,
-			    int bytes);
-
     void SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
 			 void *xmit,
 			 int xmit_to_rank,
 			 void *recv,
 			 int recv_from_rank,
 			 int bytes);
-
-    void SendToRecvFromBegin(std::vector<CommsRequest_t> &list);
     void SendToRecvFromComplete(std::vector<CommsRequest_t> &waitall);
 
     ////////////////////////////////////////////////////////////
diff --git a/lib/communicator/Communicator_mpi.cc b/lib/communicator/Communicator_mpi.cc
index 6830c14a..dff9811a 100644
--- a/lib/communicator/Communicator_mpi.cc
+++ b/lib/communicator/Communicator_mpi.cc
@@ -144,28 +144,6 @@ void CartesianCommunicator::SendRecvPacket(void *xmit,
 }
 
 // Basic Halo comms primitive
-// Basic Halo comms primitive
-void CartesianCommunicator::SendToRecvFromInit(std::vector<CommsRequest_t> &list,
-					       void *xmit,
-					       int dest,
-					       void *recv,
-					       int from,
-					       int bytes)
-{
-  MPI_Request xrq;
-  MPI_Request rrq;
-  int rank = _processor;
-  int ierr;
-  ierr =MPI_Send_init(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
-  ierr|=MPI_Recv_init(recv, bytes, MPI_CHAR,dest,_processor,communicator,&rrq);
-  assert(ierr==0);
-  list.push_back(xrq);
-  list.push_back(rrq);
-}
-void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list)
-{
-  MPI_Startall(list.size(),&list[0]);
-}
 void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
 						void *xmit,
 						int dest,
@@ -173,12 +151,17 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 						int from,
 						int bytes)
 {
-  std::vector<CommsRequest_t> reqs(0);
-  SendToRecvFromInit(reqs,xmit,dest,recv,from,bytes);
-  SendToRecvFromBegin(reqs);
-  for(int i=0;i<reqs.size();i++){
-    list.push_back(reqs[i]);
-  }
+  MPI_Request xrq;
+  MPI_Request rrq;
+  int rank = _processor;
+  int ierr;
+  ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
+  ierr|=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
+  
+  assert(ierr==0);
+
+  list.push_back(xrq);
+  list.push_back(rrq);
 }
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {
diff --git a/lib/communicator/Communicator_none.cc b/lib/communicator/Communicator_none.cc
index 2873462a..8601255a 100644
--- a/lib/communicator/Communicator_none.cc
+++ b/lib/communicator/Communicator_none.cc
@@ -84,19 +84,6 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 {
   assert(0);
 }
-void CartesianCommunicator::SendToRecvFromInit(std::vector<CommsRequest_t> &list,
-						void *xmit,
-						int dest,
-						void *recv,
-						int from,
-						int bytes)
-{
-  assert(0);
-}
-void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list)
-{
-  assert(0);
-}
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {
   assert(0);
diff --git a/lib/communicator/Communicator_shmem.cc b/lib/communicator/Communicator_shmem.cc
index c415b13d..091e266e 100644
--- a/lib/communicator/Communicator_shmem.cc
+++ b/lib/communicator/Communicator_shmem.cc
@@ -268,10 +268,6 @@ void CartesianCommunicator::SendRecvPacket(void *xmit,
 }
 
 // Basic Halo comms primitive
-void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list)
-{
-  assert(0); //unimplemented
-}
 void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
 						void *xmit,
 						int dest,
@@ -284,15 +280,6 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
   //  shmem_putmem_nb(recv,xmit,bytes,dest,NULL);
   shmem_putmem(recv,xmit,bytes,dest);
 }
-void CartesianCommunicator::SendToRecvFromInit(std::vector<CommsRequest_t> &list,
-						void *xmit,
-						int dest,
-						void *recv,
-						int from,
-						int bytes)
-{
-  assert(0); // Unimplemented
-}
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {
   //  shmem_quiet();      // I'm done

From 5a68715be34f70594d0c08643afe0a2d0c4316be Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 5 Aug 2016 10:51:57 +0100
Subject: [PATCH 096/295] Richards sweep test

---
 benchmarks/Benchmark_wilson_sweep.cc | 117 +++++++++++++++++++++++++++
 1 file changed, 117 insertions(+)
 create mode 100644 benchmarks/Benchmark_wilson_sweep.cc

diff --git a/benchmarks/Benchmark_wilson_sweep.cc b/benchmarks/Benchmark_wilson_sweep.cc
new file mode 100644
index 00000000..d7c712d3
--- /dev/null
+++ b/benchmarks/Benchmark_wilson_sweep.cc
@@ -0,0 +1,117 @@
+/*************************************************************************************
+    Grid physics library, www.github.com/paboyle/Grid 
+    Source file: ./benchmarks/Benchmark_wilson.cc
+    Copyright (C) 2015
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: paboyle <paboyle@ph.ed.ac.uk>
+Author: Richard Rollins <rprollins@users.noreply.github.com>
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+    See the full license in the file "LICENSE" in the top level distribution directory
+*************************************************************************************/
+/*  END LEGAL */
+#include <Grid/Grid.h>
+
+using namespace std;
+using namespace Grid;
+using namespace Grid::QCD;
+
+template<class d>
+struct scal {
+  d internal;
+};
+
+Gamma::GammaMatrix Gmu [] = {
+  Gamma::GammaX,
+  Gamma::GammaY,
+  Gamma::GammaZ,
+  Gamma::GammaT
+};
+
+bool overlapComms = false;
+
+void bench_wilson (
+		   LatticeFermion &    src,
+		   LatticeFermion & result,
+		   WilsonFermionR &     Dw,
+		   double const     volume,
+		   int const           dag );
+
+int main (int argc, char ** argv)
+{
+  Grid_init(&argc,&argv);
+  if( GridCmdOptionExists(argv,argv+argc,"--asynch") ){ overlapComms = true; }
+  typename WilsonFermionR::ImplParams params;
+  params.overlapCommsCompute = overlapComms;
+
+  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
+  std::vector<int> mpi_layout  = GridDefaultMpi();
+  std::vector<int> seeds({1,2,3,4});
+  RealD mass = 0.1;
+
+  std::cout<<GridLogMessage << "============================================================================="<< std::endl;
+  std::cout<<GridLogMessage << "= Benchmarking Wilson" << std::endl;
+  std::cout<<GridLogMessage << "============================================================================="<< std::endl;
+  std::cout<<GridLogMessage << "Volume\t\t\tWilson/MFLOPs\tWilsonDag/MFLOPs" << std::endl;
+  std::cout<<GridLogMessage << "============================================================================="<< std::endl;
+
+  int Lmax = 32;
+  int dmin = 0;
+  if ( getenv("LMAX") ) Lmax=atoi(getenv("LMAX"));
+  if ( getenv("DMIN") ) dmin=atoi(getenv("DMIN"));
+  for (int L=8; L<=Lmax; L*=2)
+    {
+      std::vector<int> latt_size = std::vector<int>(4,L);
+      for(int d=4; d>dmin; d--)
+	{
+	  if ( d<=3 ) { latt_size[d] *= 2; }
+
+	  std::cout << GridLogMessage;
+	  std::copy( latt_size.begin(), --latt_size.end(), std::ostream_iterator<int>( std::cout, std::string("x").c_str() ) );
+	  std::cout << latt_size.back() << "\t\t";
+
+	  GridCartesian           Grid(latt_size,simd_layout,mpi_layout);
+	  GridRedBlackCartesian RBGrid(latt_size,simd_layout,mpi_layout);
+
+	  GridParallelRNG  pRNG(&Grid); pRNG.SeedFixedIntegers(seeds);
+	  LatticeGaugeField Umu(&Grid); random(pRNG,Umu);
+	  LatticeFermion    src(&Grid); random(pRNG,src);
+	  LatticeFermion result(&Grid); result=zero;
+
+	  double volume = std::accumulate(latt_size.begin(),latt_size.end(),1,std::multiplies<int>());
+
+	  WilsonFermionR Dw(Umu,Grid,RBGrid,mass,params);
+      
+	  bench_wilson(src,result,Dw,volume,DaggerNo);
+	  bench_wilson(src,result,Dw,volume,DaggerYes);
+	  std::cout << std::endl;
+	}
+    }
+
+  std::cout<<GridLogMessage << "============================================================================="<< std::endl;
+  Grid_finalize();
+}
+
+void bench_wilson (
+		   LatticeFermion &    src,
+		   LatticeFermion & result,
+		   WilsonFermionR &     Dw,
+		   double const     volume,
+		   int const           dag )
+{
+  int ncall    = 1000;
+  double t0    = usecond();
+  for(int i=0; i<ncall; i++) { Dw.Dhop(src,result,dag); }
+  double t1    = usecond();
+  double flops = 1344 * volume * ncall;
+  std::cout << flops/(t1-t0) << "\t\t";
+}

From 836f93780c4faa579e4a28bcb8ea6bc3484db4c0 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 5 Aug 2016 13:41:52 +0100
Subject: [PATCH 097/295] first try at including MPI tests in Travis

---
 .travis.yml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 0733d037..c7c10d24 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -23,6 +23,8 @@ matrix:
             - libmpfr-dev
             - libgmp-dev
             - libmpc-dev
+            - libopenmpi-dev
+            - openmpi-bin
             - binutils-dev
       env: VERSION=-4.9
     - compiler: gcc
@@ -35,6 +37,8 @@ matrix:
             - libmpfr-dev
             - libgmp-dev
             - libmpc-dev
+            - libopenmpi-dev
+            - openmpi-bin
             - binutils-dev
       env: VERSION=-5
     - compiler: clang
@@ -47,6 +51,8 @@ matrix:
             - libmpfr-dev
             - libgmp-dev
             - libmpc-dev
+            - libopenmpi-dev
+            - openmpi-bin
             - binutils-dev
       env: CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
     - compiler: clang
@@ -59,6 +65,8 @@ matrix:
             - libmpfr-dev
             - libgmp-dev
             - libmpc-dev
+            - libopenmpi-dev
+            - openmpi-bin
             - binutils-dev
       env: CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
       
@@ -69,6 +77,7 @@ before_install:
     - if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CC" == "clang" ]]; then export LD_LIBRARY_PATH="${GRIDDIR}/clang/lib:${LD_LIBRARY_PATH}"; fi
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install libmpc; fi
+    - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install openmpi; fi
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew install gcc5; fi
     
 install:
@@ -92,3 +101,8 @@ script:
     - ../configure --enable-precision=double --enable-simd=SSE4 --enable-comms=none
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1
+    - echo make clean
+    - ../configure --enable-precision=single --enable-simd=SSE4 --enable-comms=mpi-auto
+    - make -j4
+    - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mpirun.openmpi -n 2 ./benchmarks/Benchmark_dwf --threads 1; fi
+    - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mpirun -n 2 ./benchmarks/Benchmark_dwf --threads 1; fi

From 8dc2cfcedbf635fced78845d86aeec2a00fe0239 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Sat, 6 Aug 2016 00:28:28 +0100
Subject: [PATCH 098/295] Adding fftw header pulling

---
 bootstrap.sh | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/bootstrap.sh b/bootstrap.sh
index 5e9d4041..461eb121 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,11 +1,18 @@
 #!/usr/bin/env bash
 
 EIGEN_URL='http://bitbucket.org/eigen/eigen/get/3.2.9.tar.bz2'
+FFTW_URL=http://www.fftw.org/fftw-3.3.4.tar.gz
 
 echo "-- deploying Eigen source..."
 wget ${EIGEN_URL}
 ./scripts/update_eigen.sh `basename ${EIGEN_URL}`
 rm `basename ${EIGEN_URL}`
+
+echo "-- copying fftw prototypes..."
+wget ${FFTW_URL}
+./scripts/update_fftw.sh `basename ${FFTW_URL}`
+rm `basename ${FFTW_URL}`
+
 echo '-- generating Make.inc files...'
 ./scripts/filelist
 echo '-- generating configure script...'

From fc25d2295cdaaed7ce5e7d629ef2a30696b0d12e Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Sat, 6 Aug 2016 00:28:52 +0100
Subject: [PATCH 099/295] fftw download

---
 scripts/update_fftw.sh | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100755 scripts/update_fftw.sh

diff --git a/scripts/update_fftw.sh b/scripts/update_fftw.sh
new file mode 100755
index 00000000..20e42080
--- /dev/null
+++ b/scripts/update_fftw.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+if (( $# != 1 )); then
+    echo "usage: `basename $0` <archive>" 1>&2
+    exit 1
+fi
+ARC=$1
+
+INITDIR=`pwd`
+rm -rf lib/fftw
+mkdir lib/fftw
+
+ARCDIR=`tar -tf ${ARC} | head -n1 | sed -e 's@/.*@@'`
+tar -xf ${ARC}
+cp ${ARCDIR}/api/fftw3.h lib/fftw/
+
+cd ${INITDIR}
+rm -rf ${ARCDIR}

From ec68e08dd26c1dab129e5650fa8d93c9a3e60394 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Sat, 6 Aug 2016 00:36:05 +0100
Subject: [PATCH 100/295] Travis MPI fix

---
 .travis.yml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index c7c10d24..2fe52a68 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -102,7 +102,8 @@ script:
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1
     - echo make clean
+    - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CXXFLAGS='-DMPI_UINT32_T=MPI_UNSIGNED'; fi
     - ../configure --enable-precision=single --enable-simd=SSE4 --enable-comms=mpi-auto
     - make -j4
-    - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mpirun.openmpi -n 2 ./benchmarks/Benchmark_dwf --threads 1; fi
-    - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mpirun -n 2 ./benchmarks/Benchmark_dwf --threads 1; fi
+    - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mpirun.openmpi -n 2 ./benchmarks/Benchmark_dwf --threads 1 --mpi 2.1.1.1; fi
+    - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mpirun -n 2 ./benchmarks/Benchmark_dwf --threads 1 --mpi 2.1.1.1; fi

From 15218ec57fdff7e6b4af10a0c730bbddac5c2e06 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Sat, 6 Aug 2016 00:49:14 +0100
Subject: [PATCH 101/295] more Travis MPI fix

---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index 2fe52a68..73430b4d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -102,7 +102,7 @@ script:
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1
     - echo make clean
-    - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CXXFLAGS='-DMPI_UINT32_T=MPI_UNSIGNED'; fi
+    - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CXXFLAGS='-DMPI_UINT32_T=MPI_UNSIGNED -DMPI_UINT64_T=MPI_UNSIGNED_LONG'; fi
     - ../configure --enable-precision=single --enable-simd=SSE4 --enable-comms=mpi-auto
     - make -j4
     - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mpirun.openmpi -n 2 ./benchmarks/Benchmark_dwf --threads 1 --mpi 2.1.1.1; fi

From 573b8c602072f8daa7596969f19dda69252b41aa Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Sat, 6 Aug 2016 01:26:24 +0100
Subject: [PATCH 102/295] build system: -O3 is not overriden by env CXXFLAGS

---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 89bb3568..cdcd9d58 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,7 +8,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 ############### Checks for programs
 AC_LANG(C++)
-: ${CXXFLAGS="-O3"}
+CXXFLAGS="-O3 $CXXFLAGS"
 AC_PROG_CXX
 AC_OPENMP
 AM_CXXFLAGS="$OPENMP_CXXFLAGS $AM_CXXFLAGS"

From 147e2025b991bde0324d685d55ae45a95da0fc2d Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 8 Aug 2016 16:54:22 +0100
Subject: [PATCH 103/295] Added unit tests on the representation
 transformations

Status: Passing all tests
---
 lib/qcd/QCD.h                               |  2 +-
 lib/qcd/action/pseudofermion/TwoFlavour.h   |  4 +-
 lib/qcd/hmc/HmcRunner.h                     |  4 +-
 lib/qcd/hmc/integrators/Integrator.h        |  5 +-
 lib/qcd/utils/SUn.h                         | 14 +++
 lib/qcd/utils/SUnAdjoint.h                  | 23 ++++-
 tests/Test_hmc_WilsonAdjointFermionGauge.cc |  5 +-
 tests/Test_lie_generators.cc                | 96 ++++++++++++++++++++-
 tests/Test_wilson_force.cc                  |  4 +-
 9 files changed, 143 insertions(+), 14 deletions(-)

diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index ddb0e217..1503bdf4 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -45,7 +45,7 @@ namespace QCD {
     static const int Zm = 6;
     static const int Tm = 7;
 
-    static const int Nc=3;
+    static const int Nc=2;
     static const int Ns=4;
     static const int Nd=4;
     static const int Nhs=2; // half spinor
diff --git a/lib/qcd/action/pseudofermion/TwoFlavour.h b/lib/qcd/action/pseudofermion/TwoFlavour.h
index d7acc8e7..6eaec166 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavour.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavour.h
@@ -130,8 +130,8 @@ class TwoFlavourPseudoFermionAction : public Action<typename Impl::GaugeField> {
     MdagMLinearOperator<FermionOperator<Impl>, FermionField> MdagMOp(FermOp);
 
     X = zero;
-    DerivativeSolver(MdagMOp, Phi, X);
-    MdagMOp.Op(X, Y);
+    DerivativeSolver(MdagMOp, Phi, X); // X = (MdagM)^-1 phi
+    MdagMOp.Op(X, Y);                  // Y = M X = (Mdag)^-1 phi
 
     // Check hermiticity
     
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index 1245b6ff..dafd2a01 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -103,7 +103,7 @@ class NerscHmcRunnerTemplate {
 
     // Create integrator, including the smearing policy
     // Smearing policy, only defined for Nc=3
-    
+    /*
     std::cout << GridLogDebug << " Creating the Stout class\n";
     double rho = 0.1;  // smearing parameter, now hardcoded
     int Nsmear = 1;    // number of smearing levels
@@ -111,7 +111,7 @@ class NerscHmcRunnerTemplate {
     std::cout << GridLogDebug << " Creating the SmearedConfiguration class\n";
     //SmearedConfiguration<Gimpl> SmearingPolicy(UGrid, Nsmear, Stout);
     std::cout << GridLogDebug << " done\n";
-    
+    */
     //////////////
     NoSmearing<Gimpl> SmearingPolicy;
     typedef MinimumNorm2<GaugeField, NoSmearing<Gimpl>, RepresentationsPolicy >
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index 8ae31574..4a9b2c7a 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -120,6 +120,7 @@ class Integrator {
         FieldType forceR(U._grid);
         // Implement smearing only for the fundamental representation now
         repr_set.at(a)->deriv(Rep.U, forceR);
+        forceR -= adj(forceR);
         GF force =
             Rep.RtoFundamentalProject(forceR);  // Ta for the fundamental rep
         std::cout << GridLogIntegrator << "Hirep Force average: "
@@ -200,10 +201,12 @@ class Integrator {
     template <class FieldType, class Repr>
     void operator()(std::vector<Action<FieldType>*> repr_set, Repr& Rep,
                     GridParallelRNG& pRNG) {
-      for (int a = 0; a < repr_set.size(); ++a)
+      for (int a = 0; a < repr_set.size(); ++a){
         repr_set.at(a)->refresh(Rep.U, pRNG);
+      
       std::cout << GridLogDebug << "Hirep refreshing pseudofermions" << std::endl;
     }
+    }
   } refresh_hireps{};
 
   // Initialization of momenta and actions
diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index 26c7f32d..53bbb5f6 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -672,6 +672,20 @@ class SU {
     }
   }
 
+  // Projects the algebra components a lattice matrix (of dimension ncol*ncol -1 )
+  // inverse operation: FundamentalLieAlgebraMatrix
+  static void projectOnAlgebra(LatticeAlgebraVector &h_out, const LatticeMatrix &in, Real scale = 1.0) {
+    conformable(h_out, in);
+    h_out = zero;
+    Matrix Ta;
+
+    for (int a = 0; a < AdjointDimension; a++) {
+      generator(a, Ta);
+      auto tmp = - 2.0 * (trace(timesI(Ta) * in)) * scale;// 2.0 for the normalization of the trace in the fundamental rep
+      pokeColour(h_out, tmp, a);
+    }
+    std::cout << "h_out " << h_out << std::endl;
+  }
 
 
   template <typename GaugeField>
diff --git a/lib/qcd/utils/SUnAdjoint.h b/lib/qcd/utils/SUnAdjoint.h
index 70f22f4c..6b206898 100644
--- a/lib/qcd/utils/SUnAdjoint.h
+++ b/lib/qcd/utils/SUnAdjoint.h
@@ -110,6 +110,22 @@ class SU_Adjoint : public SU<ncolour> {
     std::cout << GridLogMessage << std::endl;
   }
 
+  static void AdjointLieAlgebraMatrix(
+      const typename SU<ncolour>::LatticeAlgebraVector &h,
+      LatticeAdjMatrix &out, Real scale = 1.0) {
+    conformable(h, out);
+    GridBase *grid = out._grid;
+    LatticeAdjMatrix la(grid);
+    AMatrix iTa;
+
+    out = zero;
+    for (int a = 0; a < Dimension; a++) {
+      generator(a, iTa);
+      la = peekColour(h, a) * iTa * scale;
+      out += la;
+    }
+  }
+
   // Projects the algebra components a lattice matrix (of dimension ncol*ncol -1 )
   static void projectOnAlgebra(typename SU<ncolour>::LatticeAlgebraVector &h_out, const LatticeAdjMatrix &in, Real scale = 1.0) {
     conformable(h_out, in);
@@ -118,9 +134,10 @@ class SU_Adjoint : public SU<ncolour> {
 
     for (int a = 0; a < Dimension; a++) {
       generator(a, iTa);
-      auto tmp = - 2.0 * real(trace(iTa * in)) * scale; 
+      auto tmp = - 1.0/(ncolour) * (trace(iTa * in)) * scale;// 1/Nc for the normalization of the trace in the adj rep
       pokeColour(h_out, tmp, a);
     }
+    //std::cout << "h_out " << h_out << std::endl;
   }
 
   // a projector that keeps the generators stored to avoid the overhead of recomputing. 
@@ -130,12 +147,12 @@ class SU_Adjoint : public SU<ncolour> {
     h_out = zero;
     static bool precalculated = false; 
     if (!precalculated){
-    	precalculated = true;
+      precalculated = true;
         for (int a = 0; a < Dimension; a++) generator(a, iTa[a]);
     }
 
     for (int a = 0; a < Dimension; a++) {
-      auto tmp = - 2.0*real(trace(iTa[a] * in)) * scale; 
+      auto tmp = - 1.0/(ncolour) * (trace(iTa[a] * in)) * scale; 
       pokeColour(h_out, tmp, a);
     }
   }
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
index 935667a8..9c43587d 100644
--- a/tests/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -65,12 +65,13 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     AdjointRepresentation::LatticeField U(UGrid);
 
     // Gauge action
-    WilsonGaugeActionR Waction(5.6);
+    WilsonGaugeActionR Waction(2.0);
 
-    Real mass = -0.77;
+    Real mass = -1.0;
     FermionAction FermOp(U, *FGrid, *FrbGrid, mass);
 
     ConjugateGradient<FermionField> CG(1.0e-8, 10000);
+    ConjugateResidual<FermionField> CR(1.0e-8, 10000);
 
     TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
 
diff --git a/tests/Test_lie_generators.cc b/tests/Test_lie_generators.cc
index b30be869..533ccf9a 100644
--- a/tests/Test_lie_generators.cc
+++ b/tests/Test_lie_generators.cc
@@ -109,10 +109,104 @@ int main(int argc, char** argv) {
 
 
   // Testing HMC representation classes
-  AdjointRep<3> AdjRep(grid);
+  AdjointRep<Nc> AdjRep(grid);
 
   // AdjointRepresentation has the predefined number of colours Nc
   Representations<FundamentalRepresentation, AdjointRepresentation> RepresentationTypes(grid);  
 
+  LatticeGaugeField U(grid), V(grid);
+  SU<Nc>::HotConfiguration<LatticeGaugeField>(gridRNG, U);
+  SU<Nc>::HotConfiguration<LatticeGaugeField>(gridRNG, V);
+
+  // Test group structure
+  // (U_f * V_f)_r = U_r * V_r
+  LatticeGaugeField UV(grid);
+  for (int mu = 0; mu < Nd; mu++) {
+    SU<Nc>::LatticeMatrix Umu = peekLorentz(U,mu);
+    SU<Nc>::LatticeMatrix Vmu = peekLorentz(V,mu);
+    pokeLorentz(UV,Umu*Vmu, mu);
+  }
+
+  AdjRep.update_representation(UV);
+  typename AdjointRep<Nc>::LatticeField UVr = AdjRep.U;  // (U_f * V_f)_r
+
+
+  AdjRep.update_representation(U);
+  typename AdjointRep<Nc>::LatticeField Ur = AdjRep.U;  // U_r
+
+  AdjRep.update_representation(V);
+  typename AdjointRep<Nc>::LatticeField Vr = AdjRep.U;  // V_r
+
+  typename AdjointRep<Nc>::LatticeField UrVr(grid);
+  for (int mu = 0; mu < Nd; mu++) {
+    typename AdjointRep<Nc>::LatticeMatrix Urmu = peekLorentz(Ur,mu);
+    typename AdjointRep<Nc>::LatticeMatrix Vrmu = peekLorentz(Vr,mu);
+    pokeLorentz(UrVr,Urmu*Vrmu, mu);
+  }
+
+  typename AdjointRep<Nc>::LatticeField Diff_check = UVr - UrVr;
+  std::cout << GridLogMessage << "Group structure check difference : " << norm2(Diff_check) << std::endl;
+
+  //  Check correspondence of algebra and group transformations
+  // Create a random vector
+  SU<Nc>::LatticeAlgebraVector h_adj(grid);
+  typename AdjointRep<Nc>::LatticeMatrix Ar(grid);
+  random(gridRNG,h_adj);
+  h_adj = real(h_adj);
+  SU_Adjoint<Nc>::AdjointLieAlgebraMatrix(h_adj,Ar);
+
+  // Re-extract h_adj
+  SU<Nc>::LatticeAlgebraVector h_adj2(grid);
+  SU_Adjoint<Nc>::projectOnAlgebra(h_adj2, Ar);
+  SU<Nc>::LatticeAlgebraVector h_diff = h_adj - h_adj2;
+  std::cout << GridLogMessage << "Projections structure check vector difference : " << norm2(h_diff) << std::endl;
+
+  // Exponentiate
+  typename AdjointRep<Nc>::LatticeMatrix Uadj(grid);
+  Uadj  = expMat(Ar, 1.0, 16);
+
+  typename AdjointRep<Nc>::LatticeMatrix uno(grid);
+  uno = 1.0;
+  // Check matrix Uadj, must be real orthogonal
+  typename AdjointRep<Nc>::LatticeMatrix Ucheck = Uadj - conjugate(Uadj);
+  std::cout << GridLogMessage << "Reality check: " << norm2(Ucheck)
+            << std::endl;
+
+  Ucheck = Uadj * adj(Uadj) - uno;
+  std::cout << GridLogMessage << "orthogonality check 1: " << norm2(Ucheck)
+            << std::endl;
+  Ucheck = adj(Uadj) * Uadj - uno;
+  std::cout << GridLogMessage << "orthogonality check 2: " << norm2(Ucheck)
+            << std::endl;
+      
+
+  // Construct the fundamental matrix in the group
+  SU<Nc>::LatticeMatrix Af(grid);
+  SU<Nc>::FundamentalLieAlgebraMatrix(h_adj,Af);
+  SU<Nc>::LatticeMatrix Ufund(grid);
+  Ufund  = expMat(Af, 1.0, 16);
+  // Check unitarity
+  SU<Nc>::LatticeMatrix uno_f(grid);
+  uno_f = 1.0;
+  SU<Nc>::LatticeMatrix UnitCheck(grid);
+  UnitCheck = Ufund * adj(Ufund) - uno_f;
+  std::cout << GridLogMessage << "unitarity check 1: " << norm2(UnitCheck)
+            << std::endl;
+  UnitCheck = adj(Ufund) * Ufund - uno_f;
+  std::cout << GridLogMessage << "unitarity check 2: " << norm2(UnitCheck)
+            << std::endl;
+
+
+  // Tranform to the adjoint representation
+  U = zero; // fill this with only one direction
+  pokeLorentz(U,Ufund,0); // the representation transf acts on full gauge fields
+
+  AdjRep.update_representation(U);
+  Ur = AdjRep.U;  // U_r  
+  typename AdjointRep<Nc>::LatticeMatrix Ur0 = peekLorentz(Ur,0); // this should be the same as Uadj
+
+  typename AdjointRep<Nc>::LatticeMatrix Diff_check_mat = Ur0 - Uadj;
+  std::cout << GridLogMessage << "Projections structure check group difference : " << norm2(Diff_check_mat) << std::endl;
+
   Grid_finalize();
 }
diff --git a/tests/Test_wilson_force.cc b/tests/Test_wilson_force.cc
index 0432fbfa..a6117897 100644
--- a/tests/Test_wilson_force.cc
+++ b/tests/Test_wilson_force.cc
@@ -58,7 +58,7 @@ int main (int argc, char ** argv)
 
   LatticeGaugeField U(&Grid);
 
-  SU3::HotConfiguration(pRNG,U);
+  SU2::HotConfiguration(pRNG,U);
   //  SU3::ColdConfiguration(pRNG,U);
   
   ////////////////////////////////////
@@ -95,7 +95,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU2::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     Hmom -= real(sum(trace(mommu*mommu)));
 

From 9c2e8d5e28fe03cb7b3245066d4de6cfb9071203 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 9 Aug 2016 15:46:57 +0100
Subject: [PATCH 104/295] Nc=3 just to let all the test pass in Travis

---
 lib/qcd/QCD.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index 1503bdf4..ddb0e217 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -45,7 +45,7 @@ namespace QCD {
     static const int Zm = 6;
     static const int Tm = 7;
 
-    static const int Nc=2;
+    static const int Nc=3;
     static const int Ns=4;
     static const int Nd=4;
     static const int Nhs=2; // half spinor

From 90e70790f312bff33a397d78a5b133c7f3d7a136 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 15 Aug 2016 22:31:29 +0100
Subject: [PATCH 105/295] Feature for z-Mobius prep

---
 configure.ac                                  |  2 +-
 lib/qcd/action/Actions.h                      | 12 ++-
 lib/qcd/action/fermion/CayleyFermion5D.cc     | 58 ++++++++------
 lib/qcd/action/fermion/CayleyFermion5D.h      | 49 ++++++------
 .../action/fermion/CayleyFermion5Dcache.cc    | 14 ++--
 lib/qcd/action/fermion/CayleyFermion5Dssp.cc  | 12 +--
 lib/qcd/action/fermion/CayleyFermion5Dvec.cc  | 24 +++---
 lib/qcd/action/fermion/FermionOperatorImpl.h  | 25 +++++-
 lib/qcd/action/fermion/WilsonKernels.cc       | 23 +++---
 lib/qcd/action/fermion/WilsonKernels.h        |  4 +
 lib/qcd/action/fermion/WilsonKernelsAsm.cc    | 20 +++++
 lib/qcd/action/fermion/WilsonKernelsAsmBody.h | 65 ++++++++++++++-
 lib/qcd/action/fermion/ZMobiusFermion.h       | 79 +++++++++++++++++++
 tests/debug/Test_cayley_even_odd_vec.cc       | 12 +++
 14 files changed, 312 insertions(+), 87 deletions(-)
 create mode 100644 lib/qcd/action/fermion/ZMobiusFermion.h

diff --git a/configure.ac b/configure.ac
index cdcd9d58..2e46a411 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,7 +12,7 @@ CXXFLAGS="-O3 $CXXFLAGS"
 AC_PROG_CXX
 AC_OPENMP
 AM_CXXFLAGS="$OPENMP_CXXFLAGS $AM_CXXFLAGS"
-LT_INIT([disable-shared])
+LT_INIT
 
 ############### Checks for header files
 AC_CHECK_HEADERS(stdint.h)
diff --git a/lib/qcd/action/Actions.h b/lib/qcd/action/Actions.h
index be08cdde..1ad3a584 100644
--- a/lib/qcd/action/Actions.h
+++ b/lib/qcd/action/Actions.h
@@ -111,12 +111,16 @@ typedef SymanzikGaugeAction<ConjugateGimplD>        ConjugateSymanzikGaugeAction
 #define FermOp4dVecTemplateInstantiate(A) \
   template class A<WilsonImplF>;		\
   template class A<WilsonImplD>;		\
+  template class A<ZWilsonImplF>;		\
+  template class A<ZWilsonImplD>;		\
   template class A<GparityWilsonImplF>;		\
   template class A<GparityWilsonImplD>;		
 
 #define FermOp5dVecTemplateInstantiate(A) \
   template class A<DomainWallVec5dImplF>;	\
-  template class A<DomainWallVec5dImplD>;	
+  template class A<DomainWallVec5dImplD>;	\
+  template class A<ZDomainWallVec5dImplF>;	\
+  template class A<ZDomainWallVec5dImplD>;	
 
 #define FermOpTemplateInstantiate(A) \
  FermOp4dVecTemplateInstantiate(A) \
@@ -138,6 +142,7 @@ typedef SymanzikGaugeAction<ConjugateGimplD>        ConjugateSymanzikGaugeAction
 #include <Grid/qcd/action/fermion/DomainWallFermion.h>
 #include <Grid/qcd/action/fermion/DomainWallFermion.h>
 #include <Grid/qcd/action/fermion/MobiusFermion.h>
+#include <Grid/qcd/action/fermion/ZMobiusFermion.h>
 #include <Grid/qcd/action/fermion/ScaledShamirFermion.h>
 #include <Grid/qcd/action/fermion/MobiusZolotarevFermion.h>
 #include <Grid/qcd/action/fermion/ShamirZolotarevFermion.h>
@@ -176,6 +181,11 @@ typedef DomainWallFermion<WilsonImplD> DomainWallFermionD;
 typedef MobiusFermion<WilsonImplR> MobiusFermionR;
 typedef MobiusFermion<WilsonImplF> MobiusFermionF;
 typedef MobiusFermion<WilsonImplD> MobiusFermionD;
+
+typedef ZMobiusFermion<ZWilsonImplR> ZMobiusFermionR;
+typedef ZMobiusFermion<ZWilsonImplF> ZMobiusFermionF;
+typedef ZMobiusFermion<ZWilsonImplD> ZMobiusFermionD;
+
 typedef ScaledShamirFermion<WilsonImplR> ScaledShamirFermionR;
 typedef ScaledShamirFermion<WilsonImplF> ScaledShamirFermionF;
 typedef ScaledShamirFermion<WilsonImplD> ScaledShamirFermionD;
diff --git a/lib/qcd/action/fermion/CayleyFermion5D.cc b/lib/qcd/action/fermion/CayleyFermion5D.cc
index 066cede4..c4196043 100644
--- a/lib/qcd/action/fermion/CayleyFermion5D.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5D.cc
@@ -54,18 +54,18 @@ template<class Impl>
 void CayleyFermion5D<Impl>::M5D   (const FermionField &psi, FermionField &chi)
 {
   int Ls=this->Ls;
-  std::vector<RealD> diag (Ls,1.0);
-  std::vector<RealD> upper(Ls,-1.0); upper[Ls-1]=mass;
-  std::vector<RealD> lower(Ls,-1.0); lower[0]   =mass;
+  std::vector<Coeff_t> diag (Ls,1.0);
+  std::vector<Coeff_t> upper(Ls,-1.0); upper[Ls-1]=mass;
+  std::vector<Coeff_t> lower(Ls,-1.0); lower[0]   =mass;
   M5D(psi,chi,chi,lower,diag,upper);
 }
 template<class Impl>
 void CayleyFermion5D<Impl>::Meooe5D    (const FermionField &psi, FermionField &Din)
 {
   int Ls=this->Ls;
-  std::vector<RealD> diag = bs;
-  std::vector<RealD> upper= cs;
-  std::vector<RealD> lower= cs; 
+  std::vector<Coeff_t> diag = bs;
+  std::vector<Coeff_t> upper= cs;
+  std::vector<Coeff_t> lower= cs; 
   upper[Ls-1]=-mass*upper[Ls-1];
   lower[0]   =-mass*lower[0];
   M5D(psi,psi,Din,lower,diag,upper);
@@ -73,9 +73,9 @@ void CayleyFermion5D<Impl>::Meooe5D    (const FermionField &psi, FermionField &D
 template<class Impl> void CayleyFermion5D<Impl>::Meo5D     (const FermionField &psi, FermionField &chi)
 {
   int Ls=this->Ls;
-  std::vector<RealD> diag = beo;
-  std::vector<RealD> upper(Ls);
-  std::vector<RealD> lower(Ls);
+  std::vector<Coeff_t> diag = beo;
+  std::vector<Coeff_t> upper(Ls);
+  std::vector<Coeff_t> lower(Ls);
   for(int i=0;i<Ls;i++) {
     upper[i]=-ceo[i];
     lower[i]=-ceo[i];
@@ -88,9 +88,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::Mooee       (const FermionField &psi, FermionField &chi)
 {
   int Ls=this->Ls;
-  std::vector<RealD> diag = bee;
-  std::vector<RealD> upper(Ls);
-  std::vector<RealD> lower(Ls);
+  std::vector<Coeff_t> diag = bee;
+  std::vector<Coeff_t> upper(Ls);
+  std::vector<Coeff_t> lower(Ls);
   for(int i=0;i<Ls;i++) {
     upper[i]=-cee[i];
     lower[i]=-cee[i];
@@ -104,9 +104,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::MooeeDag    (const FermionField &psi, FermionField &chi)
 {
   int Ls=this->Ls;
-  std::vector<RealD> diag = bee;
-  std::vector<RealD> upper(Ls);
-  std::vector<RealD> lower(Ls);
+  std::vector<Coeff_t> diag = bee;
+  std::vector<Coeff_t> upper(Ls);
+  std::vector<Coeff_t> lower(Ls);
 
   for (int s=0;s<Ls;s++){
     // Assemble the 5d matrix
@@ -129,9 +129,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::M5Ddag (const FermionField &psi, FermionField &chi)
 {
   int Ls=this->Ls;
-  std::vector<RealD> diag(Ls,1.0);
-  std::vector<RealD> upper(Ls,-1.0);
-  std::vector<RealD> lower(Ls,-1.0);
+  std::vector<Coeff_t> diag(Ls,1.0);
+  std::vector<Coeff_t> upper(Ls,-1.0);
+  std::vector<Coeff_t> lower(Ls,-1.0);
   upper[Ls-1]=-mass*upper[Ls-1];
   lower[0]   =-mass*lower[0];
   M5Ddag(psi,chi,chi,lower,diag,upper);
@@ -141,9 +141,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::MeooeDag5D    (const FermionField &psi, FermionField &Din)
 {
   int Ls=this->Ls;
-  std::vector<RealD> diag =bs;
-  std::vector<RealD> upper=cs;
-  std::vector<RealD> lower=cs;
+  std::vector<Coeff_t> diag =bs;
+  std::vector<Coeff_t> upper=cs;
+  std::vector<Coeff_t> lower=cs;
   upper[Ls-1]=-mass*upper[Ls-1];
   lower[0]   =-mass*lower[0];
   M5Ddag(psi,psi,Din,lower,diag,upper);
@@ -273,11 +273,21 @@ void CayleyFermion5D<Impl>::MeoDeriv(GaugeField &mat,const FermionField &U,const
 template<class Impl>
 void CayleyFermion5D<Impl>::SetCoefficientsTanh(Approx::zolotarev_data *zdata,RealD b,RealD c)
 {
-  SetCoefficientsZolotarev(1.0,zdata,b,c);
+  std::vector<Coeff_t> gamma(this->Ls);
+  for(int s=0;s<this->Ls;s++) gamma[s] = zdata->gamma[s];
+  SetCoefficientsInternal(1.0,gamma,b,c);
 }
 //Zolo
 template<class Impl>
 void CayleyFermion5D<Impl>::SetCoefficientsZolotarev(RealD zolo_hi,Approx::zolotarev_data *zdata,RealD b,RealD c)
+{
+  std::vector<Coeff_t> gamma(this->Ls);
+  for(int s=0;s<this->Ls;s++) gamma[s] = zdata->gamma[s];
+  SetCoefficientsInternal(zolo_hi,gamma,b,c);
+}
+//Zolo
+template<class Impl>
+void CayleyFermion5D<Impl>::SetCoefficientsInternal(RealD zolo_hi,std::vector<Coeff_t> & gamma,RealD b,RealD c)
 {
   int Ls=this->Ls;
 
@@ -315,7 +325,7 @@ void CayleyFermion5D<Impl>::SetCoefficientsZolotarev(RealD zolo_hi,Approx::zolot
   double bmc = b-c;
   for(int i=0; i < Ls; i++){
     as[i] = 1.0;
-    omega[i] = ((double)zdata->gamma[i])*zolo_hi; //NB reciprocal relative to Chroma NEF code
+    omega[i] = gamma[i]*zolo_hi; //NB reciprocal relative to Chroma NEF code
     bs[i] = 0.5*(bpc/omega[i] + bmc);
     cs[i] = 0.5*(bpc/omega[i] - bmc);
   }
@@ -377,7 +387,7 @@ void CayleyFermion5D<Impl>::SetCoefficientsZolotarev(RealD zolo_hi,Approx::zolot
   }
 	
   { 
-    double delta_d=mass*cee[Ls-1];
+    Coeff_t delta_d=mass*cee[Ls-1];
     for(int j=0;j<Ls-1;j++) delta_d *= cee[j]/bee[j];
     dee[Ls-1] += delta_d;
   }  
diff --git a/lib/qcd/action/fermion/CayleyFermion5D.h b/lib/qcd/action/fermion/CayleyFermion5D.h
index a5af4e73..53a93a05 100644
--- a/lib/qcd/action/fermion/CayleyFermion5D.h
+++ b/lib/qcd/action/fermion/CayleyFermion5D.h
@@ -62,16 +62,16 @@ namespace Grid {
       void M5D(const FermionField &psi,
 	       const FermionField &phi, 
 	       FermionField &chi,
-	       std::vector<RealD> &lower,
-	       std::vector<RealD> &diag,
-	       std::vector<RealD> &upper);
+	       std::vector<Coeff_t> &lower,
+	       std::vector<Coeff_t> &diag,
+	       std::vector<Coeff_t> &upper);
 
       void M5Ddag(const FermionField &psi,
 		  const FermionField &phi, 
 		  FermionField &chi,
-		  std::vector<RealD> &lower,
-		  std::vector<RealD> &diag,
-		  std::vector<RealD> &upper);
+		  std::vector<Coeff_t> &lower,
+		  std::vector<Coeff_t> &diag,
+		  std::vector<Coeff_t> &upper);
       void MooeeInternal(const FermionField &in, FermionField &out,int dag,int inv);
 
       virtual void   Instantiatable(void)=0;
@@ -91,23 +91,23 @@ namespace Grid {
       RealD mass;
 
       // Cayley form Moebius (tanh and zolotarev)
-      std::vector<RealD> omega; 
-      std::vector<RealD> bs;    // S dependent coeffs
-      std::vector<RealD> cs;    
-      std::vector<RealD> as;    
+      std::vector<Coeff_t> omega; 
+      std::vector<Coeff_t> bs;    // S dependent coeffs
+      std::vector<Coeff_t> cs;    
+      std::vector<Coeff_t> as;    
       // For preconditioning Cayley form
-      std::vector<RealD> bee;    
-      std::vector<RealD> cee;    
-      std::vector<RealD> aee;    
-      std::vector<RealD> beo;    
-      std::vector<RealD> ceo;    
-      std::vector<RealD> aeo;    
+      std::vector<Coeff_t> bee;    
+      std::vector<Coeff_t> cee;    
+      std::vector<Coeff_t> aee;    
+      std::vector<Coeff_t> beo;    
+      std::vector<Coeff_t> ceo;    
+      std::vector<Coeff_t> aeo;    
       // LDU factorisation of the eeoo matrix
-      std::vector<RealD> lee;    
-      std::vector<RealD> leem;    
-      std::vector<RealD> uee;    
-      std::vector<RealD> ueem;    
-      std::vector<RealD> dee;    
+      std::vector<Coeff_t> lee;    
+      std::vector<Coeff_t> leem;    
+      std::vector<Coeff_t> uee;    
+      std::vector<Coeff_t> ueem;    
+      std::vector<Coeff_t> dee;    
 
       // Constructors
       CayleyFermion5D(GaugeField &_Umu,
@@ -117,20 +117,19 @@ namespace Grid {
 		      GridRedBlackCartesian &FourDimRedBlackGrid,
 		      RealD _mass,RealD _M5,const ImplParams &p= ImplParams());
 
-
-
     protected:
       void SetCoefficientsZolotarev(RealD zolohi,Approx::zolotarev_data *zdata,RealD b,RealD c);
       void SetCoefficientsTanh(Approx::zolotarev_data *zdata,RealD b,RealD c);
+      void SetCoefficientsInternal(RealD zolo_hi,std::vector<Coeff_t> & gamma,RealD b,RealD c);
     };
 
   }
 }
 #define INSTANTIATE_DPERP(A)\
 template void CayleyFermion5D< A >::M5D(const FermionField &psi,const FermionField &phi,FermionField &chi,\
-					std::vector<RealD> &lower,std::vector<RealD> &diag,std::vector<RealD> &upper); \
+					std::vector<Coeff_t> &lower,std::vector<Coeff_t> &diag,std::vector<Coeff_t> &upper); \
 template void CayleyFermion5D< A >::M5Ddag(const FermionField &psi,const FermionField &phi,FermionField &chi,\
-					   std::vector<RealD> &lower,std::vector<RealD> &diag,std::vector<RealD> &upper); \
+					   std::vector<Coeff_t> &lower,std::vector<Coeff_t> &diag,std::vector<Coeff_t> &upper); \
 template void CayleyFermion5D< A >::MooeeInv    (const FermionField &psi, FermionField &chi); \
 template void CayleyFermion5D< A >::MooeeInvDag (const FermionField &psi, FermionField &chi);
 
diff --git a/lib/qcd/action/fermion/CayleyFermion5Dcache.cc b/lib/qcd/action/fermion/CayleyFermion5Dcache.cc
index 4791e7a2..62e91dd4 100644
--- a/lib/qcd/action/fermion/CayleyFermion5Dcache.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5Dcache.cc
@@ -43,9 +43,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::M5D(const FermionField &psi,
 				const FermionField &phi, 
 				FermionField &chi,
-				std::vector<RealD> &lower,
-				std::vector<RealD> &diag,
-				std::vector<RealD> &upper)
+				std::vector<Coeff_t> &lower,
+				std::vector<Coeff_t> &diag,
+				std::vector<Coeff_t> &upper)
 {
   int Ls =this->Ls;
   GridBase *grid=psi._grid;
@@ -82,9 +82,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::M5Ddag(const FermionField &psi,
 				   const FermionField &phi, 
 				   FermionField &chi,
-				   std::vector<RealD> &lower,
-				   std::vector<RealD> &diag,
-				   std::vector<RealD> &upper)
+				   std::vector<Coeff_t> &lower,
+				   std::vector<Coeff_t> &diag,
+				   std::vector<Coeff_t> &upper)
 {
   int Ls =this->Ls;
   GridBase *grid=psi._grid;
@@ -204,6 +204,8 @@ PARALLEL_FOR_LOOP
   INSTANTIATE_DPERP(WilsonImplD);
   INSTANTIATE_DPERP(GparityWilsonImplF);
   INSTANTIATE_DPERP(GparityWilsonImplD);
+  INSTANTIATE_DPERP(ZWilsonImplF);
+  INSTANTIATE_DPERP(ZWilsonImplD);
 #endif
 
 }}
diff --git a/lib/qcd/action/fermion/CayleyFermion5Dssp.cc b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
index a2c96d87..ad7daddb 100644
--- a/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5Dssp.cc
@@ -43,9 +43,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::M5D(const FermionField &psi,
 				const FermionField &phi, 
 				FermionField &chi,
-				std::vector<RealD> &lower,
-				std::vector<RealD> &diag,
-				std::vector<RealD> &upper)
+				std::vector<Coeff_t> &lower,
+				std::vector<Coeff_t> &diag,
+				std::vector<Coeff_t> &upper)
 {
   int Ls=this->Ls;
   for(int s=0;s<Ls;s++){
@@ -65,9 +65,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::M5Ddag(const FermionField &psi,
 				   const FermionField &phi, 
 				   FermionField &chi,
-				   std::vector<RealD> &lower,
-				   std::vector<RealD> &diag,
-				   std::vector<RealD> &upper)
+				   std::vector<Coeff_t> &lower,
+				   std::vector<Coeff_t> &diag,
+				   std::vector<Coeff_t> &upper)
 {
   int Ls=this->Ls;
   for(int s=0;s<Ls;s++){
diff --git a/lib/qcd/action/fermion/CayleyFermion5Dvec.cc b/lib/qcd/action/fermion/CayleyFermion5Dvec.cc
index 26c0999e..f6569923 100644
--- a/lib/qcd/action/fermion/CayleyFermion5Dvec.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5Dvec.cc
@@ -53,9 +53,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::M5D(const FermionField &psi,
 				const FermionField &phi, 
 				FermionField &chi,
-				std::vector<RealD> &lower,
-				std::vector<RealD> &diag,
-				std::vector<RealD> &upper)
+				std::vector<Coeff_t> &lower,
+				std::vector<Coeff_t> &diag,
+				std::vector<Coeff_t> &upper)
 {
   GridBase *grid=psi._grid;
   int Ls   = this->Ls;
@@ -121,9 +121,9 @@ template<class Impl>
 void CayleyFermion5D<Impl>::M5Ddag(const FermionField &psi,
 				   const FermionField &phi, 
 				   FermionField &chi,
-				   std::vector<RealD> &lower,
-				   std::vector<RealD> &diag,
-				   std::vector<RealD> &upper)
+				   std::vector<Coeff_t> &lower,
+				   std::vector<Coeff_t> &diag,
+				   std::vector<Coeff_t> &upper)
 {
   GridBase *grid=psi._grid;
   int Ls   = this->Ls;
@@ -194,8 +194,8 @@ void CayleyFermion5D<Impl>::MooeeInternal(const FermionField &psi, FermionField
 
   chi.checkerboard=psi.checkerboard;
   
-  Eigen::MatrixXd Pplus  = Eigen::MatrixXd::Zero(Ls,Ls);
-  Eigen::MatrixXd Pminus = Eigen::MatrixXd::Zero(Ls,Ls);
+  Eigen::MatrixXcd Pplus  = Eigen::MatrixXcd::Zero(Ls,Ls);
+  Eigen::MatrixXcd Pminus = Eigen::MatrixXcd::Zero(Ls,Ls);
   
   for(int s=0;s<Ls;s++){
     Pplus(s,s) = bee[s];
@@ -212,8 +212,8 @@ void CayleyFermion5D<Impl>::MooeeInternal(const FermionField &psi, FermionField
   Pplus (0,Ls-1) = mass*cee[0];
   Pminus(Ls-1,0) = mass*cee[Ls-1];
   
-  Eigen::MatrixXd PplusMat ;
-  Eigen::MatrixXd PminusMat;
+  Eigen::MatrixXcd PplusMat ;
+  Eigen::MatrixXcd PminusMat;
   
   if ( inv ) {
     PplusMat =Pplus.inverse();
@@ -298,8 +298,12 @@ PARALLEL_FOR_LOOP
 
 INSTANTIATE_DPERP(DomainWallVec5dImplD);
 INSTANTIATE_DPERP(DomainWallVec5dImplF);
+INSTANTIATE_DPERP(ZDomainWallVec5dImplD);
+INSTANTIATE_DPERP(ZDomainWallVec5dImplF);
 
 template void CayleyFermion5D<DomainWallVec5dImplF>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
 template void CayleyFermion5D<DomainWallVec5dImplD>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
+template void CayleyFermion5D<ZDomainWallVec5dImplF>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
+template void CayleyFermion5D<ZDomainWallVec5dImplD>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
 
 }}
diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 4126d185..b756936b 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -100,7 +100,8 @@ namespace Grid {
     typedef typename Impl::SiteHalfSpinor       SiteHalfSpinor;		\
     typedef typename Impl::Compressor               Compressor;		\
     typedef typename Impl::StencilImpl             StencilImpl;	  \
-    typedef typename Impl::ImplParams ImplParams;
+    typedef typename Impl::ImplParams ImplParams; \
+    typedef typename Impl::Coeff_t       Coeff_t;
 
 #define INHERIT_IMPL_TYPES(Base) \
     INHERIT_GIMPL_TYPES(Base)\
@@ -109,12 +110,14 @@ namespace Grid {
     ///////
     // Single flavour four spinors with colour index
     ///////
-    template<class S,int Nrepresentation=Nc>
+    template<class S,int Nrepresentation=Nc,class _Coeff_t = RealD>
     class WilsonImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S, Nrepresentation> > { 
     public:
 
+
       const bool LsVectorised=false;
 
+      typedef _Coeff_t Coeff_t;
       typedef PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > Gimpl;
 
       INHERIT_GIMPL_TYPES(Gimpl);
@@ -192,12 +195,13 @@ PARALLEL_FOR_LOOP
     ///////
     // Single flavour four spinors with colour index, 5d redblack
     ///////
-    template<class S,int Nrepresentation=Nc>
+    template<class S,int Nrepresentation=Nc,class _Coeff_t = RealD>
     class DomainWallVec5dImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { 
     public:
     
       const bool LsVectorised=true;
 
+      typedef _Coeff_t Coeff_t;
       typedef PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > Gimpl;
 
       INHERIT_GIMPL_TYPES(Gimpl);
@@ -287,12 +291,13 @@ PARALLEL_FOR_LOOP
     // Flavour doubled spinors; is Gparity the only? what about C*?
     ////////////////////////////////////////////////////////////////////////////////////////
 
-    template<class S,int Nrepresentation>
+    template<class S,int Nrepresentation,class _Coeff_t = RealD>
     class GparityWilsonImpl : public ConjugateGaugeImpl< GaugeImplTypes<S,Nrepresentation> >{ 
     public:
 
       const bool LsVectorised=false;
 
+      typedef _Coeff_t Coeff_t;
       typedef ConjugateGaugeImpl< GaugeImplTypes<S,Nrepresentation> > Gimpl;
 
       INHERIT_GIMPL_TYPES(Gimpl);
@@ -483,6 +488,18 @@ PARALLEL_FOR_LOOP
     typedef WilsonImpl<vComplexF,Nc> WilsonImplF; // Float
     typedef WilsonImpl<vComplexD,Nc> WilsonImplD; // Double
 
+    typedef WilsonImpl<vComplex ,Nc,ComplexD>  ZWilsonImplR; // Real.. whichever prec
+    typedef WilsonImpl<vComplexF,Nc,ComplexD> ZWilsonImplF; // Float
+    typedef WilsonImpl<vComplexD,Nc,ComplexD> ZWilsonImplD; // Double
+
+    typedef DomainWallVec5dImpl<vComplex ,Nc> DomainWallVec5dImplR; // Real.. whichever prec
+    typedef DomainWallVec5dImpl<vComplexF,Nc> DomainWallVec5dImplF; // Float
+    typedef DomainWallVec5dImpl<vComplexD,Nc> DomainWallVec5dImplD; // Double
+
+    typedef DomainWallVec5dImpl<vComplex ,Nc,ComplexD>  ZDomainWallVec5dImplR; // Real.. whichever prec
+    typedef DomainWallVec5dImpl<vComplexF,Nc,ComplexD> ZDomainWallVec5dImplF; // Float
+    typedef DomainWallVec5dImpl<vComplexD,Nc,ComplexD> ZDomainWallVec5dImplD; // Double
+
     typedef DomainWallVec5dImpl<vComplex ,Nc> DomainWallVec5dImplR; // Real.. whichever prec
     typedef DomainWallVec5dImpl<vComplexF,Nc> DomainWallVec5dImplF; // Float
     typedef DomainWallVec5dImpl<vComplexD,Nc> DomainWallVec5dImplD; // Double
diff --git a/lib/qcd/action/fermion/WilsonKernels.cc b/lib/qcd/action/fermion/WilsonKernels.cc
index d644f6ef..a12a2b16 100644
--- a/lib/qcd/action/fermion/WilsonKernels.cc
+++ b/lib/qcd/action/fermion/WilsonKernels.cc
@@ -68,16 +68,21 @@ void WilsonKernels<Impl>::DiracOptDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,
 					   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 					   int sF,int sU,int Ls, int Ns, const FermionField &in, FermionField &out)
 {
-  // No asm implementation yet.
-  //  if ( AsmOpt )     WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
-  //  else
-  for(int site=0;site<Ns;site++) {
-    for(int s=0;s<Ls;s++) {
-      if (HandOpt) WilsonKernels<Impl>::DiracOptHandDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
-      else         WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
-      sF++;
+#ifdef AVX512
+  if ( AsmOpt ) {
+    WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
+  } else {
+#else
+  {  
+#endif
+    for(int site=0;site<Ns;site++) {
+      for(int s=0;s<Ls;s++) {
+	if (HandOpt) WilsonKernels<Impl>::DiracOptHandDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
+	else         WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
+	sF++;
+      }
+      sU++;
     }
-    sU++;
   }
 }
 
diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index 231fa293..b679d3f9 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -79,6 +79,10 @@ namespace Grid {
 			      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 			      int sF,int sU,int Ls, int Ns, const FermionField &in, FermionField &out);
 
+     void DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
+			      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+			      int sF,int sU,int Ls, int Ns, const FermionField &in, FermionField &out);
+
 
      void DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 			      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index 83871b7b..b443ccf9 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -73,12 +73,21 @@ static int signInit = setupSigns();
 #define MAYBEPERM(A,perm) if (perm) { A ; }
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf)
 #define FX(A) WILSONASM_ ##A
+
+#undef KERNEL_DAG
 template<>
 void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
 						     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 						     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 
+#define KERNEL_DAG
+template<>
+void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+						     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+						     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+#include <qcd/action/fermion/WilsonKernelsAsmBody.h>
+
 #undef VMOVIDUP
 #undef VMOVRDUP
 #undef MAYBEPERM
@@ -89,14 +98,25 @@ void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrd
 #define VMOVIDUP(A,B,C)                                  VBCASTIDUPf(A,B,C)
 #define VMOVRDUP(A,B,C)                                  VBCASTRDUPf(A,B,C)
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
+
+#undef KERNEL_DAG
 template<>
 void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
 								   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 								   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 
+#define KERNEL_DAG
+template<>
+void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+								   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+								   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+#include <qcd/action/fermion/WilsonKernelsAsmBody.h>
+
 #endif
 
+
+
 template void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
 							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 							      int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsmBody.h b/lib/qcd/action/fermion/WilsonKernelsAsmBody.h
index 4f3ef861..d236a774 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsmBody.h
+++ b/lib/qcd/action/fermion/WilsonKernelsAsmBody.h
@@ -30,7 +30,11 @@
   basep = st.GetPFInfo(nent,plocal); nent++;
   if ( local ) {
     LOAD64(%r10,isigns);
+#ifdef KERNEL_DAG
+    XP_PROJMEM(base);
+#else 
     XM_PROJMEM(base);
+#endif
     MAYBEPERM(PERMUTE_DIR3,perm);
   } else { 
     LOAD_CHI(base);
@@ -41,15 +45,22 @@
     MULT_2SPIN_DIR_PFXP(Xp,basep);
   }
   LOAD64(%r10,isigns);
+#ifdef KERNEL_DAG
+  XP_RECON;
+#else
   XM_RECON;
-
+#endif
   ////////////////////////////////
   // Yp
   ////////////////////////////////
   basep = st.GetPFInfo(nent,plocal); nent++;
   if ( local ) {
     LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+    YP_PROJMEM(base);
+#else
     YM_PROJMEM(base);
+#endif
     MAYBEPERM(PERMUTE_DIR2,perm);
   } else { 
     LOAD_CHI(base);
@@ -60,7 +71,11 @@
     MULT_2SPIN_DIR_PFYP(Yp,basep);
   }
   LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+  YP_RECON_ACCUM;
+#else
   YM_RECON_ACCUM;
+#endif
 
   ////////////////////////////////
   // Zp
@@ -68,7 +83,11 @@
   basep = st.GetPFInfo(nent,plocal); nent++;
   if ( local ) {
     LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+    ZP_PROJMEM(base);
+#else
     ZM_PROJMEM(base);
+#endif
     MAYBEPERM(PERMUTE_DIR1,perm);
   } else { 
     LOAD_CHI(base);
@@ -79,7 +98,11 @@
     MULT_2SPIN_DIR_PFZP(Zp,basep);
   }
   LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+  ZP_RECON_ACCUM;
+#else
   ZM_RECON_ACCUM;
+#endif
 
   ////////////////////////////////
   // Tp
@@ -87,7 +110,11 @@
   basep = st.GetPFInfo(nent,plocal); nent++;
   if ( local ) {
     LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+    TP_PROJMEM(base);
+#else
     TM_PROJMEM(base);
+#endif
     MAYBEPERM(PERMUTE_DIR0,perm);
   } else { 
     LOAD_CHI(base);
@@ -98,7 +125,11 @@
     MULT_2SPIN_DIR_PFTP(Tp,basep);
   }
   LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+  TP_RECON_ACCUM;
+#else
   TM_RECON_ACCUM;
+#endif
 
   ////////////////////////////////
   // Xm
@@ -107,7 +138,11 @@
   //  basep= st.GetPFInfo(nent,plocal); nent++;
   if ( local ) {
     LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+    XM_PROJMEM(base);
+#else
     XP_PROJMEM(base);
+#endif
     MAYBEPERM(PERMUTE_DIR3,perm);
   } else { 
     LOAD_CHI(base);
@@ -118,7 +153,11 @@
     MULT_2SPIN_DIR_PFXM(Xm,basep);
   }
   LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+  XM_RECON_ACCUM;
+#else
   XP_RECON_ACCUM;
+#endif
 
   ////////////////////////////////
   // Ym
@@ -126,7 +165,11 @@
   basep= st.GetPFInfo(nent,plocal); nent++;
   if ( local ) {
     LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+    YM_PROJMEM(base);
+#else
     YP_PROJMEM(base);
+#endif
     MAYBEPERM(PERMUTE_DIR2,perm);
   } else { 
     LOAD_CHI(base);
@@ -137,7 +180,11 @@
     MULT_2SPIN_DIR_PFYM(Ym,basep);
   }
   LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+  YM_RECON_ACCUM;
+#else
   YP_RECON_ACCUM;
+#endif
 
   ////////////////////////////////
   // Zm
@@ -145,7 +192,11 @@
   basep= st.GetPFInfo(nent,plocal); nent++;
   if ( local ) {
     LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+    ZM_PROJMEM(base);
+#else
     ZP_PROJMEM(base);
+#endif
     MAYBEPERM(PERMUTE_DIR1,perm);
   } else { 
     LOAD_CHI(base);
@@ -156,7 +207,11 @@
     MULT_2SPIN_DIR_PFZM(Zm,basep);
   }
   LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+  ZM_RECON_ACCUM;
+#else
   ZP_RECON_ACCUM;
+#endif
 
   ////////////////////////////////
   // Tm
@@ -164,7 +219,11 @@
   basep= st.GetPFInfo(nent,plocal); nent++;
   if ( local ) {
     LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+    TM_PROJMEM(base);
+#else
     TP_PROJMEM(base);
+#endif
     MAYBEPERM(PERMUTE_DIR0,perm);
   } else { 
     LOAD_CHI(base);
@@ -175,7 +234,11 @@
     MULT_2SPIN_DIR_PFTM(Tm,basep);
   }
   LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
+#ifdef KERNEL_DAG
+  TM_RECON_ACCUM;
+#else
   TP_RECON_ACCUM;
+#endif
 
   basep= st.GetPFInfo(nent,plocal); nent++;
   SAVE_RESULT(base,basep);
diff --git a/lib/qcd/action/fermion/ZMobiusFermion.h b/lib/qcd/action/fermion/ZMobiusFermion.h
new file mode 100644
index 00000000..d0e00657
--- /dev/null
+++ b/lib/qcd/action/fermion/ZMobiusFermion.h
@@ -0,0 +1,79 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/qcd/action/fermion/MobiusFermion.h
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#ifndef  GRID_QCD_ZMOBIUS_FERMION_H
+#define  GRID_QCD_ZMOBIUS_FERMION_H
+
+#include <Grid/Grid.h>
+
+namespace Grid {
+
+  namespace QCD {
+
+    template<class Impl>
+    class ZMobiusFermion : public CayleyFermion5D<Impl>
+    {
+    public:
+     INHERIT_IMPL_TYPES(Impl);
+    public:
+
+      virtual void   Instantiatable(void) {};
+      // Constructors
+      ZMobiusFermion(GaugeField &_Umu,
+		     GridCartesian         &FiveDimGrid,
+		     GridRedBlackCartesian &FiveDimRedBlackGrid,
+		     GridCartesian         &FourDimGrid,
+		     GridRedBlackCartesian &FourDimRedBlackGrid,
+		     RealD _mass,RealD _M5,
+		     std::vector<ComplexD> &gamma, RealD b,RealD c,const ImplParams &p= ImplParams()) : 
+      
+      CayleyFermion5D<Impl>(_Umu,
+			    FiveDimGrid,
+			    FiveDimRedBlackGrid,
+			    FourDimGrid,
+			    FourDimRedBlackGrid,_mass,_M5,p)
+
+      {
+	RealD eps = 1.0;
+	
+	std::cout<<GridLogMessage << "ZMobiusFermion (b="<<b<<",c="<<c<<") with Ls= "<<this->Ls<<" gamma passed in"<<std::endl;
+	std::vector<Coeff_t> zgamma(this->Ls);
+	for(int s=0;s<this->Ls;s++){
+	  zgamma[s] = gamma[s];
+	}
+
+	// Call base setter
+	this->SetCoefficientsInternal(1.0,zgamma,b,c);
+      }
+
+    };
+
+  }
+}
+
+#endif
diff --git a/tests/debug/Test_cayley_even_odd_vec.cc b/tests/debug/Test_cayley_even_odd_vec.cc
index 68315b88..f8600782 100644
--- a/tests/debug/Test_cayley_even_odd_vec.cc
+++ b/tests/debug/Test_cayley_even_odd_vec.cc
@@ -44,6 +44,7 @@ struct scal {
   };
 
 typedef DomainWallFermion<DomainWallVec5dImplR>                      DomainWallVecFermionR;
+typedef ZMobiusFermion<ZDomainWallVec5dImplR>                        ZMobiusVecFermionR;
 typedef MobiusFermion<DomainWallVec5dImplR>                          MobiusVecFermionR;
 typedef MobiusZolotarevFermion<DomainWallVec5dImplR>                 MobiusZolotarevVecFermionR;
 typedef ScaledShamirFermion<DomainWallVec5dImplR>                    ScaledShamirVecFermionR;
@@ -117,6 +118,17 @@ int main (int argc, char ** argv)
   TestWhat<MobiusFermionR>(Dmob,FGrid,FrbGrid,UGrid,mass,M5,&RNG4,&RNG5);
   TestWhat<MobiusVecFermionR>(sDmob,sFGrid,sFrbGrid,sUGrid,mass,M5,&sRNG4,&sRNG5);
 
+
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  std::cout<<GridLogMessage <<"Z-MobiusFermion test"<<std::endl;
+  std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
+  std::vector<ComplexD> gamma(Ls,std::complex<double>(1.0,0.0));
+  ZMobiusFermionR     zDmob(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,gamma,b,c);
+  ZMobiusVecFermionR szDmob(Umu,*sFGrid,*sFrbGrid,*sUGrid,*sUrbGrid,mass,M5,gamma,b,c);
+  TestMoo(zDmob,szDmob);
+  TestWhat<ZMobiusFermionR>(zDmob,FGrid,FrbGrid,UGrid,mass,M5,&RNG4,&RNG5);
+  TestWhat<ZMobiusVecFermionR>(szDmob,sFGrid,sFrbGrid,sUGrid,mass,M5,&sRNG4,&sRNG5);
+
   std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;
   std::cout<<GridLogMessage <<"MobiusZolotarevFermion test"<<std::endl;
   std::cout<<GridLogMessage<<"**************************************************************"<<std::endl;

From 4ab7dbfd57e5aa79f7f8079ff44f6ceedf731b20 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 15 Aug 2016 23:00:40 +0100
Subject: [PATCH 106/295] Instantiate

---
 lib/qcd/action/fermion/FermionOperatorImpl.h |  4 +-
 lib/qcd/action/fermion/WilsonKernelsHand.cc  | 55 ++++++--------------
 2 files changed, 18 insertions(+), 41 deletions(-)

diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index b756936b..6ca72b93 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -488,7 +488,7 @@ PARALLEL_FOR_LOOP
     typedef WilsonImpl<vComplexF,Nc> WilsonImplF; // Float
     typedef WilsonImpl<vComplexD,Nc> WilsonImplD; // Double
 
-    typedef WilsonImpl<vComplex ,Nc,ComplexD>  ZWilsonImplR; // Real.. whichever prec
+    typedef WilsonImpl<vComplex ,Nc,ComplexD> ZWilsonImplR; // Real.. whichever prec
     typedef WilsonImpl<vComplexF,Nc,ComplexD> ZWilsonImplF; // Float
     typedef WilsonImpl<vComplexD,Nc,ComplexD> ZWilsonImplD; // Double
 
@@ -496,7 +496,7 @@ PARALLEL_FOR_LOOP
     typedef DomainWallVec5dImpl<vComplexF,Nc> DomainWallVec5dImplF; // Float
     typedef DomainWallVec5dImpl<vComplexD,Nc> DomainWallVec5dImplD; // Double
 
-    typedef DomainWallVec5dImpl<vComplex ,Nc,ComplexD>  ZDomainWallVec5dImplR; // Real.. whichever prec
+    typedef DomainWallVec5dImpl<vComplex ,Nc,ComplexD> ZDomainWallVec5dImplR; // Real.. whichever prec
     typedef DomainWallVec5dImpl<vComplexF,Nc,ComplexD> ZDomainWallVec5dImplF; // Float
     typedef DomainWallVec5dImpl<vComplexD,Nc,ComplexD> ZDomainWallVec5dImplD; // Double
 
diff --git a/lib/qcd/action/fermion/WilsonKernelsHand.cc b/lib/qcd/action/fermion/WilsonKernelsHand.cc
index d073e677..11b22209 100644
--- a/lib/qcd/action/fermion/WilsonKernelsHand.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsHand.cc
@@ -839,46 +839,23 @@ void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,
 ////////////// Wilson ; uses this implementation /////////////////////
 // Need Nc=3 though //
 
-template void WilsonKernels<WilsonImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<WilsonImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<WilsonImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-								  int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<WilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+#define INSTANTIATE_THEM(A) \
+template void WilsonKernels<A>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,\
+							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
+							       int ss,int sU,const FermionField &in, FermionField &out);\
+template void WilsonKernels<A>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,\
+								  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
 								  int ss,int sU,const FermionField &in, FermionField &out);
 
-
-template void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-								      int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-								      int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-									 int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-									 int ss,int sU,const FermionField &in, FermionField &out);
-
-
-template void WilsonKernels<DomainWallVec5dImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-								      int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<DomainWallVec5dImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-								      int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<DomainWallVec5dImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-									 int ss,int sU,const FermionField &in, FermionField &out);
-template void WilsonKernels<DomainWallVec5dImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-									 int ss,int sU,const FermionField &in, FermionField &out);
-
+INSTANTIATE_THEM(WilsonImplF);
+INSTANTIATE_THEM(WilsonImplD);
+INSTANTIATE_THEM(ZWilsonImplF);
+INSTANTIATE_THEM(ZWilsonImplD);
+INSTANTIATE_THEM(GparityWilsonImplF);
+INSTANTIATE_THEM(GparityWilsonImplD);
+INSTANTIATE_THEM(DomainWallVec5dImplF);
+INSTANTIATE_THEM(DomainWallVec5dImplD);
+INSTANTIATE_THEM(ZDomainWallVec5dImplF);
+INSTANTIATE_THEM(ZDomainWallVec5dImplD);
 
 }}

From 17097a93ece0df40fbc09877245ac6298d198f92 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 17 Aug 2016 01:33:55 +0100
Subject: [PATCH 107/295] FFTW test ran over 4 mpi processes.

---
 lib/FFT.h                      | 198 +++++++++++++++++++++++++++++++++
 lib/Grid.h                     |   4 +-
 lib/lattice/Lattice_transfer.h |  75 ++++++++++++-
 lib/simd/Grid_vector_types.h   |   6 +
 lib/simd/Grid_vector_unops.h   |  10 +-
 lib/tensors/Tensor_unary.h     |   1 +
 tests/core/Test_fft.cc         |  87 +++++++++++++++
 7 files changed, 372 insertions(+), 9 deletions(-)
 create mode 100644 lib/FFT.h
 create mode 100644 tests/core/Test_fft.cc

diff --git a/lib/FFT.h b/lib/FFT.h
new file mode 100644
index 00000000..262e525b
--- /dev/null
+++ b/lib/FFT.h
@@ -0,0 +1,198 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/Cshift.h
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#ifndef _GRID_FFT_H_
+#define _GRID_FFT_H_
+
+#include <Grid/fftw/fftw3.h>
+
+namespace Grid {
+
+  
+  class FFT { 
+  private:
+
+    GridCartesian *vgrid;
+    GridCartesian *sgrid;
+
+    int Nd;
+    std::vector<int> dimensions;
+    std::vector<int> processors;
+    std::vector<int> processor_coor;
+
+  public:
+
+    static const int forward=FFTW_FORWARD;
+    static const int backward=FFTW_BACKWARD;
+
+    FFT ( GridCartesian * grid ) : 
+      vgrid(grid),
+      Nd(grid->_ndimension),
+      dimensions(grid->_fdimensions),
+      processors(grid->_processors),
+      processor_coor(grid->_processor_coor)
+    {
+      std::vector<int> layout(Nd,1);
+      sgrid = new GridCartesian(dimensions,layout,processors);
+    };
+
+    ~FFT ( void)  { 
+      delete sgrid; 
+    }
+    
+    template<class vobj>
+    void FFT_dim(Lattice<vobj> &result,const Lattice<vobj> &source,int dim, int inverse){
+
+      conformable(result._grid,vgrid);
+      conformable(source._grid,vgrid);
+
+      int L = vgrid->_ldimensions[dim];
+      int G = vgrid->_fdimensions[dim];
+
+      std::vector<int> layout(Nd,1);
+      std::vector<int> pencil_gd(vgrid->_fdimensions);
+      std::vector<int> pencil_ld(processors);
+
+      pencil_gd[dim] = G*processors[dim];    
+      pencil_ld[dim] = G*processors[dim];    
+
+      // Pencil global vol LxLxGxLxL per node
+      GridCartesian pencil_g(pencil_gd,layout,processors);
+      GridCartesian pencil_l(pencil_ld,layout,processors);
+
+      // Construct pencils
+      typedef typename vobj::scalar_object sobj;
+      Lattice<vobj> ssource(vgrid); ssource =source;
+      Lattice<sobj> pgsource(&pencil_g);
+      Lattice<sobj> pgresult(&pencil_g);
+      Lattice<sobj> plsource(&pencil_l);
+      Lattice<sobj> plresult(&pencil_l);
+
+      {
+
+	assert(sizeof(typename sobj::scalar_type)==sizeof(ComplexD));
+	assert(sizeof(fftw_complex)==sizeof(ComplexD));
+	assert(sizeof(fftw_complex)==sizeof(ComplexD));
+
+	int Ncomp = sizeof(sobj)/sizeof(fftw_complex);
+
+	std::cout << "Ncomp = "<<Ncomp<<std::endl;
+
+	int rank = 1;   /* not 2: we are computing 1d transforms */
+	int n[] = {G}; /* 1d transforms of length G */
+	int howmany = Ncomp;
+	int odist,idist,istride,ostride;
+	idist   = odist   = 1;
+	istride = ostride = Ncomp; /* distance between two elements in the same column */
+	int *inembed = n, *onembed = n;
+	
+	fftw_complex *in = (fftw_complex *)&plsource._odata[0];
+	fftw_complex *out= (fftw_complex *)&plresult._odata[0];
+	
+	int sign = FFTW_FORWARD;
+	if (inverse) sign = FFTW_BACKWARD;
+
+	fftw_plan p = fftw_plan_many_dft(rank,n,howmany,
+					 in,inembed,
+					 istride,idist,
+					 out,onembed,
+					 ostride, odist,
+					 sign,FFTW_ESTIMATE);
+
+
+	// Barrel shift and collect global pencil
+	for(int p=0;p<processors[dim];p++) { 
+	  
+	      
+	  for(int idx=0;idx<sgrid->lSites();idx++) { 
+
+	    std::vector<int> lcoor(Nd);
+    	    sgrid->LocalIndexToLocalCoor(idx,lcoor);
+
+	    sobj s;
+
+	    peekLocalSite(s,ssource,lcoor);
+
+	    lcoor[dim]+=p*L;
+	   
+	    pokeLocalSite(s,pgsource,lcoor);
+	  }
+
+	  ssource = Cshift(ssource,dim,L);
+	}
+
+	std::cout << " pgsource pencil " << pgsource<<std::endl ;
+	
+	// Loop over orthog coords
+	for(int idx=0;idx<sgrid->lSites();idx++) { 
+
+	  std::vector<int> pcoor(Nd,0);
+	  std::vector<int> lcoor(Nd);
+	  sgrid->LocalIndexToLocalCoor(idx,lcoor);
+
+	  if ( lcoor[dim] == 0 ) {  // restricts loop to plane at lcoor[dim]==0
+	  
+	    // Project to local pencil array
+	    for(int l=0;l<G;l++){
+	      sobj s;
+	      pcoor[dim]=l;
+	      lcoor[dim]=l;
+	      peekLocalSite(s,pgsource,lcoor);
+	      pokeLocalSite(s,plsource,pcoor);
+	    }
+
+
+	    if ( idx==0) {
+	      std::cout << " plsource pencil " << pgsource<<std::endl ;
+	    }
+
+	    // FFT the pencil
+	    fftw_execute(p);
+
+	    // Extract the result
+	    for(int l=0;l<L;l++){
+	      sobj s;
+	      int p = processor_coor[dim];
+	      lcoor[dim] = l;
+	      pcoor[dim] = l+L*p;
+	      peekLocalSite(s,plresult,pcoor);
+	      pokeLocalSite(s,result,lcoor);
+	    }
+
+	  }
+	}
+	  
+	fftw_destroy_plan(p);
+      }
+    }
+
+  };
+
+
+}
+
+#endif
diff --git a/lib/Grid.h b/lib/Grid.h
index 9de8470d..486ee4d3 100644
--- a/lib/Grid.h
+++ b/lib/Grid.h
@@ -68,6 +68,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #include <Grid/Simd.h>
 #include <Grid/Threads.h>
 #include <Grid/Lexicographic.h>
+#include <Grid/Init.h>
 #include <Grid/Communicator.h> 
 #include <Grid/Cartesian.h>    
 #include <Grid/Tensors.h>      
@@ -78,7 +79,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #include <Grid/parallelIO/BinaryIO.h>
 #include <Grid/qcd/QCD.h>
 #include <Grid/parallelIO/NerscIO.h>
-#include <Grid/Init.h>
+
+#include <Grid/FFT.h>
 
 #include <Grid/qcd/hmc/NerscCheckpointer.h>
 #include <Grid/qcd/hmc/HmcRunner.h>
diff --git a/lib/lattice/Lattice_transfer.h b/lib/lattice/Lattice_transfer.h
index 2fa72014..cc4617de 100644
--- a/lib/lattice/Lattice_transfer.h
+++ b/lib/lattice/Lattice_transfer.h
@@ -349,7 +349,7 @@ void localConvert(const Lattice<vobj> &in,Lattice<vvobj> &out)
     assert(ig->_ldimensions[d] == og->_ldimensions[d]);
   }
 
-PARALLEL_FOR_LOOP
+  //PARALLEL_FOR_LOOP
   for(int idx=0;idx<ig->lSites();idx++){
     std::vector<int> lcoor(ni);
     ig->LocalIndexToLocalCoor(idx,lcoor);
@@ -446,6 +446,79 @@ void ExtractSlice(Lattice<vobj> &lowDim, Lattice<vobj> & higherDim,int slice, in
 
 }
 
+
+template<class vobj>
+void InsertSliceLocal(Lattice<vobj> &lowDim, Lattice<vobj> & higherDim,int slice_lo,int slice_hi, int orthog)
+{
+  typedef typename vobj::scalar_object sobj;
+  sobj s;
+
+  GridBase *lg = lowDim._grid;
+  GridBase *hg = higherDim._grid;
+  int nl = lg->_ndimension;
+  int nh = hg->_ndimension;
+
+  assert(nl == nh);
+  assert(orthog<nh);
+  assert(orthog>=0);
+
+  for(int d=0;d<nh;d++){
+    assert(lg->_processors[d]  == hg->_processors[d]);
+    assert(lg->_ldimensions[d] == hg->_ldimensions[d]);
+  }
+
+  // the above should guarantee that the operations are local
+  //PARALLEL_FOR_LOOP
+  for(int idx=0;idx<lg->lSites();idx++){
+    std::vector<int> lcoor(nl);
+    std::vector<int> hcoor(nh);
+    lg->LocalIndexToLocalCoor(idx,lcoor);
+    if( lcoor[orthog] == slice_lo ) { 
+      hcoor=lcoor;
+      hcoor[orthog] = slice_hi;
+      peekLocalSite(s,lowDim,lcoor);
+      pokeLocalSite(s,higherDim,hcoor);
+    }
+  }
+}
+
+
+template<class vobj>
+void ExtractSliceLocal(Lattice<vobj> &lowDim, Lattice<vobj> & higherDim,int slice_lo,int slice_hi, int orthog)
+{
+  typedef typename vobj::scalar_object sobj;
+  sobj s;
+
+  GridBase *lg = lowDim._grid;
+  GridBase *hg = higherDim._grid;
+  int nl = lg->_ndimension;
+  int nh = hg->_ndimension;
+
+  assert(nl == nh);
+  assert(orthog<nh);
+  assert(orthog>=0);
+
+  for(int d=0;d<nh;d++){
+    assert(lg->_processors[d]  == hg->_processors[d]);
+    assert(lg->_ldimensions[d] == hg->_ldimensions[d]);
+  }
+
+  // the above should guarantee that the operations are local
+  //PARALLEL_FOR_LOOP
+  for(int idx=0;idx<lg->lSites();idx++){
+    std::vector<int> lcoor(nl);
+    std::vector<int> hcoor(nh);
+    lg->LocalIndexToLocalCoor(idx,lcoor);
+    if( lcoor[orthog] == slice_lo ) { 
+      hcoor=lcoor;
+      hcoor[orthog] = slice_hi;
+      peekLocalSite(s,higherDim,hcoor);
+      pokeLocalSite(s,lowDim,lcoor);
+    }
+  }
+}
+
+
 template<class vobj>
 void Replicate(Lattice<vobj> &coarse,Lattice<vobj> & fine)
 {
diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index 2f2b70c8..30576fb6 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -388,6 +388,12 @@ class Grid_simd {
 
 };  // end of Grid_simd class definition
 
+
+inline void permute(ComplexD &y,ComplexD b, int perm) {  y=b; }
+inline void permute(ComplexF &y,ComplexF b, int perm) {  y=b; }
+inline void permute(RealD &y,RealD b, int perm) {  y=b; }
+inline void permute(RealF &y,RealF b, int perm) {  y=b; }
+
 ////////////////////////////////////////////////////////////////////
 // General rotate
 ////////////////////////////////////////////////////////////////////
diff --git a/lib/simd/Grid_vector_unops.h b/lib/simd/Grid_vector_unops.h
index a67f4e7d..2afac190 100644
--- a/lib/simd/Grid_vector_unops.h
+++ b/lib/simd/Grid_vector_unops.h
@@ -67,15 +67,13 @@ template <class scalar>
 struct AsinRealFunctor {
   scalar operator()(const scalar &a) const { return asin(real(a)); }
 };
-
 template <class scalar>
 struct LogRealFunctor {
   scalar operator()(const scalar &a) const { return log(real(a)); }
 };
-
 template <class scalar>
-struct ExpRealFunctor {
-  scalar operator()(const scalar &a) const { return exp(real(a)); }
+struct ExpFunctor {
+  scalar operator()(const scalar &a) const { return exp(a); }
 };
 template <class scalar>
 struct NotFunctor {
@@ -85,7 +83,6 @@ template <class scalar>
 struct AbsRealFunctor {
   scalar operator()(const scalar &a) const { return std::abs(real(a)); }
 };
-
 template <class scalar>
 struct PowRealFunctor {
   double y;
@@ -135,7 +132,6 @@ template <class Scalar>
 inline Scalar rsqrt(const Scalar &r) {
   return (RSqrtRealFunctor<Scalar>(), r);
 }
-
 template <class S, class V>
 inline Grid_simd<S, V> cos(const Grid_simd<S, V> &r) {
   return SimdApply(CosRealFunctor<S>(), r);
@@ -162,7 +158,7 @@ inline Grid_simd<S, V> abs(const Grid_simd<S, V> &r) {
 }
 template <class S, class V>
 inline Grid_simd<S, V> exp(const Grid_simd<S, V> &r) {
-  return SimdApply(ExpRealFunctor<S>(), r);
+  return SimdApply(ExpFunctor<S>(), r);
 }
 template <class S, class V>
 inline Grid_simd<S, V> Not(const Grid_simd<S, V> &r) {
diff --git a/lib/tensors/Tensor_unary.h b/lib/tensors/Tensor_unary.h
index dd05a4a7..92a968df 100644
--- a/lib/tensors/Tensor_unary.h
+++ b/lib/tensors/Tensor_unary.h
@@ -36,6 +36,7 @@ template<class obj> inline auto func(const iScalar<obj> &z) -> iScalar<obj>\
 {\
     iScalar<obj> ret;\
     ret._internal = func( (z._internal));\
+    std::cout << "Unary "<<#func<<" " << z._internal <<" -> "<< ret._internal <<" "<< typeid(obj).name() <<std::endl; \
     return ret;\
 }\
 template<class obj,int N> inline auto func(const iVector<obj,N> &z) -> iVector<obj,N>\
diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
new file mode 100644
index 00000000..deed6f0a
--- /dev/null
+++ b/tests/core/Test_fft.cc
@@ -0,0 +1,87 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./tests/Test_cshift.cc
+
+    Copyright (C) 2015
+
+Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include <Grid/Grid.h>
+
+using namespace Grid;
+using namespace Grid::QCD;
+
+int main (int argc, char ** argv)
+{
+  Grid_init(&argc,&argv);
+
+  std::vector<int> latt_size   = GridDefaultLatt();
+  std::vector<int> simd_layout( { vComplexD::Nsimd(),1,1,1});
+  std::vector<int> mpi_layout  = GridDefaultMpi();
+
+  GridCartesian        Fine(latt_size,simd_layout,mpi_layout);
+
+  LatticeComplexD     one(&Fine);
+  LatticeComplexD      zz(&Fine);
+  LatticeComplexD       C(&Fine);
+  LatticeComplexD  Ctilde(&Fine);
+  LatticeComplexD    coor(&Fine);
+  
+  std::vector<RealD> p({1.0,2.0,3.0,2.0});
+
+  one = ComplexD(1.0,0.0);
+  zz  = ComplexD(0.0,0.0);
+
+  ComplexD ci(0.0,1.0);
+
+  C=zero;
+  for(int mu=0;mu<4;mu++){
+    RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+    LatticeCoordinate(coor,mu);
+    C = C - TwoPiL * p[mu] * coor;
+  }
+
+  std::cout << GridLogMessage<< " C " << C<<std::endl;
+
+  C = C*ci;
+  std::cout << GridLogMessage<< " C " << C<<std::endl;
+
+  C = exp(C);
+  std::cout << GridLogMessage<< " C " << C<<std::endl;
+
+  FFT theFFT(&Fine);
+  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);
+  std::cout << GridLogMessage<< "FT[C] " << Ctilde<<std::endl;
+
+  C=Ctilde;
+  theFFT.FFT_dim(Ctilde,C,1,FFT::forward);
+  std::cout << GridLogMessage<< "FT[C] " << Ctilde<<std::endl;
+  C=Ctilde;
+  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);
+  std::cout << GridLogMessage<< "FT[C] " << Ctilde<<std::endl;
+  C=Ctilde;
+  theFFT.FFT_dim(Ctilde,C,3,FFT::forward);
+  std::cout << GridLogMessage<< "FT[C] " << Ctilde<<std::endl;
+
+  Grid_finalize();
+}

From e423a09974a05ff94f0dc95a175ee7b73b700148 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 18 Aug 2016 02:23:21 +0100
Subject: [PATCH 108/295] FFT improved and test_FFT passing under MPI 8
 processes, 8^4 for LatticeComplexD and LatticeSpinMatrixD

---
 lib/FFT.h                  | 18 ++----------
 lib/tensors/Tensor_unary.h |  1 -
 tests/core/Test_fft.cc     | 57 ++++++++++++++++++++++++++------------
 3 files changed, 42 insertions(+), 34 deletions(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index 262e525b..f9470472 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -93,23 +93,20 @@ namespace Grid {
       Lattice<sobj> plresult(&pencil_l);
 
       {
-
 	assert(sizeof(typename sobj::scalar_type)==sizeof(ComplexD));
 	assert(sizeof(fftw_complex)==sizeof(ComplexD));
 	assert(sizeof(fftw_complex)==sizeof(ComplexD));
 
 	int Ncomp = sizeof(sobj)/sizeof(fftw_complex);
 
-	std::cout << "Ncomp = "<<Ncomp<<std::endl;
-
-	int rank = 1;   /* not 2: we are computing 1d transforms */
+	int rank = 1;  /* not 2: we are computing 1d transforms */
 	int n[] = {G}; /* 1d transforms of length G */
 	int howmany = Ncomp;
 	int odist,idist,istride,ostride;
 	idist   = odist   = 1;
 	istride = ostride = Ncomp; /* distance between two elements in the same column */
 	int *inembed = n, *onembed = n;
-	
+
 	fftw_complex *in = (fftw_complex *)&plsource._odata[0];
 	fftw_complex *out= (fftw_complex *)&plresult._odata[0];
 	
@@ -123,11 +120,9 @@ namespace Grid {
 					 ostride, odist,
 					 sign,FFTW_ESTIMATE);
 
-
 	// Barrel shift and collect global pencil
 	for(int p=0;p<processors[dim];p++) { 
-	  
-	      
+
 	  for(int idx=0;idx<sgrid->lSites();idx++) { 
 
 	    std::vector<int> lcoor(Nd);
@@ -144,8 +139,6 @@ namespace Grid {
 
 	  ssource = Cshift(ssource,dim,L);
 	}
-
-	std::cout << " pgsource pencil " << pgsource<<std::endl ;
 	
 	// Loop over orthog coords
 	for(int idx=0;idx<sgrid->lSites();idx++) { 
@@ -165,11 +158,6 @@ namespace Grid {
 	      pokeLocalSite(s,plsource,pcoor);
 	    }
 
-
-	    if ( idx==0) {
-	      std::cout << " plsource pencil " << pgsource<<std::endl ;
-	    }
-
 	    // FFT the pencil
 	    fftw_execute(p);
 
diff --git a/lib/tensors/Tensor_unary.h b/lib/tensors/Tensor_unary.h
index 92a968df..dd05a4a7 100644
--- a/lib/tensors/Tensor_unary.h
+++ b/lib/tensors/Tensor_unary.h
@@ -36,7 +36,6 @@ template<class obj> inline auto func(const iScalar<obj> &z) -> iScalar<obj>\
 {\
     iScalar<obj> ret;\
     ret._internal = func( (z._internal));\
-    std::cout << "Unary "<<#func<<" " << z._internal <<" -> "<< ret._internal <<" "<< typeid(obj).name() <<std::endl; \
     return ret;\
 }\
 template<class obj,int N> inline auto func(const iVector<obj,N> &z) -> iVector<obj,N>\
diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
index deed6f0a..ed57800c 100644
--- a/tests/core/Test_fft.cc
+++ b/tests/core/Test_fft.cc
@@ -39,6 +39,10 @@ int main (int argc, char ** argv)
   std::vector<int> simd_layout( { vComplexD::Nsimd(),1,1,1});
   std::vector<int> mpi_layout  = GridDefaultMpi();
 
+  int vol = 1;
+  for(int d=0;d<latt_size.size();d++){
+    vol = vol * latt_size[d];
+  }
   GridCartesian        Fine(latt_size,simd_layout,mpi_layout);
 
   LatticeComplexD     one(&Fine);
@@ -46,8 +50,11 @@ int main (int argc, char ** argv)
   LatticeComplexD       C(&Fine);
   LatticeComplexD  Ctilde(&Fine);
   LatticeComplexD    coor(&Fine);
+
+  LatticeSpinMatrixD    S(&Fine);
+  LatticeSpinMatrixD    Stilde(&Fine);
   
-  std::vector<RealD> p({1.0,2.0,3.0,2.0});
+  std::vector<int> p({1,2,3,2});
 
   one = ComplexD(1.0,0.0);
   zz  = ComplexD(0.0,0.0);
@@ -58,30 +65,44 @@ int main (int argc, char ** argv)
   for(int mu=0;mu<4;mu++){
     RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
     LatticeCoordinate(coor,mu);
-    C = C - TwoPiL * p[mu] * coor;
+    C = C - (TwoPiL * p[mu]) * coor;
   }
 
-  std::cout << GridLogMessage<< " C " << C<<std::endl;
+  C = exp(C*ci);
 
-  C = C*ci;
-  std::cout << GridLogMessage<< " C " << C<<std::endl;
-
-  C = exp(C);
-  std::cout << GridLogMessage<< " C " << C<<std::endl;
+  S=zero;
+  S = S+C;
 
   FFT theFFT(&Fine);
-  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);
-  std::cout << GridLogMessage<< "FT[C] " << Ctilde<<std::endl;
 
-  C=Ctilde;
-  theFFT.FFT_dim(Ctilde,C,1,FFT::forward);
-  std::cout << GridLogMessage<< "FT[C] " << Ctilde<<std::endl;
-  C=Ctilde;
-  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);
-  std::cout << GridLogMessage<< "FT[C] " << Ctilde<<std::endl;
-  C=Ctilde;
+  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);  C=Ctilde;
+  theFFT.FFT_dim(Ctilde,C,1,FFT::forward);  C=Ctilde;
+  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);  C=Ctilde;
   theFFT.FFT_dim(Ctilde,C,3,FFT::forward);
-  std::cout << GridLogMessage<< "FT[C] " << Ctilde<<std::endl;
+
+  //  C=zero;
+  //  Ctilde = where(abs(Ctilde)<1.0e-10,C,Ctilde);
+  TComplexD cVol;
+  cVol()()() = vol;
+
+  C=zero;
+  pokeSite(cVol,C,p);
+  C=C-Ctilde;
+  std::cout << "diff scalar "<<norm2(C) << std::endl;
+
+  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde;
+  theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;
+  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;
+  theFFT.FFT_dim(Stilde,S,3,FFT::forward);
+
+  SpinMatrixD Sp; 
+  Sp = zero; Sp = Sp+cVol;
+
+  S=zero;
+  pokeSite(Sp,S,p);
+
+  S= S-Stilde;
+  std::cout << "diff FT[SpinMat] "<<norm2(S) << std::endl;
 
   Grid_finalize();
 }

From 29c4ef41de1680ce03ec455521c37068e29ccc70 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 22 Aug 2016 16:21:01 +0100
Subject: [PATCH 109/295] Adding a test for libfftw3

---
 configure.ac | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 89bb3568..0ed501f9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,6 +43,7 @@ AC_ARG_WITH([mpfr],
 AC_ARG_ENABLE([lapack],
     [AC_HELP_STRING([--enable-lapack=yes|no|prefix], [enable LAPACK])], 
     [ac_LAPACK=${enable_lapack}],[ac_LAPACK=no])
+
 case ${ac_LAPACK} in
     no)
         ;;
@@ -54,6 +55,17 @@ case ${ac_LAPACK} in
         AC_DEFINE([USE_LAPACK],[1],[use LAPACK])
 esac
 
+AC_CHECK_LIB([fftw3],[fft_init_threads],
+	[AC_DEFINE([HAVE_FFTW],[1],[Define to 1 if you have the `FFTW' library (-lfftw3).])] [ac_fftw=yes],
+        [ac_fftw=no])
+case ${ac_fftw} in
+    no)
+        ;;
+    yes)
+        AM_LDFLAGS="-lfftw3 $AM_LDFLAGS"
+esac
+
+
 ################ Get compiler informations
 AC_LANG([C++])
 AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
@@ -77,7 +89,7 @@ AC_CHECK_LIB([gmp],[__gmpf_init],
                  [have_mpfr=true]
                  [LIBS="$LIBS -lmpfr"],
                  [AC_MSG_ERROR([MPFR library not found])])]
-             [AC_DEFINE([HAVE_LIBGMP], [1], [Define to 1 if you have the `GMP' library (-lgmp).])]
+   	     [AC_DEFINE([HAVE_LIBGMP], [1], [Define to 1 if you have the `GMP' library (-lgmp).])]
              [have_gmp=true]
              [LIBS="$LIBS -lgmp"],
              [AC_MSG_WARN([**** GMP library not found, Grid can still compile but RHMC will not work ****])])

From 73ce476890b303d7f452dc33e91dc93f212167f7 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 22 Aug 2016 16:24:21 +0100
Subject: [PATCH 110/295] Include fftw headers

---
 lib/fftw/fftw3.h | 412 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 412 insertions(+)
 create mode 100644 lib/fftw/fftw3.h

diff --git a/lib/fftw/fftw3.h b/lib/fftw/fftw3.h
new file mode 100644
index 00000000..1bf34396
--- /dev/null
+++ b/lib/fftw/fftw3.h
@@ -0,0 +1,412 @@
+/*
+ * Copyright (c) 2003, 2007-14 Matteo Frigo
+ * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
+ *
+ * The following statement of license applies *only* to this header file,
+ * and *not* to the other files distributed with FFTW or derived therefrom:
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/***************************** NOTE TO USERS *********************************
+ *
+ *                 THIS IS A HEADER FILE, NOT A MANUAL
+ *
+ *    If you want to know how to use FFTW, please read the manual,
+ *    online at http://www.fftw.org/doc/ and also included with FFTW.
+ *    For a quick start, see the manual's tutorial section.
+ *
+ *   (Reading header files to learn how to use a library is a habit
+ *    stemming from code lacking a proper manual.  Arguably, it's a
+ *    *bad* habit in most cases, because header files can contain
+ *    interfaces that are not part of the public, stable API.)
+ *
+ ****************************************************************************/
+
+#ifndef FFTW3_H
+#define FFTW3_H
+
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+/* If <complex.h> is included, use the C99 complex type.  Otherwise
+   define a type bit-compatible with C99 complex */
+#if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I)
+#  define FFTW_DEFINE_COMPLEX(R, C) typedef R _Complex C
+#else
+#  define FFTW_DEFINE_COMPLEX(R, C) typedef R C[2]
+#endif
+
+#define FFTW_CONCAT(prefix, name) prefix ## name
+#define FFTW_MANGLE_DOUBLE(name) FFTW_CONCAT(fftw_, name)
+#define FFTW_MANGLE_FLOAT(name) FFTW_CONCAT(fftwf_, name)
+#define FFTW_MANGLE_LONG_DOUBLE(name) FFTW_CONCAT(fftwl_, name)
+#define FFTW_MANGLE_QUAD(name) FFTW_CONCAT(fftwq_, name)
+
+/* IMPORTANT: for Windows compilers, you should add a line
+        #define FFTW_DLL
+   here and in kernel/ifftw.h if you are compiling/using FFTW as a
+   DLL, in order to do the proper importing/exporting, or
+   alternatively compile with -DFFTW_DLL or the equivalent
+   command-line flag.  This is not necessary under MinGW/Cygwin, where
+   libtool does the imports/exports automatically. */
+#if defined(FFTW_DLL) && (defined(_WIN32) || defined(__WIN32__))
+   /* annoying Windows syntax for shared-library declarations */
+#  if defined(COMPILING_FFTW) /* defined in api.h when compiling FFTW */
+#    define FFTW_EXTERN extern __declspec(dllexport) 
+#  else /* user is calling FFTW; import symbol */
+#    define FFTW_EXTERN extern __declspec(dllimport) 
+#  endif
+#else
+#  define FFTW_EXTERN extern
+#endif
+
+enum fftw_r2r_kind_do_not_use_me {
+     FFTW_R2HC=0, FFTW_HC2R=1, FFTW_DHT=2,
+     FFTW_REDFT00=3, FFTW_REDFT01=4, FFTW_REDFT10=5, FFTW_REDFT11=6,
+     FFTW_RODFT00=7, FFTW_RODFT01=8, FFTW_RODFT10=9, FFTW_RODFT11=10
+};
+
+struct fftw_iodim_do_not_use_me {
+     int n;                     /* dimension size */
+     int is;			/* input stride */
+     int os;			/* output stride */
+};
+
+#include <stddef.h> /* for ptrdiff_t */
+struct fftw_iodim64_do_not_use_me {
+     ptrdiff_t n;                     /* dimension size */
+     ptrdiff_t is;			/* input stride */
+     ptrdiff_t os;			/* output stride */
+};
+
+typedef void (*fftw_write_char_func_do_not_use_me)(char c, void *);
+typedef int (*fftw_read_char_func_do_not_use_me)(void *);
+
+/*
+  huge second-order macro that defines prototypes for all API
+  functions.  We expand this macro for each supported precision
+ 
+  X: name-mangling macro
+  R: real data type
+  C: complex data type
+*/
+
+#define FFTW_DEFINE_API(X, R, C)					   \
+									   \
+FFTW_DEFINE_COMPLEX(R, C);						   \
+									   \
+typedef struct X(plan_s) *X(plan);					   \
+									   \
+typedef struct fftw_iodim_do_not_use_me X(iodim);			   \
+typedef struct fftw_iodim64_do_not_use_me X(iodim64);			   \
+									   \
+typedef enum fftw_r2r_kind_do_not_use_me X(r2r_kind);			   \
+									   \
+typedef fftw_write_char_func_do_not_use_me X(write_char_func);		   \
+typedef fftw_read_char_func_do_not_use_me X(read_char_func);		   \
+									   \
+FFTW_EXTERN void X(execute)(const X(plan) p);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft)(int rank, const int *n,			   \
+		    C *in, C *out, int sign, unsigned flags);		   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_1d)(int n, C *in, C *out, int sign,	   \
+		       unsigned flags);					   \
+FFTW_EXTERN X(plan) X(plan_dft_2d)(int n0, int n1,			   \
+		       C *in, C *out, int sign, unsigned flags);	   \
+FFTW_EXTERN X(plan) X(plan_dft_3d)(int n0, int n1, int n2,		   \
+		       C *in, C *out, int sign, unsigned flags);	   \
+									   \
+FFTW_EXTERN X(plan) X(plan_many_dft)(int rank, const int *n,		   \
+                         int howmany,					   \
+                         C *in, const int *inembed,			   \
+                         int istride, int idist,			   \
+                         C *out, const int *onembed,			   \
+                         int ostride, int odist,			   \
+                         int sign, unsigned flags);			   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru_dft)(int rank, const X(iodim) *dims,	   \
+			 int howmany_rank,				   \
+			 const X(iodim) *howmany_dims,			   \
+			 C *in, C *out,					   \
+			 int sign, unsigned flags);			   \
+FFTW_EXTERN X(plan) X(plan_guru_split_dft)(int rank, const X(iodim) *dims, \
+			 int howmany_rank,				   \
+			 const X(iodim) *howmany_dims,			   \
+			 R *ri, R *ii, R *ro, R *io,			   \
+			 unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru64_dft)(int rank,			   \
+                         const X(iodim64) *dims,			   \
+			 int howmany_rank,				   \
+			 const X(iodim64) *howmany_dims,		   \
+			 C *in, C *out,					   \
+			 int sign, unsigned flags);			   \
+FFTW_EXTERN X(plan) X(plan_guru64_split_dft)(int rank,			   \
+                         const X(iodim64) *dims,			   \
+			 int howmany_rank,				   \
+			 const X(iodim64) *howmany_dims,		   \
+			 R *ri, R *ii, R *ro, R *io,			   \
+			 unsigned flags);				   \
+									   \
+FFTW_EXTERN void X(execute_dft)(const X(plan) p, C *in, C *out);	   \
+FFTW_EXTERN void X(execute_split_dft)(const X(plan) p, R *ri, R *ii,	   \
+                                      R *ro, R *io);			   \
+									   \
+FFTW_EXTERN X(plan) X(plan_many_dft_r2c)(int rank, const int *n,	   \
+                             int howmany,				   \
+                             R *in, const int *inembed,			   \
+                             int istride, int idist,			   \
+                             C *out, const int *onembed,		   \
+                             int ostride, int odist,			   \
+                             unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_r2c)(int rank, const int *n,		   \
+                        R *in, C *out, unsigned flags);			   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_r2c_1d)(int n,R *in,C *out,unsigned flags); \
+FFTW_EXTERN X(plan) X(plan_dft_r2c_2d)(int n0, int n1,			   \
+			   R *in, C *out, unsigned flags);		   \
+FFTW_EXTERN X(plan) X(plan_dft_r2c_3d)(int n0, int n1,			   \
+			   int n2,					   \
+			   R *in, C *out, unsigned flags);		   \
+									   \
+									   \
+FFTW_EXTERN X(plan) X(plan_many_dft_c2r)(int rank, const int *n,	   \
+			     int howmany,				   \
+			     C *in, const int *inembed,			   \
+			     int istride, int idist,			   \
+			     R *out, const int *onembed,		   \
+			     int ostride, int odist,			   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_c2r)(int rank, const int *n,		   \
+                        C *in, R *out, unsigned flags);			   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_c2r_1d)(int n,C *in,R *out,unsigned flags); \
+FFTW_EXTERN X(plan) X(plan_dft_c2r_2d)(int n0, int n1,			   \
+			   C *in, R *out, unsigned flags);		   \
+FFTW_EXTERN X(plan) X(plan_dft_c2r_3d)(int n0, int n1,			   \
+			   int n2,					   \
+			   C *in, R *out, unsigned flags);		   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru_dft_r2c)(int rank, const X(iodim) *dims,   \
+			     int howmany_rank,				   \
+			     const X(iodim) *howmany_dims,		   \
+			     R *in, C *out,				   \
+			     unsigned flags);				   \
+FFTW_EXTERN X(plan) X(plan_guru_dft_c2r)(int rank, const X(iodim) *dims,   \
+			     int howmany_rank,				   \
+			     const X(iodim) *howmany_dims,		   \
+			     C *in, R *out,				   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru_split_dft_r2c)(				   \
+                             int rank, const X(iodim) *dims,		   \
+			     int howmany_rank,				   \
+			     const X(iodim) *howmany_dims,		   \
+			     R *in, R *ro, R *io,			   \
+			     unsigned flags);				   \
+FFTW_EXTERN X(plan) X(plan_guru_split_dft_c2r)(				   \
+                             int rank, const X(iodim) *dims,		   \
+			     int howmany_rank,				   \
+			     const X(iodim) *howmany_dims,		   \
+			     R *ri, R *ii, R *out,			   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru64_dft_r2c)(int rank,			   \
+                             const X(iodim64) *dims,			   \
+			     int howmany_rank,				   \
+			     const X(iodim64) *howmany_dims,		   \
+			     R *in, C *out,				   \
+			     unsigned flags);				   \
+FFTW_EXTERN X(plan) X(plan_guru64_dft_c2r)(int rank,			   \
+                             const X(iodim64) *dims,			   \
+			     int howmany_rank,				   \
+			     const X(iodim64) *howmany_dims,		   \
+			     C *in, R *out,				   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru64_split_dft_r2c)(			   \
+                             int rank, const X(iodim64) *dims,		   \
+			     int howmany_rank,				   \
+			     const X(iodim64) *howmany_dims,		   \
+			     R *in, R *ro, R *io,			   \
+			     unsigned flags);				   \
+FFTW_EXTERN X(plan) X(plan_guru64_split_dft_c2r)(			   \
+                             int rank, const X(iodim64) *dims,		   \
+			     int howmany_rank,				   \
+			     const X(iodim64) *howmany_dims,		   \
+			     R *ri, R *ii, R *out,			   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN void X(execute_dft_r2c)(const X(plan) p, R *in, C *out);	   \
+FFTW_EXTERN void X(execute_dft_c2r)(const X(plan) p, C *in, R *out);	   \
+									   \
+FFTW_EXTERN void X(execute_split_dft_r2c)(const X(plan) p,		   \
+                                          R *in, R *ro, R *io);		   \
+FFTW_EXTERN void X(execute_split_dft_c2r)(const X(plan) p,		   \
+                                          R *ri, R *ii, R *out);	   \
+									   \
+FFTW_EXTERN X(plan) X(plan_many_r2r)(int rank, const int *n,		   \
+                         int howmany,					   \
+                         R *in, const int *inembed,			   \
+                         int istride, int idist,			   \
+                         R *out, const int *onembed,			   \
+                         int ostride, int odist,			   \
+                         const X(r2r_kind) *kind, unsigned flags);	   \
+									   \
+FFTW_EXTERN X(plan) X(plan_r2r)(int rank, const int *n, R *in, R *out,	   \
+                    const X(r2r_kind) *kind, unsigned flags);		   \
+									   \
+FFTW_EXTERN X(plan) X(plan_r2r_1d)(int n, R *in, R *out,		   \
+                       X(r2r_kind) kind, unsigned flags);		   \
+FFTW_EXTERN X(plan) X(plan_r2r_2d)(int n0, int n1, R *in, R *out,	   \
+                       X(r2r_kind) kind0, X(r2r_kind) kind1,		   \
+                       unsigned flags);					   \
+FFTW_EXTERN X(plan) X(plan_r2r_3d)(int n0, int n1, int n2,		   \
+                       R *in, R *out, X(r2r_kind) kind0,		   \
+                       X(r2r_kind) kind1, X(r2r_kind) kind2,		   \
+                       unsigned flags);					   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru_r2r)(int rank, const X(iodim) *dims,	   \
+                         int howmany_rank,				   \
+                         const X(iodim) *howmany_dims,			   \
+                         R *in, R *out,					   \
+                         const X(r2r_kind) *kind, unsigned flags);	   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru64_r2r)(int rank, const X(iodim64) *dims,   \
+                         int howmany_rank,				   \
+                         const X(iodim64) *howmany_dims,		   \
+                         R *in, R *out,					   \
+                         const X(r2r_kind) *kind, unsigned flags);	   \
+									   \
+FFTW_EXTERN void X(execute_r2r)(const X(plan) p, R *in, R *out);	   \
+									   \
+FFTW_EXTERN void X(destroy_plan)(X(plan) p);				   \
+FFTW_EXTERN void X(forget_wisdom)(void);				   \
+FFTW_EXTERN void X(cleanup)(void);					   \
+									   \
+FFTW_EXTERN void X(set_timelimit)(double t);				   \
+									   \
+FFTW_EXTERN void X(plan_with_nthreads)(int nthreads);			   \
+FFTW_EXTERN int X(init_threads)(void);					   \
+FFTW_EXTERN void X(cleanup_threads)(void);				   \
+									   \
+FFTW_EXTERN int X(export_wisdom_to_filename)(const char *filename);	   \
+FFTW_EXTERN void X(export_wisdom_to_file)(FILE *output_file);		   \
+FFTW_EXTERN char *X(export_wisdom_to_string)(void);			   \
+FFTW_EXTERN void X(export_wisdom)(X(write_char_func) write_char,   	   \
+                                  void *data);				   \
+FFTW_EXTERN int X(import_system_wisdom)(void);				   \
+FFTW_EXTERN int X(import_wisdom_from_filename)(const char *filename);	   \
+FFTW_EXTERN int X(import_wisdom_from_file)(FILE *input_file);		   \
+FFTW_EXTERN int X(import_wisdom_from_string)(const char *input_string);	   \
+FFTW_EXTERN int X(import_wisdom)(X(read_char_func) read_char, void *data); \
+									   \
+FFTW_EXTERN void X(fprint_plan)(const X(plan) p, FILE *output_file);	   \
+FFTW_EXTERN void X(print_plan)(const X(plan) p);			   \
+FFTW_EXTERN char *X(sprint_plan)(const X(plan) p);			   \
+									   \
+FFTW_EXTERN void *X(malloc)(size_t n);					   \
+FFTW_EXTERN R *X(alloc_real)(size_t n);					   \
+FFTW_EXTERN C *X(alloc_complex)(size_t n);				   \
+FFTW_EXTERN void X(free)(void *p);					   \
+									   \
+FFTW_EXTERN void X(flops)(const X(plan) p,				   \
+                          double *add, double *mul, double *fmas);	   \
+FFTW_EXTERN double X(estimate_cost)(const X(plan) p);			   \
+FFTW_EXTERN double X(cost)(const X(plan) p);				   \
+									   \
+FFTW_EXTERN int X(alignment_of)(R *p);                                     \
+FFTW_EXTERN const char X(version)[];                                       \
+FFTW_EXTERN const char X(cc)[];						   \
+FFTW_EXTERN const char X(codelet_optim)[];
+
+
+/* end of FFTW_DEFINE_API macro */
+
+FFTW_DEFINE_API(FFTW_MANGLE_DOUBLE, double, fftw_complex)
+FFTW_DEFINE_API(FFTW_MANGLE_FLOAT, float, fftwf_complex)
+FFTW_DEFINE_API(FFTW_MANGLE_LONG_DOUBLE, long double, fftwl_complex)
+
+/* __float128 (quad precision) is a gcc extension on i386, x86_64, and ia64
+   for gcc >= 4.6 (compiled in FFTW with --enable-quad-precision) */
+#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) \
+ && !(defined(__ICC) || defined(__INTEL_COMPILER)) \
+ && (defined(__i386__) || defined(__x86_64__) || defined(__ia64__))
+#  if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I)
+/* note: __float128 is a typedef, which is not supported with the _Complex
+         keyword in gcc, so instead we use this ugly __attribute__ version.
+         However, we can't simply pass the __attribute__ version to
+         FFTW_DEFINE_API because the __attribute__ confuses gcc in pointer
+         types.  Hence redefining FFTW_DEFINE_COMPLEX.  Ugh. */
+#    undef FFTW_DEFINE_COMPLEX
+#    define FFTW_DEFINE_COMPLEX(R, C) typedef _Complex float __attribute__((mode(TC))) C
+#  endif
+FFTW_DEFINE_API(FFTW_MANGLE_QUAD, __float128, fftwq_complex)
+#endif
+
+#define FFTW_FORWARD (-1)
+#define FFTW_BACKWARD (+1)
+
+#define FFTW_NO_TIMELIMIT (-1.0)
+
+/* documented flags */
+#define FFTW_MEASURE (0U)
+#define FFTW_DESTROY_INPUT (1U << 0)
+#define FFTW_UNALIGNED (1U << 1)
+#define FFTW_CONSERVE_MEMORY (1U << 2)
+#define FFTW_EXHAUSTIVE (1U << 3) /* NO_EXHAUSTIVE is default */
+#define FFTW_PRESERVE_INPUT (1U << 4) /* cancels FFTW_DESTROY_INPUT */
+#define FFTW_PATIENT (1U << 5) /* IMPATIENT is default */
+#define FFTW_ESTIMATE (1U << 6)
+#define FFTW_WISDOM_ONLY (1U << 21)
+
+/* undocumented beyond-guru flags */
+#define FFTW_ESTIMATE_PATIENT (1U << 7)
+#define FFTW_BELIEVE_PCOST (1U << 8)
+#define FFTW_NO_DFT_R2HC (1U << 9)
+#define FFTW_NO_NONTHREADED (1U << 10)
+#define FFTW_NO_BUFFERING (1U << 11)
+#define FFTW_NO_INDIRECT_OP (1U << 12)
+#define FFTW_ALLOW_LARGE_GENERIC (1U << 13) /* NO_LARGE_GENERIC is default */
+#define FFTW_NO_RANK_SPLITS (1U << 14)
+#define FFTW_NO_VRANK_SPLITS (1U << 15)
+#define FFTW_NO_VRECURSE (1U << 16)
+#define FFTW_NO_SIMD (1U << 17)
+#define FFTW_NO_SLOW (1U << 18)
+#define FFTW_NO_FIXED_RADIX_LARGE_N (1U << 19)
+#define FFTW_ALLOW_PRUNING (1U << 20)
+
+#ifdef __cplusplus
+}  /* extern "C" */
+#endif /* __cplusplus */
+
+#endif /* FFTW3_H */

From 356e7940fda0dc48f8a6d21e0138ca6e116699d2 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 22 Aug 2016 16:24:49 +0100
Subject: [PATCH 111/295] fftw can be switched off

---
 lib/FFT.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lib/FFT.h b/lib/FFT.h
index f9470472..cf012e79 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -113,12 +113,17 @@ namespace Grid {
 	int sign = FFTW_FORWARD;
 	if (inverse) sign = FFTW_BACKWARD;
 
+#ifdef HAVE_FFTW
 	fftw_plan p = fftw_plan_many_dft(rank,n,howmany,
 					 in,inembed,
 					 istride,idist,
 					 out,onembed,
 					 ostride, odist,
 					 sign,FFTW_ESTIMATE);
+#else 
+	fftw_plan p ;
+	assert(0);
+#endif
 
 	// Barrel shift and collect global pencil
 	for(int p=0;p<processors[dim];p++) { 
@@ -159,7 +164,9 @@ namespace Grid {
 	    }
 
 	    // FFT the pencil
+#ifdef HAVE_FFTW
 	    fftw_execute(p);
+#endif
 
 	    // Extract the result
 	    for(int l=0;l<L;l++){

From 4d11a6f5f23b8c4558166533d90e2b1d35aacd72 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 23 Aug 2016 14:41:44 +0100
Subject: [PATCH 112/295] first commit for QPX intrinsics

---
 configure.ac        |   5 +-
 lib/simd/Grid_qpx.h | 376 +++++++++++++++++++++++---------------------
 2 files changed, 198 insertions(+), 183 deletions(-)

diff --git a/configure.ac b/configure.ac
index b14f9748..9c56971e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -125,11 +125,14 @@ case ${ax_cv_cxx_compiler_vendor} in
         AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
         SIMD_FLAGS='-mavx512f -mavx512pf -mavx512er -mavx512cd';;
       IMCI|KNC)
-        AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner])
+        AC_DEFINE([IMCI],[1],[IMCI intrinsics for Knights Corner])
         SIMD_FLAGS='';;
       GEN)
         AC_DEFINE([GENERIC_VEC],[1],[generic vector code])
         SIMD_FLAGS='';;
+      QPX|BGQ)
+        AC_DEFINE([QPX],[1],[QPX intrinsics for BG/Q])
+        SIMD_FLAGS='';;
       *)
         AC_MSG_ERROR(["SIMD option ${ac_SIMD} not supported by the GCC/Clang compiler"]);;
     esac;;
diff --git a/lib/simd/Grid_qpx.h b/lib/simd/Grid_qpx.h
index 10ac3841..6ac83290 100644
--- a/lib/simd/Grid_qpx.h
+++ b/lib/simd/Grid_qpx.h
@@ -1,300 +1,312 @@
-    /*************************************************************************************
-
-    Grid physics library, www.github.com/paboyle/Grid 
-
-    Source file: ./lib/simd/Grid_qpx.h
-
-    Copyright (C) 2015
-
-Author: neo <cossu@post.kek.jp>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
-//----------------------------------------------------------------------
-/*! @file Grid_qpx.h
-  @brief Optimization libraries for QPX instructions set for BG/Q
-
-  Using intrinsics
-*/
-// Time-stamp: <2015-05-27 11:30:21 neo>
-//----------------------------------------------------------------------
-
-// lot of undefined functions
+/*******************************************************************************
+ 
+ Grid physics library, www.github.com/paboyle/Grid
+ 
+ Source file: ./lib/simd/Grid_qpx.h
+ 
+ Copyright (C) 2016
+ 
+ Author: Antonin Portelli <antonin.portelli@me.com>
+ 
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ 
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ 
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+ See the full license in the file "LICENSE" in the top level distribution directory
+ ******************************************************************************/
 
+namespace Grid {
 namespace Optimization {
+  inline std::ostream & operator<<(std::ostream& stream, const vector4double a)
+  {
+    stream << "{"<<vec_extract(a,0)<<","<<vec_extract(a,1)<<","<<vec_extract(a,2)<<","<<vec_extract(a,3)<<"}";
+    return stream;
+  };
   
   struct Vsplat{
     //Complex float
-    inline float operator()(float a, float b){
-      return {a,b,a,b};
+    inline vector4double operator()(float a, float b){
+      return (vector4double){(double)a, (double)b, (double)a, (double)b};
     }
     // Real float
-    inline float operator()(float a){
-      return {a,a,a,a};
+    inline vector4double operator()(float a){
+      return (vector4double){(double)a, (double)a, (double)a, (double)a};
     }
     //Complex double
     inline vector4double operator()(double a, double b){
-      return {a,b,a,b};
+      return (vector4double){a, b, a, b};
     }
     //Real double
     inline vector4double operator()(double a){
-      return {a,a,a,a};
+      return (vector4double){a, a, a, a};
     }
     //Integer
     inline int operator()(Integer a){
-#error
+      return a;
     }
   };
-
+  
   struct Vstore{
-    //Float 
-    inline void operator()(float a, float* F){
-      assert(0);
+    //Float
+    inline void operator()(vector4double a, float *f){
+      vec_st(a, 0, f);
     }
     //Double
-    inline void operator()(vector4double a, double* D){
-      assert(0);
+    inline void operator()(vector4double a, double *d){
+      vec_st(a, 0, d);
     }
     //Integer
-    inline void operator()(int a, Integer* I){
-      assert(0);
+    inline void operator()(int a, Integer *i){
+      i[0] = a;
     }
-
   };
-
-
+  
   struct Vstream{
     //Float
-    inline void operator()(float * a, float b){
-      assert(0);
+    inline void operator()(float *f, vector4double a){
+      vec_st(a, 0, f);
     }
     //Double
-    inline void operator()(double * a, vector4double b){
-      assert(0);
+    inline void operator()(double *d, vector4double a){
+      vec_st(a, 0, d);
     }
 
-
   };
-
-
-
+  
   struct Vset{
-    // Complex float 
-    inline float operator()(Grid::ComplexF *a){
-      return {a[0].real(),a[0].imag(),a[1].real(),a[1].imag(),a[2].real(),a[2].imag(),a[3].real(),a[3].imag()};
+    // Complex float
+    inline vector4double operator()(Grid::ComplexF *a){
+      return vec_ld(0, (float *)a);
     }
-    // Complex double 
+    // Complex double
     inline vector4double operator()(Grid::ComplexD *a){
-      return {a[0].real(),a[0].imag(),a[1].real(),a[1].imag(),a[2].real(),a[2].imag(),a[3].real(),a[3].imag()};
+      return vec_ld(0, (double *)a);
     }
-    // Real float 
-    inline float operator()(float *a){
-      return {a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]};
+    // Real float
+    inline vector4double operator()(float *a){
+      return vec_ld(0, a);
     }
     // Real double
     inline vector4double operator()(double *a){
-      return {a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]};
+      return vec_ld(0, a);
     }
     // Integer
     inline int operator()(Integer *a){
-#error
+      return a[0];
     }
-
-
+    
+    
   };
-
+  
   template <typename Out_type, typename In_type>
-    struct Reduce{
-      //Need templated class to overload output type
-      //General form must generate error if compiled
-      inline Out_type operator()(In_type in){
-	printf("Error, using wrong Reduce function\n");
-	exit(1);
-	return 0;
-      }
-    };
-
-
- 
-
+  struct Reduce{
+    //Need templated class to overload output type
+    //General form must generate error if compiled
+    inline Out_type operator()(In_type in){
+      printf("Error, using wrong Reduce function\n");
+      exit(1);
+      return 0;
+    }
+  };
+  
   /////////////////////////////////////////////////////
   // Arithmetic operations
   /////////////////////////////////////////////////////
   struct Sum{
-    //Complex/Real float
-    inline float operator()(float a, float b){
-#error
-    }
     //Complex/Real double
     inline vector4double operator()(vector4double a, vector4double b){
-      return vec_add(a,b);
+      return vec_add(a, b);
     }
     //Integer
     inline int operator()(int a, int b){
-#error
+      return a + b;
     }
   };
-
+  
   struct Sub{
-    //Complex/Real float
-    inline float operator()(float a, float b){
-#error
-    }
     //Complex/Real double
     inline vector4double operator()(vector4double a, vector4double b){
-#error
+      return vec_sub(a, b);
     }
     //Integer
-    inline floati operator()(int a, int b){
-#error
+    inline int operator()(int a, int b){
+      return a - b;
     }
   };
-
-
+  
   struct MultComplex{
-    // Complex float
-    inline float operator()(float a, float b){
-#error
-    }
     // Complex double
     inline vector4double operator()(vector4double a, vector4double b){
-#error
+      return vec_xxnpmadd(a, b, vec_xmul(b, a));
     }
   };
-
+  
   struct Mult{
-    // Real float
-    inline float operator()(float a, float b){
-#error
-    }
     // Real double
     inline vector4double operator()(vector4double a, vector4double b){
-#error
+      return vec_mul(a, b);
     }
     // Integer
     inline int operator()(int a, int b){
-#error
+      return a*b;
     }
   };
-
-
+  
   struct Conj{
-    // Complex single
-    inline float operator()(float in){
-      assert(0);
-    }
     // Complex double
-    inline vector4double operator()(vector4double in){
-      assert(0);
+    inline vector4double operator()(vector4double v){
+      return vec_mul(v, (vector4double){1., -1., 1., -1.});
     }
-    // do not define for integer input
   };
-
+  
   struct TimesMinusI{
-    //Complex single
-    inline float operator()(float in, float ret){
-      assert(0);
-    }
     //Complex double
-    inline vector4double operator()(vector4double in, vector4double ret){
-      assert(0);
+    inline vector4double operator()(vector4double v, vector4double ret){
+      return vec_xxcpnmadd(v, (vector4double){1., 1., 1., 1.},
+                               (vector4double){0., 0., 0., 0.});
     }
-
-
   };
-
+  
   struct TimesI{
-    //Complex single
-    inline float operator()(float in, float ret){
-  
-    }
     //Complex double
-    inline vector4double operator()(vector4double in, vector4double ret){
-  
+    inline vector4double operator()(vector4double v, vector4double ret){
+      return vec_xxcpnmadd(v, (vector4double){-1., -1., -1., -1.},
+                              (vector4double){0., 0., 0., 0.});
     }
-
-
   };
 
-
+  struct Permute{
+    static inline vector4double Permute0(vector4double v){ //0123 -> 2301
+      return vec_perm(v, v, vec_gpci(02301));
+    };
+    static inline vector4double Permute1(vector4double v){ //0123 -> 1032
+      return vec_perm(v, v, vec_gpci(01032));
+    };
+    static inline vector4double Permute2(vector4double v){
+      return v;
+    };
+    static inline vector4double Permute3(vector4double v){
+      return v;
+    };
+  };
   
-
-
-  //////////////////////////////////////////////
-  // Some Template specialization
+  struct Rotate{
+    static inline vector4double rotate(vector4double v, int n){
+      switch(n){
+        case 0:
+          return v;
+          break;
+        case 1:
+          return vec_perm(v, v, vec_gpci(01230));
+          break;
+        case 2:
+          return vec_perm(v, v, vec_gpci(02301));
+          break;
+        case 3:
+          return vec_perm(v, v, vec_gpci(03012));
+          break;
+        default: assert(0);
+      }
+    }
+  };
   
   //Complex float Reduce
   template<>
-    inline Grid::ComplexF Reduce<Grid::ComplexF, float>::operator()(float in){
-    assert(0);
+  inline Grid::ComplexF
+  Reduce<Grid::ComplexF, vector4double>::operator()(vector4double v) { //2 complex
+    vector4double v1,v2;
+    
+    v1 = Optimization::Permute::Permute0(v);
+    v1 = vec_add(v1, v);
+    
+    return Grid::ComplexF((float)vec_extract(v1, 0), (float)vec_extract(v1, 1));
   }
   //Real float Reduce
   template<>
-    inline Grid::RealF Reduce<Grid::RealF, float>::operator()(float in){
-    assert(0);
+  inline Grid::RealF
+  Reduce<Grid::RealF, vector4double>::operator()(vector4double v){ //4 floats
+    vector4double v1,v2;
+    
+    v1 = Optimization::Permute::Permute0(v);
+    v1 = vec_add(v1, v);
+    v2 = Optimization::Permute::Permute1(v1);
+    v1 = vec_add(v1, v2);
+    
+    return (float)vec_extract(v1, 0);
   }
   
   
   //Complex double Reduce
   template<>
-    inline Grid::ComplexD Reduce<Grid::ComplexD, vector4double>::operator()(vector4double in){
-    assert(0);
+  inline Grid::ComplexD
+  Reduce<Grid::ComplexD, vector4double>::operator()(vector4double v){ //2 complex
+    vector4double v1;
+    
+    v1 = Optimization::Permute::Permute0(v);
+    v1 = vec_add(v1, v);
+    
+    return Grid::ComplexD(vec_extract(v1, 0), vec_extract(v1, 1));
   }
   
   //Real double Reduce
   template<>
-    inline Grid::RealD Reduce<Grid::RealD, vector4double>::operator()(vector4double in){
-    assert(0);
-  }
+  inline Grid::RealD
+  Reduce<Grid::RealD, vector4double>::operator()(vector4double v){ //4 doubles
+    vector4double v1,v2;
+    
+    v1 = Optimization::Permute::Permute0(v);
+    v1 = vec_add(v1, v);
+    v2 = Optimization::Permute::Permute1(v1);
+    v1 = vec_add(v1, v2);
 
+    return vec_extract(v1, 0);
+  }
+  
   //Integer Reduce
   template<>
-    inline Integer Reduce<Integer, floati>::operator()(float in){
+  inline Integer Reduce<Integer, int>::operator()(int in){
+    // FIXME unimplemented
+    printf("Reduce : Missing integer implementation -> FIX\n");
     assert(0);
   }
-  
-  
 }
 
-//////////////////////////////////////////////////////////////////////////////////////
-// Here assign types 
-namespace Grid {
-  typedef float SIMD_Ftype  __attribute__ ((vector_size (16)));         // Single precision type
-  typedef vector4double SIMD_Dtype; // Double precision type
-  typedef int SIMD_Itype;           // Integer type
+////////////////////////////////////////////////////////////////////////////////
+// Here assign types
 
-  inline void v_prefetch0(int size, const char *ptr){};
+typedef vector4double SIMD_Ftype;  // Single precision type
+typedef vector4double SIMD_Dtype; // Double precision type
+typedef int SIMD_Itype; // Integer type
 
-  // Function name aliases
-  typedef Optimization::Vsplat   VsplatSIMD;
-  typedef Optimization::Vstore   VstoreSIMD;
-  typedef Optimization::Vset     VsetSIMD;
-  typedef Optimization::Vstream  VstreamSIMD;
-  template <typename S, typename T> using ReduceSIMD = Optimization::Reduce<S,T>;
+// prefetch utilities
+inline void v_prefetch0(int size, const char *ptr){};
+inline void prefetch_HINT_T0(const char *ptr){};
 
 
-  // Arithmetic operations
-  typedef Optimization::Sum         SumSIMD;
-  typedef Optimization::Sub         SubSIMD;
-  typedef Optimization::Mult        MultSIMD;
-  typedef Optimization::MultComplex MultComplexSIMD;
-  typedef Optimization::Conj        ConjSIMD;
-  typedef Optimization::TimesMinusI TimesMinusISIMD;
-  typedef Optimization::TimesI      TimesISIMD;
+// Function name aliases
+typedef Optimization::Vsplat   VsplatSIMD;
+typedef Optimization::Vstore   VstoreSIMD;
+typedef Optimization::Vset     VsetSIMD;
+typedef Optimization::Vstream  VstreamSIMD;
+template <typename S, typename T> using ReduceSIMD = Optimization::Reduce<S,T>;
 
+// Arithmetic operations
+typedef Optimization::Sum         SumSIMD;
+typedef Optimization::Sub         SubSIMD;
+typedef Optimization::Mult        MultSIMD;
+typedef Optimization::MultComplex MultComplexSIMD;
+typedef Optimization::Conj        ConjSIMD;
+typedef Optimization::TimesMinusI TimesMinusISIMD;
+typedef Optimization::TimesI      TimesISIMD;
+  
 }

From ff6da364e807b965ba49df55fd5dba58723d0a51 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 24 Aug 2016 15:05:00 +0100
Subject: [PATCH 113/295] FFT double and single precision gives good
 performance now in multithreaded code.

---
 configure.ac            |  47 +++--
 lib/FFT.h               | 199 +++++++++++++------
 lib/Init.cc             |   2 +-
 lib/fftw/fftw3.h        | 412 ----------------------------------------
 tests/core/Test_fft.cc  |  19 +-
 tests/core/Test_fftf.cc | 111 +++++++++++
 6 files changed, 298 insertions(+), 492 deletions(-)
 delete mode 100644 lib/fftw/fftw3.h
 create mode 100644 tests/core/Test_fftf.cc

diff --git a/configure.ac b/configure.ac
index b14f9748..98489162 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,8 +10,19 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AC_LANG(C++)
 CXXFLAGS="-O3 $CXXFLAGS"
 AC_PROG_CXX
+
+############ openmp  ###############
 AC_OPENMP
+
+ac_openmp=no
+
+if test "${OPENMP_CXXFLAGS}X" != "X"; then
+ac_openmp=yes
 AM_CXXFLAGS="$OPENMP_CXXFLAGS $AM_CXXFLAGS"
+AM_LDFLAGS="$OPENMP_CXXFLAGS $AM_LDFLAGS"
+fi
+
+############ libtool ###############
 LT_INIT
 
 ############### Checks for header files
@@ -29,7 +40,7 @@ AC_TYPE_SIZE_T
 AC_TYPE_UINT32_T
 AC_TYPE_UINT64_T
 
-############### Options
+############### GMP and MPFR #################
 AC_ARG_WITH([gmp],
     [AS_HELP_STRING([--with-gmp=prefix],
     [try this for a non-standard install prefix of the GMP library])],
@@ -40,6 +51,8 @@ AC_ARG_WITH([mpfr],
     [try this for a non-standard install prefix of the MPFR library])],
     [AM_CXXFLAGS="-I$with_mpfr/include $AM_CXXFLAGS"]
     [AM_LDFLAGS="-L$with_mpfr/lib $AM_LDFLAGS"])
+
+################## lapack ####################
 AC_ARG_ENABLE([lapack],
     [AC_HELP_STRING([--enable-lapack=yes|no|prefix], [enable LAPACK])], 
     [ac_LAPACK=${enable_lapack}],[ac_LAPACK=no])
@@ -55,14 +68,27 @@ case ${ac_LAPACK} in
         AC_DEFINE([USE_LAPACK],[1],[use LAPACK])
 esac
 
-AC_CHECK_LIB([fftw3],[fft_init_threads],
+################## FFTW3 ####################
+AC_ARG_WITH([fftw],    
+            [AS_HELP_STRING([--with-fftw=prefix],
+            [try this for a non-standard install prefix of the FFTW3 library])],
+            [AM_CXXFLAGS="-I$with_fftw/include $AM_CXXFLAGS"]
+            [AM_LDFLAGS="-L$with_fftw/lib $AM_LDFLAGS"])
+
+#
+# What about the MKL library replacement for fftw3 ?  How do we know if fftw_execute
+# can be found in MKL? 
+#
+AC_CHECK_LIB([fftw3],[fftw_execute],
 	[AC_DEFINE([HAVE_FFTW],[1],[Define to 1 if you have the `FFTW' library (-lfftw3).])] [ac_fftw=yes],
         [ac_fftw=no])
+
 case ${ac_fftw} in
     no)
+        echo WARNING libfftw3 not found FFT routines will not work
         ;;
     yes)
-        AM_LDFLAGS="-lfftw3 $AM_LDFLAGS"
+        AM_LDFLAGS="$AM_LDFLAGS -lfftw3 -lfftw3f"
 esac
 
 
@@ -304,19 +330,18 @@ Summary of configuration for $PACKAGE v$VERSION
 - compiler version              : ${ax_cv_gxx_version}
 ----- BUILD OPTIONS -----------------------------------
 - SIMD                          : ${ac_SIMD}
-- communications type           : ${ac_COMMS}
-- default precision             : ${ac_PRECISION}
+- Threading                     : ${ac_openmp} 
+- Communications type           : ${ac_COMMS}
+- Default precision             : ${ac_PRECISION}
 - RNG choice                    : ${ac_RNG} 
 - GMP                           : `if test "x$have_gmp" = xtrue; then echo yes; else echo no; fi`
 - LAPACK                        : ${ac_LAPACK}
+- FFTW                          : ${ac_fftw}
 - build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
 - graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
 ----- BUILD FLAGS -------------------------------------
-- CXXFLAGS: 
-`echo ${AM_CXXFLAGS} ${CXXFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
-- LDFLAGS:
-`echo ${AM_LDFLAGS} ${LDFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
-- LIBS:
-`echo ${LIBS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+- CXXFLAGS:  "${AM_CXXFLAGS} ${CXXFLAGS}"
+- LDFLAGS:   "${AM_LDFLAGS} ${LDFLAGS}"
+- LIBS:      "${LIBS} "
 -------------------------------------------------------
 "
diff --git a/lib/FFT.h b/lib/FFT.h
index cf012e79..17c8a309 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -1,3 +1,4 @@
+
     /*************************************************************************************
 
     Grid physics library, www.github.com/paboyle/Grid 
@@ -28,11 +29,70 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef _GRID_FFT_H_
 #define _GRID_FFT_H_
 
-#include <Grid/fftw/fftw3.h>
-
+#ifdef HAVE_FFTW	
+#include <fftw3.h>
+#endif
 namespace Grid {
 
-  
+  template<class scalar> struct FFTW { };
+
+#ifdef HAVE_FFTW	
+  template<> struct FFTW<ComplexD> {
+  public:
+
+    typedef fftw_complex FFTW_scalar;
+    typedef fftw_plan    FFTW_plan;
+
+    static FFTW_plan fftw_plan_many_dft(int rank, const int *n,int howmany,
+					FFTW_scalar *in, const int *inembed,		
+					int istride, int idist,		
+					FFTW_scalar *out, const int *onembed,		
+					int ostride, int odist,		
+					int sign, unsigned flags) {
+      return ::fftw_plan_many_dft(rank,n,howmany,in,inembed,istride,idist,out,onembed,ostride,odist,sign,flags);
+    }	  
+    
+    static void fftw_flops(const FFTW_plan p,double *add, double *mul, double *fmas){
+      ::fftw_flops(p,add,mul,fmas);
+    }
+
+    inline static void fftw_execute_dft(const FFTW_plan p,FFTW_scalar *in,FFTW_scalar *out) {
+      ::fftw_execute_dft(p,in,out);
+    }
+    inline static void fftw_destroy_plan(const FFTW_plan p) {
+      ::fftw_destroy_plan(p);
+    }
+  };
+
+  template<> struct FFTW<ComplexF> {
+  public:
+
+    typedef fftwf_complex FFTW_scalar;
+    typedef fftwf_plan    FFTW_plan;
+
+    static FFTW_plan fftw_plan_many_dft(int rank, const int *n,int howmany,
+					FFTW_scalar *in, const int *inembed,		
+					int istride, int idist,		
+					FFTW_scalar *out, const int *onembed,		
+					int ostride, int odist,		
+					int sign, unsigned flags) {
+      return ::fftwf_plan_many_dft(rank,n,howmany,in,inembed,istride,idist,out,onembed,ostride,odist,sign,flags);
+    }	  
+    
+    static void fftw_flops(const FFTW_plan p,double *add, double *mul, double *fmas){
+      ::fftwf_flops(p,add,mul,fmas);
+    }
+
+    inline static void fftw_execute_dft(const FFTW_plan p,FFTW_scalar *in,FFTW_scalar *out) {
+      ::fftwf_execute_dft(p,in,out);
+    }
+    inline static void fftw_destroy_plan(const FFTW_plan p) {
+      ::fftwf_destroy_plan(p);
+    }
+  };
+
+#endif
+
   class FFT { 
   private:
 
@@ -40,6 +100,10 @@ namespace Grid {
     GridCartesian *sgrid;
 
     int Nd;
+    double flops;
+    double flops_call;
+    uint64_t usec;
+
     std::vector<int> dimensions;
     std::vector<int> processors;
     std::vector<int> processor_coor;
@@ -49,6 +113,9 @@ namespace Grid {
     static const int forward=FFTW_FORWARD;
     static const int backward=FFTW_BACKWARD;
 
+    double Flops(void) {return flops;}
+    double MFlops(void) {return flops/usec;}
+
     FFT ( GridCartesian * grid ) : 
       vgrid(grid),
       Nd(grid->_ndimension),
@@ -56,6 +123,8 @@ namespace Grid {
       processors(grid->_processors),
       processor_coor(grid->_processor_coor)
     {
+      flops=0;
+      usec =0;
       std::vector<int> layout(Nd,1);
       sgrid = new GridCartesian(dimensions,layout,processors);
     };
@@ -75,55 +144,62 @@ namespace Grid {
 
       std::vector<int> layout(Nd,1);
       std::vector<int> pencil_gd(vgrid->_fdimensions);
-      std::vector<int> pencil_ld(processors);
 
       pencil_gd[dim] = G*processors[dim];    
-      pencil_ld[dim] = G*processors[dim];    
 
       // Pencil global vol LxLxGxLxL per node
       GridCartesian pencil_g(pencil_gd,layout,processors);
-      GridCartesian pencil_l(pencil_ld,layout,processors);
 
       // Construct pencils
       typedef typename vobj::scalar_object sobj;
+      typedef typename sobj::scalar_type   scalar;
+
       Lattice<vobj> ssource(vgrid); ssource =source;
       Lattice<sobj> pgsource(&pencil_g);
-      Lattice<sobj> pgresult(&pencil_g);
-      Lattice<sobj> plsource(&pencil_l);
-      Lattice<sobj> plresult(&pencil_l);
+      Lattice<sobj> pgresult(&pencil_g); pgresult=zero;
+
+#ifndef HAVE_FFTW	
+      assert(0);
+#else 
+      typedef typename FFTW<scalar>::FFTW_scalar FFTW_scalar;
+      typedef typename FFTW<scalar>::FFTW_plan   FFTW_plan;
 
       {
-	assert(sizeof(typename sobj::scalar_type)==sizeof(ComplexD));
-	assert(sizeof(fftw_complex)==sizeof(ComplexD));
-	assert(sizeof(fftw_complex)==sizeof(ComplexD));
+	int Ncomp = sizeof(sobj)/sizeof(scalar);
+	int Nlow  = 1;
+	for(int d=0;d<dim;d++){
+	  Nlow*=vgrid->_ldimensions[d];
+	}
 
-	int Ncomp = sizeof(sobj)/sizeof(fftw_complex);
-
-	int rank = 1;  /* not 2: we are computing 1d transforms */
+	int rank = 1;  /* 1d transforms */
 	int n[] = {G}; /* 1d transforms of length G */
 	int howmany = Ncomp;
 	int odist,idist,istride,ostride;
-	idist   = odist   = 1;
-	istride = ostride = Ncomp; /* distance between two elements in the same column */
+	idist   = odist   = 1;          /* Distance between consecutive FT's */
+	istride = ostride = Ncomp*Nlow; /* distance between two elements in the same FT */
 	int *inembed = n, *onembed = n;
 
-	fftw_complex *in = (fftw_complex *)&plsource._odata[0];
-	fftw_complex *out= (fftw_complex *)&plresult._odata[0];
 	
 	int sign = FFTW_FORWARD;
 	if (inverse) sign = FFTW_BACKWARD;
 
-#ifdef HAVE_FFTW
-	fftw_plan p = fftw_plan_many_dft(rank,n,howmany,
-					 in,inembed,
-					 istride,idist,
-					 out,onembed,
-					 ostride, odist,
-					 sign,FFTW_ESTIMATE);
-#else 
-	fftw_plan p ;
-	assert(0);
-#endif
+	FFTW_plan p;
+	{
+	  FFTW_scalar *in = (FFTW_scalar *)&pgsource._odata[0];
+	  FFTW_scalar *out= (FFTW_scalar *)&pgresult._odata[0];
+	  p = FFTW<scalar>::fftw_plan_many_dft(rank,n,howmany,
+					       in,inembed,
+					       istride,idist,
+					       out,onembed,
+					       ostride, odist,
+					       sign,FFTW_ESTIMATE);
+	}
+
+	double add,mul,fma;
+	FFTW<scalar>::fftw_flops(p,&add,&mul,&fma);
+	flops_call = add+mul+2.0*fma;
+	std::cout << "FFT Flops per call "<<flops_call<<std::endl;
+	GridStopWatch timer;
 
 	// Barrel shift and collect global pencil
 	for(int p=0;p<processors[dim];p++) { 
@@ -146,43 +222,46 @@ namespace Grid {
 	}
 	
 	// Loop over orthog coords
-	for(int idx=0;idx<sgrid->lSites();idx++) { 
+	int NN=pencil_g.lSites();
+
+	GridStopWatch Timer;
+	Timer.Start();
+
+PARALLEL_FOR_LOOP
+	for(int idx=0;idx<NN;idx++) { 
 
-	  std::vector<int> pcoor(Nd,0);
 	  std::vector<int> lcoor(Nd);
-	  sgrid->LocalIndexToLocalCoor(idx,lcoor);
+	  pencil_g.LocalIndexToLocalCoor(idx,lcoor);
 
 	  if ( lcoor[dim] == 0 ) {  // restricts loop to plane at lcoor[dim]==0
-	  
-	    // Project to local pencil array
-	    for(int l=0;l<G;l++){
-	      sobj s;
-	      pcoor[dim]=l;
-	      lcoor[dim]=l;
-	      peekLocalSite(s,pgsource,lcoor);
-	      pokeLocalSite(s,plsource,pcoor);
-	    }
-
-	    // FFT the pencil
-#ifdef HAVE_FFTW
-	    fftw_execute(p);
-#endif
-
-	    // Extract the result
-	    for(int l=0;l<L;l++){
-	      sobj s;
-	      int p = processor_coor[dim];
-	      lcoor[dim] = l;
-	      pcoor[dim] = l+L*p;
-	      peekLocalSite(s,plresult,pcoor);
-	      pokeLocalSite(s,result,lcoor);
-	    }
-
+	    FFTW_scalar *in = (FFTW_scalar *)&pgsource._odata[idx];
+	    FFTW_scalar *out= (FFTW_scalar *)&pgresult._odata[idx];
+	    FFTW<scalar>::fftw_execute_dft(p,in,out);
 	  }
 	}
-	  
-	fftw_destroy_plan(p);
+
+        Timer.Stop();
+	usec += Timer.useconds();
+	flops+= flops_call*NN;
+
+
+        int pc = processor_coor[dim];
+        for(int idx=0;idx<sgrid->lSites();idx++) { 
+	  std::vector<int> lcoor(Nd);
+	  sgrid->LocalIndexToLocalCoor(idx,lcoor);
+	  std::vector<int> gcoor = lcoor;
+	  // extract the result
+	  sobj s;
+	  gcoor[dim] = lcoor[dim]+L*pc;
+	  peekLocalSite(s,pgresult,gcoor);
+	  pokeLocalSite(s,result,lcoor);
+	}
+      	  
+	FFTW<scalar>::fftw_destroy_plan(p);
       }
+#endif
+
+
     }
 
   };
diff --git a/lib/Init.cc b/lib/Init.cc
index 6543435c..34e503a4 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -153,6 +153,7 @@ void GridParseLayout(char **argv,int argc,
     assert(ompthreads.size()==1);
     GridThread::SetThreads(ompthreads[0]);
   }
+
   if( GridCmdOptionExists(argv,argv+argc,"--cores") ){
     std::vector<int> cores(0);
     arg= GridCmdOptionPayload(argv,argv+argc,"--cores");
@@ -203,7 +204,6 @@ void Grid_init(int *argc,char ***argv)
     GridLogConfigure(logstreams);
   }
 
-
   if( GridCmdOptionExists(*argv,*argv+*argc,"--debug-signals") ){
     Grid_debug_handler_init();
   }
diff --git a/lib/fftw/fftw3.h b/lib/fftw/fftw3.h
deleted file mode 100644
index 1bf34396..00000000
--- a/lib/fftw/fftw3.h
+++ /dev/null
@@ -1,412 +0,0 @@
-/*
- * Copyright (c) 2003, 2007-14 Matteo Frigo
- * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
- *
- * The following statement of license applies *only* to this header file,
- * and *not* to the other files distributed with FFTW or derived therefrom:
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/***************************** NOTE TO USERS *********************************
- *
- *                 THIS IS A HEADER FILE, NOT A MANUAL
- *
- *    If you want to know how to use FFTW, please read the manual,
- *    online at http://www.fftw.org/doc/ and also included with FFTW.
- *    For a quick start, see the manual's tutorial section.
- *
- *   (Reading header files to learn how to use a library is a habit
- *    stemming from code lacking a proper manual.  Arguably, it's a
- *    *bad* habit in most cases, because header files can contain
- *    interfaces that are not part of the public, stable API.)
- *
- ****************************************************************************/
-
-#ifndef FFTW3_H
-#define FFTW3_H
-
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-
-/* If <complex.h> is included, use the C99 complex type.  Otherwise
-   define a type bit-compatible with C99 complex */
-#if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I)
-#  define FFTW_DEFINE_COMPLEX(R, C) typedef R _Complex C
-#else
-#  define FFTW_DEFINE_COMPLEX(R, C) typedef R C[2]
-#endif
-
-#define FFTW_CONCAT(prefix, name) prefix ## name
-#define FFTW_MANGLE_DOUBLE(name) FFTW_CONCAT(fftw_, name)
-#define FFTW_MANGLE_FLOAT(name) FFTW_CONCAT(fftwf_, name)
-#define FFTW_MANGLE_LONG_DOUBLE(name) FFTW_CONCAT(fftwl_, name)
-#define FFTW_MANGLE_QUAD(name) FFTW_CONCAT(fftwq_, name)
-
-/* IMPORTANT: for Windows compilers, you should add a line
-        #define FFTW_DLL
-   here and in kernel/ifftw.h if you are compiling/using FFTW as a
-   DLL, in order to do the proper importing/exporting, or
-   alternatively compile with -DFFTW_DLL or the equivalent
-   command-line flag.  This is not necessary under MinGW/Cygwin, where
-   libtool does the imports/exports automatically. */
-#if defined(FFTW_DLL) && (defined(_WIN32) || defined(__WIN32__))
-   /* annoying Windows syntax for shared-library declarations */
-#  if defined(COMPILING_FFTW) /* defined in api.h when compiling FFTW */
-#    define FFTW_EXTERN extern __declspec(dllexport) 
-#  else /* user is calling FFTW; import symbol */
-#    define FFTW_EXTERN extern __declspec(dllimport) 
-#  endif
-#else
-#  define FFTW_EXTERN extern
-#endif
-
-enum fftw_r2r_kind_do_not_use_me {
-     FFTW_R2HC=0, FFTW_HC2R=1, FFTW_DHT=2,
-     FFTW_REDFT00=3, FFTW_REDFT01=4, FFTW_REDFT10=5, FFTW_REDFT11=6,
-     FFTW_RODFT00=7, FFTW_RODFT01=8, FFTW_RODFT10=9, FFTW_RODFT11=10
-};
-
-struct fftw_iodim_do_not_use_me {
-     int n;                     /* dimension size */
-     int is;			/* input stride */
-     int os;			/* output stride */
-};
-
-#include <stddef.h> /* for ptrdiff_t */
-struct fftw_iodim64_do_not_use_me {
-     ptrdiff_t n;                     /* dimension size */
-     ptrdiff_t is;			/* input stride */
-     ptrdiff_t os;			/* output stride */
-};
-
-typedef void (*fftw_write_char_func_do_not_use_me)(char c, void *);
-typedef int (*fftw_read_char_func_do_not_use_me)(void *);
-
-/*
-  huge second-order macro that defines prototypes for all API
-  functions.  We expand this macro for each supported precision
- 
-  X: name-mangling macro
-  R: real data type
-  C: complex data type
-*/
-
-#define FFTW_DEFINE_API(X, R, C)					   \
-									   \
-FFTW_DEFINE_COMPLEX(R, C);						   \
-									   \
-typedef struct X(plan_s) *X(plan);					   \
-									   \
-typedef struct fftw_iodim_do_not_use_me X(iodim);			   \
-typedef struct fftw_iodim64_do_not_use_me X(iodim64);			   \
-									   \
-typedef enum fftw_r2r_kind_do_not_use_me X(r2r_kind);			   \
-									   \
-typedef fftw_write_char_func_do_not_use_me X(write_char_func);		   \
-typedef fftw_read_char_func_do_not_use_me X(read_char_func);		   \
-									   \
-FFTW_EXTERN void X(execute)(const X(plan) p);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft)(int rank, const int *n,			   \
-		    C *in, C *out, int sign, unsigned flags);		   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_1d)(int n, C *in, C *out, int sign,	   \
-		       unsigned flags);					   \
-FFTW_EXTERN X(plan) X(plan_dft_2d)(int n0, int n1,			   \
-		       C *in, C *out, int sign, unsigned flags);	   \
-FFTW_EXTERN X(plan) X(plan_dft_3d)(int n0, int n1, int n2,		   \
-		       C *in, C *out, int sign, unsigned flags);	   \
-									   \
-FFTW_EXTERN X(plan) X(plan_many_dft)(int rank, const int *n,		   \
-                         int howmany,					   \
-                         C *in, const int *inembed,			   \
-                         int istride, int idist,			   \
-                         C *out, const int *onembed,			   \
-                         int ostride, int odist,			   \
-                         int sign, unsigned flags);			   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru_dft)(int rank, const X(iodim) *dims,	   \
-			 int howmany_rank,				   \
-			 const X(iodim) *howmany_dims,			   \
-			 C *in, C *out,					   \
-			 int sign, unsigned flags);			   \
-FFTW_EXTERN X(plan) X(plan_guru_split_dft)(int rank, const X(iodim) *dims, \
-			 int howmany_rank,				   \
-			 const X(iodim) *howmany_dims,			   \
-			 R *ri, R *ii, R *ro, R *io,			   \
-			 unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru64_dft)(int rank,			   \
-                         const X(iodim64) *dims,			   \
-			 int howmany_rank,				   \
-			 const X(iodim64) *howmany_dims,		   \
-			 C *in, C *out,					   \
-			 int sign, unsigned flags);			   \
-FFTW_EXTERN X(plan) X(plan_guru64_split_dft)(int rank,			   \
-                         const X(iodim64) *dims,			   \
-			 int howmany_rank,				   \
-			 const X(iodim64) *howmany_dims,		   \
-			 R *ri, R *ii, R *ro, R *io,			   \
-			 unsigned flags);				   \
-									   \
-FFTW_EXTERN void X(execute_dft)(const X(plan) p, C *in, C *out);	   \
-FFTW_EXTERN void X(execute_split_dft)(const X(plan) p, R *ri, R *ii,	   \
-                                      R *ro, R *io);			   \
-									   \
-FFTW_EXTERN X(plan) X(plan_many_dft_r2c)(int rank, const int *n,	   \
-                             int howmany,				   \
-                             R *in, const int *inembed,			   \
-                             int istride, int idist,			   \
-                             C *out, const int *onembed,		   \
-                             int ostride, int odist,			   \
-                             unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_r2c)(int rank, const int *n,		   \
-                        R *in, C *out, unsigned flags);			   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_r2c_1d)(int n,R *in,C *out,unsigned flags); \
-FFTW_EXTERN X(plan) X(plan_dft_r2c_2d)(int n0, int n1,			   \
-			   R *in, C *out, unsigned flags);		   \
-FFTW_EXTERN X(plan) X(plan_dft_r2c_3d)(int n0, int n1,			   \
-			   int n2,					   \
-			   R *in, C *out, unsigned flags);		   \
-									   \
-									   \
-FFTW_EXTERN X(plan) X(plan_many_dft_c2r)(int rank, const int *n,	   \
-			     int howmany,				   \
-			     C *in, const int *inembed,			   \
-			     int istride, int idist,			   \
-			     R *out, const int *onembed,		   \
-			     int ostride, int odist,			   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_c2r)(int rank, const int *n,		   \
-                        C *in, R *out, unsigned flags);			   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_c2r_1d)(int n,C *in,R *out,unsigned flags); \
-FFTW_EXTERN X(plan) X(plan_dft_c2r_2d)(int n0, int n1,			   \
-			   C *in, R *out, unsigned flags);		   \
-FFTW_EXTERN X(plan) X(plan_dft_c2r_3d)(int n0, int n1,			   \
-			   int n2,					   \
-			   C *in, R *out, unsigned flags);		   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru_dft_r2c)(int rank, const X(iodim) *dims,   \
-			     int howmany_rank,				   \
-			     const X(iodim) *howmany_dims,		   \
-			     R *in, C *out,				   \
-			     unsigned flags);				   \
-FFTW_EXTERN X(plan) X(plan_guru_dft_c2r)(int rank, const X(iodim) *dims,   \
-			     int howmany_rank,				   \
-			     const X(iodim) *howmany_dims,		   \
-			     C *in, R *out,				   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru_split_dft_r2c)(				   \
-                             int rank, const X(iodim) *dims,		   \
-			     int howmany_rank,				   \
-			     const X(iodim) *howmany_dims,		   \
-			     R *in, R *ro, R *io,			   \
-			     unsigned flags);				   \
-FFTW_EXTERN X(plan) X(plan_guru_split_dft_c2r)(				   \
-                             int rank, const X(iodim) *dims,		   \
-			     int howmany_rank,				   \
-			     const X(iodim) *howmany_dims,		   \
-			     R *ri, R *ii, R *out,			   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru64_dft_r2c)(int rank,			   \
-                             const X(iodim64) *dims,			   \
-			     int howmany_rank,				   \
-			     const X(iodim64) *howmany_dims,		   \
-			     R *in, C *out,				   \
-			     unsigned flags);				   \
-FFTW_EXTERN X(plan) X(plan_guru64_dft_c2r)(int rank,			   \
-                             const X(iodim64) *dims,			   \
-			     int howmany_rank,				   \
-			     const X(iodim64) *howmany_dims,		   \
-			     C *in, R *out,				   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru64_split_dft_r2c)(			   \
-                             int rank, const X(iodim64) *dims,		   \
-			     int howmany_rank,				   \
-			     const X(iodim64) *howmany_dims,		   \
-			     R *in, R *ro, R *io,			   \
-			     unsigned flags);				   \
-FFTW_EXTERN X(plan) X(plan_guru64_split_dft_c2r)(			   \
-                             int rank, const X(iodim64) *dims,		   \
-			     int howmany_rank,				   \
-			     const X(iodim64) *howmany_dims,		   \
-			     R *ri, R *ii, R *out,			   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN void X(execute_dft_r2c)(const X(plan) p, R *in, C *out);	   \
-FFTW_EXTERN void X(execute_dft_c2r)(const X(plan) p, C *in, R *out);	   \
-									   \
-FFTW_EXTERN void X(execute_split_dft_r2c)(const X(plan) p,		   \
-                                          R *in, R *ro, R *io);		   \
-FFTW_EXTERN void X(execute_split_dft_c2r)(const X(plan) p,		   \
-                                          R *ri, R *ii, R *out);	   \
-									   \
-FFTW_EXTERN X(plan) X(plan_many_r2r)(int rank, const int *n,		   \
-                         int howmany,					   \
-                         R *in, const int *inembed,			   \
-                         int istride, int idist,			   \
-                         R *out, const int *onembed,			   \
-                         int ostride, int odist,			   \
-                         const X(r2r_kind) *kind, unsigned flags);	   \
-									   \
-FFTW_EXTERN X(plan) X(plan_r2r)(int rank, const int *n, R *in, R *out,	   \
-                    const X(r2r_kind) *kind, unsigned flags);		   \
-									   \
-FFTW_EXTERN X(plan) X(plan_r2r_1d)(int n, R *in, R *out,		   \
-                       X(r2r_kind) kind, unsigned flags);		   \
-FFTW_EXTERN X(plan) X(plan_r2r_2d)(int n0, int n1, R *in, R *out,	   \
-                       X(r2r_kind) kind0, X(r2r_kind) kind1,		   \
-                       unsigned flags);					   \
-FFTW_EXTERN X(plan) X(plan_r2r_3d)(int n0, int n1, int n2,		   \
-                       R *in, R *out, X(r2r_kind) kind0,		   \
-                       X(r2r_kind) kind1, X(r2r_kind) kind2,		   \
-                       unsigned flags);					   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru_r2r)(int rank, const X(iodim) *dims,	   \
-                         int howmany_rank,				   \
-                         const X(iodim) *howmany_dims,			   \
-                         R *in, R *out,					   \
-                         const X(r2r_kind) *kind, unsigned flags);	   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru64_r2r)(int rank, const X(iodim64) *dims,   \
-                         int howmany_rank,				   \
-                         const X(iodim64) *howmany_dims,		   \
-                         R *in, R *out,					   \
-                         const X(r2r_kind) *kind, unsigned flags);	   \
-									   \
-FFTW_EXTERN void X(execute_r2r)(const X(plan) p, R *in, R *out);	   \
-									   \
-FFTW_EXTERN void X(destroy_plan)(X(plan) p);				   \
-FFTW_EXTERN void X(forget_wisdom)(void);				   \
-FFTW_EXTERN void X(cleanup)(void);					   \
-									   \
-FFTW_EXTERN void X(set_timelimit)(double t);				   \
-									   \
-FFTW_EXTERN void X(plan_with_nthreads)(int nthreads);			   \
-FFTW_EXTERN int X(init_threads)(void);					   \
-FFTW_EXTERN void X(cleanup_threads)(void);				   \
-									   \
-FFTW_EXTERN int X(export_wisdom_to_filename)(const char *filename);	   \
-FFTW_EXTERN void X(export_wisdom_to_file)(FILE *output_file);		   \
-FFTW_EXTERN char *X(export_wisdom_to_string)(void);			   \
-FFTW_EXTERN void X(export_wisdom)(X(write_char_func) write_char,   	   \
-                                  void *data);				   \
-FFTW_EXTERN int X(import_system_wisdom)(void);				   \
-FFTW_EXTERN int X(import_wisdom_from_filename)(const char *filename);	   \
-FFTW_EXTERN int X(import_wisdom_from_file)(FILE *input_file);		   \
-FFTW_EXTERN int X(import_wisdom_from_string)(const char *input_string);	   \
-FFTW_EXTERN int X(import_wisdom)(X(read_char_func) read_char, void *data); \
-									   \
-FFTW_EXTERN void X(fprint_plan)(const X(plan) p, FILE *output_file);	   \
-FFTW_EXTERN void X(print_plan)(const X(plan) p);			   \
-FFTW_EXTERN char *X(sprint_plan)(const X(plan) p);			   \
-									   \
-FFTW_EXTERN void *X(malloc)(size_t n);					   \
-FFTW_EXTERN R *X(alloc_real)(size_t n);					   \
-FFTW_EXTERN C *X(alloc_complex)(size_t n);				   \
-FFTW_EXTERN void X(free)(void *p);					   \
-									   \
-FFTW_EXTERN void X(flops)(const X(plan) p,				   \
-                          double *add, double *mul, double *fmas);	   \
-FFTW_EXTERN double X(estimate_cost)(const X(plan) p);			   \
-FFTW_EXTERN double X(cost)(const X(plan) p);				   \
-									   \
-FFTW_EXTERN int X(alignment_of)(R *p);                                     \
-FFTW_EXTERN const char X(version)[];                                       \
-FFTW_EXTERN const char X(cc)[];						   \
-FFTW_EXTERN const char X(codelet_optim)[];
-
-
-/* end of FFTW_DEFINE_API macro */
-
-FFTW_DEFINE_API(FFTW_MANGLE_DOUBLE, double, fftw_complex)
-FFTW_DEFINE_API(FFTW_MANGLE_FLOAT, float, fftwf_complex)
-FFTW_DEFINE_API(FFTW_MANGLE_LONG_DOUBLE, long double, fftwl_complex)
-
-/* __float128 (quad precision) is a gcc extension on i386, x86_64, and ia64
-   for gcc >= 4.6 (compiled in FFTW with --enable-quad-precision) */
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) \
- && !(defined(__ICC) || defined(__INTEL_COMPILER)) \
- && (defined(__i386__) || defined(__x86_64__) || defined(__ia64__))
-#  if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I)
-/* note: __float128 is a typedef, which is not supported with the _Complex
-         keyword in gcc, so instead we use this ugly __attribute__ version.
-         However, we can't simply pass the __attribute__ version to
-         FFTW_DEFINE_API because the __attribute__ confuses gcc in pointer
-         types.  Hence redefining FFTW_DEFINE_COMPLEX.  Ugh. */
-#    undef FFTW_DEFINE_COMPLEX
-#    define FFTW_DEFINE_COMPLEX(R, C) typedef _Complex float __attribute__((mode(TC))) C
-#  endif
-FFTW_DEFINE_API(FFTW_MANGLE_QUAD, __float128, fftwq_complex)
-#endif
-
-#define FFTW_FORWARD (-1)
-#define FFTW_BACKWARD (+1)
-
-#define FFTW_NO_TIMELIMIT (-1.0)
-
-/* documented flags */
-#define FFTW_MEASURE (0U)
-#define FFTW_DESTROY_INPUT (1U << 0)
-#define FFTW_UNALIGNED (1U << 1)
-#define FFTW_CONSERVE_MEMORY (1U << 2)
-#define FFTW_EXHAUSTIVE (1U << 3) /* NO_EXHAUSTIVE is default */
-#define FFTW_PRESERVE_INPUT (1U << 4) /* cancels FFTW_DESTROY_INPUT */
-#define FFTW_PATIENT (1U << 5) /* IMPATIENT is default */
-#define FFTW_ESTIMATE (1U << 6)
-#define FFTW_WISDOM_ONLY (1U << 21)
-
-/* undocumented beyond-guru flags */
-#define FFTW_ESTIMATE_PATIENT (1U << 7)
-#define FFTW_BELIEVE_PCOST (1U << 8)
-#define FFTW_NO_DFT_R2HC (1U << 9)
-#define FFTW_NO_NONTHREADED (1U << 10)
-#define FFTW_NO_BUFFERING (1U << 11)
-#define FFTW_NO_INDIRECT_OP (1U << 12)
-#define FFTW_ALLOW_LARGE_GENERIC (1U << 13) /* NO_LARGE_GENERIC is default */
-#define FFTW_NO_RANK_SPLITS (1U << 14)
-#define FFTW_NO_VRANK_SPLITS (1U << 15)
-#define FFTW_NO_VRECURSE (1U << 16)
-#define FFTW_NO_SIMD (1U << 17)
-#define FFTW_NO_SLOW (1U << 18)
-#define FFTW_NO_FIXED_RADIX_LARGE_N (1U << 19)
-#define FFTW_ALLOW_PRUNING (1U << 20)
-
-#ifdef __cplusplus
-}  /* extern "C" */
-#endif /* __cplusplus */
-
-#endif /* FFTW3_H */
diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
index ed57800c..2fdaeed2 100644
--- a/tests/core/Test_fft.cc
+++ b/tests/core/Test_fft.cc
@@ -35,6 +35,9 @@ int main (int argc, char ** argv)
 {
   Grid_init(&argc,&argv);
 
+  int threads = GridThread::GetThreads();
+  std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
+
   std::vector<int> latt_size   = GridDefaultLatt();
   std::vector<int> simd_layout( { vComplexD::Nsimd(),1,1,1});
   std::vector<int> mpi_layout  = GridDefaultMpi();
@@ -75,10 +78,10 @@ int main (int argc, char ** argv)
 
   FFT theFFT(&Fine);
 
-  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);  C=Ctilde;
-  theFFT.FFT_dim(Ctilde,C,1,FFT::forward);  C=Ctilde;
-  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);  C=Ctilde;
-  theFFT.FFT_dim(Ctilde,C,3,FFT::forward);
+  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Ctilde,C,1,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Ctilde,C,3,FFT::forward);  std::cout << theFFT.MFlops()<<std::endl;
 
   //  C=zero;
   //  Ctilde = where(abs(Ctilde)<1.0e-10,C,Ctilde);
@@ -90,10 +93,10 @@ int main (int argc, char ** argv)
   C=C-Ctilde;
   std::cout << "diff scalar "<<norm2(C) << std::endl;
 
-  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde;
-  theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;
-  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;
-  theFFT.FFT_dim(Stilde,S,3,FFT::forward);
+  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde; std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,S,3,FFT::forward);std::cout << theFFT.MFlops()<<std::endl;
 
   SpinMatrixD Sp; 
   Sp = zero; Sp = Sp+cVol;
diff --git a/tests/core/Test_fftf.cc b/tests/core/Test_fftf.cc
new file mode 100644
index 00000000..54b1ddb3
--- /dev/null
+++ b/tests/core/Test_fftf.cc
@@ -0,0 +1,111 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./tests/Test_cshift.cc
+
+    Copyright (C) 2015
+
+Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include <Grid/Grid.h>
+
+using namespace Grid;
+using namespace Grid::QCD;
+
+int main (int argc, char ** argv)
+{
+  Grid_init(&argc,&argv);
+
+  int threads = GridThread::GetThreads();
+  std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
+
+  std::vector<int> latt_size   = GridDefaultLatt();
+  std::vector<int> simd_layout( { vComplexF::Nsimd(),1,1,1});
+  std::vector<int> mpi_layout  = GridDefaultMpi();
+
+  int vol = 1;
+  for(int d=0;d<latt_size.size();d++){
+    vol = vol * latt_size[d];
+  }
+  GridCartesian        Fine(latt_size,simd_layout,mpi_layout);
+
+  LatticeComplexF     one(&Fine);
+  LatticeComplexF      zz(&Fine);
+  LatticeComplexF       C(&Fine);
+  LatticeComplexF  Ctilde(&Fine);
+  LatticeComplexF    coor(&Fine);
+
+  LatticeSpinMatrixF    S(&Fine);
+  LatticeSpinMatrixF    Stilde(&Fine);
+  
+  std::vector<int> p({1,2,3,2});
+
+  one = ComplexF(1.0,0.0);
+  zz  = ComplexF(0.0,0.0);
+
+  ComplexF ci(0.0,1.0);
+
+  C=zero;
+  for(int mu=0;mu<4;mu++){
+    RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+    LatticeCoordinate(coor,mu);
+    C = C - (TwoPiL * p[mu]) * coor;
+  }
+
+  C = exp(C*ci);
+
+  S=zero;
+  S = S+C;
+
+  FFT theFFT(&Fine);
+
+  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Ctilde,C,1,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Ctilde,C,3,FFT::forward);  std::cout << theFFT.MFlops()<<std::endl;
+
+  //  C=zero;
+  //  Ctilde = where(abs(Ctilde)<1.0e-10,C,Ctilde);
+  TComplexF cVol;
+  cVol()()() = vol;
+
+  C=zero;
+  pokeSite(cVol,C,p);
+  C=C-Ctilde;
+  std::cout << "diff scalar "<<norm2(C) << std::endl;
+
+  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde; std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,S,3,FFT::forward);std::cout << theFFT.MFlops()<<std::endl;
+
+  SpinMatrixF Sp; 
+  Sp = zero; Sp = Sp+cVol;
+
+  S=zero;
+  pokeSite(Sp,S,p);
+
+  S= S-Stilde;
+  std::cout << "diff FT[SpinMat] "<<norm2(S) << std::endl;
+
+  Grid_finalize();
+}

From 744691097f303f1d21fd7046376caa207e453e2d Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 24 Aug 2016 15:05:56 +0100
Subject: [PATCH 114/295] Printing

---
 lib/FFT.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index 17c8a309..b25e8198 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -198,7 +198,7 @@ namespace Grid {
 	double add,mul,fma;
 	FFTW<scalar>::fftw_flops(p,&add,&mul,&fma);
 	flops_call = add+mul+2.0*fma;
-	std::cout << "FFT Flops per call "<<flops_call<<std::endl;
+
 	GridStopWatch timer;
 
 	// Barrel shift and collect global pencil

From bfac5195b8fb9520e81140bf7eaba633a906380a Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 24 Aug 2016 16:38:36 +0100
Subject: [PATCH 115/295] tidy up

---
 lib/FFT.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index b25e8198..0c79c527 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -244,7 +244,6 @@ PARALLEL_FOR_LOOP
 	usec += Timer.useconds();
 	flops+= flops_call*NN;
 
-
         int pc = processor_coor[dim];
         for(int idx=0;idx<sgrid->lSites();idx++) { 
 	  std::vector<int> lcoor(Nd);

From 8c89391c02207bb9dbcbf198f8474a6d203aeb8b Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 24 Aug 2016 16:41:47 +0100
Subject: [PATCH 116/295] FFTW unresolved fixed when no fftw3.h

---
 lib/FFT.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/FFT.h b/lib/FFT.h
index 0c79c527..4cda6483 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -91,6 +91,11 @@ namespace Grid {
     }
   };
 
+#endif
+
+#ifndef FFTW_FORWARD
+#define FFTW_FORWARD (-1)
+#define FFTW_BACKWARD (+1)
 #endif
 
   class FFT { 

From b512ccbee63bdf0948f3f2e88ac542b08ea40438 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 11:31:25 +0100
Subject: [PATCH 117/295] HMC for Adjoint fermions works

Accepts and reproduces known results

Check initial instability of inverters
when starting from hot configurations
---
 lib/qcd/action/pseudofermion/TwoFlavour.h   | 25 +--------------------
 lib/qcd/hmc/integrators/Integrator.h        |  6 ++---
 lib/qcd/representations/adjoint.h           | 19 ++++++++--------
 lib/qcd/utils/SUn.h                         | 14 +++++++-----
 lib/qcd/utils/SUnAdjoint.h                  | 17 +++++++++-----
 tests/Test_hmc_WilsonAdjointFermionGauge.cc |  5 +++--
 tests/Test_lie_generators.cc                |  6 +++--
 tests/Test_wilson_force.cc                  | 10 +++++----
 8 files changed, 45 insertions(+), 57 deletions(-)

diff --git a/lib/qcd/action/pseudofermion/TwoFlavour.h b/lib/qcd/action/pseudofermion/TwoFlavour.h
index 6eaec166..6b65a95d 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavour.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavour.h
@@ -130,32 +130,9 @@ class TwoFlavourPseudoFermionAction : public Action<typename Impl::GaugeField> {
     MdagMLinearOperator<FermionOperator<Impl>, FermionField> MdagMOp(FermOp);
 
     X = zero;
-    DerivativeSolver(MdagMOp, Phi, X); // X = (MdagM)^-1 phi
+    DerivativeSolver(MdagMOp, Phi, X); // X = (MdagM)^-1 phi    
     MdagMOp.Op(X, Y);                  // Y = M X = (Mdag)^-1 phi
 
-    // Check hermiticity
-    
-    std::vector<int> seeds({1,2,3,4});
-    GridParallelRNG RNG(U._grid);   RNG.SeedFixedIntegers(seeds);
-    FermionField RNGphi(FermOp.FermionGrid());
-    FermionField RNGchi(FermOp.FermionGrid());
-    FermionField Achi(FermOp.FermionGrid());
-    FermionField Aphi(FermOp.FermionGrid());
-
-    random(RNG, RNGphi);
-    random(RNG, RNGchi);
-    MdagMOp.HermOp(RNGchi, Achi);
-    MdagMOp.HermOp(RNGphi, Aphi);
-    ComplexD pAc = innerProduct(RNGphi, Achi);
-    ComplexD cAp = innerProduct(RNGchi, Aphi);
-    //these should be real
-    ComplexD pAp = innerProduct(RNGphi, Aphi);
-    ComplexD cAc = innerProduct(RNGchi, Achi);
-
-    std::cout<<GridLogMessage<< "pAc "<<pAc<<" cAp "<< cAp<< " diff "<<pAc-adj(cAp)<<std::endl;
-    // These ones should be real
-    std::cout << GridLogMessage << "pAp " << pAp << " cAc " << cAc << std::endl;
-
     // Our conventions really make this UdSdU; We do not differentiate wrt Udag
     // here.
     // So must take dSdU - adj(dSdU) and left multiply by mom to get dS/dt.
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index 4a9b2c7a..b2fbf039 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -120,12 +120,11 @@ class Integrator {
         FieldType forceR(U._grid);
         // Implement smearing only for the fundamental representation now
         repr_set.at(a)->deriv(Rep.U, forceR);
-        forceR -= adj(forceR);
         GF force =
             Rep.RtoFundamentalProject(forceR);  // Ta for the fundamental rep
         std::cout << GridLogIntegrator << "Hirep Force average: "
                   << norm2(force) / (U._grid->gSites()) << std::endl;
-        Mom -= force * ep;
+        Mom -= force * ep ;
       }
     }
   } update_P_hireps{};
@@ -163,13 +162,14 @@ class Integrator {
               << " dt " << ep << " : t_U " << t_U << std::endl;
   }
   void update_U(GaugeField& Mom, GaugeField& U, double ep) {
-    // rewrite exponential to deal automatically  with the lorentz index?
+    // rewrite exponential to deal internally with the lorentz index?
     for (int mu = 0; mu < Nd; mu++) {
       auto Umu = PeekIndex<LorentzIndex>(U, mu);
       auto Pmu = PeekIndex<LorentzIndex>(Mom, mu);
       Umu = expMat(Pmu, ep, Params.Nexp) * Umu;
       PokeIndex<LorentzIndex>(U, ProjectOnGroup(Umu), mu);
     }
+    
     // Update the smeared fields, can be implemented as observer
     Smearer.set_GaugeField(U);
     // Update the higher representations fields
diff --git a/lib/qcd/representations/adjoint.h b/lib/qcd/representations/adjoint.h
index 76f44c54..facc72f1 100644
--- a/lib/qcd/representations/adjoint.h
+++ b/lib/qcd/representations/adjoint.h
@@ -29,7 +29,7 @@ class AdjointRep {
   explicit AdjointRep(GridBase *grid) : U(grid) {}
 
   void update_representation(const LatticeGaugeField &Uin) {
-    std::cout << GridLogDebug << "Updating adjoint representation\n" ;
+    std::cout << GridLogDebug << "Updating adjoint representation\n";
     // Uin is in the fundamental representation
     // get the U in AdjointRep
     // (U_adj)_B = tr[e^a U e^b U^dag]
@@ -43,8 +43,8 @@ class AdjointRep {
     Vector<typename SU<ncolour>::Matrix> ta(Dimension);
 
     // Debug lines
-    //LatticeMatrix uno(Uin._grid);
-    //uno = 1.0;
+    // LatticeMatrix uno(Uin._grid);
+    // uno = 1.0;
     ////////////////
 
     // FIXME probably not very efficient to get all the generators
@@ -53,11 +53,11 @@ class AdjointRep {
 
     for (int mu = 0; mu < Nd; mu++) {
       auto Uin_mu = peekLorentz(Uin, mu);
-      auto U_mu   = peekLorentz(U, mu);
+      auto U_mu = peekLorentz(U, mu);
       for (int a = 0; a < Dimension; a++) {
         tmp = 2.0 * adj(Uin_mu) * ta[a] * Uin_mu;
         for (int b = 0; b < Dimension; b++)
-          pokeColour(U_mu, trace(tmp * ta[b]), b, a);
+          pokeColour(U_mu, trace(tmp * ta[b]), a, b);
       }
       pokeLorentz(U, U_mu, mu);
       // Check matrix U_mu, must be real orthogonal
@@ -71,7 +71,6 @@ class AdjointRep {
       std::cout << GridLogMessage << "orthogonality check: " << norm2(Ucheck) <<
       std::endl;
       */
-
     }
   }
 
@@ -87,11 +86,11 @@ class AdjointRep {
       out_mu = zero;
 
       typename SU<ncolour>::LatticeAlgebraVector h(in._grid);
-      projectOnAlgebra(h, in_mu, scale);
-      FundamentalLieAlgebraMatrix(h, out_mu, 1.0);  // apply scale only once
+      projectOnAlgebra(h, in_mu, double(Nc) * 2.0);  // factor C(r)/C(fund)
+      FundamentalLieAlgebraMatrix(h, out_mu);   // apply scale only once
       pokeLorentz(out, out_mu, mu);
-    // Returns traceless antihermitian matrix Nc * Nc.
-    // Confirmed            
+      // Returns traceless antihermitian matrix Nc * Nc.
+      // Confirmed
     }
     return out;
   }
diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index 53bbb5f6..20cd1889 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -160,8 +160,9 @@ class SU {
     else
       generatorSigmaX(su2Index, ta);
   }
+  
   template <class cplx>
-  static void generatorSigmaX(int su2Index, iSUnMatrix<cplx> &ta) {
+  static void generatorSigmaY(int su2Index, iSUnMatrix<cplx> &ta) {
     ta = zero;
     int i1, i2;
     su2SubGroupIndex(i1, i2, su2Index);
@@ -170,15 +171,16 @@ class SU {
     ta = ta * 0.5;
   }
   template <class cplx>
-  static void generatorSigmaY(int su2Index, iSUnMatrix<cplx> &ta) {
+  static void generatorSigmaX(int su2Index, iSUnMatrix<cplx> &ta) {
     ta = zero;
     cplx i(0.0, 1.0);
     int i1, i2;
     su2SubGroupIndex(i1, i2, su2Index);
-    ta()()(i1, i2) = -i;
-    ta()()(i2, i1) = i;
+    ta()()(i1, i2) = i;
+    ta()()(i2, i1) = -i;
     ta = ta * 0.5;
   }
+
   template <class cplx>
   static void generatorDiagonal(int diagIndex, iSUnMatrix<cplx> &ta) {
     // diag ({1, 1, ..., 1}(k-times), -k, 0, 0, ...)
@@ -651,9 +653,10 @@ class SU {
     for (int a = 0; a < AdjointDimension; a++) {
       gaussian(pRNG, ca);
       generator(a, ta);
-      la = toComplex(ca) * ci * ta;
+      la = toComplex(ca) * ta;
       out += la;
     }
+    out *= ci;
   }
 
   static void FundamentalLieAlgebraMatrix(const LatticeAlgebraVector &h,
@@ -684,7 +687,6 @@ class SU {
       auto tmp = - 2.0 * (trace(timesI(Ta) * in)) * scale;// 2.0 for the normalization of the trace in the fundamental rep
       pokeColour(h_out, tmp, a);
     }
-    std::cout << "h_out " << h_out << std::endl;
   }
 
 
diff --git a/lib/qcd/utils/SUnAdjoint.h b/lib/qcd/utils/SUnAdjoint.h
index 6b206898..4da61d0b 100644
--- a/lib/qcd/utils/SUnAdjoint.h
+++ b/lib/qcd/utils/SUnAdjoint.h
@@ -75,7 +75,8 @@ class SU_Adjoint : public SU<ncolour> {
         typename SU<ncolour>::template iSUnMatrix<cplx> tmp1 =
             2.0 * tmp * ta[b];  // 2.0 from the normalization
         Complex iTr = TensorRemove(timesI(trace(tmp1)));
-        iAdjTa()()(b, a) = iTr;
+        //iAdjTa()()(b, a) = iTr;
+        iAdjTa()()(a, b) = iTr;
       }
     }
   }
@@ -121,9 +122,10 @@ class SU_Adjoint : public SU<ncolour> {
     out = zero;
     for (int a = 0; a < Dimension; a++) {
       generator(a, iTa);
-      la = peekColour(h, a) * iTa * scale;
+      la = peekColour(h, a) * iTa;
       out += la;
     }
+    out *= scale;
   }
 
   // Projects the algebra components a lattice matrix (of dimension ncol*ncol -1 )
@@ -131,16 +133,16 @@ class SU_Adjoint : public SU<ncolour> {
     conformable(h_out, in);
     h_out = zero;
     AMatrix iTa;
+    Real coefficient = - 1.0/(ncolour) * scale;// 1/Nc for the normalization of the trace in the adj rep
 
     for (int a = 0; a < Dimension; a++) {
       generator(a, iTa);
-      auto tmp = - 1.0/(ncolour) * (trace(iTa * in)) * scale;// 1/Nc for the normalization of the trace in the adj rep
+      auto tmp = real(trace(iTa * in)) * coefficient;
       pokeColour(h_out, tmp, a);
     }
-    //std::cout << "h_out " << h_out << std::endl;
   }
 
-  // a projector that keeps the generators stored to avoid the overhead of recomputing. 
+  // a projector that keeps the generators stored to avoid the overhead of recomputing them 
   static void projector(typename SU<ncolour>::LatticeAlgebraVector &h_out, const LatticeAdjMatrix &in, Real scale = 1.0) {
     conformable(h_out, in);
     static std::vector<AMatrix> iTa(Dimension);  // to store the generators
@@ -151,8 +153,11 @@ class SU_Adjoint : public SU<ncolour> {
         for (int a = 0; a < Dimension; a++) generator(a, iTa[a]);
     }
 
+    Real coefficient = -1.0 / (ncolour)*scale;  // 1/Nc for the normalization of
+                                                // the trace in the adj rep
+
     for (int a = 0; a < Dimension; a++) {
-      auto tmp = - 1.0/(ncolour) * (trace(iTa[a] * in)) * scale; 
+      auto tmp = real(trace(iTa[a] * in)) * coefficient; 
       pokeColour(h_out, tmp, a);
     }
   }
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
index 9c43587d..15fc7c0b 100644
--- a/tests/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -65,14 +65,15 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     AdjointRepresentation::LatticeField U(UGrid);
 
     // Gauge action
-    WilsonGaugeActionR Waction(2.0);
+    WilsonGaugeActionR Waction(2.25);
 
-    Real mass = -1.0;
+    Real mass = -0.95;
     FermionAction FermOp(U, *FGrid, *FrbGrid, mass);
 
     ConjugateGradient<FermionField> CG(1.0e-8, 10000);
     ConjugateResidual<FermionField> CR(1.0e-8, 10000);
 
+    // Pass two solvers: one for the force computation and one for the action
     TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
 
     // Set smearing (true/false), default: false
diff --git a/tests/Test_lie_generators.cc b/tests/Test_lie_generators.cc
index 533ccf9a..23944eb8 100644
--- a/tests/Test_lie_generators.cc
+++ b/tests/Test_lie_generators.cc
@@ -121,6 +121,7 @@ int main(int argc, char** argv) {
   // Test group structure
   // (U_f * V_f)_r = U_r * V_r
   LatticeGaugeField UV(grid);
+  UV = zero;
   for (int mu = 0; mu < Nd; mu++) {
     SU<Nc>::LatticeMatrix Umu = peekLorentz(U,mu);
     SU<Nc>::LatticeMatrix Vmu = peekLorentz(V,mu);
@@ -138,6 +139,7 @@ int main(int argc, char** argv) {
   typename AdjointRep<Nc>::LatticeField Vr = AdjRep.U;  // V_r
 
   typename AdjointRep<Nc>::LatticeField UrVr(grid);
+  UrVr = zero;
   for (int mu = 0; mu < Nd; mu++) {
     typename AdjointRep<Nc>::LatticeMatrix Urmu = peekLorentz(Ur,mu);
     typename AdjointRep<Nc>::LatticeMatrix Vrmu = peekLorentz(Vr,mu);
@@ -145,9 +147,9 @@ int main(int argc, char** argv) {
   }
 
   typename AdjointRep<Nc>::LatticeField Diff_check = UVr - UrVr;
-  std::cout << GridLogMessage << "Group structure check difference : " << norm2(Diff_check) << std::endl;
+  std::cout << GridLogMessage << "Group structure SU("<<Nc<<") check difference : " << norm2(Diff_check) << std::endl;
 
-  //  Check correspondence of algebra and group transformations
+  // Check correspondence of algebra and group transformations
   // Create a random vector
   SU<Nc>::LatticeAlgebraVector h_adj(grid);
   typename AdjointRep<Nc>::LatticeMatrix Ar(grid);
diff --git a/tests/Test_wilson_force.cc b/tests/Test_wilson_force.cc
index a6117897..dcd0af69 100644
--- a/tests/Test_wilson_force.cc
+++ b/tests/Test_wilson_force.cc
@@ -58,8 +58,8 @@ int main (int argc, char ** argv)
 
   LatticeGaugeField U(&Grid);
 
-  SU2::HotConfiguration(pRNG,U);
-  //  SU3::ColdConfiguration(pRNG,U);
+  //SU2::HotConfiguration(pRNG,U);
+  SU3::ColdConfiguration(pRNG,U);
   
   ////////////////////////////////////
   // Unmodified matrix element
@@ -95,7 +95,7 @@ int main (int argc, char ** argv)
 
   for(int mu=0;mu<Nd;mu++){
 
-    SU2::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
+    SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
 
     Hmom -= real(sum(trace(mommu*mommu)));
 
@@ -142,11 +142,13 @@ int main (int argc, char ** argv)
   LatticeComplex dS(&Grid); dS = zero;
   LatticeComplex dSmom(&Grid); dSmom = zero;
   LatticeComplex dSmom2(&Grid); dSmom2 = zero;
+  
   for(int mu=0;mu<Nd;mu++){
     mommu   = PeekIndex<LorentzIndex>(UdSdU,mu);
     mommu=Ta(mommu)*2.0;
     PokeIndex<LorentzIndex>(UdSdU,mommu,mu);
   }
+  
 
   for(int mu=0;mu<Nd;mu++){
     mommu   = PeekIndex<LorentzIndex>(mom,mu);
@@ -170,7 +172,7 @@ int main (int argc, char ** argv)
     dSmom2 = dSmom2 - trace(forcemu*forcemu) *(0.25* dt*dt);
 
     // Update mom action density
-    mommu = mommu + forcemu*(dt*0.5);
+    mommu = mommu + forcemu*(dt * 0.5);
 
     Hmomprime -= real(sum(trace(mommu*mommu)));
 

From b0d3e4bb2c32f298ca957a6e6e7a401751cb16b0 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 13:44:07 +0100
Subject: [PATCH 118/295] Separating travis builds

---
 .travis.yml                                 | 35 +++++++++++++++------
 lib/qcd/utils/SUnAdjoint.h                  |  2 +-
 tests/Test_hmc_WilsonAdjointFermionGauge.cc |  2 +-
 3 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index a2154ead..f65a7da3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,10 +9,16 @@ matrix:
     - os:        osx
       osx_image: xcode7.2
       compiler: clang
+      env:
+	- PRECISION=single
+	- PRECISION=double
     - os:        osx
       osx_image: xcode7.2
       compiler: gcc
-      env: VERSION=-5
+      env:
+	- VERSION=-5
+	- PRECISION=single
+	- PRECISION=double
     - compiler: gcc
       addons:
         apt:
@@ -24,7 +30,10 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: VERSION=-4.9
+      env:
+	- VERSION=-4.9
+	- PRECISION=single
+	- PRECISION=double
     - compiler: gcc
       addons:
         apt:
@@ -36,7 +45,10 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: VERSION=-5
+      env:
+	- VERSION=-5
+	- PRECISION=single
+	- PRECISION=double
     - compiler: clang
       addons:
         apt:
@@ -48,7 +60,10 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+      env:
+	- CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+	- PRECISION=single
+	- PRECISION=double
     - compiler: clang
       addons:
         apt:
@@ -60,7 +75,10 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+      env:
+	- CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+	- PRECISION=single
+	- PRECISION=double
       
 before_install:
     - export GRIDDIR=`pwd`
@@ -85,10 +103,7 @@ script:
     - ./scripts/reconfigure_script
     - mkdir build
     - cd build
-    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=single --enable-simd=SSE4 --enable-comms=none
-    - make -j4
-    - ./benchmarks/Benchmark_dwf --threads 1
-    - make clean
-    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=double --enable-simd=SSE4 --enable-comms=none
+    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=$PRECISION --enable-simd=SSE4 --enable-comms=none
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1
+
diff --git a/lib/qcd/utils/SUnAdjoint.h b/lib/qcd/utils/SUnAdjoint.h
index 4da61d0b..7c1145e3 100644
--- a/lib/qcd/utils/SUnAdjoint.h
+++ b/lib/qcd/utils/SUnAdjoint.h
@@ -153,7 +153,7 @@ class SU_Adjoint : public SU<ncolour> {
         for (int a = 0; a < Dimension; a++) generator(a, iTa[a]);
     }
 
-    Real coefficient = -1.0 / (ncolour)*scale;  // 1/Nc for the normalization of
+    Real coefficient = -1.0 / (ncolour) * scale;  // 1/Nc for the normalization of
                                                 // the trace in the adj rep
 
     for (int a = 0; a < Dimension; a++) {
diff --git a/tests/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
index 15fc7c0b..89d9068b 100644
--- a/tests/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -70,7 +70,7 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     Real mass = -0.95;
     FermionAction FermOp(U, *FGrid, *FrbGrid, mass);
 
-    ConjugateGradient<FermionField> CG(1.0e-8, 10000);
+    ConjugateGradient<FermionField> CG(1.0e-8, 10000, false);
     ConjugateResidual<FermionField> CR(1.0e-8, 10000);
 
     // Pass two solvers: one for the force computation and one for the action

From 5acd8566637beea4c6db9aaeef88de43d1c74867 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 13:49:49 +0100
Subject: [PATCH 119/295] Correction of error in travis

---
 .travis.yml | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index f65a7da3..ed850b01 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,15 +10,15 @@ matrix:
       osx_image: xcode7.2
       compiler: clang
       env:
-	- PRECISION=single
-	- PRECISION=double
+        - PRECISION=single
+        - PRECISION=double
     - os:        osx
       osx_image: xcode7.2
       compiler: gcc
       env:
-	- VERSION=-5
-	- PRECISION=single
-	- PRECISION=double
+        - VERSION=-5
+        - PRECISION=single
+        - PRECISION=double
     - compiler: gcc
       addons:
         apt:
@@ -31,9 +31,9 @@ matrix:
             - libmpc-dev
             - binutils-dev
       env:
-	- VERSION=-4.9
-	- PRECISION=single
-	- PRECISION=double
+        - VERSION=-4.9
+        - PRECISION=single
+        - PRECISION=double
     - compiler: gcc
       addons:
         apt:
@@ -46,9 +46,9 @@ matrix:
             - libmpc-dev
             - binutils-dev
       env:
-	- VERSION=-5
-	- PRECISION=single
-	- PRECISION=double
+        - VERSION=-5
+        - PRECISION=single
+        - PRECISION=double
     - compiler: clang
       addons:
         apt:
@@ -61,9 +61,9 @@ matrix:
             - libmpc-dev
             - binutils-dev
       env:
-	- CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
-	- PRECISION=single
-	- PRECISION=double
+        - CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+        - PRECISION=single
+        - PRECISION=double
     - compiler: clang
       addons:
         apt:
@@ -76,9 +76,9 @@ matrix:
             - libmpc-dev
             - binutils-dev
       env:
-	- CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
-	- PRECISION=single
-	- PRECISION=double
+        - CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+        - PRECISION=single
+        - PRECISION=double
       
 before_install:
     - export GRIDDIR=`pwd`

From f75468728f36cc7e99eee0ca2ae442ceced2b6f3 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 13:56:23 +0100
Subject: [PATCH 120/295] Another error on travis

---
 .travis.yml | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index ed850b01..2399a23a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,9 +16,8 @@ matrix:
       osx_image: xcode7.2
       compiler: gcc
       env:
-        - VERSION=-5
-        - PRECISION=single
-        - PRECISION=double
+        - VERSION=-5 PRECISION=single
+        - VERSION=-5 PRECISION=double
     - compiler: gcc
       addons:
         apt:
@@ -31,9 +30,8 @@ matrix:
             - libmpc-dev
             - binutils-dev
       env:
-        - VERSION=-4.9
-        - PRECISION=single
-        - PRECISION=double
+        - VERSION=-4.9 PRECISION=single
+        - VERSION=-4.9 PRECISION=double
     - compiler: gcc
       addons:
         apt:
@@ -46,9 +44,8 @@ matrix:
             - libmpc-dev
             - binutils-dev
       env:
-        - VERSION=-5
-        - PRECISION=single
-        - PRECISION=double
+        - VERSION=-5 PRECISION=single
+        - VERSION=-5 PRECISION=double
     - compiler: clang
       addons:
         apt:
@@ -61,9 +58,8 @@ matrix:
             - libmpc-dev
             - binutils-dev
       env:
-        - CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
-        - PRECISION=single
-        - PRECISION=double
+        - CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz PRECISION=single
+        - CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz PRECISION=double
     - compiler: clang
       addons:
         apt:
@@ -76,9 +72,8 @@ matrix:
             - libmpc-dev
             - binutils-dev
       env:
-        - CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
-        - PRECISION=single
-        - PRECISION=double
+        - CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz PRECISION=single
+        - CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz PRECISION=double
       
 before_install:
     - export GRIDDIR=`pwd`

From ae57032500af921b28dd4edffe2acb4511a8a05e Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 14:00:34 +0100
Subject: [PATCH 121/295] Separate single and double builds in travis

---
 .travis.yml | 27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 2399a23a..af56ee94 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,15 +9,10 @@ matrix:
     - os:        osx
       osx_image: xcode7.2
       compiler: clang
-      env:
-        - PRECISION=single
-        - PRECISION=double
     - os:        osx
       osx_image: xcode7.2
       compiler: gcc
-      env:
-        - VERSION=-5 PRECISION=single
-        - VERSION=-5 PRECISION=double
+      env: VERSION=-5
     - compiler: gcc
       addons:
         apt:
@@ -29,9 +24,7 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env:
-        - VERSION=-4.9 PRECISION=single
-        - VERSION=-4.9 PRECISION=double
+      env: VERSION=-4.9
     - compiler: gcc
       addons:
         apt:
@@ -43,9 +36,7 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env:
-        - VERSION=-5 PRECISION=single
-        - VERSION=-5 PRECISION=double
+      env: VERSION=-5
     - compiler: clang
       addons:
         apt:
@@ -57,9 +48,7 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env:
-        - CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz PRECISION=single
-        - CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz PRECISION=double
+      env: CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
     - compiler: clang
       addons:
         apt:
@@ -71,9 +60,7 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env:
-        - CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz PRECISION=single
-        - CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz PRECISION=double
+      env: CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
       
 before_install:
     - export GRIDDIR=`pwd`
@@ -83,6 +70,10 @@ before_install:
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install libmpc; fi
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew install gcc5; fi
+
+env:
+  - PRECISION=single
+  - PRECISION=double
     
 install:
     - export CC=$CC$VERSION

From c80a1d427c16ca4520a5b80d691de2599f45b1e4 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 14:05:05 +0100
Subject: [PATCH 122/295] Retest original version of travis yaml

---
 .travis.yml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index af56ee94..dbe4e78e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -71,10 +71,6 @@ before_install:
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install libmpc; fi
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew install gcc5; fi
 
-env:
-  - PRECISION=single
-  - PRECISION=double
-    
 install:
     - export CC=$CC$VERSION
     - export CXX=$CXX$VERSION
@@ -89,7 +85,11 @@ script:
     - ./scripts/reconfigure_script
     - mkdir build
     - cd build
-    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=$PRECISION --enable-simd=SSE4 --enable-comms=none
+    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=single --enable-simd=SSE4 --enable-comms=none
+    - make -j4
+    - ./benchmarks/Benchmark_dwf --threads 1
+    - make clean
+    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=double --enable-simd=SSE4 --enable-comms=none
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1
 

From 8986c9feddfaaf3c1010254f0696ba15cc0955ad Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 14:25:24 +0100
Subject: [PATCH 123/295] Single and double precision travis matrix

---
 .travis.yml | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index dbe4e78e..057ad8e1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -80,16 +80,18 @@ install:
     - which $CXX
     - $CXX --version
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export LDFLAGS='-L/usr/local/lib'; fi
-    
+
+env:
+  matrix:
+    - PRECISION=single
+    - PRECISION=double
+
 script:
     - ./scripts/reconfigure_script
     - mkdir build
     - cd build
-    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=single --enable-simd=SSE4 --enable-comms=none
-    - make -j4
-    - ./benchmarks/Benchmark_dwf --threads 1
-    - make clean
-    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=double --enable-simd=SSE4 --enable-comms=none
+    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=$PRECISION --enable-simd=SSE4 --enable-comms=none
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1
 
+

From 843f5783b43a3f88fe1734335fb17681b14a42bc Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 14:29:09 +0100
Subject: [PATCH 124/295] Again travis test separating single and double

---
 .travis.yml | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 057ad8e1..5c278aeb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,7 +12,9 @@ matrix:
     - os:        osx
       osx_image: xcode7.2
       compiler: gcc
-      env: VERSION=-5
+      env: 
+        global:
+          - VERSION=-5
     - compiler: gcc
       addons:
         apt:
@@ -24,7 +26,9 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: VERSION=-4.9
+      env: 
+        global:
+          - VERSION=-4.9
     - compiler: gcc
       addons:
         apt:
@@ -36,7 +40,9 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: VERSION=-5
+      env: 
+        global:
+          - VERSION=-5
     - compiler: clang
       addons:
         apt:
@@ -48,7 +54,9 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+      env: 
+        global:
+          - CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
     - compiler: clang
       addons:
         apt:
@@ -60,7 +68,9 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+      env: 
+        global:
+          - CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
       
 before_install:
     - export GRIDDIR=`pwd`

From 655c893f86eb30ca8d8c0c0754aecb7cad1a458d Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 14:38:42 +0100
Subject: [PATCH 125/295] Another test on travis

---
 .travis.yml | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 5c278aeb..e7dccbf5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,12 +9,19 @@ matrix:
     - os:        osx
       osx_image: xcode7.2
       compiler: clang
+      env:
+        matrix:
+          - PRECISION=single
+          - PRECISION=double
     - os:        osx
       osx_image: xcode7.2
       compiler: gcc
       env: 
         global:
           - VERSION=-5
+        matrix:
+          - PRECISION=single
+          - PRECISION=double
     - compiler: gcc
       addons:
         apt:
@@ -29,6 +36,9 @@ matrix:
       env: 
         global:
           - VERSION=-4.9
+        matrix:
+          - PRECISION=single
+          - PRECISION=double
     - compiler: gcc
       addons:
         apt:
@@ -43,6 +53,9 @@ matrix:
       env: 
         global:
           - VERSION=-5
+        matrix:
+          - PRECISION=single
+          - PRECISION=double
     - compiler: clang
       addons:
         apt:
@@ -57,6 +70,9 @@ matrix:
       env: 
         global:
           - CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+        matrix:
+          - PRECISION=single
+          - PRECISION=double
     - compiler: clang
       addons:
         apt:
@@ -71,6 +87,9 @@ matrix:
       env: 
         global:
           - CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+        matrix:
+          - PRECISION=single
+          - PRECISION=double
       
 before_install:
     - export GRIDDIR=`pwd`
@@ -91,11 +110,6 @@ install:
     - $CXX --version
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export LDFLAGS='-L/usr/local/lib'; fi
 
-env:
-  matrix:
-    - PRECISION=single
-    - PRECISION=double
-
 script:
     - ./scripts/reconfigure_script
     - mkdir build

From 005dcc51aad6ace497a3d3789b3fab510e535d73 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 30 Aug 2016 14:44:10 +0100
Subject: [PATCH 126/295] Reset travis

---
 .travis.yml | 51 ++++++++++++---------------------------------------
 1 file changed, 12 insertions(+), 39 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index e7dccbf5..59d232ed 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,19 +9,10 @@ matrix:
     - os:        osx
       osx_image: xcode7.2
       compiler: clang
-      env:
-        matrix:
-          - PRECISION=single
-          - PRECISION=double
     - os:        osx
       osx_image: xcode7.2
       compiler: gcc
-      env: 
-        global:
-          - VERSION=-5
-        matrix:
-          - PRECISION=single
-          - PRECISION=double
+      env: VERSION=-5
     - compiler: gcc
       addons:
         apt:
@@ -33,12 +24,7 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: 
-        global:
-          - VERSION=-4.9
-        matrix:
-          - PRECISION=single
-          - PRECISION=double
+      env: VERSION=-4.9
     - compiler: gcc
       addons:
         apt:
@@ -50,12 +36,7 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: 
-        global:
-          - VERSION=-5
-        matrix:
-          - PRECISION=single
-          - PRECISION=double
+      env: VERSION=-5
     - compiler: clang
       addons:
         apt:
@@ -67,12 +48,7 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: 
-        global:
-          - CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
-        matrix:
-          - PRECISION=single
-          - PRECISION=double
+      env: CLANG_LINK=http://llvm.org/releases/3.8.0/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
     - compiler: clang
       addons:
         apt:
@@ -84,12 +60,7 @@ matrix:
             - libgmp-dev
             - libmpc-dev
             - binutils-dev
-      env: 
-        global:
-          - CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
-        matrix:
-          - PRECISION=single
-          - PRECISION=double
+      env: CLANG_LINK=http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
       
 before_install:
     - export GRIDDIR=`pwd`
@@ -99,7 +70,7 @@ before_install:
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install libmpc; fi
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew install gcc5; fi
-
+    
 install:
     - export CC=$CC$VERSION
     - export CXX=$CXX$VERSION
@@ -109,13 +80,15 @@ install:
     - which $CXX
     - $CXX --version
     - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export LDFLAGS='-L/usr/local/lib'; fi
-
+    
 script:
     - ./scripts/reconfigure_script
     - mkdir build
     - cd build
-    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=$PRECISION --enable-simd=SSE4 --enable-comms=none
+    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=single --enable-simd=SSE4 --enable-comms=none
     - make -j4
     - ./benchmarks/Benchmark_dwf --threads 1
-
-
+    - make clean
+    - ../configure CXXFLAGS="-msse4.2 -O3 -std=c++11" LIBS="-lmpfr -lgmp" --enable-precision=double --enable-simd=SSE4 --enable-comms=none
+    - make -j4
+    - ./benchmarks/Benchmark_dwf --threads 1
\ No newline at end of file

From 62febd2823e63d88cc9c2041120a0d240cd71c8e Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:23:09 +0100
Subject: [PATCH 127/295] Wilson prop test

---
 tests/core/Test_fft.cc | 86 +++++++++++++++++++++++++++++++-----------
 1 file changed, 64 insertions(+), 22 deletions(-)

diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
index 2fdaeed2..c076695d 100644
--- a/tests/core/Test_fft.cc
+++ b/tests/core/Test_fft.cc
@@ -46,16 +46,19 @@ int main (int argc, char ** argv)
   for(int d=0;d<latt_size.size();d++){
     vol = vol * latt_size[d];
   }
-  GridCartesian        Fine(latt_size,simd_layout,mpi_layout);
+  GridCartesian         GRID(latt_size,simd_layout,mpi_layout);
+  GridRedBlackCartesian RBGRID(latt_size,simd_layout,mpi_layout);
 
-  LatticeComplexD     one(&Fine);
-  LatticeComplexD      zz(&Fine);
-  LatticeComplexD       C(&Fine);
-  LatticeComplexD  Ctilde(&Fine);
-  LatticeComplexD    coor(&Fine);
+  LatticeComplexD     one(&GRID);
+  LatticeComplexD      zz(&GRID);
+  LatticeComplexD       C(&GRID);
+  LatticeComplexD  Ctilde(&GRID);
+  LatticeComplexD  Cref  (&GRID);
+  LatticeComplexD  Csav  (&GRID);
+  LatticeComplexD    coor(&GRID);
 
-  LatticeSpinMatrixD    S(&Fine);
-  LatticeSpinMatrixD    Stilde(&Fine);
+  LatticeSpinMatrixD    S(&GRID);
+  LatticeSpinMatrixD    Stilde(&GRID);
   
   std::vector<int> p({1,2,3,2});
 
@@ -72,31 +75,41 @@ int main (int argc, char ** argv)
   }
 
   C = exp(C*ci);
-
+  Csav = C;
   S=zero;
   S = S+C;
 
-  FFT theFFT(&Fine);
+  FFT theFFT(&GRID);
+
+  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);  C=Ctilde;
+  theFFT.FFT_dim(Ctilde,C,1,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<" Mflops "<<std::endl;
+  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);  C=Ctilde;
+  theFFT.FFT_dim(Ctilde,C,3,FFT::forward);  
 
-  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Ctilde,C,1,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Ctilde,C,3,FFT::forward);  std::cout << theFFT.MFlops()<<std::endl;
 
   //  C=zero;
   //  Ctilde = where(abs(Ctilde)<1.0e-10,C,Ctilde);
   TComplexD cVol;
   cVol()()() = vol;
 
-  C=zero;
-  pokeSite(cVol,C,p);
-  C=C-Ctilde;
-  std::cout << "diff scalar "<<norm2(C) << std::endl;
+  Cref=zero;
+  pokeSite(cVol,Cref,p);
+  Cref=Cref-Ctilde;
+  std::cout << "diff scalar "<<norm2(Cref) << std::endl;
 
-  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde; std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Stilde,S,3,FFT::forward);std::cout << theFFT.MFlops()<<std::endl;
+  C=Csav;
+  theFFT.FFT_all_dim(Ctilde,C,FFT::forward);
+  theFFT.FFT_all_dim(Cref,Ctilde,FFT::backward); 
+
+  std::cout << norm2(C) << " " << norm2(Ctilde) << " " << norm2(Cref)<< " vol " << vol<< std::endl;
+
+  Cref= Cref - C;
+  std::cout << " invertible check " << norm2(Cref)<<std::endl;
+
+  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde;
+  theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<" mflops "<<std::endl;
+  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;
+  theFFT.FFT_dim(Stilde,S,3,FFT::forward);
 
   SpinMatrixD Sp; 
   Sp = zero; Sp = Sp+cVol;
@@ -107,5 +120,34 @@ int main (int argc, char ** argv)
   S= S-Stilde;
   std::cout << "diff FT[SpinMat] "<<norm2(S) << std::endl;
 
+  /*
+   */
+  std::vector<int> seeds({1,2,3,4});
+  GridParallelRNG          pRNG(&GRID);
+  pRNG.SeedFixedIntegers(seeds);
+
+  LatticeGaugeFieldD Umu(&GRID);
+  LatticeFermionD    src(&GRID); gaussian(pRNG,src);
+  LatticeFermionD    tmp(&GRID);
+  LatticeFermionD    ref(&GRID);
+
+  SU3::ColdConfiguration(pRNG,Umu); // Unit gauge
+  
+  RealD mass=0.1;
+  WilsonFermionD Dw(Umu,GRID,RBGRID,mass);
+
+  Dw.M(src,tmp);
+
+  std::cout << " src = " <<norm2(src)<<std::endl;
+  std::cout << " tmp = " <<norm2(tmp)<<std::endl;
+
+  Dw.FreePropagator(tmp,ref);
+
+  std::cout << " ref = " <<norm2(ref)<<std::endl;
+  
+  ref = ref - src;
+  
+  std::cout << " ref-src = " <<norm2(ref)<<std::endl;
+
   Grid_finalize();
 }

From 0744f38866e711ffa894d83dc371f1c28c54c131 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:23:28 +0100
Subject: [PATCH 128/295] Demangle support is useful

---
 lib/Init.cc | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/lib/Init.cc b/lib/Init.cc
index 34e503a4..4cb4bb50 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -44,9 +44,26 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #include <Grid.h>
 #include <algorithm>
 #include <iterator>
+#include <cstdlib>
+#include <memory>
+#include <cxxabi.h>
+
 
 namespace Grid {
 
+    std::string demangle(const char* name) {
+
+      int status = -4; // some arbitrary value to eliminate the compiler warning
+
+      // enable c++11 by passing the flag -std=c++11 to g++
+      std::unique_ptr<char, void(*)(void*)> res {
+	abi::__cxa_demangle(name, NULL, NULL, &status),
+	  std::free
+	  };
+
+      return (status==0) ? res.get() : name ;
+    }
+
 //////////////////////////////////////////////////////
 // Convenience functions to access stadard command line arg
 // driven parallelism controls

From 3475f45ce7feb00a2921c9a846312473ee52d986 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:23:48 +0100
Subject: [PATCH 129/295] Demangle support for typeid stuff

---
 lib/Init.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/Init.h b/lib/Init.h
index 25fda569..6eb07a49 100644
--- a/lib/Init.h
+++ b/lib/Init.h
@@ -52,6 +52,8 @@ namespace Grid {
   void GridCmdOptionCSL(std::string str,std::vector<std::string> & vec);
   void GridCmdOptionIntVector(std::string &str,std::vector<int> & vec);
 
+  std::string demangle(const char* name) ;
+
   void GridParseLayout(char **argv,int argc,
 		       std::vector<int> &latt,
 		       std::vector<int> &simd,

From 9005b82c6d869c22ff8fd326d02b9398483f96c0 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:24:52 +0100
Subject: [PATCH 130/295] Multi dim FFT, and normalisation fix

---
 lib/FFT.h | 42 +++++++++++++++++++++++++++++++++++++-----
 1 file changed, 37 insertions(+), 5 deletions(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index 4cda6483..53a86767 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -32,6 +32,8 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifdef HAVE_FFTW	
 #include <fftw3.h>
 #endif
+
+
 namespace Grid {
 
   template<class scalar> struct FFTW { };
@@ -115,7 +117,7 @@ namespace Grid {
 
   public:
 
-    static const int forward=FFTW_FORWARD;
+    static const int forward =FFTW_FORWARD;
     static const int backward=FFTW_BACKWARD;
 
     double Flops(void) {return flops;}
@@ -139,7 +141,29 @@ namespace Grid {
     }
     
     template<class vobj>
-    void FFT_dim(Lattice<vobj> &result,const Lattice<vobj> &source,int dim, int inverse){
+    void FFT_dim_mask(Lattice<vobj> &result,const Lattice<vobj> &source,std::vector<int> mask,int sign){
+
+      conformable(result._grid,vgrid);
+      conformable(source._grid,vgrid);
+      Lattice<vobj> tmp(vgrid);
+      tmp = source;
+      for(int d=0;d<Nd;d++){
+	if( mask[d] ) {
+	  FFT_dim(result,tmp,d,sign);
+	  tmp=result;
+	}
+      }
+    }
+
+    template<class vobj>
+    void FFT_all_dim(Lattice<vobj> &result,const Lattice<vobj> &source,int sign){
+      std::vector<int> mask(Nd,1);
+      FFT_dim_mask(result,source,mask,sign);
+    }
+
+
+    template<class vobj>
+    void FFT_dim(Lattice<vobj> &result,const Lattice<vobj> &source,int dim, int sign){
 
       conformable(result._grid,vgrid);
       conformable(source._grid,vgrid);
@@ -158,6 +182,12 @@ namespace Grid {
       // Construct pencils
       typedef typename vobj::scalar_object sobj;
       typedef typename sobj::scalar_type   scalar;
+      
+      /*
+      std::cout << "FFT : vobj   "<<demangle(typeid(vobj).name()) <<std::endl;
+      std::cout << "FFT : sobj   "<<demangle(typeid(sobj).name()) <<std::endl;
+      std::cout << "FFT : scalar "<<demangle(typeid(scalar).name()) <<std::endl;
+      */
 
       Lattice<vobj> ssource(vgrid); ssource =source;
       Lattice<sobj> pgsource(&pencil_g);
@@ -184,9 +214,10 @@ namespace Grid {
 	istride = ostride = Ncomp*Nlow; /* distance between two elements in the same FT */
 	int *inembed = n, *onembed = n;
 
-	
-	int sign = FFTW_FORWARD;
-	if (inverse) sign = FFTW_BACKWARD;
+	scalar div;
+	if ( sign == backward ) div = 1.0/G;
+	else if ( sign == forward ) div = 1.0;
+	else assert(0);
 
 	FFTW_plan p;
 	{
@@ -258,6 +289,7 @@ PARALLEL_FOR_LOOP
 	  sobj s;
 	  gcoor[dim] = lcoor[dim]+L*pc;
 	  peekLocalSite(s,pgresult,gcoor);
+	  s = s * div;
 	  pokeLocalSite(s,result,lcoor);
 	}
       	  

From d15ab66aae0909685bb163c1738884e5e856f370 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:25:22 +0100
Subject: [PATCH 131/295] FFT moves higher in include order

---
 lib/Grid.h | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/Grid.h b/lib/Grid.h
index 486ee4d3..0c5983f3 100644
--- a/lib/Grid.h
+++ b/lib/Grid.h
@@ -77,11 +77,10 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #include <Grid/Stencil.h>      
 #include <Grid/Algorithms.h>   
 #include <Grid/parallelIO/BinaryIO.h>
-#include <Grid/qcd/QCD.h>
-#include <Grid/parallelIO/NerscIO.h>
-
 #include <Grid/FFT.h>
 
+#include <Grid/qcd/QCD.h>
+#include <Grid/parallelIO/NerscIO.h>
 #include <Grid/qcd/hmc/NerscCheckpointer.h>
 #include <Grid/qcd/hmc/HmcRunner.h>
 

From 02e983a0cd5b13a34238598824867e50f47fece2 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:26:02 +0100
Subject: [PATCH 132/295] Momentum space prop and free prop convolution

---
 lib/qcd/action/fermion/FermionOperator.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/lib/qcd/action/fermion/FermionOperator.h b/lib/qcd/action/fermion/FermionOperator.h
index ea5583eb..daee2e5b 100644
--- a/lib/qcd/action/fermion/FermionOperator.h
+++ b/lib/qcd/action/fermion/FermionOperator.h
@@ -91,6 +91,19 @@ namespace Grid {
       virtual void  Mdiag  (const FermionField &in, FermionField &out) { Mooee(in,out);};   // Same as Mooee applied to both CB's
       virtual void  Mdir   (const FermionField &in, FermionField &out,int dir,int disp)=0;   // case by case Wilson, Clover, Cayley, ContFrac, PartFrac
 
+
+      virtual void  MomentumSpacePropagator(FermionField &out,const FermionField &in) { assert(0);};
+      virtual void  FreePropagator(const FermionField &in,FermionField &out) { 
+	FFT theFFT((GridCartesian *) in._grid);
+
+	FermionField in_k(in._grid);
+	FermionField prop_k(in._grid);
+
+	theFFT.FFT_all_dim(in_k,in,FFT::forward);
+        this->MomentumSpacePropagator(prop_k,in_k);
+	theFFT.FFT_all_dim(out,prop_k,FFT::backward);
+      };
+
       ///////////////////////////////////////////////
       // Updates gauge field during HMC
       ///////////////////////////////////////////////

From 0c1d7e4daf4ad2a7e41a6e5f689bb07682619f58 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:26:36 +0100
Subject: [PATCH 133/295] Mom space prop for Wilson action

---
 lib/qcd/action/fermion/WilsonFermion.cc | 52 +++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/lib/qcd/action/fermion/WilsonFermion.cc b/lib/qcd/action/fermion/WilsonFermion.cc
index 59632409..caf1913d 100644
--- a/lib/qcd/action/fermion/WilsonFermion.cc
+++ b/lib/qcd/action/fermion/WilsonFermion.cc
@@ -136,6 +136,58 @@ namespace QCD {
     out.checkerboard = in.checkerboard;
     MooeeInv(in,out);
   }
+  template<class Impl>
+  void WilsonFermion<Impl>:: MomentumSpacePropagator(FermionField &out, const FermionField &in) {
+
+    // what type LatticeComplex 
+    conformable(_grid,out._grid);
+
+    typedef typename FermionField::vector_type vector_type;
+    typedef typename FermionField::scalar_type ScalComplex;
+
+    typedef Lattice<iSinglet<vector_type> > LatComplex;
+
+    Gamma::GammaMatrix Gmu [] = {
+      Gamma::GammaX,
+      Gamma::GammaY,
+      Gamma::GammaZ,
+      Gamma::GammaT
+    };
+
+    std::vector<int> latt_size   = _grid->_fdimensions;
+
+    FermionField   num  (_grid); num  = zero;
+    LatComplex    wilson(_grid); wilson= zero;
+    LatComplex     one  (_grid); one = ScalComplex(1.0,0.0);
+
+    LatComplex denom(_grid); denom= zero;
+    LatComplex kmu(_grid); 
+    ScalComplex ci(0.0,1.0);
+    // momphase = n * 2pi / L
+    for(int mu=0;mu<Nd;mu++) {
+
+      LatticeCoordinate(kmu,mu);
+
+      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+
+      kmu = TwoPiL * kmu;
+
+      wilson = wilson + 2.0*sin(kmu*0.5)*sin(kmu*0.5); // Wilson term
+
+      num = num - sin(kmu)*ci*(Gamma(Gmu[mu])*in);    // derivative term
+
+      denom=denom + sin(kmu)*sin(kmu);
+    }
+
+    wilson = wilson + mass;     // 2 sin^2 k/2 + m
+
+    num   = num + wilson*in;     // -i gmu sin k + 2 sin^2 k/2 + m
+
+    denom= denom+wilson*wilson; // sin^2 k + (2 sin^2 k/2 + m)^2
+    denom= one/denom;
+    out = num*denom; // [ -i gmu sin k + 2 sin^2 k/2 + m] / [ sin^2 k + (2 sin^2 k/2 + m)^2 ]
+
+  }
   
   ///////////////////////////////////
   // Internal

From b573d1f35a7da5a0084b7844ae1339c7fe9c9d36 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:27:04 +0100
Subject: [PATCH 134/295] Wilson tree level added

---
 lib/qcd/action/fermion/WilsonFermion.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/qcd/action/fermion/WilsonFermion.h b/lib/qcd/action/fermion/WilsonFermion.h
index 3de2cac4..c050c0eb 100644
--- a/lib/qcd/action/fermion/WilsonFermion.h
+++ b/lib/qcd/action/fermion/WilsonFermion.h
@@ -78,6 +78,8 @@ namespace Grid {
       virtual void MooeeInv(const FermionField &in, FermionField &out) ;
       virtual void MooeeInvDag(const FermionField &in, FermionField &out) ;
 
+      virtual void  MomentumSpacePropagator(FermionField &out,const FermionField &in) ;
+
       ////////////////////////
       // Derivative interface
       ////////////////////////

From 8535d433a745cb50e2fd0dc5f46cf01ee3a61446 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:27:53 +0100
Subject: [PATCH 135/295] Cold or hot must support any precisoin

---
 lib/qcd/utils/SUn.h | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index e9403836..67da9787 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -617,22 +617,33 @@ Note that in step D setting B ~ X - A and using B in place of A in step E will g
       PokeIndex<LorentzIndex>(out,Umu,mu);
     }
   }
-  static void TepidConfiguration(GridParallelRNG &pRNG,LatticeGaugeField &out){
-    LatticeMatrix Umu(out._grid);
+  template<typename GaugeField>
+  static void TepidConfiguration(GridParallelRNG &pRNG,GaugeField &out){
+    typedef typename GaugeField::vector_type vector_type;
+    typedef iSUnMatrix<vector_type> vMatrixType;
+    typedef Lattice<vMatrixType> LatticeMatrixType;
+
+    LatticeMatrixType Umu(out._grid);
     for(int mu=0;mu<Nd;mu++){
       LieRandomize(pRNG,Umu,0.01);
       PokeIndex<LorentzIndex>(out,Umu,mu);
     }
   }
-  static void ColdConfiguration(GridParallelRNG &pRNG,LatticeGaugeField &out){
-    LatticeMatrix Umu(out._grid);
+  template<typename GaugeField>
+  static void ColdConfiguration(GridParallelRNG &pRNG,GaugeField &out){
+    typedef typename GaugeField::vector_type vector_type;
+    typedef iSUnMatrix<vector_type> vMatrixType;
+    typedef Lattice<vMatrixType> LatticeMatrixType;
+
+    LatticeMatrixType Umu(out._grid);
     Umu=1.0;
     for(int mu=0;mu<Nd;mu++){
       PokeIndex<LorentzIndex>(out,Umu,mu);
     }
   }
 
-  static void taProj( const LatticeMatrix &in,  LatticeMatrix &out){
+  template<typename LatticeMatrixType>
+  static void taProj( const LatticeMatrixType &in,  LatticeMatrixType &out){
     out = Ta(in);
   }
   template<typename LatticeMatrixType>

From 7422953e36f895f1a7499452461e0e2c4ef4716c Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 31 Aug 2016 00:42:47 +0100
Subject: [PATCH 136/295] Poisson solver example

---
 tests/core/Test_poisson_fft.cc | 138 +++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)
 create mode 100644 tests/core/Test_poisson_fft.cc

diff --git a/tests/core/Test_poisson_fft.cc b/tests/core/Test_poisson_fft.cc
new file mode 100644
index 00000000..2252ec7a
--- /dev/null
+++ b/tests/core/Test_poisson_fft.cc
@@ -0,0 +1,138 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./tests/Test_poisson_fft.cc
+
+    Copyright (C) 2015
+
+Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include <Grid/Grid.h>
+
+using namespace Grid;
+using namespace Grid::QCD;
+
+int main (int argc, char ** argv)
+{
+  Grid_init(&argc,&argv);
+
+  int threads = GridThread::GetThreads();
+  std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
+
+  int N=128;
+  int N2=64;
+  int W=16;
+  int D=8;
+  std::vector<int> latt_size  ({N,N});
+  std::vector<int> simd_layout({vComplexD::Nsimd(),1});
+  std::vector<int> mpi_layout ({1,1});
+
+  int vol = 1;
+  int nd  = latt_size.size();
+  for(int d=0;d<nd;d++){
+    vol = vol * latt_size[d];
+  }
+
+  GridCartesian         GRID(latt_size,simd_layout,mpi_layout);
+
+  LatticeComplexD     pos(&GRID);
+  LatticeComplexD      zz(&GRID);
+  LatticeComplexD     neg(&GRID);
+  LatticeInteger     coor(&GRID);
+  LatticeComplexD  Charge(&GRID);
+  LatticeComplexD  ChargeTilde(&GRID);
+  LatticeComplexD       V(&GRID);
+  LatticeComplexD       Vtilde(&GRID);
+
+  pos = ComplexD(1.0,0.0);
+  neg = -pos;
+  zz  = ComplexD(0.0,0.0);
+
+  Charge=zero;
+  
+  // Parallel plate capacitor
+  {
+    int mu=0;
+    LatticeCoordinate(coor,mu);
+
+    Charge=where(coor==Integer(N2-D),pos,zz);
+    Charge=where(coor==Integer(N2+D),neg,Charge);
+  }
+
+  {
+    int mu=1;
+    LatticeCoordinate(coor,mu);
+    Charge=where(coor<Integer(N2-W),zz,Charge);
+    Charge=where(coor>Integer(N2+W),zz,Charge);
+  }
+
+  //  std::cout << Charge <<std::endl;
+
+  std::vector<LatticeComplexD> k(4,&GRID);
+  LatticeComplexD ksq(&GRID);
+
+  ksq=zero;
+  for(int mu=0;mu<nd;mu++) {
+    
+    Integer L=latt_size[mu];
+    
+    LatticeCoordinate(coor,mu);
+    LatticeCoordinate(k[mu],mu);
+
+    k[mu] = where ( coor > (L/2), k[mu]-L, k[mu]);
+
+    //    std::cout << k[mu]<<std::endl;
+
+    RealD TwoPiL =  M_PI * 2.0/ L;
+
+    k[mu] = TwoPiL * k[mu];      
+
+    ksq = ksq + k[mu]*k[mu];
+
+  }
+  
+  // D^2 V   = - rho
+  // ksq Vtilde = rhoTilde
+  // Vtilde = rhoTilde/Ksq
+  // Fix zero of potential : Vtilde(0) = 0;
+  std::vector<int> zero_mode(nd,0);
+  TComplexD Tone = ComplexD(1.0,0.0);
+  pokeSite(Tone,ksq,zero_mode); 
+
+  //  std::cout << "Charge\n" << Charge <<std::endl;
+
+  FFT theFFT(&GRID);
+  theFFT.FFT_all_dim(ChargeTilde,Charge,FFT::forward); 
+  //  std::cout << "Rhotilde\n" << ChargeTilde <<std::endl;
+
+  Vtilde = ChargeTilde / ksq;
+  //  std::cout << "Vtilde\n" << Vtilde <<std::endl;
+
+  TComplexD Tzero = ComplexD(0.0,0.0);
+  pokeSite(Tzero,Vtilde,zero_mode);
+
+  theFFT.FFT_all_dim(V,Vtilde,FFT::backward); 
+
+  std::cout << "V\n" << V <<std::endl;
+
+  Grid_finalize();
+}

From f45ef8d114f6b701326851c5893c2436f537cc11 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Thu, 1 Sep 2016 11:46:46 +0100
Subject: [PATCH 137/295] Minor modification in ActionBase.h

---
 lib/qcd/action/ActionBase.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/qcd/action/ActionBase.h b/lib/qcd/action/ActionBase.h
index ad8d20ae..e6c8b0f8 100644
--- a/lib/qcd/action/ActionBase.h
+++ b/lib/qcd/action/ActionBase.h
@@ -108,7 +108,7 @@ struct ActionLevelHirep {
 
   // Fundamental repr actions separated because of the smearing
   typedef Action<GaugeField>* ActPtr;
-  //std::vector<ActPtr> actions;
+
   // construct a tuple of vectors of the actions for the corresponding higher
   // representation fields
   typedef typename AccessTypes<Action, Repr>::VectorCollection action_collection;

From aa20cc8b52e90bbe0bbc960e2ea8e49b7f0baa5b Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 9 Sep 2016 02:53:22 -0700
Subject: [PATCH 138/295] Fixing compilation error with AVX512 flag

---
 bootstrap.sh                               |  2 +-
 lib/qcd/action/fermion/WilsonKernels.h     | 19 ++++++++++++-
 lib/qcd/action/fermion/WilsonKernelsAsm.cc | 32 +++++++++++++++++++++-
 3 files changed, 50 insertions(+), 3 deletions(-)

diff --git a/bootstrap.sh b/bootstrap.sh
index 461eb121..f847b7ab 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -4,7 +4,7 @@ EIGEN_URL='http://bitbucket.org/eigen/eigen/get/3.2.9.tar.bz2'
 FFTW_URL=http://www.fftw.org/fftw-3.3.4.tar.gz
 
 echo "-- deploying Eigen source..."
-wget ${EIGEN_URL}
+wget ${EIGEN_URL} --no-check-certificate
 ./scripts/update_eigen.sh `basename ${EIGEN_URL}`
 rm `basename ${EIGEN_URL}`
 
diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index b679d3f9..b551319b 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -96,7 +96,24 @@ namespace Grid {
      WilsonKernels(const ImplParams &p= ImplParams());
      
     };
-
+    
+    
+    template<class Impl>
+      void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+						     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+						     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+      {
+	assert(0);
+      }
+    template<class Impl>
+      void WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+							std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+      {
+	assert(0);
+      }
+    
+    
   }
 }
 #endif
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index b443ccf9..ce592540 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -38,6 +38,7 @@ namespace QCD {
   ///////////////////////////////////////////////////////////
   // Default to no assembler implementation
   ///////////////////////////////////////////////////////////
+  /*
 template<class Impl>
 void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
 					       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
@@ -45,6 +46,14 @@ void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & l
 {
   assert(0);
 }
+template<class Impl>
+void WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+						  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+						  int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+{
+  assert(0);
+}
+  */
 
 #if defined(AVX512) 
 
@@ -116,7 +125,7 @@ void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st
 #endif
 
 
-
+/*
 template void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
 							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 							      int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
@@ -136,5 +145,26 @@ template void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilIm
 template void WilsonKernels<DomainWallVec5dImplD>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
 							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
+
+template void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							      int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
+
+template void WilsonKernels<WilsonImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
+							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
+template void WilsonKernels<GparityWilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
+							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
+template void WilsonKernels<GparityWilsonImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
+							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
+template void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
+							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
+template void WilsonKernels<DomainWallVec5dImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
+							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
+*/
 }}
 

From f76f281e58e5e703ea0cd9806b1f4c729014a785 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 9 Sep 2016 11:34:25 +0100
Subject: [PATCH 139/295] Cleaning files after fix

---
 lib/parallelIO/BinaryIO.h                  | 166 ++++++++++-----------
 lib/qcd/action/fermion/WilsonKernels.h     |  31 ++--
 lib/qcd/action/fermion/WilsonKernelsAsm.cc | 159 ++++++--------------
 3 files changed, 147 insertions(+), 209 deletions(-)

diff --git a/lib/parallelIO/BinaryIO.h b/lib/parallelIO/BinaryIO.h
index 184209dc..5eddb57d 100644
--- a/lib/parallelIO/BinaryIO.h
+++ b/lib/parallelIO/BinaryIO.h
@@ -194,22 +194,22 @@ class BinaryIO {
 
       std::vector<int> site({x,y,z,t});
 
-      if ( grid->IsBoss() ) {
-	fin.read((char *)&file_object,sizeof(file_object));
-	bytes += sizeof(file_object);
-	if(ieee32big) be32toh_v((void *)&file_object,sizeof(file_object));
-	if(ieee32)    le32toh_v((void *)&file_object,sizeof(file_object));
-	if(ieee64big) be64toh_v((void *)&file_object,sizeof(file_object));
-	if(ieee64)    le64toh_v((void *)&file_object,sizeof(file_object));
+      if (grid->IsBoss()) {
+        fin.read((char *)&file_object, sizeof(file_object));
+        bytes += sizeof(file_object);
+        if (ieee32big) be32toh_v((void *)&file_object, sizeof(file_object));
+        if (ieee32) le32toh_v((void *)&file_object, sizeof(file_object));
+        if (ieee64big) be64toh_v((void *)&file_object, sizeof(file_object));
+        if (ieee64) le64toh_v((void *)&file_object, sizeof(file_object));
 
-	munge(file_object,munged,csum);
+        munge(file_object, munged, csum);
       }
       // The boss who read the file has their value poked
       pokeSite(munged,Umu,site);
     }}}}
     timer.Stop();
     std::cout<<GridLogPerformance<<"readObjectSerial: read "<< bytes <<" bytes in "<<timer.Elapsed() <<" "
-	     << (double)bytes/ (double)timer.useconds() <<" MB/s "  <<std::endl;
+       << (double)bytes/ (double)timer.useconds() <<" MB/s "  <<std::endl;
 
     return csum;
   }
@@ -254,20 +254,20 @@ class BinaryIO {
 
       
       if ( grid->IsBoss() ) {
-	
-	if(ieee32big) htobe32_v((void *)&file_object,sizeof(file_object));
-	if(ieee32)    htole32_v((void *)&file_object,sizeof(file_object));
-	if(ieee64big) htobe64_v((void *)&file_object,sizeof(file_object));
-	if(ieee64)    htole64_v((void *)&file_object,sizeof(file_object));
+  
+  if(ieee32big) htobe32_v((void *)&file_object,sizeof(file_object));
+  if(ieee32)    htole32_v((void *)&file_object,sizeof(file_object));
+  if(ieee64big) htobe64_v((void *)&file_object,sizeof(file_object));
+  if(ieee64)    htole64_v((void *)&file_object,sizeof(file_object));
 
-	// NB could gather an xstrip as an optimisation.
-	fout.write((char *)&file_object,sizeof(file_object));
-	bytes+=sizeof(file_object);
+  // NB could gather an xstrip as an optimisation.
+  fout.write((char *)&file_object,sizeof(file_object));
+  bytes+=sizeof(file_object);
       }
     }}}}
     timer.Stop();
     std::cout<<GridLogPerformance<<"writeObjectSerial: wrote "<< bytes <<" bytes in "<<timer.Elapsed() <<" "
-	     << (double)bytes/timer.useconds() <<" MB/s "  <<std::endl;
+       << (double)bytes/timer.useconds() <<" MB/s "  <<std::endl;
 
     return csum;
   }
@@ -305,15 +305,15 @@ class BinaryIO {
       int l_idx=parallel.generator_idx(o_idx,i_idx);
 
       if( rank == grid->ThisRank() ){
-	//	std::cout << "rank" << rank<<" Getting state for index "<<l_idx<<std::endl;
-	parallel.GetState(saved,l_idx);
+  //  std::cout << "rank" << rank<<" Getting state for index "<<l_idx<<std::endl;
+  parallel.GetState(saved,l_idx);
       }
 
       grid->Broadcast(rank,(void *)&saved[0],bytes);
 
       if ( grid->IsBoss() ) {
-	Uint32Checksum((uint32_t *)&saved[0],bytes,csum);
-	fout.write((char *)&saved[0],bytes);
+  Uint32Checksum((uint32_t *)&saved[0],bytes,csum);
+  fout.write((char *)&saved[0],bytes);
       }
 
     }
@@ -355,14 +355,14 @@ class BinaryIO {
       int l_idx=parallel.generator_idx(o_idx,i_idx);
 
       if ( grid->IsBoss() ) {
-	fin.read((char *)&saved[0],bytes);
-	Uint32Checksum((uint32_t *)&saved[0],bytes,csum);
+  fin.read((char *)&saved[0],bytes);
+  Uint32Checksum((uint32_t *)&saved[0],bytes,csum);
       }
 
       grid->Broadcast(0,(void *)&saved[0],bytes);
 
       if( rank == grid->ThisRank() ){
-	parallel.SetState(saved,l_idx);
+  parallel.SetState(saved,l_idx);
       }
 
     }
@@ -415,15 +415,15 @@ class BinaryIO {
 
       if ( d == 0 ) parallel[d] = 0;
       if (parallel[d]) {
-	range[d] = grid->_ldimensions[d];
-	start[d] = grid->_processor_coor[d]*range[d];
-	ioproc[d]= grid->_processor_coor[d];
+  range[d] = grid->_ldimensions[d];
+  start[d] = grid->_processor_coor[d]*range[d];
+  ioproc[d]= grid->_processor_coor[d];
       } else {
-	range[d] = grid->_gdimensions[d];
-	start[d] = 0;
-	ioproc[d]= 0;
+  range[d] = grid->_gdimensions[d];
+  start[d] = 0;
+  ioproc[d]= 0;
 
-	if ( grid->_processor_coor[d] != 0 ) IOnode = 0;
+  if ( grid->_processor_coor[d] != 0 ) IOnode = 0;
       }
       slice_vol = slice_vol * range[d];
     }
@@ -434,9 +434,9 @@ class BinaryIO {
       std::cout<< std::dec ;
       std::cout<< GridLogMessage<< "Parallel read I/O to "<< file << " with " <<tmp<< " IOnodes for subslice ";
       for(int d=0;d<grid->_ndimension;d++){
-	std::cout<< range[d];
-	if( d< grid->_ndimension-1 ) 
-	  std::cout<< " x ";
+  std::cout<< range[d];
+  if( d< grid->_ndimension-1 ) 
+    std::cout<< " x ";
       }
       std::cout << std::endl;
     }
@@ -463,7 +463,7 @@ class BinaryIO {
 
       // need to implement these loops in Nd independent way with a lexico conversion
     for(int tlex=0;tlex<slice_vol;tlex++){
-	
+  
       std::vector<int> tsite(nd); // temporary mixed up site
       std::vector<int> gsite(nd);
       std::vector<int> lsite(nd);
@@ -472,8 +472,8 @@ class BinaryIO {
       Lexicographic::CoorFromIndex(tsite,tlex,range);
 
       for(int d=0;d<nd;d++){
-	lsite[d] = tsite[d]%grid->_ldimensions[d];  // local site
-	gsite[d] = tsite[d]+start[d];               // global site
+  lsite[d] = tsite[d]%grid->_ldimensions[d];  // local site
+  gsite[d] = tsite[d]+start[d];               // global site
       }
 
       /////////////////////////
@@ -487,29 +487,29 @@ class BinaryIO {
       // iorank reads from the seek
       ////////////////////////////////
       if (myrank == iorank) {
-	
-	fin.seekg(offset+g_idx*sizeof(fileObj));
-	fin.read((char *)&fileObj,sizeof(fileObj));
-	bytes+=sizeof(fileObj);
-	
-	if(ieee32big) be32toh_v((void *)&fileObj,sizeof(fileObj));
-	if(ieee32)    le32toh_v((void *)&fileObj,sizeof(fileObj));
-	if(ieee64big) be64toh_v((void *)&fileObj,sizeof(fileObj));
-	if(ieee64)    le64toh_v((void *)&fileObj,sizeof(fileObj));
-	
-	munge(fileObj,siteObj,csum);
+  
+  fin.seekg(offset+g_idx*sizeof(fileObj));
+  fin.read((char *)&fileObj,sizeof(fileObj));
+  bytes+=sizeof(fileObj);
+  
+  if(ieee32big) be32toh_v((void *)&fileObj,sizeof(fileObj));
+  if(ieee32)    le32toh_v((void *)&fileObj,sizeof(fileObj));
+  if(ieee64big) be64toh_v((void *)&fileObj,sizeof(fileObj));
+  if(ieee64)    le64toh_v((void *)&fileObj,sizeof(fileObj));
+  
+  munge(fileObj,siteObj,csum);
 
-      }	
+      } 
 
       // Possibly do transport through pt2pt 
       if ( rank != iorank ) { 
-	if ( (myrank == rank) || (myrank==iorank) ) {
-	  grid->SendRecvPacket((void *)&siteObj,(void *)&siteObj,iorank,rank,sizeof(siteObj));
-	}
+  if ( (myrank == rank) || (myrank==iorank) ) {
+    grid->SendRecvPacket((void *)&siteObj,(void *)&siteObj,iorank,rank,sizeof(siteObj));
+  }
       }
       // Poke at destination
       if ( myrank == rank ) {
-	  pokeLocalSite(siteObj,Umu,lsite);
+    pokeLocalSite(siteObj,Umu,lsite);
       }
       grid->Barrier(); // necessary?
     }
@@ -520,7 +520,7 @@ class BinaryIO {
 
     timer.Stop();
     std::cout<<GridLogPerformance<<"readObjectParallel: read "<< bytes <<" bytes in "<<timer.Elapsed() <<" "
-	     << (double)bytes/timer.useconds() <<" MB/s "  <<std::endl;
+       << (double)bytes/timer.useconds() <<" MB/s "  <<std::endl;
     
     return csum;
   }
@@ -558,15 +558,15 @@ class BinaryIO {
       if ( d!= grid->_ndimension-1 ) parallel[d] = 0;
 
       if (parallel[d]) {
-	range[d] = grid->_ldimensions[d];
-	start[d] = grid->_processor_coor[d]*range[d];
-	ioproc[d]= grid->_processor_coor[d];
+  range[d] = grid->_ldimensions[d];
+  start[d] = grid->_processor_coor[d]*range[d];
+  ioproc[d]= grid->_processor_coor[d];
       } else {
-	range[d] = grid->_gdimensions[d];
-	start[d] = 0;
-	ioproc[d]= 0;
+  range[d] = grid->_gdimensions[d];
+  start[d] = 0;
+  ioproc[d]= 0;
 
-	if ( grid->_processor_coor[d] != 0 ) IOnode = 0;
+  if ( grid->_processor_coor[d] != 0 ) IOnode = 0;
       }
 
       slice_vol = slice_vol * range[d];
@@ -577,9 +577,9 @@ class BinaryIO {
       grid->GlobalSum(tmp);
       std::cout<< GridLogMessage<< "Parallel write I/O from "<< file << " with " <<tmp<< " IOnodes for subslice ";
       for(int d=0;d<grid->_ndimension;d++){
-	std::cout<< range[d];
-	if( d< grid->_ndimension-1 ) 
-	  std::cout<< " x ";
+  std::cout<< range[d];
+  if( d< grid->_ndimension-1 ) 
+    std::cout<< " x ";
       }
       std::cout << std::endl;
     }
@@ -610,7 +610,7 @@ class BinaryIO {
     // should aggregate a whole chunk and then write.
     // need to implement these loops in Nd independent way with a lexico conversion
     for(int tlex=0;tlex<slice_vol;tlex++){
-	
+  
       std::vector<int> tsite(nd); // temporary mixed up site
       std::vector<int> gsite(nd);
       std::vector<int> lsite(nd);
@@ -619,8 +619,8 @@ class BinaryIO {
       Lexicographic::CoorFromIndex(tsite,tlex,range);
 
       for(int d=0;d<nd;d++){
-	lsite[d] = tsite[d]%grid->_ldimensions[d];  // local site
-	gsite[d] = tsite[d]+start[d];               // global site
+  lsite[d] = tsite[d]%grid->_ldimensions[d];  // local site
+  gsite[d] = tsite[d]+start[d];               // global site
       }
 
 
@@ -640,26 +640,26 @@ class BinaryIO {
 
       // Pair of nodes may need to do pt2pt send
       if ( rank != iorank ) { // comms is necessary
-	if ( (myrank == rank) || (myrank==iorank) ) { // and we have to do it
-	  // Send to IOrank 
-	  grid->SendRecvPacket((void *)&siteObj,(void *)&siteObj,rank,iorank,sizeof(siteObj));
-	}
+  if ( (myrank == rank) || (myrank==iorank) ) { // and we have to do it
+    // Send to IOrank 
+    grid->SendRecvPacket((void *)&siteObj,(void *)&siteObj,rank,iorank,sizeof(siteObj));
+  }
       }
 
       grid->Barrier(); // necessary?
 
       if (myrank == iorank) {
-	
-	munge(siteObj,fileObj,csum);
+  
+  munge(siteObj,fileObj,csum);
 
-	if(ieee32big) htobe32_v((void *)&fileObj,sizeof(fileObj));
-	if(ieee32)    htole32_v((void *)&fileObj,sizeof(fileObj));
-	if(ieee64big) htobe64_v((void *)&fileObj,sizeof(fileObj));
-	if(ieee64)    htole64_v((void *)&fileObj,sizeof(fileObj));
-	
-	fout.seekp(offset+g_idx*sizeof(fileObj));
-	fout.write((char *)&fileObj,sizeof(fileObj));
-	bytes+=sizeof(fileObj);
+  if(ieee32big) htobe32_v((void *)&fileObj,sizeof(fileObj));
+  if(ieee32)    htole32_v((void *)&fileObj,sizeof(fileObj));
+  if(ieee64big) htobe64_v((void *)&fileObj,sizeof(fileObj));
+  if(ieee64)    htole64_v((void *)&fileObj,sizeof(fileObj));
+  
+  fout.seekp(offset+g_idx*sizeof(fileObj));
+  fout.write((char *)&fileObj,sizeof(fileObj));
+  bytes+=sizeof(fileObj);
       }
     }
 
@@ -668,7 +668,7 @@ class BinaryIO {
 
     timer.Stop();
     std::cout<<GridLogPerformance<<"writeObjectParallel: wrote "<< bytes <<" bytes in "<<timer.Elapsed() <<" "
-	     << (double)bytes/timer.useconds() <<" MB/s "  <<std::endl;
+       << (double)bytes/timer.useconds() <<" MB/s "  <<std::endl;
 
     return csum;
   }
diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index b551319b..d796e235 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -97,23 +97,24 @@ namespace Grid {
      
     };
     
-    
+    ///////////////////////////////////////////////////////////
+    // Default to no assembler implementation
+    ///////////////////////////////////////////////////////////
     template<class Impl>
-      void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-						     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-						     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
-      {
-	assert(0);
-      }
+    void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+						   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+						   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+    {
+      assert(0);
+    }
     template<class Impl>
-      void WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-							std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
-      {
-	assert(0);
-      }
-    
-    
+    void WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+						      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+						      int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+    {
+      assert(0);
+    }
+        
   }
 }
 #endif
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index ce592540..d2cb4285 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -1,4 +1,4 @@
-    /*************************************************************************************
+/*************************************************************************************
 
     Grid physics library, www.github.com/paboyle/Grid 
 
@@ -26,77 +26,56 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
     See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+*************************************************************************************/
+/*  END LEGAL */
 
 #include <Grid.h>
 
 namespace Grid {
-namespace QCD {
-
-
-  ///////////////////////////////////////////////////////////
-  // Default to no assembler implementation
-  ///////////////////////////////////////////////////////////
-  /*
-template<class Impl>
-void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-					       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-					       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
-{
-  assert(0);
-}
-template<class Impl>
-void WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-						  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-						  int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
-{
-  assert(0);
-}
-  */
-
+  namespace QCD {
+    
 #if defined(AVX512) 
-
-
-  ///////////////////////////////////////////////////////////
-  // If we are AVX512 specialise the single precision routine
-  ///////////////////////////////////////////////////////////
-
+    
+    
+    ///////////////////////////////////////////////////////////
+    // If we are AVX512 specialise the single precision routine
+    ///////////////////////////////////////////////////////////
+    
 #include <simd/Intel512wilson.h>
 #include <simd/Intel512single.h>
-
-static Vector<vComplexF> signs;
-
-int setupSigns(void ){
-  Vector<vComplexF> bother(2);
-  signs = bother;
-  vrsign(signs[0]);
-  visign(signs[1]);
-  return 1;
-}
-static int signInit = setupSigns();
-
+    
+    static Vector<vComplexF> signs;
+    
+    int setupSigns(void ){
+      Vector<vComplexF> bother(2);
+      signs = bother;
+      vrsign(signs[0]);
+      visign(signs[1]);
+      return 1;
+    }
+    static int signInit = setupSigns();
+  
 #define label(A)  ilabel(A)
 #define ilabel(A) ".globl\n"  #A ":\n" 
-
+  
 #define MAYBEPERM(A,perm) if (perm) { A ; }
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf)
 #define FX(A) WILSONASM_ ##A
-
+  
 #undef KERNEL_DAG
-template<>
-void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-						     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-						     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+    template<>
+    void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+							 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							 int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
-
+      
 #define KERNEL_DAG
-template<>
-void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-						     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-						     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+    template<>
+    void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+							    std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							    int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
-
+				    
 #undef VMOVIDUP
 #undef VMOVRDUP
 #undef MAYBEPERM
@@ -107,64 +86,22 @@ void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,Lebesgue
 #define VMOVIDUP(A,B,C)                                  VBCASTIDUPf(A,B,C)
 #define VMOVRDUP(A,B,C)                                  VBCASTRDUPf(A,B,C)
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
-
+				    
 #undef KERNEL_DAG
-template<>
-void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-								   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-								   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+    template<>
+    void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+								  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+								  int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
-
+				    
 #define KERNEL_DAG
-template<>
-void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-								   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-								   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+    template<>
+    void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+								     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+								     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
-
+				    
 #endif
-
-
-/*
-template void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							      int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-
-template void WilsonKernels<WilsonImplD>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<GparityWilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<GparityWilsonImplD>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<DomainWallVec5dImplD>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-
-template void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							      int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-
-template void WilsonKernels<WilsonImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<GparityWilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<GparityWilsonImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-template void WilsonKernels<DomainWallVec5dImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, 
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							       int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);		
-*/
-}}
+  }
+}
 

From 5df5d52d417decf8d9a229a674a9d4a082149767 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 12 Sep 2016 17:17:20 +0100
Subject: [PATCH 140/295] Fix for the Intel compiler

---
 lib/qcd/QCD.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index ec11c837..0e9d3c17 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -55,11 +55,14 @@ namespace QCD {
     //////////////////////////////////////////////////////////////////////////////
     // QCD iMatrix types
     // Index conventions:                            Lorentz x Spin x Colour
+    // note: static const int or constexpr will work for type deductions
+    //       with the intel compiler (up to version 17)
     //////////////////////////////////////////////////////////////////////////////
-    static const int ColourIndex = 2;
-    static const int SpinIndex   = 1;
-    static const int LorentzIndex= 0;
+    #define ColourIndex  2
+    #define SpinIndex    1
+    #define LorentzIndex 0
 
+  
     // Also should make these a named enum type
     static const int DaggerNo=0;
     static const int DaggerYes=1;

From fda408ee6ff64a238f1c92ed0b82191e7b9c715b Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 13 Sep 2016 10:43:30 +0100
Subject: [PATCH 141/295] Added first lines for supporting Two Index
 representations

---
 lib/Eigen.inc                                 |  288 ++-
 lib/Eigen/Array                               |   11 -
 lib/Eigen/CMakeLists.txt                      |   19 -
 lib/Eigen/Cholesky                            |   32 -
 lib/Eigen/CholmodSupport                      |   45 -
 lib/Eigen/Core                                |  376 ----
 lib/Eigen/Dense                               |    7 -
 lib/Eigen/Eigen                               |    2 -
 lib/Eigen/Eigen2Support                       |   95 -
 lib/Eigen/Eigenvalues                         |   48 -
 lib/Eigen/Geometry                            |   63 -
 lib/Eigen/Householder                         |   23 -
 lib/Eigen/IterativeLinearSolvers              |   40 -
 lib/Eigen/Jacobi                              |   26 -
 lib/Eigen/LU                                  |   41 -
 lib/Eigen/LeastSquares                        |   32 -
 lib/Eigen/MetisSupport                        |   28 -
 lib/Eigen/OrderingMethods                     |   66 -
 lib/Eigen/PaStiXSupport                       |   46 -
 lib/Eigen/PardisoSupport                      |   30 -
 lib/Eigen/QR                                  |   45 -
 lib/Eigen/QtAlignedMalloc                     |   34 -
 lib/Eigen/SPQRSupport                         |   29 -
 lib/Eigen/SVD                                 |   37 -
 lib/Eigen/Sparse                              |   27 -
 lib/Eigen/SparseCholesky                      |   47 -
 lib/Eigen/SparseCore                          |   64 -
 lib/Eigen/SparseLU                            |   49 -
 lib/Eigen/SparseQR                            |   33 -
 lib/Eigen/StdDeque                            |   27 -
 lib/Eigen/StdList                             |   26 -
 lib/Eigen/StdVector                           |   27 -
 lib/Eigen/SuperLUSupport                      |   59 -
 lib/Eigen/UmfPackSupport                      |   36 -
 lib/Eigen/src/CMakeLists.txt                  |    7 -
 lib/Eigen/src/Cholesky/CMakeLists.txt         |    6 -
 lib/Eigen/src/Cholesky/LDLT.h                 |  611 ------
 lib/Eigen/src/Cholesky/LLT.h                  |  498 -----
 lib/Eigen/src/Cholesky/LLT_MKL.h              |  102 -
 lib/Eigen/src/CholmodSupport/CMakeLists.txt   |    6 -
 lib/Eigen/src/CholmodSupport/CholmodSupport.h |  607 ------
 lib/Eigen/src/Core/Array.h                    |  323 ---
 lib/Eigen/src/Core/ArrayBase.h                |  226 --
 lib/Eigen/src/Core/ArrayWrapper.h             |  264 ---
 lib/Eigen/src/Core/Assign.h                   |  590 ------
 lib/Eigen/src/Core/Assign_MKL.h               |  224 --
 lib/Eigen/src/Core/BandMatrix.h               |  334 ---
 lib/Eigen/src/Core/Block.h                    |  406 ----
 lib/Eigen/src/Core/BooleanRedux.h             |  154 --
 lib/Eigen/src/Core/CMakeLists.txt             |   10 -
 lib/Eigen/src/Core/CommaInitializer.h         |  154 --
 lib/Eigen/src/Core/CoreIterators.h            |   61 -
 lib/Eigen/src/Core/CwiseBinaryOp.h            |  230 --
 lib/Eigen/src/Core/CwiseNullaryOp.h           |  864 --------
 lib/Eigen/src/Core/CwiseUnaryOp.h             |  126 --
 lib/Eigen/src/Core/CwiseUnaryView.h           |  139 --
 lib/Eigen/src/Core/DenseBase.h                |  521 -----
 lib/Eigen/src/Core/DenseCoeffsBase.h          |  754 -------
 lib/Eigen/src/Core/DenseStorage.h             |  434 ----
 lib/Eigen/src/Core/Diagonal.h                 |  237 ---
 lib/Eigen/src/Core/DiagonalMatrix.h           |  313 ---
 lib/Eigen/src/Core/DiagonalProduct.h          |  131 --
 lib/Eigen/src/Core/Dot.h                      |  263 ---
 lib/Eigen/src/Core/EigenBase.h                |  131 --
 lib/Eigen/src/Core/Flagged.h                  |  140 --
 lib/Eigen/src/Core/ForceAlignedAccess.h       |  146 --
 lib/Eigen/src/Core/Functors.h                 | 1026 ---------
 lib/Eigen/src/Core/Fuzzy.h                    |  150 --
 lib/Eigen/src/Core/GeneralProduct.h           |  638 ------
 lib/Eigen/src/Core/GenericPacketMath.h        |  350 ----
 lib/Eigen/src/Core/GlobalFunctions.h          |   92 -
 lib/Eigen/src/Core/IO.h                       |  250 ---
 lib/Eigen/src/Core/Map.h                      |  192 --
 lib/Eigen/src/Core/MapBase.h                  |  251 ---
 lib/Eigen/src/Core/MathFunctions.h            |  768 -------
 lib/Eigen/src/Core/Matrix.h                   |  420 ----
 lib/Eigen/src/Core/MatrixBase.h               |  563 -----
 lib/Eigen/src/Core/NestByValue.h              |  111 -
 lib/Eigen/src/Core/NoAlias.h                  |  134 --
 lib/Eigen/src/Core/NumTraits.h                |  150 --
 lib/Eigen/src/Core/PermutationMatrix.h        |  721 -------
 lib/Eigen/src/Core/PlainObjectBase.h          |  822 --------
 lib/Eigen/src/Core/ProductBase.h              |  290 ---
 lib/Eigen/src/Core/Random.h                   |  152 --
 lib/Eigen/src/Core/Redux.h                    |  409 ----
 lib/Eigen/src/Core/Ref.h                      |  278 ---
 lib/Eigen/src/Core/Replicate.h                |  177 --
 lib/Eigen/src/Core/ReturnByValue.h            |   99 -
 lib/Eigen/src/Core/Reverse.h                  |  224 --
 lib/Eigen/src/Core/Select.h                   |  162 --
 lib/Eigen/src/Core/SelfAdjointView.h          |  314 ---
 lib/Eigen/src/Core/SelfCwiseBinaryOp.h        |  191 --
 lib/Eigen/src/Core/SolveTriangular.h          |  260 ---
 lib/Eigen/src/Core/StableNorm.h               |  203 --
 lib/Eigen/src/Core/Stride.h                   |  108 -
 lib/Eigen/src/Core/Swap.h                     |  126 --
 lib/Eigen/src/Core/Transpose.h                |  419 ----
 lib/Eigen/src/Core/Transpositions.h           |  436 ----
 lib/Eigen/src/Core/TriangularMatrix.h         |  839 --------
 lib/Eigen/src/Core/VectorBlock.h              |   95 -
 lib/Eigen/src/Core/VectorwiseOp.h             |  642 ------
 lib/Eigen/src/Core/Visitor.h                  |  240 ---
 .../src/Core/arch/AltiVec/CMakeLists.txt      |    6 -
 lib/Eigen/src/Core/arch/AltiVec/Complex.h     |  217 --
 lib/Eigen/src/Core/arch/AltiVec/PacketMath.h  |  501 -----
 lib/Eigen/src/Core/arch/CMakeLists.txt        |    4 -
 .../src/Core/arch/Default/CMakeLists.txt      |    6 -
 lib/Eigen/src/Core/arch/Default/Settings.h    |   49 -
 lib/Eigen/src/Core/arch/NEON/CMakeLists.txt   |    6 -
 lib/Eigen/src/Core/arch/NEON/Complex.h        |  253 ---
 lib/Eigen/src/Core/arch/NEON/PacketMath.h     |  420 ----
 lib/Eigen/src/Core/arch/SSE/CMakeLists.txt    |    6 -
 lib/Eigen/src/Core/arch/SSE/Complex.h         |  442 ----
 lib/Eigen/src/Core/arch/SSE/MathFunctions.h   |  475 -----
 lib/Eigen/src/Core/arch/SSE/PacketMath.h      |  613 ------
 lib/Eigen/src/Core/products/CMakeLists.txt    |    6 -
 .../src/Core/products/CoeffBasedProduct.h     |  476 -----
 .../Core/products/GeneralBlockPanelKernel.h   | 1341 ------------
 .../src/Core/products/GeneralMatrixMatrix.h   |  433 ----
 .../products/GeneralMatrixMatrixTriangular.h  |  278 ---
 .../GeneralMatrixMatrixTriangular_MKL.h       |  146 --
 .../Core/products/GeneralMatrixMatrix_MKL.h   |  118 --
 .../src/Core/products/GeneralMatrixVector.h   |  566 -----
 .../Core/products/GeneralMatrixVector_MKL.h   |  131 --
 lib/Eigen/src/Core/products/Parallelizer.h    |  162 --
 .../Core/products/SelfadjointMatrixMatrix.h   |  436 ----
 .../products/SelfadjointMatrixMatrix_MKL.h    |  295 ---
 .../Core/products/SelfadjointMatrixVector.h   |  281 ---
 .../products/SelfadjointMatrixVector_MKL.h    |  114 -
 .../src/Core/products/SelfadjointProduct.h    |  123 --
 .../Core/products/SelfadjointRank2Update.h    |   93 -
 .../Core/products/TriangularMatrixMatrix.h    |  427 ----
 .../products/TriangularMatrixMatrix_MKL.h     |  309 ---
 .../Core/products/TriangularMatrixVector.h    |  348 ----
 .../products/TriangularMatrixVector_MKL.h     |  247 ---
 .../Core/products/TriangularSolverMatrix.h    |  332 ---
 .../products/TriangularSolverMatrix_MKL.h     |  155 --
 .../Core/products/TriangularSolverVector.h    |  139 --
 lib/Eigen/src/Core/util/BlasUtil.h            |  264 ---
 lib/Eigen/src/Core/util/CMakeLists.txt        |    6 -
 lib/Eigen/src/Core/util/Constants.h           |  451 ----
 .../src/Core/util/DisableStupidWarnings.h     |   40 -
 lib/Eigen/src/Core/util/ForwardDeclarations.h |  302 ---
 lib/Eigen/src/Core/util/MKL_support.h         |  158 --
 lib/Eigen/src/Core/util/Macros.h              |  714 -------
 lib/Eigen/src/Core/util/Memory.h              |  979 ---------
 lib/Eigen/src/Core/util/Meta.h                |  243 ---
 lib/Eigen/src/Core/util/NonMPL2.h             |    3 -
 .../src/Core/util/ReenableStupidWarnings.h    |   14 -
 lib/Eigen/src/Core/util/StaticAssert.h        |  208 --
 lib/Eigen/src/Core/util/XprHelper.h           |  469 -----
 lib/Eigen/src/Eigen2Support/Block.h           |  126 --
 lib/Eigen/src/Eigen2Support/CMakeLists.txt    |    8 -
 lib/Eigen/src/Eigen2Support/Cwise.h           |  192 --
 lib/Eigen/src/Eigen2Support/CwiseOperators.h  |  298 ---
 .../src/Eigen2Support/Geometry/AlignedBox.h   |  159 --
 lib/Eigen/src/Eigen2Support/Geometry/All.h    |  115 -
 .../src/Eigen2Support/Geometry/AngleAxis.h    |  214 --
 .../src/Eigen2Support/Geometry/CMakeLists.txt |    6 -
 .../src/Eigen2Support/Geometry/Hyperplane.h   |  254 ---
 .../Eigen2Support/Geometry/ParametrizedLine.h |  141 --
 .../src/Eigen2Support/Geometry/Quaternion.h   |  495 -----
 .../src/Eigen2Support/Geometry/Rotation2D.h   |  145 --
 .../src/Eigen2Support/Geometry/RotationBase.h |  123 --
 .../src/Eigen2Support/Geometry/Scaling.h      |  167 --
 .../src/Eigen2Support/Geometry/Transform.h    |  786 -------
 .../src/Eigen2Support/Geometry/Translation.h  |  184 --
 lib/Eigen/src/Eigen2Support/LU.h              |  120 --
 lib/Eigen/src/Eigen2Support/Lazy.h            |   71 -
 lib/Eigen/src/Eigen2Support/LeastSquares.h    |  169 --
 lib/Eigen/src/Eigen2Support/Macros.h          |   20 -
 lib/Eigen/src/Eigen2Support/MathFunctions.h   |   57 -
 lib/Eigen/src/Eigen2Support/Memory.h          |   45 -
 lib/Eigen/src/Eigen2Support/Meta.h            |   75 -
 lib/Eigen/src/Eigen2Support/Minor.h           |  117 --
 lib/Eigen/src/Eigen2Support/QR.h              |   67 -
 lib/Eigen/src/Eigen2Support/SVD.h             |  637 ------
 .../src/Eigen2Support/TriangularSolver.h      |   42 -
 lib/Eigen/src/Eigen2Support/VectorBlock.h     |   94 -
 lib/Eigen/src/Eigenvalues/CMakeLists.txt      |    6 -
 .../src/Eigenvalues/ComplexEigenSolver.h      |  341 ---
 lib/Eigen/src/Eigenvalues/ComplexSchur.h      |  456 ----
 lib/Eigen/src/Eigenvalues/ComplexSchur_MKL.h  |   93 -
 lib/Eigen/src/Eigenvalues/EigenSolver.h       |  607 ------
 .../src/Eigenvalues/GeneralizedEigenSolver.h  |  350 ----
 .../GeneralizedSelfAdjointEigenSolver.h       |  227 --
 .../src/Eigenvalues/HessenbergDecomposition.h |  373 ----
 .../src/Eigenvalues/MatrixBaseEigenvalues.h   |  160 --
 lib/Eigen/src/Eigenvalues/RealQZ.h            |  624 ------
 lib/Eigen/src/Eigenvalues/RealSchur.h         |  525 -----
 lib/Eigen/src/Eigenvalues/RealSchur_MKL.h     |   79 -
 .../src/Eigenvalues/SelfAdjointEigenSolver.h  |  801 -------
 .../Eigenvalues/SelfAdjointEigenSolver_MKL.h  |   92 -
 .../src/Eigenvalues/Tridiagonalization.h      |  557 -----
 lib/Eigen/src/Geometry/AlignedBox.h           |  392 ----
 lib/Eigen/src/Geometry/AngleAxis.h            |  240 ---
 lib/Eigen/src/Geometry/CMakeLists.txt         |    8 -
 lib/Eigen/src/Geometry/EulerAngles.h          |  104 -
 lib/Eigen/src/Geometry/Homogeneous.h          |  307 ---
 lib/Eigen/src/Geometry/Hyperplane.h           |  280 ---
 lib/Eigen/src/Geometry/OrthoMethods.h         |  218 --
 lib/Eigen/src/Geometry/ParametrizedLine.h     |  195 --
 lib/Eigen/src/Geometry/Quaternion.h           |  776 -------
 lib/Eigen/src/Geometry/Rotation2D.h           |  160 --
 lib/Eigen/src/Geometry/RotationBase.h         |  206 --
 lib/Eigen/src/Geometry/Scaling.h              |  166 --
 lib/Eigen/src/Geometry/Transform.h            | 1474 -------------
 lib/Eigen/src/Geometry/Translation.h          |  206 --
 lib/Eigen/src/Geometry/Umeyama.h              |  177 --
 lib/Eigen/src/Geometry/arch/CMakeLists.txt    |    6 -
 lib/Eigen/src/Geometry/arch/Geometry_SSE.h    |  115 -
 lib/Eigen/src/Householder/BlockHouseholder.h  |   68 -
 lib/Eigen/src/Householder/CMakeLists.txt      |    6 -
 lib/Eigen/src/Householder/Householder.h       |  171 --
 .../src/Householder/HouseholderSequence.h     |  441 ----
 .../BasicPreconditioners.h                    |  149 --
 .../src/IterativeLinearSolvers/BiCGSTAB.h     |  263 ---
 .../src/IterativeLinearSolvers/CMakeLists.txt |    6 -
 .../ConjugateGradient.h                       |  258 ---
 .../IterativeLinearSolvers/IncompleteLUT.h    |  478 -----
 .../IterativeSolverBase.h                     |  282 ---
 lib/Eigen/src/Jacobi/CMakeLists.txt           |    6 -
 lib/Eigen/src/Jacobi/Jacobi.h                 |  433 ----
 lib/Eigen/src/LU/CMakeLists.txt               |    8 -
 lib/Eigen/src/LU/Determinant.h                |  101 -
 lib/Eigen/src/LU/FullPivLU.h                  |  751 -------
 lib/Eigen/src/LU/Inverse.h                    |  400 ----
 lib/Eigen/src/LU/PartialPivLU.h               |  509 -----
 lib/Eigen/src/LU/PartialPivLU_MKL.h           |   85 -
 lib/Eigen/src/LU/arch/CMakeLists.txt          |    6 -
 lib/Eigen/src/LU/arch/Inverse_SSE.h           |  329 ---
 lib/Eigen/src/MetisSupport/CMakeLists.txt     |    6 -
 lib/Eigen/src/MetisSupport/MetisSupport.h     |  137 --
 lib/Eigen/src/OrderingMethods/Amd.h           |  444 ----
 lib/Eigen/src/OrderingMethods/CMakeLists.txt  |    6 -
 lib/Eigen/src/OrderingMethods/Eigen_Colamd.h  | 1843 -----------------
 lib/Eigen/src/OrderingMethods/Ordering.h      |  154 --
 lib/Eigen/src/PaStiXSupport/CMakeLists.txt    |    6 -
 lib/Eigen/src/PaStiXSupport/PaStiXSupport.h   |  721 -------
 lib/Eigen/src/PardisoSupport/CMakeLists.txt   |    6 -
 lib/Eigen/src/PardisoSupport/PardisoSupport.h |  592 ------
 lib/Eigen/src/QR/CMakeLists.txt               |    6 -
 lib/Eigen/src/QR/ColPivHouseholderQR.h        |  580 ------
 lib/Eigen/src/QR/ColPivHouseholderQR_MKL.h    |   98 -
 lib/Eigen/src/QR/FullPivHouseholderQR.h       |  622 ------
 lib/Eigen/src/QR/HouseholderQR.h              |  388 ----
 lib/Eigen/src/QR/HouseholderQR_MKL.h          |   71 -
 lib/Eigen/src/SPQRSupport/CMakeLists.txt      |    6 -
 .../src/SPQRSupport/SuiteSparseQRSupport.h    |  338 ---
 lib/Eigen/src/SVD/CMakeLists.txt              |    6 -
 lib/Eigen/src/SVD/JacobiSVD.h                 |  976 ---------
 lib/Eigen/src/SVD/JacobiSVD_MKL.h             |   92 -
 lib/Eigen/src/SVD/UpperBidiagonalization.h    |  148 --
 lib/Eigen/src/SparseCholesky/CMakeLists.txt   |    6 -
 .../src/SparseCholesky/SimplicialCholesky.h   |  671 ------
 .../SparseCholesky/SimplicialCholesky_impl.h  |  199 --
 lib/Eigen/src/SparseCore/AmbiVector.h         |  373 ----
 lib/Eigen/src/SparseCore/CMakeLists.txt       |    6 -
 lib/Eigen/src/SparseCore/CompressedStorage.h  |  233 ---
 .../ConservativeSparseSparseProduct.h         |  245 ---
 lib/Eigen/src/SparseCore/MappedSparseMatrix.h |  181 --
 lib/Eigen/src/SparseCore/SparseBlock.h        |  539 -----
 lib/Eigen/src/SparseCore/SparseColEtree.h     |  206 --
 .../src/SparseCore/SparseCwiseBinaryOp.h      |  324 ---
 lib/Eigen/src/SparseCore/SparseCwiseUnaryOp.h |  163 --
 lib/Eigen/src/SparseCore/SparseDenseProduct.h |  311 ---
 .../src/SparseCore/SparseDiagonalProduct.h    |  196 --
 lib/Eigen/src/SparseCore/SparseDot.h          |  101 -
 lib/Eigen/src/SparseCore/SparseFuzzy.h        |   26 -
 lib/Eigen/src/SparseCore/SparseMatrix.h       | 1262 -----------
 lib/Eigen/src/SparseCore/SparseMatrixBase.h   |  461 -----
 lib/Eigen/src/SparseCore/SparsePermutation.h  |  148 --
 lib/Eigen/src/SparseCore/SparseProduct.h      |  188 --
 lib/Eigen/src/SparseCore/SparseRedux.h        |   45 -
 .../src/SparseCore/SparseSelfAdjointView.h    |  507 -----
 .../SparseSparseProductWithPruning.h          |  150 --
 lib/Eigen/src/SparseCore/SparseTranspose.h    |   63 -
 .../src/SparseCore/SparseTriangularView.h     |  179 --
 lib/Eigen/src/SparseCore/SparseUtil.h         |  172 --
 lib/Eigen/src/SparseCore/SparseVector.h       |  448 ----
 lib/Eigen/src/SparseCore/SparseView.h         |   99 -
 lib/Eigen/src/SparseCore/TriangularSolver.h   |  334 ---
 lib/Eigen/src/SparseLU/CMakeLists.txt         |    6 -
 lib/Eigen/src/SparseLU/SparseLU.h             |  806 -------
 lib/Eigen/src/SparseLU/SparseLUImpl.h         |   66 -
 lib/Eigen/src/SparseLU/SparseLU_Memory.h      |  227 --
 lib/Eigen/src/SparseLU/SparseLU_Structs.h     |  111 -
 .../src/SparseLU/SparseLU_SupernodalMatrix.h  |  298 ---
 lib/Eigen/src/SparseLU/SparseLU_Utils.h       |   80 -
 lib/Eigen/src/SparseLU/SparseLU_column_bmod.h |  180 --
 lib/Eigen/src/SparseLU/SparseLU_column_dfs.h  |  177 --
 .../src/SparseLU/SparseLU_copy_to_ucol.h      |  106 -
 lib/Eigen/src/SparseLU/SparseLU_gemm_kernel.h |  279 ---
 .../src/SparseLU/SparseLU_heap_relax_snode.h  |  127 --
 lib/Eigen/src/SparseLU/SparseLU_kernel_bmod.h |  130 --
 lib/Eigen/src/SparseLU/SparseLU_panel_bmod.h  |  223 --
 lib/Eigen/src/SparseLU/SparseLU_panel_dfs.h   |  258 ---
 lib/Eigen/src/SparseLU/SparseLU_pivotL.h      |  137 --
 lib/Eigen/src/SparseLU/SparseLU_pruneL.h      |  135 --
 lib/Eigen/src/SparseLU/SparseLU_relax_snode.h |   83 -
 lib/Eigen/src/SparseQR/CMakeLists.txt         |    6 -
 lib/Eigen/src/SparseQR/SparseQR.h             |  714 -------
 lib/Eigen/src/StlSupport/CMakeLists.txt       |    6 -
 lib/Eigen/src/StlSupport/StdDeque.h           |  126 --
 lib/Eigen/src/StlSupport/StdList.h            |  106 -
 lib/Eigen/src/StlSupport/StdVector.h          |  126 --
 lib/Eigen/src/StlSupport/details.h            |   84 -
 lib/Eigen/src/SuperLUSupport/CMakeLists.txt   |    6 -
 lib/Eigen/src/SuperLUSupport/SuperLUSupport.h | 1026 ---------
 lib/Eigen/src/UmfPackSupport/CMakeLists.txt   |    6 -
 lib/Eigen/src/UmfPackSupport/UmfPackSupport.h |  474 -----
 lib/Eigen/src/misc/CMakeLists.txt             |    6 -
 lib/Eigen/src/misc/Image.h                    |   84 -
 lib/Eigen/src/misc/Kernel.h                   |   81 -
 lib/Eigen/src/misc/Solve.h                    |   76 -
 lib/Eigen/src/misc/SparseSolve.h              |  128 --
 lib/Eigen/src/misc/blas.h                     |  658 ------
 lib/Eigen/src/plugins/ArrayCwiseBinaryOps.h   |  253 ---
 lib/Eigen/src/plugins/ArrayCwiseUnaryOps.h    |  187 --
 lib/Eigen/src/plugins/BlockMethods.h          |  935 ---------
 lib/Eigen/src/plugins/CMakeLists.txt          |    6 -
 lib/Eigen/src/plugins/CommonCwiseBinaryOps.h  |   46 -
 lib/Eigen/src/plugins/CommonCwiseUnaryOps.h   |  172 --
 lib/Eigen/src/plugins/MatrixCwiseBinaryOps.h  |  143 --
 lib/Eigen/src/plugins/MatrixCwiseUnaryOps.h   |   52 -
 lib/Make.inc                                  |    2 +-
 lib/fftw/fftw3.h                              |  412 ++++
 .../representations/two_index_symmetrical.h   |   91 +
 lib/qcd/utils/SUnTwoIndex.h                   |  163 ++
 329 files changed, 954 insertions(+), 80707 deletions(-)
 delete mode 100644 lib/Eigen/Array
 delete mode 100644 lib/Eigen/CMakeLists.txt
 delete mode 100644 lib/Eigen/Cholesky
 delete mode 100644 lib/Eigen/CholmodSupport
 delete mode 100644 lib/Eigen/Core
 delete mode 100644 lib/Eigen/Dense
 delete mode 100644 lib/Eigen/Eigen
 delete mode 100644 lib/Eigen/Eigen2Support
 delete mode 100644 lib/Eigen/Eigenvalues
 delete mode 100644 lib/Eigen/Geometry
 delete mode 100644 lib/Eigen/Householder
 delete mode 100644 lib/Eigen/IterativeLinearSolvers
 delete mode 100644 lib/Eigen/Jacobi
 delete mode 100644 lib/Eigen/LU
 delete mode 100644 lib/Eigen/LeastSquares
 delete mode 100644 lib/Eigen/MetisSupport
 delete mode 100644 lib/Eigen/OrderingMethods
 delete mode 100644 lib/Eigen/PaStiXSupport
 delete mode 100644 lib/Eigen/PardisoSupport
 delete mode 100644 lib/Eigen/QR
 delete mode 100644 lib/Eigen/QtAlignedMalloc
 delete mode 100644 lib/Eigen/SPQRSupport
 delete mode 100644 lib/Eigen/SVD
 delete mode 100644 lib/Eigen/Sparse
 delete mode 100644 lib/Eigen/SparseCholesky
 delete mode 100644 lib/Eigen/SparseCore
 delete mode 100644 lib/Eigen/SparseLU
 delete mode 100644 lib/Eigen/SparseQR
 delete mode 100644 lib/Eigen/StdDeque
 delete mode 100644 lib/Eigen/StdList
 delete mode 100644 lib/Eigen/StdVector
 delete mode 100644 lib/Eigen/SuperLUSupport
 delete mode 100644 lib/Eigen/UmfPackSupport
 delete mode 100644 lib/Eigen/src/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Cholesky/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Cholesky/LDLT.h
 delete mode 100644 lib/Eigen/src/Cholesky/LLT.h
 delete mode 100644 lib/Eigen/src/Cholesky/LLT_MKL.h
 delete mode 100644 lib/Eigen/src/CholmodSupport/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/CholmodSupport/CholmodSupport.h
 delete mode 100644 lib/Eigen/src/Core/Array.h
 delete mode 100644 lib/Eigen/src/Core/ArrayBase.h
 delete mode 100644 lib/Eigen/src/Core/ArrayWrapper.h
 delete mode 100644 lib/Eigen/src/Core/Assign.h
 delete mode 100644 lib/Eigen/src/Core/Assign_MKL.h
 delete mode 100644 lib/Eigen/src/Core/BandMatrix.h
 delete mode 100644 lib/Eigen/src/Core/Block.h
 delete mode 100644 lib/Eigen/src/Core/BooleanRedux.h
 delete mode 100644 lib/Eigen/src/Core/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Core/CommaInitializer.h
 delete mode 100644 lib/Eigen/src/Core/CoreIterators.h
 delete mode 100644 lib/Eigen/src/Core/CwiseBinaryOp.h
 delete mode 100644 lib/Eigen/src/Core/CwiseNullaryOp.h
 delete mode 100644 lib/Eigen/src/Core/CwiseUnaryOp.h
 delete mode 100644 lib/Eigen/src/Core/CwiseUnaryView.h
 delete mode 100644 lib/Eigen/src/Core/DenseBase.h
 delete mode 100644 lib/Eigen/src/Core/DenseCoeffsBase.h
 delete mode 100644 lib/Eigen/src/Core/DenseStorage.h
 delete mode 100644 lib/Eigen/src/Core/Diagonal.h
 delete mode 100644 lib/Eigen/src/Core/DiagonalMatrix.h
 delete mode 100644 lib/Eigen/src/Core/DiagonalProduct.h
 delete mode 100644 lib/Eigen/src/Core/Dot.h
 delete mode 100644 lib/Eigen/src/Core/EigenBase.h
 delete mode 100644 lib/Eigen/src/Core/Flagged.h
 delete mode 100644 lib/Eigen/src/Core/ForceAlignedAccess.h
 delete mode 100644 lib/Eigen/src/Core/Functors.h
 delete mode 100644 lib/Eigen/src/Core/Fuzzy.h
 delete mode 100644 lib/Eigen/src/Core/GeneralProduct.h
 delete mode 100644 lib/Eigen/src/Core/GenericPacketMath.h
 delete mode 100644 lib/Eigen/src/Core/GlobalFunctions.h
 delete mode 100644 lib/Eigen/src/Core/IO.h
 delete mode 100644 lib/Eigen/src/Core/Map.h
 delete mode 100644 lib/Eigen/src/Core/MapBase.h
 delete mode 100644 lib/Eigen/src/Core/MathFunctions.h
 delete mode 100644 lib/Eigen/src/Core/Matrix.h
 delete mode 100644 lib/Eigen/src/Core/MatrixBase.h
 delete mode 100644 lib/Eigen/src/Core/NestByValue.h
 delete mode 100644 lib/Eigen/src/Core/NoAlias.h
 delete mode 100644 lib/Eigen/src/Core/NumTraits.h
 delete mode 100644 lib/Eigen/src/Core/PermutationMatrix.h
 delete mode 100644 lib/Eigen/src/Core/PlainObjectBase.h
 delete mode 100644 lib/Eigen/src/Core/ProductBase.h
 delete mode 100644 lib/Eigen/src/Core/Random.h
 delete mode 100644 lib/Eigen/src/Core/Redux.h
 delete mode 100644 lib/Eigen/src/Core/Ref.h
 delete mode 100644 lib/Eigen/src/Core/Replicate.h
 delete mode 100644 lib/Eigen/src/Core/ReturnByValue.h
 delete mode 100644 lib/Eigen/src/Core/Reverse.h
 delete mode 100644 lib/Eigen/src/Core/Select.h
 delete mode 100644 lib/Eigen/src/Core/SelfAdjointView.h
 delete mode 100644 lib/Eigen/src/Core/SelfCwiseBinaryOp.h
 delete mode 100644 lib/Eigen/src/Core/SolveTriangular.h
 delete mode 100644 lib/Eigen/src/Core/StableNorm.h
 delete mode 100644 lib/Eigen/src/Core/Stride.h
 delete mode 100644 lib/Eigen/src/Core/Swap.h
 delete mode 100644 lib/Eigen/src/Core/Transpose.h
 delete mode 100644 lib/Eigen/src/Core/Transpositions.h
 delete mode 100644 lib/Eigen/src/Core/TriangularMatrix.h
 delete mode 100644 lib/Eigen/src/Core/VectorBlock.h
 delete mode 100644 lib/Eigen/src/Core/VectorwiseOp.h
 delete mode 100644 lib/Eigen/src/Core/Visitor.h
 delete mode 100644 lib/Eigen/src/Core/arch/AltiVec/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Core/arch/AltiVec/Complex.h
 delete mode 100644 lib/Eigen/src/Core/arch/AltiVec/PacketMath.h
 delete mode 100644 lib/Eigen/src/Core/arch/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Core/arch/Default/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Core/arch/Default/Settings.h
 delete mode 100644 lib/Eigen/src/Core/arch/NEON/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Core/arch/NEON/Complex.h
 delete mode 100644 lib/Eigen/src/Core/arch/NEON/PacketMath.h
 delete mode 100644 lib/Eigen/src/Core/arch/SSE/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Core/arch/SSE/Complex.h
 delete mode 100644 lib/Eigen/src/Core/arch/SSE/MathFunctions.h
 delete mode 100644 lib/Eigen/src/Core/arch/SSE/PacketMath.h
 delete mode 100644 lib/Eigen/src/Core/products/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Core/products/CoeffBasedProduct.h
 delete mode 100644 lib/Eigen/src/Core/products/GeneralBlockPanelKernel.h
 delete mode 100644 lib/Eigen/src/Core/products/GeneralMatrixMatrix.h
 delete mode 100644 lib/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
 delete mode 100644 lib/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
 delete mode 100644 lib/Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
 delete mode 100644 lib/Eigen/src/Core/products/GeneralMatrixVector.h
 delete mode 100644 lib/Eigen/src/Core/products/GeneralMatrixVector_MKL.h
 delete mode 100644 lib/Eigen/src/Core/products/Parallelizer.h
 delete mode 100644 lib/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
 delete mode 100644 lib/Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
 delete mode 100644 lib/Eigen/src/Core/products/SelfadjointMatrixVector.h
 delete mode 100644 lib/Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
 delete mode 100644 lib/Eigen/src/Core/products/SelfadjointProduct.h
 delete mode 100644 lib/Eigen/src/Core/products/SelfadjointRank2Update.h
 delete mode 100644 lib/Eigen/src/Core/products/TriangularMatrixMatrix.h
 delete mode 100644 lib/Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
 delete mode 100644 lib/Eigen/src/Core/products/TriangularMatrixVector.h
 delete mode 100644 lib/Eigen/src/Core/products/TriangularMatrixVector_MKL.h
 delete mode 100644 lib/Eigen/src/Core/products/TriangularSolverMatrix.h
 delete mode 100644 lib/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
 delete mode 100644 lib/Eigen/src/Core/products/TriangularSolverVector.h
 delete mode 100644 lib/Eigen/src/Core/util/BlasUtil.h
 delete mode 100644 lib/Eigen/src/Core/util/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Core/util/Constants.h
 delete mode 100644 lib/Eigen/src/Core/util/DisableStupidWarnings.h
 delete mode 100644 lib/Eigen/src/Core/util/ForwardDeclarations.h
 delete mode 100644 lib/Eigen/src/Core/util/MKL_support.h
 delete mode 100644 lib/Eigen/src/Core/util/Macros.h
 delete mode 100644 lib/Eigen/src/Core/util/Memory.h
 delete mode 100644 lib/Eigen/src/Core/util/Meta.h
 delete mode 100644 lib/Eigen/src/Core/util/NonMPL2.h
 delete mode 100644 lib/Eigen/src/Core/util/ReenableStupidWarnings.h
 delete mode 100644 lib/Eigen/src/Core/util/StaticAssert.h
 delete mode 100644 lib/Eigen/src/Core/util/XprHelper.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Block.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Eigen2Support/Cwise.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/CwiseOperators.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/AlignedBox.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/All.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/AngleAxis.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/Hyperplane.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/Quaternion.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/Rotation2D.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/RotationBase.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/Scaling.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/Transform.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Geometry/Translation.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/LU.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Lazy.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/LeastSquares.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Macros.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/MathFunctions.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Memory.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Meta.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/Minor.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/QR.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/SVD.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/TriangularSolver.h
 delete mode 100644 lib/Eigen/src/Eigen2Support/VectorBlock.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Eigenvalues/ComplexEigenSolver.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/ComplexSchur.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/ComplexSchur_MKL.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/EigenSolver.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/HessenbergDecomposition.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/RealQZ.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/RealSchur.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/RealSchur_MKL.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
 delete mode 100644 lib/Eigen/src/Eigenvalues/Tridiagonalization.h
 delete mode 100644 lib/Eigen/src/Geometry/AlignedBox.h
 delete mode 100644 lib/Eigen/src/Geometry/AngleAxis.h
 delete mode 100644 lib/Eigen/src/Geometry/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Geometry/EulerAngles.h
 delete mode 100644 lib/Eigen/src/Geometry/Homogeneous.h
 delete mode 100644 lib/Eigen/src/Geometry/Hyperplane.h
 delete mode 100644 lib/Eigen/src/Geometry/OrthoMethods.h
 delete mode 100644 lib/Eigen/src/Geometry/ParametrizedLine.h
 delete mode 100644 lib/Eigen/src/Geometry/Quaternion.h
 delete mode 100644 lib/Eigen/src/Geometry/Rotation2D.h
 delete mode 100644 lib/Eigen/src/Geometry/RotationBase.h
 delete mode 100644 lib/Eigen/src/Geometry/Scaling.h
 delete mode 100644 lib/Eigen/src/Geometry/Transform.h
 delete mode 100644 lib/Eigen/src/Geometry/Translation.h
 delete mode 100644 lib/Eigen/src/Geometry/Umeyama.h
 delete mode 100644 lib/Eigen/src/Geometry/arch/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Geometry/arch/Geometry_SSE.h
 delete mode 100644 lib/Eigen/src/Householder/BlockHouseholder.h
 delete mode 100644 lib/Eigen/src/Householder/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Householder/Householder.h
 delete mode 100644 lib/Eigen/src/Householder/HouseholderSequence.h
 delete mode 100644 lib/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
 delete mode 100644 lib/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
 delete mode 100644 lib/Eigen/src/IterativeLinearSolvers/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
 delete mode 100644 lib/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
 delete mode 100644 lib/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
 delete mode 100644 lib/Eigen/src/Jacobi/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/Jacobi/Jacobi.h
 delete mode 100644 lib/Eigen/src/LU/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/LU/Determinant.h
 delete mode 100644 lib/Eigen/src/LU/FullPivLU.h
 delete mode 100644 lib/Eigen/src/LU/Inverse.h
 delete mode 100644 lib/Eigen/src/LU/PartialPivLU.h
 delete mode 100644 lib/Eigen/src/LU/PartialPivLU_MKL.h
 delete mode 100644 lib/Eigen/src/LU/arch/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/LU/arch/Inverse_SSE.h
 delete mode 100644 lib/Eigen/src/MetisSupport/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/MetisSupport/MetisSupport.h
 delete mode 100644 lib/Eigen/src/OrderingMethods/Amd.h
 delete mode 100644 lib/Eigen/src/OrderingMethods/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/OrderingMethods/Eigen_Colamd.h
 delete mode 100644 lib/Eigen/src/OrderingMethods/Ordering.h
 delete mode 100644 lib/Eigen/src/PaStiXSupport/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/PaStiXSupport/PaStiXSupport.h
 delete mode 100644 lib/Eigen/src/PardisoSupport/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/PardisoSupport/PardisoSupport.h
 delete mode 100644 lib/Eigen/src/QR/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/QR/ColPivHouseholderQR.h
 delete mode 100644 lib/Eigen/src/QR/ColPivHouseholderQR_MKL.h
 delete mode 100644 lib/Eigen/src/QR/FullPivHouseholderQR.h
 delete mode 100644 lib/Eigen/src/QR/HouseholderQR.h
 delete mode 100644 lib/Eigen/src/QR/HouseholderQR_MKL.h
 delete mode 100644 lib/Eigen/src/SPQRSupport/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
 delete mode 100644 lib/Eigen/src/SVD/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/SVD/JacobiSVD.h
 delete mode 100644 lib/Eigen/src/SVD/JacobiSVD_MKL.h
 delete mode 100644 lib/Eigen/src/SVD/UpperBidiagonalization.h
 delete mode 100644 lib/Eigen/src/SparseCholesky/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/SparseCholesky/SimplicialCholesky.h
 delete mode 100644 lib/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h
 delete mode 100644 lib/Eigen/src/SparseCore/AmbiVector.h
 delete mode 100644 lib/Eigen/src/SparseCore/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/SparseCore/CompressedStorage.h
 delete mode 100644 lib/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
 delete mode 100644 lib/Eigen/src/SparseCore/MappedSparseMatrix.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseBlock.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseColEtree.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseCwiseBinaryOp.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseCwiseUnaryOp.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseDenseProduct.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseDiagonalProduct.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseDot.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseFuzzy.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseMatrix.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseMatrixBase.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparsePermutation.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseProduct.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseRedux.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseSelfAdjointView.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseSparseProductWithPruning.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseTranspose.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseTriangularView.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseUtil.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseVector.h
 delete mode 100644 lib/Eigen/src/SparseCore/SparseView.h
 delete mode 100644 lib/Eigen/src/SparseCore/TriangularSolver.h
 delete mode 100644 lib/Eigen/src/SparseLU/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLUImpl.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_Memory.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_Structs.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_Utils.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_column_bmod.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_column_dfs.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_gemm_kernel.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_kernel_bmod.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_panel_bmod.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_panel_dfs.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_pivotL.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_pruneL.h
 delete mode 100644 lib/Eigen/src/SparseLU/SparseLU_relax_snode.h
 delete mode 100644 lib/Eigen/src/SparseQR/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/SparseQR/SparseQR.h
 delete mode 100644 lib/Eigen/src/StlSupport/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/StlSupport/StdDeque.h
 delete mode 100644 lib/Eigen/src/StlSupport/StdList.h
 delete mode 100644 lib/Eigen/src/StlSupport/StdVector.h
 delete mode 100644 lib/Eigen/src/StlSupport/details.h
 delete mode 100644 lib/Eigen/src/SuperLUSupport/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/SuperLUSupport/SuperLUSupport.h
 delete mode 100644 lib/Eigen/src/UmfPackSupport/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/UmfPackSupport/UmfPackSupport.h
 delete mode 100644 lib/Eigen/src/misc/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/misc/Image.h
 delete mode 100644 lib/Eigen/src/misc/Kernel.h
 delete mode 100644 lib/Eigen/src/misc/Solve.h
 delete mode 100644 lib/Eigen/src/misc/SparseSolve.h
 delete mode 100644 lib/Eigen/src/misc/blas.h
 delete mode 100644 lib/Eigen/src/plugins/ArrayCwiseBinaryOps.h
 delete mode 100644 lib/Eigen/src/plugins/ArrayCwiseUnaryOps.h
 delete mode 100644 lib/Eigen/src/plugins/BlockMethods.h
 delete mode 100644 lib/Eigen/src/plugins/CMakeLists.txt
 delete mode 100644 lib/Eigen/src/plugins/CommonCwiseBinaryOps.h
 delete mode 100644 lib/Eigen/src/plugins/CommonCwiseUnaryOps.h
 delete mode 100644 lib/Eigen/src/plugins/MatrixCwiseBinaryOps.h
 delete mode 100644 lib/Eigen/src/plugins/MatrixCwiseUnaryOps.h
 create mode 100644 lib/fftw/fftw3.h
 create mode 100644 lib/qcd/representations/two_index_symmetrical.h
 create mode 100644 lib/qcd/utils/SUnTwoIndex.h

diff --git a/lib/Eigen.inc b/lib/Eigen.inc
index 600a684f..2992b0f0 100644
--- a/lib/Eigen.inc
+++ b/lib/Eigen.inc
@@ -1 +1,287 @@
-EFILES=Eigen/src/Householder/BlockHouseholder.h Eigen/src/Householder/HouseholderSequence.h Eigen/src/Householder/Householder.h Eigen/src/Core/Swap.h Eigen/src/Core/Dot.h Eigen/src/Core/BandMatrix.h Eigen/src/Core/ForceAlignedAccess.h Eigen/src/Core/Map.h Eigen/src/Core/products/GeneralBlockPanelKernel.h Eigen/src/Core/products/CoeffBasedProduct.h Eigen/src/Core/products/TriangularSolverMatrix.h Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h Eigen/src/Core/products/SelfadjointMatrixVector.h Eigen/src/Core/products/TriangularMatrixMatrix.h Eigen/src/Core/products/GeneralMatrixVector.h Eigen/src/Core/products/TriangularSolverMatrix_MKL.h Eigen/src/Core/products/SelfadjointMatrixMatrix.h Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h Eigen/src/Core/products/GeneralMatrixMatrix.h Eigen/src/Core/products/TriangularSolverVector.h Eigen/src/Core/products/TriangularMatrixVector_MKL.h Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h Eigen/src/Core/products/GeneralMatrixVector_MKL.h Eigen/src/Core/products/SelfadjointProduct.h Eigen/src/Core/products/SelfadjointRank2Update.h Eigen/src/Core/products/TriangularMatrixVector.h Eigen/src/Core/products/Parallelizer.h Eigen/src/Core/NoAlias.h Eigen/src/Core/ReturnByValue.h Eigen/src/Core/MapBase.h Eigen/src/Core/Reverse.h Eigen/src/Core/CwiseUnaryView.h Eigen/src/Core/NumTraits.h Eigen/src/Core/Block.h Eigen/src/Core/CwiseBinaryOp.h Eigen/src/Core/CoreIterators.h Eigen/src/Core/IO.h Eigen/src/Core/NestByValue.h Eigen/src/Core/CwiseNullaryOp.h Eigen/src/Core/DenseStorage.h Eigen/src/Core/arch/SSE/Complex.h Eigen/src/Core/arch/SSE/PacketMath.h Eigen/src/Core/arch/SSE/MathFunctions.h Eigen/src/Core/arch/NEON/Complex.h Eigen/src/Core/arch/NEON/PacketMath.h Eigen/src/Core/arch/AltiVec/Complex.h Eigen/src/Core/arch/AltiVec/PacketMath.h Eigen/src/Core/arch/Default/Settings.h Eigen/src/Core/Redux.h Eigen/src/Core/Assign_MKL.h Eigen/src/Core/Transpose.h Eigen/src/Core/Transpositions.h Eigen/src/Core/ArrayWrapper.h Eigen/src/Core/PlainObjectBase.h Eigen/src/Core/GlobalFunctions.h Eigen/src/Core/CwiseUnaryOp.h Eigen/src/Core/TriangularMatrix.h Eigen/src/Core/VectorBlock.h Eigen/src/Core/util/MKL_support.h Eigen/src/Core/util/Constants.h Eigen/src/Core/util/Macros.h Eigen/src/Core/util/Memory.h Eigen/src/Core/util/ForwardDeclarations.h Eigen/src/Core/util/XprHelper.h Eigen/src/Core/util/ReenableStupidWarnings.h Eigen/src/Core/util/BlasUtil.h Eigen/src/Core/util/Meta.h Eigen/src/Core/util/StaticAssert.h Eigen/src/Core/util/DisableStupidWarnings.h Eigen/src/Core/util/NonMPL2.h Eigen/src/Core/Replicate.h Eigen/src/Core/Stride.h Eigen/src/Core/Flagged.h Eigen/src/Core/DiagonalProduct.h Eigen/src/Core/BooleanRedux.h Eigen/src/Core/CommaInitializer.h Eigen/src/Core/Random.h Eigen/src/Core/DiagonalMatrix.h Eigen/src/Core/SolveTriangular.h Eigen/src/Core/Ref.h Eigen/src/Core/EigenBase.h Eigen/src/Core/MatrixBase.h Eigen/src/Core/SelfCwiseBinaryOp.h Eigen/src/Core/Diagonal.h Eigen/src/Core/DenseBase.h Eigen/src/Core/VectorwiseOp.h Eigen/src/Core/MathFunctions.h Eigen/src/Core/GeneralProduct.h Eigen/src/Core/Functors.h Eigen/src/Core/PermutationMatrix.h Eigen/src/Core/ProductBase.h Eigen/src/Core/Assign.h Eigen/src/Core/SelfAdjointView.h Eigen/src/Core/Fuzzy.h Eigen/src/Core/StableNorm.h Eigen/src/Core/Array.h Eigen/src/Core/Visitor.h Eigen/src/Core/GenericPacketMath.h Eigen/src/Core/ArrayBase.h Eigen/src/Core/Matrix.h Eigen/src/Core/Select.h Eigen/src/Core/DenseCoeffsBase.h Eigen/src/SuperLUSupport/SuperLUSupport.h Eigen/src/CholmodSupport/CholmodSupport.h Eigen/src/PaStiXSupport/PaStiXSupport.h Eigen/src/StlSupport/StdVector.h Eigen/src/StlSupport/StdList.h Eigen/src/StlSupport/details.h Eigen/src/StlSupport/StdDeque.h Eigen/src/Cholesky/LDLT.h Eigen/src/Cholesky/LLT_MKL.h Eigen/src/Cholesky/LLT.h Eigen/src/Eigen2Support/Macros.h Eigen/src/Eigen2Support/Memory.h Eigen/src/Eigen2Support/Block.h Eigen/src/Eigen2Support/LeastSquares.h Eigen/src/Eigen2Support/Cwise.h Eigen/src/Eigen2Support/QR.h Eigen/src/Eigen2Support/Geometry/Transform.h Eigen/src/Eigen2Support/Geometry/RotationBase.h Eigen/src/Eigen2Support/Geometry/Translation.h Eigen/src/Eigen2Support/Geometry/AngleAxis.h Eigen/src/Eigen2Support/Geometry/Quaternion.h Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h Eigen/src/Eigen2Support/Geometry/Hyperplane.h Eigen/src/Eigen2Support/Geometry/All.h Eigen/src/Eigen2Support/Geometry/AlignedBox.h Eigen/src/Eigen2Support/Geometry/Scaling.h Eigen/src/Eigen2Support/Geometry/Rotation2D.h Eigen/src/Eigen2Support/VectorBlock.h Eigen/src/Eigen2Support/CwiseOperators.h Eigen/src/Eigen2Support/TriangularSolver.h Eigen/src/Eigen2Support/Meta.h Eigen/src/Eigen2Support/SVD.h Eigen/src/Eigen2Support/LU.h Eigen/src/Eigen2Support/MathFunctions.h Eigen/src/Eigen2Support/Minor.h Eigen/src/Eigen2Support/Lazy.h Eigen/src/SparseLU/SparseLU_panel_bmod.h Eigen/src/SparseLU/SparseLU_Structs.h Eigen/src/SparseLU/SparseLU.h Eigen/src/SparseLU/SparseLU_column_dfs.h Eigen/src/SparseLU/SparseLUImpl.h Eigen/src/SparseLU/SparseLU_Utils.h Eigen/src/SparseLU/SparseLU_copy_to_ucol.h Eigen/src/SparseLU/SparseLU_column_bmod.h Eigen/src/SparseLU/SparseLU_pruneL.h Eigen/src/SparseLU/SparseLU_gemm_kernel.h Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h Eigen/src/SparseLU/SparseLU_pivotL.h Eigen/src/SparseLU/SparseLU_relax_snode.h Eigen/src/SparseLU/SparseLU_heap_relax_snode.h Eigen/src/SparseLU/SparseLU_kernel_bmod.h Eigen/src/SparseLU/SparseLU_Memory.h Eigen/src/SparseLU/SparseLU_panel_dfs.h Eigen/src/SparseCore/ConservativeSparseSparseProduct.h Eigen/src/SparseCore/SparseFuzzy.h Eigen/src/SparseCore/MappedSparseMatrix.h Eigen/src/SparseCore/SparseColEtree.h Eigen/src/SparseCore/SparseRedux.h Eigen/src/SparseCore/SparseView.h Eigen/src/SparseCore/CompressedStorage.h Eigen/src/SparseCore/SparseDiagonalProduct.h Eigen/src/SparseCore/SparseTranspose.h Eigen/src/SparseCore/SparseMatrix.h Eigen/src/SparseCore/SparseCwiseUnaryOp.h Eigen/src/SparseCore/SparseProduct.h Eigen/src/SparseCore/SparseVector.h Eigen/src/SparseCore/SparseUtil.h Eigen/src/SparseCore/SparseBlock.h Eigen/src/SparseCore/AmbiVector.h Eigen/src/SparseCore/TriangularSolver.h Eigen/src/SparseCore/SparsePermutation.h Eigen/src/SparseCore/SparseCwiseBinaryOp.h Eigen/src/SparseCore/SparseMatrixBase.h Eigen/src/SparseCore/SparseSelfAdjointView.h Eigen/src/SparseCore/SparseDot.h Eigen/src/SparseCore/SparseTriangularView.h Eigen/src/SparseCore/SparseDenseProduct.h Eigen/src/SparseCore/SparseSparseProductWithPruning.h Eigen/src/UmfPackSupport/UmfPackSupport.h Eigen/src/misc/Solve.h Eigen/src/misc/blas.h Eigen/src/misc/SparseSolve.h Eigen/src/misc/Kernel.h Eigen/src/misc/Image.h Eigen/src/SPQRSupport/SuiteSparseQRSupport.h Eigen/src/SparseCholesky/SimplicialCholesky.h Eigen/src/SparseCholesky/SimplicialCholesky_impl.h Eigen/src/Geometry/EulerAngles.h Eigen/src/Geometry/Transform.h Eigen/src/Geometry/RotationBase.h Eigen/src/Geometry/Translation.h Eigen/src/Geometry/AngleAxis.h Eigen/src/Geometry/arch/Geometry_SSE.h Eigen/src/Geometry/Quaternion.h Eigen/src/Geometry/ParametrizedLine.h Eigen/src/Geometry/Hyperplane.h Eigen/src/Geometry/OrthoMethods.h Eigen/src/Geometry/AlignedBox.h Eigen/src/Geometry/Scaling.h Eigen/src/Geometry/Homogeneous.h Eigen/src/Geometry/Umeyama.h Eigen/src/Geometry/Rotation2D.h Eigen/src/OrderingMethods/Amd.h Eigen/src/OrderingMethods/Eigen_Colamd.h Eigen/src/OrderingMethods/Ordering.h Eigen/src/SparseQR/SparseQR.h Eigen/src/MetisSupport/MetisSupport.h Eigen/src/IterativeLinearSolvers/BiCGSTAB.h Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h Eigen/src/IterativeLinearSolvers/IncompleteLUT.h Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h Eigen/src/IterativeLinearSolvers/ConjugateGradient.h Eigen/src/plugins/MatrixCwiseBinaryOps.h Eigen/src/plugins/CommonCwiseUnaryOps.h Eigen/src/plugins/ArrayCwiseUnaryOps.h Eigen/src/plugins/CommonCwiseBinaryOps.h Eigen/src/plugins/MatrixCwiseUnaryOps.h Eigen/src/plugins/ArrayCwiseBinaryOps.h Eigen/src/plugins/BlockMethods.h Eigen/src/LU/Inverse.h Eigen/src/LU/arch/Inverse_SSE.h Eigen/src/LU/PartialPivLU.h Eigen/src/LU/FullPivLU.h Eigen/src/LU/PartialPivLU_MKL.h Eigen/src/LU/Determinant.h Eigen/src/PardisoSupport/PardisoSupport.h Eigen/src/Eigenvalues/EigenSolver.h Eigen/src/Eigenvalues/RealSchur_MKL.h Eigen/src/Eigenvalues/Tridiagonalization.h Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h Eigen/src/Eigenvalues/ComplexSchur.h Eigen/src/Eigenvalues/RealSchur.h Eigen/src/Eigenvalues/GeneralizedEigenSolver.h Eigen/src/Eigenvalues/RealQZ.h Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h Eigen/src/Eigenvalues/ComplexSchur_MKL.h Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h Eigen/src/Eigenvalues/HessenbergDecomposition.h Eigen/src/Eigenvalues/ComplexEigenSolver.h Eigen/src/QR/HouseholderQR_MKL.h Eigen/src/QR/FullPivHouseholderQR.h Eigen/src/QR/ColPivHouseholderQR.h Eigen/src/QR/ColPivHouseholderQR_MKL.h Eigen/src/QR/HouseholderQR.h Eigen/src/SVD/JacobiSVD_MKL.h Eigen/src/SVD/UpperBidiagonalization.h Eigen/src/SVD/JacobiSVD.h Eigen/src/Jacobi/Jacobi.h
+eigen_files =\
+  Eigen/Householder \
+  Eigen/Core \
+  Eigen/StdDeque \
+  Eigen/StdVector \
+  Eigen/SuperLUSupport \
+  Eigen/CholmodSupport \
+  Eigen/LeastSquares \
+  Eigen/PaStiXSupport \
+  Eigen/Sparse \
+  Eigen/Cholesky \
+  Eigen/Eigen2Support \
+  Eigen/QtAlignedMalloc \
+  Eigen/SparseLU \
+  Eigen/SparseCore \
+  Eigen/UmfPackSupport \
+  Eigen/SPQRSupport \
+  Eigen/Eigen \
+  Eigen/SparseCholesky \
+  Eigen/StdList \
+  Eigen/Geometry \
+  Eigen/OrderingMethods \
+  Eigen/SparseQR \
+  Eigen/MetisSupport \
+  Eigen/IterativeLinearSolvers \
+  Eigen/Dense \
+  Eigen/LU \
+  Eigen/Array \
+  Eigen/PardisoSupport \
+  Eigen/Eigenvalues \
+  Eigen/QR \
+  Eigen/src/Householder/BlockHouseholder.h \
+  Eigen/src/Householder/HouseholderSequence.h \
+  Eigen/src/Householder/Householder.h \
+  Eigen/src/Core/Swap.h \
+  Eigen/src/Core/Dot.h \
+  Eigen/src/Core/BandMatrix.h \
+  Eigen/src/Core/ForceAlignedAccess.h \
+  Eigen/src/Core/Map.h \
+  Eigen/src/Core/products/GeneralBlockPanelKernel.h \
+  Eigen/src/Core/products/CoeffBasedProduct.h \
+  Eigen/src/Core/products/TriangularSolverMatrix.h \
+  Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h \
+  Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h \
+  Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h \
+  Eigen/src/Core/products/SelfadjointMatrixVector.h \
+  Eigen/src/Core/products/TriangularMatrixMatrix.h \
+  Eigen/src/Core/products/GeneralMatrixVector.h \
+  Eigen/src/Core/products/TriangularSolverMatrix_MKL.h \
+  Eigen/src/Core/products/SelfadjointMatrixMatrix.h \
+  Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h \
+  Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h \
+  Eigen/src/Core/products/GeneralMatrixMatrix.h \
+  Eigen/src/Core/products/TriangularSolverVector.h \
+  Eigen/src/Core/products/TriangularMatrixVector_MKL.h \
+  Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h \
+  Eigen/src/Core/products/GeneralMatrixVector_MKL.h \
+  Eigen/src/Core/products/SelfadjointProduct.h \
+  Eigen/src/Core/products/SelfadjointRank2Update.h \
+  Eigen/src/Core/products/TriangularMatrixVector.h \
+  Eigen/src/Core/products/Parallelizer.h \
+  Eigen/src/Core/NoAlias.h \
+  Eigen/src/Core/ReturnByValue.h \
+  Eigen/src/Core/MapBase.h \
+  Eigen/src/Core/Reverse.h \
+  Eigen/src/Core/CwiseUnaryView.h \
+  Eigen/src/Core/NumTraits.h \
+  Eigen/src/Core/Block.h \
+  Eigen/src/Core/CwiseBinaryOp.h \
+  Eigen/src/Core/CoreIterators.h \
+  Eigen/src/Core/IO.h \
+  Eigen/src/Core/NestByValue.h \
+  Eigen/src/Core/CwiseNullaryOp.h \
+  Eigen/src/Core/DenseStorage.h \
+  Eigen/src/Core/arch/SSE/Complex.h \
+  Eigen/src/Core/arch/SSE/PacketMath.h \
+  Eigen/src/Core/arch/SSE/MathFunctions.h \
+  Eigen/src/Core/arch/NEON/Complex.h \
+  Eigen/src/Core/arch/NEON/PacketMath.h \
+  Eigen/src/Core/arch/AltiVec/Complex.h \
+  Eigen/src/Core/arch/AltiVec/PacketMath.h \
+  Eigen/src/Core/arch/Default/Settings.h \
+  Eigen/src/Core/Redux.h \
+  Eigen/src/Core/Assign_MKL.h \
+  Eigen/src/Core/Transpose.h \
+  Eigen/src/Core/Transpositions.h \
+  Eigen/src/Core/ArrayWrapper.h \
+  Eigen/src/Core/PlainObjectBase.h \
+  Eigen/src/Core/GlobalFunctions.h \
+  Eigen/src/Core/CwiseUnaryOp.h \
+  Eigen/src/Core/TriangularMatrix.h \
+  Eigen/src/Core/VectorBlock.h \
+  Eigen/src/Core/util/MKL_support.h \
+  Eigen/src/Core/util/Constants.h \
+  Eigen/src/Core/util/Macros.h \
+  Eigen/src/Core/util/Memory.h \
+  Eigen/src/Core/util/ForwardDeclarations.h \
+  Eigen/src/Core/util/XprHelper.h \
+  Eigen/src/Core/util/ReenableStupidWarnings.h \
+  Eigen/src/Core/util/BlasUtil.h \
+  Eigen/src/Core/util/Meta.h \
+  Eigen/src/Core/util/StaticAssert.h \
+  Eigen/src/Core/util/DisableStupidWarnings.h \
+  Eigen/src/Core/util/NonMPL2.h \
+  Eigen/src/Core/Replicate.h \
+  Eigen/src/Core/Stride.h \
+  Eigen/src/Core/Flagged.h \
+  Eigen/src/Core/DiagonalProduct.h \
+  Eigen/src/Core/BooleanRedux.h \
+  Eigen/src/Core/CommaInitializer.h \
+  Eigen/src/Core/Random.h \
+  Eigen/src/Core/DiagonalMatrix.h \
+  Eigen/src/Core/SolveTriangular.h \
+  Eigen/src/Core/Ref.h \
+  Eigen/src/Core/EigenBase.h \
+  Eigen/src/Core/MatrixBase.h \
+  Eigen/src/Core/SelfCwiseBinaryOp.h \
+  Eigen/src/Core/Diagonal.h \
+  Eigen/src/Core/DenseBase.h \
+  Eigen/src/Core/VectorwiseOp.h \
+  Eigen/src/Core/MathFunctions.h \
+  Eigen/src/Core/GeneralProduct.h \
+  Eigen/src/Core/Functors.h \
+  Eigen/src/Core/PermutationMatrix.h \
+  Eigen/src/Core/ProductBase.h \
+  Eigen/src/Core/Assign.h \
+  Eigen/src/Core/SelfAdjointView.h \
+  Eigen/src/Core/Fuzzy.h \
+  Eigen/src/Core/StableNorm.h \
+  Eigen/src/Core/Array.h \
+  Eigen/src/Core/Visitor.h \
+  Eigen/src/Core/GenericPacketMath.h \
+  Eigen/src/Core/ArrayBase.h \
+  Eigen/src/Core/Matrix.h \
+  Eigen/src/Core/Select.h \
+  Eigen/src/Core/DenseCoeffsBase.h \
+  Eigen/src/SuperLUSupport/SuperLUSupport.h \
+  Eigen/src/CholmodSupport/CholmodSupport.h \
+  Eigen/src/PaStiXSupport/PaStiXSupport.h \
+  Eigen/src/StlSupport/StdVector.h \
+  Eigen/src/StlSupport/StdList.h \
+  Eigen/src/StlSupport/details.h \
+  Eigen/src/StlSupport/StdDeque.h \
+  Eigen/src/Cholesky/LDLT.h \
+  Eigen/src/Cholesky/LLT_MKL.h \
+  Eigen/src/Cholesky/LLT.h \
+  Eigen/src/Eigen2Support/Macros.h \
+  Eigen/src/Eigen2Support/Memory.h \
+  Eigen/src/Eigen2Support/Block.h \
+  Eigen/src/Eigen2Support/LeastSquares.h \
+  Eigen/src/Eigen2Support/Cwise.h \
+  Eigen/src/Eigen2Support/QR.h \
+  Eigen/src/Eigen2Support/Geometry/Transform.h \
+  Eigen/src/Eigen2Support/Geometry/RotationBase.h \
+  Eigen/src/Eigen2Support/Geometry/Translation.h \
+  Eigen/src/Eigen2Support/Geometry/AngleAxis.h \
+  Eigen/src/Eigen2Support/Geometry/Quaternion.h \
+  Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h \
+  Eigen/src/Eigen2Support/Geometry/Hyperplane.h \
+  Eigen/src/Eigen2Support/Geometry/All.h \
+  Eigen/src/Eigen2Support/Geometry/AlignedBox.h \
+  Eigen/src/Eigen2Support/Geometry/Scaling.h \
+  Eigen/src/Eigen2Support/Geometry/Rotation2D.h \
+  Eigen/src/Eigen2Support/VectorBlock.h \
+  Eigen/src/Eigen2Support/CwiseOperators.h \
+  Eigen/src/Eigen2Support/TriangularSolver.h \
+  Eigen/src/Eigen2Support/Meta.h \
+  Eigen/src/Eigen2Support/SVD.h \
+  Eigen/src/Eigen2Support/LU.h \
+  Eigen/src/Eigen2Support/MathFunctions.h \
+  Eigen/src/Eigen2Support/Minor.h \
+  Eigen/src/Eigen2Support/Lazy.h \
+  Eigen/src/SparseLU/SparseLU_panel_bmod.h \
+  Eigen/src/SparseLU/SparseLU_Structs.h \
+  Eigen/src/SparseLU/SparseLU.h \
+  Eigen/src/SparseLU/SparseLU_column_dfs.h \
+  Eigen/src/SparseLU/SparseLUImpl.h \
+  Eigen/src/SparseLU/SparseLU_Utils.h \
+  Eigen/src/SparseLU/SparseLU_copy_to_ucol.h \
+  Eigen/src/SparseLU/SparseLU_column_bmod.h \
+  Eigen/src/SparseLU/SparseLU_pruneL.h \
+  Eigen/src/SparseLU/SparseLU_gemm_kernel.h \
+  Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h \
+  Eigen/src/SparseLU/SparseLU_pivotL.h \
+  Eigen/src/SparseLU/SparseLU_relax_snode.h \
+  Eigen/src/SparseLU/SparseLU_heap_relax_snode.h \
+  Eigen/src/SparseLU/SparseLU_kernel_bmod.h \
+  Eigen/src/SparseLU/SparseLU_Memory.h \
+  Eigen/src/SparseLU/SparseLU_panel_dfs.h \
+  Eigen/src/SparseCore/ConservativeSparseSparseProduct.h \
+  Eigen/src/SparseCore/SparseFuzzy.h \
+  Eigen/src/SparseCore/MappedSparseMatrix.h \
+  Eigen/src/SparseCore/SparseColEtree.h \
+  Eigen/src/SparseCore/SparseRedux.h \
+  Eigen/src/SparseCore/SparseView.h \
+  Eigen/src/SparseCore/CompressedStorage.h \
+  Eigen/src/SparseCore/SparseDiagonalProduct.h \
+  Eigen/src/SparseCore/SparseTranspose.h \
+  Eigen/src/SparseCore/SparseMatrix.h \
+  Eigen/src/SparseCore/SparseCwiseUnaryOp.h \
+  Eigen/src/SparseCore/SparseProduct.h \
+  Eigen/src/SparseCore/SparseVector.h \
+  Eigen/src/SparseCore/SparseUtil.h \
+  Eigen/src/SparseCore/SparseBlock.h \
+  Eigen/src/SparseCore/AmbiVector.h \
+  Eigen/src/SparseCore/TriangularSolver.h \
+  Eigen/src/SparseCore/SparsePermutation.h \
+  Eigen/src/SparseCore/SparseCwiseBinaryOp.h \
+  Eigen/src/SparseCore/SparseMatrixBase.h \
+  Eigen/src/SparseCore/SparseSelfAdjointView.h \
+  Eigen/src/SparseCore/SparseDot.h \
+  Eigen/src/SparseCore/SparseTriangularView.h \
+  Eigen/src/SparseCore/SparseDenseProduct.h \
+  Eigen/src/SparseCore/SparseSparseProductWithPruning.h \
+  Eigen/src/UmfPackSupport/UmfPackSupport.h \
+  Eigen/src/misc/Solve.h \
+  Eigen/src/misc/blas.h \
+  Eigen/src/misc/SparseSolve.h \
+  Eigen/src/misc/Kernel.h \
+  Eigen/src/misc/Image.h \
+  Eigen/src/SPQRSupport/SuiteSparseQRSupport.h \
+  Eigen/src/SparseCholesky/SimplicialCholesky.h \
+  Eigen/src/SparseCholesky/SimplicialCholesky_impl.h \
+  Eigen/src/Geometry/EulerAngles.h \
+  Eigen/src/Geometry/Transform.h \
+  Eigen/src/Geometry/RotationBase.h \
+  Eigen/src/Geometry/Translation.h \
+  Eigen/src/Geometry/AngleAxis.h \
+  Eigen/src/Geometry/arch/Geometry_SSE.h \
+  Eigen/src/Geometry/Quaternion.h \
+  Eigen/src/Geometry/ParametrizedLine.h \
+  Eigen/src/Geometry/Hyperplane.h \
+  Eigen/src/Geometry/OrthoMethods.h \
+  Eigen/src/Geometry/AlignedBox.h \
+  Eigen/src/Geometry/Scaling.h \
+  Eigen/src/Geometry/Homogeneous.h \
+  Eigen/src/Geometry/Umeyama.h \
+  Eigen/src/Geometry/Rotation2D.h \
+  Eigen/src/OrderingMethods/Amd.h \
+  Eigen/src/OrderingMethods/Eigen_Colamd.h \
+  Eigen/src/OrderingMethods/Ordering.h \
+  Eigen/src/SparseQR/SparseQR.h \
+  Eigen/src/MetisSupport/MetisSupport.h \
+  Eigen/src/IterativeLinearSolvers/BiCGSTAB.h \
+  Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h \
+  Eigen/src/IterativeLinearSolvers/IncompleteLUT.h \
+  Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h \
+  Eigen/src/IterativeLinearSolvers/ConjugateGradient.h \
+  Eigen/src/plugins/MatrixCwiseBinaryOps.h \
+  Eigen/src/plugins/CommonCwiseUnaryOps.h \
+  Eigen/src/plugins/ArrayCwiseUnaryOps.h \
+  Eigen/src/plugins/CommonCwiseBinaryOps.h \
+  Eigen/src/plugins/MatrixCwiseUnaryOps.h \
+  Eigen/src/plugins/ArrayCwiseBinaryOps.h \
+  Eigen/src/plugins/BlockMethods.h \
+  Eigen/src/LU/Inverse.h \
+  Eigen/src/LU/arch/Inverse_SSE.h \
+  Eigen/src/LU/PartialPivLU.h \
+  Eigen/src/LU/FullPivLU.h \
+  Eigen/src/LU/PartialPivLU_MKL.h \
+  Eigen/src/LU/Determinant.h \
+  Eigen/src/PardisoSupport/PardisoSupport.h \
+  Eigen/src/Eigenvalues/EigenSolver.h \
+  Eigen/src/Eigenvalues/RealSchur_MKL.h \
+  Eigen/src/Eigenvalues/Tridiagonalization.h \
+  Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h \
+  Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h \
+  Eigen/src/Eigenvalues/ComplexSchur.h \
+  Eigen/src/Eigenvalues/RealSchur.h \
+  Eigen/src/Eigenvalues/GeneralizedEigenSolver.h \
+  Eigen/src/Eigenvalues/RealQZ.h \
+  Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h \
+  Eigen/src/Eigenvalues/ComplexSchur_MKL.h \
+  Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h \
+  Eigen/src/Eigenvalues/HessenbergDecomposition.h \
+  Eigen/src/Eigenvalues/ComplexEigenSolver.h \
+  Eigen/src/QR/HouseholderQR_MKL.h \
+  Eigen/src/QR/FullPivHouseholderQR.h \
+  Eigen/src/QR/ColPivHouseholderQR.h \
+  Eigen/src/QR/ColPivHouseholderQR_MKL.h \
+  Eigen/src/QR/HouseholderQR.h \
+  Eigen/src/SVD/JacobiSVD_MKL.h \
+  Eigen/src/SVD/UpperBidiagonalization.h \
+  Eigen/src/SVD/JacobiSVD.h \
+  Eigen/src/Jacobi/Jacobi.h \
+  Eigen/SVD \
+  Eigen/Jacobi
diff --git a/lib/Eigen/Array b/lib/Eigen/Array
deleted file mode 100644
index 3d004fb6..00000000
--- a/lib/Eigen/Array
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef EIGEN_ARRAY_MODULE_H
-#define EIGEN_ARRAY_MODULE_H
-
-// include Core first to handle Eigen2 support macros
-#include "Core"
-
-#ifndef EIGEN2_SUPPORT
-  #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.
-#endif
-
-#endif // EIGEN_ARRAY_MODULE_H
diff --git a/lib/Eigen/CMakeLists.txt b/lib/Eigen/CMakeLists.txt
deleted file mode 100644
index a92dd6f6..00000000
--- a/lib/Eigen/CMakeLists.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-include(RegexUtils)
-test_escape_string_as_regex()
-
-file(GLOB Eigen_directory_files "*")
-
-escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
-
-foreach(f ${Eigen_directory_files})
-  if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/src")
-    list(APPEND Eigen_directory_files_to_install ${f})
-  endif()
-endforeach(f ${Eigen_directory_files})
-
-install(FILES
-  ${Eigen_directory_files_to_install}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel
-  )
-
-add_subdirectory(src)
diff --git a/lib/Eigen/Cholesky b/lib/Eigen/Cholesky
deleted file mode 100644
index f727f5d8..00000000
--- a/lib/Eigen/Cholesky
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef EIGEN_CHOLESKY_MODULE_H
-#define EIGEN_CHOLESKY_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup Cholesky_Module Cholesky module
-  *
-  *
-  *
-  * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices.
-  * Those decompositions are accessible via the following MatrixBase methods:
-  *  - MatrixBase::llt(),
-  *  - MatrixBase::ldlt()
-  *
-  * \code
-  * #include <Eigen/Cholesky>
-  * \endcode
-  */
-
-#include "src/misc/Solve.h"
-#include "src/Cholesky/LLT.h"
-#include "src/Cholesky/LDLT.h"
-#ifdef EIGEN_USE_LAPACKE
-#include "src/Cholesky/LLT_MKL.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_CHOLESKY_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/lib/Eigen/CholmodSupport b/lib/Eigen/CholmodSupport
deleted file mode 100644
index 88c29a64..00000000
--- a/lib/Eigen/CholmodSupport
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef EIGEN_CHOLMODSUPPORT_MODULE_H
-#define EIGEN_CHOLMODSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-extern "C" {
-  #include <cholmod.h>
-}
-
-/** \ingroup Support_modules
-  * \defgroup CholmodSupport_Module CholmodSupport module
-  *
-  * This module provides an interface to the Cholmod library which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package.
-  * It provides the two following main factorization classes:
-  * - class CholmodSupernodalLLT: a supernodal LLT Cholesky factorization.
-  * - class CholmodDecomposiiton: a general L(D)LT Cholesky factorization with automatic or explicit runtime selection of the underlying factorization method (supernodal or simplicial).
-  *
-  * For the sake of completeness, this module also propose the two following classes:
-  * - class CholmodSimplicialLLT
-  * - class CholmodSimplicialLDLT
-  * Note that these classes does not bring any particular advantage compared to the built-in
-  * SimplicialLLT and SimplicialLDLT factorization classes.
-  *
-  * \code
-  * #include <Eigen/CholmodSupport>
-  * \endcode
-  *
-  * In order to use this module, the cholmod headers must be accessible from the include paths, and your binary must be linked to the cholmod library and its dependencies.
-  * The dependencies depend on how cholmod has been compiled.
-  * For a cmake based project, you can use our FindCholmod.cmake module to help you in this task.
-  *
-  */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-#include "src/CholmodSupport/CholmodSupport.h"
-
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_CHOLMODSUPPORT_MODULE_H
-
diff --git a/lib/Eigen/Core b/lib/Eigen/Core
deleted file mode 100644
index 509c529e..00000000
--- a/lib/Eigen/Core
+++ /dev/null
@@ -1,376 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2007-2011 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CORE_H
-#define EIGEN_CORE_H
-
-// first thing Eigen does: stop the compiler from committing suicide
-#include "src/Core/util/DisableStupidWarnings.h"
-
-// then include this file where all our macros are defined. It's really important to do it first because
-// it's where we do all the alignment settings (platform detection and honoring the user's will if he
-// defined e.g. EIGEN_DONT_ALIGN) so it needs to be done before we do anything with vectorization.
-#include "src/Core/util/Macros.h"
-
-// Disable the ipa-cp-clone optimization flag with MinGW 6.x or newer (enabled by default with -O3)
-// See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556 for details.
-#if defined(__MINGW32__) && EIGEN_GNUC_AT_LEAST(4,6)
-  #pragma GCC optimize ("-fno-ipa-cp-clone")
-#endif
-
-#include <complex>
-
-// this include file manages BLAS and MKL related macros
-// and inclusion of their respective header files
-#include "src/Core/util/MKL_support.h"
-
-// if alignment is disabled, then disable vectorization. Note: EIGEN_ALIGN is the proper check, it takes into
-// account both the user's will (EIGEN_DONT_ALIGN) and our own platform checks
-#if !EIGEN_ALIGN
-  #ifndef EIGEN_DONT_VECTORIZE
-    #define EIGEN_DONT_VECTORIZE
-  #endif
-#endif
-
-#ifdef _MSC_VER
-  #include <malloc.h> // for _aligned_malloc -- need it regardless of whether vectorization is enabled
-  #if (_MSC_VER >= 1500) // 2008 or later
-    // Remember that usage of defined() in a #define is undefined by the standard.
-    // a user reported that in 64-bit mode, MSVC doesn't care to define _M_IX86_FP.
-    #if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || defined(_M_X64)
-      #define EIGEN_SSE2_ON_MSVC_2008_OR_LATER
-    #endif
-  #endif
-#else
-  // Remember that usage of defined() in a #define is undefined by the standard
-  #if (defined __SSE2__) && ( (!defined __GNUC__) || (defined __INTEL_COMPILER) || EIGEN_GNUC_AT_LEAST(4,2) )
-    #define EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC
-  #endif
-#endif
-
-#ifndef EIGEN_DONT_VECTORIZE
-
-  #if defined (EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC) || defined(EIGEN_SSE2_ON_MSVC_2008_OR_LATER)
-
-    // Defines symbols for compile-time detection of which instructions are
-    // used.
-    // EIGEN_VECTORIZE_YY is defined if and only if the instruction set YY is used
-    #define EIGEN_VECTORIZE
-    #define EIGEN_VECTORIZE_SSE
-    #define EIGEN_VECTORIZE_SSE2
-
-    // Detect sse3/ssse3/sse4:
-    // gcc and icc defines __SSE3__, ...
-    // there is no way to know about this on msvc. You can define EIGEN_VECTORIZE_SSE* if you
-    // want to force the use of those instructions with msvc.
-    #ifdef __SSE3__
-      #define EIGEN_VECTORIZE_SSE3
-    #endif
-    #ifdef __SSSE3__
-      #define EIGEN_VECTORIZE_SSSE3
-    #endif
-    #ifdef __SSE4_1__
-      #define EIGEN_VECTORIZE_SSE4_1
-    #endif
-    #ifdef __SSE4_2__
-      #define EIGEN_VECTORIZE_SSE4_2
-    #endif
-
-    // include files
-
-    // This extern "C" works around a MINGW-w64 compilation issue
-    // https://sourceforge.net/tracker/index.php?func=detail&aid=3018394&group_id=202880&atid=983354
-    // In essence, intrin.h is included by windows.h and also declares intrinsics (just as emmintrin.h etc. below do).
-    // However, intrin.h uses an extern "C" declaration, and g++ thus complains of duplicate declarations
-    // with conflicting linkage.  The linkage for intrinsics doesn't matter, but at that stage the compiler doesn't know;
-    // so, to avoid compile errors when windows.h is included after Eigen/Core, ensure intrinsics are extern "C" here too.
-    // notice that since these are C headers, the extern "C" is theoretically needed anyways.
-    extern "C" {
-      // In theory we should only include immintrin.h and not the other *mmintrin.h header files directly.
-      // Doing so triggers some issues with ICC. However old gcc versions seems to not have this file, thus:
-      #if defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1110
-        #include <immintrin.h>
-      #else
-        #include <emmintrin.h>
-        #include <xmmintrin.h>
-        #ifdef  EIGEN_VECTORIZE_SSE3
-        #include <pmmintrin.h>
-        #endif
-        #ifdef EIGEN_VECTORIZE_SSSE3
-        #include <tmmintrin.h>
-        #endif
-        #ifdef EIGEN_VECTORIZE_SSE4_1
-        #include <smmintrin.h>
-        #endif
-        #ifdef EIGEN_VECTORIZE_SSE4_2
-        #include <nmmintrin.h>
-        #endif
-      #endif
-    } // end extern "C"
-  #elif defined __ALTIVEC__
-    #define EIGEN_VECTORIZE
-    #define EIGEN_VECTORIZE_ALTIVEC
-    #include <altivec.h>
-    // We need to #undef all these ugly tokens defined in <altivec.h>
-    // => use __vector instead of vector
-    #undef bool
-    #undef vector
-    #undef pixel
-  #elif defined  __ARM_NEON
-    #define EIGEN_VECTORIZE
-    #define EIGEN_VECTORIZE_NEON
-    #include <arm_neon.h>
-  #endif
-#endif
-
-#if (defined _OPENMP) && (!defined EIGEN_DONT_PARALLELIZE)
-  #define EIGEN_HAS_OPENMP
-#endif
-
-#ifdef EIGEN_HAS_OPENMP
-#include <omp.h>
-#endif
-
-// MSVC for windows mobile does not have the errno.h file
-#if !(defined(_MSC_VER) && defined(_WIN32_WCE)) && !defined(__ARMCC_VERSION)
-#define EIGEN_HAS_ERRNO
-#endif
-
-#ifdef EIGEN_HAS_ERRNO
-#include <cerrno>
-#endif
-#include <cstddef>
-#include <cstdlib>
-#include <cmath>
-#include <cassert>
-#include <functional>
-#include <iosfwd>
-#include <cstring>
-#include <string>
-#include <limits>
-#include <climits> // for CHAR_BIT
-// for min/max:
-#include <algorithm>
-
-// for outputting debug info
-#ifdef EIGEN_DEBUG_ASSIGN
-#include <iostream>
-#endif
-
-// required for __cpuid, needs to be included after cmath
-#if defined(_MSC_VER) && (defined(_M_IX86)||defined(_M_X64)) && (!defined(_WIN32_WCE))
-  #include <intrin.h>
-#endif
-
-#if defined(_CPPUNWIND) || defined(__EXCEPTIONS)
-  #define EIGEN_EXCEPTIONS
-#endif
-
-#ifdef EIGEN_EXCEPTIONS
-  #include <new>
-#endif
-
-/** \brief Namespace containing all symbols from the %Eigen library. */
-namespace Eigen {
-
-inline static const char *SimdInstructionSetsInUse(void) {
-#if defined(EIGEN_VECTORIZE_SSE4_2)
-  return "SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2";
-#elif defined(EIGEN_VECTORIZE_SSE4_1)
-  return "SSE, SSE2, SSE3, SSSE3, SSE4.1";
-#elif defined(EIGEN_VECTORIZE_SSSE3)
-  return "SSE, SSE2, SSE3, SSSE3";
-#elif defined(EIGEN_VECTORIZE_SSE3)
-  return "SSE, SSE2, SSE3";
-#elif defined(EIGEN_VECTORIZE_SSE2)
-  return "SSE, SSE2";
-#elif defined(EIGEN_VECTORIZE_ALTIVEC)
-  return "AltiVec";
-#elif defined(EIGEN_VECTORIZE_NEON)
-  return "ARM NEON";
-#else
-  return "None";
-#endif
-}
-
-} // end namespace Eigen
-
-#define STAGE10_FULL_EIGEN2_API             10
-#define STAGE20_RESOLVE_API_CONFLICTS       20
-#define STAGE30_FULL_EIGEN3_API             30
-#define STAGE40_FULL_EIGEN3_STRICTNESS      40
-#define STAGE99_NO_EIGEN2_SUPPORT           99
-
-#if   defined EIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS
-  #define EIGEN2_SUPPORT
-  #define EIGEN2_SUPPORT_STAGE STAGE40_FULL_EIGEN3_STRICTNESS
-#elif defined EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API
-  #define EIGEN2_SUPPORT
-  #define EIGEN2_SUPPORT_STAGE STAGE30_FULL_EIGEN3_API
-#elif defined EIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS
-  #define EIGEN2_SUPPORT
-  #define EIGEN2_SUPPORT_STAGE STAGE20_RESOLVE_API_CONFLICTS
-#elif defined EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API
-  #define EIGEN2_SUPPORT
-  #define EIGEN2_SUPPORT_STAGE STAGE10_FULL_EIGEN2_API
-#elif defined EIGEN2_SUPPORT
-  // default to stage 3, that's what it's always meant
-  #define EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API
-  #define EIGEN2_SUPPORT_STAGE STAGE30_FULL_EIGEN3_API
-#else
-  #define EIGEN2_SUPPORT_STAGE STAGE99_NO_EIGEN2_SUPPORT
-#endif
-
-#ifdef EIGEN2_SUPPORT
-#undef minor
-#endif
-
-// we use size_t frequently and we'll never remember to prepend it with std:: everytime just to
-// ensure QNX/QCC support
-using std::size_t;
-// gcc 4.6.0 wants std:: for ptrdiff_t 
-using std::ptrdiff_t;
-
-/** \defgroup Core_Module Core module
-  * This is the main module of Eigen providing dense matrix and vector support
-  * (both fixed and dynamic size) with all the features corresponding to a BLAS library
-  * and much more...
-  *
-  * \code
-  * #include <Eigen/Core>
-  * \endcode
-  */
-
-#include "src/Core/util/Constants.h"
-#include "src/Core/util/ForwardDeclarations.h"
-#include "src/Core/util/Meta.h"
-#include "src/Core/util/StaticAssert.h"
-#include "src/Core/util/XprHelper.h"
-#include "src/Core/util/Memory.h"
-
-#include "src/Core/NumTraits.h"
-#include "src/Core/MathFunctions.h"
-#include "src/Core/GenericPacketMath.h"
-
-#if defined EIGEN_VECTORIZE_SSE
-  #include "src/Core/arch/SSE/PacketMath.h"
-  #include "src/Core/arch/SSE/MathFunctions.h"
-  #include "src/Core/arch/SSE/Complex.h"
-#elif defined EIGEN_VECTORIZE_ALTIVEC
-  #include "src/Core/arch/AltiVec/PacketMath.h"
-  #include "src/Core/arch/AltiVec/Complex.h"
-#elif defined EIGEN_VECTORIZE_NEON
-  #include "src/Core/arch/NEON/PacketMath.h"
-  #include "src/Core/arch/NEON/Complex.h"
-#endif
-
-#include "src/Core/arch/Default/Settings.h"
-
-#include "src/Core/Functors.h"
-#include "src/Core/DenseCoeffsBase.h"
-#include "src/Core/DenseBase.h"
-#include "src/Core/MatrixBase.h"
-#include "src/Core/EigenBase.h"
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN // work around Doxygen bug triggered by Assign.h r814874
-                                // at least confirmed with Doxygen 1.5.5 and 1.5.6
-  #include "src/Core/Assign.h"
-#endif
-
-#include "src/Core/util/BlasUtil.h"
-#include "src/Core/DenseStorage.h"
-#include "src/Core/NestByValue.h"
-#include "src/Core/ForceAlignedAccess.h"
-#include "src/Core/ReturnByValue.h"
-#include "src/Core/NoAlias.h"
-#include "src/Core/PlainObjectBase.h"
-#include "src/Core/Matrix.h"
-#include "src/Core/Array.h"
-#include "src/Core/CwiseBinaryOp.h"
-#include "src/Core/CwiseUnaryOp.h"
-#include "src/Core/CwiseNullaryOp.h"
-#include "src/Core/CwiseUnaryView.h"
-#include "src/Core/SelfCwiseBinaryOp.h"
-#include "src/Core/Dot.h"
-#include "src/Core/StableNorm.h"
-#include "src/Core/MapBase.h"
-#include "src/Core/Stride.h"
-#include "src/Core/Map.h"
-#include "src/Core/Block.h"
-#include "src/Core/VectorBlock.h"
-#include "src/Core/Ref.h"
-#include "src/Core/Transpose.h"
-#include "src/Core/DiagonalMatrix.h"
-#include "src/Core/Diagonal.h"
-#include "src/Core/DiagonalProduct.h"
-#include "src/Core/PermutationMatrix.h"
-#include "src/Core/Transpositions.h"
-#include "src/Core/Redux.h"
-#include "src/Core/Visitor.h"
-#include "src/Core/Fuzzy.h"
-#include "src/Core/IO.h"
-#include "src/Core/Swap.h"
-#include "src/Core/CommaInitializer.h"
-#include "src/Core/Flagged.h"
-#include "src/Core/ProductBase.h"
-#include "src/Core/GeneralProduct.h"
-#include "src/Core/TriangularMatrix.h"
-#include "src/Core/SelfAdjointView.h"
-#include "src/Core/products/GeneralBlockPanelKernel.h"
-#include "src/Core/products/Parallelizer.h"
-#include "src/Core/products/CoeffBasedProduct.h"
-#include "src/Core/products/GeneralMatrixVector.h"
-#include "src/Core/products/GeneralMatrixMatrix.h"
-#include "src/Core/SolveTriangular.h"
-#include "src/Core/products/GeneralMatrixMatrixTriangular.h"
-#include "src/Core/products/SelfadjointMatrixVector.h"
-#include "src/Core/products/SelfadjointMatrixMatrix.h"
-#include "src/Core/products/SelfadjointProduct.h"
-#include "src/Core/products/SelfadjointRank2Update.h"
-#include "src/Core/products/TriangularMatrixVector.h"
-#include "src/Core/products/TriangularMatrixMatrix.h"
-#include "src/Core/products/TriangularSolverMatrix.h"
-#include "src/Core/products/TriangularSolverVector.h"
-#include "src/Core/BandMatrix.h"
-#include "src/Core/CoreIterators.h"
-
-#include "src/Core/BooleanRedux.h"
-#include "src/Core/Select.h"
-#include "src/Core/VectorwiseOp.h"
-#include "src/Core/Random.h"
-#include "src/Core/Replicate.h"
-#include "src/Core/Reverse.h"
-#include "src/Core/ArrayBase.h"
-#include "src/Core/ArrayWrapper.h"
-
-#ifdef EIGEN_USE_BLAS
-#include "src/Core/products/GeneralMatrixMatrix_MKL.h"
-#include "src/Core/products/GeneralMatrixVector_MKL.h"
-#include "src/Core/products/GeneralMatrixMatrixTriangular_MKL.h"
-#include "src/Core/products/SelfadjointMatrixMatrix_MKL.h"
-#include "src/Core/products/SelfadjointMatrixVector_MKL.h"
-#include "src/Core/products/TriangularMatrixMatrix_MKL.h"
-#include "src/Core/products/TriangularMatrixVector_MKL.h"
-#include "src/Core/products/TriangularSolverMatrix_MKL.h"
-#endif // EIGEN_USE_BLAS
-
-#ifdef EIGEN_USE_MKL_VML
-#include "src/Core/Assign_MKL.h"
-#endif
-
-#include "src/Core/GlobalFunctions.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#ifdef EIGEN2_SUPPORT
-#include "Eigen2Support"
-#endif
-
-#endif // EIGEN_CORE_H
diff --git a/lib/Eigen/Dense b/lib/Eigen/Dense
deleted file mode 100644
index 5768910b..00000000
--- a/lib/Eigen/Dense
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "Core"
-#include "LU"
-#include "Cholesky"
-#include "QR"
-#include "SVD"
-#include "Geometry"
-#include "Eigenvalues"
diff --git a/lib/Eigen/Eigen b/lib/Eigen/Eigen
deleted file mode 100644
index 19b40ea4..00000000
--- a/lib/Eigen/Eigen
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "Dense"
-//#include "Sparse"
diff --git a/lib/Eigen/Eigen2Support b/lib/Eigen/Eigen2Support
deleted file mode 100644
index 6aa009d2..00000000
--- a/lib/Eigen/Eigen2Support
+++ /dev/null
@@ -1,95 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2SUPPORT_H
-#define EIGEN2SUPPORT_H
-
-#if (!defined(EIGEN2_SUPPORT)) || (!defined(EIGEN_CORE_H))
-#error Eigen2 support must be enabled by defining EIGEN2_SUPPORT before including any Eigen header
-#endif
-
-#ifndef EIGEN_NO_EIGEN2_DEPRECATED_WARNING
-
-#if defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__clang__)
-#warning "Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)"
-#else
-#pragma message ("Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)")
-#endif
-
-#endif // EIGEN_NO_EIGEN2_DEPRECATED_WARNING
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \ingroup Support_modules
-  * \defgroup Eigen2Support_Module Eigen2 support module
-  *
-  * \warning Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3.
-  *
-  * This module provides a couple of deprecated functions improving the compatibility with Eigen2.
-  * 
-  * To use it, define EIGEN2_SUPPORT before including any Eigen header
-  * \code
-  * #define EIGEN2_SUPPORT
-  * \endcode
-  *
-  */
-
-#include "src/Eigen2Support/Macros.h"
-#include "src/Eigen2Support/Memory.h"
-#include "src/Eigen2Support/Meta.h"
-#include "src/Eigen2Support/Lazy.h"
-#include "src/Eigen2Support/Cwise.h"
-#include "src/Eigen2Support/CwiseOperators.h"
-#include "src/Eigen2Support/TriangularSolver.h"
-#include "src/Eigen2Support/Block.h"
-#include "src/Eigen2Support/VectorBlock.h"
-#include "src/Eigen2Support/Minor.h"
-#include "src/Eigen2Support/MathFunctions.h"
-
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-// Eigen2 used to include iostream
-#include<iostream>
-
-#define EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, SizeSuffix) \
-using Eigen::Matrix##SizeSuffix##TypeSuffix; \
-using Eigen::Vector##SizeSuffix##TypeSuffix; \
-using Eigen::RowVector##SizeSuffix##TypeSuffix;
-
-#define EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(TypeSuffix) \
-EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 2) \
-EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 3) \
-EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 4) \
-EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, X) \
-
-#define EIGEN_USING_MATRIX_TYPEDEFS \
-EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(i) \
-EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(f) \
-EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(d) \
-EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(cf) \
-EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(cd)
-
-#define USING_PART_OF_NAMESPACE_EIGEN \
-EIGEN_USING_MATRIX_TYPEDEFS \
-using Eigen::Matrix; \
-using Eigen::MatrixBase; \
-using Eigen::ei_random; \
-using Eigen::ei_real; \
-using Eigen::ei_imag; \
-using Eigen::ei_conj; \
-using Eigen::ei_abs; \
-using Eigen::ei_abs2; \
-using Eigen::ei_sqrt; \
-using Eigen::ei_exp; \
-using Eigen::ei_log; \
-using Eigen::ei_sin; \
-using Eigen::ei_cos;
-
-#endif // EIGEN2SUPPORT_H
diff --git a/lib/Eigen/Eigenvalues b/lib/Eigen/Eigenvalues
deleted file mode 100644
index 53c5a73a..00000000
--- a/lib/Eigen/Eigenvalues
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef EIGEN_EIGENVALUES_MODULE_H
-#define EIGEN_EIGENVALUES_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "Cholesky"
-#include "Jacobi"
-#include "Householder"
-#include "LU"
-#include "Geometry"
-
-/** \defgroup Eigenvalues_Module Eigenvalues module
-  *
-  *
-  *
-  * This module mainly provides various eigenvalue solvers.
-  * This module also provides some MatrixBase methods, including:
-  *  - MatrixBase::eigenvalues(),
-  *  - MatrixBase::operatorNorm()
-  *
-  * \code
-  * #include <Eigen/Eigenvalues>
-  * \endcode
-  */
-
-#include "src/Eigenvalues/Tridiagonalization.h"
-#include "src/Eigenvalues/RealSchur.h"
-#include "src/Eigenvalues/EigenSolver.h"
-#include "src/Eigenvalues/SelfAdjointEigenSolver.h"
-#include "src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h"
-#include "src/Eigenvalues/HessenbergDecomposition.h"
-#include "src/Eigenvalues/ComplexSchur.h"
-#include "src/Eigenvalues/ComplexEigenSolver.h"
-#include "src/Eigenvalues/RealQZ.h"
-#include "src/Eigenvalues/GeneralizedEigenSolver.h"
-#include "src/Eigenvalues/MatrixBaseEigenvalues.h"
-#ifdef EIGEN_USE_LAPACKE
-#include "src/Eigenvalues/RealSchur_MKL.h"
-#include "src/Eigenvalues/ComplexSchur_MKL.h"
-#include "src/Eigenvalues/SelfAdjointEigenSolver_MKL.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_EIGENVALUES_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/lib/Eigen/Geometry b/lib/Eigen/Geometry
deleted file mode 100644
index efd9d450..00000000
--- a/lib/Eigen/Geometry
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef EIGEN_GEOMETRY_MODULE_H
-#define EIGEN_GEOMETRY_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "SVD"
-#include "LU"
-#include <limits>
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-/** \defgroup Geometry_Module Geometry module
-  *
-  *
-  *
-  * This module provides support for:
-  *  - fixed-size homogeneous transformations
-  *  - translation, scaling, 2D and 3D rotations
-  *  - quaternions
-  *  - \ref MatrixBase::cross() "cross product"
-  *  - \ref MatrixBase::unitOrthogonal() "orthognal vector generation"
-  *  - some linear components: parametrized-lines and hyperplanes
-  *
-  * \code
-  * #include <Eigen/Geometry>
-  * \endcode
-  */
-
-#include "src/Geometry/OrthoMethods.h"
-#include "src/Geometry/EulerAngles.h"
-
-#if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
-  #include "src/Geometry/Homogeneous.h"
-  #include "src/Geometry/RotationBase.h"
-  #include "src/Geometry/Rotation2D.h"
-  #include "src/Geometry/Quaternion.h"
-  #include "src/Geometry/AngleAxis.h"
-  #include "src/Geometry/Transform.h"
-  #include "src/Geometry/Translation.h"
-  #include "src/Geometry/Scaling.h"
-  #include "src/Geometry/Hyperplane.h"
-  #include "src/Geometry/ParametrizedLine.h"
-  #include "src/Geometry/AlignedBox.h"
-  #include "src/Geometry/Umeyama.h"
-
-  #if defined EIGEN_VECTORIZE_SSE
-    #include "src/Geometry/arch/Geometry_SSE.h"
-  #endif
-#endif
-
-#ifdef EIGEN2_SUPPORT
-#include "src/Eigen2Support/Geometry/All.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_GEOMETRY_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
-
diff --git a/lib/Eigen/Householder b/lib/Eigen/Householder
deleted file mode 100644
index 6e348db5..00000000
--- a/lib/Eigen/Householder
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef EIGEN_HOUSEHOLDER_MODULE_H
-#define EIGEN_HOUSEHOLDER_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup Householder_Module Householder module
-  * This module provides Householder transformations.
-  *
-  * \code
-  * #include <Eigen/Householder>
-  * \endcode
-  */
-
-#include "src/Householder/Householder.h"
-#include "src/Householder/HouseholderSequence.h"
-#include "src/Householder/BlockHouseholder.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_HOUSEHOLDER_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/lib/Eigen/IterativeLinearSolvers b/lib/Eigen/IterativeLinearSolvers
deleted file mode 100644
index 0f4159dc..00000000
--- a/lib/Eigen/IterativeLinearSolvers
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
-#define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
-
-#include "SparseCore"
-#include "OrderingMethods"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** 
-  * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
-  *
-  * This module currently provides iterative methods to solve problems of the form \c A \c x = \c b, where \c A is a squared matrix, usually very large and sparse.
-  * Those solvers are accessible via the following classes:
-  *  - ConjugateGradient for selfadjoint (hermitian) matrices,
-  *  - BiCGSTAB for general square matrices.
-  *
-  * These iterative solvers are associated with some preconditioners:
-  *  - IdentityPreconditioner - not really useful
-  *  - DiagonalPreconditioner - also called JAcobi preconditioner, work very well on diagonal dominant matrices.
-  *  - IncompleteILUT - incomplete LU factorization with dual thresholding
-  *
-  * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
-  *
-  * \code
-  * #include <Eigen/IterativeLinearSolvers>
-  * \endcode
-  */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-#include "src/IterativeLinearSolvers/IterativeSolverBase.h"
-#include "src/IterativeLinearSolvers/BasicPreconditioners.h"
-#include "src/IterativeLinearSolvers/ConjugateGradient.h"
-#include "src/IterativeLinearSolvers/BiCGSTAB.h"
-#include "src/IterativeLinearSolvers/IncompleteLUT.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
diff --git a/lib/Eigen/Jacobi b/lib/Eigen/Jacobi
deleted file mode 100644
index ba8a4dc3..00000000
--- a/lib/Eigen/Jacobi
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef EIGEN_JACOBI_MODULE_H
-#define EIGEN_JACOBI_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup Jacobi_Module Jacobi module
-  * This module provides Jacobi and Givens rotations.
-  *
-  * \code
-  * #include <Eigen/Jacobi>
-  * \endcode
-  *
-  * In addition to listed classes, it defines the two following MatrixBase methods to apply a Jacobi or Givens rotation:
-  *  - MatrixBase::applyOnTheLeft()
-  *  - MatrixBase::applyOnTheRight().
-  */
-
-#include "src/Jacobi/Jacobi.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_JACOBI_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
-
diff --git a/lib/Eigen/LU b/lib/Eigen/LU
deleted file mode 100644
index db579550..00000000
--- a/lib/Eigen/LU
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef EIGEN_LU_MODULE_H
-#define EIGEN_LU_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup LU_Module LU module
-  * This module includes %LU decomposition and related notions such as matrix inversion and determinant.
-  * This module defines the following MatrixBase methods:
-  *  - MatrixBase::inverse()
-  *  - MatrixBase::determinant()
-  *
-  * \code
-  * #include <Eigen/LU>
-  * \endcode
-  */
-
-#include "src/misc/Solve.h"
-#include "src/misc/Kernel.h"
-#include "src/misc/Image.h"
-#include "src/LU/FullPivLU.h"
-#include "src/LU/PartialPivLU.h"
-#ifdef EIGEN_USE_LAPACKE
-#include "src/LU/PartialPivLU_MKL.h"
-#endif
-#include "src/LU/Determinant.h"
-#include "src/LU/Inverse.h"
-
-#if defined EIGEN_VECTORIZE_SSE
-  #include "src/LU/arch/Inverse_SSE.h"
-#endif
-
-#ifdef EIGEN2_SUPPORT
-  #include "src/Eigen2Support/LU.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_LU_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/lib/Eigen/LeastSquares b/lib/Eigen/LeastSquares
deleted file mode 100644
index 35137c25..00000000
--- a/lib/Eigen/LeastSquares
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef EIGEN_REGRESSION_MODULE_H
-#define EIGEN_REGRESSION_MODULE_H
-
-#ifndef EIGEN2_SUPPORT
-#error LeastSquares is only available in Eigen2 support mode (define EIGEN2_SUPPORT)
-#endif
-
-// exclude from normal eigen3-only documentation
-#ifdef EIGEN2_SUPPORT
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "Eigenvalues"
-#include "Geometry"
-
-/** \defgroup LeastSquares_Module LeastSquares module
-  * This module provides linear regression and related features.
-  *
-  * \code
-  * #include <Eigen/LeastSquares>
-  * \endcode
-  */
-
-#include "src/Eigen2Support/LeastSquares.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN2_SUPPORT
-
-#endif // EIGEN_REGRESSION_MODULE_H
diff --git a/lib/Eigen/MetisSupport b/lib/Eigen/MetisSupport
deleted file mode 100644
index 6a113f7a..00000000
--- a/lib/Eigen/MetisSupport
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef EIGEN_METISSUPPORT_MODULE_H
-#define EIGEN_METISSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-extern "C" {
-#include <metis.h>
-}
-
-
-/** \ingroup Support_modules
-  * \defgroup MetisSupport_Module MetisSupport module
-  *
-  * \code
-  * #include <Eigen/MetisSupport>
-  * \endcode
-  * This module defines an interface to the METIS reordering package (http://glaros.dtc.umn.edu/gkhome/views/metis). 
-  * It can be used just as any other built-in method as explained in \link OrderingMethods_Module here. \endlink
-  */
-
-
-#include "src/MetisSupport/MetisSupport.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_METISSUPPORT_MODULE_H
diff --git a/lib/Eigen/OrderingMethods b/lib/Eigen/OrderingMethods
deleted file mode 100644
index 7c0f1fff..00000000
--- a/lib/Eigen/OrderingMethods
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef EIGEN_ORDERINGMETHODS_MODULE_H
-#define EIGEN_ORDERINGMETHODS_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** 
-  * \defgroup OrderingMethods_Module OrderingMethods module
-  *
-  * This module is currently for internal use only
-  * 
-  * It defines various built-in and external ordering methods for sparse matrices. 
-  * They are typically used to reduce the number of elements during 
-  * the sparse matrix decomposition (LLT, LU, QR).
-  * Precisely, in a preprocessing step, a permutation matrix P is computed using 
-  * those ordering methods and applied to the columns of the matrix. 
-  * Using for instance the sparse Cholesky decomposition, it is expected that 
-  * the nonzeros elements in LLT(A*P) will be much smaller than that in LLT(A).
-  * 
-  * 
-  * Usage : 
-  * \code
-  * #include <Eigen/OrderingMethods>
-  * \endcode
-  * 
-  * A simple usage is as a template parameter in the sparse decomposition classes : 
-  * 
-  * \code 
-  * SparseLU<MatrixType, COLAMDOrdering<int> > solver;
-  * \endcode 
-  * 
-  * \code 
-  * SparseQR<MatrixType, COLAMDOrdering<int> > solver;
-  * \endcode
-  * 
-  * It is possible as well to call directly a particular ordering method for your own purpose, 
-  * \code 
-  * AMDOrdering<int> ordering;
-  * PermutationMatrix<Dynamic, Dynamic, int> perm;
-  * SparseMatrix<double> A; 
-  * //Fill the matrix ...
-  * 
-  * ordering(A, perm); // Call AMD
-  * \endcode
-  * 
-  * \note Some of these methods (like AMD or METIS), need the sparsity pattern 
-  * of the input matrix to be symmetric. When the matrix is structurally unsymmetric, 
-  * Eigen computes internally the pattern of \f$A^T*A\f$ before calling the method.
-  * If your matrix is already symmetric (at leat in structure), you can avoid that
-  * by calling the method with a SelfAdjointView type.
-  * 
-  * \code
-  *  // Call the ordering on the pattern of the lower triangular matrix A
-  * ordering(A.selfadjointView<Lower>(), perm);
-  * \endcode
-  */
-
-#ifndef EIGEN_MPL2_ONLY
-#include "src/OrderingMethods/Amd.h"
-#endif
-
-#include "src/OrderingMethods/Ordering.h"
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_ORDERINGMETHODS_MODULE_H
diff --git a/lib/Eigen/PaStiXSupport b/lib/Eigen/PaStiXSupport
deleted file mode 100644
index 7c616ee5..00000000
--- a/lib/Eigen/PaStiXSupport
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef EIGEN_PASTIXSUPPORT_MODULE_H
-#define EIGEN_PASTIXSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include <complex.h>
-extern "C" {
-#include <pastix_nompi.h>
-#include <pastix.h>
-}
-
-#ifdef complex
-#undef complex
-#endif
-
-/** \ingroup Support_modules
-  * \defgroup PaStiXSupport_Module PaStiXSupport module
-  * 
-  * This module provides an interface to the <a href="http://pastix.gforge.inria.fr/">PaSTiX</a> library.
-  * PaSTiX is a general \b supernodal, \b parallel and \b opensource sparse solver.
-  * It provides the two following main factorization classes:
-  * - class PastixLLT : a supernodal, parallel LLt Cholesky factorization.
-  * - class PastixLDLT: a supernodal, parallel LDLt Cholesky factorization.
-  * - class PastixLU : a supernodal, parallel LU factorization (optimized for a symmetric pattern).
-  * 
-  * \code
-  * #include <Eigen/PaStiXSupport>
-  * \endcode
-  *
-  * In order to use this module, the PaSTiX headers must be accessible from the include paths, and your binary must be linked to the PaSTiX library and its dependencies.
-  * The dependencies depend on how PaSTiX has been compiled.
-  * For a cmake based project, you can use our FindPaSTiX.cmake module to help you in this task.
-  *
-  */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-#include "src/PaStiXSupport/PaStiXSupport.h"
-
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_PASTIXSUPPORT_MODULE_H
diff --git a/lib/Eigen/PardisoSupport b/lib/Eigen/PardisoSupport
deleted file mode 100644
index 99330ce7..00000000
--- a/lib/Eigen/PardisoSupport
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef EIGEN_PARDISOSUPPORT_MODULE_H
-#define EIGEN_PARDISOSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include <mkl_pardiso.h>
-
-#include <unsupported/Eigen/SparseExtra>
-
-/** \ingroup Support_modules
-  * \defgroup PardisoSupport_Module PardisoSupport module
-  *
-  * This module brings support for the Intel(R) MKL PARDISO direct sparse solvers.
-  *
-  * \code
-  * #include <Eigen/PardisoSupport>
-  * \endcode
-  *
-  * In order to use this module, the MKL headers must be accessible from the include paths, and your binary must be linked to the MKL library and its dependencies.
-  * See this \ref TopicUsingIntelMKL "page" for more information on MKL-Eigen integration.
-  * 
-  */
-
-#include "src/PardisoSupport/PardisoSupport.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_PARDISOSUPPORT_MODULE_H
diff --git a/lib/Eigen/QR b/lib/Eigen/QR
deleted file mode 100644
index ac5b0269..00000000
--- a/lib/Eigen/QR
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef EIGEN_QR_MODULE_H
-#define EIGEN_QR_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "Cholesky"
-#include "Jacobi"
-#include "Householder"
-
-/** \defgroup QR_Module QR module
-  *
-  *
-  *
-  * This module provides various QR decompositions
-  * This module also provides some MatrixBase methods, including:
-  *  - MatrixBase::qr(),
-  *
-  * \code
-  * #include <Eigen/QR>
-  * \endcode
-  */
-
-#include "src/misc/Solve.h"
-#include "src/QR/HouseholderQR.h"
-#include "src/QR/FullPivHouseholderQR.h"
-#include "src/QR/ColPivHouseholderQR.h"
-#ifdef EIGEN_USE_LAPACKE
-#include "src/QR/HouseholderQR_MKL.h"
-#include "src/QR/ColPivHouseholderQR_MKL.h"
-#endif
-
-#ifdef EIGEN2_SUPPORT
-#include "src/Eigen2Support/QR.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#ifdef EIGEN2_SUPPORT
-#include "Eigenvalues"
-#endif
-
-#endif // EIGEN_QR_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/lib/Eigen/QtAlignedMalloc b/lib/Eigen/QtAlignedMalloc
deleted file mode 100644
index 46f7d83b..00000000
--- a/lib/Eigen/QtAlignedMalloc
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef EIGEN_QTMALLOC_MODULE_H
-#define EIGEN_QTMALLOC_MODULE_H
-
-#include "Core"
-
-#if (!EIGEN_MALLOC_ALREADY_ALIGNED)
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-void *qMalloc(size_t size)
-{
-  return Eigen::internal::aligned_malloc(size);
-}
-
-void qFree(void *ptr)
-{
-  Eigen::internal::aligned_free(ptr);
-}
-
-void *qRealloc(void *ptr, size_t size)
-{
-  void* newPtr = Eigen::internal::aligned_malloc(size);
-  memcpy(newPtr, ptr, size);
-  Eigen::internal::aligned_free(ptr);
-  return newPtr;
-}
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif
-
-#endif // EIGEN_QTMALLOC_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/lib/Eigen/SPQRSupport b/lib/Eigen/SPQRSupport
deleted file mode 100644
index 7f1eb477..00000000
--- a/lib/Eigen/SPQRSupport
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef EIGEN_SPQRSUPPORT_MODULE_H
-#define EIGEN_SPQRSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "SuiteSparseQR.hpp"
-
-/** \ingroup Support_modules
-  * \defgroup SPQRSupport_Module SuiteSparseQR module
-  * 
-  * This module provides an interface to the SPQR library, which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package.
-  *
-  * \code
-  * #include <Eigen/SPQRSupport>
-  * \endcode
-  *
-  * In order to use this module, the SPQR headers must be accessible from the include paths, and your binary must be linked to the SPQR library and its dependencies (Cholmod, AMD, COLAMD,...).
-  * For a cmake based project, you can use our FindSPQR.cmake and FindCholmod.Cmake modules
-  *
-  */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-#include "src/CholmodSupport/CholmodSupport.h"
-#include "src/SPQRSupport/SuiteSparseQRSupport.h"
-
-#endif
diff --git a/lib/Eigen/SVD b/lib/Eigen/SVD
deleted file mode 100644
index fd310017..00000000
--- a/lib/Eigen/SVD
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef EIGEN_SVD_MODULE_H
-#define EIGEN_SVD_MODULE_H
-
-#include "QR"
-#include "Householder"
-#include "Jacobi"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup SVD_Module SVD module
-  *
-  *
-  *
-  * This module provides SVD decomposition for matrices (both real and complex).
-  * This decomposition is accessible via the following MatrixBase method:
-  *  - MatrixBase::jacobiSvd()
-  *
-  * \code
-  * #include <Eigen/SVD>
-  * \endcode
-  */
-
-#include "src/misc/Solve.h"
-#include "src/SVD/JacobiSVD.h"
-#if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT)
-#include "src/SVD/JacobiSVD_MKL.h"
-#endif
-#include "src/SVD/UpperBidiagonalization.h"
-
-#ifdef EIGEN2_SUPPORT
-#include "src/Eigen2Support/SVD.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_SVD_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/lib/Eigen/Sparse b/lib/Eigen/Sparse
deleted file mode 100644
index 7cc9c091..00000000
--- a/lib/Eigen/Sparse
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef EIGEN_SPARSE_MODULE_H
-#define EIGEN_SPARSE_MODULE_H
-
-/** \defgroup Sparse_Module Sparse meta-module
-  *
-  * Meta-module including all related modules:
-  * - \ref SparseCore_Module
-  * - \ref OrderingMethods_Module
-  * - \ref SparseCholesky_Module
-  * - \ref SparseLU_Module
-  * - \ref SparseQR_Module
-  * - \ref IterativeLinearSolvers_Module
-  *
-  * \code
-  * #include <Eigen/Sparse>
-  * \endcode
-  */
-
-#include "SparseCore"
-#include "OrderingMethods"
-#include "SparseCholesky"
-#include "SparseLU"
-#include "SparseQR"
-#include "IterativeLinearSolvers"
-
-#endif // EIGEN_SPARSE_MODULE_H
-
diff --git a/lib/Eigen/SparseCholesky b/lib/Eigen/SparseCholesky
deleted file mode 100644
index 9f5056aa..00000000
--- a/lib/Eigen/SparseCholesky
+++ /dev/null
@@ -1,47 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2013 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSECHOLESKY_MODULE_H
-#define EIGEN_SPARSECHOLESKY_MODULE_H
-
-#include "SparseCore"
-#include "OrderingMethods"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** 
-  * \defgroup SparseCholesky_Module SparseCholesky module
-  *
-  * This module currently provides two variants of the direct sparse Cholesky decomposition for selfadjoint (hermitian) matrices.
-  * Those decompositions are accessible via the following classes:
-  *  - SimplicialLLt,
-  *  - SimplicialLDLt
-  *
-  * Such problems can also be solved using the ConjugateGradient solver from the IterativeLinearSolvers module.
-  *
-  * \code
-  * #include <Eigen/SparseCholesky>
-  * \endcode
-  */
-
-#ifdef EIGEN_MPL2_ONLY
-#error The SparseCholesky module has nothing to offer in MPL2 only mode
-#endif
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-#include "src/SparseCholesky/SimplicialCholesky.h"
-
-#ifndef EIGEN_MPL2_ONLY
-#include "src/SparseCholesky/SimplicialCholesky_impl.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_SPARSECHOLESKY_MODULE_H
diff --git a/lib/Eigen/SparseCore b/lib/Eigen/SparseCore
deleted file mode 100644
index 24bcf015..00000000
--- a/lib/Eigen/SparseCore
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef EIGEN_SPARSECORE_MODULE_H
-#define EIGEN_SPARSECORE_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include <vector>
-#include <map>
-#include <cstdlib>
-#include <cstring>
-#include <algorithm>
-
-/** 
-  * \defgroup SparseCore_Module SparseCore module
-  *
-  * This module provides a sparse matrix representation, and basic associated matrix manipulations
-  * and operations.
-  *
-  * See the \ref TutorialSparse "Sparse tutorial"
-  *
-  * \code
-  * #include <Eigen/SparseCore>
-  * \endcode
-  *
-  * This module depends on: Core.
-  */
-
-namespace Eigen {
-
-/** The type used to identify a general sparse storage. */
-struct Sparse {};
-
-}
-
-#include "src/SparseCore/SparseUtil.h"
-#include "src/SparseCore/SparseMatrixBase.h"
-#include "src/SparseCore/CompressedStorage.h"
-#include "src/SparseCore/AmbiVector.h"
-#include "src/SparseCore/SparseMatrix.h"
-#include "src/SparseCore/MappedSparseMatrix.h"
-#include "src/SparseCore/SparseVector.h"
-#include "src/SparseCore/SparseBlock.h"
-#include "src/SparseCore/SparseTranspose.h"
-#include "src/SparseCore/SparseCwiseUnaryOp.h"
-#include "src/SparseCore/SparseCwiseBinaryOp.h"
-#include "src/SparseCore/SparseDot.h"
-#include "src/SparseCore/SparsePermutation.h"
-#include "src/SparseCore/SparseRedux.h"
-#include "src/SparseCore/SparseFuzzy.h"
-#include "src/SparseCore/ConservativeSparseSparseProduct.h"
-#include "src/SparseCore/SparseSparseProductWithPruning.h"
-#include "src/SparseCore/SparseProduct.h"
-#include "src/SparseCore/SparseDenseProduct.h"
-#include "src/SparseCore/SparseDiagonalProduct.h"
-#include "src/SparseCore/SparseTriangularView.h"
-#include "src/SparseCore/SparseSelfAdjointView.h"
-#include "src/SparseCore/TriangularSolver.h"
-#include "src/SparseCore/SparseView.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_SPARSECORE_MODULE_H
-
diff --git a/lib/Eigen/SparseLU b/lib/Eigen/SparseLU
deleted file mode 100644
index 8527a49b..00000000
--- a/lib/Eigen/SparseLU
+++ /dev/null
@@ -1,49 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSELU_MODULE_H
-#define EIGEN_SPARSELU_MODULE_H
-
-#include "SparseCore"
-
-/** 
-  * \defgroup SparseLU_Module SparseLU module
-  * This module defines a supernodal factorization of general sparse matrices.
-  * The code is fully optimized for supernode-panel updates with specialized kernels.
-  * Please, see the documentation of the SparseLU class for more details.
-  */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-// Ordering interface
-#include "OrderingMethods"
-
-#include "src/SparseLU/SparseLU_gemm_kernel.h"
-
-#include "src/SparseLU/SparseLU_Structs.h"
-#include "src/SparseLU/SparseLU_SupernodalMatrix.h"
-#include "src/SparseLU/SparseLUImpl.h"
-#include "src/SparseCore/SparseColEtree.h"
-#include "src/SparseLU/SparseLU_Memory.h"
-#include "src/SparseLU/SparseLU_heap_relax_snode.h"
-#include "src/SparseLU/SparseLU_relax_snode.h"
-#include "src/SparseLU/SparseLU_pivotL.h"
-#include "src/SparseLU/SparseLU_panel_dfs.h"
-#include "src/SparseLU/SparseLU_kernel_bmod.h"
-#include "src/SparseLU/SparseLU_panel_bmod.h"
-#include "src/SparseLU/SparseLU_column_dfs.h"
-#include "src/SparseLU/SparseLU_column_bmod.h"
-#include "src/SparseLU/SparseLU_copy_to_ucol.h"
-#include "src/SparseLU/SparseLU_pruneL.h"
-#include "src/SparseLU/SparseLU_Utils.h"
-#include "src/SparseLU/SparseLU.h"
-
-#endif // EIGEN_SPARSELU_MODULE_H
diff --git a/lib/Eigen/SparseQR b/lib/Eigen/SparseQR
deleted file mode 100644
index 4ee42065..00000000
--- a/lib/Eigen/SparseQR
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef EIGEN_SPARSEQR_MODULE_H
-#define EIGEN_SPARSEQR_MODULE_H
-
-#include "SparseCore"
-#include "OrderingMethods"
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup SparseQR_Module SparseQR module
-  * \brief Provides QR decomposition for sparse matrices
-  * 
-  * This module provides a simplicial version of the left-looking Sparse QR decomposition. 
-  * The columns of the input matrix should be reordered to limit the fill-in during the 
-  * decomposition. Built-in methods (COLAMD, AMD) or external  methods (METIS) can be used to this end.
-  * See the \link OrderingMethods_Module OrderingMethods\endlink module for the list 
-  * of built-in and external ordering methods.
-  * 
-  * \code
-  * #include <Eigen/SparseQR>
-  * \endcode
-  * 
-  * 
-  */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-#include "OrderingMethods"
-#include "src/SparseCore/SparseColEtree.h"
-#include "src/SparseQR/SparseQR.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif
diff --git a/lib/Eigen/StdDeque b/lib/Eigen/StdDeque
deleted file mode 100644
index f2723477..00000000
--- a/lib/Eigen/StdDeque
+++ /dev/null
@@ -1,27 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STDDEQUE_MODULE_H
-#define EIGEN_STDDEQUE_MODULE_H
-
-#include "Core"
-#include <deque>
-
-#if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */
-
-#define EIGEN_DEFINE_STL_DEQUE_SPECIALIZATION(...)
-
-#else
-
-#include "src/StlSupport/StdDeque.h"
-
-#endif
-
-#endif // EIGEN_STDDEQUE_MODULE_H
diff --git a/lib/Eigen/StdList b/lib/Eigen/StdList
deleted file mode 100644
index 225c1e18..00000000
--- a/lib/Eigen/StdList
+++ /dev/null
@@ -1,26 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STDLIST_MODULE_H
-#define EIGEN_STDLIST_MODULE_H
-
-#include "Core"
-#include <list>
-
-#if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */    
-
-#define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...)
-
-#else
-
-#include "src/StlSupport/StdList.h"
-
-#endif
-
-#endif // EIGEN_STDLIST_MODULE_H
diff --git a/lib/Eigen/StdVector b/lib/Eigen/StdVector
deleted file mode 100644
index 6b22627f..00000000
--- a/lib/Eigen/StdVector
+++ /dev/null
@@ -1,27 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STDVECTOR_MODULE_H
-#define EIGEN_STDVECTOR_MODULE_H
-
-#include "Core"
-#include <vector>
-
-#if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */
-
-#define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...)
-
-#else
-
-#include "src/StlSupport/StdVector.h"
-
-#endif
-
-#endif // EIGEN_STDVECTOR_MODULE_H
diff --git a/lib/Eigen/SuperLUSupport b/lib/Eigen/SuperLUSupport
deleted file mode 100644
index 575e14fb..00000000
--- a/lib/Eigen/SuperLUSupport
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef EIGEN_SUPERLUSUPPORT_MODULE_H
-#define EIGEN_SUPERLUSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#ifdef EMPTY
-#define EIGEN_EMPTY_WAS_ALREADY_DEFINED
-#endif
-
-typedef int int_t;
-#include <slu_Cnames.h>
-#include <supermatrix.h>
-#include <slu_util.h>
-
-// slu_util.h defines a preprocessor token named EMPTY which is really polluting,
-// so we remove it in favor of a SUPERLU_EMPTY token.
-// If EMPTY was already defined then we don't undef it.
-
-#if defined(EIGEN_EMPTY_WAS_ALREADY_DEFINED)
-# undef EIGEN_EMPTY_WAS_ALREADY_DEFINED
-#elif defined(EMPTY)
-# undef EMPTY
-#endif
-
-#define SUPERLU_EMPTY (-1)
-
-namespace Eigen { struct SluMatrix; }
-
-/** \ingroup Support_modules
-  * \defgroup SuperLUSupport_Module SuperLUSupport module
-  *
-  * This module provides an interface to the <a href="http://crd-legacy.lbl.gov/~xiaoye/SuperLU/">SuperLU</a> library.
-  * It provides the following factorization class:
-  * - class SuperLU: a supernodal sequential LU factorization.
-  * - class SuperILU: a supernodal sequential incomplete LU factorization (to be used as a preconditioner for iterative methods).
-  *
-  * \warning When including this module, you have to use SUPERLU_EMPTY instead of EMPTY which is no longer defined because it is too polluting.
-  *
-  * \code
-  * #include <Eigen/SuperLUSupport>
-  * \endcode
-  *
-  * In order to use this module, the superlu headers must be accessible from the include paths, and your binary must be linked to the superlu library and its dependencies.
-  * The dependencies depend on how superlu has been compiled.
-  * For a cmake based project, you can use our FindSuperLU.cmake module to help you in this task.
-  *
-  */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-#include "src/SuperLUSupport/SuperLUSupport.h"
-
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_SUPERLUSUPPORT_MODULE_H
diff --git a/lib/Eigen/UmfPackSupport b/lib/Eigen/UmfPackSupport
deleted file mode 100644
index 7b1b6606..00000000
--- a/lib/Eigen/UmfPackSupport
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef EIGEN_UMFPACKSUPPORT_MODULE_H
-#define EIGEN_UMFPACKSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-extern "C" {
-#include <umfpack.h>
-}
-
-/** \ingroup Support_modules
-  * \defgroup UmfPackSupport_Module UmfPackSupport module
-  *
-  * This module provides an interface to the UmfPack library which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package.
-  * It provides the following factorization class:
-  * - class UmfPackLU: a multifrontal sequential LU factorization.
-  *
-  * \code
-  * #include <Eigen/UmfPackSupport>
-  * \endcode
-  *
-  * In order to use this module, the umfpack headers must be accessible from the include paths, and your binary must be linked to the umfpack library and its dependencies.
-  * The dependencies depend on how umfpack has been compiled.
-  * For a cmake based project, you can use our FindUmfPack.cmake module to help you in this task.
-  *
-  */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-#include "src/UmfPackSupport/UmfPackSupport.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // EIGEN_UMFPACKSUPPORT_MODULE_H
diff --git a/lib/Eigen/src/CMakeLists.txt b/lib/Eigen/src/CMakeLists.txt
deleted file mode 100644
index c326f374..00000000
--- a/lib/Eigen/src/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-file(GLOB Eigen_src_subdirectories "*")
-escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
-foreach(f ${Eigen_src_subdirectories})
-  if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" )
-    add_subdirectory(${f})
-  endif()
-endforeach()
diff --git a/lib/Eigen/src/Cholesky/CMakeLists.txt b/lib/Eigen/src/Cholesky/CMakeLists.txt
deleted file mode 100644
index d01488b4..00000000
--- a/lib/Eigen/src/Cholesky/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Cholesky_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Cholesky_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Cholesky COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/Cholesky/LDLT.h b/lib/Eigen/src/Cholesky/LDLT.h
deleted file mode 100644
index abd30bd9..00000000
--- a/lib/Eigen/src/Cholesky/LDLT.h
+++ /dev/null
@@ -1,611 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Keir Mierle <mierle@gmail.com>
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2011 Timothy E. Holy <tim.holy@gmail.com >
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_LDLT_H
-#define EIGEN_LDLT_H
-
-namespace Eigen { 
-
-namespace internal {
-  template<typename MatrixType, int UpLo> struct LDLT_Traits;
-
-  // PositiveSemiDef means positive semi-definite and non-zero; same for NegativeSemiDef
-  enum SignMatrix { PositiveSemiDef, NegativeSemiDef, ZeroSign, Indefinite };
-}
-
-/** \ingroup Cholesky_Module
-  *
-  * \class LDLT
-  *
-  * \brief Robust Cholesky decomposition of a matrix with pivoting
-  *
-  * \param MatrixType the type of the matrix of which to compute the LDL^T Cholesky decomposition
-  * \param UpLo the triangular part that will be used for the decompositon: Lower (default) or Upper.
-  *             The other triangular part won't be read.
-  *
-  * Perform a robust Cholesky decomposition of a positive semidefinite or negative semidefinite
-  * matrix \f$ A \f$ such that \f$ A =  P^TLDL^*P \f$, where P is a permutation matrix, L
-  * is lower triangular with a unit diagonal and D is a diagonal matrix.
-  *
-  * The decomposition uses pivoting to ensure stability, so that L will have
-  * zeros in the bottom right rank(A) - n submatrix. Avoiding the square root
-  * on D also stabilizes the computation.
-  *
-  * Remember that Cholesky decompositions are not rank-revealing. Also, do not use a Cholesky
-  * decomposition to determine whether a system of equations has a solution.
-  *
-  * \sa MatrixBase::ldlt(), class LLT
-  */
-template<typename _MatrixType, int _UpLo> class LDLT
-{
-  public:
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options & ~RowMajorBit, // these are the options for the TmpMatrixType, we need a ColMajor matrix here!
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime,
-      UpLo = _UpLo
-    };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef Matrix<Scalar, RowsAtCompileTime, 1, Options, MaxRowsAtCompileTime, 1> TmpMatrixType;
-
-    typedef Transpositions<RowsAtCompileTime, MaxRowsAtCompileTime> TranspositionType;
-    typedef PermutationMatrix<RowsAtCompileTime, MaxRowsAtCompileTime> PermutationType;
-
-    typedef internal::LDLT_Traits<MatrixType,UpLo> Traits;
-
-    /** \brief Default Constructor.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via LDLT::compute(const MatrixType&).
-      */
-    LDLT() 
-      : m_matrix(), 
-        m_transpositions(), 
-        m_sign(internal::ZeroSign),
-        m_isInitialized(false) 
-    {}
-
-    /** \brief Default Constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa LDLT()
-      */
-    LDLT(Index size)
-      : m_matrix(size, size),
-        m_transpositions(size),
-        m_temporary(size),
-        m_sign(internal::ZeroSign),
-        m_isInitialized(false)
-    {}
-
-    /** \brief Constructor with decomposition
-      *
-      * This calculates the decomposition for the input \a matrix.
-      * \sa LDLT(Index size)
-      */
-    LDLT(const MatrixType& matrix)
-      : m_matrix(matrix.rows(), matrix.cols()),
-        m_transpositions(matrix.rows()),
-        m_temporary(matrix.rows()),
-        m_sign(internal::ZeroSign),
-        m_isInitialized(false)
-    {
-      compute(matrix);
-    }
-
-    /** Clear any existing decomposition
-     * \sa rankUpdate(w,sigma)
-     */
-    void setZero()
-    {
-      m_isInitialized = false;
-    }
-
-    /** \returns a view of the upper triangular matrix U */
-    inline typename Traits::MatrixU matrixU() const
-    {
-      eigen_assert(m_isInitialized && "LDLT is not initialized.");
-      return Traits::getU(m_matrix);
-    }
-
-    /** \returns a view of the lower triangular matrix L */
-    inline typename Traits::MatrixL matrixL() const
-    {
-      eigen_assert(m_isInitialized && "LDLT is not initialized.");
-      return Traits::getL(m_matrix);
-    }
-
-    /** \returns the permutation matrix P as a transposition sequence.
-      */
-    inline const TranspositionType& transpositionsP() const
-    {
-      eigen_assert(m_isInitialized && "LDLT is not initialized.");
-      return m_transpositions;
-    }
-
-    /** \returns the coefficients of the diagonal matrix D */
-    inline Diagonal<const MatrixType> vectorD() const
-    {
-      eigen_assert(m_isInitialized && "LDLT is not initialized.");
-      return m_matrix.diagonal();
-    }
-
-    /** \returns true if the matrix is positive (semidefinite) */
-    inline bool isPositive() const
-    {
-      eigen_assert(m_isInitialized && "LDLT is not initialized.");
-      return m_sign == internal::PositiveSemiDef || m_sign == internal::ZeroSign;
-    }
-    
-    #ifdef EIGEN2_SUPPORT
-    inline bool isPositiveDefinite() const
-    {
-      return isPositive();
-    }
-    #endif
-
-    /** \returns true if the matrix is negative (semidefinite) */
-    inline bool isNegative(void) const
-    {
-      eigen_assert(m_isInitialized && "LDLT is not initialized.");
-      return m_sign == internal::NegativeSemiDef || m_sign == internal::ZeroSign;
-    }
-
-    /** \returns a solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * This function also supports in-place solves using the syntax <tt>x = decompositionObject.solve(x)</tt> .
-      *
-      * \note_about_checking_solutions
-      *
-      * More precisely, this method solves \f$ A x = b \f$ using the decomposition \f$ A = P^T L D L^* P \f$
-      * by solving the systems \f$ P^T y_1 = b \f$, \f$ L y_2 = y_1 \f$, \f$ D y_3 = y_2 \f$, 
-      * \f$ L^* y_4 = y_3 \f$ and \f$ P x = y_4 \f$ in succession. If the matrix \f$ A \f$ is singular, then
-      * \f$ D \f$ will also be singular (all the other matrices are invertible). In that case, the
-      * least-square solution of \f$ D y_3 = y_2 \f$ is computed. This does not mean that this function
-      * computes the least-square solution of \f$ A x = b \f$ is \f$ A \f$ is singular.
-      *
-      * \sa MatrixBase::ldlt()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<LDLT, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "LDLT is not initialized.");
-      eigen_assert(m_matrix.rows()==b.rows()
-                && "LDLT::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<LDLT, Rhs>(*this, b.derived());
-    }
-
-    #ifdef EIGEN2_SUPPORT
-    template<typename OtherDerived, typename ResultType>
-    bool solve(const MatrixBase<OtherDerived>& b, ResultType *result) const
-    {
-      *result = this->solve(b);
-      return true;
-    }
-    #endif
-
-    template<typename Derived>
-    bool solveInPlace(MatrixBase<Derived> &bAndX) const;
-
-    LDLT& compute(const MatrixType& matrix);
-
-    template <typename Derived>
-    LDLT& rankUpdate(const MatrixBase<Derived>& w, const RealScalar& alpha=1);
-
-    /** \returns the internal LDLT decomposition matrix
-      *
-      * TODO: document the storage layout
-      */
-    inline const MatrixType& matrixLDLT() const
-    {
-      eigen_assert(m_isInitialized && "LDLT is not initialized.");
-      return m_matrix;
-    }
-
-    MatrixType reconstructedMatrix() const;
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the matrix.appears to be negative.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "LDLT is not initialized.");
-      return Success;
-    }
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-
-    /** \internal
-      * Used to compute and store the Cholesky decomposition A = L D L^* = U^* D U.
-      * The strict upper part is used during the decomposition, the strict lower
-      * part correspond to the coefficients of L (its diagonal is equal to 1 and
-      * is not stored), and the diagonal entries correspond to D.
-      */
-    MatrixType m_matrix;
-    TranspositionType m_transpositions;
-    TmpMatrixType m_temporary;
-    internal::SignMatrix m_sign;
-    bool m_isInitialized;
-};
-
-namespace internal {
-
-template<int UpLo> struct ldlt_inplace;
-
-template<> struct ldlt_inplace<Lower>
-{
-  template<typename MatrixType, typename TranspositionType, typename Workspace>
-  static bool unblocked(MatrixType& mat, TranspositionType& transpositions, Workspace& temp, SignMatrix& sign)
-  {
-    using std::abs;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    eigen_assert(mat.rows()==mat.cols());
-    const Index size = mat.rows();
-
-    if (size <= 1)
-    {
-      transpositions.setIdentity();
-      if (numext::real(mat.coeff(0,0)) > 0) sign = PositiveSemiDef;
-      else if (numext::real(mat.coeff(0,0)) < 0) sign = NegativeSemiDef;
-      else sign = ZeroSign;
-      return true;
-    }
-
-    for (Index k = 0; k < size; ++k)
-    {
-      // Find largest diagonal element
-      Index index_of_biggest_in_corner;
-      mat.diagonal().tail(size-k).cwiseAbs().maxCoeff(&index_of_biggest_in_corner);
-      index_of_biggest_in_corner += k;
-
-      transpositions.coeffRef(k) = index_of_biggest_in_corner;
-      if(k != index_of_biggest_in_corner)
-      {
-        // apply the transposition while taking care to consider only
-        // the lower triangular part
-        Index s = size-index_of_biggest_in_corner-1; // trailing size after the biggest element
-        mat.row(k).head(k).swap(mat.row(index_of_biggest_in_corner).head(k));
-        mat.col(k).tail(s).swap(mat.col(index_of_biggest_in_corner).tail(s));
-        std::swap(mat.coeffRef(k,k),mat.coeffRef(index_of_biggest_in_corner,index_of_biggest_in_corner));
-        for(int i=k+1;i<index_of_biggest_in_corner;++i)
-        {
-          Scalar tmp = mat.coeffRef(i,k);
-          mat.coeffRef(i,k) = numext::conj(mat.coeffRef(index_of_biggest_in_corner,i));
-          mat.coeffRef(index_of_biggest_in_corner,i) = numext::conj(tmp);
-        }
-        if(NumTraits<Scalar>::IsComplex)
-          mat.coeffRef(index_of_biggest_in_corner,k) = numext::conj(mat.coeff(index_of_biggest_in_corner,k));
-      }
-
-      // partition the matrix:
-      //       A00 |  -  |  -
-      // lu  = A10 | A11 |  -
-      //       A20 | A21 | A22
-      Index rs = size - k - 1;
-      Block<MatrixType,Dynamic,1> A21(mat,k+1,k,rs,1);
-      Block<MatrixType,1,Dynamic> A10(mat,k,0,1,k);
-      Block<MatrixType,Dynamic,Dynamic> A20(mat,k+1,0,rs,k);
-
-      if(k>0)
-      {
-        temp.head(k) = mat.diagonal().real().head(k).asDiagonal() * A10.adjoint();
-        mat.coeffRef(k,k) -= (A10 * temp.head(k)).value();
-        if(rs>0)
-          A21.noalias() -= A20 * temp.head(k);
-      }
-      
-      // In some previous versions of Eigen (e.g., 3.2.1), the scaling was omitted if the pivot
-      // was smaller than the cutoff value. However, soince LDLT is not rank-revealing
-      // we should only make sure we do not introduce INF or NaN values.
-      // LAPACK also uses 0 as the cutoff value.
-      RealScalar realAkk = numext::real(mat.coeffRef(k,k));
-      if((rs>0) && (abs(realAkk) > RealScalar(0)))
-        A21 /= realAkk;
-
-      if (sign == PositiveSemiDef) {
-        if (realAkk < 0) sign = Indefinite;
-      } else if (sign == NegativeSemiDef) {
-        if (realAkk > 0) sign = Indefinite;
-      } else if (sign == ZeroSign) {
-        if (realAkk > 0) sign = PositiveSemiDef;
-        else if (realAkk < 0) sign = NegativeSemiDef;
-      }
-    }
-
-    return true;
-  }
-
-  // Reference for the algorithm: Davis and Hager, "Multiple Rank
-  // Modifications of a Sparse Cholesky Factorization" (Algorithm 1)
-  // Trivial rearrangements of their computations (Timothy E. Holy)
-  // allow their algorithm to work for rank-1 updates even if the
-  // original matrix is not of full rank.
-  // Here only rank-1 updates are implemented, to reduce the
-  // requirement for intermediate storage and improve accuracy
-  template<typename MatrixType, typename WDerived>
-  static bool updateInPlace(MatrixType& mat, MatrixBase<WDerived>& w, const typename MatrixType::RealScalar& sigma=1)
-  {
-    using numext::isfinite;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-
-    const Index size = mat.rows();
-    eigen_assert(mat.cols() == size && w.size()==size);
-
-    RealScalar alpha = 1;
-
-    // Apply the update
-    for (Index j = 0; j < size; j++)
-    {
-      // Check for termination due to an original decomposition of low-rank
-      if (!(isfinite)(alpha))
-        break;
-
-      // Update the diagonal terms
-      RealScalar dj = numext::real(mat.coeff(j,j));
-      Scalar wj = w.coeff(j);
-      RealScalar swj2 = sigma*numext::abs2(wj);
-      RealScalar gamma = dj*alpha + swj2;
-
-      mat.coeffRef(j,j) += swj2/alpha;
-      alpha += swj2/dj;
-
-
-      // Update the terms of L
-      Index rs = size-j-1;
-      w.tail(rs) -= wj * mat.col(j).tail(rs);
-      if(gamma != 0)
-        mat.col(j).tail(rs) += (sigma*numext::conj(wj)/gamma)*w.tail(rs);
-    }
-    return true;
-  }
-
-  template<typename MatrixType, typename TranspositionType, typename Workspace, typename WType>
-  static bool update(MatrixType& mat, const TranspositionType& transpositions, Workspace& tmp, const WType& w, const typename MatrixType::RealScalar& sigma=1)
-  {
-    // Apply the permutation to the input w
-    tmp = transpositions * w;
-
-    return ldlt_inplace<Lower>::updateInPlace(mat,tmp,sigma);
-  }
-};
-
-template<> struct ldlt_inplace<Upper>
-{
-  template<typename MatrixType, typename TranspositionType, typename Workspace>
-  static EIGEN_STRONG_INLINE bool unblocked(MatrixType& mat, TranspositionType& transpositions, Workspace& temp, SignMatrix& sign)
-  {
-    Transpose<MatrixType> matt(mat);
-    return ldlt_inplace<Lower>::unblocked(matt, transpositions, temp, sign);
-  }
-
-  template<typename MatrixType, typename TranspositionType, typename Workspace, typename WType>
-  static EIGEN_STRONG_INLINE bool update(MatrixType& mat, TranspositionType& transpositions, Workspace& tmp, WType& w, const typename MatrixType::RealScalar& sigma=1)
-  {
-    Transpose<MatrixType> matt(mat);
-    return ldlt_inplace<Lower>::update(matt, transpositions, tmp, w.conjugate(), sigma);
-  }
-};
-
-template<typename MatrixType> struct LDLT_Traits<MatrixType,Lower>
-{
-  typedef const TriangularView<const MatrixType, UnitLower> MatrixL;
-  typedef const TriangularView<const typename MatrixType::AdjointReturnType, UnitUpper> MatrixU;
-  static inline MatrixL getL(const MatrixType& m) { return m; }
-  static inline MatrixU getU(const MatrixType& m) { return m.adjoint(); }
-};
-
-template<typename MatrixType> struct LDLT_Traits<MatrixType,Upper>
-{
-  typedef const TriangularView<const typename MatrixType::AdjointReturnType, UnitLower> MatrixL;
-  typedef const TriangularView<const MatrixType, UnitUpper> MatrixU;
-  static inline MatrixL getL(const MatrixType& m) { return m.adjoint(); }
-  static inline MatrixU getU(const MatrixType& m) { return m; }
-};
-
-} // end namespace internal
-
-/** Compute / recompute the LDLT decomposition A = L D L^* = U^* D U of \a matrix
-  */
-template<typename MatrixType, int _UpLo>
-LDLT<MatrixType,_UpLo>& LDLT<MatrixType,_UpLo>::compute(const MatrixType& a)
-{
-  check_template_parameters();
-  
-  eigen_assert(a.rows()==a.cols());
-  const Index size = a.rows();
-
-  m_matrix = a;
-
-  m_transpositions.resize(size);
-  m_isInitialized = false;
-  m_temporary.resize(size);
-  m_sign = internal::ZeroSign;
-
-  internal::ldlt_inplace<UpLo>::unblocked(m_matrix, m_transpositions, m_temporary, m_sign);
-
-  m_isInitialized = true;
-  return *this;
-}
-
-/** Update the LDLT decomposition:  given A = L D L^T, efficiently compute the decomposition of A + sigma w w^T.
- * \param w a vector to be incorporated into the decomposition.
- * \param sigma a scalar, +1 for updates and -1 for "downdates," which correspond to removing previously-added column vectors. Optional; default value is +1.
- * \sa setZero()
-  */
-template<typename MatrixType, int _UpLo>
-template<typename Derived>
-LDLT<MatrixType,_UpLo>& LDLT<MatrixType,_UpLo>::rankUpdate(const MatrixBase<Derived>& w, const typename LDLT<MatrixType,_UpLo>::RealScalar& sigma)
-{
-  const Index size = w.rows();
-  if (m_isInitialized)
-  {
-    eigen_assert(m_matrix.rows()==size);
-  }
-  else
-  {    
-    m_matrix.resize(size,size);
-    m_matrix.setZero();
-    m_transpositions.resize(size);
-    for (Index i = 0; i < size; i++)
-      m_transpositions.coeffRef(i) = i;
-    m_temporary.resize(size);
-    m_sign = sigma>=0 ? internal::PositiveSemiDef : internal::NegativeSemiDef;
-    m_isInitialized = true;
-  }
-
-  internal::ldlt_inplace<UpLo>::update(m_matrix, m_transpositions, m_temporary, w, sigma);
-
-  return *this;
-}
-
-namespace internal {
-template<typename _MatrixType, int _UpLo, typename Rhs>
-struct solve_retval<LDLT<_MatrixType,_UpLo>, Rhs>
-  : solve_retval_base<LDLT<_MatrixType,_UpLo>, Rhs>
-{
-  typedef LDLT<_MatrixType,_UpLo> LDLTType;
-  EIGEN_MAKE_SOLVE_HELPERS(LDLTType,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    eigen_assert(rhs().rows() == dec().matrixLDLT().rows());
-    // dst = P b
-    dst = dec().transpositionsP() * rhs();
-
-    // dst = L^-1 (P b)
-    dec().matrixL().solveInPlace(dst);
-
-    // dst = D^-1 (L^-1 P b)
-    // more precisely, use pseudo-inverse of D (see bug 241)
-    using std::abs;
-    using std::max;
-    typedef typename LDLTType::MatrixType MatrixType;
-    typedef typename LDLTType::RealScalar RealScalar;
-    const typename Diagonal<const MatrixType>::RealReturnType vectorD(dec().vectorD());
-    // In some previous versions, tolerance was set to the max of 1/highest and the maximal diagonal entry * epsilon
-    // as motivated by LAPACK's xGELSS:
-    // RealScalar tolerance = (max)(vectorD.array().abs().maxCoeff() *NumTraits<RealScalar>::epsilon(),RealScalar(1) / NumTraits<RealScalar>::highest());
-    // However, LDLT is not rank revealing, and so adjusting the tolerance wrt to the highest
-    // diagonal element is not well justified and to numerical issues in some cases.
-    // Moreover, Lapack's xSYTRS routines use 0 for the tolerance.
-    RealScalar tolerance = RealScalar(1) / NumTraits<RealScalar>::highest();
-    
-    for (Index i = 0; i < vectorD.size(); ++i) {
-      if(abs(vectorD(i)) > tolerance)
-        dst.row(i) /= vectorD(i);
-      else
-        dst.row(i).setZero();
-    }
-
-    // dst = L^-T (D^-1 L^-1 P b)
-    dec().matrixU().solveInPlace(dst);
-
-    // dst = P^-1 (L^-T D^-1 L^-1 P b) = A^-1 b
-    dst = dec().transpositionsP().transpose() * dst;
-  }
-};
-}
-
-/** \internal use x = ldlt_object.solve(x);
-  *
-  * This is the \em in-place version of solve().
-  *
-  * \param bAndX represents both the right-hand side matrix b and result x.
-  *
-  * \returns true always! If you need to check for existence of solutions, use another decomposition like LU, QR, or SVD.
-  *
-  * This version avoids a copy when the right hand side matrix b is not
-  * needed anymore.
-  *
-  * \sa LDLT::solve(), MatrixBase::ldlt()
-  */
-template<typename MatrixType,int _UpLo>
-template<typename Derived>
-bool LDLT<MatrixType,_UpLo>::solveInPlace(MatrixBase<Derived> &bAndX) const
-{
-  eigen_assert(m_isInitialized && "LDLT is not initialized.");
-  eigen_assert(m_matrix.rows() == bAndX.rows());
-
-  bAndX = this->solve(bAndX);
-
-  return true;
-}
-
-/** \returns the matrix represented by the decomposition,
- * i.e., it returns the product: P^T L D L^* P.
- * This function is provided for debug purpose. */
-template<typename MatrixType, int _UpLo>
-MatrixType LDLT<MatrixType,_UpLo>::reconstructedMatrix() const
-{
-  eigen_assert(m_isInitialized && "LDLT is not initialized.");
-  const Index size = m_matrix.rows();
-  MatrixType res(size,size);
-
-  // P
-  res.setIdentity();
-  res = transpositionsP() * res;
-  // L^* P
-  res = matrixU() * res;
-  // D(L^*P)
-  res = vectorD().real().asDiagonal() * res;
-  // L(DL^*P)
-  res = matrixL() * res;
-  // P^T (LDL^*P)
-  res = transpositionsP().transpose() * res;
-
-  return res;
-}
-
-/** \cholesky_module
-  * \returns the Cholesky decomposition with full pivoting without square root of \c *this
-  */
-template<typename MatrixType, unsigned int UpLo>
-inline const LDLT<typename SelfAdjointView<MatrixType, UpLo>::PlainObject, UpLo>
-SelfAdjointView<MatrixType, UpLo>::ldlt() const
-{
-  return LDLT<PlainObject,UpLo>(m_matrix);
-}
-
-/** \cholesky_module
-  * \returns the Cholesky decomposition with full pivoting without square root of \c *this
-  */
-template<typename Derived>
-inline const LDLT<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::ldlt() const
-{
-  return LDLT<PlainObject>(derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_LDLT_H
diff --git a/lib/Eigen/src/Cholesky/LLT.h b/lib/Eigen/src/Cholesky/LLT.h
deleted file mode 100644
index 7c11a2dc..00000000
--- a/lib/Eigen/src/Cholesky/LLT.h
+++ /dev/null
@@ -1,498 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_LLT_H
-#define EIGEN_LLT_H
-
-namespace Eigen { 
-
-namespace internal{
-template<typename MatrixType, int UpLo> struct LLT_Traits;
-}
-
-/** \ingroup Cholesky_Module
-  *
-  * \class LLT
-  *
-  * \brief Standard Cholesky decomposition (LL^T) of a matrix and associated features
-  *
-  * \param MatrixType the type of the matrix of which we are computing the LL^T Cholesky decomposition
-  * \param UpLo the triangular part that will be used for the decompositon: Lower (default) or Upper.
-  *             The other triangular part won't be read.
-  *
-  * This class performs a LL^T Cholesky decomposition of a symmetric, positive definite
-  * matrix A such that A = LL^* = U^*U, where L is lower triangular.
-  *
-  * While the Cholesky decomposition is particularly useful to solve selfadjoint problems like  D^*D x = b,
-  * for that purpose, we recommend the Cholesky decomposition without square root which is more stable
-  * and even faster. Nevertheless, this standard Cholesky decomposition remains useful in many other
-  * situations like generalised eigen problems with hermitian matrices.
-  *
-  * Remember that Cholesky decompositions are not rank-revealing. This LLT decomposition is only stable on positive definite matrices,
-  * use LDLT instead for the semidefinite case. Also, do not use a Cholesky decomposition to determine whether a system of equations
-  * has a solution.
-  *
-  * Example: \include LLT_example.cpp
-  * Output: \verbinclude LLT_example.out
-  *    
-  * \sa MatrixBase::llt(), class LDLT
-  */
- /* HEY THIS DOX IS DISABLED BECAUSE THERE's A BUG EITHER HERE OR IN LDLT ABOUT THAT (OR BOTH)
-  * Note that during the decomposition, only the upper triangular part of A is considered. Therefore,
-  * the strict lower part does not have to store correct values.
-  */
-template<typename _MatrixType, int _UpLo> class LLT
-{
-  public:
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
-    typedef typename MatrixType::Index Index;
-
-    enum {
-      PacketSize = internal::packet_traits<Scalar>::size,
-      AlignmentMask = int(PacketSize)-1,
-      UpLo = _UpLo
-    };
-
-    typedef internal::LLT_Traits<MatrixType,UpLo> Traits;
-
-    /**
-      * \brief Default Constructor.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via LLT::compute(const MatrixType&).
-      */
-    LLT() : m_matrix(), m_isInitialized(false) {}
-
-    /** \brief Default Constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa LLT()
-      */
-    LLT(Index size) : m_matrix(size, size),
-                    m_isInitialized(false) {}
-
-    LLT(const MatrixType& matrix)
-      : m_matrix(matrix.rows(), matrix.cols()),
-        m_isInitialized(false)
-    {
-      compute(matrix);
-    }
-
-    /** \returns a view of the upper triangular matrix U */
-    inline typename Traits::MatrixU matrixU() const
-    {
-      eigen_assert(m_isInitialized && "LLT is not initialized.");
-      return Traits::getU(m_matrix);
-    }
-
-    /** \returns a view of the lower triangular matrix L */
-    inline typename Traits::MatrixL matrixL() const
-    {
-      eigen_assert(m_isInitialized && "LLT is not initialized.");
-      return Traits::getL(m_matrix);
-    }
-
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * Since this LLT class assumes anyway that the matrix A is invertible, the solution
-      * theoretically exists and is unique regardless of b.
-      *
-      * Example: \include LLT_solve.cpp
-      * Output: \verbinclude LLT_solve.out
-      *
-      * \sa solveInPlace(), MatrixBase::llt()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<LLT, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "LLT is not initialized.");
-      eigen_assert(m_matrix.rows()==b.rows()
-                && "LLT::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<LLT, Rhs>(*this, b.derived());
-    }
-
-    #ifdef EIGEN2_SUPPORT
-    template<typename OtherDerived, typename ResultType>
-    bool solve(const MatrixBase<OtherDerived>& b, ResultType *result) const
-    {
-      *result = this->solve(b);
-      return true;
-    }
-    
-    bool isPositiveDefinite() const { return true; }
-    #endif
-
-    template<typename Derived>
-    void solveInPlace(MatrixBase<Derived> &bAndX) const;
-
-    LLT& compute(const MatrixType& matrix);
-
-    /** \returns the LLT decomposition matrix
-      *
-      * TODO: document the storage layout
-      */
-    inline const MatrixType& matrixLLT() const
-    {
-      eigen_assert(m_isInitialized && "LLT is not initialized.");
-      return m_matrix;
-    }
-
-    MatrixType reconstructedMatrix() const;
-
-
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the matrix.appears to be negative.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "LLT is not initialized.");
-      return m_info;
-    }
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-
-    template<typename VectorType>
-    LLT rankUpdate(const VectorType& vec, const RealScalar& sigma = 1);
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-    
-    /** \internal
-      * Used to compute and store L
-      * The strict upper part is not used and even not initialized.
-      */
-    MatrixType m_matrix;
-    bool m_isInitialized;
-    ComputationInfo m_info;
-};
-
-namespace internal {
-
-template<typename Scalar, int UpLo> struct llt_inplace;
-
-template<typename MatrixType, typename VectorType>
-static typename MatrixType::Index llt_rank_update_lower(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma)
-{
-  using std::sqrt;
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename MatrixType::RealScalar RealScalar;
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::ColXpr ColXpr;
-  typedef typename internal::remove_all<ColXpr>::type ColXprCleaned;
-  typedef typename ColXprCleaned::SegmentReturnType ColXprSegment;
-  typedef Matrix<Scalar,Dynamic,1> TempVectorType;
-  typedef typename TempVectorType::SegmentReturnType TempVecSegment;
-
-  Index n = mat.cols();
-  eigen_assert(mat.rows()==n && vec.size()==n);
-
-  TempVectorType temp;
-
-  if(sigma>0)
-  {
-    // This version is based on Givens rotations.
-    // It is faster than the other one below, but only works for updates,
-    // i.e., for sigma > 0
-    temp = sqrt(sigma) * vec;
-
-    for(Index i=0; i<n; ++i)
-    {
-      JacobiRotation<Scalar> g;
-      g.makeGivens(mat(i,i), -temp(i), &mat(i,i));
-
-      Index rs = n-i-1;
-      if(rs>0)
-      {
-        ColXprSegment x(mat.col(i).tail(rs));
-        TempVecSegment y(temp.tail(rs));
-        apply_rotation_in_the_plane(x, y, g);
-      }
-    }
-  }
-  else
-  {
-    temp = vec;
-    RealScalar beta = 1;
-    for(Index j=0; j<n; ++j)
-    {
-      RealScalar Ljj = numext::real(mat.coeff(j,j));
-      RealScalar dj = numext::abs2(Ljj);
-      Scalar wj = temp.coeff(j);
-      RealScalar swj2 = sigma*numext::abs2(wj);
-      RealScalar gamma = dj*beta + swj2;
-
-      RealScalar x = dj + swj2/beta;
-      if (x<=RealScalar(0))
-        return j;
-      RealScalar nLjj = sqrt(x);
-      mat.coeffRef(j,j) = nLjj;
-      beta += swj2/dj;
-
-      // Update the terms of L
-      Index rs = n-j-1;
-      if(rs)
-      {
-        temp.tail(rs) -= (wj/Ljj) * mat.col(j).tail(rs);
-        if(gamma != 0)
-          mat.col(j).tail(rs) = (nLjj/Ljj) * mat.col(j).tail(rs) + (nLjj * sigma*numext::conj(wj)/gamma)*temp.tail(rs);
-      }
-    }
-  }
-  return -1;
-}
-
-template<typename Scalar> struct llt_inplace<Scalar, Lower>
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  template<typename MatrixType>
-  static typename MatrixType::Index unblocked(MatrixType& mat)
-  {
-    using std::sqrt;
-    typedef typename MatrixType::Index Index;
-    
-    eigen_assert(mat.rows()==mat.cols());
-    const Index size = mat.rows();
-    for(Index k = 0; k < size; ++k)
-    {
-      Index rs = size-k-1; // remaining size
-
-      Block<MatrixType,Dynamic,1> A21(mat,k+1,k,rs,1);
-      Block<MatrixType,1,Dynamic> A10(mat,k,0,1,k);
-      Block<MatrixType,Dynamic,Dynamic> A20(mat,k+1,0,rs,k);
-
-      RealScalar x = numext::real(mat.coeff(k,k));
-      if (k>0) x -= A10.squaredNorm();
-      if (x<=RealScalar(0))
-        return k;
-      mat.coeffRef(k,k) = x = sqrt(x);
-      if (k>0 && rs>0) A21.noalias() -= A20 * A10.adjoint();
-      if (rs>0) A21 /= x;
-    }
-    return -1;
-  }
-
-  template<typename MatrixType>
-  static typename MatrixType::Index blocked(MatrixType& m)
-  {
-    typedef typename MatrixType::Index Index;
-    eigen_assert(m.rows()==m.cols());
-    Index size = m.rows();
-    if(size<32)
-      return unblocked(m);
-
-    Index blockSize = size/8;
-    blockSize = (blockSize/16)*16;
-    blockSize = (std::min)((std::max)(blockSize,Index(8)), Index(128));
-
-    for (Index k=0; k<size; k+=blockSize)
-    {
-      // partition the matrix:
-      //       A00 |  -  |  -
-      // lu  = A10 | A11 |  -
-      //       A20 | A21 | A22
-      Index bs = (std::min)(blockSize, size-k);
-      Index rs = size - k - bs;
-      Block<MatrixType,Dynamic,Dynamic> A11(m,k,   k,   bs,bs);
-      Block<MatrixType,Dynamic,Dynamic> A21(m,k+bs,k,   rs,bs);
-      Block<MatrixType,Dynamic,Dynamic> A22(m,k+bs,k+bs,rs,rs);
-
-      Index ret;
-      if((ret=unblocked(A11))>=0) return k+ret;
-      if(rs>0) A11.adjoint().template triangularView<Upper>().template solveInPlace<OnTheRight>(A21);
-      if(rs>0) A22.template selfadjointView<Lower>().rankUpdate(A21,-1); // bottleneck
-    }
-    return -1;
-  }
-
-  template<typename MatrixType, typename VectorType>
-  static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const RealScalar& sigma)
-  {
-    return Eigen::internal::llt_rank_update_lower(mat, vec, sigma);
-  }
-};
-  
-template<typename Scalar> struct llt_inplace<Scalar, Upper>
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-
-  template<typename MatrixType>
-  static EIGEN_STRONG_INLINE typename MatrixType::Index unblocked(MatrixType& mat)
-  {
-    Transpose<MatrixType> matt(mat);
-    return llt_inplace<Scalar, Lower>::unblocked(matt);
-  }
-  template<typename MatrixType>
-  static EIGEN_STRONG_INLINE typename MatrixType::Index blocked(MatrixType& mat)
-  {
-    Transpose<MatrixType> matt(mat);
-    return llt_inplace<Scalar, Lower>::blocked(matt);
-  }
-  template<typename MatrixType, typename VectorType>
-  static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const RealScalar& sigma)
-  {
-    Transpose<MatrixType> matt(mat);
-    return llt_inplace<Scalar, Lower>::rankUpdate(matt, vec.conjugate(), sigma);
-  }
-};
-
-template<typename MatrixType> struct LLT_Traits<MatrixType,Lower>
-{
-  typedef const TriangularView<const MatrixType, Lower> MatrixL;
-  typedef const TriangularView<const typename MatrixType::AdjointReturnType, Upper> MatrixU;
-  static inline MatrixL getL(const MatrixType& m) { return m; }
-  static inline MatrixU getU(const MatrixType& m) { return m.adjoint(); }
-  static bool inplace_decomposition(MatrixType& m)
-  { return llt_inplace<typename MatrixType::Scalar, Lower>::blocked(m)==-1; }
-};
-
-template<typename MatrixType> struct LLT_Traits<MatrixType,Upper>
-{
-  typedef const TriangularView<const typename MatrixType::AdjointReturnType, Lower> MatrixL;
-  typedef const TriangularView<const MatrixType, Upper> MatrixU;
-  static inline MatrixL getL(const MatrixType& m) { return m.adjoint(); }
-  static inline MatrixU getU(const MatrixType& m) { return m; }
-  static bool inplace_decomposition(MatrixType& m)
-  { return llt_inplace<typename MatrixType::Scalar, Upper>::blocked(m)==-1; }
-};
-
-} // end namespace internal
-
-/** Computes / recomputes the Cholesky decomposition A = LL^* = U^*U of \a matrix
-  *
-  * \returns a reference to *this
-  *
-  * Example: \include TutorialLinAlgComputeTwice.cpp
-  * Output: \verbinclude TutorialLinAlgComputeTwice.out
-  */
-template<typename MatrixType, int _UpLo>
-LLT<MatrixType,_UpLo>& LLT<MatrixType,_UpLo>::compute(const MatrixType& a)
-{
-  check_template_parameters();
-  
-  eigen_assert(a.rows()==a.cols());
-  const Index size = a.rows();
-  m_matrix.resize(size, size);
-  m_matrix = a;
-
-  m_isInitialized = true;
-  bool ok = Traits::inplace_decomposition(m_matrix);
-  m_info = ok ? Success : NumericalIssue;
-
-  return *this;
-}
-
-/** Performs a rank one update (or dowdate) of the current decomposition.
-  * If A = LL^* before the rank one update,
-  * then after it we have LL^* = A + sigma * v v^* where \a v must be a vector
-  * of same dimension.
-  */
-template<typename _MatrixType, int _UpLo>
-template<typename VectorType>
-LLT<_MatrixType,_UpLo> LLT<_MatrixType,_UpLo>::rankUpdate(const VectorType& v, const RealScalar& sigma)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(VectorType);
-  eigen_assert(v.size()==m_matrix.cols());
-  eigen_assert(m_isInitialized);
-  if(internal::llt_inplace<typename MatrixType::Scalar, UpLo>::rankUpdate(m_matrix,v,sigma)>=0)
-    m_info = NumericalIssue;
-  else
-    m_info = Success;
-
-  return *this;
-}
-    
-namespace internal {
-template<typename _MatrixType, int UpLo, typename Rhs>
-struct solve_retval<LLT<_MatrixType, UpLo>, Rhs>
-  : solve_retval_base<LLT<_MatrixType, UpLo>, Rhs>
-{
-  typedef LLT<_MatrixType,UpLo> LLTType;
-  EIGEN_MAKE_SOLVE_HELPERS(LLTType,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dst = rhs();
-    dec().solveInPlace(dst);
-  }
-};
-}
-
-/** \internal use x = llt_object.solve(x);
-  * 
-  * This is the \em in-place version of solve().
-  *
-  * \param bAndX represents both the right-hand side matrix b and result x.
-  *
-  * \returns true always! If you need to check for existence of solutions, use another decomposition like LU, QR, or SVD.
-  *
-  * This version avoids a copy when the right hand side matrix b is not
-  * needed anymore.
-  *
-  * \sa LLT::solve(), MatrixBase::llt()
-  */
-template<typename MatrixType, int _UpLo>
-template<typename Derived>
-void LLT<MatrixType,_UpLo>::solveInPlace(MatrixBase<Derived> &bAndX) const
-{
-  eigen_assert(m_isInitialized && "LLT is not initialized.");
-  eigen_assert(m_matrix.rows()==bAndX.rows());
-  matrixL().solveInPlace(bAndX);
-  matrixU().solveInPlace(bAndX);
-}
-
-/** \returns the matrix represented by the decomposition,
- * i.e., it returns the product: L L^*.
- * This function is provided for debug purpose. */
-template<typename MatrixType, int _UpLo>
-MatrixType LLT<MatrixType,_UpLo>::reconstructedMatrix() const
-{
-  eigen_assert(m_isInitialized && "LLT is not initialized.");
-  return matrixL() * matrixL().adjoint().toDenseMatrix();
-}
-
-/** \cholesky_module
-  * \returns the LLT decomposition of \c *this
-  */
-template<typename Derived>
-inline const LLT<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::llt() const
-{
-  return LLT<PlainObject>(derived());
-}
-
-/** \cholesky_module
-  * \returns the LLT decomposition of \c *this
-  */
-template<typename MatrixType, unsigned int UpLo>
-inline const LLT<typename SelfAdjointView<MatrixType, UpLo>::PlainObject, UpLo>
-SelfAdjointView<MatrixType, UpLo>::llt() const
-{
-  return LLT<PlainObject,UpLo>(m_matrix);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_LLT_H
diff --git a/lib/Eigen/src/Cholesky/LLT_MKL.h b/lib/Eigen/src/Cholesky/LLT_MKL.h
deleted file mode 100644
index 66675d74..00000000
--- a/lib/Eigen/src/Cholesky/LLT_MKL.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *     LLt decomposition based on LAPACKE_?potrf function.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_LLT_MKL_H
-#define EIGEN_LLT_MKL_H
-
-#include "Eigen/src/Core/util/MKL_support.h"
-#include <iostream>
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Scalar> struct mkl_llt;
-
-#define EIGEN_MKL_LLT(EIGTYPE, MKLTYPE, MKLPREFIX) \
-template<> struct mkl_llt<EIGTYPE> \
-{ \
-  template<typename MatrixType> \
-  static inline typename MatrixType::Index potrf(MatrixType& m, char uplo) \
-  { \
-    lapack_int matrix_order; \
-    lapack_int size, lda, info, StorageOrder; \
-    EIGTYPE* a; \
-    eigen_assert(m.rows()==m.cols()); \
-    /* Set up parameters for ?potrf */ \
-    size = m.rows(); \
-    StorageOrder = MatrixType::Flags&RowMajorBit?RowMajor:ColMajor; \
-    matrix_order = StorageOrder==RowMajor ? LAPACK_ROW_MAJOR : LAPACK_COL_MAJOR; \
-    a = &(m.coeffRef(0,0)); \
-    lda = m.outerStride(); \
-\
-    info = LAPACKE_##MKLPREFIX##potrf( matrix_order, uplo, size, (MKLTYPE*)a, lda ); \
-    info = (info==0) ? -1 : info>0 ? info-1 : size; \
-    return info; \
-  } \
-}; \
-template<> struct llt_inplace<EIGTYPE, Lower> \
-{ \
-  template<typename MatrixType> \
-  static typename MatrixType::Index blocked(MatrixType& m) \
-  { \
-    return mkl_llt<EIGTYPE>::potrf(m, 'L'); \
-  } \
-  template<typename MatrixType, typename VectorType> \
-  static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \
-  { return Eigen::internal::llt_rank_update_lower(mat, vec, sigma); } \
-}; \
-template<> struct llt_inplace<EIGTYPE, Upper> \
-{ \
-  template<typename MatrixType> \
-  static typename MatrixType::Index blocked(MatrixType& m) \
-  { \
-    return mkl_llt<EIGTYPE>::potrf(m, 'U'); \
-  } \
-  template<typename MatrixType, typename VectorType> \
-  static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \
-  { \
-    Transpose<MatrixType> matt(mat); \
-    return llt_inplace<EIGTYPE, Lower>::rankUpdate(matt, vec.conjugate(), sigma); \
-  } \
-};
-
-EIGEN_MKL_LLT(double, double, d)
-EIGEN_MKL_LLT(float, float, s)
-EIGEN_MKL_LLT(dcomplex, MKL_Complex16, z)
-EIGEN_MKL_LLT(scomplex, MKL_Complex8, c)
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_LLT_MKL_H
diff --git a/lib/Eigen/src/CholmodSupport/CMakeLists.txt b/lib/Eigen/src/CholmodSupport/CMakeLists.txt
deleted file mode 100644
index 814dfa61..00000000
--- a/lib/Eigen/src/CholmodSupport/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_CholmodSupport_SRCS "*.h")
-
-INSTALL(FILES 
-  ${Eigen_CholmodSupport_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/CholmodSupport COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/CholmodSupport/CholmodSupport.h b/lib/Eigen/src/CholmodSupport/CholmodSupport.h
deleted file mode 100644
index 99dbe171..00000000
--- a/lib/Eigen/src/CholmodSupport/CholmodSupport.h
+++ /dev/null
@@ -1,607 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CHOLMODSUPPORT_H
-#define EIGEN_CHOLMODSUPPORT_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Scalar, typename CholmodType>
-void cholmod_configure_matrix(CholmodType& mat)
-{
-  if (internal::is_same<Scalar,float>::value)
-  {
-    mat.xtype = CHOLMOD_REAL;
-    mat.dtype = CHOLMOD_SINGLE;
-  }
-  else if (internal::is_same<Scalar,double>::value)
-  {
-    mat.xtype = CHOLMOD_REAL;
-    mat.dtype = CHOLMOD_DOUBLE;
-  }
-  else if (internal::is_same<Scalar,std::complex<float> >::value)
-  {
-    mat.xtype = CHOLMOD_COMPLEX;
-    mat.dtype = CHOLMOD_SINGLE;
-  }
-  else if (internal::is_same<Scalar,std::complex<double> >::value)
-  {
-    mat.xtype = CHOLMOD_COMPLEX;
-    mat.dtype = CHOLMOD_DOUBLE;
-  }
-  else
-  {
-    eigen_assert(false && "Scalar type not supported by CHOLMOD");
-  }
-}
-
-} // namespace internal
-
-/** Wraps the Eigen sparse matrix \a mat into a Cholmod sparse matrix object.
-  * Note that the data are shared.
-  */
-template<typename _Scalar, int _Options, typename _Index>
-cholmod_sparse viewAsCholmod(SparseMatrix<_Scalar,_Options,_Index>& mat)
-{
-  cholmod_sparse res;
-  res.nzmax   = mat.nonZeros();
-  res.nrow    = mat.rows();;
-  res.ncol    = mat.cols();
-  res.p       = mat.outerIndexPtr();
-  res.i       = mat.innerIndexPtr();
-  res.x       = mat.valuePtr();
-  res.z       = 0;
-  res.sorted  = 1;
-  if(mat.isCompressed())
-  {
-    res.packed  = 1;
-    res.nz = 0;
-  }
-  else
-  {
-    res.packed  = 0;
-    res.nz = mat.innerNonZeroPtr();
-  }
-
-  res.dtype   = 0;
-  res.stype   = -1;
-  
-  if (internal::is_same<_Index,int>::value)
-  {
-    res.itype = CHOLMOD_INT;
-  }
-  else if (internal::is_same<_Index,SuiteSparse_long>::value)
-  {
-    res.itype = CHOLMOD_LONG;
-  }
-  else
-  {
-    eigen_assert(false && "Index type not supported yet");
-  }
-
-  // setup res.xtype
-  internal::cholmod_configure_matrix<_Scalar>(res);
-  
-  res.stype = 0;
-  
-  return res;
-}
-
-template<typename _Scalar, int _Options, typename _Index>
-const cholmod_sparse viewAsCholmod(const SparseMatrix<_Scalar,_Options,_Index>& mat)
-{
-  cholmod_sparse res = viewAsCholmod(mat.const_cast_derived());
-  return res;
-}
-
-/** Returns a view of the Eigen sparse matrix \a mat as Cholmod sparse matrix.
-  * The data are not copied but shared. */
-template<typename _Scalar, int _Options, typename _Index, unsigned int UpLo>
-cholmod_sparse viewAsCholmod(const SparseSelfAdjointView<SparseMatrix<_Scalar,_Options,_Index>, UpLo>& mat)
-{
-  cholmod_sparse res = viewAsCholmod(mat.matrix().const_cast_derived());
-  
-  if(UpLo==Upper) res.stype =  1;
-  if(UpLo==Lower) res.stype = -1;
-
-  return res;
-}
-
-/** Returns a view of the Eigen \b dense matrix \a mat as Cholmod dense matrix.
-  * The data are not copied but shared. */
-template<typename Derived>
-cholmod_dense viewAsCholmod(MatrixBase<Derived>& mat)
-{
-  EIGEN_STATIC_ASSERT((internal::traits<Derived>::Flags&RowMajorBit)==0,THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES);
-  typedef typename Derived::Scalar Scalar;
-
-  cholmod_dense res;
-  res.nrow   = mat.rows();
-  res.ncol   = mat.cols();
-  res.nzmax  = res.nrow * res.ncol;
-  res.d      = Derived::IsVectorAtCompileTime ? mat.derived().size() : mat.derived().outerStride();
-  res.x      = (void*)(mat.derived().data());
-  res.z      = 0;
-
-  internal::cholmod_configure_matrix<Scalar>(res);
-
-  return res;
-}
-
-/** Returns a view of the Cholmod sparse matrix \a cm as an Eigen sparse matrix.
-  * The data are not copied but shared. */
-template<typename Scalar, int Flags, typename Index>
-MappedSparseMatrix<Scalar,Flags,Index> viewAsEigen(cholmod_sparse& cm)
-{
-  return MappedSparseMatrix<Scalar,Flags,Index>
-         (cm.nrow, cm.ncol, static_cast<Index*>(cm.p)[cm.ncol],
-          static_cast<Index*>(cm.p), static_cast<Index*>(cm.i),static_cast<Scalar*>(cm.x) );
-}
-
-enum CholmodMode {
-  CholmodAuto, CholmodSimplicialLLt, CholmodSupernodalLLt, CholmodLDLt
-};
-
-
-/** \ingroup CholmodSupport_Module
-  * \class CholmodBase
-  * \brief The base class for the direct Cholesky factorization of Cholmod
-  * \sa class CholmodSupernodalLLT, class CholmodSimplicialLDLT, class CholmodSimplicialLLT
-  */
-template<typename _MatrixType, int _UpLo, typename Derived>
-class CholmodBase : internal::noncopyable
-{
-  public:
-    typedef _MatrixType MatrixType;
-    enum { UpLo = _UpLo };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef MatrixType CholMatrixType;
-    typedef typename MatrixType::Index Index;
-
-  public:
-
-    CholmodBase()
-      : m_cholmodFactor(0), m_info(Success), m_isInitialized(false)
-    {
-      m_shiftOffset[0] = m_shiftOffset[1] = RealScalar(0.0);
-      cholmod_start(&m_cholmod);
-    }
-
-    CholmodBase(const MatrixType& matrix)
-      : m_cholmodFactor(0), m_info(Success), m_isInitialized(false)
-    {
-      m_shiftOffset[0] = m_shiftOffset[1] = RealScalar(0.0);
-      cholmod_start(&m_cholmod);
-      compute(matrix);
-    }
-
-    ~CholmodBase()
-    {
-      if(m_cholmodFactor)
-        cholmod_free_factor(&m_cholmodFactor, &m_cholmod);
-      cholmod_finish(&m_cholmod);
-    }
-    
-    inline Index cols() const { return m_cholmodFactor->n; }
-    inline Index rows() const { return m_cholmodFactor->n; }
-    
-    Derived& derived() { return *static_cast<Derived*>(this); }
-    const Derived& derived() const { return *static_cast<const Derived*>(this); }
-    
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the matrix.appears to be negative.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_info;
-    }
-
-    /** Computes the sparse Cholesky decomposition of \a matrix */
-    Derived& compute(const MatrixType& matrix)
-    {
-      analyzePattern(matrix);
-      factorize(matrix);
-      return derived();
-    }
-    
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<CholmodBase, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "LLT is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "CholmodDecomposition::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<CholmodBase, Rhs>(*this, b.derived());
-    }
-    
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::sparse_solve_retval<CholmodBase, Rhs>
-    solve(const SparseMatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "LLT is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "CholmodDecomposition::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::sparse_solve_retval<CholmodBase, Rhs>(*this, b.derived());
-    }
-    
-    /** Performs a symbolic decomposition on the sparsity pattern of \a matrix.
-      *
-      * This function is particularly useful when solving for several problems having the same structure.
-      * 
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& matrix)
-    {
-      if(m_cholmodFactor)
-      {
-        cholmod_free_factor(&m_cholmodFactor, &m_cholmod);
-        m_cholmodFactor = 0;
-      }
-      cholmod_sparse A = viewAsCholmod(matrix.template selfadjointView<UpLo>());
-      m_cholmodFactor = cholmod_analyze(&A, &m_cholmod);
-      
-      this->m_isInitialized = true;
-      this->m_info = Success;
-      m_analysisIsOk = true;
-      m_factorizationIsOk = false;
-    }
-    
-    /** Performs a numeric decomposition of \a matrix
-      *
-      * The given matrix must have the same sparsity pattern as the matrix on which the symbolic decomposition has been performed.
-      *
-      * \sa analyzePattern()
-      */
-    void factorize(const MatrixType& matrix)
-    {
-      eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
-      cholmod_sparse A = viewAsCholmod(matrix.template selfadjointView<UpLo>());
-      cholmod_factorize_p(&A, m_shiftOffset, 0, 0, m_cholmodFactor, &m_cholmod);
-      
-      // If the factorization failed, minor is the column at which it did. On success minor == n.
-      this->m_info = (m_cholmodFactor->minor == m_cholmodFactor->n ? Success : NumericalIssue);
-      m_factorizationIsOk = true;
-    }
-    
-    /** Returns a reference to the Cholmod's configuration structure to get a full control over the performed operations.
-     *  See the Cholmod user guide for details. */
-    cholmod_common& cholmod() { return m_cholmod; }
-    
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** \internal */
-    template<typename Rhs,typename Dest>
-    void _solve(const MatrixBase<Rhs> &b, MatrixBase<Dest> &dest) const
-    {
-      eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or symbolic()/numeric()");
-      const Index size = m_cholmodFactor->n;
-      EIGEN_UNUSED_VARIABLE(size);
-      eigen_assert(size==b.rows());
-
-      // note: cd stands for Cholmod Dense
-      Rhs& b_ref(b.const_cast_derived());
-      cholmod_dense b_cd = viewAsCholmod(b_ref);
-      cholmod_dense* x_cd = cholmod_solve(CHOLMOD_A, m_cholmodFactor, &b_cd, &m_cholmod);
-      if(!x_cd)
-      {
-        this->m_info = NumericalIssue;
-      }
-      // TODO optimize this copy by swapping when possible (be careful with alignment, etc.)
-      dest = Matrix<Scalar,Dest::RowsAtCompileTime,Dest::ColsAtCompileTime>::Map(reinterpret_cast<Scalar*>(x_cd->x),b.rows(),b.cols());
-      cholmod_free_dense(&x_cd, &m_cholmod);
-    }
-    
-    /** \internal */
-    template<typename RhsScalar, int RhsOptions, typename RhsIndex, typename DestScalar, int DestOptions, typename DestIndex>
-    void _solve(const SparseMatrix<RhsScalar,RhsOptions,RhsIndex> &b, SparseMatrix<DestScalar,DestOptions,DestIndex> &dest) const
-    {
-      eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or symbolic()/numeric()");
-      const Index size = m_cholmodFactor->n;
-      EIGEN_UNUSED_VARIABLE(size);
-      eigen_assert(size==b.rows());
-
-      // note: cs stands for Cholmod Sparse
-      cholmod_sparse b_cs = viewAsCholmod(b);
-      cholmod_sparse* x_cs = cholmod_spsolve(CHOLMOD_A, m_cholmodFactor, &b_cs, &m_cholmod);
-      if(!x_cs)
-      {
-        this->m_info = NumericalIssue;
-      }
-      // TODO optimize this copy by swapping when possible (be careful with alignment, etc.)
-      dest = viewAsEigen<DestScalar,DestOptions,DestIndex>(*x_cs);
-      cholmod_free_sparse(&x_cs, &m_cholmod);
-    }
-    #endif // EIGEN_PARSED_BY_DOXYGEN
-    
-    
-    /** Sets the shift parameter that will be used to adjust the diagonal coefficients during the numerical factorization.
-      *
-      * During the numerical factorization, an offset term is added to the diagonal coefficients:\n
-      * \c d_ii = \a offset + \c d_ii
-      *
-      * The default is \a offset=0.
-      *
-      * \returns a reference to \c *this.
-      */
-    Derived& setShift(const RealScalar& offset)
-    {
-      m_shiftOffset[0] = offset;
-      return derived();
-    }
-    
-    template<typename Stream>
-    void dumpMemory(Stream& /*s*/)
-    {}
-    
-  protected:
-    mutable cholmod_common m_cholmod;
-    cholmod_factor* m_cholmodFactor;
-    RealScalar m_shiftOffset[2];
-    mutable ComputationInfo m_info;
-    bool m_isInitialized;
-    int m_factorizationIsOk;
-    int m_analysisIsOk;
-};
-
-/** \ingroup CholmodSupport_Module
-  * \class CholmodSimplicialLLT
-  * \brief A simplicial direct Cholesky (LLT) factorization and solver based on Cholmod
-  *
-  * This class allows to solve for A.X = B sparse linear problems via a simplicial LL^T Cholesky factorization
-  * using the Cholmod library.
-  * This simplicial variant is equivalent to Eigen's built-in SimplicialLLT class. Therefore, it has little practical interest.
-  * The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices
-  * X and B can be either dense or sparse.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower
-  *               or Upper. Default is Lower.
-  *
-  * This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.
-  *
-  * \sa \ref TutorialSparseDirectSolvers, class CholmodSupernodalLLT, class SimplicialLLT
-  */
-template<typename _MatrixType, int _UpLo = Lower>
-class CholmodSimplicialLLT : public CholmodBase<_MatrixType, _UpLo, CholmodSimplicialLLT<_MatrixType, _UpLo> >
-{
-    typedef CholmodBase<_MatrixType, _UpLo, CholmodSimplicialLLT> Base;
-    using Base::m_cholmod;
-    
-  public:
-    
-    typedef _MatrixType MatrixType;
-    
-    CholmodSimplicialLLT() : Base() { init(); }
-
-    CholmodSimplicialLLT(const MatrixType& matrix) : Base()
-    {
-      init();
-      Base::compute(matrix);
-    }
-
-    ~CholmodSimplicialLLT() {}
-  protected:
-    void init()
-    {
-      m_cholmod.final_asis = 0;
-      m_cholmod.supernodal = CHOLMOD_SIMPLICIAL;
-      m_cholmod.final_ll = 1;
-    }
-};
-
-
-/** \ingroup CholmodSupport_Module
-  * \class CholmodSimplicialLDLT
-  * \brief A simplicial direct Cholesky (LDLT) factorization and solver based on Cholmod
-  *
-  * This class allows to solve for A.X = B sparse linear problems via a simplicial LDL^T Cholesky factorization
-  * using the Cholmod library.
-  * This simplicial variant is equivalent to Eigen's built-in SimplicialLDLT class. Therefore, it has little practical interest.
-  * The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices
-  * X and B can be either dense or sparse.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower
-  *               or Upper. Default is Lower.
-  *
-  * This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.
-  *
-  * \sa \ref TutorialSparseDirectSolvers, class CholmodSupernodalLLT, class SimplicialLDLT
-  */
-template<typename _MatrixType, int _UpLo = Lower>
-class CholmodSimplicialLDLT : public CholmodBase<_MatrixType, _UpLo, CholmodSimplicialLDLT<_MatrixType, _UpLo> >
-{
-    typedef CholmodBase<_MatrixType, _UpLo, CholmodSimplicialLDLT> Base;
-    using Base::m_cholmod;
-    
-  public:
-    
-    typedef _MatrixType MatrixType;
-    
-    CholmodSimplicialLDLT() : Base() { init(); }
-
-    CholmodSimplicialLDLT(const MatrixType& matrix) : Base()
-    {
-      init();
-      Base::compute(matrix);
-    }
-
-    ~CholmodSimplicialLDLT() {}
-  protected:
-    void init()
-    {
-      m_cholmod.final_asis = 1;
-      m_cholmod.supernodal = CHOLMOD_SIMPLICIAL;
-    }
-};
-
-/** \ingroup CholmodSupport_Module
-  * \class CholmodSupernodalLLT
-  * \brief A supernodal Cholesky (LLT) factorization and solver based on Cholmod
-  *
-  * This class allows to solve for A.X = B sparse linear problems via a supernodal LL^T Cholesky factorization
-  * using the Cholmod library.
-  * This supernodal variant performs best on dense enough problems, e.g., 3D FEM, or very high order 2D FEM.
-  * The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices
-  * X and B can be either dense or sparse.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower
-  *               or Upper. Default is Lower.
-  *
-  * This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.
-  *
-  * \sa \ref TutorialSparseDirectSolvers
-  */
-template<typename _MatrixType, int _UpLo = Lower>
-class CholmodSupernodalLLT : public CholmodBase<_MatrixType, _UpLo, CholmodSupernodalLLT<_MatrixType, _UpLo> >
-{
-    typedef CholmodBase<_MatrixType, _UpLo, CholmodSupernodalLLT> Base;
-    using Base::m_cholmod;
-    
-  public:
-    
-    typedef _MatrixType MatrixType;
-    
-    CholmodSupernodalLLT() : Base() { init(); }
-
-    CholmodSupernodalLLT(const MatrixType& matrix) : Base()
-    {
-      init();
-      Base::compute(matrix);
-    }
-
-    ~CholmodSupernodalLLT() {}
-  protected:
-    void init()
-    {
-      m_cholmod.final_asis = 1;
-      m_cholmod.supernodal = CHOLMOD_SUPERNODAL;
-    }
-};
-
-/** \ingroup CholmodSupport_Module
-  * \class CholmodDecomposition
-  * \brief A general Cholesky factorization and solver based on Cholmod
-  *
-  * This class allows to solve for A.X = B sparse linear problems via a LL^T or LDL^T Cholesky factorization
-  * using the Cholmod library. The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices
-  * X and B can be either dense or sparse.
-  *
-  * This variant permits to change the underlying Cholesky method at runtime.
-  * On the other hand, it does not provide access to the result of the factorization.
-  * The default is to let Cholmod automatically choose between a simplicial and supernodal factorization.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower
-  *               or Upper. Default is Lower.
-  *
-  * This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.
-  *
-  * \sa \ref TutorialSparseDirectSolvers
-  */
-template<typename _MatrixType, int _UpLo = Lower>
-class CholmodDecomposition : public CholmodBase<_MatrixType, _UpLo, CholmodDecomposition<_MatrixType, _UpLo> >
-{
-    typedef CholmodBase<_MatrixType, _UpLo, CholmodDecomposition> Base;
-    using Base::m_cholmod;
-    
-  public:
-    
-    typedef _MatrixType MatrixType;
-    
-    CholmodDecomposition() : Base() { init(); }
-
-    CholmodDecomposition(const MatrixType& matrix) : Base()
-    {
-      init();
-      Base::compute(matrix);
-    }
-
-    ~CholmodDecomposition() {}
-    
-    void setMode(CholmodMode mode)
-    {
-      switch(mode)
-      {
-        case CholmodAuto:
-          m_cholmod.final_asis = 1;
-          m_cholmod.supernodal = CHOLMOD_AUTO;
-          break;
-        case CholmodSimplicialLLt:
-          m_cholmod.final_asis = 0;
-          m_cholmod.supernodal = CHOLMOD_SIMPLICIAL;
-          m_cholmod.final_ll = 1;
-          break;
-        case CholmodSupernodalLLt:
-          m_cholmod.final_asis = 1;
-          m_cholmod.supernodal = CHOLMOD_SUPERNODAL;
-          break;
-        case CholmodLDLt:
-          m_cholmod.final_asis = 1;
-          m_cholmod.supernodal = CHOLMOD_SIMPLICIAL;
-          break;
-        default:
-          break;
-      }
-    }
-  protected:
-    void init()
-    {
-      m_cholmod.final_asis = 1;
-      m_cholmod.supernodal = CHOLMOD_AUTO;
-    }
-};
-
-namespace internal {
-  
-template<typename _MatrixType, int _UpLo, typename Derived, typename Rhs>
-struct solve_retval<CholmodBase<_MatrixType,_UpLo,Derived>, Rhs>
-  : solve_retval_base<CholmodBase<_MatrixType,_UpLo,Derived>, Rhs>
-{
-  typedef CholmodBase<_MatrixType,_UpLo,Derived> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-template<typename _MatrixType, int _UpLo, typename Derived, typename Rhs>
-struct sparse_solve_retval<CholmodBase<_MatrixType,_UpLo,Derived>, Rhs>
-  : sparse_solve_retval_base<CholmodBase<_MatrixType,_UpLo,Derived>, Rhs>
-{
-  typedef CholmodBase<_MatrixType,_UpLo,Derived> Dec;
-  EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_CHOLMODSUPPORT_H
diff --git a/lib/Eigen/src/Core/Array.h b/lib/Eigen/src/Core/Array.h
deleted file mode 100644
index 0b9c38c8..00000000
--- a/lib/Eigen/src/Core/Array.h
+++ /dev/null
@@ -1,323 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ARRAY_H
-#define EIGEN_ARRAY_H
-
-namespace Eigen {
-
-/** \class Array 
-  * \ingroup Core_Module
-  *
-  * \brief General-purpose arrays with easy API for coefficient-wise operations
-  *
-  * The %Array class is very similar to the Matrix class. It provides
-  * general-purpose one- and two-dimensional arrays. The difference between the
-  * %Array and the %Matrix class is primarily in the API: the API for the
-  * %Array class provides easy access to coefficient-wise operations, while the
-  * API for the %Matrix class provides easy access to linear-algebra
-  * operations.
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_ARRAY_PLUGIN.
-  *
-  * \sa \ref TutorialArrayClass, \ref TopicClassHierarchy
-  */
-namespace internal {
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-struct traits<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > : traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
-{
-  typedef ArrayXpr XprKind;
-  typedef ArrayBase<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > XprBase;
-};
-}
-
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-class Array
-  : public PlainObjectBase<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
-{
-  public:
-
-    typedef PlainObjectBase<Array> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Array)
-
-    enum { Options = _Options };
-    typedef typename Base::PlainObject PlainObject;
-
-  protected:
-    template <typename Derived, typename OtherDerived, bool IsVector>
-    friend struct internal::conservative_resize_like_impl;
-
-    using Base::m_storage;
-
-  public:
-
-    using Base::base;
-    using Base::coeff;
-    using Base::coeffRef;
-
-    /**
-      * The usage of
-      *   using Base::operator=;
-      * fails on MSVC. Since the code below is working with GCC and MSVC, we skipped
-      * the usage of 'using'. This should be done only for operator=.
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Array& operator=(const EigenBase<OtherDerived> &other)
-    {
-      return Base::operator=(other);
-    }
-
-    /** Copies the value of the expression \a other into \c *this with automatic resizing.
-      *
-      * *this might be resized to match the dimensions of \a other. If *this was a null matrix (not already initialized),
-      * it will be initialized.
-      *
-      * Note that copying a row-vector into a vector (and conversely) is allowed.
-      * The resizing, if any, is then done in the appropriate way so that row-vectors
-      * remain row-vectors and vectors remain vectors.
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Array& operator=(const ArrayBase<OtherDerived>& other)
-    {
-      return Base::_set(other);
-    }
-
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    EIGEN_STRONG_INLINE Array& operator=(const Array& other)
-    {
-      return Base::_set(other);
-    }
-
-    /** Default constructor.
-      *
-      * For fixed-size matrices, does nothing.
-      *
-      * For dynamic-size matrices, creates an empty matrix of size 0. Does not allocate any array. Such a matrix
-      * is called a null matrix. This constructor is the unique way to create null matrices: resizing
-      * a matrix to 0 is not supported.
-      *
-      * \sa resize(Index,Index)
-      */
-    EIGEN_STRONG_INLINE Array() : Base()
-    {
-      Base::_check_template_params();
-      EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-    }
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    // FIXME is it still needed ??
-    /** \internal */
-    Array(internal::constructor_without_unaligned_array_assert)
-      : Base(internal::constructor_without_unaligned_array_assert())
-    {
-      Base::_check_template_params();
-      EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-    }
-#endif
-
-#ifdef EIGEN_HAVE_RVALUE_REFERENCES
-    Array(Array&& other)
-      : Base(std::move(other))
-    {
-      Base::_check_template_params();
-      if (RowsAtCompileTime!=Dynamic && ColsAtCompileTime!=Dynamic)
-        Base::_set_noalias(other);
-    }
-    Array& operator=(Array&& other)
-    {
-      other.swap(*this);
-      return *this;
-    }
-#endif
-
-    /** Constructs a vector or row-vector with given dimension. \only_for_vectors
-      *
-      * Note that this is only useful for dynamic-size vectors. For fixed-size vectors,
-      * it is redundant to pass the dimension here, so it makes more sense to use the default
-      * constructor Matrix() instead.
-      */
-    EIGEN_STRONG_INLINE explicit Array(Index dim)
-      : Base(dim, RowsAtCompileTime == 1 ? 1 : dim, ColsAtCompileTime == 1 ? 1 : dim)
-    {
-      Base::_check_template_params();
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(Array)
-      eigen_assert(dim >= 0);
-      eigen_assert(SizeAtCompileTime == Dynamic || SizeAtCompileTime == dim);
-      EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    template<typename T0, typename T1>
-    EIGEN_STRONG_INLINE Array(const T0& val0, const T1& val1)
-    {
-      Base::_check_template_params();
-      this->template _init2<T0,T1>(val0, val1);
-    }
-    #else
-    /** constructs an uninitialized matrix with \a rows rows and \a cols columns.
-      *
-      * This is useful for dynamic-size matrices. For fixed-size matrices,
-      * it is redundant to pass these parameters, so one should use the default constructor
-      * Matrix() instead. */
-    Array(Index rows, Index cols);
-    /** constructs an initialized 2D vector with given coefficients */
-    Array(const Scalar& val0, const Scalar& val1);
-    #endif
-
-    /** constructs an initialized 3D vector with given coefficients */
-    EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2)
-    {
-      Base::_check_template_params();
-      EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Array, 3)
-      m_storage.data()[0] = val0;
-      m_storage.data()[1] = val1;
-      m_storage.data()[2] = val2;
-    }
-    /** constructs an initialized 4D vector with given coefficients */
-    EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2, const Scalar& val3)
-    {
-      Base::_check_template_params();
-      EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Array, 4)
-      m_storage.data()[0] = val0;
-      m_storage.data()[1] = val1;
-      m_storage.data()[2] = val2;
-      m_storage.data()[3] = val3;
-    }
-
-    explicit Array(const Scalar *data);
-
-    /** Constructor copying the value of the expression \a other */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Array(const ArrayBase<OtherDerived>& other)
-             : Base(other.rows() * other.cols(), other.rows(), other.cols())
-    {
-      Base::_check_template_params();
-      Base::_set_noalias(other);
-    }
-    /** Copy constructor */
-    EIGEN_STRONG_INLINE Array(const Array& other)
-            : Base(other.rows() * other.cols(), other.rows(), other.cols())
-    {
-      Base::_check_template_params();
-      Base::_set_noalias(other);
-    }
-    /** Copy constructor with in-place evaluation */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Array(const ReturnByValue<OtherDerived>& other)
-    {
-      Base::_check_template_params();
-      Base::resize(other.rows(), other.cols());
-      other.evalTo(*this);
-    }
-
-    /** \sa MatrixBase::operator=(const EigenBase<OtherDerived>&) */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Array(const EigenBase<OtherDerived> &other)
-      : Base(other.derived().rows() * other.derived().cols(), other.derived().rows(), other.derived().cols())
-    {
-      Base::_check_template_params();
-      Base::_resize_to_match(other);
-      *this = other;
-    }
-
-    /** Override MatrixBase::swap() since for dynamic-sized matrices of same type it is enough to swap the
-      * data pointers.
-      */
-    template<typename OtherDerived>
-    void swap(ArrayBase<OtherDerived> const & other)
-    { this->_swap(other.derived()); }
-
-    inline Index innerStride() const { return 1; }
-    inline Index outerStride() const { return this->innerSize(); }
-
-    #ifdef EIGEN_ARRAY_PLUGIN
-    #include EIGEN_ARRAY_PLUGIN
-    #endif
-
-  private:
-
-    template<typename MatrixType, typename OtherDerived, bool SwapPointers>
-    friend struct internal::matrix_swap_impl;
-};
-
-/** \defgroup arraytypedefs Global array typedefs
-  * \ingroup Core_Module
-  *
-  * Eigen defines several typedef shortcuts for most common 1D and 2D array types.
-  *
-  * The general patterns are the following:
-  *
-  * \c ArrayRowsColsType where \c Rows and \c Cols can be \c 2,\c 3,\c 4 for fixed size square matrices or \c X for dynamic size,
-  * and where \c Type can be \c i for integer, \c f for float, \c d for double, \c cf for complex float, \c cd
-  * for complex double.
-  *
-  * For example, \c Array33d is a fixed-size 3x3 array type of doubles, and \c ArrayXXf is a dynamic-size matrix of floats.
-  *
-  * There are also \c ArraySizeType which are self-explanatory. For example, \c Array4cf is
-  * a fixed-size 1D array of 4 complex floats.
-  *
-  * \sa class Array
-  */
-
-#define EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix)   \
-/** \ingroup arraytypedefs */                                    \
-typedef Array<Type, Size, Size> Array##SizeSuffix##SizeSuffix##TypeSuffix;  \
-/** \ingroup arraytypedefs */                                    \
-typedef Array<Type, Size, 1>    Array##SizeSuffix##TypeSuffix;
-
-#define EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, Size)         \
-/** \ingroup arraytypedefs */                                    \
-typedef Array<Type, Size, Dynamic> Array##Size##X##TypeSuffix;  \
-/** \ingroup arraytypedefs */                                    \
-typedef Array<Type, Dynamic, Size> Array##X##Size##TypeSuffix;
-
-#define EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(Type, TypeSuffix) \
-EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 2, 2) \
-EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 3, 3) \
-EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 4, 4) \
-EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, Dynamic, X) \
-EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 2) \
-EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 3) \
-EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 4)
-
-EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(int,                  i)
-EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(float,                f)
-EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(double,               d)
-EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(std::complex<float>,  cf)
-EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(std::complex<double>, cd)
-
-#undef EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES
-#undef EIGEN_MAKE_ARRAY_TYPEDEFS
-
-#undef EIGEN_MAKE_ARRAY_TYPEDEFS_LARGE
-
-#define EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, SizeSuffix) \
-using Eigen::Matrix##SizeSuffix##TypeSuffix; \
-using Eigen::Vector##SizeSuffix##TypeSuffix; \
-using Eigen::RowVector##SizeSuffix##TypeSuffix;
-
-#define EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(TypeSuffix) \
-EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 2) \
-EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 3) \
-EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 4) \
-EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, X) \
-
-#define EIGEN_USING_ARRAY_TYPEDEFS \
-EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(i) \
-EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(f) \
-EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(d) \
-EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(cf) \
-EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(cd)
-
-} // end namespace Eigen
-
-#endif // EIGEN_ARRAY_H
diff --git a/lib/Eigen/src/Core/ArrayBase.h b/lib/Eigen/src/Core/ArrayBase.h
deleted file mode 100644
index 33ff5537..00000000
--- a/lib/Eigen/src/Core/ArrayBase.h
+++ /dev/null
@@ -1,226 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ARRAYBASE_H
-#define EIGEN_ARRAYBASE_H
-
-namespace Eigen { 
-
-template<typename ExpressionType> class MatrixWrapper;
-
-/** \class ArrayBase
-  * \ingroup Core_Module
-  *
-  * \brief Base class for all 1D and 2D array, and related expressions
-  *
-  * An array is similar to a dense vector or matrix. While matrices are mathematical
-  * objects with well defined linear algebra operators, an array is just a collection
-  * of scalar values arranged in a one or two dimensionnal fashion. As the main consequence,
-  * all operations applied to an array are performed coefficient wise. Furthermore,
-  * arrays support scalar math functions of the c++ standard library (e.g., std::sin(x)), and convenient
-  * constructors allowing to easily write generic code working for both scalar values
-  * and arrays.
-  *
-  * This class is the base that is inherited by all array expression types.
-  *
-  * \tparam Derived is the derived type, e.g., an array or an expression type.
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_ARRAYBASE_PLUGIN.
-  *
-  * \sa class MatrixBase, \ref TopicClassHierarchy
-  */
-template<typename Derived> class ArrayBase
-  : public DenseBase<Derived>
-{
-  public:
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** The base class for a given storage type. */
-    typedef ArrayBase StorageBaseType;
-
-    typedef ArrayBase Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl;
-
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename internal::packet_traits<Scalar>::type PacketScalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-    typedef DenseBase<Derived> Base;
-    using Base::operator*;
-    using Base::RowsAtCompileTime;
-    using Base::ColsAtCompileTime;
-    using Base::SizeAtCompileTime;
-    using Base::MaxRowsAtCompileTime;
-    using Base::MaxColsAtCompileTime;
-    using Base::MaxSizeAtCompileTime;
-    using Base::IsVectorAtCompileTime;
-    using Base::Flags;
-    using Base::CoeffReadCost;
-
-    using Base::derived;
-    using Base::const_cast_derived;
-    using Base::rows;
-    using Base::cols;
-    using Base::size;
-    using Base::coeff;
-    using Base::coeffRef;
-    using Base::lazyAssign;
-    using Base::operator=;
-    using Base::operator+=;
-    using Base::operator-=;
-    using Base::operator*=;
-    using Base::operator/=;
-
-    typedef typename Base::CoeffReturnType CoeffReturnType;
-
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** \internal the plain matrix type corresponding to this expression. Note that is not necessarily
-      * exactly the return type of eval(): in the case of plain matrices, the return type of eval() is a const
-      * reference to a matrix, not a matrix! It is however guaranteed that the return type of eval() is either
-      * PlainObject or const PlainObject&.
-      */
-    typedef Array<typename internal::traits<Derived>::Scalar,
-                internal::traits<Derived>::RowsAtCompileTime,
-                internal::traits<Derived>::ColsAtCompileTime,
-                AutoAlign | (internal::traits<Derived>::Flags&RowMajorBit ? RowMajor : ColMajor),
-                internal::traits<Derived>::MaxRowsAtCompileTime,
-                internal::traits<Derived>::MaxColsAtCompileTime
-          > PlainObject;
-
-
-    /** \internal Represents a matrix with all coefficients equal to one another*/
-    typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>,Derived> ConstantReturnType;
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-
-#define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::ArrayBase
-#   include "../plugins/CommonCwiseUnaryOps.h"
-#   include "../plugins/MatrixCwiseUnaryOps.h"
-#   include "../plugins/ArrayCwiseUnaryOps.h"
-#   include "../plugins/CommonCwiseBinaryOps.h"
-#   include "../plugins/MatrixCwiseBinaryOps.h"
-#   include "../plugins/ArrayCwiseBinaryOps.h"
-#   ifdef EIGEN_ARRAYBASE_PLUGIN
-#     include EIGEN_ARRAYBASE_PLUGIN
-#   endif
-#undef EIGEN_CURRENT_STORAGE_BASE_CLASS
-
-    /** Special case of the template operator=, in order to prevent the compiler
-      * from generating a default operator= (issue hit with g++ 4.1)
-      */
-    Derived& operator=(const ArrayBase& other)
-    {
-      return internal::assign_selector<Derived,Derived>::run(derived(), other.derived());
-    }
-
-    Derived& operator+=(const Scalar& scalar)
-    { return *this = derived() + scalar; }
-    Derived& operator-=(const Scalar& scalar)
-    { return *this = derived() - scalar; }
-
-    template<typename OtherDerived>
-    Derived& operator+=(const ArrayBase<OtherDerived>& other);
-    template<typename OtherDerived>
-    Derived& operator-=(const ArrayBase<OtherDerived>& other);
-
-    template<typename OtherDerived>
-    Derived& operator*=(const ArrayBase<OtherDerived>& other);
-
-    template<typename OtherDerived>
-    Derived& operator/=(const ArrayBase<OtherDerived>& other);
-
-  public:
-    ArrayBase<Derived>& array() { return *this; }
-    const ArrayBase<Derived>& array() const { return *this; }
-
-    /** \returns an \link Eigen::MatrixBase Matrix \endlink expression of this array
-      * \sa MatrixBase::array() */
-    MatrixWrapper<Derived> matrix() { return derived(); }
-    const MatrixWrapper<const Derived> matrix() const { return derived(); }
-
-//     template<typename Dest>
-//     inline void evalTo(Dest& dst) const { dst = matrix(); }
-
-  protected:
-    ArrayBase() : Base() {}
-
-  private:
-    explicit ArrayBase(Index);
-    ArrayBase(Index,Index);
-    template<typename OtherDerived> explicit ArrayBase(const ArrayBase<OtherDerived>&);
-  protected:
-    // mixing arrays and matrices is not legal
-    template<typename OtherDerived> Derived& operator+=(const MatrixBase<OtherDerived>& )
-    {EIGEN_STATIC_ASSERT(std::ptrdiff_t(sizeof(typename OtherDerived::Scalar))==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES); return *this;}
-    // mixing arrays and matrices is not legal
-    template<typename OtherDerived> Derived& operator-=(const MatrixBase<OtherDerived>& )
-    {EIGEN_STATIC_ASSERT(std::ptrdiff_t(sizeof(typename OtherDerived::Scalar))==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES); return *this;}
-};
-
-/** replaces \c *this by \c *this - \a other.
-  *
-  * \returns a reference to \c *this
-  */
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived &
-ArrayBase<Derived>::operator-=(const ArrayBase<OtherDerived> &other)
-{
-  SelfCwiseBinaryOp<internal::scalar_difference_op<Scalar>, Derived, OtherDerived> tmp(derived());
-  tmp = other.derived();
-  return derived();
-}
-
-/** replaces \c *this by \c *this + \a other.
-  *
-  * \returns a reference to \c *this
-  */
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived &
-ArrayBase<Derived>::operator+=(const ArrayBase<OtherDerived>& other)
-{
-  SelfCwiseBinaryOp<internal::scalar_sum_op<Scalar>, Derived, OtherDerived> tmp(derived());
-  tmp = other.derived();
-  return derived();
-}
-
-/** replaces \c *this by \c *this * \a other coefficient wise.
-  *
-  * \returns a reference to \c *this
-  */
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived &
-ArrayBase<Derived>::operator*=(const ArrayBase<OtherDerived>& other)
-{
-  SelfCwiseBinaryOp<internal::scalar_product_op<Scalar>, Derived, OtherDerived> tmp(derived());
-  tmp = other.derived();
-  return derived();
-}
-
-/** replaces \c *this by \c *this / \a other coefficient wise.
-  *
-  * \returns a reference to \c *this
-  */
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived &
-ArrayBase<Derived>::operator/=(const ArrayBase<OtherDerived>& other)
-{
-  SelfCwiseBinaryOp<internal::scalar_quotient_op<Scalar>, Derived, OtherDerived> tmp(derived());
-  tmp = other.derived();
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_ARRAYBASE_H
diff --git a/lib/Eigen/src/Core/ArrayWrapper.h b/lib/Eigen/src/Core/ArrayWrapper.h
deleted file mode 100644
index b4641e2a..00000000
--- a/lib/Eigen/src/Core/ArrayWrapper.h
+++ /dev/null
@@ -1,264 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ARRAYWRAPPER_H
-#define EIGEN_ARRAYWRAPPER_H
-
-namespace Eigen { 
-
-/** \class ArrayWrapper
-  * \ingroup Core_Module
-  *
-  * \brief Expression of a mathematical vector or matrix as an array object
-  *
-  * This class is the return type of MatrixBase::array(), and most of the time
-  * this is the only way it is use.
-  *
-  * \sa MatrixBase::array(), class MatrixWrapper
-  */
-
-namespace internal {
-template<typename ExpressionType>
-struct traits<ArrayWrapper<ExpressionType> >
-  : public traits<typename remove_all<typename ExpressionType::Nested>::type >
-{
-  typedef ArrayXpr XprKind;
-  // Let's remove NestByRefBit
-  enum {
-    Flags0 = traits<typename remove_all<typename ExpressionType::Nested>::type >::Flags,
-    Flags = Flags0 & ~NestByRefBit
-  };
-};
-}
-
-template<typename ExpressionType>
-class ArrayWrapper : public ArrayBase<ArrayWrapper<ExpressionType> >
-{
-  public:
-    typedef ArrayBase<ArrayWrapper> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(ArrayWrapper)
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(ArrayWrapper)
-
-    typedef typename internal::conditional<
-                       internal::is_lvalue<ExpressionType>::value,
-                       Scalar,
-                       const Scalar
-                     >::type ScalarWithConstIfNotLvalue;
-
-    typedef typename internal::nested<ExpressionType>::type NestedExpressionType;
-
-    inline ArrayWrapper(ExpressionType& matrix) : m_expression(matrix) {}
-
-    inline Index rows() const { return m_expression.rows(); }
-    inline Index cols() const { return m_expression.cols(); }
-    inline Index outerStride() const { return m_expression.outerStride(); }
-    inline Index innerStride() const { return m_expression.innerStride(); }
-
-    inline ScalarWithConstIfNotLvalue* data() { return m_expression.const_cast_derived().data(); }
-    inline const Scalar* data() const { return m_expression.data(); }
-
-    inline CoeffReturnType coeff(Index rowId, Index colId) const
-    {
-      return m_expression.coeff(rowId, colId);
-    }
-
-    inline Scalar& coeffRef(Index rowId, Index colId)
-    {
-      return m_expression.const_cast_derived().coeffRef(rowId, colId);
-    }
-
-    inline const Scalar& coeffRef(Index rowId, Index colId) const
-    {
-      return m_expression.const_cast_derived().coeffRef(rowId, colId);
-    }
-
-    inline CoeffReturnType coeff(Index index) const
-    {
-      return m_expression.coeff(index);
-    }
-
-    inline Scalar& coeffRef(Index index)
-    {
-      return m_expression.const_cast_derived().coeffRef(index);
-    }
-
-    inline const Scalar& coeffRef(Index index) const
-    {
-      return m_expression.const_cast_derived().coeffRef(index);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index rowId, Index colId) const
-    {
-      return m_expression.template packet<LoadMode>(rowId, colId);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index rowId, Index colId, const PacketScalar& val)
-    {
-      m_expression.const_cast_derived().template writePacket<LoadMode>(rowId, colId, val);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index index) const
-    {
-      return m_expression.template packet<LoadMode>(index);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index index, const PacketScalar& val)
-    {
-      m_expression.const_cast_derived().template writePacket<LoadMode>(index, val);
-    }
-
-    template<typename Dest>
-    inline void evalTo(Dest& dst) const { dst = m_expression; }
-
-    const typename internal::remove_all<NestedExpressionType>::type& 
-    nestedExpression() const 
-    {
-      return m_expression;
-    }
-
-    /** Forwards the resizing request to the nested expression
-      * \sa DenseBase::resize(Index)  */
-    void resize(Index newSize) { m_expression.const_cast_derived().resize(newSize); }
-    /** Forwards the resizing request to the nested expression
-      * \sa DenseBase::resize(Index,Index)*/
-    void resize(Index nbRows, Index nbCols) { m_expression.const_cast_derived().resize(nbRows,nbCols); }
-
-  protected:
-    NestedExpressionType m_expression;
-};
-
-/** \class MatrixWrapper
-  * \ingroup Core_Module
-  *
-  * \brief Expression of an array as a mathematical vector or matrix
-  *
-  * This class is the return type of ArrayBase::matrix(), and most of the time
-  * this is the only way it is use.
-  *
-  * \sa MatrixBase::matrix(), class ArrayWrapper
-  */
-
-namespace internal {
-template<typename ExpressionType>
-struct traits<MatrixWrapper<ExpressionType> >
- : public traits<typename remove_all<typename ExpressionType::Nested>::type >
-{
-  typedef MatrixXpr XprKind;
-  // Let's remove NestByRefBit
-  enum {
-    Flags0 = traits<typename remove_all<typename ExpressionType::Nested>::type >::Flags,
-    Flags = Flags0 & ~NestByRefBit
-  };
-};
-}
-
-template<typename ExpressionType>
-class MatrixWrapper : public MatrixBase<MatrixWrapper<ExpressionType> >
-{
-  public:
-    typedef MatrixBase<MatrixWrapper<ExpressionType> > Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(MatrixWrapper)
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(MatrixWrapper)
-
-    typedef typename internal::conditional<
-                       internal::is_lvalue<ExpressionType>::value,
-                       Scalar,
-                       const Scalar
-                     >::type ScalarWithConstIfNotLvalue;
-
-    typedef typename internal::nested<ExpressionType>::type NestedExpressionType;
-
-    inline MatrixWrapper(ExpressionType& a_matrix) : m_expression(a_matrix) {}
-
-    inline Index rows() const { return m_expression.rows(); }
-    inline Index cols() const { return m_expression.cols(); }
-    inline Index outerStride() const { return m_expression.outerStride(); }
-    inline Index innerStride() const { return m_expression.innerStride(); }
-
-    inline ScalarWithConstIfNotLvalue* data() { return m_expression.const_cast_derived().data(); }
-    inline const Scalar* data() const { return m_expression.data(); }
-
-    inline CoeffReturnType coeff(Index rowId, Index colId) const
-    {
-      return m_expression.coeff(rowId, colId);
-    }
-
-    inline Scalar& coeffRef(Index rowId, Index colId)
-    {
-      return m_expression.const_cast_derived().coeffRef(rowId, colId);
-    }
-
-    inline const Scalar& coeffRef(Index rowId, Index colId) const
-    {
-      return m_expression.derived().coeffRef(rowId, colId);
-    }
-
-    inline CoeffReturnType coeff(Index index) const
-    {
-      return m_expression.coeff(index);
-    }
-
-    inline Scalar& coeffRef(Index index)
-    {
-      return m_expression.const_cast_derived().coeffRef(index);
-    }
-
-    inline const Scalar& coeffRef(Index index) const
-    {
-      return m_expression.const_cast_derived().coeffRef(index);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index rowId, Index colId) const
-    {
-      return m_expression.template packet<LoadMode>(rowId, colId);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index rowId, Index colId, const PacketScalar& val)
-    {
-      m_expression.const_cast_derived().template writePacket<LoadMode>(rowId, colId, val);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index index) const
-    {
-      return m_expression.template packet<LoadMode>(index);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index index, const PacketScalar& val)
-    {
-      m_expression.const_cast_derived().template writePacket<LoadMode>(index, val);
-    }
-
-    const typename internal::remove_all<NestedExpressionType>::type& 
-    nestedExpression() const 
-    {
-      return m_expression;
-    }
-
-    /** Forwards the resizing request to the nested expression
-      * \sa DenseBase::resize(Index)  */
-    void resize(Index newSize) { m_expression.const_cast_derived().resize(newSize); }
-    /** Forwards the resizing request to the nested expression
-      * \sa DenseBase::resize(Index,Index)*/
-    void resize(Index nbRows, Index nbCols) { m_expression.const_cast_derived().resize(nbRows,nbCols); }
-
-  protected:
-    NestedExpressionType m_expression;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_ARRAYWRAPPER_H
diff --git a/lib/Eigen/src/Core/Assign.h b/lib/Eigen/src/Core/Assign.h
deleted file mode 100644
index f4817317..00000000
--- a/lib/Eigen/src/Core/Assign.h
+++ /dev/null
@@ -1,590 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2007 Michael Olbrich <michael.olbrich@gmx.net>
-// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ASSIGN_H
-#define EIGEN_ASSIGN_H
-
-namespace Eigen {
-
-namespace internal {
-
-/***************************************************************************
-* Part 1 : the logic deciding a strategy for traversal and unrolling       *
-***************************************************************************/
-
-template <typename Derived, typename OtherDerived>
-struct assign_traits
-{
-public:
-  enum {
-    DstIsAligned = Derived::Flags & AlignedBit,
-    DstHasDirectAccess = Derived::Flags & DirectAccessBit,
-    SrcIsAligned = OtherDerived::Flags & AlignedBit,
-    JointAlignment = bool(DstIsAligned) && bool(SrcIsAligned) ? Aligned : Unaligned
-  };
-
-private:
-  enum {
-    InnerSize = int(Derived::IsVectorAtCompileTime) ? int(Derived::SizeAtCompileTime)
-              : int(Derived::Flags)&RowMajorBit ? int(Derived::ColsAtCompileTime)
-              : int(Derived::RowsAtCompileTime),
-    InnerMaxSize = int(Derived::IsVectorAtCompileTime) ? int(Derived::MaxSizeAtCompileTime)
-              : int(Derived::Flags)&RowMajorBit ? int(Derived::MaxColsAtCompileTime)
-              : int(Derived::MaxRowsAtCompileTime),
-    MaxSizeAtCompileTime = Derived::SizeAtCompileTime,
-    PacketSize = packet_traits<typename Derived::Scalar>::size
-  };
-
-  enum {
-    StorageOrdersAgree = (int(Derived::IsRowMajor) == int(OtherDerived::IsRowMajor)),
-    MightVectorize = StorageOrdersAgree
-                  && (int(Derived::Flags) & int(OtherDerived::Flags) & ActualPacketAccessBit),
-    MayInnerVectorize  = MightVectorize && int(InnerSize)!=Dynamic && int(InnerSize)%int(PacketSize)==0
-                       && int(DstIsAligned) && int(SrcIsAligned),
-    MayLinearize = StorageOrdersAgree && (int(Derived::Flags) & int(OtherDerived::Flags) & LinearAccessBit),
-    MayLinearVectorize = MightVectorize && MayLinearize && DstHasDirectAccess
-                       && (DstIsAligned || MaxSizeAtCompileTime == Dynamic),
-      /* If the destination isn't aligned, we have to do runtime checks and we don't unroll,
-         so it's only good for large enough sizes. */
-    MaySliceVectorize  = MightVectorize && DstHasDirectAccess
-                       && (int(InnerMaxSize)==Dynamic || int(InnerMaxSize)>=3*PacketSize)
-      /* slice vectorization can be slow, so we only want it if the slices are big, which is
-         indicated by InnerMaxSize rather than InnerSize, think of the case of a dynamic block
-         in a fixed-size matrix */
-  };
-
-public:
-  enum {
-    Traversal = int(MayInnerVectorize)  ? int(InnerVectorizedTraversal)
-              : int(MayLinearVectorize) ? int(LinearVectorizedTraversal)
-              : int(MaySliceVectorize)  ? int(SliceVectorizedTraversal)
-              : int(MayLinearize)       ? int(LinearTraversal)
-                                        : int(DefaultTraversal),
-    Vectorized = int(Traversal) == InnerVectorizedTraversal
-              || int(Traversal) == LinearVectorizedTraversal
-              || int(Traversal) == SliceVectorizedTraversal
-  };
-
-private:
-  enum {
-    UnrollingLimit      = EIGEN_UNROLLING_LIMIT * (Vectorized ? int(PacketSize) : 1),
-    MayUnrollCompletely = int(Derived::SizeAtCompileTime) != Dynamic
-                       && int(OtherDerived::CoeffReadCost) != Dynamic
-                       && int(Derived::SizeAtCompileTime) * int(OtherDerived::CoeffReadCost) <= int(UnrollingLimit),
-    MayUnrollInner      = int(InnerSize) != Dynamic
-                       && int(OtherDerived::CoeffReadCost) != Dynamic
-                       && int(InnerSize) * int(OtherDerived::CoeffReadCost) <= int(UnrollingLimit)
-  };
-
-public:
-  enum {
-    Unrolling = (int(Traversal) == int(InnerVectorizedTraversal) || int(Traversal) == int(DefaultTraversal))
-                ? (
-                    int(MayUnrollCompletely) ? int(CompleteUnrolling)
-                  : int(MayUnrollInner)      ? int(InnerUnrolling)
-                                             : int(NoUnrolling)
-                  )
-              : int(Traversal) == int(LinearVectorizedTraversal)
-                ? ( bool(MayUnrollCompletely) && bool(DstIsAligned) ? int(CompleteUnrolling) : int(NoUnrolling) )
-              : int(Traversal) == int(LinearTraversal)
-                ? ( bool(MayUnrollCompletely) ? int(CompleteUnrolling) : int(NoUnrolling) )
-              : int(NoUnrolling)
-  };
-
-#ifdef EIGEN_DEBUG_ASSIGN
-  static void debug()
-  {
-    EIGEN_DEBUG_VAR(DstIsAligned)
-    EIGEN_DEBUG_VAR(SrcIsAligned)
-    EIGEN_DEBUG_VAR(JointAlignment)
-    EIGEN_DEBUG_VAR(InnerSize)
-    EIGEN_DEBUG_VAR(InnerMaxSize)
-    EIGEN_DEBUG_VAR(PacketSize)
-    EIGEN_DEBUG_VAR(StorageOrdersAgree)
-    EIGEN_DEBUG_VAR(MightVectorize)
-    EIGEN_DEBUG_VAR(MayLinearize)
-    EIGEN_DEBUG_VAR(MayInnerVectorize)
-    EIGEN_DEBUG_VAR(MayLinearVectorize)
-    EIGEN_DEBUG_VAR(MaySliceVectorize)
-    EIGEN_DEBUG_VAR(Traversal)
-    EIGEN_DEBUG_VAR(UnrollingLimit)
-    EIGEN_DEBUG_VAR(MayUnrollCompletely)
-    EIGEN_DEBUG_VAR(MayUnrollInner)
-    EIGEN_DEBUG_VAR(Unrolling)
-  }
-#endif
-};
-
-/***************************************************************************
-* Part 2 : meta-unrollers
-***************************************************************************/
-
-/************************
-*** Default traversal ***
-************************/
-
-template<typename Derived1, typename Derived2, int Index, int Stop>
-struct assign_DefaultTraversal_CompleteUnrolling
-{
-  enum {
-    outer = Index / Derived1::InnerSizeAtCompileTime,
-    inner = Index % Derived1::InnerSizeAtCompileTime
-  };
-
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    dst.copyCoeffByOuterInner(outer, inner, src);
-    assign_DefaultTraversal_CompleteUnrolling<Derived1, Derived2, Index+1, Stop>::run(dst, src);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Stop>
-struct assign_DefaultTraversal_CompleteUnrolling<Derived1, Derived2, Stop, Stop>
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &) {}
-};
-
-template<typename Derived1, typename Derived2, int Index, int Stop>
-struct assign_DefaultTraversal_InnerUnrolling
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src, typename Derived1::Index outer)
-  {
-    dst.copyCoeffByOuterInner(outer, Index, src);
-    assign_DefaultTraversal_InnerUnrolling<Derived1, Derived2, Index+1, Stop>::run(dst, src, outer);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Stop>
-struct assign_DefaultTraversal_InnerUnrolling<Derived1, Derived2, Stop, Stop>
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &, typename Derived1::Index) {}
-};
-
-/***********************
-*** Linear traversal ***
-***********************/
-
-template<typename Derived1, typename Derived2, int Index, int Stop>
-struct assign_LinearTraversal_CompleteUnrolling
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    dst.copyCoeff(Index, src);
-    assign_LinearTraversal_CompleteUnrolling<Derived1, Derived2, Index+1, Stop>::run(dst, src);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Stop>
-struct assign_LinearTraversal_CompleteUnrolling<Derived1, Derived2, Stop, Stop>
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &) {}
-};
-
-/**************************
-*** Inner vectorization ***
-**************************/
-
-template<typename Derived1, typename Derived2, int Index, int Stop>
-struct assign_innervec_CompleteUnrolling
-{
-  enum {
-    outer = Index / Derived1::InnerSizeAtCompileTime,
-    inner = Index % Derived1::InnerSizeAtCompileTime,
-    JointAlignment = assign_traits<Derived1,Derived2>::JointAlignment
-  };
-
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    dst.template copyPacketByOuterInner<Derived2, Aligned, JointAlignment>(outer, inner, src);
-    assign_innervec_CompleteUnrolling<Derived1, Derived2,
-      Index+packet_traits<typename Derived1::Scalar>::size, Stop>::run(dst, src);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Stop>
-struct assign_innervec_CompleteUnrolling<Derived1, Derived2, Stop, Stop>
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &) {}
-};
-
-template<typename Derived1, typename Derived2, int Index, int Stop>
-struct assign_innervec_InnerUnrolling
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src, typename Derived1::Index outer)
-  {
-    dst.template copyPacketByOuterInner<Derived2, Aligned, Aligned>(outer, Index, src);
-    assign_innervec_InnerUnrolling<Derived1, Derived2,
-      Index+packet_traits<typename Derived1::Scalar>::size, Stop>::run(dst, src, outer);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Stop>
-struct assign_innervec_InnerUnrolling<Derived1, Derived2, Stop, Stop>
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &, const Derived2 &, typename Derived1::Index) {}
-};
-
-/***************************************************************************
-* Part 3 : implementation of all cases
-***************************************************************************/
-
-template<typename Derived1, typename Derived2,
-         int Traversal = assign_traits<Derived1, Derived2>::Traversal,
-         int Unrolling = assign_traits<Derived1, Derived2>::Unrolling,
-         int Version = Specialized>
-struct assign_impl;
-
-/************************
-*** Default traversal ***
-************************/
-
-template<typename Derived1, typename Derived2, int Unrolling, int Version>
-struct assign_impl<Derived1, Derived2, InvalidTraversal, Unrolling, Version>
-{
-  static inline void run(Derived1 &, const Derived2 &) { }
-};
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, DefaultTraversal, NoUnrolling, Version>
-{
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    const Index innerSize = dst.innerSize();
-    const Index outerSize = dst.outerSize();
-    for(Index outer = 0; outer < outerSize; ++outer)
-      for(Index inner = 0; inner < innerSize; ++inner)
-        dst.copyCoeffByOuterInner(outer, inner, src);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, DefaultTraversal, CompleteUnrolling, Version>
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    assign_DefaultTraversal_CompleteUnrolling<Derived1, Derived2, 0, Derived1::SizeAtCompileTime>
-      ::run(dst, src);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, DefaultTraversal, InnerUnrolling, Version>
-{
-  typedef typename Derived1::Index Index;
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    const Index outerSize = dst.outerSize();
-    for(Index outer = 0; outer < outerSize; ++outer)
-      assign_DefaultTraversal_InnerUnrolling<Derived1, Derived2, 0, Derived1::InnerSizeAtCompileTime>
-        ::run(dst, src, outer);
-  }
-};
-
-/***********************
-*** Linear traversal ***
-***********************/
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, LinearTraversal, NoUnrolling, Version>
-{
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    const Index size = dst.size();
-    for(Index i = 0; i < size; ++i)
-      dst.copyCoeff(i, src);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, LinearTraversal, CompleteUnrolling, Version>
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    assign_LinearTraversal_CompleteUnrolling<Derived1, Derived2, 0, Derived1::SizeAtCompileTime>
-      ::run(dst, src);
-  }
-};
-
-/**************************
-*** Inner vectorization ***
-**************************/
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, InnerVectorizedTraversal, NoUnrolling, Version>
-{
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    const Index innerSize = dst.innerSize();
-    const Index outerSize = dst.outerSize();
-    const Index packetSize = packet_traits<typename Derived1::Scalar>::size;
-    for(Index outer = 0; outer < outerSize; ++outer)
-      for(Index inner = 0; inner < innerSize; inner+=packetSize)
-        dst.template copyPacketByOuterInner<Derived2, Aligned, Aligned>(outer, inner, src);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, InnerVectorizedTraversal, CompleteUnrolling, Version>
-{
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    assign_innervec_CompleteUnrolling<Derived1, Derived2, 0, Derived1::SizeAtCompileTime>
-      ::run(dst, src);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, InnerVectorizedTraversal, InnerUnrolling, Version>
-{
-  typedef typename Derived1::Index Index;
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    const Index outerSize = dst.outerSize();
-    for(Index outer = 0; outer < outerSize; ++outer)
-      assign_innervec_InnerUnrolling<Derived1, Derived2, 0, Derived1::InnerSizeAtCompileTime>
-        ::run(dst, src, outer);
-  }
-};
-
-/***************************
-*** Linear vectorization ***
-***************************/
-
-template <bool IsAligned = false>
-struct unaligned_assign_impl
-{
-  template <typename Derived, typename OtherDerived>
-  static EIGEN_STRONG_INLINE void run(const Derived&, OtherDerived&, typename Derived::Index, typename Derived::Index) {}
-};
-
-template <>
-struct unaligned_assign_impl<false>
-{
-  // MSVC must not inline this functions. If it does, it fails to optimize the
-  // packet access path.
-#ifdef _MSC_VER
-  template <typename Derived, typename OtherDerived>
-  static EIGEN_DONT_INLINE void run(const Derived& src, OtherDerived& dst, typename Derived::Index start, typename Derived::Index end)
-#else
-  template <typename Derived, typename OtherDerived>
-  static EIGEN_STRONG_INLINE void run(const Derived& src, OtherDerived& dst, typename Derived::Index start, typename Derived::Index end)
-#endif
-  {
-    for (typename Derived::Index index = start; index < end; ++index)
-      dst.copyCoeff(index, src);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, LinearVectorizedTraversal, NoUnrolling, Version>
-{
-  typedef typename Derived1::Index Index;
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    const Index size = dst.size();
-    typedef packet_traits<typename Derived1::Scalar> PacketTraits;
-    enum {
-      packetSize = PacketTraits::size,
-      dstAlignment = PacketTraits::AlignedOnScalar ? Aligned : int(assign_traits<Derived1,Derived2>::DstIsAligned) ,
-      srcAlignment = assign_traits<Derived1,Derived2>::JointAlignment
-    };
-    const Index alignedStart = assign_traits<Derived1,Derived2>::DstIsAligned ? 0
-                             : internal::first_aligned(&dst.coeffRef(0), size);
-    const Index alignedEnd = alignedStart + ((size-alignedStart)/packetSize)*packetSize;
-
-    unaligned_assign_impl<assign_traits<Derived1,Derived2>::DstIsAligned!=0>::run(src,dst,0,alignedStart);
-
-    for(Index index = alignedStart; index < alignedEnd; index += packetSize)
-    {
-      dst.template copyPacket<Derived2, dstAlignment, srcAlignment>(index, src);
-    }
-
-    unaligned_assign_impl<>::run(src,dst,alignedEnd,size);
-  }
-};
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, LinearVectorizedTraversal, CompleteUnrolling, Version>
-{
-  typedef typename Derived1::Index Index;
-  static EIGEN_STRONG_INLINE void run(Derived1 &dst, const Derived2 &src)
-  {
-    enum { size = Derived1::SizeAtCompileTime,
-           packetSize = packet_traits<typename Derived1::Scalar>::size,
-           alignedSize = (size/packetSize)*packetSize };
-
-    assign_innervec_CompleteUnrolling<Derived1, Derived2, 0, alignedSize>::run(dst, src);
-    assign_DefaultTraversal_CompleteUnrolling<Derived1, Derived2, alignedSize, size>::run(dst, src);
-  }
-};
-
-/**************************
-*** Slice vectorization ***
-***************************/
-
-template<typename Derived1, typename Derived2, int Version>
-struct assign_impl<Derived1, Derived2, SliceVectorizedTraversal, NoUnrolling, Version>
-{
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    typedef typename Derived1::Scalar Scalar;
-    typedef packet_traits<Scalar> PacketTraits;
-    enum {
-      packetSize = PacketTraits::size,
-      alignable = PacketTraits::AlignedOnScalar,
-      dstIsAligned = assign_traits<Derived1,Derived2>::DstIsAligned,
-      dstAlignment = alignable ? Aligned : int(dstIsAligned),
-      srcAlignment = assign_traits<Derived1,Derived2>::JointAlignment
-    };
-    const Scalar *dst_ptr = &dst.coeffRef(0,0);
-    if((!bool(dstIsAligned)) && (size_t(dst_ptr) % sizeof(Scalar))>0)
-    {
-      // the pointer is not aligend-on scalar, so alignment is not possible
-      return assign_impl<Derived1,Derived2,DefaultTraversal,NoUnrolling>::run(dst, src);
-    }
-    const Index packetAlignedMask = packetSize - 1;
-    const Index innerSize = dst.innerSize();
-    const Index outerSize = dst.outerSize();
-    const Index alignedStep = alignable ? (packetSize - dst.outerStride() % packetSize) & packetAlignedMask : 0;
-    Index alignedStart = ((!alignable) || bool(dstIsAligned)) ? 0 : internal::first_aligned(dst_ptr, innerSize);
-
-    for(Index outer = 0; outer < outerSize; ++outer)
-    {
-      const Index alignedEnd = alignedStart + ((innerSize-alignedStart) & ~packetAlignedMask);
-      // do the non-vectorizable part of the assignment
-      for(Index inner = 0; inner<alignedStart ; ++inner)
-        dst.copyCoeffByOuterInner(outer, inner, src);
-
-      // do the vectorizable part of the assignment
-      for(Index inner = alignedStart; inner<alignedEnd; inner+=packetSize)
-        dst.template copyPacketByOuterInner<Derived2, dstAlignment, Unaligned>(outer, inner, src);
-
-      // do the non-vectorizable part of the assignment
-      for(Index inner = alignedEnd; inner<innerSize ; ++inner)
-        dst.copyCoeffByOuterInner(outer, inner, src);
-
-      alignedStart = std::min<Index>((alignedStart+alignedStep)%packetSize, innerSize);
-    }
-  }
-};
-
-} // end namespace internal
-
-/***************************************************************************
-* Part 4 : implementation of DenseBase methods
-***************************************************************************/
-
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived& DenseBase<Derived>
-  ::lazyAssign(const DenseBase<OtherDerived>& other)
-{
-  enum{
-    SameType = internal::is_same<typename Derived::Scalar,typename OtherDerived::Scalar>::value
-  };
-
-  EIGEN_STATIC_ASSERT_LVALUE(Derived)
-  EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Derived,OtherDerived)
-  EIGEN_STATIC_ASSERT(SameType,YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-
-#ifdef EIGEN_DEBUG_ASSIGN
-  internal::assign_traits<Derived, OtherDerived>::debug();
-#endif
-  eigen_assert(rows() == other.rows() && cols() == other.cols());
-  internal::assign_impl<Derived, OtherDerived, int(SameType) ? int(internal::assign_traits<Derived, OtherDerived>::Traversal)
-                                                       : int(InvalidTraversal)>::run(derived(),other.derived());
-#ifndef EIGEN_NO_DEBUG
-  checkTransposeAliasing(other.derived());
-#endif
-  return derived();
-}
-
-namespace internal {
-
-template<typename Derived, typename OtherDerived,
-         bool EvalBeforeAssigning = (int(internal::traits<OtherDerived>::Flags) & EvalBeforeAssigningBit) != 0,
-         bool NeedToTranspose = ((int(Derived::RowsAtCompileTime) == 1 && int(OtherDerived::ColsAtCompileTime) == 1)
-                              |   // FIXME | instead of || to please GCC 4.4.0 stupid warning "suggest parentheses around &&".
-                                  // revert to || as soon as not needed anymore.
-                                  (int(Derived::ColsAtCompileTime) == 1 && int(OtherDerived::RowsAtCompileTime) == 1))
-                              && int(Derived::SizeAtCompileTime) != 1>
-struct assign_selector;
-
-template<typename Derived, typename OtherDerived>
-struct assign_selector<Derived,OtherDerived,false,false> {
-  static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) { return dst.lazyAssign(other.derived()); }
-  template<typename ActualDerived, typename ActualOtherDerived>
-  static EIGEN_STRONG_INLINE Derived& evalTo(ActualDerived& dst, const ActualOtherDerived& other) { other.evalTo(dst); return dst; }
-};
-template<typename Derived, typename OtherDerived>
-struct assign_selector<Derived,OtherDerived,true,false> {
-  static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) { return dst.lazyAssign(other.eval()); }
-};
-template<typename Derived, typename OtherDerived>
-struct assign_selector<Derived,OtherDerived,false,true> {
-  static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) { return dst.lazyAssign(other.transpose()); }
-  template<typename ActualDerived, typename ActualOtherDerived>
-  static EIGEN_STRONG_INLINE Derived& evalTo(ActualDerived& dst, const ActualOtherDerived& other) { Transpose<ActualDerived> dstTrans(dst); other.evalTo(dstTrans); return dst; }
-};
-template<typename Derived, typename OtherDerived>
-struct assign_selector<Derived,OtherDerived,true,true> {
-  static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) { return dst.lazyAssign(other.transpose().eval()); }
-};
-
-} // end namespace internal
-
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::operator=(const DenseBase<OtherDerived>& other)
-{
-  return internal::assign_selector<Derived,OtherDerived>::run(derived(), other.derived());
-}
-
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::operator=(const DenseBase& other)
-{
-  return internal::assign_selector<Derived,Derived>::run(derived(), other.derived());
-}
-
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const MatrixBase& other)
-{
-  return internal::assign_selector<Derived,Derived>::run(derived(), other.derived());
-}
-
-template<typename Derived>
-template <typename OtherDerived>
-EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const DenseBase<OtherDerived>& other)
-{
-  return internal::assign_selector<Derived,OtherDerived>::run(derived(), other.derived());
-}
-
-template<typename Derived>
-template <typename OtherDerived>
-EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const EigenBase<OtherDerived>& other)
-{
-  return internal::assign_selector<Derived,OtherDerived,false>::evalTo(derived(), other.derived());
-}
-
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const ReturnByValue<OtherDerived>& other)
-{
-  return internal::assign_selector<Derived,OtherDerived,false>::evalTo(derived(), other.derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_ASSIGN_H
diff --git a/lib/Eigen/src/Core/Assign_MKL.h b/lib/Eigen/src/Core/Assign_MKL.h
deleted file mode 100644
index 7772951b..00000000
--- a/lib/Eigen/src/Core/Assign_MKL.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   MKL VML support for coefficient-wise unary Eigen expressions like a=b.sin()
- ********************************************************************************
-*/
-
-#ifndef EIGEN_ASSIGN_VML_H
-#define EIGEN_ASSIGN_VML_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Op> struct vml_call
-{ enum { IsSupported = 0 }; };
-
-template<typename Dst, typename Src, typename UnaryOp>
-class vml_assign_traits
-{
-  private:
-    enum {
-      DstHasDirectAccess = Dst::Flags & DirectAccessBit,
-      SrcHasDirectAccess = Src::Flags & DirectAccessBit,
-
-      StorageOrdersAgree = (int(Dst::IsRowMajor) == int(Src::IsRowMajor)),
-      InnerSize = int(Dst::IsVectorAtCompileTime) ? int(Dst::SizeAtCompileTime)
-                : int(Dst::Flags)&RowMajorBit ? int(Dst::ColsAtCompileTime)
-                : int(Dst::RowsAtCompileTime),
-      InnerMaxSize  = int(Dst::IsVectorAtCompileTime) ? int(Dst::MaxSizeAtCompileTime)
-                    : int(Dst::Flags)&RowMajorBit ? int(Dst::MaxColsAtCompileTime)
-                    : int(Dst::MaxRowsAtCompileTime),
-      MaxSizeAtCompileTime = Dst::SizeAtCompileTime,
-
-      MightEnableVml =  vml_call<UnaryOp>::IsSupported && StorageOrdersAgree && DstHasDirectAccess && SrcHasDirectAccess
-                     && Src::InnerStrideAtCompileTime==1 && Dst::InnerStrideAtCompileTime==1,
-      MightLinearize = MightEnableVml && (int(Dst::Flags) & int(Src::Flags) & LinearAccessBit),
-      VmlSize = MightLinearize ? MaxSizeAtCompileTime : InnerMaxSize,
-      LargeEnough = VmlSize==Dynamic || VmlSize>=EIGEN_MKL_VML_THRESHOLD,
-      MayEnableVml = MightEnableVml && LargeEnough,
-      MayLinearize = MayEnableVml && MightLinearize
-    };
-  public:
-    enum {
-      Traversal = MayLinearize ? LinearVectorizedTraversal
-                : MayEnableVml ? InnerVectorizedTraversal
-                : DefaultTraversal
-    };
-};
-
-template<typename Derived1, typename Derived2, typename UnaryOp, int Traversal, int Unrolling,
-         int VmlTraversal = vml_assign_traits<Derived1, Derived2, UnaryOp>::Traversal >
-struct vml_assign_impl
-  : assign_impl<Derived1, Eigen::CwiseUnaryOp<UnaryOp, Derived2>,Traversal,Unrolling,BuiltIn>
-{
-};
-
-template<typename Derived1, typename Derived2, typename UnaryOp, int Traversal, int Unrolling>
-struct vml_assign_impl<Derived1, Derived2, UnaryOp, Traversal, Unrolling, InnerVectorizedTraversal>
-{
-  typedef typename Derived1::Scalar Scalar;
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1& dst, const CwiseUnaryOp<UnaryOp, Derived2>& src)
-  {
-    // in case we want to (or have to) skip VML at runtime we can call:
-    // assign_impl<Derived1,Eigen::CwiseUnaryOp<UnaryOp, Derived2>,Traversal,Unrolling,BuiltIn>::run(dst,src);
-    const Index innerSize = dst.innerSize();
-    const Index outerSize = dst.outerSize();
-    for(Index outer = 0; outer < outerSize; ++outer) {
-      const Scalar *src_ptr = src.IsRowMajor ?  &(src.nestedExpression().coeffRef(outer,0)) :
-                                                &(src.nestedExpression().coeffRef(0, outer));
-      Scalar *dst_ptr = dst.IsRowMajor ? &(dst.coeffRef(outer,0)) : &(dst.coeffRef(0, outer));
-      vml_call<UnaryOp>::run(src.functor(), innerSize, src_ptr, dst_ptr );
-    }
-  }
-};
-
-template<typename Derived1, typename Derived2, typename UnaryOp, int Traversal, int Unrolling>
-struct vml_assign_impl<Derived1, Derived2, UnaryOp, Traversal, Unrolling, LinearVectorizedTraversal>
-{
-  static inline void run(Derived1& dst, const CwiseUnaryOp<UnaryOp, Derived2>& src)
-  {
-    // in case we want to (or have to) skip VML at runtime we can call:
-    // assign_impl<Derived1,Eigen::CwiseUnaryOp<UnaryOp, Derived2>,Traversal,Unrolling,BuiltIn>::run(dst,src);
-    vml_call<UnaryOp>::run(src.functor(), dst.size(), src.nestedExpression().data(), dst.data() );
-  }
-};
-
-// Macroses
-
-#define EIGEN_MKL_VML_SPECIALIZE_ASSIGN(TRAVERSAL,UNROLLING) \
-  template<typename Derived1, typename Derived2, typename UnaryOp> \
-  struct assign_impl<Derived1, Eigen::CwiseUnaryOp<UnaryOp, Derived2>, TRAVERSAL, UNROLLING, Specialized>  {  \
-    static inline void run(Derived1 &dst, const Eigen::CwiseUnaryOp<UnaryOp, Derived2> &src) { \
-      vml_assign_impl<Derived1,Derived2,UnaryOp,TRAVERSAL,UNROLLING>::run(dst, src); \
-    } \
-  };
-
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(DefaultTraversal,NoUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(DefaultTraversal,CompleteUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(DefaultTraversal,InnerUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(LinearTraversal,NoUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(LinearTraversal,CompleteUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(InnerVectorizedTraversal,NoUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(InnerVectorizedTraversal,CompleteUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(InnerVectorizedTraversal,InnerUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(LinearVectorizedTraversal,CompleteUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(LinearVectorizedTraversal,NoUnrolling)
-EIGEN_MKL_VML_SPECIALIZE_ASSIGN(SliceVectorizedTraversal,NoUnrolling)
-
-
-#if !defined (EIGEN_FAST_MATH) || (EIGEN_FAST_MATH != 1)
-#define  EIGEN_MKL_VML_MODE VML_HA
-#else
-#define  EIGEN_MKL_VML_MODE VML_LA
-#endif
-
-#define EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE)     \
-  template<> struct vml_call< scalar_##EIGENOP##_op<EIGENTYPE> > {               \
-    enum { IsSupported = 1 };                                                    \
-    static inline void run( const scalar_##EIGENOP##_op<EIGENTYPE>& /*func*/,        \
-                            int size, const EIGENTYPE* src, EIGENTYPE* dst) {    \
-      VMLOP(size, (const VMLTYPE*)src, (VMLTYPE*)dst);                           \
-    }                                                                            \
-  };
-
-#define EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE)  \
-  template<> struct vml_call< scalar_##EIGENOP##_op<EIGENTYPE> > {               \
-    enum { IsSupported = 1 };                                                    \
-    static inline void run( const scalar_##EIGENOP##_op<EIGENTYPE>& /*func*/,        \
-                            int size, const EIGENTYPE* src, EIGENTYPE* dst) {    \
-      MKL_INT64 vmlMode = EIGEN_MKL_VML_MODE;                                    \
-      VMLOP(size, (const VMLTYPE*)src, (VMLTYPE*)dst, vmlMode);                  \
-    }                                                                            \
-  };
-
-#define EIGEN_MKL_VML_DECLARE_POW_CALL(EIGENOP, VMLOP, EIGENTYPE, VMLTYPE)       \
-  template<> struct vml_call< scalar_##EIGENOP##_op<EIGENTYPE> > {               \
-    enum { IsSupported = 1 };                                                    \
-    static inline void run( const scalar_##EIGENOP##_op<EIGENTYPE>& func,        \
-                          int size, const EIGENTYPE* src, EIGENTYPE* dst) {      \
-      EIGENTYPE exponent = func.m_exponent;                                      \
-      MKL_INT64 vmlMode = EIGEN_MKL_VML_MODE;                                    \
-      VMLOP(&size, (const VMLTYPE*)src, (const VMLTYPE*)&exponent,               \
-                        (VMLTYPE*)dst, &vmlMode);                                \
-    }                                                                            \
-  };
-
-#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(EIGENOP, VMLOP)                   \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, vs##VMLOP, float, float)             \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, vd##VMLOP, double, double)
-
-#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_COMPLEX(EIGENOP, VMLOP)                \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, vc##VMLOP, scomplex, MKL_Complex8)   \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALL(EIGENOP, vz##VMLOP, dcomplex, MKL_Complex16)
-
-#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS(EIGENOP, VMLOP)                        \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(EIGENOP, VMLOP)                         \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALLS_COMPLEX(EIGENOP, VMLOP)
-
-
-#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL_LA(EIGENOP, VMLOP)                \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, vms##VMLOP, float, float)         \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, vmd##VMLOP, double, double)
-
-#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_COMPLEX_LA(EIGENOP, VMLOP)             \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, vmc##VMLOP, scomplex, MKL_Complex8)  \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALL_LA(EIGENOP, vmz##VMLOP, dcomplex, MKL_Complex16)
-
-#define EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(EIGENOP, VMLOP)                     \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL_LA(EIGENOP, VMLOP)                      \
-  EIGEN_MKL_VML_DECLARE_UNARY_CALLS_COMPLEX_LA(EIGENOP, VMLOP)
-
-
-EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(sin,  Sin)
-EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(asin, Asin)
-EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(cos,  Cos)
-EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(acos, Acos)
-EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(tan,  Tan)
-//EIGEN_MKL_VML_DECLARE_UNARY_CALLS(abs,  Abs)
-EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(exp,  Exp)
-EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(log,  Ln)
-EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(sqrt, Sqrt)
-
-EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(square, Sqr)
-
-// The vm*powx functions are not avaibale in the windows version of MKL.
-#ifndef _WIN32
-EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmspowx_, float, float)
-EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmdpowx_, double, double)
-EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmcpowx_, scomplex, MKL_Complex8)
-EIGEN_MKL_VML_DECLARE_POW_CALL(pow, vmzpowx_, dcomplex, MKL_Complex16)
-#endif
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_ASSIGN_VML_H
diff --git a/lib/Eigen/src/Core/BandMatrix.h b/lib/Eigen/src/Core/BandMatrix.h
deleted file mode 100644
index ffd7fe8b..00000000
--- a/lib/Eigen/src/Core/BandMatrix.h
+++ /dev/null
@@ -1,334 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_BANDMATRIX_H
-#define EIGEN_BANDMATRIX_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Derived>
-class BandMatrixBase : public EigenBase<Derived>
-{
-  public:
-
-    enum {
-      Flags = internal::traits<Derived>::Flags,
-      CoeffReadCost = internal::traits<Derived>::CoeffReadCost,
-      RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime,
-      ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime,
-      MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime,
-      Supers = internal::traits<Derived>::Supers,
-      Subs   = internal::traits<Derived>::Subs,
-      Options = internal::traits<Derived>::Options
-    };
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef Matrix<Scalar,RowsAtCompileTime,ColsAtCompileTime> DenseMatrixType;
-    typedef typename DenseMatrixType::Index Index;
-    typedef typename internal::traits<Derived>::CoefficientsType CoefficientsType;
-    typedef EigenBase<Derived> Base;
-
-  protected:
-    enum {
-      DataRowsAtCompileTime = ((Supers!=Dynamic) && (Subs!=Dynamic))
-                            ? 1 + Supers + Subs
-                            : Dynamic,
-      SizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_DYNAMIC(RowsAtCompileTime,ColsAtCompileTime)
-    };
-
-  public:
-    
-    using Base::derived;
-    using Base::rows;
-    using Base::cols;
-
-    /** \returns the number of super diagonals */
-    inline Index supers() const { return derived().supers(); }
-
-    /** \returns the number of sub diagonals */
-    inline Index subs() const { return derived().subs(); }
-    
-    /** \returns an expression of the underlying coefficient matrix */
-    inline const CoefficientsType& coeffs() const { return derived().coeffs(); }
-    
-    /** \returns an expression of the underlying coefficient matrix */
-    inline CoefficientsType& coeffs() { return derived().coeffs(); }
-
-    /** \returns a vector expression of the \a i -th column,
-      * only the meaningful part is returned.
-      * \warning the internal storage must be column major. */
-    inline Block<CoefficientsType,Dynamic,1> col(Index i)
-    {
-      EIGEN_STATIC_ASSERT((Options&RowMajor)==0,THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES);
-      Index start = 0;
-      Index len = coeffs().rows();
-      if (i<=supers())
-      {
-        start = supers()-i;
-        len = (std::min)(rows(),std::max<Index>(0,coeffs().rows() - (supers()-i)));
-      }
-      else if (i>=rows()-subs())
-        len = std::max<Index>(0,coeffs().rows() - (i + 1 - rows() + subs()));
-      return Block<CoefficientsType,Dynamic,1>(coeffs(), start, i, len, 1);
-    }
-
-    /** \returns a vector expression of the main diagonal */
-    inline Block<CoefficientsType,1,SizeAtCompileTime> diagonal()
-    { return Block<CoefficientsType,1,SizeAtCompileTime>(coeffs(),supers(),0,1,(std::min)(rows(),cols())); }
-
-    /** \returns a vector expression of the main diagonal (const version) */
-    inline const Block<const CoefficientsType,1,SizeAtCompileTime> diagonal() const
-    { return Block<const CoefficientsType,1,SizeAtCompileTime>(coeffs(),supers(),0,1,(std::min)(rows(),cols())); }
-
-    template<int Index> struct DiagonalIntReturnType {
-      enum {
-        ReturnOpposite = (Options&SelfAdjoint) && (((Index)>0 && Supers==0) || ((Index)<0 && Subs==0)),
-        Conjugate = ReturnOpposite && NumTraits<Scalar>::IsComplex,
-        ActualIndex = ReturnOpposite ? -Index : Index,
-        DiagonalSize = (RowsAtCompileTime==Dynamic || ColsAtCompileTime==Dynamic)
-                     ? Dynamic
-                     : (ActualIndex<0
-                     ? EIGEN_SIZE_MIN_PREFER_DYNAMIC(ColsAtCompileTime, RowsAtCompileTime + ActualIndex)
-                     : EIGEN_SIZE_MIN_PREFER_DYNAMIC(RowsAtCompileTime, ColsAtCompileTime - ActualIndex))
-      };
-      typedef Block<CoefficientsType,1, DiagonalSize> BuildType;
-      typedef typename internal::conditional<Conjugate,
-                 CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>,BuildType >,
-                 BuildType>::type Type;
-    };
-
-    /** \returns a vector expression of the \a N -th sub or super diagonal */
-    template<int N> inline typename DiagonalIntReturnType<N>::Type diagonal()
-    {
-      return typename DiagonalIntReturnType<N>::BuildType(coeffs(), supers()-N, (std::max)(0,N), 1, diagonalLength(N));
-    }
-
-    /** \returns a vector expression of the \a N -th sub or super diagonal */
-    template<int N> inline const typename DiagonalIntReturnType<N>::Type diagonal() const
-    {
-      return typename DiagonalIntReturnType<N>::BuildType(coeffs(), supers()-N, (std::max)(0,N), 1, diagonalLength(N));
-    }
-
-    /** \returns a vector expression of the \a i -th sub or super diagonal */
-    inline Block<CoefficientsType,1,Dynamic> diagonal(Index i)
-    {
-      eigen_assert((i<0 && -i<=subs()) || (i>=0 && i<=supers()));
-      return Block<CoefficientsType,1,Dynamic>(coeffs(), supers()-i, std::max<Index>(0,i), 1, diagonalLength(i));
-    }
-
-    /** \returns a vector expression of the \a i -th sub or super diagonal */
-    inline const Block<const CoefficientsType,1,Dynamic> diagonal(Index i) const
-    {
-      eigen_assert((i<0 && -i<=subs()) || (i>=0 && i<=supers()));
-      return Block<const CoefficientsType,1,Dynamic>(coeffs(), supers()-i, std::max<Index>(0,i), 1, diagonalLength(i));
-    }
-    
-    template<typename Dest> inline void evalTo(Dest& dst) const
-    {
-      dst.resize(rows(),cols());
-      dst.setZero();
-      dst.diagonal() = diagonal();
-      for (Index i=1; i<=supers();++i)
-        dst.diagonal(i) = diagonal(i);
-      for (Index i=1; i<=subs();++i)
-        dst.diagonal(-i) = diagonal(-i);
-    }
-
-    DenseMatrixType toDenseMatrix() const
-    {
-      DenseMatrixType res(rows(),cols());
-      evalTo(res);
-      return res;
-    }
-
-  protected:
-
-    inline Index diagonalLength(Index i) const
-    { return i<0 ? (std::min)(cols(),rows()+i) : (std::min)(rows(),cols()-i); }
-};
-
-/**
-  * \class BandMatrix
-  * \ingroup Core_Module
-  *
-  * \brief Represents a rectangular matrix with a banded storage
-  *
-  * \param _Scalar Numeric type, i.e. float, double, int
-  * \param Rows Number of rows, or \b Dynamic
-  * \param Cols Number of columns, or \b Dynamic
-  * \param Supers Number of super diagonal
-  * \param Subs Number of sub diagonal
-  * \param _Options A combination of either \b #RowMajor or \b #ColMajor, and of \b #SelfAdjoint
-  *                 The former controls \ref TopicStorageOrders "storage order", and defaults to
-  *                 column-major. The latter controls whether the matrix represents a selfadjoint 
-  *                 matrix in which case either Supers of Subs have to be null.
-  *
-  * \sa class TridiagonalMatrix
-  */
-
-template<typename _Scalar, int _Rows, int _Cols, int _Supers, int _Subs, int _Options>
-struct traits<BandMatrix<_Scalar,_Rows,_Cols,_Supers,_Subs,_Options> >
-{
-  typedef _Scalar Scalar;
-  typedef Dense StorageKind;
-  typedef DenseIndex Index;
-  enum {
-    CoeffReadCost = NumTraits<Scalar>::ReadCost,
-    RowsAtCompileTime = _Rows,
-    ColsAtCompileTime = _Cols,
-    MaxRowsAtCompileTime = _Rows,
-    MaxColsAtCompileTime = _Cols,
-    Flags = LvalueBit,
-    Supers = _Supers,
-    Subs = _Subs,
-    Options = _Options,
-    DataRowsAtCompileTime = ((Supers!=Dynamic) && (Subs!=Dynamic)) ? 1 + Supers + Subs : Dynamic
-  };
-  typedef Matrix<Scalar,DataRowsAtCompileTime,ColsAtCompileTime,Options&RowMajor?RowMajor:ColMajor> CoefficientsType;
-};
-
-template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
-class BandMatrix : public BandMatrixBase<BandMatrix<_Scalar,Rows,Cols,Supers,Subs,Options> >
-{
-  public:
-
-    typedef typename internal::traits<BandMatrix>::Scalar Scalar;
-    typedef typename internal::traits<BandMatrix>::Index Index;
-    typedef typename internal::traits<BandMatrix>::CoefficientsType CoefficientsType;
-
-    inline BandMatrix(Index rows=Rows, Index cols=Cols, Index supers=Supers, Index subs=Subs)
-      : m_coeffs(1+supers+subs,cols),
-        m_rows(rows), m_supers(supers), m_subs(subs)
-    {
-    }
-
-    /** \returns the number of columns */
-    inline Index rows() const { return m_rows.value(); }
-
-    /** \returns the number of rows */
-    inline Index cols() const { return m_coeffs.cols(); }
-
-    /** \returns the number of super diagonals */
-    inline Index supers() const { return m_supers.value(); }
-
-    /** \returns the number of sub diagonals */
-    inline Index subs() const { return m_subs.value(); }
-
-    inline const CoefficientsType& coeffs() const { return m_coeffs; }
-    inline CoefficientsType& coeffs() { return m_coeffs; }
-
-  protected:
-
-    CoefficientsType m_coeffs;
-    internal::variable_if_dynamic<Index, Rows>   m_rows;
-    internal::variable_if_dynamic<Index, Supers> m_supers;
-    internal::variable_if_dynamic<Index, Subs>   m_subs;
-};
-
-template<typename _CoefficientsType,int _Rows, int _Cols, int _Supers, int _Subs,int _Options>
-class BandMatrixWrapper;
-
-template<typename _CoefficientsType,int _Rows, int _Cols, int _Supers, int _Subs,int _Options>
-struct traits<BandMatrixWrapper<_CoefficientsType,_Rows,_Cols,_Supers,_Subs,_Options> >
-{
-  typedef typename _CoefficientsType::Scalar Scalar;
-  typedef typename _CoefficientsType::StorageKind StorageKind;
-  typedef typename _CoefficientsType::Index Index;
-  enum {
-    CoeffReadCost = internal::traits<_CoefficientsType>::CoeffReadCost,
-    RowsAtCompileTime = _Rows,
-    ColsAtCompileTime = _Cols,
-    MaxRowsAtCompileTime = _Rows,
-    MaxColsAtCompileTime = _Cols,
-    Flags = LvalueBit,
-    Supers = _Supers,
-    Subs = _Subs,
-    Options = _Options,
-    DataRowsAtCompileTime = ((Supers!=Dynamic) && (Subs!=Dynamic)) ? 1 + Supers + Subs : Dynamic
-  };
-  typedef _CoefficientsType CoefficientsType;
-};
-
-template<typename _CoefficientsType,int _Rows, int _Cols, int _Supers, int _Subs,int _Options>
-class BandMatrixWrapper : public BandMatrixBase<BandMatrixWrapper<_CoefficientsType,_Rows,_Cols,_Supers,_Subs,_Options> >
-{
-  public:
-
-    typedef typename internal::traits<BandMatrixWrapper>::Scalar Scalar;
-    typedef typename internal::traits<BandMatrixWrapper>::CoefficientsType CoefficientsType;
-    typedef typename internal::traits<BandMatrixWrapper>::Index Index;
-
-    inline BandMatrixWrapper(const CoefficientsType& coeffs, Index rows=_Rows, Index cols=_Cols, Index supers=_Supers, Index subs=_Subs)
-      : m_coeffs(coeffs),
-        m_rows(rows), m_supers(supers), m_subs(subs)
-    {
-      EIGEN_UNUSED_VARIABLE(cols);
-      //internal::assert(coeffs.cols()==cols() && (supers()+subs()+1)==coeffs.rows());
-    }
-
-    /** \returns the number of columns */
-    inline Index rows() const { return m_rows.value(); }
-
-    /** \returns the number of rows */
-    inline Index cols() const { return m_coeffs.cols(); }
-
-    /** \returns the number of super diagonals */
-    inline Index supers() const { return m_supers.value(); }
-
-    /** \returns the number of sub diagonals */
-    inline Index subs() const { return m_subs.value(); }
-
-    inline const CoefficientsType& coeffs() const { return m_coeffs; }
-
-  protected:
-
-    const CoefficientsType& m_coeffs;
-    internal::variable_if_dynamic<Index, _Rows>   m_rows;
-    internal::variable_if_dynamic<Index, _Supers> m_supers;
-    internal::variable_if_dynamic<Index, _Subs>   m_subs;
-};
-
-/**
-  * \class TridiagonalMatrix
-  * \ingroup Core_Module
-  *
-  * \brief Represents a tridiagonal matrix with a compact banded storage
-  *
-  * \param _Scalar Numeric type, i.e. float, double, int
-  * \param Size Number of rows and cols, or \b Dynamic
-  * \param _Options Can be 0 or \b SelfAdjoint
-  *
-  * \sa class BandMatrix
-  */
-template<typename Scalar, int Size, int Options>
-class TridiagonalMatrix : public BandMatrix<Scalar,Size,Size,Options&SelfAdjoint?0:1,1,Options|RowMajor>
-{
-    typedef BandMatrix<Scalar,Size,Size,Options&SelfAdjoint?0:1,1,Options|RowMajor> Base;
-    typedef typename Base::Index Index;
-  public:
-    TridiagonalMatrix(Index size = Size) : Base(size,size,Options&SelfAdjoint?0:1,1) {}
-
-    inline typename Base::template DiagonalIntReturnType<1>::Type super()
-    { return Base::template diagonal<1>(); }
-    inline const typename Base::template DiagonalIntReturnType<1>::Type super() const
-    { return Base::template diagonal<1>(); }
-    inline typename Base::template DiagonalIntReturnType<-1>::Type sub()
-    { return Base::template diagonal<-1>(); }
-    inline const typename Base::template DiagonalIntReturnType<-1>::Type sub() const
-    { return Base::template diagonal<-1>(); }
-  protected:
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_BANDMATRIX_H
diff --git a/lib/Eigen/src/Core/Block.h b/lib/Eigen/src/Core/Block.h
deleted file mode 100644
index 82789444..00000000
--- a/lib/Eigen/src/Core/Block.h
+++ /dev/null
@@ -1,406 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_BLOCK_H
-#define EIGEN_BLOCK_H
-
-namespace Eigen { 
-
-/** \class Block
-  * \ingroup Core_Module
-  *
-  * \brief Expression of a fixed-size or dynamic-size block
-  *
-  * \param XprType the type of the expression in which we are taking a block
-  * \param BlockRows the number of rows of the block we are taking at compile time (optional)
-  * \param BlockCols the number of columns of the block we are taking at compile time (optional)
-  *
-  * This class represents an expression of either a fixed-size or dynamic-size block. It is the return
-  * type of DenseBase::block(Index,Index,Index,Index) and DenseBase::block<int,int>(Index,Index) and
-  * most of the time this is the only way it is used.
-  *
-  * However, if you want to directly maniputate block expressions,
-  * for instance if you want to write a function returning such an expression, you
-  * will need to use this class.
-  *
-  * Here is an example illustrating the dynamic case:
-  * \include class_Block.cpp
-  * Output: \verbinclude class_Block.out
-  *
-  * \note Even though this expression has dynamic size, in the case where \a XprType
-  * has fixed size, this expression inherits a fixed maximal size which means that evaluating
-  * it does not cause a dynamic memory allocation.
-  *
-  * Here is an example illustrating the fixed-size case:
-  * \include class_FixedBlock.cpp
-  * Output: \verbinclude class_FixedBlock.out
-  *
-  * \sa DenseBase::block(Index,Index,Index,Index), DenseBase::block(Index,Index), class VectorBlock
-  */
-
-namespace internal {
-template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel>
-struct traits<Block<XprType, BlockRows, BlockCols, InnerPanel> > : traits<XprType>
-{
-  typedef typename traits<XprType>::Scalar Scalar;
-  typedef typename traits<XprType>::StorageKind StorageKind;
-  typedef typename traits<XprType>::XprKind XprKind;
-  typedef typename nested<XprType>::type XprTypeNested;
-  typedef typename remove_reference<XprTypeNested>::type _XprTypeNested;
-  enum{
-    MatrixRows = traits<XprType>::RowsAtCompileTime,
-    MatrixCols = traits<XprType>::ColsAtCompileTime,
-    RowsAtCompileTime = MatrixRows == 0 ? 0 : BlockRows,
-    ColsAtCompileTime = MatrixCols == 0 ? 0 : BlockCols,
-    MaxRowsAtCompileTime = BlockRows==0 ? 0
-                         : RowsAtCompileTime != Dynamic ? int(RowsAtCompileTime)
-                         : int(traits<XprType>::MaxRowsAtCompileTime),
-    MaxColsAtCompileTime = BlockCols==0 ? 0
-                         : ColsAtCompileTime != Dynamic ? int(ColsAtCompileTime)
-                         : int(traits<XprType>::MaxColsAtCompileTime),
-    XprTypeIsRowMajor = (int(traits<XprType>::Flags)&RowMajorBit) != 0,
-    IsDense = is_same<StorageKind,Dense>::value,
-    IsRowMajor = (IsDense&&MaxRowsAtCompileTime==1&&MaxColsAtCompileTime!=1) ? 1
-               : (IsDense&&MaxColsAtCompileTime==1&&MaxRowsAtCompileTime!=1) ? 0
-               : XprTypeIsRowMajor,
-    HasSameStorageOrderAsXprType = (IsRowMajor == XprTypeIsRowMajor),
-    InnerSize = IsRowMajor ? int(ColsAtCompileTime) : int(RowsAtCompileTime),
-    InnerStrideAtCompileTime = HasSameStorageOrderAsXprType
-                             ? int(inner_stride_at_compile_time<XprType>::ret)
-                             : int(outer_stride_at_compile_time<XprType>::ret),
-    OuterStrideAtCompileTime = HasSameStorageOrderAsXprType
-                             ? int(outer_stride_at_compile_time<XprType>::ret)
-                             : int(inner_stride_at_compile_time<XprType>::ret),
-    MaskPacketAccessBit = (InnerSize == Dynamic || (InnerSize % packet_traits<Scalar>::size) == 0)
-                       && (InnerStrideAtCompileTime == 1)
-                        ? PacketAccessBit : 0,
-    MaskAlignedBit = (InnerPanel && (OuterStrideAtCompileTime!=Dynamic) && (((OuterStrideAtCompileTime * int(sizeof(Scalar))) % 16) == 0)) ? AlignedBit : 0,
-    FlagsLinearAccessBit = (RowsAtCompileTime == 1 || ColsAtCompileTime == 1 || (InnerPanel && (traits<XprType>::Flags&LinearAccessBit))) ? LinearAccessBit : 0,
-    FlagsLvalueBit = is_lvalue<XprType>::value ? LvalueBit : 0,
-    FlagsRowMajorBit = IsRowMajor ? RowMajorBit : 0,
-    Flags0 = traits<XprType>::Flags & ( (HereditaryBits & ~RowMajorBit) |
-                                        DirectAccessBit |
-                                        MaskPacketAccessBit |
-                                        MaskAlignedBit),
-    Flags = Flags0 | FlagsLinearAccessBit | FlagsLvalueBit | FlagsRowMajorBit
-  };
-};
-
-template<typename XprType, int BlockRows=Dynamic, int BlockCols=Dynamic, bool InnerPanel = false,
-         bool HasDirectAccess = internal::has_direct_access<XprType>::ret> class BlockImpl_dense;
-         
-} // end namespace internal
-
-template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel, typename StorageKind> class BlockImpl;
-
-template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel> class Block
-  : public BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, typename internal::traits<XprType>::StorageKind>
-{
-    typedef BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, typename internal::traits<XprType>::StorageKind> Impl;
-  public:
-    //typedef typename Impl::Base Base;
-    typedef Impl Base;
-    EIGEN_GENERIC_PUBLIC_INTERFACE(Block)
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Block)
-  
-    /** Column or Row constructor
-      */
-    inline Block(XprType& xpr, Index i) : Impl(xpr,i)
-    {
-      eigen_assert( (i>=0) && (
-          ((BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) && i<xpr.rows())
-        ||((BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) && i<xpr.cols())));
-    }
-
-    /** Fixed-size constructor
-      */
-    inline Block(XprType& xpr, Index a_startRow, Index a_startCol)
-      : Impl(xpr, a_startRow, a_startCol)
-    {
-      EIGEN_STATIC_ASSERT(RowsAtCompileTime!=Dynamic && ColsAtCompileTime!=Dynamic,THIS_METHOD_IS_ONLY_FOR_FIXED_SIZE)
-      eigen_assert(a_startRow >= 0 && BlockRows >= 1 && a_startRow + BlockRows <= xpr.rows()
-             && a_startCol >= 0 && BlockCols >= 1 && a_startCol + BlockCols <= xpr.cols());
-    }
-
-    /** Dynamic-size constructor
-      */
-    inline Block(XprType& xpr,
-          Index a_startRow, Index a_startCol,
-          Index blockRows, Index blockCols)
-      : Impl(xpr, a_startRow, a_startCol, blockRows, blockCols)
-    {
-      eigen_assert((RowsAtCompileTime==Dynamic || RowsAtCompileTime==blockRows)
-          && (ColsAtCompileTime==Dynamic || ColsAtCompileTime==blockCols));
-      eigen_assert(a_startRow >= 0 && blockRows >= 0 && a_startRow  <= xpr.rows() - blockRows
-          && a_startCol >= 0 && blockCols >= 0 && a_startCol <= xpr.cols() - blockCols);
-    }
-};
-         
-// The generic default implementation for dense block simplu forward to the internal::BlockImpl_dense
-// that must be specialized for direct and non-direct access...
-template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel>
-class BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, Dense>
-  : public internal::BlockImpl_dense<XprType, BlockRows, BlockCols, InnerPanel>
-{
-    typedef internal::BlockImpl_dense<XprType, BlockRows, BlockCols, InnerPanel> Impl;
-    typedef typename XprType::Index Index;
-  public:
-    typedef Impl Base;
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(BlockImpl)
-    inline BlockImpl(XprType& xpr, Index i) : Impl(xpr,i) {}
-    inline BlockImpl(XprType& xpr, Index a_startRow, Index a_startCol) : Impl(xpr, a_startRow, a_startCol) {}
-    inline BlockImpl(XprType& xpr, Index a_startRow, Index a_startCol, Index blockRows, Index blockCols)
-      : Impl(xpr, a_startRow, a_startCol, blockRows, blockCols) {}
-};
-
-namespace internal {
-
-/** \internal Internal implementation of dense Blocks in the general case. */
-template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel, bool HasDirectAccess> class BlockImpl_dense
-  : public internal::dense_xpr_base<Block<XprType, BlockRows, BlockCols, InnerPanel> >::type
-{
-    typedef Block<XprType, BlockRows, BlockCols, InnerPanel> BlockType;
-  public:
-
-    typedef typename internal::dense_xpr_base<BlockType>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(BlockType)
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(BlockImpl_dense)
-
-    class InnerIterator;
-
-    /** Column or Row constructor
-      */
-    inline BlockImpl_dense(XprType& xpr, Index i)
-      : m_xpr(xpr),
-        // It is a row if and only if BlockRows==1 and BlockCols==XprType::ColsAtCompileTime,
-        // and it is a column if and only if BlockRows==XprType::RowsAtCompileTime and BlockCols==1,
-        // all other cases are invalid.
-        // The case a 1x1 matrix seems ambiguous, but the result is the same anyway.
-        m_startRow( (BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) ? i : 0),
-        m_startCol( (BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) ? i : 0),
-        m_blockRows(BlockRows==1 ? 1 : xpr.rows()),
-        m_blockCols(BlockCols==1 ? 1 : xpr.cols())
-    {}
-
-    /** Fixed-size constructor
-      */
-    inline BlockImpl_dense(XprType& xpr, Index a_startRow, Index a_startCol)
-      : m_xpr(xpr), m_startRow(a_startRow), m_startCol(a_startCol),
-                    m_blockRows(BlockRows), m_blockCols(BlockCols)
-    {}
-
-    /** Dynamic-size constructor
-      */
-    inline BlockImpl_dense(XprType& xpr,
-          Index a_startRow, Index a_startCol,
-          Index blockRows, Index blockCols)
-      : m_xpr(xpr), m_startRow(a_startRow), m_startCol(a_startCol),
-                    m_blockRows(blockRows), m_blockCols(blockCols)
-    {}
-
-    inline Index rows() const { return m_blockRows.value(); }
-    inline Index cols() const { return m_blockCols.value(); }
-
-    inline Scalar& coeffRef(Index rowId, Index colId)
-    {
-      EIGEN_STATIC_ASSERT_LVALUE(XprType)
-      return m_xpr.const_cast_derived()
-               .coeffRef(rowId + m_startRow.value(), colId + m_startCol.value());
-    }
-
-    inline const Scalar& coeffRef(Index rowId, Index colId) const
-    {
-      return m_xpr.derived()
-               .coeffRef(rowId + m_startRow.value(), colId + m_startCol.value());
-    }
-
-    EIGEN_STRONG_INLINE const CoeffReturnType coeff(Index rowId, Index colId) const
-    {
-      return m_xpr.coeff(rowId + m_startRow.value(), colId + m_startCol.value());
-    }
-
-    inline Scalar& coeffRef(Index index)
-    {
-      EIGEN_STATIC_ASSERT_LVALUE(XprType)
-      return m_xpr.const_cast_derived()
-             .coeffRef(m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index),
-                       m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0));
-    }
-
-    inline const Scalar& coeffRef(Index index) const
-    {
-      return m_xpr.const_cast_derived()
-             .coeffRef(m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index),
-                       m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0));
-    }
-
-    inline const CoeffReturnType coeff(Index index) const
-    {
-      return m_xpr
-             .coeff(m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index),
-                    m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0));
-    }
-
-    template<int LoadMode>
-    inline PacketScalar packet(Index rowId, Index colId) const
-    {
-      return m_xpr.template packet<Unaligned>
-              (rowId + m_startRow.value(), colId + m_startCol.value());
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index rowId, Index colId, const PacketScalar& val)
-    {
-      m_xpr.const_cast_derived().template writePacket<Unaligned>
-              (rowId + m_startRow.value(), colId + m_startCol.value(), val);
-    }
-
-    template<int LoadMode>
-    inline PacketScalar packet(Index index) const
-    {
-      return m_xpr.template packet<Unaligned>
-              (m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index),
-               m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0));
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index index, const PacketScalar& val)
-    {
-      m_xpr.const_cast_derived().template writePacket<Unaligned>
-         (m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index),
-          m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0), val);
-    }
-
-    #ifdef EIGEN_PARSED_BY_DOXYGEN
-    /** \sa MapBase::data() */
-    inline const Scalar* data() const;
-    inline Index innerStride() const;
-    inline Index outerStride() const;
-    #endif
-
-    const typename internal::remove_all<typename XprType::Nested>::type& nestedExpression() const 
-    { 
-      return m_xpr; 
-    }
-      
-    Index startRow() const 
-    { 
-      return m_startRow.value(); 
-    }
-      
-    Index startCol() const 
-    { 
-      return m_startCol.value(); 
-    }
-
-  protected:
-
-    const typename XprType::Nested m_xpr;
-    const internal::variable_if_dynamic<Index, XprType::RowsAtCompileTime == 1 ? 0 : Dynamic> m_startRow;
-    const internal::variable_if_dynamic<Index, XprType::ColsAtCompileTime == 1 ? 0 : Dynamic> m_startCol;
-    const internal::variable_if_dynamic<Index, RowsAtCompileTime> m_blockRows;
-    const internal::variable_if_dynamic<Index, ColsAtCompileTime> m_blockCols;
-};
-
-/** \internal Internal implementation of dense Blocks in the direct access case.*/
-template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel>
-class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
-  : public MapBase<Block<XprType, BlockRows, BlockCols, InnerPanel> >
-{
-    typedef Block<XprType, BlockRows, BlockCols, InnerPanel> BlockType;
-  public:
-
-    typedef MapBase<BlockType> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(BlockType)
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(BlockImpl_dense)
-
-    /** Column or Row constructor
-      */
-    inline BlockImpl_dense(XprType& xpr, Index i)
-      : Base(internal::const_cast_ptr(&xpr.coeffRef(
-              (BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) ? i : 0,
-              (BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) ? i : 0)),
-             BlockRows==1 ? 1 : xpr.rows(),
-             BlockCols==1 ? 1 : xpr.cols()),
-        m_xpr(xpr)
-    {
-      init();
-    }
-
-    /** Fixed-size constructor
-      */
-    inline BlockImpl_dense(XprType& xpr, Index startRow, Index startCol)
-      : Base(internal::const_cast_ptr(&xpr.coeffRef(startRow,startCol))), m_xpr(xpr)
-    {
-      init();
-    }
-
-    /** Dynamic-size constructor
-      */
-    inline BlockImpl_dense(XprType& xpr,
-          Index startRow, Index startCol,
-          Index blockRows, Index blockCols)
-      : Base(internal::const_cast_ptr(&xpr.coeffRef(startRow,startCol)), blockRows, blockCols),
-        m_xpr(xpr)
-    {
-      init();
-    }
-
-    const typename internal::remove_all<typename XprType::Nested>::type& nestedExpression() const 
-    { 
-      return m_xpr; 
-    }
-      
-    /** \sa MapBase::innerStride() */
-    inline Index innerStride() const
-    {
-      return internal::traits<BlockType>::HasSameStorageOrderAsXprType
-             ? m_xpr.innerStride()
-             : m_xpr.outerStride();
-    }
-
-    /** \sa MapBase::outerStride() */
-    inline Index outerStride() const
-    {
-      return m_outerStride;
-    }
-
-  #ifndef __SUNPRO_CC
-  // FIXME sunstudio is not friendly with the above friend...
-  // META-FIXME there is no 'friend' keyword around here. Is this obsolete?
-  protected:
-  #endif
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** \internal used by allowAligned() */
-    inline BlockImpl_dense(XprType& xpr, const Scalar* data, Index blockRows, Index blockCols)
-      : Base(data, blockRows, blockCols), m_xpr(xpr)
-    {
-      init();
-    }
-    #endif
-
-  protected:
-    void init()
-    {
-      m_outerStride = internal::traits<BlockType>::HasSameStorageOrderAsXprType
-                    ? m_xpr.outerStride()
-                    : m_xpr.innerStride();
-    }
-
-    typename XprType::Nested m_xpr;
-    Index m_outerStride;
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_BLOCK_H
diff --git a/lib/Eigen/src/Core/BooleanRedux.h b/lib/Eigen/src/Core/BooleanRedux.h
deleted file mode 100644
index be9f48a8..00000000
--- a/lib/Eigen/src/Core/BooleanRedux.h
+++ /dev/null
@@ -1,154 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ALLANDANY_H
-#define EIGEN_ALLANDANY_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Derived, int UnrollCount>
-struct all_unroller
-{
-  enum {
-    col = (UnrollCount-1) / Derived::RowsAtCompileTime,
-    row = (UnrollCount-1) % Derived::RowsAtCompileTime
-  };
-
-  static inline bool run(const Derived &mat)
-  {
-    return all_unroller<Derived, UnrollCount-1>::run(mat) && mat.coeff(row, col);
-  }
-};
-
-template<typename Derived>
-struct all_unroller<Derived, 0>
-{
-  static inline bool run(const Derived &/*mat*/) { return true; }
-};
-
-template<typename Derived>
-struct all_unroller<Derived, Dynamic>
-{
-  static inline bool run(const Derived &) { return false; }
-};
-
-template<typename Derived, int UnrollCount>
-struct any_unroller
-{
-  enum {
-    col = (UnrollCount-1) / Derived::RowsAtCompileTime,
-    row = (UnrollCount-1) % Derived::RowsAtCompileTime
-  };
-
-  static inline bool run(const Derived &mat)
-  {
-    return any_unroller<Derived, UnrollCount-1>::run(mat) || mat.coeff(row, col);
-  }
-};
-
-template<typename Derived>
-struct any_unroller<Derived, 0>
-{
-  static inline bool run(const Derived & /*mat*/) { return false; }
-};
-
-template<typename Derived>
-struct any_unroller<Derived, Dynamic>
-{
-  static inline bool run(const Derived &) { return false; }
-};
-
-} // end namespace internal
-
-/** \returns true if all coefficients are true
-  *
-  * Example: \include MatrixBase_all.cpp
-  * Output: \verbinclude MatrixBase_all.out
-  *
-  * \sa any(), Cwise::operator<()
-  */
-template<typename Derived>
-inline bool DenseBase<Derived>::all() const
-{
-  enum {
-    unroll = SizeAtCompileTime != Dynamic
-          && CoeffReadCost != Dynamic
-          && NumTraits<Scalar>::AddCost != Dynamic
-          && SizeAtCompileTime * (CoeffReadCost + NumTraits<Scalar>::AddCost) <= EIGEN_UNROLLING_LIMIT
-  };
-  if(unroll)
-    return internal::all_unroller<Derived, unroll ? int(SizeAtCompileTime) : Dynamic>::run(derived());
-  else
-  {
-    for(Index j = 0; j < cols(); ++j)
-      for(Index i = 0; i < rows(); ++i)
-        if (!coeff(i, j)) return false;
-    return true;
-  }
-}
-
-/** \returns true if at least one coefficient is true
-  *
-  * \sa all()
-  */
-template<typename Derived>
-inline bool DenseBase<Derived>::any() const
-{
-  enum {
-    unroll = SizeAtCompileTime != Dynamic
-          && CoeffReadCost != Dynamic
-          && NumTraits<Scalar>::AddCost != Dynamic
-          && SizeAtCompileTime * (CoeffReadCost + NumTraits<Scalar>::AddCost) <= EIGEN_UNROLLING_LIMIT
-  };
-  if(unroll)
-    return internal::any_unroller<Derived, unroll ? int(SizeAtCompileTime) : Dynamic>::run(derived());
-  else
-  {
-    for(Index j = 0; j < cols(); ++j)
-      for(Index i = 0; i < rows(); ++i)
-        if (coeff(i, j)) return true;
-    return false;
-  }
-}
-
-/** \returns the number of coefficients which evaluate to true
-  *
-  * \sa all(), any()
-  */
-template<typename Derived>
-inline typename DenseBase<Derived>::Index DenseBase<Derived>::count() const
-{
-  return derived().template cast<bool>().template cast<Index>().sum();
-}
-
-/** \returns true is \c *this contains at least one Not A Number (NaN).
-  *
-  * \sa allFinite()
-  */
-template<typename Derived>
-inline bool DenseBase<Derived>::hasNaN() const
-{
-  return !((derived().array()==derived().array()).all());
-}
-
-/** \returns true if \c *this contains only finite numbers, i.e., no NaN and no +/-INF values.
-  *
-  * \sa hasNaN()
-  */
-template<typename Derived>
-inline bool DenseBase<Derived>::allFinite() const
-{
-  return !((derived()-derived()).hasNaN());
-}
-    
-} // end namespace Eigen
-
-#endif // EIGEN_ALLANDANY_H
diff --git a/lib/Eigen/src/Core/CMakeLists.txt b/lib/Eigen/src/Core/CMakeLists.txt
deleted file mode 100644
index 2346fc2b..00000000
--- a/lib/Eigen/src/Core/CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-FILE(GLOB Eigen_Core_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Core_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core COMPONENT Devel
-  )
-
-ADD_SUBDIRECTORY(products)
-ADD_SUBDIRECTORY(util)
-ADD_SUBDIRECTORY(arch)
diff --git a/lib/Eigen/src/Core/CommaInitializer.h b/lib/Eigen/src/Core/CommaInitializer.h
deleted file mode 100644
index a036d8c3..00000000
--- a/lib/Eigen/src/Core/CommaInitializer.h
+++ /dev/null
@@ -1,154 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COMMAINITIALIZER_H
-#define EIGEN_COMMAINITIALIZER_H
-
-namespace Eigen { 
-
-/** \class CommaInitializer
-  * \ingroup Core_Module
-  *
-  * \brief Helper class used by the comma initializer operator
-  *
-  * This class is internally used to implement the comma initializer feature. It is
-  * the return type of MatrixBase::operator<<, and most of the time this is the only
-  * way it is used.
-  *
-  * \sa \ref MatrixBaseCommaInitRef "MatrixBase::operator<<", CommaInitializer::finished()
-  */
-template<typename XprType>
-struct CommaInitializer
-{
-  typedef typename XprType::Scalar Scalar;
-  typedef typename XprType::Index Index;
-
-  inline CommaInitializer(XprType& xpr, const Scalar& s)
-    : m_xpr(xpr), m_row(0), m_col(1), m_currentBlockRows(1)
-  {
-    m_xpr.coeffRef(0,0) = s;
-  }
-
-  template<typename OtherDerived>
-  inline CommaInitializer(XprType& xpr, const DenseBase<OtherDerived>& other)
-    : m_xpr(xpr), m_row(0), m_col(other.cols()), m_currentBlockRows(other.rows())
-  {
-    m_xpr.block(0, 0, other.rows(), other.cols()) = other;
-  }
-
-  /* Copy/Move constructor which transfers ownership. This is crucial in 
-   * absence of return value optimization to avoid assertions during destruction. */
-  // FIXME in C++11 mode this could be replaced by a proper RValue constructor
-  inline CommaInitializer(const CommaInitializer& o)
-  : m_xpr(o.m_xpr), m_row(o.m_row), m_col(o.m_col), m_currentBlockRows(o.m_currentBlockRows) {
-    // Mark original object as finished. In absence of R-value references we need to const_cast:
-    const_cast<CommaInitializer&>(o).m_row = m_xpr.rows();
-    const_cast<CommaInitializer&>(o).m_col = m_xpr.cols();
-    const_cast<CommaInitializer&>(o).m_currentBlockRows = 0;
-  }
-
-  /* inserts a scalar value in the target matrix */
-  CommaInitializer& operator,(const Scalar& s)
-  {
-    if (m_col==m_xpr.cols())
-    {
-      m_row+=m_currentBlockRows;
-      m_col = 0;
-      m_currentBlockRows = 1;
-      eigen_assert(m_row<m_xpr.rows()
-        && "Too many rows passed to comma initializer (operator<<)");
-    }
-    eigen_assert(m_col<m_xpr.cols()
-      && "Too many coefficients passed to comma initializer (operator<<)");
-    eigen_assert(m_currentBlockRows==1);
-    m_xpr.coeffRef(m_row, m_col++) = s;
-    return *this;
-  }
-
-  /* inserts a matrix expression in the target matrix */
-  template<typename OtherDerived>
-  CommaInitializer& operator,(const DenseBase<OtherDerived>& other)
-  {
-    if(other.cols()==0 || other.rows()==0)
-      return *this;
-    if (m_col==m_xpr.cols())
-    {
-      m_row+=m_currentBlockRows;
-      m_col = 0;
-      m_currentBlockRows = other.rows();
-      eigen_assert(m_row+m_currentBlockRows<=m_xpr.rows()
-        && "Too many rows passed to comma initializer (operator<<)");
-    }
-    eigen_assert(m_col<m_xpr.cols()
-      && "Too many coefficients passed to comma initializer (operator<<)");
-    eigen_assert(m_currentBlockRows==other.rows());
-    if (OtherDerived::SizeAtCompileTime != Dynamic)
-      m_xpr.template block<OtherDerived::RowsAtCompileTime != Dynamic ? OtherDerived::RowsAtCompileTime : 1,
-                              OtherDerived::ColsAtCompileTime != Dynamic ? OtherDerived::ColsAtCompileTime : 1>
-                    (m_row, m_col) = other;
-    else
-      m_xpr.block(m_row, m_col, other.rows(), other.cols()) = other;
-    m_col += other.cols();
-    return *this;
-  }
-
-  inline ~CommaInitializer()
-  {
-    eigen_assert((m_row+m_currentBlockRows) == m_xpr.rows()
-         && m_col == m_xpr.cols()
-         && "Too few coefficients passed to comma initializer (operator<<)");
-  }
-
-  /** \returns the built matrix once all its coefficients have been set.
-    * Calling finished is 100% optional. Its purpose is to write expressions
-    * like this:
-    * \code
-    * quaternion.fromRotationMatrix((Matrix3f() << axis0, axis1, axis2).finished());
-    * \endcode
-    */
-  inline XprType& finished() { return m_xpr; }
-
-  XprType& m_xpr;   // target expression
-  Index m_row;              // current row id
-  Index m_col;              // current col id
-  Index m_currentBlockRows; // current block height
-};
-
-/** \anchor MatrixBaseCommaInitRef
-  * Convenient operator to set the coefficients of a matrix.
-  *
-  * The coefficients must be provided in a row major order and exactly match
-  * the size of the matrix. Otherwise an assertion is raised.
-  *
-  * Example: \include MatrixBase_set.cpp
-  * Output: \verbinclude MatrixBase_set.out
-  * 
-  * \note According the c++ standard, the argument expressions of this comma initializer are evaluated in arbitrary order.
-  *
-  * \sa CommaInitializer::finished(), class CommaInitializer
-  */
-template<typename Derived>
-inline CommaInitializer<Derived> DenseBase<Derived>::operator<< (const Scalar& s)
-{
-  return CommaInitializer<Derived>(*static_cast<Derived*>(this), s);
-}
-
-/** \sa operator<<(const Scalar&) */
-template<typename Derived>
-template<typename OtherDerived>
-inline CommaInitializer<Derived>
-DenseBase<Derived>::operator<<(const DenseBase<OtherDerived>& other)
-{
-  return CommaInitializer<Derived>(*static_cast<Derived *>(this), other);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_COMMAINITIALIZER_H
diff --git a/lib/Eigen/src/Core/CoreIterators.h b/lib/Eigen/src/Core/CoreIterators.h
deleted file mode 100644
index 6da4683d..00000000
--- a/lib/Eigen/src/Core/CoreIterators.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COREITERATORS_H
-#define EIGEN_COREITERATORS_H
-
-namespace Eigen { 
-
-/* This file contains the respective InnerIterator definition of the expressions defined in Eigen/Core
- */
-
-/** \ingroup SparseCore_Module
-  * \class InnerIterator
-  * \brief An InnerIterator allows to loop over the element of a sparse (or dense) matrix or expression
-  *
-  * todo
-  */
-
-// generic version for dense matrix and expressions
-template<typename Derived> class DenseBase<Derived>::InnerIterator
-{
-  protected:
-    typedef typename Derived::Scalar Scalar;
-    typedef typename Derived::Index Index;
-
-    enum { IsRowMajor = (Derived::Flags&RowMajorBit)==RowMajorBit };
-  public:
-    EIGEN_STRONG_INLINE InnerIterator(const Derived& expr, Index outer)
-      : m_expression(expr), m_inner(0), m_outer(outer), m_end(expr.innerSize())
-    {}
-
-    EIGEN_STRONG_INLINE Scalar value() const
-    {
-      return (IsRowMajor) ? m_expression.coeff(m_outer, m_inner)
-                          : m_expression.coeff(m_inner, m_outer);
-    }
-
-    EIGEN_STRONG_INLINE InnerIterator& operator++() { m_inner++; return *this; }
-
-    EIGEN_STRONG_INLINE Index index() const { return m_inner; }
-    inline Index row() const { return IsRowMajor ? m_outer : index(); }
-    inline Index col() const { return IsRowMajor ? index() : m_outer; }
-
-    EIGEN_STRONG_INLINE operator bool() const { return m_inner < m_end && m_inner>=0; }
-
-  protected:
-    const Derived& m_expression;
-    Index m_inner;
-    const Index m_outer;
-    const Index m_end;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_COREITERATORS_H
diff --git a/lib/Eigen/src/Core/CwiseBinaryOp.h b/lib/Eigen/src/Core/CwiseBinaryOp.h
deleted file mode 100644
index 519a866e..00000000
--- a/lib/Eigen/src/Core/CwiseBinaryOp.h
+++ /dev/null
@@ -1,230 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CWISE_BINARY_OP_H
-#define EIGEN_CWISE_BINARY_OP_H
-
-namespace Eigen {
-
-/** \class CwiseBinaryOp
-  * \ingroup Core_Module
-  *
-  * \brief Generic expression where a coefficient-wise binary operator is applied to two expressions
-  *
-  * \param BinaryOp template functor implementing the operator
-  * \param Lhs the type of the left-hand side
-  * \param Rhs the type of the right-hand side
-  *
-  * This class represents an expression  where a coefficient-wise binary operator is applied to two expressions.
-  * It is the return type of binary operators, by which we mean only those binary operators where
-  * both the left-hand side and the right-hand side are Eigen expressions.
-  * For example, the return type of matrix1+matrix2 is a CwiseBinaryOp.
-  *
-  * Most of the time, this is the only way that it is used, so you typically don't have to name
-  * CwiseBinaryOp types explicitly.
-  *
-  * \sa MatrixBase::binaryExpr(const MatrixBase<OtherDerived> &,const CustomBinaryOp &) const, class CwiseUnaryOp, class CwiseNullaryOp
-  */
-
-namespace internal {
-template<typename BinaryOp, typename Lhs, typename Rhs>
-struct traits<CwiseBinaryOp<BinaryOp, Lhs, Rhs> >
-{
-  // we must not inherit from traits<Lhs> since it has
-  // the potential to cause problems with MSVC
-  typedef typename remove_all<Lhs>::type Ancestor;
-  typedef typename traits<Ancestor>::XprKind XprKind;
-  enum {
-    RowsAtCompileTime = traits<Ancestor>::RowsAtCompileTime,
-    ColsAtCompileTime = traits<Ancestor>::ColsAtCompileTime,
-    MaxRowsAtCompileTime = traits<Ancestor>::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = traits<Ancestor>::MaxColsAtCompileTime
-  };
-
-  // even though we require Lhs and Rhs to have the same scalar type (see CwiseBinaryOp constructor),
-  // we still want to handle the case when the result type is different.
-  typedef typename result_of<
-                     BinaryOp(
-                       typename Lhs::Scalar,
-                       typename Rhs::Scalar
-                     )
-                   >::type Scalar;
-  typedef typename promote_storage_type<typename traits<Lhs>::StorageKind,
-                                           typename traits<Rhs>::StorageKind>::ret StorageKind;
-  typedef typename promote_index_type<typename traits<Lhs>::Index,
-                                         typename traits<Rhs>::Index>::type Index;
-  typedef typename Lhs::Nested LhsNested;
-  typedef typename Rhs::Nested RhsNested;
-  typedef typename remove_reference<LhsNested>::type _LhsNested;
-  typedef typename remove_reference<RhsNested>::type _RhsNested;
-  enum {
-    LhsCoeffReadCost = _LhsNested::CoeffReadCost,
-    RhsCoeffReadCost = _RhsNested::CoeffReadCost,
-    LhsFlags = _LhsNested::Flags,
-    RhsFlags = _RhsNested::Flags,
-    SameType = is_same<typename _LhsNested::Scalar,typename _RhsNested::Scalar>::value,
-    StorageOrdersAgree = (int(Lhs::Flags)&RowMajorBit)==(int(Rhs::Flags)&RowMajorBit),
-    Flags0 = (int(LhsFlags) | int(RhsFlags)) & (
-        HereditaryBits
-      | (int(LhsFlags) & int(RhsFlags) &
-           ( AlignedBit
-           | (StorageOrdersAgree ? LinearAccessBit : 0)
-           | (functor_traits<BinaryOp>::PacketAccess && StorageOrdersAgree && SameType ? PacketAccessBit : 0)
-           )
-        )
-     ),
-    Flags = (Flags0 & ~RowMajorBit) | (LhsFlags & RowMajorBit),
-    Cost0 = EIGEN_ADD_COST(LhsCoeffReadCost,RhsCoeffReadCost),
-    CoeffReadCost = EIGEN_ADD_COST(Cost0,functor_traits<BinaryOp>::Cost)
-  };
-};
-} // end namespace internal
-
-// we require Lhs and Rhs to have the same scalar type. Currently there is no example of a binary functor
-// that would take two operands of different types. If there were such an example, then this check should be
-// moved to the BinaryOp functors, on a per-case basis. This would however require a change in the BinaryOp functors, as
-// currently they take only one typename Scalar template parameter.
-// It is tempting to always allow mixing different types but remember that this is often impossible in the vectorized paths.
-// So allowing mixing different types gives very unexpected errors when enabling vectorization, when the user tries to
-// add together a float matrix and a double matrix.
-#define EIGEN_CHECK_BINARY_COMPATIBILIY(BINOP,LHS,RHS) \
-  EIGEN_STATIC_ASSERT((internal::functor_is_product_like<BINOP>::ret \
-                        ? int(internal::scalar_product_traits<LHS, RHS>::Defined) \
-                        : int(internal::is_same<LHS, RHS>::value)), \
-    YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-
-template<typename BinaryOp, typename Lhs, typename Rhs, typename StorageKind>
-class CwiseBinaryOpImpl;
-
-template<typename BinaryOp, typename Lhs, typename Rhs>
-class CwiseBinaryOp : internal::no_assignment_operator,
-  public CwiseBinaryOpImpl<
-          BinaryOp, Lhs, Rhs,
-          typename internal::promote_storage_type<typename internal::traits<Lhs>::StorageKind,
-                                           typename internal::traits<Rhs>::StorageKind>::ret>
-{
-  public:
-
-    typedef typename CwiseBinaryOpImpl<
-        BinaryOp, Lhs, Rhs,
-        typename internal::promote_storage_type<typename internal::traits<Lhs>::StorageKind,
-                                         typename internal::traits<Rhs>::StorageKind>::ret>::Base Base;
-    EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseBinaryOp)
-
-    typedef typename internal::nested<Lhs>::type LhsNested;
-    typedef typename internal::nested<Rhs>::type RhsNested;
-    typedef typename internal::remove_reference<LhsNested>::type _LhsNested;
-    typedef typename internal::remove_reference<RhsNested>::type _RhsNested;
-
-    EIGEN_STRONG_INLINE CwiseBinaryOp(const Lhs& aLhs, const Rhs& aRhs, const BinaryOp& func = BinaryOp())
-      : m_lhs(aLhs), m_rhs(aRhs), m_functor(func)
-    {
-      EIGEN_CHECK_BINARY_COMPATIBILIY(BinaryOp,typename Lhs::Scalar,typename Rhs::Scalar);
-      // require the sizes to match
-      EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Lhs, Rhs)
-      eigen_assert(aLhs.rows() == aRhs.rows() && aLhs.cols() == aRhs.cols());
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const {
-      // return the fixed size type if available to enable compile time optimizations
-      if (internal::traits<typename internal::remove_all<LhsNested>::type>::RowsAtCompileTime==Dynamic)
-        return m_rhs.rows();
-      else
-        return m_lhs.rows();
-    }
-    EIGEN_STRONG_INLINE Index cols() const {
-      // return the fixed size type if available to enable compile time optimizations
-      if (internal::traits<typename internal::remove_all<LhsNested>::type>::ColsAtCompileTime==Dynamic)
-        return m_rhs.cols();
-      else
-        return m_lhs.cols();
-    }
-
-    /** \returns the left hand side nested expression */
-    const _LhsNested& lhs() const { return m_lhs; }
-    /** \returns the right hand side nested expression */
-    const _RhsNested& rhs() const { return m_rhs; }
-    /** \returns the functor representing the binary operation */
-    const BinaryOp& functor() const { return m_functor; }
-
-  protected:
-    LhsNested m_lhs;
-    RhsNested m_rhs;
-    const BinaryOp m_functor;
-};
-
-template<typename BinaryOp, typename Lhs, typename Rhs>
-class CwiseBinaryOpImpl<BinaryOp, Lhs, Rhs, Dense>
-  : public internal::dense_xpr_base<CwiseBinaryOp<BinaryOp, Lhs, Rhs> >::type
-{
-    typedef CwiseBinaryOp<BinaryOp, Lhs, Rhs> Derived;
-  public:
-
-    typedef typename internal::dense_xpr_base<CwiseBinaryOp<BinaryOp, Lhs, Rhs> >::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE( Derived )
-
-    EIGEN_STRONG_INLINE const Scalar coeff(Index rowId, Index colId) const
-    {
-      return derived().functor()(derived().lhs().coeff(rowId, colId),
-                                 derived().rhs().coeff(rowId, colId));
-    }
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index rowId, Index colId) const
-    {
-      return derived().functor().packetOp(derived().lhs().template packet<LoadMode>(rowId, colId),
-                                          derived().rhs().template packet<LoadMode>(rowId, colId));
-    }
-
-    EIGEN_STRONG_INLINE const Scalar coeff(Index index) const
-    {
-      return derived().functor()(derived().lhs().coeff(index),
-                                 derived().rhs().coeff(index));
-    }
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index index) const
-    {
-      return derived().functor().packetOp(derived().lhs().template packet<LoadMode>(index),
-                                          derived().rhs().template packet<LoadMode>(index));
-    }
-};
-
-/** replaces \c *this by \c *this - \a other.
-  *
-  * \returns a reference to \c *this
-  */
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived &
-MatrixBase<Derived>::operator-=(const MatrixBase<OtherDerived> &other)
-{
-  SelfCwiseBinaryOp<internal::scalar_difference_op<Scalar>, Derived, OtherDerived> tmp(derived());
-  tmp = other.derived();
-  return derived();
-}
-
-/** replaces \c *this by \c *this + \a other.
-  *
-  * \returns a reference to \c *this
-  */
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived &
-MatrixBase<Derived>::operator+=(const MatrixBase<OtherDerived>& other)
-{
-  SelfCwiseBinaryOp<internal::scalar_sum_op<Scalar>, Derived, OtherDerived> tmp(derived());
-  tmp = other.derived();
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_CWISE_BINARY_OP_H
diff --git a/lib/Eigen/src/Core/CwiseNullaryOp.h b/lib/Eigen/src/Core/CwiseNullaryOp.h
deleted file mode 100644
index a93bab2d..00000000
--- a/lib/Eigen/src/Core/CwiseNullaryOp.h
+++ /dev/null
@@ -1,864 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CWISE_NULLARY_OP_H
-#define EIGEN_CWISE_NULLARY_OP_H
-
-namespace Eigen {
-
-/** \class CwiseNullaryOp
-  * \ingroup Core_Module
-  *
-  * \brief Generic expression of a matrix where all coefficients are defined by a functor
-  *
-  * \param NullaryOp template functor implementing the operator
-  * \param PlainObjectType the underlying plain matrix/array type
-  *
-  * This class represents an expression of a generic nullary operator.
-  * It is the return type of the Ones(), Zero(), Constant(), Identity() and Random() methods,
-  * and most of the time this is the only way it is used.
-  *
-  * However, if you want to write a function returning such an expression, you
-  * will need to use this class.
-  *
-  * \sa class CwiseUnaryOp, class CwiseBinaryOp, DenseBase::NullaryExpr()
-  */
-
-namespace internal {
-template<typename NullaryOp, typename PlainObjectType>
-struct traits<CwiseNullaryOp<NullaryOp, PlainObjectType> > : traits<PlainObjectType>
-{
-  enum {
-    Flags = (traits<PlainObjectType>::Flags
-      & (  HereditaryBits
-         | (functor_has_linear_access<NullaryOp>::ret ? LinearAccessBit : 0)
-         | (functor_traits<NullaryOp>::PacketAccess ? PacketAccessBit : 0)))
-      | (functor_traits<NullaryOp>::IsRepeatable ? 0 : EvalBeforeNestingBit),
-    CoeffReadCost = functor_traits<NullaryOp>::Cost
-  };
-};
-}
-
-template<typename NullaryOp, typename PlainObjectType>
-class CwiseNullaryOp : internal::no_assignment_operator,
-  public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type
-{
-  public:
-
-    typedef typename internal::dense_xpr_base<CwiseNullaryOp>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(CwiseNullaryOp)
-
-    CwiseNullaryOp(Index nbRows, Index nbCols, const NullaryOp& func = NullaryOp())
-      : m_rows(nbRows), m_cols(nbCols), m_functor(func)
-    {
-      eigen_assert(nbRows >= 0
-            && (RowsAtCompileTime == Dynamic || RowsAtCompileTime == nbRows)
-            &&  nbCols >= 0
-            && (ColsAtCompileTime == Dynamic || ColsAtCompileTime == nbCols));
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const { return m_rows.value(); }
-    EIGEN_STRONG_INLINE Index cols() const { return m_cols.value(); }
-
-    EIGEN_STRONG_INLINE const Scalar coeff(Index rowId, Index colId) const
-    {
-      return m_functor(rowId, colId);
-    }
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index rowId, Index colId) const
-    {
-      return m_functor.packetOp(rowId, colId);
-    }
-
-    EIGEN_STRONG_INLINE const Scalar coeff(Index index) const
-    {
-      return m_functor(index);
-    }
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index index) const
-    {
-      return m_functor.packetOp(index);
-    }
-
-    /** \returns the functor representing the nullary operation */
-    const NullaryOp& functor() const { return m_functor; }
-
-  protected:
-    const internal::variable_if_dynamic<Index, RowsAtCompileTime> m_rows;
-    const internal::variable_if_dynamic<Index, ColsAtCompileTime> m_cols;
-    const NullaryOp m_functor;
-};
-
-
-/** \returns an expression of a matrix defined by a custom functor \a func
-  *
-  * The parameters \a rows and \a cols are the number of rows and of columns of
-  * the returned matrix. Must be compatible with this MatrixBase type.
-  *
-  * This variant is meant to be used for dynamic-size matrix types. For fixed-size types,
-  * it is redundant to pass \a rows and \a cols as arguments, so Zero() should be used
-  * instead.
-  *
-  * The template parameter \a CustomNullaryOp is the type of the functor.
-  *
-  * \sa class CwiseNullaryOp
-  */
-template<typename Derived>
-template<typename CustomNullaryOp>
-EIGEN_STRONG_INLINE const CwiseNullaryOp<CustomNullaryOp, Derived>
-DenseBase<Derived>::NullaryExpr(Index rows, Index cols, const CustomNullaryOp& func)
-{
-  return CwiseNullaryOp<CustomNullaryOp, Derived>(rows, cols, func);
-}
-
-/** \returns an expression of a matrix defined by a custom functor \a func
-  *
-  * The parameter \a size is the size of the returned vector.
-  * Must be compatible with this MatrixBase type.
-  *
-  * \only_for_vectors
-  *
-  * This variant is meant to be used for dynamic-size vector types. For fixed-size types,
-  * it is redundant to pass \a size as argument, so Zero() should be used
-  * instead.
-  *
-  * The template parameter \a CustomNullaryOp is the type of the functor.
-  *
-  * \sa class CwiseNullaryOp
-  */
-template<typename Derived>
-template<typename CustomNullaryOp>
-EIGEN_STRONG_INLINE const CwiseNullaryOp<CustomNullaryOp, Derived>
-DenseBase<Derived>::NullaryExpr(Index size, const CustomNullaryOp& func)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  if(RowsAtCompileTime == 1) return CwiseNullaryOp<CustomNullaryOp, Derived>(1, size, func);
-  else return CwiseNullaryOp<CustomNullaryOp, Derived>(size, 1, func);
-}
-
-/** \returns an expression of a matrix defined by a custom functor \a func
-  *
-  * This variant is only for fixed-size DenseBase types. For dynamic-size types, you
-  * need to use the variants taking size arguments.
-  *
-  * The template parameter \a CustomNullaryOp is the type of the functor.
-  *
-  * \sa class CwiseNullaryOp
-  */
-template<typename Derived>
-template<typename CustomNullaryOp>
-EIGEN_STRONG_INLINE const CwiseNullaryOp<CustomNullaryOp, Derived>
-DenseBase<Derived>::NullaryExpr(const CustomNullaryOp& func)
-{
-  return CwiseNullaryOp<CustomNullaryOp, Derived>(RowsAtCompileTime, ColsAtCompileTime, func);
-}
-
-/** \returns an expression of a constant matrix of value \a value
-  *
-  * The parameters \a nbRows and \a nbCols are the number of rows and of columns of
-  * the returned matrix. Must be compatible with this DenseBase type.
-  *
-  * This variant is meant to be used for dynamic-size matrix types. For fixed-size types,
-  * it is redundant to pass \a nbRows and \a nbCols as arguments, so Zero() should be used
-  * instead.
-  *
-  * The template parameter \a CustomNullaryOp is the type of the functor.
-  *
-  * \sa class CwiseNullaryOp
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType
-DenseBase<Derived>::Constant(Index nbRows, Index nbCols, const Scalar& value)
-{
-  return DenseBase<Derived>::NullaryExpr(nbRows, nbCols, internal::scalar_constant_op<Scalar>(value));
-}
-
-/** \returns an expression of a constant matrix of value \a value
-  *
-  * The parameter \a size is the size of the returned vector.
-  * Must be compatible with this DenseBase type.
-  *
-  * \only_for_vectors
-  *
-  * This variant is meant to be used for dynamic-size vector types. For fixed-size types,
-  * it is redundant to pass \a size as argument, so Zero() should be used
-  * instead.
-  *
-  * The template parameter \a CustomNullaryOp is the type of the functor.
-  *
-  * \sa class CwiseNullaryOp
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType
-DenseBase<Derived>::Constant(Index size, const Scalar& value)
-{
-  return DenseBase<Derived>::NullaryExpr(size, internal::scalar_constant_op<Scalar>(value));
-}
-
-/** \returns an expression of a constant matrix of value \a value
-  *
-  * This variant is only for fixed-size DenseBase types. For dynamic-size types, you
-  * need to use the variants taking size arguments.
-  *
-  * The template parameter \a CustomNullaryOp is the type of the functor.
-  *
-  * \sa class CwiseNullaryOp
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType
-DenseBase<Derived>::Constant(const Scalar& value)
-{
-  EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived)
-  return DenseBase<Derived>::NullaryExpr(RowsAtCompileTime, ColsAtCompileTime, internal::scalar_constant_op<Scalar>(value));
-}
-
-/**
-  * \brief Sets a linearly space vector.
-  *
-  * The function generates 'size' equally spaced values in the closed interval [low,high].
-  * This particular version of LinSpaced() uses sequential access, i.e. vector access is
-  * assumed to be a(0), a(1), ..., a(size). This assumption allows for better vectorization
-  * and yields faster code than the random access version.
-  *
-  * When size is set to 1, a vector of length 1 containing 'high' is returned.
-  *
-  * \only_for_vectors
-  *
-  * Example: \include DenseBase_LinSpaced_seq.cpp
-  * Output: \verbinclude DenseBase_LinSpaced_seq.out
-  *
-  * \sa setLinSpaced(Index,const Scalar&,const Scalar&), LinSpaced(Index,Scalar,Scalar), CwiseNullaryOp
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::SequentialLinSpacedReturnType
-DenseBase<Derived>::LinSpaced(Sequential_t, Index size, const Scalar& low, const Scalar& high)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return DenseBase<Derived>::NullaryExpr(size, internal::linspaced_op<Scalar,false>(low,high,size));
-}
-
-/**
-  * \copydoc DenseBase::LinSpaced(Sequential_t, Index, const Scalar&, const Scalar&)
-  * Special version for fixed size types which does not require the size parameter.
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::SequentialLinSpacedReturnType
-DenseBase<Derived>::LinSpaced(Sequential_t, const Scalar& low, const Scalar& high)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived)
-  return DenseBase<Derived>::NullaryExpr(Derived::SizeAtCompileTime, internal::linspaced_op<Scalar,false>(low,high,Derived::SizeAtCompileTime));
-}
-
-/**
-  * \brief Sets a linearly space vector.
-  *
-  * The function generates 'size' equally spaced values in the closed interval [low,high].
-  * When size is set to 1, a vector of length 1 containing 'high' is returned.
-  *
-  * \only_for_vectors
-  *
-  * Example: \include DenseBase_LinSpaced.cpp
-  * Output: \verbinclude DenseBase_LinSpaced.out
-  *
-  * \sa setLinSpaced(Index,const Scalar&,const Scalar&), LinSpaced(Sequential_t,Index,const Scalar&,const Scalar&,Index), CwiseNullaryOp
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::RandomAccessLinSpacedReturnType
-DenseBase<Derived>::LinSpaced(Index size, const Scalar& low, const Scalar& high)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return DenseBase<Derived>::NullaryExpr(size, internal::linspaced_op<Scalar,true>(low,high,size));
-}
-
-/**
-  * \copydoc DenseBase::LinSpaced(Index, const Scalar&, const Scalar&)
-  * Special version for fixed size types which does not require the size parameter.
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::RandomAccessLinSpacedReturnType
-DenseBase<Derived>::LinSpaced(const Scalar& low, const Scalar& high)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived)
-  return DenseBase<Derived>::NullaryExpr(Derived::SizeAtCompileTime, internal::linspaced_op<Scalar,true>(low,high,Derived::SizeAtCompileTime));
-}
-
-/** \returns true if all coefficients in this matrix are approximately equal to \a val, to within precision \a prec */
-template<typename Derived>
-bool DenseBase<Derived>::isApproxToConstant
-(const Scalar& val, const RealScalar& prec) const
-{
-  for(Index j = 0; j < cols(); ++j)
-    for(Index i = 0; i < rows(); ++i)
-      if(!internal::isApprox(this->coeff(i, j), val, prec))
-        return false;
-  return true;
-}
-
-/** This is just an alias for isApproxToConstant().
-  *
-  * \returns true if all coefficients in this matrix are approximately equal to \a value, to within precision \a prec */
-template<typename Derived>
-bool DenseBase<Derived>::isConstant
-(const Scalar& val, const RealScalar& prec) const
-{
-  return isApproxToConstant(val, prec);
-}
-
-/** Alias for setConstant(): sets all coefficients in this expression to \a val.
-  *
-  * \sa setConstant(), Constant(), class CwiseNullaryOp
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE void DenseBase<Derived>::fill(const Scalar& val)
-{
-  setConstant(val);
-}
-
-/** Sets all coefficients in this expression to \a value.
-  *
-  * \sa fill(), setConstant(Index,const Scalar&), setConstant(Index,Index,const Scalar&), setZero(), setOnes(), Constant(), class CwiseNullaryOp, setZero(), setOnes()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::setConstant(const Scalar& val)
-{
-  return derived() = Constant(rows(), cols(), val);
-}
-
-/** Resizes to the given \a size, and sets all coefficients in this expression to the given \a value.
-  *
-  * \only_for_vectors
-  *
-  * Example: \include Matrix_setConstant_int.cpp
-  * Output: \verbinclude Matrix_setConstant_int.out
-  *
-  * \sa MatrixBase::setConstant(const Scalar&), setConstant(Index,Index,const Scalar&), class CwiseNullaryOp, MatrixBase::Constant(const Scalar&)
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-PlainObjectBase<Derived>::setConstant(Index size, const Scalar& val)
-{
-  resize(size);
-  return setConstant(val);
-}
-
-/** Resizes to the given size, and sets all coefficients in this expression to the given \a value.
-  *
-  * \param nbRows the new number of rows
-  * \param nbCols the new number of columns
-  * \param val the value to which all coefficients are set
-  *
-  * Example: \include Matrix_setConstant_int_int.cpp
-  * Output: \verbinclude Matrix_setConstant_int_int.out
-  *
-  * \sa MatrixBase::setConstant(const Scalar&), setConstant(Index,const Scalar&), class CwiseNullaryOp, MatrixBase::Constant(const Scalar&)
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-PlainObjectBase<Derived>::setConstant(Index nbRows, Index nbCols, const Scalar& val)
-{
-  resize(nbRows, nbCols);
-  return setConstant(val);
-}
-
-/**
-  * \brief Sets a linearly space vector.
-  *
-  * The function generates 'size' equally spaced values in the closed interval [low,high].
-  * When size is set to 1, a vector of length 1 containing 'high' is returned.
-  *
-  * \only_for_vectors
-  *
-  * Example: \include DenseBase_setLinSpaced.cpp
-  * Output: \verbinclude DenseBase_setLinSpaced.out
-  *
-  * \sa CwiseNullaryOp
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::setLinSpaced(Index newSize, const Scalar& low, const Scalar& high)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return derived() = Derived::NullaryExpr(newSize, internal::linspaced_op<Scalar,false>(low,high,newSize));
-}
-
-/**
-  * \brief Sets a linearly space vector.
-  *
-  * The function fill *this with equally spaced values in the closed interval [low,high].
-  * When size is set to 1, a vector of length 1 containing 'high' is returned.
-  *
-  * \only_for_vectors
-  *
-  * \sa setLinSpaced(Index, const Scalar&, const Scalar&), CwiseNullaryOp
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::setLinSpaced(const Scalar& low, const Scalar& high)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return setLinSpaced(size(), low, high);
-}
-
-// zero:
-
-/** \returns an expression of a zero matrix.
-  *
-  * The parameters \a rows and \a cols are the number of rows and of columns of
-  * the returned matrix. Must be compatible with this MatrixBase type.
-  *
-  * This variant is meant to be used for dynamic-size matrix types. For fixed-size types,
-  * it is redundant to pass \a rows and \a cols as arguments, so Zero() should be used
-  * instead.
-  *
-  * Example: \include MatrixBase_zero_int_int.cpp
-  * Output: \verbinclude MatrixBase_zero_int_int.out
-  *
-  * \sa Zero(), Zero(Index)
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType
-DenseBase<Derived>::Zero(Index nbRows, Index nbCols)
-{
-  return Constant(nbRows, nbCols, Scalar(0));
-}
-
-/** \returns an expression of a zero vector.
-  *
-  * The parameter \a size is the size of the returned vector.
-  * Must be compatible with this MatrixBase type.
-  *
-  * \only_for_vectors
-  *
-  * This variant is meant to be used for dynamic-size vector types. For fixed-size types,
-  * it is redundant to pass \a size as argument, so Zero() should be used
-  * instead.
-  *
-  * Example: \include MatrixBase_zero_int.cpp
-  * Output: \verbinclude MatrixBase_zero_int.out
-  *
-  * \sa Zero(), Zero(Index,Index)
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType
-DenseBase<Derived>::Zero(Index size)
-{
-  return Constant(size, Scalar(0));
-}
-
-/** \returns an expression of a fixed-size zero matrix or vector.
-  *
-  * This variant is only for fixed-size MatrixBase types. For dynamic-size types, you
-  * need to use the variants taking size arguments.
-  *
-  * Example: \include MatrixBase_zero.cpp
-  * Output: \verbinclude MatrixBase_zero.out
-  *
-  * \sa Zero(Index), Zero(Index,Index)
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType
-DenseBase<Derived>::Zero()
-{
-  return Constant(Scalar(0));
-}
-
-/** \returns true if *this is approximately equal to the zero matrix,
-  *          within the precision given by \a prec.
-  *
-  * Example: \include MatrixBase_isZero.cpp
-  * Output: \verbinclude MatrixBase_isZero.out
-  *
-  * \sa class CwiseNullaryOp, Zero()
-  */
-template<typename Derived>
-bool DenseBase<Derived>::isZero(const RealScalar& prec) const
-{
-  for(Index j = 0; j < cols(); ++j)
-    for(Index i = 0; i < rows(); ++i)
-      if(!internal::isMuchSmallerThan(this->coeff(i, j), static_cast<Scalar>(1), prec))
-        return false;
-  return true;
-}
-
-/** Sets all coefficients in this expression to zero.
-  *
-  * Example: \include MatrixBase_setZero.cpp
-  * Output: \verbinclude MatrixBase_setZero.out
-  *
-  * \sa class CwiseNullaryOp, Zero()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::setZero()
-{
-  return setConstant(Scalar(0));
-}
-
-/** Resizes to the given \a size, and sets all coefficients in this expression to zero.
-  *
-  * \only_for_vectors
-  *
-  * Example: \include Matrix_setZero_int.cpp
-  * Output: \verbinclude Matrix_setZero_int.out
-  *
-  * \sa DenseBase::setZero(), setZero(Index,Index), class CwiseNullaryOp, DenseBase::Zero()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-PlainObjectBase<Derived>::setZero(Index newSize)
-{
-  resize(newSize);
-  return setConstant(Scalar(0));
-}
-
-/** Resizes to the given size, and sets all coefficients in this expression to zero.
-  *
-  * \param nbRows the new number of rows
-  * \param nbCols the new number of columns
-  *
-  * Example: \include Matrix_setZero_int_int.cpp
-  * Output: \verbinclude Matrix_setZero_int_int.out
-  *
-  * \sa DenseBase::setZero(), setZero(Index), class CwiseNullaryOp, DenseBase::Zero()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-PlainObjectBase<Derived>::setZero(Index nbRows, Index nbCols)
-{
-  resize(nbRows, nbCols);
-  return setConstant(Scalar(0));
-}
-
-// ones:
-
-/** \returns an expression of a matrix where all coefficients equal one.
-  *
-  * The parameters \a nbRows and \a nbCols are the number of rows and of columns of
-  * the returned matrix. Must be compatible with this MatrixBase type.
-  *
-  * This variant is meant to be used for dynamic-size matrix types. For fixed-size types,
-  * it is redundant to pass \a rows and \a cols as arguments, so Ones() should be used
-  * instead.
-  *
-  * Example: \include MatrixBase_ones_int_int.cpp
-  * Output: \verbinclude MatrixBase_ones_int_int.out
-  *
-  * \sa Ones(), Ones(Index), isOnes(), class Ones
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType
-DenseBase<Derived>::Ones(Index nbRows, Index nbCols)
-{
-  return Constant(nbRows, nbCols, Scalar(1));
-}
-
-/** \returns an expression of a vector where all coefficients equal one.
-  *
-  * The parameter \a newSize is the size of the returned vector.
-  * Must be compatible with this MatrixBase type.
-  *
-  * \only_for_vectors
-  *
-  * This variant is meant to be used for dynamic-size vector types. For fixed-size types,
-  * it is redundant to pass \a size as argument, so Ones() should be used
-  * instead.
-  *
-  * Example: \include MatrixBase_ones_int.cpp
-  * Output: \verbinclude MatrixBase_ones_int.out
-  *
-  * \sa Ones(), Ones(Index,Index), isOnes(), class Ones
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType
-DenseBase<Derived>::Ones(Index newSize)
-{
-  return Constant(newSize, Scalar(1));
-}
-
-/** \returns an expression of a fixed-size matrix or vector where all coefficients equal one.
-  *
-  * This variant is only for fixed-size MatrixBase types. For dynamic-size types, you
-  * need to use the variants taking size arguments.
-  *
-  * Example: \include MatrixBase_ones.cpp
-  * Output: \verbinclude MatrixBase_ones.out
-  *
-  * \sa Ones(Index), Ones(Index,Index), isOnes(), class Ones
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType
-DenseBase<Derived>::Ones()
-{
-  return Constant(Scalar(1));
-}
-
-/** \returns true if *this is approximately equal to the matrix where all coefficients
-  *          are equal to 1, within the precision given by \a prec.
-  *
-  * Example: \include MatrixBase_isOnes.cpp
-  * Output: \verbinclude MatrixBase_isOnes.out
-  *
-  * \sa class CwiseNullaryOp, Ones()
-  */
-template<typename Derived>
-bool DenseBase<Derived>::isOnes
-(const RealScalar& prec) const
-{
-  return isApproxToConstant(Scalar(1), prec);
-}
-
-/** Sets all coefficients in this expression to one.
-  *
-  * Example: \include MatrixBase_setOnes.cpp
-  * Output: \verbinclude MatrixBase_setOnes.out
-  *
-  * \sa class CwiseNullaryOp, Ones()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::setOnes()
-{
-  return setConstant(Scalar(1));
-}
-
-/** Resizes to the given \a newSize, and sets all coefficients in this expression to one.
-  *
-  * \only_for_vectors
-  *
-  * Example: \include Matrix_setOnes_int.cpp
-  * Output: \verbinclude Matrix_setOnes_int.out
-  *
-  * \sa MatrixBase::setOnes(), setOnes(Index,Index), class CwiseNullaryOp, MatrixBase::Ones()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-PlainObjectBase<Derived>::setOnes(Index newSize)
-{
-  resize(newSize);
-  return setConstant(Scalar(1));
-}
-
-/** Resizes to the given size, and sets all coefficients in this expression to one.
-  *
-  * \param nbRows the new number of rows
-  * \param nbCols the new number of columns
-  *
-  * Example: \include Matrix_setOnes_int_int.cpp
-  * Output: \verbinclude Matrix_setOnes_int_int.out
-  *
-  * \sa MatrixBase::setOnes(), setOnes(Index), class CwiseNullaryOp, MatrixBase::Ones()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-PlainObjectBase<Derived>::setOnes(Index nbRows, Index nbCols)
-{
-  resize(nbRows, nbCols);
-  return setConstant(Scalar(1));
-}
-
-// Identity:
-
-/** \returns an expression of the identity matrix (not necessarily square).
-  *
-  * The parameters \a nbRows and \a nbCols are the number of rows and of columns of
-  * the returned matrix. Must be compatible with this MatrixBase type.
-  *
-  * This variant is meant to be used for dynamic-size matrix types. For fixed-size types,
-  * it is redundant to pass \a rows and \a cols as arguments, so Identity() should be used
-  * instead.
-  *
-  * Example: \include MatrixBase_identity_int_int.cpp
-  * Output: \verbinclude MatrixBase_identity_int_int.out
-  *
-  * \sa Identity(), setIdentity(), isIdentity()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename MatrixBase<Derived>::IdentityReturnType
-MatrixBase<Derived>::Identity(Index nbRows, Index nbCols)
-{
-  return DenseBase<Derived>::NullaryExpr(nbRows, nbCols, internal::scalar_identity_op<Scalar>());
-}
-
-/** \returns an expression of the identity matrix (not necessarily square).
-  *
-  * This variant is only for fixed-size MatrixBase types. For dynamic-size types, you
-  * need to use the variant taking size arguments.
-  *
-  * Example: \include MatrixBase_identity.cpp
-  * Output: \verbinclude MatrixBase_identity.out
-  *
-  * \sa Identity(Index,Index), setIdentity(), isIdentity()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename MatrixBase<Derived>::IdentityReturnType
-MatrixBase<Derived>::Identity()
-{
-  EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived)
-  return MatrixBase<Derived>::NullaryExpr(RowsAtCompileTime, ColsAtCompileTime, internal::scalar_identity_op<Scalar>());
-}
-
-/** \returns true if *this is approximately equal to the identity matrix
-  *          (not necessarily square),
-  *          within the precision given by \a prec.
-  *
-  * Example: \include MatrixBase_isIdentity.cpp
-  * Output: \verbinclude MatrixBase_isIdentity.out
-  *
-  * \sa class CwiseNullaryOp, Identity(), Identity(Index,Index), setIdentity()
-  */
-template<typename Derived>
-bool MatrixBase<Derived>::isIdentity
-(const RealScalar& prec) const
-{
-  for(Index j = 0; j < cols(); ++j)
-  {
-    for(Index i = 0; i < rows(); ++i)
-    {
-      if(i == j)
-      {
-        if(!internal::isApprox(this->coeff(i, j), static_cast<Scalar>(1), prec))
-          return false;
-      }
-      else
-      {
-        if(!internal::isMuchSmallerThan(this->coeff(i, j), static_cast<RealScalar>(1), prec))
-          return false;
-      }
-    }
-  }
-  return true;
-}
-
-namespace internal {
-
-template<typename Derived, bool Big = (Derived::SizeAtCompileTime>=16)>
-struct setIdentity_impl
-{
-  static EIGEN_STRONG_INLINE Derived& run(Derived& m)
-  {
-    return m = Derived::Identity(m.rows(), m.cols());
-  }
-};
-
-template<typename Derived>
-struct setIdentity_impl<Derived, true>
-{
-  typedef typename Derived::Index Index;
-  static EIGEN_STRONG_INLINE Derived& run(Derived& m)
-  {
-    m.setZero();
-    const Index size = (std::min)(m.rows(), m.cols());
-    for(Index i = 0; i < size; ++i) m.coeffRef(i,i) = typename Derived::Scalar(1);
-    return m;
-  }
-};
-
-} // end namespace internal
-
-/** Writes the identity expression (not necessarily square) into *this.
-  *
-  * Example: \include MatrixBase_setIdentity.cpp
-  * Output: \verbinclude MatrixBase_setIdentity.out
-  *
-  * \sa class CwiseNullaryOp, Identity(), Identity(Index,Index), isIdentity()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::setIdentity()
-{
-  return internal::setIdentity_impl<Derived>::run(derived());
-}
-
-/** \brief Resizes to the given size, and writes the identity expression (not necessarily square) into *this.
-  *
-  * \param nbRows the new number of rows
-  * \param nbCols the new number of columns
-  *
-  * Example: \include Matrix_setIdentity_int_int.cpp
-  * Output: \verbinclude Matrix_setIdentity_int_int.out
-  *
-  * \sa MatrixBase::setIdentity(), class CwiseNullaryOp, MatrixBase::Identity()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::setIdentity(Index nbRows, Index nbCols)
-{
-  derived().resize(nbRows, nbCols);
-  return setIdentity();
-}
-
-/** \returns an expression of the i-th unit (basis) vector.
-  *
-  * \only_for_vectors
-  *
-  * \sa MatrixBase::Unit(Index), MatrixBase::UnitX(), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename MatrixBase<Derived>::BasisReturnType MatrixBase<Derived>::Unit(Index newSize, Index i)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return BasisReturnType(SquareMatrixType::Identity(newSize,newSize), i);
-}
-
-/** \returns an expression of the i-th unit (basis) vector.
-  *
-  * \only_for_vectors
-  *
-  * This variant is for fixed-size vector only.
-  *
-  * \sa MatrixBase::Unit(Index,Index), MatrixBase::UnitX(), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename MatrixBase<Derived>::BasisReturnType MatrixBase<Derived>::Unit(Index i)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return BasisReturnType(SquareMatrixType::Identity(),i);
-}
-
-/** \returns an expression of the X axis unit vector (1{,0}^*)
-  *
-  * \only_for_vectors
-  *
-  * \sa MatrixBase::Unit(Index,Index), MatrixBase::Unit(Index), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename MatrixBase<Derived>::BasisReturnType MatrixBase<Derived>::UnitX()
-{ return Derived::Unit(0); }
-
-/** \returns an expression of the Y axis unit vector (0,1{,0}^*)
-  *
-  * \only_for_vectors
-  *
-  * \sa MatrixBase::Unit(Index,Index), MatrixBase::Unit(Index), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename MatrixBase<Derived>::BasisReturnType MatrixBase<Derived>::UnitY()
-{ return Derived::Unit(1); }
-
-/** \returns an expression of the Z axis unit vector (0,0,1{,0}^*)
-  *
-  * \only_for_vectors
-  *
-  * \sa MatrixBase::Unit(Index,Index), MatrixBase::Unit(Index), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename MatrixBase<Derived>::BasisReturnType MatrixBase<Derived>::UnitZ()
-{ return Derived::Unit(2); }
-
-/** \returns an expression of the W axis unit vector (0,0,0,1)
-  *
-  * \only_for_vectors
-  *
-  * \sa MatrixBase::Unit(Index,Index), MatrixBase::Unit(Index), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE const typename MatrixBase<Derived>::BasisReturnType MatrixBase<Derived>::UnitW()
-{ return Derived::Unit(3); }
-
-} // end namespace Eigen
-
-#endif // EIGEN_CWISE_NULLARY_OP_H
diff --git a/lib/Eigen/src/Core/CwiseUnaryOp.h b/lib/Eigen/src/Core/CwiseUnaryOp.h
deleted file mode 100644
index f7ee60e9..00000000
--- a/lib/Eigen/src/Core/CwiseUnaryOp.h
+++ /dev/null
@@ -1,126 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CWISE_UNARY_OP_H
-#define EIGEN_CWISE_UNARY_OP_H
-
-namespace Eigen { 
-
-/** \class CwiseUnaryOp
-  * \ingroup Core_Module
-  *
-  * \brief Generic expression where a coefficient-wise unary operator is applied to an expression
-  *
-  * \param UnaryOp template functor implementing the operator
-  * \param XprType the type of the expression to which we are applying the unary operator
-  *
-  * This class represents an expression where a unary operator is applied to an expression.
-  * It is the return type of all operations taking exactly 1 input expression, regardless of the
-  * presence of other inputs such as scalars. For example, the operator* in the expression 3*matrix
-  * is considered unary, because only the right-hand side is an expression, and its
-  * return type is a specialization of CwiseUnaryOp.
-  *
-  * Most of the time, this is the only way that it is used, so you typically don't have to name
-  * CwiseUnaryOp types explicitly.
-  *
-  * \sa MatrixBase::unaryExpr(const CustomUnaryOp &) const, class CwiseBinaryOp, class CwiseNullaryOp
-  */
-
-namespace internal {
-template<typename UnaryOp, typename XprType>
-struct traits<CwiseUnaryOp<UnaryOp, XprType> >
- : traits<XprType>
-{
-  typedef typename result_of<
-                     UnaryOp(typename XprType::Scalar)
-                   >::type Scalar;
-  typedef typename XprType::Nested XprTypeNested;
-  typedef typename remove_reference<XprTypeNested>::type _XprTypeNested;
-  enum {
-    Flags = _XprTypeNested::Flags & (
-      HereditaryBits | LinearAccessBit | AlignedBit
-      | (functor_traits<UnaryOp>::PacketAccess ? PacketAccessBit : 0)),
-    CoeffReadCost = EIGEN_ADD_COST(_XprTypeNested::CoeffReadCost, functor_traits<UnaryOp>::Cost)
-  };
-};
-}
-
-template<typename UnaryOp, typename XprType, typename StorageKind>
-class CwiseUnaryOpImpl;
-
-template<typename UnaryOp, typename XprType>
-class CwiseUnaryOp : internal::no_assignment_operator,
-  public CwiseUnaryOpImpl<UnaryOp, XprType, typename internal::traits<XprType>::StorageKind>
-{
-  public:
-
-    typedef typename CwiseUnaryOpImpl<UnaryOp, XprType,typename internal::traits<XprType>::StorageKind>::Base Base;
-    EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseUnaryOp)
-
-    inline CwiseUnaryOp(const XprType& xpr, const UnaryOp& func = UnaryOp())
-      : m_xpr(xpr), m_functor(func) {}
-
-    EIGEN_STRONG_INLINE Index rows() const { return m_xpr.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return m_xpr.cols(); }
-
-    /** \returns the functor representing the unary operation */
-    const UnaryOp& functor() const { return m_functor; }
-
-    /** \returns the nested expression */
-    const typename internal::remove_all<typename XprType::Nested>::type&
-    nestedExpression() const { return m_xpr; }
-
-    /** \returns the nested expression */
-    typename internal::remove_all<typename XprType::Nested>::type&
-    nestedExpression() { return m_xpr.const_cast_derived(); }
-
-  protected:
-    typename XprType::Nested m_xpr;
-    const UnaryOp m_functor;
-};
-
-// This is the generic implementation for dense storage.
-// It can be used for any expression types implementing the dense concept.
-template<typename UnaryOp, typename XprType>
-class CwiseUnaryOpImpl<UnaryOp,XprType,Dense>
-  : public internal::dense_xpr_base<CwiseUnaryOp<UnaryOp, XprType> >::type
-{
-  public:
-
-    typedef CwiseUnaryOp<UnaryOp, XprType> Derived;
-    typedef typename internal::dense_xpr_base<CwiseUnaryOp<UnaryOp, XprType> >::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
-
-    EIGEN_STRONG_INLINE const Scalar coeff(Index rowId, Index colId) const
-    {
-      return derived().functor()(derived().nestedExpression().coeff(rowId, colId));
-    }
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index rowId, Index colId) const
-    {
-      return derived().functor().packetOp(derived().nestedExpression().template packet<LoadMode>(rowId, colId));
-    }
-
-    EIGEN_STRONG_INLINE const Scalar coeff(Index index) const
-    {
-      return derived().functor()(derived().nestedExpression().coeff(index));
-    }
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index index) const
-    {
-      return derived().functor().packetOp(derived().nestedExpression().template packet<LoadMode>(index));
-    }
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_CWISE_UNARY_OP_H
diff --git a/lib/Eigen/src/Core/CwiseUnaryView.h b/lib/Eigen/src/Core/CwiseUnaryView.h
deleted file mode 100644
index f3b2ffeb..00000000
--- a/lib/Eigen/src/Core/CwiseUnaryView.h
+++ /dev/null
@@ -1,139 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CWISE_UNARY_VIEW_H
-#define EIGEN_CWISE_UNARY_VIEW_H
-
-namespace Eigen {
-
-/** \class CwiseUnaryView
-  * \ingroup Core_Module
-  *
-  * \brief Generic lvalue expression of a coefficient-wise unary operator of a matrix or a vector
-  *
-  * \param ViewOp template functor implementing the view
-  * \param MatrixType the type of the matrix we are applying the unary operator
-  *
-  * This class represents a lvalue expression of a generic unary view operator of a matrix or a vector.
-  * It is the return type of real() and imag(), and most of the time this is the only way it is used.
-  *
-  * \sa MatrixBase::unaryViewExpr(const CustomUnaryOp &) const, class CwiseUnaryOp
-  */
-
-namespace internal {
-template<typename ViewOp, typename MatrixType>
-struct traits<CwiseUnaryView<ViewOp, MatrixType> >
- : traits<MatrixType>
-{
-  typedef typename result_of<
-                     ViewOp(typename traits<MatrixType>::Scalar)
-                   >::type Scalar;
-  typedef typename MatrixType::Nested MatrixTypeNested;
-  typedef typename remove_all<MatrixTypeNested>::type _MatrixTypeNested;
-  enum {
-    Flags = (traits<_MatrixTypeNested>::Flags & (HereditaryBits | LvalueBit | LinearAccessBit | DirectAccessBit)),
-    CoeffReadCost = EIGEN_ADD_COST(traits<_MatrixTypeNested>::CoeffReadCost, functor_traits<ViewOp>::Cost),
-    MatrixTypeInnerStride =  inner_stride_at_compile_time<MatrixType>::ret,
-    // need to cast the sizeof's from size_t to int explicitly, otherwise:
-    // "error: no integral type can represent all of the enumerator values
-    InnerStrideAtCompileTime = MatrixTypeInnerStride == Dynamic
-                             ? int(Dynamic)
-                             : int(MatrixTypeInnerStride) * int(sizeof(typename traits<MatrixType>::Scalar) / sizeof(Scalar)),
-    OuterStrideAtCompileTime = outer_stride_at_compile_time<MatrixType>::ret == Dynamic
-                             ? int(Dynamic)
-                             : outer_stride_at_compile_time<MatrixType>::ret * int(sizeof(typename traits<MatrixType>::Scalar) / sizeof(Scalar))
-  };
-};
-}
-
-template<typename ViewOp, typename MatrixType, typename StorageKind>
-class CwiseUnaryViewImpl;
-
-template<typename ViewOp, typename MatrixType>
-class CwiseUnaryView : public CwiseUnaryViewImpl<ViewOp, MatrixType, typename internal::traits<MatrixType>::StorageKind>
-{
-  public:
-
-    typedef typename CwiseUnaryViewImpl<ViewOp, MatrixType,typename internal::traits<MatrixType>::StorageKind>::Base Base;
-    EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseUnaryView)
-
-    inline CwiseUnaryView(const MatrixType& mat, const ViewOp& func = ViewOp())
-      : m_matrix(mat), m_functor(func) {}
-
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(CwiseUnaryView)
-
-    EIGEN_STRONG_INLINE Index rows() const { return m_matrix.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return m_matrix.cols(); }
-
-    /** \returns the functor representing unary operation */
-    const ViewOp& functor() const { return m_functor; }
-
-    /** \returns the nested expression */
-    const typename internal::remove_all<typename MatrixType::Nested>::type&
-    nestedExpression() const { return m_matrix; }
-
-    /** \returns the nested expression */
-    typename internal::remove_all<typename MatrixType::Nested>::type&
-    nestedExpression() { return m_matrix.const_cast_derived(); }
-
-  protected:
-    // FIXME changed from MatrixType::Nested because of a weird compilation error with sun CC
-    typename internal::nested<MatrixType>::type m_matrix;
-    ViewOp m_functor;
-};
-
-template<typename ViewOp, typename MatrixType>
-class CwiseUnaryViewImpl<ViewOp,MatrixType,Dense>
-  : public internal::dense_xpr_base< CwiseUnaryView<ViewOp, MatrixType> >::type
-{
-  public:
-
-    typedef CwiseUnaryView<ViewOp, MatrixType> Derived;
-    typedef typename internal::dense_xpr_base< CwiseUnaryView<ViewOp, MatrixType> >::type Base;
-
-    EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(CwiseUnaryViewImpl)
-    
-    inline Scalar* data() { return &coeffRef(0); }
-    inline const Scalar* data() const { return &coeff(0); }
-
-    inline Index innerStride() const
-    {
-      return derived().nestedExpression().innerStride() * sizeof(typename internal::traits<MatrixType>::Scalar) / sizeof(Scalar);
-    }
-
-    inline Index outerStride() const
-    {
-      return derived().nestedExpression().outerStride() * sizeof(typename internal::traits<MatrixType>::Scalar) / sizeof(Scalar);
-    }
-
-    EIGEN_STRONG_INLINE CoeffReturnType coeff(Index row, Index col) const
-    {
-      return derived().functor()(derived().nestedExpression().coeff(row, col));
-    }
-
-    EIGEN_STRONG_INLINE CoeffReturnType coeff(Index index) const
-    {
-      return derived().functor()(derived().nestedExpression().coeff(index));
-    }
-
-    EIGEN_STRONG_INLINE Scalar& coeffRef(Index row, Index col)
-    {
-      return derived().functor()(const_cast_derived().nestedExpression().coeffRef(row, col));
-    }
-
-    EIGEN_STRONG_INLINE Scalar& coeffRef(Index index)
-    {
-      return derived().functor()(const_cast_derived().nestedExpression().coeffRef(index));
-    }
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_CWISE_UNARY_VIEW_H
diff --git a/lib/Eigen/src/Core/DenseBase.h b/lib/Eigen/src/Core/DenseBase.h
deleted file mode 100644
index 4b371b07..00000000
--- a/lib/Eigen/src/Core/DenseBase.h
+++ /dev/null
@@ -1,521 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_DENSEBASE_H
-#define EIGEN_DENSEBASE_H
-
-namespace Eigen {
-
-namespace internal {
-  
-// The index type defined by EIGEN_DEFAULT_DENSE_INDEX_TYPE must be a signed type.
-// This dummy function simply aims at checking that at compile time.
-static inline void check_DenseIndex_is_signed() {
-  EIGEN_STATIC_ASSERT(NumTraits<DenseIndex>::IsSigned,THE_INDEX_TYPE_MUST_BE_A_SIGNED_TYPE); 
-}
-
-} // end namespace internal
-  
-/** \class DenseBase
-  * \ingroup Core_Module
-  *
-  * \brief Base class for all dense matrices, vectors, and arrays
-  *
-  * This class is the base that is inherited by all dense objects (matrix, vector, arrays,
-  * and related expression types). The common Eigen API for dense objects is contained in this class.
-  *
-  * \tparam Derived is the derived type, e.g., a matrix type or an expression.
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_DENSEBASE_PLUGIN.
-  *
-  * \sa \ref TopicClassHierarchy
-  */
-template<typename Derived> class DenseBase
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-  : public internal::special_scalar_op_base<Derived, typename internal::traits<Derived>::Scalar,
-                                            typename NumTraits<typename internal::traits<Derived>::Scalar>::Real,
-                                            DenseCoeffsBase<Derived> >
-#else
-  : public DenseCoeffsBase<Derived>
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-{
-  public:
-
-    class InnerIterator;
-
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-
-    /** \brief The type of indices 
-      * \details To change this, \c \#define the preprocessor symbol \c EIGEN_DEFAULT_DENSE_INDEX_TYPE.
-      * \sa \ref TopicPreprocessorDirectives.
-      */
-    typedef typename internal::traits<Derived>::Index Index; 
-
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename internal::packet_traits<Scalar>::type PacketScalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    typedef internal::special_scalar_op_base<Derived,Scalar,RealScalar, DenseCoeffsBase<Derived> > Base;
-
-    using Base::operator*;
-    using Base::derived;
-    using Base::const_cast_derived;
-    using Base::rows;
-    using Base::cols;
-    using Base::size;
-    using Base::rowIndexByOuterInner;
-    using Base::colIndexByOuterInner;
-    using Base::coeff;
-    using Base::coeffByOuterInner;
-    using Base::packet;
-    using Base::packetByOuterInner;
-    using Base::writePacket;
-    using Base::writePacketByOuterInner;
-    using Base::coeffRef;
-    using Base::coeffRefByOuterInner;
-    using Base::copyCoeff;
-    using Base::copyCoeffByOuterInner;
-    using Base::copyPacket;
-    using Base::copyPacketByOuterInner;
-    using Base::operator();
-    using Base::operator[];
-    using Base::x;
-    using Base::y;
-    using Base::z;
-    using Base::w;
-    using Base::stride;
-    using Base::innerStride;
-    using Base::outerStride;
-    using Base::rowStride;
-    using Base::colStride;
-    typedef typename Base::CoeffReturnType CoeffReturnType;
-
-    enum {
-
-      RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime,
-        /**< The number of rows at compile-time. This is just a copy of the value provided
-          * by the \a Derived type. If a value is not known at compile-time,
-          * it is set to the \a Dynamic constant.
-          * \sa MatrixBase::rows(), MatrixBase::cols(), ColsAtCompileTime, SizeAtCompileTime */
-
-      ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime,
-        /**< The number of columns at compile-time. This is just a copy of the value provided
-          * by the \a Derived type. If a value is not known at compile-time,
-          * it is set to the \a Dynamic constant.
-          * \sa MatrixBase::rows(), MatrixBase::cols(), RowsAtCompileTime, SizeAtCompileTime */
-
-
-      SizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::RowsAtCompileTime,
-                                                   internal::traits<Derived>::ColsAtCompileTime>::ret),
-        /**< This is equal to the number of coefficients, i.e. the number of
-          * rows times the number of columns, or to \a Dynamic if this is not
-          * known at compile-time. \sa RowsAtCompileTime, ColsAtCompileTime */
-
-      MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime,
-        /**< This value is equal to the maximum possible number of rows that this expression
-          * might have. If this expression might have an arbitrarily high number of rows,
-          * this value is set to \a Dynamic.
-          *
-          * This value is useful to know when evaluating an expression, in order to determine
-          * whether it is possible to avoid doing a dynamic memory allocation.
-          *
-          * \sa RowsAtCompileTime, MaxColsAtCompileTime, MaxSizeAtCompileTime
-          */
-
-      MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime,
-        /**< This value is equal to the maximum possible number of columns that this expression
-          * might have. If this expression might have an arbitrarily high number of columns,
-          * this value is set to \a Dynamic.
-          *
-          * This value is useful to know when evaluating an expression, in order to determine
-          * whether it is possible to avoid doing a dynamic memory allocation.
-          *
-          * \sa ColsAtCompileTime, MaxRowsAtCompileTime, MaxSizeAtCompileTime
-          */
-
-      MaxSizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::MaxRowsAtCompileTime,
-                                                      internal::traits<Derived>::MaxColsAtCompileTime>::ret),
-        /**< This value is equal to the maximum possible number of coefficients that this expression
-          * might have. If this expression might have an arbitrarily high number of coefficients,
-          * this value is set to \a Dynamic.
-          *
-          * This value is useful to know when evaluating an expression, in order to determine
-          * whether it is possible to avoid doing a dynamic memory allocation.
-          *
-          * \sa SizeAtCompileTime, MaxRowsAtCompileTime, MaxColsAtCompileTime
-          */
-
-      IsVectorAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime == 1
-                           || internal::traits<Derived>::MaxColsAtCompileTime == 1,
-        /**< This is set to true if either the number of rows or the number of
-          * columns is known at compile-time to be equal to 1. Indeed, in that case,
-          * we are dealing with a column-vector (if there is only one column) or with
-          * a row-vector (if there is only one row). */
-
-      Flags = internal::traits<Derived>::Flags,
-        /**< This stores expression \ref flags flags which may or may not be inherited by new expressions
-          * constructed from this one. See the \ref flags "list of flags".
-          */
-
-      IsRowMajor = int(Flags) & RowMajorBit, /**< True if this expression has row-major storage order. */
-
-      InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? int(SizeAtCompileTime)
-                             : int(IsRowMajor) ? int(ColsAtCompileTime) : int(RowsAtCompileTime),
-
-      CoeffReadCost = internal::traits<Derived>::CoeffReadCost,
-        /**< This is a rough measure of how expensive it is to read one coefficient from
-          * this expression.
-          */
-
-      InnerStrideAtCompileTime = internal::inner_stride_at_compile_time<Derived>::ret,
-      OuterStrideAtCompileTime = internal::outer_stride_at_compile_time<Derived>::ret
-    };
-
-    enum { ThisConstantIsPrivateInPlainObjectBase };
-
-    /** \returns the number of nonzero coefficients which is in practice the number
-      * of stored coefficients. */
-    inline Index nonZeros() const { return size(); }
-
-    /** \returns the outer size.
-      *
-      * \note For a vector, this returns just 1. For a matrix (non-vector), this is the major dimension
-      * with respect to the \ref TopicStorageOrders "storage order", i.e., the number of columns for a
-      * column-major matrix, and the number of rows for a row-major matrix. */
-    Index outerSize() const
-    {
-      return IsVectorAtCompileTime ? 1
-           : int(IsRowMajor) ? this->rows() : this->cols();
-    }
-
-    /** \returns the inner size.
-      *
-      * \note For a vector, this is just the size. For a matrix (non-vector), this is the minor dimension
-      * with respect to the \ref TopicStorageOrders "storage order", i.e., the number of rows for a 
-      * column-major matrix, and the number of columns for a row-major matrix. */
-    Index innerSize() const
-    {
-      return IsVectorAtCompileTime ? this->size()
-           : int(IsRowMajor) ? this->cols() : this->rows();
-    }
-
-    /** Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are
-      * Matrix::resize() and Array::resize(). The present method only asserts that the new size equals the old size, and does
-      * nothing else.
-      */
-    void resize(Index newSize)
-    {
-      EIGEN_ONLY_USED_FOR_DEBUG(newSize);
-      eigen_assert(newSize == this->size()
-                && "DenseBase::resize() does not actually allow to resize.");
-    }
-    /** Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are
-      * Matrix::resize() and Array::resize(). The present method only asserts that the new size equals the old size, and does
-      * nothing else.
-      */
-    void resize(Index nbRows, Index nbCols)
-    {
-      EIGEN_ONLY_USED_FOR_DEBUG(nbRows);
-      EIGEN_ONLY_USED_FOR_DEBUG(nbCols);
-      eigen_assert(nbRows == this->rows() && nbCols == this->cols()
-                && "DenseBase::resize() does not actually allow to resize.");
-    }
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-
-    /** \internal Represents a matrix with all coefficients equal to one another*/
-    typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>,Derived> ConstantReturnType;
-    /** \internal Represents a vector with linearly spaced coefficients that allows sequential access only. */
-    typedef CwiseNullaryOp<internal::linspaced_op<Scalar,false>,Derived> SequentialLinSpacedReturnType;
-    /** \internal Represents a vector with linearly spaced coefficients that allows random access. */
-    typedef CwiseNullaryOp<internal::linspaced_op<Scalar,true>,Derived> RandomAccessLinSpacedReturnType;
-    /** \internal the return type of MatrixBase::eigenvalues() */
-    typedef Matrix<typename NumTraits<typename internal::traits<Derived>::Scalar>::Real, internal::traits<Derived>::ColsAtCompileTime, 1> EigenvaluesReturnType;
-
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-
-    /** Copies \a other into *this. \returns a reference to *this. */
-    template<typename OtherDerived>
-    Derived& operator=(const DenseBase<OtherDerived>& other);
-
-    /** Special case of the template operator=, in order to prevent the compiler
-      * from generating a default operator= (issue hit with g++ 4.1)
-      */
-    Derived& operator=(const DenseBase& other);
-
-    template<typename OtherDerived>
-    Derived& operator=(const EigenBase<OtherDerived> &other);
-
-    template<typename OtherDerived>
-    Derived& operator+=(const EigenBase<OtherDerived> &other);
-
-    template<typename OtherDerived>
-    Derived& operator-=(const EigenBase<OtherDerived> &other);
-
-    template<typename OtherDerived>
-    Derived& operator=(const ReturnByValue<OtherDerived>& func);
-
-    /** \internal Copies \a other into *this without evaluating other. \returns a reference to *this. */
-    template<typename OtherDerived>
-    Derived& lazyAssign(const DenseBase<OtherDerived>& other);
-
-    /** \internal Evaluates \a other into *this. \returns a reference to *this. */
-    template<typename OtherDerived>
-    Derived& lazyAssign(const ReturnByValue<OtherDerived>& other);
-
-    CommaInitializer<Derived> operator<< (const Scalar& s);
-
-    template<unsigned int Added,unsigned int Removed>
-    const Flagged<Derived, Added, Removed> flagged() const;
-
-    template<typename OtherDerived>
-    CommaInitializer<Derived> operator<< (const DenseBase<OtherDerived>& other);
-
-    Eigen::Transpose<Derived> transpose();
-	typedef typename internal::add_const<Transpose<const Derived> >::type ConstTransposeReturnType;
-    ConstTransposeReturnType transpose() const;
-    void transposeInPlace();
-#ifndef EIGEN_NO_DEBUG
-  protected:
-    template<typename OtherDerived>
-    void checkTransposeAliasing(const OtherDerived& other) const;
-  public:
-#endif
-
-
-    static const ConstantReturnType
-    Constant(Index rows, Index cols, const Scalar& value);
-    static const ConstantReturnType
-    Constant(Index size, const Scalar& value);
-    static const ConstantReturnType
-    Constant(const Scalar& value);
-
-    static const SequentialLinSpacedReturnType
-    LinSpaced(Sequential_t, Index size, const Scalar& low, const Scalar& high);
-    static const RandomAccessLinSpacedReturnType
-    LinSpaced(Index size, const Scalar& low, const Scalar& high);
-    static const SequentialLinSpacedReturnType
-    LinSpaced(Sequential_t, const Scalar& low, const Scalar& high);
-    static const RandomAccessLinSpacedReturnType
-    LinSpaced(const Scalar& low, const Scalar& high);
-
-    template<typename CustomNullaryOp>
-    static const CwiseNullaryOp<CustomNullaryOp, Derived>
-    NullaryExpr(Index rows, Index cols, const CustomNullaryOp& func);
-    template<typename CustomNullaryOp>
-    static const CwiseNullaryOp<CustomNullaryOp, Derived>
-    NullaryExpr(Index size, const CustomNullaryOp& func);
-    template<typename CustomNullaryOp>
-    static const CwiseNullaryOp<CustomNullaryOp, Derived>
-    NullaryExpr(const CustomNullaryOp& func);
-
-    static const ConstantReturnType Zero(Index rows, Index cols);
-    static const ConstantReturnType Zero(Index size);
-    static const ConstantReturnType Zero();
-    static const ConstantReturnType Ones(Index rows, Index cols);
-    static const ConstantReturnType Ones(Index size);
-    static const ConstantReturnType Ones();
-
-    void fill(const Scalar& value);
-    Derived& setConstant(const Scalar& value);
-    Derived& setLinSpaced(Index size, const Scalar& low, const Scalar& high);
-    Derived& setLinSpaced(const Scalar& low, const Scalar& high);
-    Derived& setZero();
-    Derived& setOnes();
-    Derived& setRandom();
-
-    template<typename OtherDerived>
-    bool isApprox(const DenseBase<OtherDerived>& other,
-                  const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-    bool isMuchSmallerThan(const RealScalar& other,
-                           const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-    template<typename OtherDerived>
-    bool isMuchSmallerThan(const DenseBase<OtherDerived>& other,
-                           const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-
-    bool isApproxToConstant(const Scalar& value, const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-    bool isConstant(const Scalar& value, const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-    bool isZero(const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-    bool isOnes(const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-    
-    inline bool hasNaN() const;
-    inline bool allFinite() const;
-
-    inline Derived& operator*=(const Scalar& other);
-    inline Derived& operator/=(const Scalar& other);
-
-    typedef typename internal::add_const_on_value_type<typename internal::eval<Derived>::type>::type EvalReturnType;
-    /** \returns the matrix or vector obtained by evaluating this expression.
-      *
-      * Notice that in the case of a plain matrix or vector (not an expression) this function just returns
-      * a const reference, in order to avoid a useless copy.
-      */
-    EIGEN_STRONG_INLINE EvalReturnType eval() const
-    {
-      // Even though MSVC does not honor strong inlining when the return type
-      // is a dynamic matrix, we desperately need strong inlining for fixed
-      // size types on MSVC.
-      return typename internal::eval<Derived>::type(derived());
-    }
-
-    /** swaps *this with the expression \a other.
-      *
-      */
-    template<typename OtherDerived>
-    void swap(const DenseBase<OtherDerived>& other,
-              int = OtherDerived::ThisConstantIsPrivateInPlainObjectBase)
-    {
-      SwapWrapper<Derived>(derived()).lazyAssign(other.derived());
-    }
-
-    /** swaps *this with the matrix or array \a other.
-      *
-      */
-    template<typename OtherDerived>
-    void swap(PlainObjectBase<OtherDerived>& other)
-    {
-      SwapWrapper<Derived>(derived()).lazyAssign(other.derived());
-    }
-
-
-    inline const NestByValue<Derived> nestByValue() const;
-    inline const ForceAlignedAccess<Derived> forceAlignedAccess() const;
-    inline ForceAlignedAccess<Derived> forceAlignedAccess();
-    template<bool Enable> inline const typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type forceAlignedAccessIf() const;
-    template<bool Enable> inline typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type forceAlignedAccessIf();
-
-    Scalar sum() const;
-    Scalar mean() const;
-    Scalar trace() const;
-
-    Scalar prod() const;
-
-    typename internal::traits<Derived>::Scalar minCoeff() const;
-    typename internal::traits<Derived>::Scalar maxCoeff() const;
-
-    template<typename IndexType>
-    typename internal::traits<Derived>::Scalar minCoeff(IndexType* row, IndexType* col) const;
-    template<typename IndexType>
-    typename internal::traits<Derived>::Scalar maxCoeff(IndexType* row, IndexType* col) const;
-    template<typename IndexType>
-    typename internal::traits<Derived>::Scalar minCoeff(IndexType* index) const;
-    template<typename IndexType>
-    typename internal::traits<Derived>::Scalar maxCoeff(IndexType* index) const;
-
-    template<typename BinaryOp>
-    typename internal::result_of<BinaryOp(typename internal::traits<Derived>::Scalar)>::type
-    redux(const BinaryOp& func) const;
-
-    template<typename Visitor>
-    void visit(Visitor& func) const;
-
-    inline const WithFormat<Derived> format(const IOFormat& fmt) const;
-
-    /** \returns the unique coefficient of a 1x1 expression */
-    CoeffReturnType value() const
-    {
-      EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
-      eigen_assert(this->rows() == 1 && this->cols() == 1);
-      return derived().coeff(0,0);
-    }
-
-    bool all(void) const;
-    bool any(void) const;
-    Index count() const;
-
-    typedef VectorwiseOp<Derived, Horizontal> RowwiseReturnType;
-    typedef const VectorwiseOp<const Derived, Horizontal> ConstRowwiseReturnType;
-    typedef VectorwiseOp<Derived, Vertical> ColwiseReturnType;
-    typedef const VectorwiseOp<const Derived, Vertical> ConstColwiseReturnType;
-
-    ConstRowwiseReturnType rowwise() const;
-    RowwiseReturnType rowwise();
-    ConstColwiseReturnType colwise() const;
-    ColwiseReturnType colwise();
-
-    static const CwiseNullaryOp<internal::scalar_random_op<Scalar>,Derived> Random(Index rows, Index cols);
-    static const CwiseNullaryOp<internal::scalar_random_op<Scalar>,Derived> Random(Index size);
-    static const CwiseNullaryOp<internal::scalar_random_op<Scalar>,Derived> Random();
-
-    template<typename ThenDerived,typename ElseDerived>
-    const Select<Derived,ThenDerived,ElseDerived>
-    select(const DenseBase<ThenDerived>& thenMatrix,
-           const DenseBase<ElseDerived>& elseMatrix) const;
-
-    template<typename ThenDerived>
-    inline const Select<Derived,ThenDerived, typename ThenDerived::ConstantReturnType>
-    select(const DenseBase<ThenDerived>& thenMatrix, const typename ThenDerived::Scalar& elseScalar) const;
-
-    template<typename ElseDerived>
-    inline const Select<Derived, typename ElseDerived::ConstantReturnType, ElseDerived >
-    select(const typename ElseDerived::Scalar& thenScalar, const DenseBase<ElseDerived>& elseMatrix) const;
-
-    template<int p> RealScalar lpNorm() const;
-
-    template<int RowFactor, int ColFactor>
-    inline const Replicate<Derived,RowFactor,ColFactor> replicate() const;
-    
-    typedef Replicate<Derived,Dynamic,Dynamic> ReplicateReturnType;
-    inline const ReplicateReturnType replicate(Index rowFacor,Index colFactor) const;
-
-    typedef Reverse<Derived, BothDirections> ReverseReturnType;
-    typedef const Reverse<const Derived, BothDirections> ConstReverseReturnType;
-    ReverseReturnType reverse();
-    ConstReverseReturnType reverse() const;
-    void reverseInPlace();
-
-#define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::DenseBase
-#   include "../plugins/BlockMethods.h"
-#   ifdef EIGEN_DENSEBASE_PLUGIN
-#     include EIGEN_DENSEBASE_PLUGIN
-#   endif
-#undef EIGEN_CURRENT_STORAGE_BASE_CLASS
-
-#ifdef EIGEN2_SUPPORT
-
-    Block<Derived> corner(CornerType type, Index cRows, Index cCols);
-    const Block<Derived> corner(CornerType type, Index cRows, Index cCols) const;
-    template<int CRows, int CCols>
-    Block<Derived, CRows, CCols> corner(CornerType type);
-    template<int CRows, int CCols>
-    const Block<Derived, CRows, CCols> corner(CornerType type) const;
-
-#endif // EIGEN2_SUPPORT
-
-
-    // disable the use of evalTo for dense objects with a nice compilation error
-    template<typename Dest> inline void evalTo(Dest& ) const
-    {
-      EIGEN_STATIC_ASSERT((internal::is_same<Dest,void>::value),THE_EVAL_EVALTO_FUNCTION_SHOULD_NEVER_BE_CALLED_FOR_DENSE_OBJECTS);
-    }
-
-  protected:
-    /** Default constructor. Do nothing. */
-    DenseBase()
-    {
-      /* Just checks for self-consistency of the flags.
-       * Only do it when debugging Eigen, as this borders on paranoiac and could slow compilation down
-       */
-#ifdef EIGEN_INTERNAL_DEBUGGING
-      EIGEN_STATIC_ASSERT((EIGEN_IMPLIES(MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1, int(IsRowMajor))
-                        && EIGEN_IMPLIES(MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1, int(!IsRowMajor))),
-                          INVALID_STORAGE_ORDER_FOR_THIS_VECTOR_EXPRESSION)
-#endif
-    }
-
-  private:
-    explicit DenseBase(int);
-    DenseBase(int,int);
-    template<typename OtherDerived> explicit DenseBase(const DenseBase<OtherDerived>&);
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_DENSEBASE_H
diff --git a/lib/Eigen/src/Core/DenseCoeffsBase.h b/lib/Eigen/src/Core/DenseCoeffsBase.h
deleted file mode 100644
index 3c890f21..00000000
--- a/lib/Eigen/src/Core/DenseCoeffsBase.h
+++ /dev/null
@@ -1,754 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_DENSECOEFFSBASE_H
-#define EIGEN_DENSECOEFFSBASE_H
-
-namespace Eigen {
-
-namespace internal {
-template<typename T> struct add_const_on_value_type_if_arithmetic
-{
-  typedef typename conditional<is_arithmetic<T>::value, T, typename add_const_on_value_type<T>::type>::type type;
-};
-}
-
-/** \brief Base class providing read-only coefficient access to matrices and arrays.
-  * \ingroup Core_Module
-  * \tparam Derived Type of the derived class
-  * \tparam #ReadOnlyAccessors Constant indicating read-only access
-  *
-  * This class defines the \c operator() \c const function and friends, which can be used to read specific
-  * entries of a matrix or array.
-  * 
-  * \sa DenseCoeffsBase<Derived, WriteAccessors>, DenseCoeffsBase<Derived, DirectAccessors>,
-  *     \ref TopicClassHierarchy
-  */
-template<typename Derived>
-class DenseCoeffsBase<Derived,ReadOnlyAccessors> : public EigenBase<Derived>
-{
-  public:
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename internal::packet_traits<Scalar>::type PacketScalar;
-
-    // Explanation for this CoeffReturnType typedef.
-    // - This is the return type of the coeff() method.
-    // - The LvalueBit means exactly that we can offer a coeffRef() method, which means exactly that we can get references
-    // to coeffs, which means exactly that we can have coeff() return a const reference (as opposed to returning a value).
-    // - The is_artihmetic check is required since "const int", "const double", etc. will cause warnings on some systems
-    // while the declaration of "const T", where T is a non arithmetic type does not. Always returning "const Scalar&" is
-    // not possible, since the underlying expressions might not offer a valid address the reference could be referring to.
-    typedef typename internal::conditional<bool(internal::traits<Derived>::Flags&LvalueBit),
-                         const Scalar&,
-                         typename internal::conditional<internal::is_arithmetic<Scalar>::value, Scalar, const Scalar>::type
-                     >::type CoeffReturnType;
-
-    typedef typename internal::add_const_on_value_type_if_arithmetic<
-                         typename internal::packet_traits<Scalar>::type
-                     >::type PacketReturnType;
-
-    typedef EigenBase<Derived> Base;
-    using Base::rows;
-    using Base::cols;
-    using Base::size;
-    using Base::derived;
-
-    EIGEN_STRONG_INLINE Index rowIndexByOuterInner(Index outer, Index inner) const
-    {
-      return int(Derived::RowsAtCompileTime) == 1 ? 0
-          : int(Derived::ColsAtCompileTime) == 1 ? inner
-          : int(Derived::Flags)&RowMajorBit ? outer
-          : inner;
-    }
-
-    EIGEN_STRONG_INLINE Index colIndexByOuterInner(Index outer, Index inner) const
-    {
-      return int(Derived::ColsAtCompileTime) == 1 ? 0
-          : int(Derived::RowsAtCompileTime) == 1 ? inner
-          : int(Derived::Flags)&RowMajorBit ? inner
-          : outer;
-    }
-
-    /** Short version: don't use this function, use
-      * \link operator()(Index,Index) const \endlink instead.
-      *
-      * Long version: this function is similar to
-      * \link operator()(Index,Index) const \endlink, but without the assertion.
-      * Use this for limiting the performance cost of debugging code when doing
-      * repeated coefficient access. Only use this when it is guaranteed that the
-      * parameters \a row and \a col are in range.
-      *
-      * If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this
-      * function equivalent to \link operator()(Index,Index) const \endlink.
-      *
-      * \sa operator()(Index,Index) const, coeffRef(Index,Index), coeff(Index) const
-      */
-    EIGEN_STRONG_INLINE CoeffReturnType coeff(Index row, Index col) const
-    {
-      eigen_internal_assert(row >= 0 && row < rows()
-                        && col >= 0 && col < cols());
-      return derived().coeff(row, col);
-    }
-
-    EIGEN_STRONG_INLINE CoeffReturnType coeffByOuterInner(Index outer, Index inner) const
-    {
-      return coeff(rowIndexByOuterInner(outer, inner),
-                   colIndexByOuterInner(outer, inner));
-    }
-
-    /** \returns the coefficient at given the given row and column.
-      *
-      * \sa operator()(Index,Index), operator[](Index)
-      */
-    EIGEN_STRONG_INLINE CoeffReturnType operator()(Index row, Index col) const
-    {
-      eigen_assert(row >= 0 && row < rows()
-          && col >= 0 && col < cols());
-      return derived().coeff(row, col);
-    }
-
-    /** Short version: don't use this function, use
-      * \link operator[](Index) const \endlink instead.
-      *
-      * Long version: this function is similar to
-      * \link operator[](Index) const \endlink, but without the assertion.
-      * Use this for limiting the performance cost of debugging code when doing
-      * repeated coefficient access. Only use this when it is guaranteed that the
-      * parameter \a index is in range.
-      *
-      * If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this
-      * function equivalent to \link operator[](Index) const \endlink.
-      *
-      * \sa operator[](Index) const, coeffRef(Index), coeff(Index,Index) const
-      */
-
-    EIGEN_STRONG_INLINE CoeffReturnType
-    coeff(Index index) const
-    {
-      eigen_internal_assert(index >= 0 && index < size());
-      return derived().coeff(index);
-    }
-
-
-    /** \returns the coefficient at given index.
-      *
-      * This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.
-      *
-      * \sa operator[](Index), operator()(Index,Index) const, x() const, y() const,
-      * z() const, w() const
-      */
-
-    EIGEN_STRONG_INLINE CoeffReturnType
-    operator[](Index index) const
-    {
-      #ifndef EIGEN2_SUPPORT
-      EIGEN_STATIC_ASSERT(Derived::IsVectorAtCompileTime,
-                          THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD)
-      #endif
-      eigen_assert(index >= 0 && index < size());
-      return derived().coeff(index);
-    }
-
-    /** \returns the coefficient at given index.
-      *
-      * This is synonymous to operator[](Index) const.
-      *
-      * This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.
-      *
-      * \sa operator[](Index), operator()(Index,Index) const, x() const, y() const,
-      * z() const, w() const
-      */
-
-    EIGEN_STRONG_INLINE CoeffReturnType
-    operator()(Index index) const
-    {
-      eigen_assert(index >= 0 && index < size());
-      return derived().coeff(index);
-    }
-
-    /** equivalent to operator[](0).  */
-
-    EIGEN_STRONG_INLINE CoeffReturnType
-    x() const { return (*this)[0]; }
-
-    /** equivalent to operator[](1).  */
-
-    EIGEN_STRONG_INLINE CoeffReturnType
-    y() const { return (*this)[1]; }
-
-    /** equivalent to operator[](2).  */
-
-    EIGEN_STRONG_INLINE CoeffReturnType
-    z() const { return (*this)[2]; }
-
-    /** equivalent to operator[](3).  */
-
-    EIGEN_STRONG_INLINE CoeffReturnType
-    w() const { return (*this)[3]; }
-
-    /** \internal
-      * \returns the packet of coefficients starting at the given row and column. It is your responsibility
-      * to ensure that a packet really starts there. This method is only available on expressions having the
-      * PacketAccessBit.
-      *
-      * The \a LoadMode parameter may have the value \a #Aligned or \a #Unaligned. Its effect is to select
-      * the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets
-      * starting at an address which is a multiple of the packet size.
-      */
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketReturnType packet(Index row, Index col) const
-    {
-      eigen_internal_assert(row >= 0 && row < rows()
-                      && col >= 0 && col < cols());
-      return derived().template packet<LoadMode>(row,col);
-    }
-
-
-    /** \internal */
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketReturnType packetByOuterInner(Index outer, Index inner) const
-    {
-      return packet<LoadMode>(rowIndexByOuterInner(outer, inner),
-                              colIndexByOuterInner(outer, inner));
-    }
-
-    /** \internal
-      * \returns the packet of coefficients starting at the given index. It is your responsibility
-      * to ensure that a packet really starts there. This method is only available on expressions having the
-      * PacketAccessBit and the LinearAccessBit.
-      *
-      * The \a LoadMode parameter may have the value \a #Aligned or \a #Unaligned. Its effect is to select
-      * the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets
-      * starting at an address which is a multiple of the packet size.
-      */
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketReturnType packet(Index index) const
-    {
-      eigen_internal_assert(index >= 0 && index < size());
-      return derived().template packet<LoadMode>(index);
-    }
-
-  protected:
-    // explanation: DenseBase is doing "using ..." on the methods from DenseCoeffsBase.
-    // But some methods are only available in the DirectAccess case.
-    // So we add dummy methods here with these names, so that "using... " doesn't fail.
-    // It's not private so that the child class DenseBase can access them, and it's not public
-    // either since it's an implementation detail, so has to be protected.
-    void coeffRef();
-    void coeffRefByOuterInner();
-    void writePacket();
-    void writePacketByOuterInner();
-    void copyCoeff();
-    void copyCoeffByOuterInner();
-    void copyPacket();
-    void copyPacketByOuterInner();
-    void stride();
-    void innerStride();
-    void outerStride();
-    void rowStride();
-    void colStride();
-};
-
-/** \brief Base class providing read/write coefficient access to matrices and arrays.
-  * \ingroup Core_Module
-  * \tparam Derived Type of the derived class
-  * \tparam #WriteAccessors Constant indicating read/write access
-  *
-  * This class defines the non-const \c operator() function and friends, which can be used to write specific
-  * entries of a matrix or array. This class inherits DenseCoeffsBase<Derived, ReadOnlyAccessors> which
-  * defines the const variant for reading specific entries.
-  * 
-  * \sa DenseCoeffsBase<Derived, DirectAccessors>, \ref TopicClassHierarchy
-  */
-template<typename Derived>
-class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
-{
-  public:
-
-    typedef DenseCoeffsBase<Derived, ReadOnlyAccessors> Base;
-
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename internal::packet_traits<Scalar>::type PacketScalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-    using Base::coeff;
-    using Base::rows;
-    using Base::cols;
-    using Base::size;
-    using Base::derived;
-    using Base::rowIndexByOuterInner;
-    using Base::colIndexByOuterInner;
-    using Base::operator[];
-    using Base::operator();
-    using Base::x;
-    using Base::y;
-    using Base::z;
-    using Base::w;
-
-    /** Short version: don't use this function, use
-      * \link operator()(Index,Index) \endlink instead.
-      *
-      * Long version: this function is similar to
-      * \link operator()(Index,Index) \endlink, but without the assertion.
-      * Use this for limiting the performance cost of debugging code when doing
-      * repeated coefficient access. Only use this when it is guaranteed that the
-      * parameters \a row and \a col are in range.
-      *
-      * If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this
-      * function equivalent to \link operator()(Index,Index) \endlink.
-      *
-      * \sa operator()(Index,Index), coeff(Index, Index) const, coeffRef(Index)
-      */
-    EIGEN_STRONG_INLINE Scalar& coeffRef(Index row, Index col)
-    {
-      eigen_internal_assert(row >= 0 && row < rows()
-                        && col >= 0 && col < cols());
-      return derived().coeffRef(row, col);
-    }
-
-    EIGEN_STRONG_INLINE Scalar&
-    coeffRefByOuterInner(Index outer, Index inner)
-    {
-      return coeffRef(rowIndexByOuterInner(outer, inner),
-                      colIndexByOuterInner(outer, inner));
-    }
-
-    /** \returns a reference to the coefficient at given the given row and column.
-      *
-      * \sa operator[](Index)
-      */
-
-    EIGEN_STRONG_INLINE Scalar&
-    operator()(Index row, Index col)
-    {
-      eigen_assert(row >= 0 && row < rows()
-          && col >= 0 && col < cols());
-      return derived().coeffRef(row, col);
-    }
-
-
-    /** Short version: don't use this function, use
-      * \link operator[](Index) \endlink instead.
-      *
-      * Long version: this function is similar to
-      * \link operator[](Index) \endlink, but without the assertion.
-      * Use this for limiting the performance cost of debugging code when doing
-      * repeated coefficient access. Only use this when it is guaranteed that the
-      * parameters \a row and \a col are in range.
-      *
-      * If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this
-      * function equivalent to \link operator[](Index) \endlink.
-      *
-      * \sa operator[](Index), coeff(Index) const, coeffRef(Index,Index)
-      */
-
-    EIGEN_STRONG_INLINE Scalar&
-    coeffRef(Index index)
-    {
-      eigen_internal_assert(index >= 0 && index < size());
-      return derived().coeffRef(index);
-    }
-
-    /** \returns a reference to the coefficient at given index.
-      *
-      * This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.
-      *
-      * \sa operator[](Index) const, operator()(Index,Index), x(), y(), z(), w()
-      */
-
-    EIGEN_STRONG_INLINE Scalar&
-    operator[](Index index)
-    {
-      #ifndef EIGEN2_SUPPORT
-      EIGEN_STATIC_ASSERT(Derived::IsVectorAtCompileTime,
-                          THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD)
-      #endif
-      eigen_assert(index >= 0 && index < size());
-      return derived().coeffRef(index);
-    }
-
-    /** \returns a reference to the coefficient at given index.
-      *
-      * This is synonymous to operator[](Index).
-      *
-      * This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.
-      *
-      * \sa operator[](Index) const, operator()(Index,Index), x(), y(), z(), w()
-      */
-
-    EIGEN_STRONG_INLINE Scalar&
-    operator()(Index index)
-    {
-      eigen_assert(index >= 0 && index < size());
-      return derived().coeffRef(index);
-    }
-
-    /** equivalent to operator[](0).  */
-
-    EIGEN_STRONG_INLINE Scalar&
-    x() { return (*this)[0]; }
-
-    /** equivalent to operator[](1).  */
-
-    EIGEN_STRONG_INLINE Scalar&
-    y() { return (*this)[1]; }
-
-    /** equivalent to operator[](2).  */
-
-    EIGEN_STRONG_INLINE Scalar&
-    z() { return (*this)[2]; }
-
-    /** equivalent to operator[](3).  */
-
-    EIGEN_STRONG_INLINE Scalar&
-    w() { return (*this)[3]; }
-
-    /** \internal
-      * Stores the given packet of coefficients, at the given row and column of this expression. It is your responsibility
-      * to ensure that a packet really starts there. This method is only available on expressions having the
-      * PacketAccessBit.
-      *
-      * The \a LoadMode parameter may have the value \a #Aligned or \a #Unaligned. Its effect is to select
-      * the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets
-      * starting at an address which is a multiple of the packet size.
-      */
-
-    template<int StoreMode>
-    EIGEN_STRONG_INLINE void writePacket
-    (Index row, Index col, const typename internal::packet_traits<Scalar>::type& val)
-    {
-      eigen_internal_assert(row >= 0 && row < rows()
-                        && col >= 0 && col < cols());
-      derived().template writePacket<StoreMode>(row,col,val);
-    }
-
-
-    /** \internal */
-    template<int StoreMode>
-    EIGEN_STRONG_INLINE void writePacketByOuterInner
-    (Index outer, Index inner, const typename internal::packet_traits<Scalar>::type& val)
-    {
-      writePacket<StoreMode>(rowIndexByOuterInner(outer, inner),
-                            colIndexByOuterInner(outer, inner),
-                            val);
-    }
-
-    /** \internal
-      * Stores the given packet of coefficients, at the given index in this expression. It is your responsibility
-      * to ensure that a packet really starts there. This method is only available on expressions having the
-      * PacketAccessBit and the LinearAccessBit.
-      *
-      * The \a LoadMode parameter may have the value \a Aligned or \a Unaligned. Its effect is to select
-      * the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets
-      * starting at an address which is a multiple of the packet size.
-      */
-    template<int StoreMode>
-    EIGEN_STRONG_INLINE void writePacket
-    (Index index, const typename internal::packet_traits<Scalar>::type& val)
-    {
-      eigen_internal_assert(index >= 0 && index < size());
-      derived().template writePacket<StoreMode>(index,val);
-    }
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-
-    /** \internal Copies the coefficient at position (row,col) of other into *this.
-      *
-      * This method is overridden in SwapWrapper, allowing swap() assignments to share 99% of their code
-      * with usual assignments.
-      *
-      * Outside of this internal usage, this method has probably no usefulness. It is hidden in the public API dox.
-      */
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE void copyCoeff(Index row, Index col, const DenseBase<OtherDerived>& other)
-    {
-      eigen_internal_assert(row >= 0 && row < rows()
-                        && col >= 0 && col < cols());
-      derived().coeffRef(row, col) = other.derived().coeff(row, col);
-    }
-
-    /** \internal Copies the coefficient at the given index of other into *this.
-      *
-      * This method is overridden in SwapWrapper, allowing swap() assignments to share 99% of their code
-      * with usual assignments.
-      *
-      * Outside of this internal usage, this method has probably no usefulness. It is hidden in the public API dox.
-      */
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE void copyCoeff(Index index, const DenseBase<OtherDerived>& other)
-    {
-      eigen_internal_assert(index >= 0 && index < size());
-      derived().coeffRef(index) = other.derived().coeff(index);
-    }
-
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE void copyCoeffByOuterInner(Index outer, Index inner, const DenseBase<OtherDerived>& other)
-    {
-      const Index row = rowIndexByOuterInner(outer,inner);
-      const Index col = colIndexByOuterInner(outer,inner);
-      // derived() is important here: copyCoeff() may be reimplemented in Derived!
-      derived().copyCoeff(row, col, other);
-    }
-
-    /** \internal Copies the packet at position (row,col) of other into *this.
-      *
-      * This method is overridden in SwapWrapper, allowing swap() assignments to share 99% of their code
-      * with usual assignments.
-      *
-      * Outside of this internal usage, this method has probably no usefulness. It is hidden in the public API dox.
-      */
-
-    template<typename OtherDerived, int StoreMode, int LoadMode>
-    EIGEN_STRONG_INLINE void copyPacket(Index row, Index col, const DenseBase<OtherDerived>& other)
-    {
-      eigen_internal_assert(row >= 0 && row < rows()
-                        && col >= 0 && col < cols());
-      derived().template writePacket<StoreMode>(row, col,
-        other.derived().template packet<LoadMode>(row, col));
-    }
-
-    /** \internal Copies the packet at the given index of other into *this.
-      *
-      * This method is overridden in SwapWrapper, allowing swap() assignments to share 99% of their code
-      * with usual assignments.
-      *
-      * Outside of this internal usage, this method has probably no usefulness. It is hidden in the public API dox.
-      */
-
-    template<typename OtherDerived, int StoreMode, int LoadMode>
-    EIGEN_STRONG_INLINE void copyPacket(Index index, const DenseBase<OtherDerived>& other)
-    {
-      eigen_internal_assert(index >= 0 && index < size());
-      derived().template writePacket<StoreMode>(index,
-        other.derived().template packet<LoadMode>(index));
-    }
-
-    /** \internal */
-    template<typename OtherDerived, int StoreMode, int LoadMode>
-    EIGEN_STRONG_INLINE void copyPacketByOuterInner(Index outer, Index inner, const DenseBase<OtherDerived>& other)
-    {
-      const Index row = rowIndexByOuterInner(outer,inner);
-      const Index col = colIndexByOuterInner(outer,inner);
-      // derived() is important here: copyCoeff() may be reimplemented in Derived!
-      derived().template copyPacket< OtherDerived, StoreMode, LoadMode>(row, col, other);
-    }
-#endif
-
-};
-
-/** \brief Base class providing direct read-only coefficient access to matrices and arrays.
-  * \ingroup Core_Module
-  * \tparam Derived Type of the derived class
-  * \tparam #DirectAccessors Constant indicating direct access
-  *
-  * This class defines functions to work with strides which can be used to access entries directly. This class
-  * inherits DenseCoeffsBase<Derived, ReadOnlyAccessors> which defines functions to access entries read-only using
-  * \c operator() .
-  *
-  * \sa \ref TopicClassHierarchy
-  */
-template<typename Derived>
-class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
-{
-  public:
-
-    typedef DenseCoeffsBase<Derived, ReadOnlyAccessors> Base;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-    using Base::rows;
-    using Base::cols;
-    using Base::size;
-    using Base::derived;
-
-    /** \returns the pointer increment between two consecutive elements within a slice in the inner direction.
-      *
-      * \sa outerStride(), rowStride(), colStride()
-      */
-    inline Index innerStride() const
-    {
-      return derived().innerStride();
-    }
-
-    /** \returns the pointer increment between two consecutive inner slices (for example, between two consecutive columns
-      *          in a column-major matrix).
-      *
-      * \sa innerStride(), rowStride(), colStride()
-      */
-    inline Index outerStride() const
-    {
-      return derived().outerStride();
-    }
-
-    // FIXME shall we remove it ?
-    inline Index stride() const
-    {
-      return Derived::IsVectorAtCompileTime ? innerStride() : outerStride();
-    }
-
-    /** \returns the pointer increment between two consecutive rows.
-      *
-      * \sa innerStride(), outerStride(), colStride()
-      */
-    inline Index rowStride() const
-    {
-      return Derived::IsRowMajor ? outerStride() : innerStride();
-    }
-
-    /** \returns the pointer increment between two consecutive columns.
-      *
-      * \sa innerStride(), outerStride(), rowStride()
-      */
-    inline Index colStride() const
-    {
-      return Derived::IsRowMajor ? innerStride() : outerStride();
-    }
-};
-
-/** \brief Base class providing direct read/write coefficient access to matrices and arrays.
-  * \ingroup Core_Module
-  * \tparam Derived Type of the derived class
-  * \tparam #DirectWriteAccessors Constant indicating direct access
-  *
-  * This class defines functions to work with strides which can be used to access entries directly. This class
-  * inherits DenseCoeffsBase<Derived, WriteAccessors> which defines functions to access entries read/write using
-  * \c operator().
-  *
-  * \sa \ref TopicClassHierarchy
-  */
-template<typename Derived>
-class DenseCoeffsBase<Derived, DirectWriteAccessors>
-  : public DenseCoeffsBase<Derived, WriteAccessors>
-{
-  public:
-
-    typedef DenseCoeffsBase<Derived, WriteAccessors> Base;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-    using Base::rows;
-    using Base::cols;
-    using Base::size;
-    using Base::derived;
-
-    /** \returns the pointer increment between two consecutive elements within a slice in the inner direction.
-      *
-      * \sa outerStride(), rowStride(), colStride()
-      */
-    inline Index innerStride() const
-    {
-      return derived().innerStride();
-    }
-
-    /** \returns the pointer increment between two consecutive inner slices (for example, between two consecutive columns
-      *          in a column-major matrix).
-      *
-      * \sa innerStride(), rowStride(), colStride()
-      */
-    inline Index outerStride() const
-    {
-      return derived().outerStride();
-    }
-
-    // FIXME shall we remove it ?
-    inline Index stride() const
-    {
-      return Derived::IsVectorAtCompileTime ? innerStride() : outerStride();
-    }
-
-    /** \returns the pointer increment between two consecutive rows.
-      *
-      * \sa innerStride(), outerStride(), colStride()
-      */
-    inline Index rowStride() const
-    {
-      return Derived::IsRowMajor ? outerStride() : innerStride();
-    }
-
-    /** \returns the pointer increment between two consecutive columns.
-      *
-      * \sa innerStride(), outerStride(), rowStride()
-      */
-    inline Index colStride() const
-    {
-      return Derived::IsRowMajor ? innerStride() : outerStride();
-    }
-};
-
-namespace internal {
-
-template<typename Derived, bool JustReturnZero>
-struct first_aligned_impl
-{
-  static inline typename Derived::Index run(const Derived&)
-  { return 0; }
-};
-
-template<typename Derived>
-struct first_aligned_impl<Derived, false>
-{
-  static inline typename Derived::Index run(const Derived& m)
-  {
-    return internal::first_aligned(&m.const_cast_derived().coeffRef(0,0), m.size());
-  }
-};
-
-/** \internal \returns the index of the first element of the array that is well aligned for vectorization.
-  *
-  * There is also the variant first_aligned(const Scalar*, Integer) defined in Memory.h. See it for more
-  * documentation.
-  */
-template<typename Derived>
-static inline typename Derived::Index first_aligned(const Derived& m)
-{
-  return first_aligned_impl
-          <Derived, (Derived::Flags & AlignedBit) || !(Derived::Flags & DirectAccessBit)>
-          ::run(m);
-}
-
-template<typename Derived, bool HasDirectAccess = has_direct_access<Derived>::ret>
-struct inner_stride_at_compile_time
-{
-  enum { ret = traits<Derived>::InnerStrideAtCompileTime };
-};
-
-template<typename Derived>
-struct inner_stride_at_compile_time<Derived, false>
-{
-  enum { ret = 0 };
-};
-
-template<typename Derived, bool HasDirectAccess = has_direct_access<Derived>::ret>
-struct outer_stride_at_compile_time
-{
-  enum { ret = traits<Derived>::OuterStrideAtCompileTime };
-};
-
-template<typename Derived>
-struct outer_stride_at_compile_time<Derived, false>
-{
-  enum { ret = 0 };
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_DENSECOEFFSBASE_H
diff --git a/lib/Eigen/src/Core/DenseStorage.h b/lib/Eigen/src/Core/DenseStorage.h
deleted file mode 100644
index 568493cb..00000000
--- a/lib/Eigen/src/Core/DenseStorage.h
+++ /dev/null
@@ -1,434 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2010 Hauke Heibel <hauke.heibel@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MATRIXSTORAGE_H
-#define EIGEN_MATRIXSTORAGE_H
-
-#ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-  #define EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN EIGEN_DENSE_STORAGE_CTOR_PLUGIN;
-#else
-  #define EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN
-#endif
-
-namespace Eigen {
-
-namespace internal {
-
-struct constructor_without_unaligned_array_assert {};
-
-template<typename T, int Size> void check_static_allocation_size()
-{
-  // if EIGEN_STACK_ALLOCATION_LIMIT is defined to 0, then no limit
-  #if EIGEN_STACK_ALLOCATION_LIMIT
-  EIGEN_STATIC_ASSERT(Size * sizeof(T) <= EIGEN_STACK_ALLOCATION_LIMIT, OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG);
-  #endif
-}
-
-/** \internal
-  * Static array. If the MatrixOrArrayOptions require auto-alignment, the array will be automatically aligned:
-  * to 16 bytes boundary if the total size is a multiple of 16 bytes.
-  */
-template <typename T, int Size, int MatrixOrArrayOptions,
-          int Alignment = (MatrixOrArrayOptions&DontAlign) ? 0
-                        : (((Size*sizeof(T))%16)==0) ? 16
-                        : 0 >
-struct plain_array
-{
-  T array[Size];
-
-  plain_array() 
-  { 
-    check_static_allocation_size<T,Size>();
-  }
-
-  plain_array(constructor_without_unaligned_array_assert) 
-  { 
-    check_static_allocation_size<T,Size>();
-  }
-};
-
-#if defined(EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT)
-  #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask)
-#elif EIGEN_GNUC_AT_LEAST(4,7) 
-  // GCC 4.7 is too aggressive in its optimizations and remove the alignement test based on the fact the array is declared to be aligned.
-  // See this bug report: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53900
-  // Hiding the origin of the array pointer behind a function argument seems to do the trick even if the function is inlined:
-  template<typename PtrType>
-  EIGEN_ALWAYS_INLINE PtrType eigen_unaligned_array_assert_workaround_gcc47(PtrType array) { return array; }
-  #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask) \
-    eigen_assert((reinterpret_cast<size_t>(eigen_unaligned_array_assert_workaround_gcc47(array)) & sizemask) == 0 \
-              && "this assertion is explained here: " \
-              "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" \
-              " **** READ THIS WEB PAGE !!! ****");
-#else
-  #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask) \
-    eigen_assert((reinterpret_cast<size_t>(array) & sizemask) == 0 \
-              && "this assertion is explained here: " \
-              "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" \
-              " **** READ THIS WEB PAGE !!! ****");
-#endif
-
-template <typename T, int Size, int MatrixOrArrayOptions>
-struct plain_array<T, Size, MatrixOrArrayOptions, 16>
-{
-  EIGEN_USER_ALIGN16 T array[Size];
-
-  plain_array() 
-  { 
-    EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(0xf);
-    check_static_allocation_size<T,Size>();
-  }
-
-  plain_array(constructor_without_unaligned_array_assert) 
-  { 
-    check_static_allocation_size<T,Size>();
-  }
-};
-
-template <typename T, int MatrixOrArrayOptions, int Alignment>
-struct plain_array<T, 0, MatrixOrArrayOptions, Alignment>
-{
-  EIGEN_USER_ALIGN16 T array[1];
-  plain_array() {}
-  plain_array(constructor_without_unaligned_array_assert) {}
-};
-
-} // end namespace internal
-
-/** \internal
-  *
-  * \class DenseStorage
-  * \ingroup Core_Module
-  *
-  * \brief Stores the data of a matrix
-  *
-  * This class stores the data of fixed-size, dynamic-size or mixed matrices
-  * in a way as compact as possible.
-  *
-  * \sa Matrix
-  */
-template<typename T, int Size, int _Rows, int _Cols, int _Options> class DenseStorage;
-
-// purely fixed-size matrix
-template<typename T, int Size, int _Rows, int _Cols, int _Options> class DenseStorage
-{
-    internal::plain_array<T,Size,_Options> m_data;
-  public:
-    DenseStorage() {}
-    DenseStorage(internal::constructor_without_unaligned_array_assert)
-      : m_data(internal::constructor_without_unaligned_array_assert()) {}
-    DenseStorage(const DenseStorage& other) : m_data(other.m_data) {}
-    DenseStorage& operator=(const DenseStorage& other)
-    {
-      if (this != &other) m_data = other.m_data;
-      return *this;
-    }
-    DenseStorage(DenseIndex,DenseIndex,DenseIndex) {}
-    void swap(DenseStorage& other) { std::swap(m_data,other.m_data); }
-    static DenseIndex rows(void) {return _Rows;}
-    static DenseIndex cols(void) {return _Cols;}
-    void conservativeResize(DenseIndex,DenseIndex,DenseIndex) {}
-    void resize(DenseIndex,DenseIndex,DenseIndex) {}
-    const T *data() const { return m_data.array; }
-    T *data() { return m_data.array; }
-};
-
-// null matrix
-template<typename T, int _Rows, int _Cols, int _Options> class DenseStorage<T, 0, _Rows, _Cols, _Options>
-{
-  public:
-    DenseStorage() {}
-    DenseStorage(internal::constructor_without_unaligned_array_assert) {}
-    DenseStorage(const DenseStorage&) {}
-    DenseStorage& operator=(const DenseStorage&) { return *this; }
-    DenseStorage(DenseIndex,DenseIndex,DenseIndex) {}
-    void swap(DenseStorage& ) {}
-    static DenseIndex rows(void) {return _Rows;}
-    static DenseIndex cols(void) {return _Cols;}
-    void conservativeResize(DenseIndex,DenseIndex,DenseIndex) {}
-    void resize(DenseIndex,DenseIndex,DenseIndex) {}
-    const T *data() const { return 0; }
-    T *data() { return 0; }
-};
-
-// more specializations for null matrices; these are necessary to resolve ambiguities
-template<typename T, int _Options> class DenseStorage<T, 0, Dynamic, Dynamic, _Options>
-: public DenseStorage<T, 0, 0, 0, _Options> { };
-
-template<typename T, int _Rows, int _Options> class DenseStorage<T, 0, _Rows, Dynamic, _Options>
-: public DenseStorage<T, 0, 0, 0, _Options> { };
-
-template<typename T, int _Cols, int _Options> class DenseStorage<T, 0, Dynamic, _Cols, _Options>
-: public DenseStorage<T, 0, 0, 0, _Options> { };
-
-// dynamic-size matrix with fixed-size storage
-template<typename T, int Size, int _Options> class DenseStorage<T, Size, Dynamic, Dynamic, _Options>
-{
-    internal::plain_array<T,Size,_Options> m_data;
-    DenseIndex m_rows;
-    DenseIndex m_cols;
-  public:
-    DenseStorage() : m_rows(0), m_cols(0) {}
-    DenseStorage(internal::constructor_without_unaligned_array_assert)
-      : m_data(internal::constructor_without_unaligned_array_assert()), m_rows(0), m_cols(0) {}
-    DenseStorage(const DenseStorage& other) : m_data(other.m_data), m_rows(other.m_rows), m_cols(other.m_cols) {}
-    DenseStorage& operator=(const DenseStorage& other)
-    {
-      if (this != &other)
-      {
-        m_data = other.m_data;
-        m_rows = other.m_rows;
-        m_cols = other.m_cols;
-      }
-      return *this;
-    }
-    DenseStorage(DenseIndex, DenseIndex nbRows, DenseIndex nbCols) : m_rows(nbRows), m_cols(nbCols) {}
-    void swap(DenseStorage& other)
-    { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); std::swap(m_cols,other.m_cols); }
-    DenseIndex rows() const {return m_rows;}
-    DenseIndex cols() const {return m_cols;}
-    void conservativeResize(DenseIndex, DenseIndex nbRows, DenseIndex nbCols) { m_rows = nbRows; m_cols = nbCols; }
-    void resize(DenseIndex, DenseIndex nbRows, DenseIndex nbCols) { m_rows = nbRows; m_cols = nbCols; }
-    const T *data() const { return m_data.array; }
-    T *data() { return m_data.array; }
-};
-
-// dynamic-size matrix with fixed-size storage and fixed width
-template<typename T, int Size, int _Cols, int _Options> class DenseStorage<T, Size, Dynamic, _Cols, _Options>
-{
-    internal::plain_array<T,Size,_Options> m_data;
-    DenseIndex m_rows;
-  public:
-    DenseStorage() : m_rows(0) {}
-    DenseStorage(internal::constructor_without_unaligned_array_assert)
-      : m_data(internal::constructor_without_unaligned_array_assert()), m_rows(0) {}
-    DenseStorage(const DenseStorage& other) : m_data(other.m_data), m_rows(other.m_rows) {}
-    DenseStorage& operator=(const DenseStorage& other)
-    {
-      if (this != &other)
-      {
-        m_data = other.m_data;
-        m_rows = other.m_rows;
-      }
-      return *this;
-    }
-    DenseStorage(DenseIndex, DenseIndex nbRows, DenseIndex) : m_rows(nbRows) {}
-    void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); }
-    DenseIndex rows(void) const {return m_rows;}
-    DenseIndex cols(void) const {return _Cols;}
-    void conservativeResize(DenseIndex, DenseIndex nbRows, DenseIndex) { m_rows = nbRows; }
-    void resize(DenseIndex, DenseIndex nbRows, DenseIndex) { m_rows = nbRows; }
-    const T *data() const { return m_data.array; }
-    T *data() { return m_data.array; }
-};
-
-// dynamic-size matrix with fixed-size storage and fixed height
-template<typename T, int Size, int _Rows, int _Options> class DenseStorage<T, Size, _Rows, Dynamic, _Options>
-{
-    internal::plain_array<T,Size,_Options> m_data;
-    DenseIndex m_cols;
-  public:
-    DenseStorage() : m_cols(0) {}
-    DenseStorage(internal::constructor_without_unaligned_array_assert)
-      : m_data(internal::constructor_without_unaligned_array_assert()), m_cols(0) {}
-    DenseStorage(const DenseStorage& other) : m_data(other.m_data), m_cols(other.m_cols) {}
-    DenseStorage& operator=(const DenseStorage& other)
-    {
-      if (this != &other)
-      {
-        m_data = other.m_data;
-        m_cols = other.m_cols;
-      }
-      return *this;
-    }
-    DenseStorage(DenseIndex, DenseIndex, DenseIndex nbCols) : m_cols(nbCols) {}
-    void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_cols,other.m_cols); }
-    DenseIndex rows(void) const {return _Rows;}
-    DenseIndex cols(void) const {return m_cols;}
-    void conservativeResize(DenseIndex, DenseIndex, DenseIndex nbCols) { m_cols = nbCols; }
-    void resize(DenseIndex, DenseIndex, DenseIndex nbCols) { m_cols = nbCols; }
-    const T *data() const { return m_data.array; }
-    T *data() { return m_data.array; }
-};
-
-// purely dynamic matrix.
-template<typename T, int _Options> class DenseStorage<T, Dynamic, Dynamic, Dynamic, _Options>
-{
-    T *m_data;
-    DenseIndex m_rows;
-    DenseIndex m_cols;
-  public:
-    DenseStorage() : m_data(0), m_rows(0), m_cols(0) {}
-    DenseStorage(internal::constructor_without_unaligned_array_assert)
-       : m_data(0), m_rows(0), m_cols(0) {}
-    DenseStorage(DenseIndex size, DenseIndex nbRows, DenseIndex nbCols)
-      : m_data(internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size)), m_rows(nbRows), m_cols(nbCols)
-    { EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN }
-#ifdef EIGEN_HAVE_RVALUE_REFERENCES
-    DenseStorage(DenseStorage&& other)
-      : m_data(std::move(other.m_data))
-      , m_rows(std::move(other.m_rows))
-      , m_cols(std::move(other.m_cols))
-    {
-      other.m_data = nullptr;
-    }
-    DenseStorage& operator=(DenseStorage&& other)
-    {
-      using std::swap;
-      swap(m_data, other.m_data);
-      swap(m_rows, other.m_rows);
-      swap(m_cols, other.m_cols);
-      return *this;
-    }
-#endif
-    ~DenseStorage() { internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, m_rows*m_cols); }
-    void swap(DenseStorage& other)
-    { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); std::swap(m_cols,other.m_cols); }
-    DenseIndex rows(void) const {return m_rows;}
-    DenseIndex cols(void) const {return m_cols;}
-    void conservativeResize(DenseIndex size, DenseIndex nbRows, DenseIndex nbCols)
-    {
-      m_data = internal::conditional_aligned_realloc_new_auto<T,(_Options&DontAlign)==0>(m_data, size, m_rows*m_cols);
-      m_rows = nbRows;
-      m_cols = nbCols;
-    }
-    void resize(DenseIndex size, DenseIndex nbRows, DenseIndex nbCols)
-    {
-      if(size != m_rows*m_cols)
-      {
-        internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, m_rows*m_cols);
-        if (size)
-          m_data = internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size);
-        else
-          m_data = 0;
-        EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN
-      }
-      m_rows = nbRows;
-      m_cols = nbCols;
-    }
-    const T *data() const { return m_data; }
-    T *data() { return m_data; }
-  private:
-    DenseStorage(const DenseStorage&);
-    DenseStorage& operator=(const DenseStorage&);
-};
-
-// matrix with dynamic width and fixed height (so that matrix has dynamic size).
-template<typename T, int _Rows, int _Options> class DenseStorage<T, Dynamic, _Rows, Dynamic, _Options>
-{
-    T *m_data;
-    DenseIndex m_cols;
-  public:
-    DenseStorage() : m_data(0), m_cols(0) {}
-    DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(0), m_cols(0) {}
-    DenseStorage(DenseIndex size, DenseIndex, DenseIndex nbCols) : m_data(internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size)), m_cols(nbCols)
-    { EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN }
-#ifdef EIGEN_HAVE_RVALUE_REFERENCES
-    DenseStorage(DenseStorage&& other)
-      : m_data(std::move(other.m_data))
-      , m_cols(std::move(other.m_cols))
-    {
-      other.m_data = nullptr;
-    }
-    DenseStorage& operator=(DenseStorage&& other)
-    {
-      using std::swap;
-      swap(m_data, other.m_data);
-      swap(m_cols, other.m_cols);
-      return *this;
-    }
-#endif
-    ~DenseStorage() { internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, _Rows*m_cols); }
-    void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_cols,other.m_cols); }
-    static DenseIndex rows(void) {return _Rows;}
-    DenseIndex cols(void) const {return m_cols;}
-    void conservativeResize(DenseIndex size, DenseIndex, DenseIndex nbCols)
-    {
-      m_data = internal::conditional_aligned_realloc_new_auto<T,(_Options&DontAlign)==0>(m_data, size, _Rows*m_cols);
-      m_cols = nbCols;
-    }
-    EIGEN_STRONG_INLINE void resize(DenseIndex size, DenseIndex, DenseIndex nbCols)
-    {
-      if(size != _Rows*m_cols)
-      {
-        internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, _Rows*m_cols);
-        if (size)
-          m_data = internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size);
-        else
-          m_data = 0;
-        EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN
-      }
-      m_cols = nbCols;
-    }
-    const T *data() const { return m_data; }
-    T *data() { return m_data; }
-  private:
-    DenseStorage(const DenseStorage&);
-    DenseStorage& operator=(const DenseStorage&);
-};
-
-// matrix with dynamic height and fixed width (so that matrix has dynamic size).
-template<typename T, int _Cols, int _Options> class DenseStorage<T, Dynamic, Dynamic, _Cols, _Options>
-{
-    T *m_data;
-    DenseIndex m_rows;
-  public:
-    DenseStorage() : m_data(0), m_rows(0) {}
-    DenseStorage(internal::constructor_without_unaligned_array_assert) : m_data(0), m_rows(0) {}
-    DenseStorage(DenseIndex size, DenseIndex nbRows, DenseIndex) : m_data(internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size)), m_rows(nbRows)
-    { EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN }
-#ifdef EIGEN_HAVE_RVALUE_REFERENCES
-    DenseStorage(DenseStorage&& other)
-      : m_data(std::move(other.m_data))
-      , m_rows(std::move(other.m_rows))
-    {
-      other.m_data = nullptr;
-    }
-    DenseStorage& operator=(DenseStorage&& other)
-    {
-      using std::swap;
-      swap(m_data, other.m_data);
-      swap(m_rows, other.m_rows);
-      return *this;
-    }
-#endif
-    ~DenseStorage() { internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, _Cols*m_rows); }
-    void swap(DenseStorage& other) { std::swap(m_data,other.m_data); std::swap(m_rows,other.m_rows); }
-    DenseIndex rows(void) const {return m_rows;}
-    static DenseIndex cols(void) {return _Cols;}
-    void conservativeResize(DenseIndex size, DenseIndex nbRows, DenseIndex)
-    {
-      m_data = internal::conditional_aligned_realloc_new_auto<T,(_Options&DontAlign)==0>(m_data, size, m_rows*_Cols);
-      m_rows = nbRows;
-    }
-    EIGEN_STRONG_INLINE void resize(DenseIndex size, DenseIndex nbRows, DenseIndex)
-    {
-      if(size != m_rows*_Cols)
-      {
-        internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, _Cols*m_rows);
-        if (size)
-          m_data = internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size);
-        else
-          m_data = 0;
-        EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN
-      }
-      m_rows = nbRows;
-    }
-    const T *data() const { return m_data; }
-    T *data() { return m_data; }
-  private:
-    DenseStorage(const DenseStorage&);
-    DenseStorage& operator=(const DenseStorage&);
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_MATRIX_H
diff --git a/lib/Eigen/src/Core/Diagonal.h b/lib/Eigen/src/Core/Diagonal.h
deleted file mode 100644
index 68cf6d4b..00000000
--- a/lib/Eigen/src/Core/Diagonal.h
+++ /dev/null
@@ -1,237 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_DIAGONAL_H
-#define EIGEN_DIAGONAL_H
-
-namespace Eigen { 
-
-/** \class Diagonal
-  * \ingroup Core_Module
-  *
-  * \brief Expression of a diagonal/subdiagonal/superdiagonal in a matrix
-  *
-  * \param MatrixType the type of the object in which we are taking a sub/main/super diagonal
-  * \param DiagIndex the index of the sub/super diagonal. The default is 0 and it means the main diagonal.
-  *              A positive value means a superdiagonal, a negative value means a subdiagonal.
-  *              You can also use Dynamic so the index can be set at runtime.
-  *
-  * The matrix is not required to be square.
-  *
-  * This class represents an expression of the main diagonal, or any sub/super diagonal
-  * of a square matrix. It is the return type of MatrixBase::diagonal() and MatrixBase::diagonal(Index) and most of the
-  * time this is the only way it is used.
-  *
-  * \sa MatrixBase::diagonal(), MatrixBase::diagonal(Index)
-  */
-
-namespace internal {
-template<typename MatrixType, int DiagIndex>
-struct traits<Diagonal<MatrixType,DiagIndex> >
- : traits<MatrixType>
-{
-  typedef typename nested<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_reference<MatrixTypeNested>::type _MatrixTypeNested;
-  typedef typename MatrixType::StorageKind StorageKind;
-  enum {
-    RowsAtCompileTime = (int(DiagIndex) == DynamicIndex || int(MatrixType::SizeAtCompileTime) == Dynamic) ? Dynamic
-                      : (EIGEN_PLAIN_ENUM_MIN(MatrixType::RowsAtCompileTime - EIGEN_PLAIN_ENUM_MAX(-DiagIndex, 0),
-                                              MatrixType::ColsAtCompileTime - EIGEN_PLAIN_ENUM_MAX( DiagIndex, 0))),
-    ColsAtCompileTime = 1,
-    MaxRowsAtCompileTime = int(MatrixType::MaxSizeAtCompileTime) == Dynamic ? Dynamic
-                         : DiagIndex == DynamicIndex ? EIGEN_SIZE_MIN_PREFER_FIXED(MatrixType::MaxRowsAtCompileTime,
-                                                                              MatrixType::MaxColsAtCompileTime)
-                         : (EIGEN_PLAIN_ENUM_MIN(MatrixType::MaxRowsAtCompileTime - EIGEN_PLAIN_ENUM_MAX(-DiagIndex, 0),
-                                                 MatrixType::MaxColsAtCompileTime - EIGEN_PLAIN_ENUM_MAX( DiagIndex, 0))),
-    MaxColsAtCompileTime = 1,
-    MaskLvalueBit = is_lvalue<MatrixType>::value ? LvalueBit : 0,
-    Flags = (unsigned int)_MatrixTypeNested::Flags & (HereditaryBits | LinearAccessBit | MaskLvalueBit | DirectAccessBit) & ~RowMajorBit,
-    CoeffReadCost = _MatrixTypeNested::CoeffReadCost,
-    MatrixTypeOuterStride = outer_stride_at_compile_time<MatrixType>::ret,
-    InnerStrideAtCompileTime = MatrixTypeOuterStride == Dynamic ? Dynamic : MatrixTypeOuterStride+1,
-    OuterStrideAtCompileTime = 0
-  };
-};
-}
-
-template<typename MatrixType, int _DiagIndex> class Diagonal
-   : public internal::dense_xpr_base< Diagonal<MatrixType,_DiagIndex> >::type
-{
-  public:
-
-    enum { DiagIndex = _DiagIndex };
-    typedef typename internal::dense_xpr_base<Diagonal>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Diagonal)
-
-    inline Diagonal(MatrixType& matrix, Index a_index = DiagIndex) : m_matrix(matrix), m_index(a_index) {}
-
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Diagonal)
-
-    inline Index rows() const
-    { return m_index.value()<0 ? (std::min<Index>)(m_matrix.cols(),m_matrix.rows()+m_index.value()) : (std::min<Index>)(m_matrix.rows(),m_matrix.cols()-m_index.value()); }
-
-    inline Index cols() const { return 1; }
-
-    inline Index innerStride() const
-    {
-      return m_matrix.outerStride() + 1;
-    }
-
-    inline Index outerStride() const
-    {
-      return 0;
-    }
-
-    typedef typename internal::conditional<
-                       internal::is_lvalue<MatrixType>::value,
-                       Scalar,
-                       const Scalar
-                     >::type ScalarWithConstIfNotLvalue;
-
-    inline ScalarWithConstIfNotLvalue* data() { return &(m_matrix.const_cast_derived().coeffRef(rowOffset(), colOffset())); }
-    inline const Scalar* data() const { return &(m_matrix.const_cast_derived().coeffRef(rowOffset(), colOffset())); }
-
-    inline Scalar& coeffRef(Index row, Index)
-    {
-      EIGEN_STATIC_ASSERT_LVALUE(MatrixType)
-      return m_matrix.const_cast_derived().coeffRef(row+rowOffset(), row+colOffset());
-    }
-
-    inline const Scalar& coeffRef(Index row, Index) const
-    {
-      return m_matrix.const_cast_derived().coeffRef(row+rowOffset(), row+colOffset());
-    }
-
-    inline CoeffReturnType coeff(Index row, Index) const
-    {
-      return m_matrix.coeff(row+rowOffset(), row+colOffset());
-    }
-
-    inline Scalar& coeffRef(Index idx)
-    {
-      EIGEN_STATIC_ASSERT_LVALUE(MatrixType)
-      return m_matrix.const_cast_derived().coeffRef(idx+rowOffset(), idx+colOffset());
-    }
-
-    inline const Scalar& coeffRef(Index idx) const
-    {
-      return m_matrix.const_cast_derived().coeffRef(idx+rowOffset(), idx+colOffset());
-    }
-
-    inline CoeffReturnType coeff(Index idx) const
-    {
-      return m_matrix.coeff(idx+rowOffset(), idx+colOffset());
-    }
-
-    const typename internal::remove_all<typename MatrixType::Nested>::type& 
-    nestedExpression() const 
-    {
-      return m_matrix;
-    }
-
-    int index() const
-    {
-      return m_index.value();
-    }
-
-  protected:
-    typename MatrixType::Nested m_matrix;
-    const internal::variable_if_dynamicindex<Index, DiagIndex> m_index;
-
-  private:
-    // some compilers may fail to optimize std::max etc in case of compile-time constants...
-    EIGEN_STRONG_INLINE Index absDiagIndex() const { return m_index.value()>0 ? m_index.value() : -m_index.value(); }
-    EIGEN_STRONG_INLINE Index rowOffset() const { return m_index.value()>0 ? 0 : -m_index.value(); }
-    EIGEN_STRONG_INLINE Index colOffset() const { return m_index.value()>0 ? m_index.value() : 0; }
-    // triger a compile time error is someone try to call packet
-    template<int LoadMode> typename MatrixType::PacketReturnType packet(Index) const;
-    template<int LoadMode> typename MatrixType::PacketReturnType packet(Index,Index) const;
-};
-
-/** \returns an expression of the main diagonal of the matrix \c *this
-  *
-  * \c *this is not required to be square.
-  *
-  * Example: \include MatrixBase_diagonal.cpp
-  * Output: \verbinclude MatrixBase_diagonal.out
-  *
-  * \sa class Diagonal */
-template<typename Derived>
-inline typename MatrixBase<Derived>::DiagonalReturnType
-MatrixBase<Derived>::diagonal()
-{
-  return derived();
-}
-
-/** This is the const version of diagonal(). */
-template<typename Derived>
-inline typename MatrixBase<Derived>::ConstDiagonalReturnType
-MatrixBase<Derived>::diagonal() const
-{
-  return ConstDiagonalReturnType(derived());
-}
-
-/** \returns an expression of the \a DiagIndex-th sub or super diagonal of the matrix \c *this
-  *
-  * \c *this is not required to be square.
-  *
-  * The template parameter \a DiagIndex represent a super diagonal if \a DiagIndex > 0
-  * and a sub diagonal otherwise. \a DiagIndex == 0 is equivalent to the main diagonal.
-  *
-  * Example: \include MatrixBase_diagonal_int.cpp
-  * Output: \verbinclude MatrixBase_diagonal_int.out
-  *
-  * \sa MatrixBase::diagonal(), class Diagonal */
-template<typename Derived>
-inline typename MatrixBase<Derived>::DiagonalDynamicIndexReturnType
-MatrixBase<Derived>::diagonal(Index index)
-{
-  return DiagonalDynamicIndexReturnType(derived(), index);
-}
-
-/** This is the const version of diagonal(Index). */
-template<typename Derived>
-inline typename MatrixBase<Derived>::ConstDiagonalDynamicIndexReturnType
-MatrixBase<Derived>::diagonal(Index index) const
-{
-  return ConstDiagonalDynamicIndexReturnType(derived(), index);
-}
-
-/** \returns an expression of the \a DiagIndex-th sub or super diagonal of the matrix \c *this
-  *
-  * \c *this is not required to be square.
-  *
-  * The template parameter \a DiagIndex represent a super diagonal if \a DiagIndex > 0
-  * and a sub diagonal otherwise. \a DiagIndex == 0 is equivalent to the main diagonal.
-  *
-  * Example: \include MatrixBase_diagonal_template_int.cpp
-  * Output: \verbinclude MatrixBase_diagonal_template_int.out
-  *
-  * \sa MatrixBase::diagonal(), class Diagonal */
-template<typename Derived>
-template<int Index>
-inline typename MatrixBase<Derived>::template DiagonalIndexReturnType<Index>::Type
-MatrixBase<Derived>::diagonal()
-{
-  return derived();
-}
-
-/** This is the const version of diagonal<int>(). */
-template<typename Derived>
-template<int Index>
-inline typename MatrixBase<Derived>::template ConstDiagonalIndexReturnType<Index>::Type
-MatrixBase<Derived>::diagonal() const
-{
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_DIAGONAL_H
diff --git a/lib/Eigen/src/Core/DiagonalMatrix.h b/lib/Eigen/src/Core/DiagonalMatrix.h
deleted file mode 100644
index e6c220f4..00000000
--- a/lib/Eigen/src/Core/DiagonalMatrix.h
+++ /dev/null
@@ -1,313 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_DIAGONALMATRIX_H
-#define EIGEN_DIAGONALMATRIX_H
-
-namespace Eigen { 
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-template<typename Derived>
-class DiagonalBase : public EigenBase<Derived>
-{
-  public:
-    typedef typename internal::traits<Derived>::DiagonalVectorType DiagonalVectorType;
-    typedef typename DiagonalVectorType::Scalar Scalar;
-    typedef typename DiagonalVectorType::RealScalar RealScalar;
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-    typedef typename internal::traits<Derived>::Index Index;
-
-    enum {
-      RowsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
-      ColsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
-      MaxRowsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime,
-      MaxColsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime,
-      IsVectorAtCompileTime = 0,
-      Flags = 0
-    };
-
-    typedef Matrix<Scalar, RowsAtCompileTime, ColsAtCompileTime, 0, MaxRowsAtCompileTime, MaxColsAtCompileTime> DenseMatrixType;
-    typedef DenseMatrixType DenseType;
-    typedef DiagonalMatrix<Scalar,DiagonalVectorType::SizeAtCompileTime,DiagonalVectorType::MaxSizeAtCompileTime> PlainObject;
-
-    inline const Derived& derived() const { return *static_cast<const Derived*>(this); }
-    inline Derived& derived() { return *static_cast<Derived*>(this); }
-
-    DenseMatrixType toDenseMatrix() const { return derived(); }
-    template<typename DenseDerived>
-    void evalTo(MatrixBase<DenseDerived> &other) const;
-    template<typename DenseDerived>
-    void addTo(MatrixBase<DenseDerived> &other) const
-    { other.diagonal() += diagonal(); }
-    template<typename DenseDerived>
-    void subTo(MatrixBase<DenseDerived> &other) const
-    { other.diagonal() -= diagonal(); }
-
-    inline const DiagonalVectorType& diagonal() const { return derived().diagonal(); }
-    inline DiagonalVectorType& diagonal() { return derived().diagonal(); }
-
-    inline Index rows() const { return diagonal().size(); }
-    inline Index cols() const { return diagonal().size(); }
-
-    /** \returns the diagonal matrix product of \c *this by the matrix \a matrix.
-      */
-    template<typename MatrixDerived>
-    const DiagonalProduct<MatrixDerived, Derived, OnTheLeft>
-    operator*(const MatrixBase<MatrixDerived> &matrix) const
-    {
-      return DiagonalProduct<MatrixDerived, Derived, OnTheLeft>(matrix.derived(), derived());
-    }
-
-    inline const DiagonalWrapper<const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const DiagonalVectorType> >
-    inverse() const
-    {
-      return diagonal().cwiseInverse();
-    }
-    
-    inline const DiagonalWrapper<const CwiseUnaryOp<internal::scalar_multiple_op<Scalar>, const DiagonalVectorType> >
-    operator*(const Scalar& scalar) const
-    {
-      return diagonal() * scalar;
-    }
-    friend inline const DiagonalWrapper<const CwiseUnaryOp<internal::scalar_multiple_op<Scalar>, const DiagonalVectorType> >
-    operator*(const Scalar& scalar, const DiagonalBase& other)
-    {
-      return other.diagonal() * scalar;
-    }
-    
-    #ifdef EIGEN2_SUPPORT
-    template<typename OtherDerived>
-    bool isApprox(const DiagonalBase<OtherDerived>& other, typename NumTraits<Scalar>::Real precision = NumTraits<Scalar>::dummy_precision()) const
-    {
-      return diagonal().isApprox(other.diagonal(), precision);
-    }
-    template<typename OtherDerived>
-    bool isApprox(const MatrixBase<OtherDerived>& other, typename NumTraits<Scalar>::Real precision = NumTraits<Scalar>::dummy_precision()) const
-    {
-      return toDenseMatrix().isApprox(other, precision);
-    }
-    #endif
-};
-
-template<typename Derived>
-template<typename DenseDerived>
-void DiagonalBase<Derived>::evalTo(MatrixBase<DenseDerived> &other) const
-{
-  other.setZero();
-  other.diagonal() = diagonal();
-}
-#endif
-
-/** \class DiagonalMatrix
-  * \ingroup Core_Module
-  *
-  * \brief Represents a diagonal matrix with its storage
-  *
-  * \param _Scalar the type of coefficients
-  * \param SizeAtCompileTime the dimension of the matrix, or Dynamic
-  * \param MaxSizeAtCompileTime the dimension of the matrix, or Dynamic. This parameter is optional and defaults
-  *        to SizeAtCompileTime. Most of the time, you do not need to specify it.
-  *
-  * \sa class DiagonalWrapper
-  */
-
-namespace internal {
-template<typename _Scalar, int SizeAtCompileTime, int MaxSizeAtCompileTime>
-struct traits<DiagonalMatrix<_Scalar,SizeAtCompileTime,MaxSizeAtCompileTime> >
- : traits<Matrix<_Scalar,SizeAtCompileTime,SizeAtCompileTime,0,MaxSizeAtCompileTime,MaxSizeAtCompileTime> >
-{
-  typedef Matrix<_Scalar,SizeAtCompileTime,1,0,MaxSizeAtCompileTime,1> DiagonalVectorType;
-  typedef Dense StorageKind;
-  typedef DenseIndex Index;
-  enum {
-    Flags = LvalueBit
-  };
-};
-}
-template<typename _Scalar, int SizeAtCompileTime, int MaxSizeAtCompileTime>
-class DiagonalMatrix
-  : public DiagonalBase<DiagonalMatrix<_Scalar,SizeAtCompileTime,MaxSizeAtCompileTime> >
-{
-  public:
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    typedef typename internal::traits<DiagonalMatrix>::DiagonalVectorType DiagonalVectorType;
-    typedef const DiagonalMatrix& Nested;
-    typedef _Scalar Scalar;
-    typedef typename internal::traits<DiagonalMatrix>::StorageKind StorageKind;
-    typedef typename internal::traits<DiagonalMatrix>::Index Index;
-    #endif
-
-  protected:
-
-    DiagonalVectorType m_diagonal;
-
-  public:
-
-    /** const version of diagonal(). */
-    inline const DiagonalVectorType& diagonal() const { return m_diagonal; }
-    /** \returns a reference to the stored vector of diagonal coefficients. */
-    inline DiagonalVectorType& diagonal() { return m_diagonal; }
-
-    /** Default constructor without initialization */
-    inline DiagonalMatrix() {}
-
-    /** Constructs a diagonal matrix with given dimension  */
-    inline DiagonalMatrix(Index dim) : m_diagonal(dim) {}
-
-    /** 2D constructor. */
-    inline DiagonalMatrix(const Scalar& x, const Scalar& y) : m_diagonal(x,y) {}
-
-    /** 3D constructor. */
-    inline DiagonalMatrix(const Scalar& x, const Scalar& y, const Scalar& z) : m_diagonal(x,y,z) {}
-
-    /** Copy constructor. */
-    template<typename OtherDerived>
-    inline DiagonalMatrix(const DiagonalBase<OtherDerived>& other) : m_diagonal(other.diagonal()) {}
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** copy constructor. prevent a default copy constructor from hiding the other templated constructor */
-    inline DiagonalMatrix(const DiagonalMatrix& other) : m_diagonal(other.diagonal()) {}
-    #endif
-
-    /** generic constructor from expression of the diagonal coefficients */
-    template<typename OtherDerived>
-    explicit inline DiagonalMatrix(const MatrixBase<OtherDerived>& other) : m_diagonal(other)
-    {}
-
-    /** Copy operator. */
-    template<typename OtherDerived>
-    DiagonalMatrix& operator=(const DiagonalBase<OtherDerived>& other)
-    {
-      m_diagonal = other.diagonal();
-      return *this;
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    DiagonalMatrix& operator=(const DiagonalMatrix& other)
-    {
-      m_diagonal = other.diagonal();
-      return *this;
-    }
-    #endif
-
-    /** Resizes to given size. */
-    inline void resize(Index size) { m_diagonal.resize(size); }
-    /** Sets all coefficients to zero. */
-    inline void setZero() { m_diagonal.setZero(); }
-    /** Resizes and sets all coefficients to zero. */
-    inline void setZero(Index size) { m_diagonal.setZero(size); }
-    /** Sets this matrix to be the identity matrix of the current size. */
-    inline void setIdentity() { m_diagonal.setOnes(); }
-    /** Sets this matrix to be the identity matrix of the given size. */
-    inline void setIdentity(Index size) { m_diagonal.setOnes(size); }
-};
-
-/** \class DiagonalWrapper
-  * \ingroup Core_Module
-  *
-  * \brief Expression of a diagonal matrix
-  *
-  * \param _DiagonalVectorType the type of the vector of diagonal coefficients
-  *
-  * This class is an expression of a diagonal matrix, but not storing its own vector of diagonal coefficients,
-  * instead wrapping an existing vector expression. It is the return type of MatrixBase::asDiagonal()
-  * and most of the time this is the only way that it is used.
-  *
-  * \sa class DiagonalMatrix, class DiagonalBase, MatrixBase::asDiagonal()
-  */
-
-namespace internal {
-template<typename _DiagonalVectorType>
-struct traits<DiagonalWrapper<_DiagonalVectorType> >
-{
-  typedef _DiagonalVectorType DiagonalVectorType;
-  typedef typename DiagonalVectorType::Scalar Scalar;
-  typedef typename DiagonalVectorType::Index Index;
-  typedef typename DiagonalVectorType::StorageKind StorageKind;
-  enum {
-    RowsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
-    ColsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
-    MaxRowsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
-    MaxColsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
-    Flags =  traits<DiagonalVectorType>::Flags & LvalueBit
-  };
-};
-}
-
-template<typename _DiagonalVectorType>
-class DiagonalWrapper
-  : public DiagonalBase<DiagonalWrapper<_DiagonalVectorType> >, internal::no_assignment_operator
-{
-  public:
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    typedef _DiagonalVectorType DiagonalVectorType;
-    typedef DiagonalWrapper Nested;
-    #endif
-
-    /** Constructor from expression of diagonal coefficients to wrap. */
-    inline DiagonalWrapper(DiagonalVectorType& a_diagonal) : m_diagonal(a_diagonal) {}
-
-    /** \returns a const reference to the wrapped expression of diagonal coefficients. */
-    const DiagonalVectorType& diagonal() const { return m_diagonal; }
-
-  protected:
-    typename DiagonalVectorType::Nested m_diagonal;
-};
-
-/** \returns a pseudo-expression of a diagonal matrix with *this as vector of diagonal coefficients
-  *
-  * \only_for_vectors
-  *
-  * Example: \include MatrixBase_asDiagonal.cpp
-  * Output: \verbinclude MatrixBase_asDiagonal.out
-  *
-  * \sa class DiagonalWrapper, class DiagonalMatrix, diagonal(), isDiagonal()
-  **/
-template<typename Derived>
-inline const DiagonalWrapper<const Derived>
-MatrixBase<Derived>::asDiagonal() const
-{
-  return derived();
-}
-
-/** \returns true if *this is approximately equal to a diagonal matrix,
-  *          within the precision given by \a prec.
-  *
-  * Example: \include MatrixBase_isDiagonal.cpp
-  * Output: \verbinclude MatrixBase_isDiagonal.out
-  *
-  * \sa asDiagonal()
-  */
-template<typename Derived>
-bool MatrixBase<Derived>::isDiagonal(const RealScalar& prec) const
-{
-  using std::abs;
-  if(cols() != rows()) return false;
-  RealScalar maxAbsOnDiagonal = static_cast<RealScalar>(-1);
-  for(Index j = 0; j < cols(); ++j)
-  {
-    RealScalar absOnDiagonal = abs(coeff(j,j));
-    if(absOnDiagonal > maxAbsOnDiagonal) maxAbsOnDiagonal = absOnDiagonal;
-  }
-  for(Index j = 0; j < cols(); ++j)
-    for(Index i = 0; i < j; ++i)
-    {
-      if(!internal::isMuchSmallerThan(coeff(i, j), maxAbsOnDiagonal, prec)) return false;
-      if(!internal::isMuchSmallerThan(coeff(j, i), maxAbsOnDiagonal, prec)) return false;
-    }
-  return true;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_DIAGONALMATRIX_H
diff --git a/lib/Eigen/src/Core/DiagonalProduct.h b/lib/Eigen/src/Core/DiagonalProduct.h
deleted file mode 100644
index cc6b536e..00000000
--- a/lib/Eigen/src/Core/DiagonalProduct.h
+++ /dev/null
@@ -1,131 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_DIAGONALPRODUCT_H
-#define EIGEN_DIAGONALPRODUCT_H
-
-namespace Eigen { 
-
-namespace internal {
-template<typename MatrixType, typename DiagonalType, int ProductOrder>
-struct traits<DiagonalProduct<MatrixType, DiagonalType, ProductOrder> >
- : traits<MatrixType>
-{
-  typedef typename scalar_product_traits<typename MatrixType::Scalar, typename DiagonalType::Scalar>::ReturnType Scalar;
-  enum {
-    RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-    ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-    MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime,
-
-    _StorageOrder = MatrixType::Flags & RowMajorBit ? RowMajor : ColMajor,
-    _ScalarAccessOnDiag =  !((int(_StorageOrder) == ColMajor && int(ProductOrder) == OnTheLeft)
-                          ||(int(_StorageOrder) == RowMajor && int(ProductOrder) == OnTheRight)),
-    _SameTypes = is_same<typename MatrixType::Scalar, typename DiagonalType::Scalar>::value,
-    // FIXME currently we need same types, but in the future the next rule should be the one
-    //_Vectorizable = bool(int(MatrixType::Flags)&PacketAccessBit) && ((!_PacketOnDiag) || (_SameTypes && bool(int(DiagonalType::DiagonalVectorType::Flags)&PacketAccessBit))),
-    _Vectorizable = bool(int(MatrixType::Flags)&PacketAccessBit) && _SameTypes && (_ScalarAccessOnDiag || (bool(int(DiagonalType::DiagonalVectorType::Flags)&PacketAccessBit))),
-    _LinearAccessMask = (RowsAtCompileTime==1 || ColsAtCompileTime==1) ? LinearAccessBit : 0,
-
-    Flags = ((HereditaryBits|_LinearAccessMask|AlignedBit) & (unsigned int)(MatrixType::Flags)) | (_Vectorizable ? PacketAccessBit : 0),//(int(MatrixType::Flags)&int(DiagonalType::DiagonalVectorType::Flags)&AlignedBit),
-    Cost0 = EIGEN_ADD_COST(NumTraits<Scalar>::MulCost, MatrixType::CoeffReadCost),
-    CoeffReadCost = EIGEN_ADD_COST(Cost0,DiagonalType::DiagonalVectorType::CoeffReadCost)
-  };
-};
-}
-
-template<typename MatrixType, typename DiagonalType, int ProductOrder>
-class DiagonalProduct : internal::no_assignment_operator,
-                        public MatrixBase<DiagonalProduct<MatrixType, DiagonalType, ProductOrder> >
-{
-  public:
-
-    typedef MatrixBase<DiagonalProduct> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(DiagonalProduct)
-
-    inline DiagonalProduct(const MatrixType& matrix, const DiagonalType& diagonal)
-      : m_matrix(matrix), m_diagonal(diagonal)
-    {
-      eigen_assert(diagonal.diagonal().size() == (ProductOrder == OnTheLeft ? matrix.rows() : matrix.cols()));
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const { return m_matrix.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return m_matrix.cols(); }
-
-    EIGEN_STRONG_INLINE const Scalar coeff(Index row, Index col) const
-    {
-      return m_diagonal.diagonal().coeff(ProductOrder == OnTheLeft ? row : col) * m_matrix.coeff(row, col);
-    }
-    
-    EIGEN_STRONG_INLINE const Scalar coeff(Index idx) const
-    {
-      enum {
-        StorageOrder = int(MatrixType::Flags) & RowMajorBit ? RowMajor : ColMajor
-      };
-      return coeff(int(StorageOrder)==ColMajor?idx:0,int(StorageOrder)==ColMajor?0:idx);
-    }
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index row, Index col) const
-    {
-      enum {
-        StorageOrder = Flags & RowMajorBit ? RowMajor : ColMajor
-      };
-      const Index indexInDiagonalVector = ProductOrder == OnTheLeft ? row : col;
-      return packet_impl<LoadMode>(row,col,indexInDiagonalVector,typename internal::conditional<
-        ((int(StorageOrder) == RowMajor && int(ProductOrder) == OnTheLeft)
-       ||(int(StorageOrder) == ColMajor && int(ProductOrder) == OnTheRight)), internal::true_type, internal::false_type>::type());
-    }
-    
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index idx) const
-    {
-      enum {
-        StorageOrder = int(MatrixType::Flags) & RowMajorBit ? RowMajor : ColMajor
-      };
-      return packet<LoadMode>(int(StorageOrder)==ColMajor?idx:0,int(StorageOrder)==ColMajor?0:idx);
-    }
-
-  protected:
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet_impl(Index row, Index col, Index id, internal::true_type) const
-    {
-      return internal::pmul(m_matrix.template packet<LoadMode>(row, col),
-                     internal::pset1<PacketScalar>(m_diagonal.diagonal().coeff(id)));
-    }
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet_impl(Index row, Index col, Index id, internal::false_type) const
-    {
-      enum {
-        InnerSize = (MatrixType::Flags & RowMajorBit) ? MatrixType::ColsAtCompileTime : MatrixType::RowsAtCompileTime,
-        DiagonalVectorPacketLoadMode = (LoadMode == Aligned && (((InnerSize%16) == 0) || (int(DiagonalType::DiagonalVectorType::Flags)&AlignedBit)==AlignedBit) ? Aligned : Unaligned)
-      };
-      return internal::pmul(m_matrix.template packet<LoadMode>(row, col),
-                     m_diagonal.diagonal().template packet<DiagonalVectorPacketLoadMode>(id));
-    }
-
-    typename MatrixType::Nested m_matrix;
-    typename DiagonalType::Nested m_diagonal;
-};
-
-/** \returns the diagonal matrix product of \c *this by the diagonal matrix \a diagonal.
-  */
-template<typename Derived>
-template<typename DiagonalDerived>
-inline const DiagonalProduct<Derived, DiagonalDerived, OnTheRight>
-MatrixBase<Derived>::operator*(const DiagonalBase<DiagonalDerived> &a_diagonal) const
-{
-  return DiagonalProduct<Derived, DiagonalDerived, OnTheRight>(derived(), a_diagonal.derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_DIAGONALPRODUCT_H
diff --git a/lib/Eigen/src/Core/Dot.h b/lib/Eigen/src/Core/Dot.h
deleted file mode 100644
index 9d7651f1..00000000
--- a/lib/Eigen/src/Core/Dot.h
+++ /dev/null
@@ -1,263 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2008, 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_DOT_H
-#define EIGEN_DOT_H
-
-namespace Eigen { 
-
-namespace internal {
-
-// helper function for dot(). The problem is that if we put that in the body of dot(), then upon calling dot
-// with mismatched types, the compiler emits errors about failing to instantiate cwiseProduct BEFORE
-// looking at the static assertions. Thus this is a trick to get better compile errors.
-template<typename T, typename U,
-// the NeedToTranspose condition here is taken straight from Assign.h
-         bool NeedToTranspose = T::IsVectorAtCompileTime
-                && U::IsVectorAtCompileTime
-                && ((int(T::RowsAtCompileTime) == 1 && int(U::ColsAtCompileTime) == 1)
-                      |  // FIXME | instead of || to please GCC 4.4.0 stupid warning "suggest parentheses around &&".
-                         // revert to || as soon as not needed anymore.
-                    (int(T::ColsAtCompileTime) == 1 && int(U::RowsAtCompileTime) == 1))
->
-struct dot_nocheck
-{
-  typedef typename scalar_product_traits<typename traits<T>::Scalar,typename traits<U>::Scalar>::ReturnType ResScalar;
-  static inline ResScalar run(const MatrixBase<T>& a, const MatrixBase<U>& b)
-  {
-    return a.template binaryExpr<scalar_conj_product_op<typename traits<T>::Scalar,typename traits<U>::Scalar> >(b).sum();
-  }
-};
-
-template<typename T, typename U>
-struct dot_nocheck<T, U, true>
-{
-  typedef typename scalar_product_traits<typename traits<T>::Scalar,typename traits<U>::Scalar>::ReturnType ResScalar;
-  static inline ResScalar run(const MatrixBase<T>& a, const MatrixBase<U>& b)
-  {
-    return a.transpose().template binaryExpr<scalar_conj_product_op<typename traits<T>::Scalar,typename traits<U>::Scalar> >(b).sum();
-  }
-};
-
-} // end namespace internal
-
-/** \returns the dot product of *this with other.
-  *
-  * \only_for_vectors
-  *
-  * \note If the scalar type is complex numbers, then this function returns the hermitian
-  * (sesquilinear) dot product, conjugate-linear in the first variable and linear in the
-  * second variable.
-  *
-  * \sa squaredNorm(), norm()
-  */
-template<typename Derived>
-template<typename OtherDerived>
-typename internal::scalar_product_traits<typename internal::traits<Derived>::Scalar,typename internal::traits<OtherDerived>::Scalar>::ReturnType
-MatrixBase<Derived>::dot(const MatrixBase<OtherDerived>& other) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-  EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(Derived,OtherDerived)
-  typedef internal::scalar_conj_product_op<Scalar,typename OtherDerived::Scalar> func;
-  EIGEN_CHECK_BINARY_COMPATIBILIY(func,Scalar,typename OtherDerived::Scalar);
-
-  eigen_assert(size() == other.size());
-
-  return internal::dot_nocheck<Derived,OtherDerived>::run(*this, other);
-}
-
-#ifdef EIGEN2_SUPPORT
-/** \returns the dot product of *this with other, with the Eigen2 convention that the dot product is linear in the first variable
-  * (conjugating the second variable). Of course this only makes a difference in the complex case.
-  *
-  * This method is only available in EIGEN2_SUPPORT mode.
-  *
-  * \only_for_vectors
-  *
-  * \sa dot()
-  */
-template<typename Derived>
-template<typename OtherDerived>
-typename internal::traits<Derived>::Scalar
-MatrixBase<Derived>::eigen2_dot(const MatrixBase<OtherDerived>& other) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-  EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(Derived,OtherDerived)
-  EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename OtherDerived::Scalar>::value),
-    YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-
-  eigen_assert(size() == other.size());
-
-  return internal::dot_nocheck<OtherDerived,Derived>::run(other,*this);
-}
-#endif
-
-
-//---------- implementation of L2 norm and related functions ----------
-
-/** \returns, for vectors, the squared \em l2 norm of \c *this, and for matrices the Frobenius norm.
-  * In both cases, it consists in the sum of the square of all the matrix entries.
-  * For vectors, this is also equals to the dot product of \c *this with itself.
-  *
-  * \sa dot(), norm()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE typename NumTraits<typename internal::traits<Derived>::Scalar>::Real MatrixBase<Derived>::squaredNorm() const
-{
-  return numext::real((*this).cwiseAbs2().sum());
-}
-
-/** \returns, for vectors, the \em l2 norm of \c *this, and for matrices the Frobenius norm.
-  * In both cases, it consists in the square root of the sum of the square of all the matrix entries.
-  * For vectors, this is also equals to the square root of the dot product of \c *this with itself.
-  *
-  * \sa dot(), squaredNorm()
-  */
-template<typename Derived>
-inline typename NumTraits<typename internal::traits<Derived>::Scalar>::Real MatrixBase<Derived>::norm() const
-{
-  using std::sqrt;
-  return sqrt(squaredNorm());
-}
-
-/** \returns an expression of the quotient of *this by its own norm.
-  *
-  * \only_for_vectors
-  *
-  * \sa norm(), normalize()
-  */
-template<typename Derived>
-inline const typename MatrixBase<Derived>::PlainObject
-MatrixBase<Derived>::normalized() const
-{
-  typedef typename internal::nested<Derived>::type Nested;
-  typedef typename internal::remove_reference<Nested>::type _Nested;
-  _Nested n(derived());
-  return n / n.norm();
-}
-
-/** Normalizes the vector, i.e. divides it by its own norm.
-  *
-  * \only_for_vectors
-  *
-  * \sa norm(), normalized()
-  */
-template<typename Derived>
-inline void MatrixBase<Derived>::normalize()
-{
-  *this /= norm();
-}
-
-//---------- implementation of other norms ----------
-
-namespace internal {
-
-template<typename Derived, int p>
-struct lpNorm_selector
-{
-  typedef typename NumTraits<typename traits<Derived>::Scalar>::Real RealScalar;
-  static inline RealScalar run(const MatrixBase<Derived>& m)
-  {
-    using std::pow;
-    return pow(m.cwiseAbs().array().pow(p).sum(), RealScalar(1)/p);
-  }
-};
-
-template<typename Derived>
-struct lpNorm_selector<Derived, 1>
-{
-  static inline typename NumTraits<typename traits<Derived>::Scalar>::Real run(const MatrixBase<Derived>& m)
-  {
-    return m.cwiseAbs().sum();
-  }
-};
-
-template<typename Derived>
-struct lpNorm_selector<Derived, 2>
-{
-  static inline typename NumTraits<typename traits<Derived>::Scalar>::Real run(const MatrixBase<Derived>& m)
-  {
-    return m.norm();
-  }
-};
-
-template<typename Derived>
-struct lpNorm_selector<Derived, Infinity>
-{
-  static inline typename NumTraits<typename traits<Derived>::Scalar>::Real run(const MatrixBase<Derived>& m)
-  {
-    return m.cwiseAbs().maxCoeff();
-  }
-};
-
-} // end namespace internal
-
-/** \returns the \f$ \ell^p \f$ norm of *this, that is, returns the p-th root of the sum of the p-th powers of the absolute values
-  *          of the coefficients of *this. If \a p is the special value \a Eigen::Infinity, this function returns the \f$ \ell^\infty \f$
-  *          norm, that is the maximum of the absolute values of the coefficients of *this.
-  *
-  * \sa norm()
-  */
-template<typename Derived>
-template<int p>
-inline typename NumTraits<typename internal::traits<Derived>::Scalar>::Real
-MatrixBase<Derived>::lpNorm() const
-{
-  return internal::lpNorm_selector<Derived, p>::run(*this);
-}
-
-//---------- implementation of isOrthogonal / isUnitary ----------
-
-/** \returns true if *this is approximately orthogonal to \a other,
-  *          within the precision given by \a prec.
-  *
-  * Example: \include MatrixBase_isOrthogonal.cpp
-  * Output: \verbinclude MatrixBase_isOrthogonal.out
-  */
-template<typename Derived>
-template<typename OtherDerived>
-bool MatrixBase<Derived>::isOrthogonal
-(const MatrixBase<OtherDerived>& other, const RealScalar& prec) const
-{
-  typename internal::nested<Derived,2>::type nested(derived());
-  typename internal::nested<OtherDerived,2>::type otherNested(other.derived());
-  return numext::abs2(nested.dot(otherNested)) <= prec * prec * nested.squaredNorm() * otherNested.squaredNorm();
-}
-
-/** \returns true if *this is approximately an unitary matrix,
-  *          within the precision given by \a prec. In the case where the \a Scalar
-  *          type is real numbers, a unitary matrix is an orthogonal matrix, whence the name.
-  *
-  * \note This can be used to check whether a family of vectors forms an orthonormal basis.
-  *       Indeed, \c m.isUnitary() returns true if and only if the columns (equivalently, the rows) of m form an
-  *       orthonormal basis.
-  *
-  * Example: \include MatrixBase_isUnitary.cpp
-  * Output: \verbinclude MatrixBase_isUnitary.out
-  */
-template<typename Derived>
-bool MatrixBase<Derived>::isUnitary(const RealScalar& prec) const
-{
-  typename Derived::Nested nested(derived());
-  for(Index i = 0; i < cols(); ++i)
-  {
-    if(!internal::isApprox(nested.col(i).squaredNorm(), static_cast<RealScalar>(1), prec))
-      return false;
-    for(Index j = 0; j < i; ++j)
-      if(!internal::isMuchSmallerThan(nested.col(i).dot(nested.col(j)), static_cast<Scalar>(1), prec))
-        return false;
-  }
-  return true;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_DOT_H
diff --git a/lib/Eigen/src/Core/EigenBase.h b/lib/Eigen/src/Core/EigenBase.h
deleted file mode 100644
index fadb4585..00000000
--- a/lib/Eigen/src/Core/EigenBase.h
+++ /dev/null
@@ -1,131 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_EIGENBASE_H
-#define EIGEN_EIGENBASE_H
-
-namespace Eigen {
-
-/** Common base class for all classes T such that MatrixBase has an operator=(T) and a constructor MatrixBase(T).
-  *
-  * In other words, an EigenBase object is an object that can be copied into a MatrixBase.
-  *
-  * Besides MatrixBase-derived classes, this also includes special matrix classes such as diagonal matrices, etc.
-  *
-  * Notice that this class is trivial, it is only used to disambiguate overloaded functions.
-  *
-  * \sa \ref TopicClassHierarchy
-  */
-template<typename Derived> struct EigenBase
-{
-//   typedef typename internal::plain_matrix_type<Derived>::type PlainObject;
-
-  typedef typename internal::traits<Derived>::StorageKind StorageKind;
-  typedef typename internal::traits<Derived>::Index Index;
-
-  /** \returns a reference to the derived object */
-  Derived& derived() { return *static_cast<Derived*>(this); }
-  /** \returns a const reference to the derived object */
-  const Derived& derived() const { return *static_cast<const Derived*>(this); }
-
-  inline Derived& const_cast_derived() const
-  { return *static_cast<Derived*>(const_cast<EigenBase*>(this)); }
-  inline const Derived& const_derived() const
-  { return *static_cast<const Derived*>(this); }
-
-  /** \returns the number of rows. \sa cols(), RowsAtCompileTime */
-  inline Index rows() const { return derived().rows(); }
-  /** \returns the number of columns. \sa rows(), ColsAtCompileTime*/
-  inline Index cols() const { return derived().cols(); }
-  /** \returns the number of coefficients, which is rows()*cols().
-    * \sa rows(), cols(), SizeAtCompileTime. */
-  inline Index size() const { return rows() * cols(); }
-
-  /** \internal Don't use it, but do the equivalent: \code dst = *this; \endcode */
-  template<typename Dest> inline void evalTo(Dest& dst) const
-  { derived().evalTo(dst); }
-
-  /** \internal Don't use it, but do the equivalent: \code dst += *this; \endcode */
-  template<typename Dest> inline void addTo(Dest& dst) const
-  {
-    // This is the default implementation,
-    // derived class can reimplement it in a more optimized way.
-    typename Dest::PlainObject res(rows(),cols());
-    evalTo(res);
-    dst += res;
-  }
-
-  /** \internal Don't use it, but do the equivalent: \code dst -= *this; \endcode */
-  template<typename Dest> inline void subTo(Dest& dst) const
-  {
-    // This is the default implementation,
-    // derived class can reimplement it in a more optimized way.
-    typename Dest::PlainObject res(rows(),cols());
-    evalTo(res);
-    dst -= res;
-  }
-
-  /** \internal Don't use it, but do the equivalent: \code dst.applyOnTheRight(*this); \endcode */
-  template<typename Dest> inline void applyThisOnTheRight(Dest& dst) const
-  {
-    // This is the default implementation,
-    // derived class can reimplement it in a more optimized way.
-    dst = dst * this->derived();
-  }
-
-  /** \internal Don't use it, but do the equivalent: \code dst.applyOnTheLeft(*this); \endcode */
-  template<typename Dest> inline void applyThisOnTheLeft(Dest& dst) const
-  {
-    // This is the default implementation,
-    // derived class can reimplement it in a more optimized way.
-    dst = this->derived() * dst;
-  }
-
-};
-
-/***************************************************************************
-* Implementation of matrix base methods
-***************************************************************************/
-
-/** \brief Copies the generic expression \a other into *this.
-  *
-  * \details The expression must provide a (templated) evalTo(Derived& dst) const
-  * function which does the actual job. In practice, this allows any user to write
-  * its own special matrix without having to modify MatrixBase
-  *
-  * \returns a reference to *this.
-  */
-template<typename Derived>
-template<typename OtherDerived>
-Derived& DenseBase<Derived>::operator=(const EigenBase<OtherDerived> &other)
-{
-  other.derived().evalTo(derived());
-  return derived();
-}
-
-template<typename Derived>
-template<typename OtherDerived>
-Derived& DenseBase<Derived>::operator+=(const EigenBase<OtherDerived> &other)
-{
-  other.derived().addTo(derived());
-  return derived();
-}
-
-template<typename Derived>
-template<typename OtherDerived>
-Derived& DenseBase<Derived>::operator-=(const EigenBase<OtherDerived> &other)
-{
-  other.derived().subTo(derived());
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_EIGENBASE_H
diff --git a/lib/Eigen/src/Core/Flagged.h b/lib/Eigen/src/Core/Flagged.h
deleted file mode 100644
index 1f2955fc..00000000
--- a/lib/Eigen/src/Core/Flagged.h
+++ /dev/null
@@ -1,140 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_FLAGGED_H
-#define EIGEN_FLAGGED_H
-
-namespace Eigen { 
-
-/** \class Flagged
-  * \ingroup Core_Module
-  *
-  * \brief Expression with modified flags
-  *
-  * \param ExpressionType the type of the object of which we are modifying the flags
-  * \param Added the flags added to the expression
-  * \param Removed the flags removed from the expression (has priority over Added).
-  *
-  * This class represents an expression whose flags have been modified.
-  * It is the return type of MatrixBase::flagged()
-  * and most of the time this is the only way it is used.
-  *
-  * \sa MatrixBase::flagged()
-  */
-
-namespace internal {
-template<typename ExpressionType, unsigned int Added, unsigned int Removed>
-struct traits<Flagged<ExpressionType, Added, Removed> > : traits<ExpressionType>
-{
-  enum { Flags = (ExpressionType::Flags | Added) & ~Removed };
-};
-}
-
-template<typename ExpressionType, unsigned int Added, unsigned int Removed> class Flagged
-  : public MatrixBase<Flagged<ExpressionType, Added, Removed> >
-{
-  public:
-
-    typedef MatrixBase<Flagged> Base;
-    
-    EIGEN_DENSE_PUBLIC_INTERFACE(Flagged)
-    typedef typename internal::conditional<internal::must_nest_by_value<ExpressionType>::ret,
-        ExpressionType, const ExpressionType&>::type ExpressionTypeNested;
-    typedef typename ExpressionType::InnerIterator InnerIterator;
-
-    inline Flagged(const ExpressionType& matrix) : m_matrix(matrix) {}
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-    inline Index outerStride() const { return m_matrix.outerStride(); }
-    inline Index innerStride() const { return m_matrix.innerStride(); }
-
-    inline CoeffReturnType coeff(Index row, Index col) const
-    {
-      return m_matrix.coeff(row, col);
-    }
-
-    inline CoeffReturnType coeff(Index index) const
-    {
-      return m_matrix.coeff(index);
-    }
-    
-    inline const Scalar& coeffRef(Index row, Index col) const
-    {
-      return m_matrix.const_cast_derived().coeffRef(row, col);
-    }
-
-    inline const Scalar& coeffRef(Index index) const
-    {
-      return m_matrix.const_cast_derived().coeffRef(index);
-    }
-
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      return m_matrix.const_cast_derived().coeffRef(row, col);
-    }
-
-    inline Scalar& coeffRef(Index index)
-    {
-      return m_matrix.const_cast_derived().coeffRef(index);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index row, Index col) const
-    {
-      return m_matrix.template packet<LoadMode>(row, col);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index row, Index col, const PacketScalar& x)
-    {
-      m_matrix.const_cast_derived().template writePacket<LoadMode>(row, col, x);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index index) const
-    {
-      return m_matrix.template packet<LoadMode>(index);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index index, const PacketScalar& x)
-    {
-      m_matrix.const_cast_derived().template writePacket<LoadMode>(index, x);
-    }
-
-    const ExpressionType& _expression() const { return m_matrix; }
-
-    template<typename OtherDerived>
-    typename ExpressionType::PlainObject solveTriangular(const MatrixBase<OtherDerived>& other) const;
-
-    template<typename OtherDerived>
-    void solveTriangularInPlace(const MatrixBase<OtherDerived>& other) const;
-
-  protected:
-    ExpressionTypeNested m_matrix;
-};
-
-/** \returns an expression of *this with added and removed flags
-  *
-  * This is mostly for internal use.
-  *
-  * \sa class Flagged
-  */
-template<typename Derived>
-template<unsigned int Added,unsigned int Removed>
-inline const Flagged<Derived, Added, Removed>
-DenseBase<Derived>::flagged() const
-{
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_FLAGGED_H
diff --git a/lib/Eigen/src/Core/ForceAlignedAccess.h b/lib/Eigen/src/Core/ForceAlignedAccess.h
deleted file mode 100644
index 807c7a29..00000000
--- a/lib/Eigen/src/Core/ForceAlignedAccess.h
+++ /dev/null
@@ -1,146 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_FORCEALIGNEDACCESS_H
-#define EIGEN_FORCEALIGNEDACCESS_H
-
-namespace Eigen {
-
-/** \class ForceAlignedAccess
-  * \ingroup Core_Module
-  *
-  * \brief Enforce aligned packet loads and stores regardless of what is requested
-  *
-  * \param ExpressionType the type of the object of which we are forcing aligned packet access
-  *
-  * This class is the return type of MatrixBase::forceAlignedAccess()
-  * and most of the time this is the only way it is used.
-  *
-  * \sa MatrixBase::forceAlignedAccess()
-  */
-
-namespace internal {
-template<typename ExpressionType>
-struct traits<ForceAlignedAccess<ExpressionType> > : public traits<ExpressionType>
-{};
-}
-
-template<typename ExpressionType> class ForceAlignedAccess
-  : public internal::dense_xpr_base< ForceAlignedAccess<ExpressionType> >::type
-{
-  public:
-
-    typedef typename internal::dense_xpr_base<ForceAlignedAccess>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(ForceAlignedAccess)
-
-    inline ForceAlignedAccess(const ExpressionType& matrix) : m_expression(matrix) {}
-
-    inline Index rows() const { return m_expression.rows(); }
-    inline Index cols() const { return m_expression.cols(); }
-    inline Index outerStride() const { return m_expression.outerStride(); }
-    inline Index innerStride() const { return m_expression.innerStride(); }
-
-    inline const CoeffReturnType coeff(Index row, Index col) const
-    {
-      return m_expression.coeff(row, col);
-    }
-
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      return m_expression.const_cast_derived().coeffRef(row, col);
-    }
-
-    inline const CoeffReturnType coeff(Index index) const
-    {
-      return m_expression.coeff(index);
-    }
-
-    inline Scalar& coeffRef(Index index)
-    {
-      return m_expression.const_cast_derived().coeffRef(index);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index row, Index col) const
-    {
-      return m_expression.template packet<Aligned>(row, col);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index row, Index col, const PacketScalar& x)
-    {
-      m_expression.const_cast_derived().template writePacket<Aligned>(row, col, x);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index index) const
-    {
-      return m_expression.template packet<Aligned>(index);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index index, const PacketScalar& x)
-    {
-      m_expression.const_cast_derived().template writePacket<Aligned>(index, x);
-    }
-
-    operator const ExpressionType&() const { return m_expression; }
-
-  protected:
-    const ExpressionType& m_expression;
-
-  private:
-    ForceAlignedAccess& operator=(const ForceAlignedAccess&);
-};
-
-/** \returns an expression of *this with forced aligned access
-  * \sa forceAlignedAccessIf(),class ForceAlignedAccess
-  */
-template<typename Derived>
-inline const ForceAlignedAccess<Derived>
-MatrixBase<Derived>::forceAlignedAccess() const
-{
-  return ForceAlignedAccess<Derived>(derived());
-}
-
-/** \returns an expression of *this with forced aligned access
-  * \sa forceAlignedAccessIf(), class ForceAlignedAccess
-  */
-template<typename Derived>
-inline ForceAlignedAccess<Derived>
-MatrixBase<Derived>::forceAlignedAccess()
-{
-  return ForceAlignedAccess<Derived>(derived());
-}
-
-/** \returns an expression of *this with forced aligned access if \a Enable is true.
-  * \sa forceAlignedAccess(), class ForceAlignedAccess
-  */
-template<typename Derived>
-template<bool Enable>
-inline typename internal::add_const_on_value_type<typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type>::type
-MatrixBase<Derived>::forceAlignedAccessIf() const
-{
-  return derived();
-}
-
-/** \returns an expression of *this with forced aligned access if \a Enable is true.
-  * \sa forceAlignedAccess(), class ForceAlignedAccess
-  */
-template<typename Derived>
-template<bool Enable>
-inline typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type
-MatrixBase<Derived>::forceAlignedAccessIf()
-{
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_FORCEALIGNEDACCESS_H
diff --git a/lib/Eigen/src/Core/Functors.h b/lib/Eigen/src/Core/Functors.h
deleted file mode 100644
index 5f14c658..00000000
--- a/lib/Eigen/src/Core/Functors.h
+++ /dev/null
@@ -1,1026 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_FUNCTORS_H
-#define EIGEN_FUNCTORS_H
-
-namespace Eigen {
-
-namespace internal {
-
-// associative functors:
-
-/** \internal
-  * \brief Template functor to compute the sum of two scalars
-  *
-  * \sa class CwiseBinaryOp, MatrixBase::operator+, class VectorwiseOp, MatrixBase::sum()
-  */
-template<typename Scalar> struct scalar_sum_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_sum_op)
-  EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const { return a + b; }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const
-  { return internal::padd(a,b); }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Scalar predux(const Packet& a) const
-  { return internal::predux(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_sum_op<Scalar> > {
-  enum {
-    Cost = NumTraits<Scalar>::AddCost,
-    PacketAccess = packet_traits<Scalar>::HasAdd
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the product of two scalars
-  *
-  * \sa class CwiseBinaryOp, Cwise::operator*(), class VectorwiseOp, MatrixBase::redux()
-  */
-template<typename LhsScalar,typename RhsScalar> struct scalar_product_op {
-  enum {
-    // TODO vectorize mixed product
-    Vectorizable = is_same<LhsScalar,RhsScalar>::value && packet_traits<LhsScalar>::HasMul && packet_traits<RhsScalar>::HasMul
-  };
-  typedef typename scalar_product_traits<LhsScalar,RhsScalar>::ReturnType result_type;
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_product_op)
-  EIGEN_STRONG_INLINE const result_type operator() (const LhsScalar& a, const RhsScalar& b) const { return a * b; }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const
-  { return internal::pmul(a,b); }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const result_type predux(const Packet& a) const
-  { return internal::predux_mul(a); }
-};
-template<typename LhsScalar,typename RhsScalar>
-struct functor_traits<scalar_product_op<LhsScalar,RhsScalar> > {
-  enum {
-    Cost = (NumTraits<LhsScalar>::MulCost + NumTraits<RhsScalar>::MulCost)/2, // rough estimate!
-    PacketAccess = scalar_product_op<LhsScalar,RhsScalar>::Vectorizable
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the conjugate product of two scalars
-  *
-  * This is a short cut for conj(x) * y which is needed for optimization purpose; in Eigen2 support mode, this becomes x * conj(y)
-  */
-template<typename LhsScalar,typename RhsScalar> struct scalar_conj_product_op {
-
-  enum {
-    Conj = NumTraits<LhsScalar>::IsComplex
-  };
-  
-  typedef typename scalar_product_traits<LhsScalar,RhsScalar>::ReturnType result_type;
-  
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_conj_product_op)
-  EIGEN_STRONG_INLINE const result_type operator() (const LhsScalar& a, const RhsScalar& b) const
-  { return conj_helper<LhsScalar,RhsScalar,Conj,false>().pmul(a,b); }
-  
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const
-  { return conj_helper<Packet,Packet,Conj,false>().pmul(a,b); }
-};
-template<typename LhsScalar,typename RhsScalar>
-struct functor_traits<scalar_conj_product_op<LhsScalar,RhsScalar> > {
-  enum {
-    Cost = NumTraits<LhsScalar>::MulCost,
-    PacketAccess = internal::is_same<LhsScalar, RhsScalar>::value && packet_traits<LhsScalar>::HasMul
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the min of two scalars
-  *
-  * \sa class CwiseBinaryOp, MatrixBase::cwiseMin, class VectorwiseOp, MatrixBase::minCoeff()
-  */
-template<typename Scalar> struct scalar_min_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_min_op)
-  EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const { using std::min; return (min)(a, b); }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const
-  { return internal::pmin(a,b); }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Scalar predux(const Packet& a) const
-  { return internal::predux_min(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_min_op<Scalar> > {
-  enum {
-    Cost = NumTraits<Scalar>::AddCost,
-    PacketAccess = packet_traits<Scalar>::HasMin
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the max of two scalars
-  *
-  * \sa class CwiseBinaryOp, MatrixBase::cwiseMax, class VectorwiseOp, MatrixBase::maxCoeff()
-  */
-template<typename Scalar> struct scalar_max_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_max_op)
-  EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const { using std::max; return (max)(a, b); }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const
-  { return internal::pmax(a,b); }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Scalar predux(const Packet& a) const
-  { return internal::predux_max(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_max_op<Scalar> > {
-  enum {
-    Cost = NumTraits<Scalar>::AddCost,
-    PacketAccess = packet_traits<Scalar>::HasMax
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the hypot of two scalars
-  *
-  * \sa MatrixBase::stableNorm(), class Redux
-  */
-template<typename Scalar> struct scalar_hypot_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_hypot_op)
-//   typedef typename NumTraits<Scalar>::Real result_type;
-  EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& _x, const Scalar& _y) const
-  {
-    using std::max;
-    using std::min;
-    using std::sqrt;
-    Scalar p = (max)(_x, _y);
-    Scalar q = (min)(_x, _y);
-    Scalar qp = q/p;
-    return p * sqrt(Scalar(1) + qp*qp);
-  }
-};
-template<typename Scalar>
-struct functor_traits<scalar_hypot_op<Scalar> > {
-  enum { Cost = 5 * NumTraits<Scalar>::MulCost, PacketAccess=0 };
-};
-
-/** \internal
-  * \brief Template functor to compute the pow of two scalars
-  */
-template<typename Scalar, typename OtherScalar> struct scalar_binary_pow_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_binary_pow_op)
-  inline Scalar operator() (const Scalar& a, const OtherScalar& b) const { return numext::pow(a, b); }
-};
-template<typename Scalar, typename OtherScalar>
-struct functor_traits<scalar_binary_pow_op<Scalar,OtherScalar> > {
-  enum { Cost = 5 * NumTraits<Scalar>::MulCost, PacketAccess = false };
-};
-
-// other binary functors:
-
-/** \internal
-  * \brief Template functor to compute the difference of two scalars
-  *
-  * \sa class CwiseBinaryOp, MatrixBase::operator-
-  */
-template<typename Scalar> struct scalar_difference_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_difference_op)
-  EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const { return a - b; }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const
-  { return internal::psub(a,b); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_difference_op<Scalar> > {
-  enum {
-    Cost = NumTraits<Scalar>::AddCost,
-    PacketAccess = packet_traits<Scalar>::HasSub
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the quotient of two scalars
-  *
-  * \sa class CwiseBinaryOp, Cwise::operator/()
-  */
-template<typename LhsScalar,typename RhsScalar> struct scalar_quotient_op {
-  enum {
-    // TODO vectorize mixed product
-    Vectorizable = is_same<LhsScalar,RhsScalar>::value && packet_traits<LhsScalar>::HasDiv && packet_traits<RhsScalar>::HasDiv
-  };
-  typedef typename scalar_product_traits<LhsScalar,RhsScalar>::ReturnType result_type;
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_quotient_op)
-  EIGEN_STRONG_INLINE const result_type operator() (const LhsScalar& a, const RhsScalar& b) const { return a / b; }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const
-  { return internal::pdiv(a,b); }
-};
-template<typename LhsScalar,typename RhsScalar>
-struct functor_traits<scalar_quotient_op<LhsScalar,RhsScalar> > {
-  enum {
-    Cost = (NumTraits<LhsScalar>::MulCost + NumTraits<RhsScalar>::MulCost), // rough estimate!
-    PacketAccess = scalar_quotient_op<LhsScalar,RhsScalar>::Vectorizable
-  };
-};
-
-
-
-/** \internal
-  * \brief Template functor to compute the and of two booleans
-  *
-  * \sa class CwiseBinaryOp, ArrayBase::operator&&
-  */
-struct scalar_boolean_and_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_and_op)
-  EIGEN_STRONG_INLINE bool operator() (const bool& a, const bool& b) const { return a && b; }
-};
-template<> struct functor_traits<scalar_boolean_and_op> {
-  enum {
-    Cost = NumTraits<bool>::AddCost,
-    PacketAccess = false
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the or of two booleans
-  *
-  * \sa class CwiseBinaryOp, ArrayBase::operator||
-  */
-struct scalar_boolean_or_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_or_op)
-  EIGEN_STRONG_INLINE bool operator() (const bool& a, const bool& b) const { return a || b; }
-};
-template<> struct functor_traits<scalar_boolean_or_op> {
-  enum {
-    Cost = NumTraits<bool>::AddCost,
-    PacketAccess = false
-  };
-};
-
-/** \internal
-  * \brief Template functors for comparison of two scalars
-  * \todo Implement packet-comparisons
-  */
-template<typename Scalar, ComparisonName cmp> struct scalar_cmp_op;
-
-template<typename Scalar, ComparisonName cmp>
-struct functor_traits<scalar_cmp_op<Scalar, cmp> > {
-  enum {
-    Cost = NumTraits<Scalar>::AddCost,
-    PacketAccess = false
-  };
-};
-
-template<ComparisonName Cmp, typename Scalar>
-struct result_of<scalar_cmp_op<Scalar, Cmp>(Scalar,Scalar)> {
-  typedef bool type;
-};
-
-
-template<typename Scalar> struct scalar_cmp_op<Scalar, cmp_EQ> {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op)
-  EIGEN_STRONG_INLINE bool operator()(const Scalar& a, const Scalar& b) const {return a==b;}
-};
-template<typename Scalar> struct scalar_cmp_op<Scalar, cmp_LT> {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op)
-  EIGEN_STRONG_INLINE bool operator()(const Scalar& a, const Scalar& b) const {return a<b;}
-};
-template<typename Scalar> struct scalar_cmp_op<Scalar, cmp_LE> {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op)
-  EIGEN_STRONG_INLINE bool operator()(const Scalar& a, const Scalar& b) const {return a<=b;}
-};
-template<typename Scalar> struct scalar_cmp_op<Scalar, cmp_UNORD> {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op)
-  EIGEN_STRONG_INLINE bool operator()(const Scalar& a, const Scalar& b) const {return !(a<=b || b<=a);}
-};
-template<typename Scalar> struct scalar_cmp_op<Scalar, cmp_NEQ> {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_cmp_op)
-  EIGEN_STRONG_INLINE bool operator()(const Scalar& a, const Scalar& b) const {return a!=b;}
-};
-
-// unary functors:
-
-/** \internal
-  * \brief Template functor to compute the opposite of a scalar
-  *
-  * \sa class CwiseUnaryOp, MatrixBase::operator-
-  */
-template<typename Scalar> struct scalar_opposite_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_opposite_op)
-  EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return -a; }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
-  { return internal::pnegate(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_opposite_op<Scalar> >
-{ enum {
-    Cost = NumTraits<Scalar>::AddCost,
-    PacketAccess = packet_traits<Scalar>::HasNegate };
-};
-
-/** \internal
-  * \brief Template functor to compute the absolute value of a scalar
-  *
-  * \sa class CwiseUnaryOp, Cwise::abs
-  */
-template<typename Scalar> struct scalar_abs_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_abs_op)
-  typedef typename NumTraits<Scalar>::Real result_type;
-  EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { using std::abs; return abs(a); }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
-  { return internal::pabs(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_abs_op<Scalar> >
-{
-  enum {
-    Cost = NumTraits<Scalar>::AddCost,
-    PacketAccess = packet_traits<Scalar>::HasAbs
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the squared absolute value of a scalar
-  *
-  * \sa class CwiseUnaryOp, Cwise::abs2
-  */
-template<typename Scalar> struct scalar_abs2_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_abs2_op)
-  typedef typename NumTraits<Scalar>::Real result_type;
-  EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { return numext::abs2(a); }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
-  { return internal::pmul(a,a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_abs2_op<Scalar> >
-{ enum { Cost = NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasAbs2 }; };
-
-/** \internal
-  * \brief Template functor to compute the conjugate of a complex value
-  *
-  * \sa class CwiseUnaryOp, MatrixBase::conjugate()
-  */
-template<typename Scalar> struct scalar_conjugate_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_conjugate_op)
-  EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { using numext::conj; return conj(a); }
-  template<typename Packet>
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { return internal::pconj(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_conjugate_op<Scalar> >
-{
-  enum {
-    Cost = NumTraits<Scalar>::IsComplex ? NumTraits<Scalar>::AddCost : 0,
-    PacketAccess = packet_traits<Scalar>::HasConj
-  };
-};
-
-/** \internal
-  * \brief Template functor to cast a scalar to another type
-  *
-  * \sa class CwiseUnaryOp, MatrixBase::cast()
-  */
-template<typename Scalar, typename NewType>
-struct scalar_cast_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op)
-  typedef NewType result_type;
-  EIGEN_STRONG_INLINE const NewType operator() (const Scalar& a) const { return cast<Scalar, NewType>(a); }
-};
-template<typename Scalar, typename NewType>
-struct functor_traits<scalar_cast_op<Scalar,NewType> >
-{ enum { Cost = is_same<Scalar, NewType>::value ? 0 : NumTraits<NewType>::AddCost, PacketAccess = false }; };
-
-/** \internal
-  * \brief Template functor to extract the real part of a complex
-  *
-  * \sa class CwiseUnaryOp, MatrixBase::real()
-  */
-template<typename Scalar>
-struct scalar_real_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_real_op)
-  typedef typename NumTraits<Scalar>::Real result_type;
-  EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::real(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_real_op<Scalar> >
-{ enum { Cost = 0, PacketAccess = false }; };
-
-/** \internal
-  * \brief Template functor to extract the imaginary part of a complex
-  *
-  * \sa class CwiseUnaryOp, MatrixBase::imag()
-  */
-template<typename Scalar>
-struct scalar_imag_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_imag_op)
-  typedef typename NumTraits<Scalar>::Real result_type;
-  EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::imag(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_imag_op<Scalar> >
-{ enum { Cost = 0, PacketAccess = false }; };
-
-/** \internal
-  * \brief Template functor to extract the real part of a complex as a reference
-  *
-  * \sa class CwiseUnaryOp, MatrixBase::real()
-  */
-template<typename Scalar>
-struct scalar_real_ref_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_real_ref_op)
-  typedef typename NumTraits<Scalar>::Real result_type;
-  EIGEN_STRONG_INLINE result_type& operator() (const Scalar& a) const { return numext::real_ref(*const_cast<Scalar*>(&a)); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_real_ref_op<Scalar> >
-{ enum { Cost = 0, PacketAccess = false }; };
-
-/** \internal
-  * \brief Template functor to extract the imaginary part of a complex as a reference
-  *
-  * \sa class CwiseUnaryOp, MatrixBase::imag()
-  */
-template<typename Scalar>
-struct scalar_imag_ref_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_imag_ref_op)
-  typedef typename NumTraits<Scalar>::Real result_type;
-  EIGEN_STRONG_INLINE result_type& operator() (const Scalar& a) const { return numext::imag_ref(*const_cast<Scalar*>(&a)); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_imag_ref_op<Scalar> >
-{ enum { Cost = 0, PacketAccess = false }; };
-
-/** \internal
-  *
-  * \brief Template functor to compute the exponential of a scalar
-  *
-  * \sa class CwiseUnaryOp, Cwise::exp()
-  */
-template<typename Scalar> struct scalar_exp_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_exp_op)
-  inline const Scalar operator() (const Scalar& a) const { using std::exp; return exp(a); }
-  typedef typename packet_traits<Scalar>::type Packet;
-  inline Packet packetOp(const Packet& a) const { return internal::pexp(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_exp_op<Scalar> >
-{ enum { Cost = 5 * NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasExp }; };
-
-/** \internal
-  *
-  * \brief Template functor to compute the logarithm of a scalar
-  *
-  * \sa class CwiseUnaryOp, Cwise::log()
-  */
-template<typename Scalar> struct scalar_log_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_log_op)
-  inline const Scalar operator() (const Scalar& a) const { using std::log; return log(a); }
-  typedef typename packet_traits<Scalar>::type Packet;
-  inline Packet packetOp(const Packet& a) const { return internal::plog(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_log_op<Scalar> >
-{ enum { Cost = 5 * NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasLog }; };
-
-/** \internal
-  * \brief Template functor to multiply a scalar by a fixed other one
-  *
-  * \sa class CwiseUnaryOp, MatrixBase::operator*, MatrixBase::operator/
-  */
-/* NOTE why doing the pset1() in packetOp *is* an optimization ?
- * indeed it seems better to declare m_other as a Packet and do the pset1() once
- * in the constructor. However, in practice:
- *  - GCC does not like m_other as a Packet and generate a load every time it needs it
- *  - on the other hand GCC is able to moves the pset1() outside the loop :)
- *  - simpler code ;)
- * (ICC and gcc 4.4 seems to perform well in both cases, the issue is visible with y = a*x + b*y)
- */
-template<typename Scalar>
-struct scalar_multiple_op {
-  typedef typename packet_traits<Scalar>::type Packet;
-  // FIXME default copy constructors seems bugged with std::complex<>
-  EIGEN_STRONG_INLINE scalar_multiple_op(const scalar_multiple_op& other) : m_other(other.m_other) { }
-  EIGEN_STRONG_INLINE scalar_multiple_op(const Scalar& other) : m_other(other) { }
-  EIGEN_STRONG_INLINE Scalar operator() (const Scalar& a) const { return a * m_other; }
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
-  { return internal::pmul(a, pset1<Packet>(m_other)); }
-  typename add_const_on_value_type<typename NumTraits<Scalar>::Nested>::type m_other;
-};
-template<typename Scalar>
-struct functor_traits<scalar_multiple_op<Scalar> >
-{ enum { Cost = NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasMul }; };
-
-template<typename Scalar1, typename Scalar2>
-struct scalar_multiple2_op {
-  typedef typename scalar_product_traits<Scalar1,Scalar2>::ReturnType result_type;
-  EIGEN_STRONG_INLINE scalar_multiple2_op(const scalar_multiple2_op& other) : m_other(other.m_other) { }
-  EIGEN_STRONG_INLINE scalar_multiple2_op(const Scalar2& other) : m_other(other) { }
-  EIGEN_STRONG_INLINE result_type operator() (const Scalar1& a) const { return a * m_other; }
-  typename add_const_on_value_type<typename NumTraits<Scalar2>::Nested>::type m_other;
-};
-template<typename Scalar1,typename Scalar2>
-struct functor_traits<scalar_multiple2_op<Scalar1,Scalar2> >
-{ enum { Cost = NumTraits<Scalar1>::MulCost, PacketAccess = false }; };
-
-/** \internal
-  * \brief Template functor to divide a scalar by a fixed other one
-  *
-  * This functor is used to implement the quotient of a matrix by
-  * a scalar where the scalar type is not necessarily a floating point type.
-  *
-  * \sa class CwiseUnaryOp, MatrixBase::operator/
-  */
-template<typename Scalar>
-struct scalar_quotient1_op {
-  typedef typename packet_traits<Scalar>::type Packet;
-  // FIXME default copy constructors seems bugged with std::complex<>
-  EIGEN_STRONG_INLINE scalar_quotient1_op(const scalar_quotient1_op& other) : m_other(other.m_other) { }
-  EIGEN_STRONG_INLINE scalar_quotient1_op(const Scalar& other) : m_other(other) {}
-  EIGEN_STRONG_INLINE Scalar operator() (const Scalar& a) const { return a / m_other; }
-  EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
-  { return internal::pdiv(a, pset1<Packet>(m_other)); }
-  typename add_const_on_value_type<typename NumTraits<Scalar>::Nested>::type m_other;
-};
-template<typename Scalar>
-struct functor_traits<scalar_quotient1_op<Scalar> >
-{ enum { Cost = 2 * NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasDiv }; };
-
-// nullary functors
-
-template<typename Scalar>
-struct scalar_constant_op {
-  typedef typename packet_traits<Scalar>::type Packet;
-  EIGEN_STRONG_INLINE scalar_constant_op(const scalar_constant_op& other) : m_other(other.m_other) { }
-  EIGEN_STRONG_INLINE scalar_constant_op(const Scalar& other) : m_other(other) { }
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Scalar operator() (Index, Index = 0) const { return m_other; }
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Packet packetOp(Index, Index = 0) const { return internal::pset1<Packet>(m_other); }
-  const Scalar m_other;
-};
-template<typename Scalar>
-struct functor_traits<scalar_constant_op<Scalar> >
-// FIXME replace this packet test by a safe one
-{ enum { Cost = 1, PacketAccess = packet_traits<Scalar>::Vectorizable, IsRepeatable = true }; };
-
-template<typename Scalar> struct scalar_identity_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_identity_op)
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Scalar operator() (Index row, Index col) const { return row==col ? Scalar(1) : Scalar(0); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_identity_op<Scalar> >
-{ enum { Cost = NumTraits<Scalar>::AddCost, PacketAccess = false, IsRepeatable = true }; };
-
-template <typename Scalar, bool RandomAccess> struct linspaced_op_impl;
-
-// linear access for packet ops:
-// 1) initialization
-//   base = [low, ..., low] + ([step, ..., step] * [-size, ..., 0])
-// 2) each step (where size is 1 for coeff access or PacketSize for packet access)
-//   base += [size*step, ..., size*step]
-//
-// TODO: Perhaps it's better to initialize lazily (so not in the constructor but in packetOp)
-//       in order to avoid the padd() in operator() ?
-template <typename Scalar>
-struct linspaced_op_impl<Scalar,false>
-{
-  typedef typename packet_traits<Scalar>::type Packet;
-
-  linspaced_op_impl(const Scalar& low, const Scalar& step) :
-  m_low(low), m_step(step),
-  m_packetStep(pset1<Packet>(packet_traits<Scalar>::size*step)),
-  m_base(padd(pset1<Packet>(low), pmul(pset1<Packet>(step),plset<Scalar>(-packet_traits<Scalar>::size)))) {}
-
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Scalar operator() (Index i) const 
-  { 
-    m_base = padd(m_base, pset1<Packet>(m_step));
-    return m_low+Scalar(i)*m_step; 
-  }
-
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Packet packetOp(Index) const { return m_base = padd(m_base,m_packetStep); }
-
-  const Scalar m_low;
-  const Scalar m_step;
-  const Packet m_packetStep;
-  mutable Packet m_base;
-};
-
-// random access for packet ops:
-// 1) each step
-//   [low, ..., low] + ( [step, ..., step] * ( [i, ..., i] + [0, ..., size] ) )
-template <typename Scalar>
-struct linspaced_op_impl<Scalar,true>
-{
-  typedef typename packet_traits<Scalar>::type Packet;
-
-  linspaced_op_impl(const Scalar& low, const Scalar& step) :
-  m_low(low), m_step(step),
-  m_lowPacket(pset1<Packet>(m_low)), m_stepPacket(pset1<Packet>(m_step)), m_interPacket(plset<Scalar>(0)) {}
-
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Scalar operator() (Index i) const { return m_low+i*m_step; }
-
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Packet packetOp(Index i) const
-  { return internal::padd(m_lowPacket, pmul(m_stepPacket, padd(pset1<Packet>(Scalar(i)),m_interPacket))); }
-
-  const Scalar m_low;
-  const Scalar m_step;
-  const Packet m_lowPacket;
-  const Packet m_stepPacket;
-  const Packet m_interPacket;
-};
-
-// ----- Linspace functor ----------------------------------------------------------------
-
-// Forward declaration (we default to random access which does not really give
-// us a speed gain when using packet access but it allows to use the functor in
-// nested expressions).
-template <typename Scalar, bool RandomAccess = true> struct linspaced_op;
-template <typename Scalar, bool RandomAccess> struct functor_traits< linspaced_op<Scalar,RandomAccess> >
-{ enum { Cost = 1, PacketAccess = packet_traits<Scalar>::HasSetLinear, IsRepeatable = true }; };
-template <typename Scalar, bool RandomAccess> struct linspaced_op
-{
-  typedef typename packet_traits<Scalar>::type Packet;
-  linspaced_op(const Scalar& low, const Scalar& high, DenseIndex num_steps) : impl((num_steps==1 ? high : low), (num_steps==1 ? Scalar() : (high-low)/Scalar(num_steps-1))) {}
-
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Scalar operator() (Index i) const { return impl(i); }
-
-  // We need this function when assigning e.g. a RowVectorXd to a MatrixXd since
-  // there row==0 and col is used for the actual iteration.
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Scalar operator() (Index row, Index col) const 
-  {
-    eigen_assert(col==0 || row==0);
-    return impl(col + row);
-  }
-
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Packet packetOp(Index i) const { return impl.packetOp(i); }
-
-  // We need this function when assigning e.g. a RowVectorXd to a MatrixXd since
-  // there row==0 and col is used for the actual iteration.
-  template<typename Index>
-  EIGEN_STRONG_INLINE const Packet packetOp(Index row, Index col) const
-  {
-    eigen_assert(col==0 || row==0);
-    return impl.packetOp(col + row);
-  }
-
-  // This proxy object handles the actual required temporaries, the different
-  // implementations (random vs. sequential access) as well as the
-  // correct piping to size 2/4 packet operations.
-  const linspaced_op_impl<Scalar,RandomAccess> impl;
-};
-
-// all functors allow linear access, except scalar_identity_op. So we fix here a quick meta
-// to indicate whether a functor allows linear access, just always answering 'yes' except for
-// scalar_identity_op.
-// FIXME move this to functor_traits adding a functor_default
-template<typename Functor> struct functor_has_linear_access { enum { ret = 1 }; };
-template<typename Scalar> struct functor_has_linear_access<scalar_identity_op<Scalar> > { enum { ret = 0 }; };
-
-// In Eigen, any binary op (Product, CwiseBinaryOp) require the Lhs and Rhs to have the same scalar type, except for multiplication
-// where the mixing of different types is handled by scalar_product_traits
-// In particular, real * complex<real> is allowed.
-// FIXME move this to functor_traits adding a functor_default
-template<typename Functor> struct functor_is_product_like { enum { ret = 0 }; };
-template<typename LhsScalar,typename RhsScalar> struct functor_is_product_like<scalar_product_op<LhsScalar,RhsScalar> > { enum { ret = 1 }; };
-template<typename LhsScalar,typename RhsScalar> struct functor_is_product_like<scalar_conj_product_op<LhsScalar,RhsScalar> > { enum { ret = 1 }; };
-template<typename LhsScalar,typename RhsScalar> struct functor_is_product_like<scalar_quotient_op<LhsScalar,RhsScalar> > { enum { ret = 1 }; };
-
-
-/** \internal
-  * \brief Template functor to add a scalar to a fixed other one
-  * \sa class CwiseUnaryOp, Array::operator+
-  */
-/* If you wonder why doing the pset1() in packetOp() is an optimization check scalar_multiple_op */
-template<typename Scalar>
-struct scalar_add_op {
-  typedef typename packet_traits<Scalar>::type Packet;
-  // FIXME default copy constructors seems bugged with std::complex<>
-  inline scalar_add_op(const scalar_add_op& other) : m_other(other.m_other) { }
-  inline scalar_add_op(const Scalar& other) : m_other(other) { }
-  inline Scalar operator() (const Scalar& a) const { return a + m_other; }
-  inline const Packet packetOp(const Packet& a) const
-  { return internal::padd(a, pset1<Packet>(m_other)); }
-  const Scalar m_other;
-};
-template<typename Scalar>
-struct functor_traits<scalar_add_op<Scalar> >
-{ enum { Cost = NumTraits<Scalar>::AddCost, PacketAccess = packet_traits<Scalar>::HasAdd }; };
-
-/** \internal
-  * \brief Template functor to compute the square root of a scalar
-  * \sa class CwiseUnaryOp, Cwise::sqrt()
-  */
-template<typename Scalar> struct scalar_sqrt_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_sqrt_op)
-  inline const Scalar operator() (const Scalar& a) const { using std::sqrt; return sqrt(a); }
-  typedef typename packet_traits<Scalar>::type Packet;
-  inline Packet packetOp(const Packet& a) const { return internal::psqrt(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_sqrt_op<Scalar> >
-{ enum {
-    Cost = 5 * NumTraits<Scalar>::MulCost,
-    PacketAccess = packet_traits<Scalar>::HasSqrt
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the cosine of a scalar
-  * \sa class CwiseUnaryOp, ArrayBase::cos()
-  */
-template<typename Scalar> struct scalar_cos_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_cos_op)
-  inline Scalar operator() (const Scalar& a) const { using std::cos; return cos(a); }
-  typedef typename packet_traits<Scalar>::type Packet;
-  inline Packet packetOp(const Packet& a) const { return internal::pcos(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_cos_op<Scalar> >
-{
-  enum {
-    Cost = 5 * NumTraits<Scalar>::MulCost,
-    PacketAccess = packet_traits<Scalar>::HasCos
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the sine of a scalar
-  * \sa class CwiseUnaryOp, ArrayBase::sin()
-  */
-template<typename Scalar> struct scalar_sin_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_sin_op)
-  inline const Scalar operator() (const Scalar& a) const { using std::sin; return sin(a); }
-  typedef typename packet_traits<Scalar>::type Packet;
-  inline Packet packetOp(const Packet& a) const { return internal::psin(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_sin_op<Scalar> >
-{
-  enum {
-    Cost = 5 * NumTraits<Scalar>::MulCost,
-    PacketAccess = packet_traits<Scalar>::HasSin
-  };
-};
-
-
-/** \internal
-  * \brief Template functor to compute the tan of a scalar
-  * \sa class CwiseUnaryOp, ArrayBase::tan()
-  */
-template<typename Scalar> struct scalar_tan_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_tan_op)
-  inline const Scalar operator() (const Scalar& a) const { using std::tan; return tan(a); }
-  typedef typename packet_traits<Scalar>::type Packet;
-  inline Packet packetOp(const Packet& a) const { return internal::ptan(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_tan_op<Scalar> >
-{
-  enum {
-    Cost = 5 * NumTraits<Scalar>::MulCost,
-    PacketAccess = packet_traits<Scalar>::HasTan
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the arc cosine of a scalar
-  * \sa class CwiseUnaryOp, ArrayBase::acos()
-  */
-template<typename Scalar> struct scalar_acos_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_acos_op)
-  inline const Scalar operator() (const Scalar& a) const { using std::acos; return acos(a); }
-  typedef typename packet_traits<Scalar>::type Packet;
-  inline Packet packetOp(const Packet& a) const { return internal::pacos(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_acos_op<Scalar> >
-{
-  enum {
-    Cost = 5 * NumTraits<Scalar>::MulCost,
-    PacketAccess = packet_traits<Scalar>::HasACos
-  };
-};
-
-/** \internal
-  * \brief Template functor to compute the arc sine of a scalar
-  * \sa class CwiseUnaryOp, ArrayBase::asin()
-  */
-template<typename Scalar> struct scalar_asin_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_asin_op)
-  inline const Scalar operator() (const Scalar& a) const { using std::asin; return asin(a); }
-  typedef typename packet_traits<Scalar>::type Packet;
-  inline Packet packetOp(const Packet& a) const { return internal::pasin(a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_asin_op<Scalar> >
-{
-  enum {
-    Cost = 5 * NumTraits<Scalar>::MulCost,
-    PacketAccess = packet_traits<Scalar>::HasASin
-  };
-};
-
-/** \internal
-  * \brief Template functor to raise a scalar to a power
-  * \sa class CwiseUnaryOp, Cwise::pow
-  */
-template<typename Scalar>
-struct scalar_pow_op {
-  // FIXME default copy constructors seems bugged with std::complex<>
-  inline scalar_pow_op(const scalar_pow_op& other) : m_exponent(other.m_exponent) { }
-  inline scalar_pow_op(const Scalar& exponent) : m_exponent(exponent) {}
-  inline Scalar operator() (const Scalar& a) const { return numext::pow(a, m_exponent); }
-  const Scalar m_exponent;
-};
-template<typename Scalar>
-struct functor_traits<scalar_pow_op<Scalar> >
-{ enum { Cost = 5 * NumTraits<Scalar>::MulCost, PacketAccess = false }; };
-
-/** \internal
-  * \brief Template functor to compute the quotient between a scalar and array entries.
-  * \sa class CwiseUnaryOp, Cwise::inverse()
-  */
-template<typename Scalar>
-struct scalar_inverse_mult_op {
-  scalar_inverse_mult_op(const Scalar& other) : m_other(other) {}
-  inline Scalar operator() (const Scalar& a) const { return m_other / a; }
-  template<typename Packet>
-  inline const Packet packetOp(const Packet& a) const
-  { return internal::pdiv(pset1<Packet>(m_other),a); }
-  Scalar m_other;
-};
-
-/** \internal
-  * \brief Template functor to compute the inverse of a scalar
-  * \sa class CwiseUnaryOp, Cwise::inverse()
-  */
-template<typename Scalar>
-struct scalar_inverse_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_inverse_op)
-  inline Scalar operator() (const Scalar& a) const { return Scalar(1)/a; }
-  template<typename Packet>
-  inline const Packet packetOp(const Packet& a) const
-  { return internal::pdiv(pset1<Packet>(Scalar(1)),a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_inverse_op<Scalar> >
-{ enum { Cost = NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasDiv }; };
-
-/** \internal
-  * \brief Template functor to compute the square of a scalar
-  * \sa class CwiseUnaryOp, Cwise::square()
-  */
-template<typename Scalar>
-struct scalar_square_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_square_op)
-  inline Scalar operator() (const Scalar& a) const { return a*a; }
-  template<typename Packet>
-  inline const Packet packetOp(const Packet& a) const
-  { return internal::pmul(a,a); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_square_op<Scalar> >
-{ enum { Cost = NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasMul }; };
-
-/** \internal
-  * \brief Template functor to compute the cube of a scalar
-  * \sa class CwiseUnaryOp, Cwise::cube()
-  */
-template<typename Scalar>
-struct scalar_cube_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_cube_op)
-  inline Scalar operator() (const Scalar& a) const { return a*a*a; }
-  template<typename Packet>
-  inline const Packet packetOp(const Packet& a) const
-  { return internal::pmul(a,pmul(a,a)); }
-};
-template<typename Scalar>
-struct functor_traits<scalar_cube_op<Scalar> >
-{ enum { Cost = 2*NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasMul }; };
-
-// default functor traits for STL functors:
-
-template<typename T>
-struct functor_traits<std::multiplies<T> >
-{ enum { Cost = NumTraits<T>::MulCost, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::divides<T> >
-{ enum { Cost = NumTraits<T>::MulCost, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::plus<T> >
-{ enum { Cost = NumTraits<T>::AddCost, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::minus<T> >
-{ enum { Cost = NumTraits<T>::AddCost, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::negate<T> >
-{ enum { Cost = NumTraits<T>::AddCost, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::logical_or<T> >
-{ enum { Cost = 1, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::logical_and<T> >
-{ enum { Cost = 1, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::logical_not<T> >
-{ enum { Cost = 1, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::greater<T> >
-{ enum { Cost = 1, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::less<T> >
-{ enum { Cost = 1, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::greater_equal<T> >
-{ enum { Cost = 1, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::less_equal<T> >
-{ enum { Cost = 1, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::equal_to<T> >
-{ enum { Cost = 1, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::not_equal_to<T> >
-{ enum { Cost = 1, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::binder2nd<T> >
-{ enum { Cost = functor_traits<T>::Cost, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::binder1st<T> >
-{ enum { Cost = functor_traits<T>::Cost, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::unary_negate<T> >
-{ enum { Cost = 1 + functor_traits<T>::Cost, PacketAccess = false }; };
-
-template<typename T>
-struct functor_traits<std::binary_negate<T> >
-{ enum { Cost = 1 + functor_traits<T>::Cost, PacketAccess = false }; };
-
-#ifdef EIGEN_STDEXT_SUPPORT
-
-template<typename T0,typename T1>
-struct functor_traits<std::project1st<T0,T1> >
-{ enum { Cost = 0, PacketAccess = false }; };
-
-template<typename T0,typename T1>
-struct functor_traits<std::project2nd<T0,T1> >
-{ enum { Cost = 0, PacketAccess = false }; };
-
-template<typename T0,typename T1>
-struct functor_traits<std::select2nd<std::pair<T0,T1> > >
-{ enum { Cost = 0, PacketAccess = false }; };
-
-template<typename T0,typename T1>
-struct functor_traits<std::select1st<std::pair<T0,T1> > >
-{ enum { Cost = 0, PacketAccess = false }; };
-
-template<typename T0,typename T1>
-struct functor_traits<std::unary_compose<T0,T1> >
-{ enum { Cost = functor_traits<T0>::Cost + functor_traits<T1>::Cost, PacketAccess = false }; };
-
-template<typename T0,typename T1,typename T2>
-struct functor_traits<std::binary_compose<T0,T1,T2> >
-{ enum { Cost = functor_traits<T0>::Cost + functor_traits<T1>::Cost + functor_traits<T2>::Cost, PacketAccess = false }; };
-
-#endif // EIGEN_STDEXT_SUPPORT
-
-// allow to add new functors and specializations of functor_traits from outside Eigen.
-// this macro is really needed because functor_traits must be specialized after it is declared but before it is used...
-#ifdef EIGEN_FUNCTORS_PLUGIN
-#include EIGEN_FUNCTORS_PLUGIN
-#endif
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_FUNCTORS_H
diff --git a/lib/Eigen/src/Core/Fuzzy.h b/lib/Eigen/src/Core/Fuzzy.h
deleted file mode 100644
index fe63bd29..00000000
--- a/lib/Eigen/src/Core/Fuzzy.h
+++ /dev/null
@@ -1,150 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_FUZZY_H
-#define EIGEN_FUZZY_H
-
-namespace Eigen { 
-
-namespace internal
-{
-
-template<typename Derived, typename OtherDerived, bool is_integer = NumTraits<typename Derived::Scalar>::IsInteger>
-struct isApprox_selector
-{
-  static bool run(const Derived& x, const OtherDerived& y, const typename Derived::RealScalar& prec)
-  {
-    using std::min;
-    typename internal::nested<Derived,2>::type nested(x);
-    typename internal::nested<OtherDerived,2>::type otherNested(y);
-    return (nested - otherNested).cwiseAbs2().sum() <= prec * prec * (min)(nested.cwiseAbs2().sum(), otherNested.cwiseAbs2().sum());
-  }
-};
-
-template<typename Derived, typename OtherDerived>
-struct isApprox_selector<Derived, OtherDerived, true>
-{
-  static bool run(const Derived& x, const OtherDerived& y, const typename Derived::RealScalar&)
-  {
-    return x.matrix() == y.matrix();
-  }
-};
-
-template<typename Derived, typename OtherDerived, bool is_integer = NumTraits<typename Derived::Scalar>::IsInteger>
-struct isMuchSmallerThan_object_selector
-{
-  static bool run(const Derived& x, const OtherDerived& y, const typename Derived::RealScalar& prec)
-  {
-    return x.cwiseAbs2().sum() <= numext::abs2(prec) * y.cwiseAbs2().sum();
-  }
-};
-
-template<typename Derived, typename OtherDerived>
-struct isMuchSmallerThan_object_selector<Derived, OtherDerived, true>
-{
-  static bool run(const Derived& x, const OtherDerived&, const typename Derived::RealScalar&)
-  {
-    return x.matrix() == Derived::Zero(x.rows(), x.cols()).matrix();
-  }
-};
-
-template<typename Derived, bool is_integer = NumTraits<typename Derived::Scalar>::IsInteger>
-struct isMuchSmallerThan_scalar_selector
-{
-  static bool run(const Derived& x, const typename Derived::RealScalar& y, const typename Derived::RealScalar& prec)
-  {
-    return x.cwiseAbs2().sum() <= numext::abs2(prec * y);
-  }
-};
-
-template<typename Derived>
-struct isMuchSmallerThan_scalar_selector<Derived, true>
-{
-  static bool run(const Derived& x, const typename Derived::RealScalar&, const typename Derived::RealScalar&)
-  {
-    return x.matrix() == Derived::Zero(x.rows(), x.cols()).matrix();
-  }
-};
-
-} // end namespace internal
-
-
-/** \returns \c true if \c *this is approximately equal to \a other, within the precision
-  * determined by \a prec.
-  *
-  * \note The fuzzy compares are done multiplicatively. Two vectors \f$ v \f$ and \f$ w \f$
-  * are considered to be approximately equal within precision \f$ p \f$ if
-  * \f[ \Vert v - w \Vert \leqslant p\,\min(\Vert v\Vert, \Vert w\Vert). \f]
-  * For matrices, the comparison is done using the Hilbert-Schmidt norm (aka Frobenius norm
-  * L2 norm).
-  *
-  * \note Because of the multiplicativeness of this comparison, one can't use this function
-  * to check whether \c *this is approximately equal to the zero matrix or vector.
-  * Indeed, \c isApprox(zero) returns false unless \c *this itself is exactly the zero matrix
-  * or vector. If you want to test whether \c *this is zero, use internal::isMuchSmallerThan(const
-  * RealScalar&, RealScalar) instead.
-  *
-  * \sa internal::isMuchSmallerThan(const RealScalar&, RealScalar) const
-  */
-template<typename Derived>
-template<typename OtherDerived>
-bool DenseBase<Derived>::isApprox(
-  const DenseBase<OtherDerived>& other,
-  const RealScalar& prec
-) const
-{
-  return internal::isApprox_selector<Derived, OtherDerived>::run(derived(), other.derived(), prec);
-}
-
-/** \returns \c true if the norm of \c *this is much smaller than \a other,
-  * within the precision determined by \a prec.
-  *
-  * \note The fuzzy compares are done multiplicatively. A vector \f$ v \f$ is
-  * considered to be much smaller than \f$ x \f$ within precision \f$ p \f$ if
-  * \f[ \Vert v \Vert \leqslant p\,\vert x\vert. \f]
-  *
-  * For matrices, the comparison is done using the Hilbert-Schmidt norm. For this reason,
-  * the value of the reference scalar \a other should come from the Hilbert-Schmidt norm
-  * of a reference matrix of same dimensions.
-  *
-  * \sa isApprox(), isMuchSmallerThan(const DenseBase<OtherDerived>&, RealScalar) const
-  */
-template<typename Derived>
-bool DenseBase<Derived>::isMuchSmallerThan(
-  const typename NumTraits<Scalar>::Real& other,
-  const RealScalar& prec
-) const
-{
-  return internal::isMuchSmallerThan_scalar_selector<Derived>::run(derived(), other, prec);
-}
-
-/** \returns \c true if the norm of \c *this is much smaller than the norm of \a other,
-  * within the precision determined by \a prec.
-  *
-  * \note The fuzzy compares are done multiplicatively. A vector \f$ v \f$ is
-  * considered to be much smaller than a vector \f$ w \f$ within precision \f$ p \f$ if
-  * \f[ \Vert v \Vert \leqslant p\,\Vert w\Vert. \f]
-  * For matrices, the comparison is done using the Hilbert-Schmidt norm.
-  *
-  * \sa isApprox(), isMuchSmallerThan(const RealScalar&, RealScalar) const
-  */
-template<typename Derived>
-template<typename OtherDerived>
-bool DenseBase<Derived>::isMuchSmallerThan(
-  const DenseBase<OtherDerived>& other,
-  const RealScalar& prec
-) const
-{
-  return internal::isMuchSmallerThan_object_selector<Derived, OtherDerived>::run(derived(), other.derived(), prec);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_FUZZY_H
diff --git a/lib/Eigen/src/Core/GeneralProduct.h b/lib/Eigen/src/Core/GeneralProduct.h
deleted file mode 100644
index 29ac522d..00000000
--- a/lib/Eigen/src/Core/GeneralProduct.h
+++ /dev/null
@@ -1,638 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GENERAL_PRODUCT_H
-#define EIGEN_GENERAL_PRODUCT_H
-
-namespace Eigen { 
-
-/** \class GeneralProduct
-  * \ingroup Core_Module
-  *
-  * \brief Expression of the product of two general matrices or vectors
-  *
-  * \param LhsNested the type used to store the left-hand side
-  * \param RhsNested the type used to store the right-hand side
-  * \param ProductMode the type of the product
-  *
-  * This class represents an expression of the product of two general matrices.
-  * We call a general matrix, a dense matrix with full storage. For instance,
-  * This excludes triangular, selfadjoint, and sparse matrices.
-  * It is the return type of the operator* between general matrices. Its template
-  * arguments are determined automatically by ProductReturnType. Therefore,
-  * GeneralProduct should never be used direclty. To determine the result type of a
-  * function which involves a matrix product, use ProductReturnType::Type.
-  *
-  * \sa ProductReturnType, MatrixBase::operator*(const MatrixBase<OtherDerived>&)
-  */
-template<typename Lhs, typename Rhs, int ProductType = internal::product_type<Lhs,Rhs>::value>
-class GeneralProduct;
-
-enum {
-  Large = 2,
-  Small = 3
-};
-
-namespace internal {
-
-template<int Rows, int Cols, int Depth> struct product_type_selector;
-
-template<int Size, int MaxSize> struct product_size_category
-{
-  enum { is_large = MaxSize == Dynamic ||
-                    Size >= EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD,
-         value = is_large  ? Large
-               : Size == 1 ? 1
-                           : Small
-  };
-};
-
-template<typename Lhs, typename Rhs> struct product_type
-{
-  typedef typename remove_all<Lhs>::type _Lhs;
-  typedef typename remove_all<Rhs>::type _Rhs;
-  enum {
-    MaxRows  = _Lhs::MaxRowsAtCompileTime,
-    Rows  = _Lhs::RowsAtCompileTime,
-    MaxCols  = _Rhs::MaxColsAtCompileTime,
-    Cols  = _Rhs::ColsAtCompileTime,
-    MaxDepth = EIGEN_SIZE_MIN_PREFER_FIXED(_Lhs::MaxColsAtCompileTime,
-                                           _Rhs::MaxRowsAtCompileTime),
-    Depth = EIGEN_SIZE_MIN_PREFER_FIXED(_Lhs::ColsAtCompileTime,
-                                        _Rhs::RowsAtCompileTime),
-    LargeThreshold = EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD
-  };
-
-  // the splitting into different lines of code here, introducing the _select enums and the typedef below,
-  // is to work around an internal compiler error with gcc 4.1 and 4.2.
-private:
-  enum {
-    rows_select = product_size_category<Rows,MaxRows>::value,
-    cols_select = product_size_category<Cols,MaxCols>::value,
-    depth_select = product_size_category<Depth,MaxDepth>::value
-  };
-  typedef product_type_selector<rows_select, cols_select, depth_select> selector;
-
-public:
-  enum {
-    value = selector::ret
-  };
-#ifdef EIGEN_DEBUG_PRODUCT
-  static void debug()
-  {
-      EIGEN_DEBUG_VAR(Rows);
-      EIGEN_DEBUG_VAR(Cols);
-      EIGEN_DEBUG_VAR(Depth);
-      EIGEN_DEBUG_VAR(rows_select);
-      EIGEN_DEBUG_VAR(cols_select);
-      EIGEN_DEBUG_VAR(depth_select);
-      EIGEN_DEBUG_VAR(value);
-  }
-#endif
-};
-
-
-/* The following allows to select the kind of product at compile time
- * based on the three dimensions of the product.
- * This is a compile time mapping from {1,Small,Large}^3 -> {product types} */
-// FIXME I'm not sure the current mapping is the ideal one.
-template<int M, int N>  struct product_type_selector<M,N,1>              { enum { ret = OuterProduct }; };
-template<int Depth>     struct product_type_selector<1,    1,    Depth>  { enum { ret = InnerProduct }; };
-template<>              struct product_type_selector<1,    1,    1>      { enum { ret = InnerProduct }; };
-template<>              struct product_type_selector<Small,1,    Small>  { enum { ret = CoeffBasedProductMode }; };
-template<>              struct product_type_selector<1,    Small,Small>  { enum { ret = CoeffBasedProductMode }; };
-template<>              struct product_type_selector<Small,Small,Small>  { enum { ret = CoeffBasedProductMode }; };
-template<>              struct product_type_selector<Small, Small, 1>    { enum { ret = LazyCoeffBasedProductMode }; };
-template<>              struct product_type_selector<Small, Large, 1>    { enum { ret = LazyCoeffBasedProductMode }; };
-template<>              struct product_type_selector<Large, Small, 1>    { enum { ret = LazyCoeffBasedProductMode }; };
-template<>              struct product_type_selector<1,    Large,Small>  { enum { ret = CoeffBasedProductMode }; };
-template<>              struct product_type_selector<1,    Large,Large>  { enum { ret = GemvProduct }; };
-template<>              struct product_type_selector<1,    Small,Large>  { enum { ret = CoeffBasedProductMode }; };
-template<>              struct product_type_selector<Large,1,    Small>  { enum { ret = CoeffBasedProductMode }; };
-template<>              struct product_type_selector<Large,1,    Large>  { enum { ret = GemvProduct }; };
-template<>              struct product_type_selector<Small,1,    Large>  { enum { ret = CoeffBasedProductMode }; };
-template<>              struct product_type_selector<Small,Small,Large>  { enum { ret = GemmProduct }; };
-template<>              struct product_type_selector<Large,Small,Large>  { enum { ret = GemmProduct }; };
-template<>              struct product_type_selector<Small,Large,Large>  { enum { ret = GemmProduct }; };
-template<>              struct product_type_selector<Large,Large,Large>  { enum { ret = GemmProduct }; };
-template<>              struct product_type_selector<Large,Small,Small>  { enum { ret = GemmProduct }; };
-template<>              struct product_type_selector<Small,Large,Small>  { enum { ret = GemmProduct }; };
-template<>              struct product_type_selector<Large,Large,Small>  { enum { ret = GemmProduct }; };
-
-} // end namespace internal
-
-/** \class ProductReturnType
-  * \ingroup Core_Module
-  *
-  * \brief Helper class to get the correct and optimized returned type of operator*
-  *
-  * \param Lhs the type of the left-hand side
-  * \param Rhs the type of the right-hand side
-  * \param ProductMode the type of the product (determined automatically by internal::product_mode)
-  *
-  * This class defines the typename Type representing the optimized product expression
-  * between two matrix expressions. In practice, using ProductReturnType<Lhs,Rhs>::Type
-  * is the recommended way to define the result type of a function returning an expression
-  * which involve a matrix product. The class Product should never be
-  * used directly.
-  *
-  * \sa class Product, MatrixBase::operator*(const MatrixBase<OtherDerived>&)
-  */
-template<typename Lhs, typename Rhs, int ProductType>
-struct ProductReturnType
-{
-  // TODO use the nested type to reduce instanciations ????
-//   typedef typename internal::nested<Lhs,Rhs::ColsAtCompileTime>::type LhsNested;
-//   typedef typename internal::nested<Rhs,Lhs::RowsAtCompileTime>::type RhsNested;
-
-  typedef GeneralProduct<Lhs/*Nested*/, Rhs/*Nested*/, ProductType> Type;
-};
-
-template<typename Lhs, typename Rhs>
-struct ProductReturnType<Lhs,Rhs,CoeffBasedProductMode>
-{
-  typedef typename internal::nested<Lhs, Rhs::ColsAtCompileTime, typename internal::plain_matrix_type<Lhs>::type >::type LhsNested;
-  typedef typename internal::nested<Rhs, Lhs::RowsAtCompileTime, typename internal::plain_matrix_type<Rhs>::type >::type RhsNested;
-  typedef CoeffBasedProduct<LhsNested, RhsNested, EvalBeforeAssigningBit | EvalBeforeNestingBit> Type;
-};
-
-template<typename Lhs, typename Rhs>
-struct ProductReturnType<Lhs,Rhs,LazyCoeffBasedProductMode>
-{
-  typedef typename internal::nested<Lhs, Rhs::ColsAtCompileTime, typename internal::plain_matrix_type<Lhs>::type >::type LhsNested;
-  typedef typename internal::nested<Rhs, Lhs::RowsAtCompileTime, typename internal::plain_matrix_type<Rhs>::type >::type RhsNested;
-  typedef CoeffBasedProduct<LhsNested, RhsNested, NestByRefBit> Type;
-};
-
-// this is a workaround for sun CC
-template<typename Lhs, typename Rhs>
-struct LazyProductReturnType : public ProductReturnType<Lhs,Rhs,LazyCoeffBasedProductMode>
-{};
-
-/***********************************************************************
-*  Implementation of Inner Vector Vector Product
-***********************************************************************/
-
-// FIXME : maybe the "inner product" could return a Scalar
-// instead of a 1x1 matrix ??
-// Pro: more natural for the user
-// Cons: this could be a problem if in a meta unrolled algorithm a matrix-matrix
-// product ends up to a row-vector times col-vector product... To tackle this use
-// case, we could have a specialization for Block<MatrixType,1,1> with: operator=(Scalar x);
-
-namespace internal {
-
-template<typename Lhs, typename Rhs>
-struct traits<GeneralProduct<Lhs,Rhs,InnerProduct> >
- : traits<Matrix<typename scalar_product_traits<typename Lhs::Scalar, typename Rhs::Scalar>::ReturnType,1,1> >
-{};
-
-}
-
-template<typename Lhs, typename Rhs>
-class GeneralProduct<Lhs, Rhs, InnerProduct>
-  : internal::no_assignment_operator,
-    public Matrix<typename internal::scalar_product_traits<typename Lhs::Scalar, typename Rhs::Scalar>::ReturnType,1,1>
-{
-    typedef Matrix<typename internal::scalar_product_traits<typename Lhs::Scalar, typename Rhs::Scalar>::ReturnType,1,1> Base;
-  public:
-    GeneralProduct(const Lhs& lhs, const Rhs& rhs)
-    {
-      EIGEN_STATIC_ASSERT((internal::is_same<typename Lhs::RealScalar, typename Rhs::RealScalar>::value),
-        YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-
-      Base::coeffRef(0,0) = (lhs.transpose().cwiseProduct(rhs)).sum();
-    }
-
-    /** Convertion to scalar */
-    operator const typename Base::Scalar() const {
-      return Base::coeff(0,0);
-    }
-};
-
-/***********************************************************************
-*  Implementation of Outer Vector Vector Product
-***********************************************************************/
-
-namespace internal {
-
-// Column major
-template<typename ProductType, typename Dest, typename Func>
-EIGEN_DONT_INLINE void outer_product_selector_run(const ProductType& prod, Dest& dest, const Func& func, const false_type&)
-{
-  typedef typename Dest::Index Index;
-  // FIXME make sure lhs is sequentially stored
-  // FIXME not very good if rhs is real and lhs complex while alpha is real too
-  const Index cols = dest.cols();
-  for (Index j=0; j<cols; ++j)
-    func(dest.col(j), prod.rhs().coeff(0,j) * prod.lhs());
-}
-
-// Row major
-template<typename ProductType, typename Dest, typename Func>
-EIGEN_DONT_INLINE void outer_product_selector_run(const ProductType& prod, Dest& dest, const Func& func, const true_type&) {
-  typedef typename Dest::Index Index;
-  // FIXME make sure rhs is sequentially stored
-  // FIXME not very good if lhs is real and rhs complex while alpha is real too
-  const Index rows = dest.rows();
-  for (Index i=0; i<rows; ++i)
-    func(dest.row(i), prod.lhs().coeff(i,0) * prod.rhs());
-}
-
-template<typename Lhs, typename Rhs>
-struct traits<GeneralProduct<Lhs,Rhs,OuterProduct> >
- : traits<ProductBase<GeneralProduct<Lhs,Rhs,OuterProduct>, Lhs, Rhs> >
-{};
-
-}
-
-template<typename Lhs, typename Rhs>
-class GeneralProduct<Lhs, Rhs, OuterProduct>
-  : public ProductBase<GeneralProduct<Lhs,Rhs,OuterProduct>, Lhs, Rhs>
-{
-    template<typename T> struct is_row_major : internal::conditional<(int(T::Flags)&RowMajorBit), internal::true_type, internal::false_type>::type {};
-    
-  public:
-    EIGEN_PRODUCT_PUBLIC_INTERFACE(GeneralProduct)
-
-    GeneralProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)
-    {
-      EIGEN_STATIC_ASSERT((internal::is_same<typename Lhs::RealScalar, typename Rhs::RealScalar>::value),
-        YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-    }
-    
-    struct set  { template<typename Dst, typename Src> void operator()(const Dst& dst, const Src& src) const { dst.const_cast_derived()  = src; } };
-    struct add  { template<typename Dst, typename Src> void operator()(const Dst& dst, const Src& src) const { dst.const_cast_derived() += src; } };
-    struct sub  { template<typename Dst, typename Src> void operator()(const Dst& dst, const Src& src) const { dst.const_cast_derived() -= src; } };
-    struct adds {
-      Scalar m_scale;
-      adds(const Scalar& s) : m_scale(s) {}
-      template<typename Dst, typename Src> void operator()(const Dst& dst, const Src& src) const {
-        dst.const_cast_derived() += m_scale * src;
-      }
-    };
-    
-    template<typename Dest>
-    inline void evalTo(Dest& dest) const {
-      internal::outer_product_selector_run(*this, dest, set(), is_row_major<Dest>());
-    }
-    
-    template<typename Dest>
-    inline void addTo(Dest& dest) const {
-      internal::outer_product_selector_run(*this, dest, add(), is_row_major<Dest>());
-    }
-
-    template<typename Dest>
-    inline void subTo(Dest& dest) const {
-      internal::outer_product_selector_run(*this, dest, sub(), is_row_major<Dest>());
-    }
-
-    template<typename Dest> void scaleAndAddTo(Dest& dest, const Scalar& alpha) const
-    {
-      internal::outer_product_selector_run(*this, dest, adds(alpha), is_row_major<Dest>());
-    }
-};
-
-/***********************************************************************
-*  Implementation of General Matrix Vector Product
-***********************************************************************/
-
-/*  According to the shape/flags of the matrix we have to distinghish 3 different cases:
- *   1 - the matrix is col-major, BLAS compatible and M is large => call fast BLAS-like colmajor routine
- *   2 - the matrix is row-major, BLAS compatible and N is large => call fast BLAS-like rowmajor routine
- *   3 - all other cases are handled using a simple loop along the outer-storage direction.
- *  Therefore we need a lower level meta selector.
- *  Furthermore, if the matrix is the rhs, then the product has to be transposed.
- */
-namespace internal {
-
-template<typename Lhs, typename Rhs>
-struct traits<GeneralProduct<Lhs,Rhs,GemvProduct> >
- : traits<ProductBase<GeneralProduct<Lhs,Rhs,GemvProduct>, Lhs, Rhs> >
-{};
-
-template<int Side, int StorageOrder, bool BlasCompatible>
-struct gemv_selector;
-
-} // end namespace internal
-
-template<typename Lhs, typename Rhs>
-class GeneralProduct<Lhs, Rhs, GemvProduct>
-  : public ProductBase<GeneralProduct<Lhs,Rhs,GemvProduct>, Lhs, Rhs>
-{
-  public:
-    EIGEN_PRODUCT_PUBLIC_INTERFACE(GeneralProduct)
-
-    typedef typename Lhs::Scalar LhsScalar;
-    typedef typename Rhs::Scalar RhsScalar;
-
-    GeneralProduct(const Lhs& a_lhs, const Rhs& a_rhs) : Base(a_lhs,a_rhs)
-    {
-//       EIGEN_STATIC_ASSERT((internal::is_same<typename Lhs::Scalar, typename Rhs::Scalar>::value),
-//         YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-    }
-
-    enum { Side = Lhs::IsVectorAtCompileTime ? OnTheLeft : OnTheRight };
-    typedef typename internal::conditional<int(Side)==OnTheRight,_LhsNested,_RhsNested>::type MatrixType;
-
-    template<typename Dest> void scaleAndAddTo(Dest& dst, const Scalar& alpha) const
-    {
-      eigen_assert(m_lhs.rows() == dst.rows() && m_rhs.cols() == dst.cols());
-      internal::gemv_selector<Side,(int(MatrixType::Flags)&RowMajorBit) ? RowMajor : ColMajor,
-                       bool(internal::blas_traits<MatrixType>::HasUsableDirectAccess)>::run(*this, dst, alpha);
-    }
-};
-
-namespace internal {
-
-// The vector is on the left => transposition
-template<int StorageOrder, bool BlasCompatible>
-struct gemv_selector<OnTheLeft,StorageOrder,BlasCompatible>
-{
-  template<typename ProductType, typename Dest>
-  static void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha)
-  {
-    Transpose<Dest> destT(dest);
-    enum { OtherStorageOrder = StorageOrder == RowMajor ? ColMajor : RowMajor };
-    gemv_selector<OnTheRight,OtherStorageOrder,BlasCompatible>
-      ::run(GeneralProduct<Transpose<const typename ProductType::_RhsNested>,Transpose<const typename ProductType::_LhsNested>, GemvProduct>
-        (prod.rhs().transpose(), prod.lhs().transpose()), destT, alpha);
-  }
-};
-
-template<typename Scalar,int Size,int MaxSize,bool Cond> struct gemv_static_vector_if;
-
-template<typename Scalar,int Size,int MaxSize>
-struct gemv_static_vector_if<Scalar,Size,MaxSize,false>
-{
-  EIGEN_STRONG_INLINE  Scalar* data() { eigen_internal_assert(false && "should never be called"); return 0; }
-};
-
-template<typename Scalar,int Size>
-struct gemv_static_vector_if<Scalar,Size,Dynamic,true>
-{
-  EIGEN_STRONG_INLINE Scalar* data() { return 0; }
-};
-
-template<typename Scalar,int Size,int MaxSize>
-struct gemv_static_vector_if<Scalar,Size,MaxSize,true>
-{
-  #if EIGEN_ALIGN_STATICALLY
-  internal::plain_array<Scalar,EIGEN_SIZE_MIN_PREFER_FIXED(Size,MaxSize),0> m_data;
-  EIGEN_STRONG_INLINE Scalar* data() { return m_data.array; }
-  #else
-  // Some architectures cannot align on the stack,
-  // => let's manually enforce alignment by allocating more data and return the address of the first aligned element.
-  enum {
-    ForceAlignment  = internal::packet_traits<Scalar>::Vectorizable,
-    PacketSize      = internal::packet_traits<Scalar>::size
-  };
-  internal::plain_array<Scalar,EIGEN_SIZE_MIN_PREFER_FIXED(Size,MaxSize)+(ForceAlignment?PacketSize:0),0> m_data;
-  EIGEN_STRONG_INLINE Scalar* data() {
-    return ForceAlignment
-            ? reinterpret_cast<Scalar*>((reinterpret_cast<size_t>(m_data.array) & ~(size_t(15))) + 16)
-            : m_data.array;
-  }
-  #endif
-};
-
-template<> struct gemv_selector<OnTheRight,ColMajor,true>
-{
-  template<typename ProductType, typename Dest>
-  static inline void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha)
-  {
-    typedef typename ProductType::Index Index;
-    typedef typename ProductType::LhsScalar   LhsScalar;
-    typedef typename ProductType::RhsScalar   RhsScalar;
-    typedef typename ProductType::Scalar      ResScalar;
-    typedef typename ProductType::RealScalar  RealScalar;
-    typedef typename ProductType::ActualLhsType ActualLhsType;
-    typedef typename ProductType::ActualRhsType ActualRhsType;
-    typedef typename ProductType::LhsBlasTraits LhsBlasTraits;
-    typedef typename ProductType::RhsBlasTraits RhsBlasTraits;
-    typedef Map<Matrix<ResScalar,Dynamic,1>, Aligned> MappedDest;
-
-    ActualLhsType actualLhs = LhsBlasTraits::extract(prod.lhs());
-    ActualRhsType actualRhs = RhsBlasTraits::extract(prod.rhs());
-
-    ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(prod.lhs())
-                                  * RhsBlasTraits::extractScalarFactor(prod.rhs());
-
-    // make sure Dest is a compile-time vector type (bug 1166)
-    typedef typename conditional<Dest::IsVectorAtCompileTime, Dest, typename Dest::ColXpr>::type ActualDest;
-
-    enum {
-      // FIXME find a way to allow an inner stride on the result if packet_traits<Scalar>::size==1
-      // on, the other hand it is good for the cache to pack the vector anyways...
-      EvalToDestAtCompileTime = (ActualDest::InnerStrideAtCompileTime==1),
-      ComplexByReal = (NumTraits<LhsScalar>::IsComplex) && (!NumTraits<RhsScalar>::IsComplex),
-      MightCannotUseDest = (ActualDest::InnerStrideAtCompileTime!=1) || ComplexByReal
-    };
-
-    gemv_static_vector_if<ResScalar,ActualDest::SizeAtCompileTime,ActualDest::MaxSizeAtCompileTime,MightCannotUseDest> static_dest;
-
-    bool alphaIsCompatible = (!ComplexByReal) || (numext::imag(actualAlpha)==RealScalar(0));
-    bool evalToDest = EvalToDestAtCompileTime && alphaIsCompatible;
-    
-    RhsScalar compatibleAlpha = get_factor<ResScalar,RhsScalar>::run(actualAlpha);
-
-    ei_declare_aligned_stack_constructed_variable(ResScalar,actualDestPtr,dest.size(),
-                                                  evalToDest ? dest.data() : static_dest.data());
-    
-    if(!evalToDest)
-    {
-      #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      int size = dest.size();
-      EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      #endif
-      if(!alphaIsCompatible)
-      {
-        MappedDest(actualDestPtr, dest.size()).setZero();
-        compatibleAlpha = RhsScalar(1);
-      }
-      else
-        MappedDest(actualDestPtr, dest.size()) = dest;
-    }
-
-    general_matrix_vector_product
-      <Index,LhsScalar,ColMajor,LhsBlasTraits::NeedToConjugate,RhsScalar,RhsBlasTraits::NeedToConjugate>::run(
-        actualLhs.rows(), actualLhs.cols(),
-        actualLhs.data(), actualLhs.outerStride(),
-        actualRhs.data(), actualRhs.innerStride(),
-        actualDestPtr, 1,
-        compatibleAlpha);
-
-    if (!evalToDest)
-    {
-      if(!alphaIsCompatible)
-        dest += actualAlpha * MappedDest(actualDestPtr, dest.size());
-      else
-        dest = MappedDest(actualDestPtr, dest.size());
-    }
-  }
-};
-
-template<> struct gemv_selector<OnTheRight,RowMajor,true>
-{
-  template<typename ProductType, typename Dest>
-  static void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha)
-  {
-    typedef typename ProductType::LhsScalar LhsScalar;
-    typedef typename ProductType::RhsScalar RhsScalar;
-    typedef typename ProductType::Scalar    ResScalar;
-    typedef typename ProductType::Index Index;
-    typedef typename ProductType::ActualLhsType ActualLhsType;
-    typedef typename ProductType::ActualRhsType ActualRhsType;
-    typedef typename ProductType::_ActualRhsType _ActualRhsType;
-    typedef typename ProductType::LhsBlasTraits LhsBlasTraits;
-    typedef typename ProductType::RhsBlasTraits RhsBlasTraits;
-
-    typename add_const<ActualLhsType>::type actualLhs = LhsBlasTraits::extract(prod.lhs());
-    typename add_const<ActualRhsType>::type actualRhs = RhsBlasTraits::extract(prod.rhs());
-
-    ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(prod.lhs())
-                                  * RhsBlasTraits::extractScalarFactor(prod.rhs());
-
-    enum {
-      // FIXME find a way to allow an inner stride on the result if packet_traits<Scalar>::size==1
-      // on, the other hand it is good for the cache to pack the vector anyways...
-      DirectlyUseRhs = _ActualRhsType::InnerStrideAtCompileTime==1
-    };
-
-    gemv_static_vector_if<RhsScalar,_ActualRhsType::SizeAtCompileTime,_ActualRhsType::MaxSizeAtCompileTime,!DirectlyUseRhs> static_rhs;
-
-    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
-        DirectlyUseRhs ? const_cast<RhsScalar*>(actualRhs.data()) : static_rhs.data());
-
-    if(!DirectlyUseRhs)
-    {
-      #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      int size = actualRhs.size();
-      EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      #endif
-      Map<typename _ActualRhsType::PlainObject>(actualRhsPtr, actualRhs.size()) = actualRhs;
-    }
-
-    general_matrix_vector_product
-      <Index,LhsScalar,RowMajor,LhsBlasTraits::NeedToConjugate,RhsScalar,RhsBlasTraits::NeedToConjugate>::run(
-        actualLhs.rows(), actualLhs.cols(),
-        actualLhs.data(), actualLhs.outerStride(),
-        actualRhsPtr, 1,
-        dest.data(), dest.col(0).innerStride(), //NOTE  if dest is not a vector at compile-time, then dest.innerStride() might be wrong. (bug 1166)
-        actualAlpha);
-  }
-};
-
-template<> struct gemv_selector<OnTheRight,ColMajor,false>
-{
-  template<typename ProductType, typename Dest>
-  static void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha)
-  {
-    typedef typename Dest::Index Index;
-    // TODO makes sure dest is sequentially stored in memory, otherwise use a temp
-    const Index size = prod.rhs().rows();
-    for(Index k=0; k<size; ++k)
-      dest += (alpha*prod.rhs().coeff(k)) * prod.lhs().col(k);
-  }
-};
-
-template<> struct gemv_selector<OnTheRight,RowMajor,false>
-{
-  template<typename ProductType, typename Dest>
-  static void run(const ProductType& prod, Dest& dest, const typename ProductType::Scalar& alpha)
-  {
-    typedef typename Dest::Index Index;
-    // TODO makes sure rhs is sequentially stored in memory, otherwise use a temp
-    const Index rows = prod.rows();
-    for(Index i=0; i<rows; ++i)
-      dest.coeffRef(i) += alpha * (prod.lhs().row(i).cwiseProduct(prod.rhs().transpose())).sum();
-  }
-};
-
-} // end namespace internal
-
-/***************************************************************************
-* Implementation of matrix base methods
-***************************************************************************/
-
-/** \returns the matrix product of \c *this and \a other.
-  *
-  * \note If instead of the matrix product you want the coefficient-wise product, see Cwise::operator*().
-  *
-  * \sa lazyProduct(), operator*=(const MatrixBase&), Cwise::operator*()
-  */
-template<typename Derived>
-template<typename OtherDerived>
-inline const typename ProductReturnType<Derived, OtherDerived>::Type
-MatrixBase<Derived>::operator*(const MatrixBase<OtherDerived> &other) const
-{
-  // A note regarding the function declaration: In MSVC, this function will sometimes
-  // not be inlined since DenseStorage is an unwindable object for dynamic
-  // matrices and product types are holding a member to store the result.
-  // Thus it does not help tagging this function with EIGEN_STRONG_INLINE.
-  enum {
-    ProductIsValid =  Derived::ColsAtCompileTime==Dynamic
-                   || OtherDerived::RowsAtCompileTime==Dynamic
-                   || int(Derived::ColsAtCompileTime)==int(OtherDerived::RowsAtCompileTime),
-    AreVectors = Derived::IsVectorAtCompileTime && OtherDerived::IsVectorAtCompileTime,
-    SameSizes = EIGEN_PREDICATE_SAME_MATRIX_SIZE(Derived,OtherDerived)
-  };
-  // note to the lost user:
-  //    * for a dot product use: v1.dot(v2)
-  //    * for a coeff-wise product use: v1.cwiseProduct(v2)
-  EIGEN_STATIC_ASSERT(ProductIsValid || !(AreVectors && SameSizes),
-    INVALID_VECTOR_VECTOR_PRODUCT__IF_YOU_WANTED_A_DOT_OR_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTIONS)
-  EIGEN_STATIC_ASSERT(ProductIsValid || !(SameSizes && !AreVectors),
-    INVALID_MATRIX_PRODUCT__IF_YOU_WANTED_A_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTION)
-  EIGEN_STATIC_ASSERT(ProductIsValid || SameSizes, INVALID_MATRIX_PRODUCT)
-#ifdef EIGEN_DEBUG_PRODUCT
-  internal::product_type<Derived,OtherDerived>::debug();
-#endif
-  return typename ProductReturnType<Derived,OtherDerived>::Type(derived(), other.derived());
-}
-
-/** \returns an expression of the matrix product of \c *this and \a other without implicit evaluation.
-  *
-  * The returned product will behave like any other expressions: the coefficients of the product will be
-  * computed once at a time as requested. This might be useful in some extremely rare cases when only
-  * a small and no coherent fraction of the result's coefficients have to be computed.
-  *
-  * \warning This version of the matrix product can be much much slower. So use it only if you know
-  * what you are doing and that you measured a true speed improvement.
-  *
-  * \sa operator*(const MatrixBase&)
-  */
-template<typename Derived>
-template<typename OtherDerived>
-const typename LazyProductReturnType<Derived,OtherDerived>::Type
-MatrixBase<Derived>::lazyProduct(const MatrixBase<OtherDerived> &other) const
-{
-  enum {
-    ProductIsValid =  Derived::ColsAtCompileTime==Dynamic
-                   || OtherDerived::RowsAtCompileTime==Dynamic
-                   || int(Derived::ColsAtCompileTime)==int(OtherDerived::RowsAtCompileTime),
-    AreVectors = Derived::IsVectorAtCompileTime && OtherDerived::IsVectorAtCompileTime,
-    SameSizes = EIGEN_PREDICATE_SAME_MATRIX_SIZE(Derived,OtherDerived)
-  };
-  // note to the lost user:
-  //    * for a dot product use: v1.dot(v2)
-  //    * for a coeff-wise product use: v1.cwiseProduct(v2)
-  EIGEN_STATIC_ASSERT(ProductIsValid || !(AreVectors && SameSizes),
-    INVALID_VECTOR_VECTOR_PRODUCT__IF_YOU_WANTED_A_DOT_OR_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTIONS)
-  EIGEN_STATIC_ASSERT(ProductIsValid || !(SameSizes && !AreVectors),
-    INVALID_MATRIX_PRODUCT__IF_YOU_WANTED_A_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTION)
-  EIGEN_STATIC_ASSERT(ProductIsValid || SameSizes, INVALID_MATRIX_PRODUCT)
-
-  return typename LazyProductReturnType<Derived,OtherDerived>::Type(derived(), other.derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_PRODUCT_H
diff --git a/lib/Eigen/src/Core/GenericPacketMath.h b/lib/Eigen/src/Core/GenericPacketMath.h
deleted file mode 100644
index 5f783ebe..00000000
--- a/lib/Eigen/src/Core/GenericPacketMath.h
+++ /dev/null
@@ -1,350 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GENERIC_PACKET_MATH_H
-#define EIGEN_GENERIC_PACKET_MATH_H
-
-namespace Eigen {
-
-namespace internal {
-
-/** \internal
-  * \file GenericPacketMath.h
-  *
-  * Default implementation for types not supported by the vectorization.
-  * In practice these functions are provided to make easier the writing
-  * of generic vectorized code.
-  */
-
-#ifndef EIGEN_DEBUG_ALIGNED_LOAD
-#define EIGEN_DEBUG_ALIGNED_LOAD
-#endif
-
-#ifndef EIGEN_DEBUG_UNALIGNED_LOAD
-#define EIGEN_DEBUG_UNALIGNED_LOAD
-#endif
-
-#ifndef EIGEN_DEBUG_ALIGNED_STORE
-#define EIGEN_DEBUG_ALIGNED_STORE
-#endif
-
-#ifndef EIGEN_DEBUG_UNALIGNED_STORE
-#define EIGEN_DEBUG_UNALIGNED_STORE
-#endif
-
-struct default_packet_traits
-{
-  enum {
-    HasAdd    = 1,
-    HasSub    = 1,
-    HasMul    = 1,
-    HasNegate = 1,
-    HasAbs    = 1,
-    HasAbs2   = 1,
-    HasMin    = 1,
-    HasMax    = 1,
-    HasConj   = 1,
-    HasSetLinear = 1,
-
-    HasDiv    = 0,
-    HasSqrt   = 0,
-    HasExp    = 0,
-    HasLog    = 0,
-    HasPow    = 0,
-
-    HasSin    = 0,
-    HasCos    = 0,
-    HasTan    = 0,
-    HasASin   = 0,
-    HasACos   = 0,
-    HasATan   = 0
-  };
-};
-
-template<typename T> struct packet_traits : default_packet_traits
-{
-  typedef T type;
-  enum {
-    Vectorizable = 0,
-    size = 1,
-    AlignedOnScalar = 0
-  };
-  enum {
-    HasAdd    = 0,
-    HasSub    = 0,
-    HasMul    = 0,
-    HasNegate = 0,
-    HasAbs    = 0,
-    HasAbs2   = 0,
-    HasMin    = 0,
-    HasMax    = 0,
-    HasConj   = 0,
-    HasSetLinear = 0
-  };
-};
-
-/** \internal \returns a + b (coeff-wise) */
-template<typename Packet> inline Packet
-padd(const Packet& a,
-        const Packet& b) { return a+b; }
-
-/** \internal \returns a - b (coeff-wise) */
-template<typename Packet> inline Packet
-psub(const Packet& a,
-        const Packet& b) { return a-b; }
-
-/** \internal \returns -a (coeff-wise) */
-template<typename Packet> inline Packet
-pnegate(const Packet& a) { return -a; }
-
-/** \internal \returns conj(a) (coeff-wise) */
-template<typename Packet> inline Packet
-pconj(const Packet& a) { return numext::conj(a); }
-
-/** \internal \returns a * b (coeff-wise) */
-template<typename Packet> inline Packet
-pmul(const Packet& a,
-        const Packet& b) { return a*b; }
-
-/** \internal \returns a / b (coeff-wise) */
-template<typename Packet> inline Packet
-pdiv(const Packet& a,
-        const Packet& b) { return a/b; }
-
-/** \internal \returns the min of \a a and \a b  (coeff-wise) */
-template<typename Packet> inline Packet
-pmin(const Packet& a,
-        const Packet& b) { using std::min; return (min)(a, b); }
-
-/** \internal \returns the max of \a a and \a b  (coeff-wise) */
-template<typename Packet> inline Packet
-pmax(const Packet& a,
-        const Packet& b) { using std::max; return (max)(a, b); }
-
-/** \internal \returns the absolute value of \a a */
-template<typename Packet> inline Packet
-pabs(const Packet& a) { using std::abs; return abs(a); }
-
-/** \internal \returns the bitwise and of \a a and \a b */
-template<typename Packet> inline Packet
-pand(const Packet& a, const Packet& b) { return a & b; }
-
-/** \internal \returns the bitwise or of \a a and \a b */
-template<typename Packet> inline Packet
-por(const Packet& a, const Packet& b) { return a | b; }
-
-/** \internal \returns the bitwise xor of \a a and \a b */
-template<typename Packet> inline Packet
-pxor(const Packet& a, const Packet& b) { return a ^ b; }
-
-/** \internal \returns the bitwise andnot of \a a and \a b */
-template<typename Packet> inline Packet
-pandnot(const Packet& a, const Packet& b) { return a & (!b); }
-
-/** \internal \returns a packet version of \a *from, from must be 16 bytes aligned */
-template<typename Packet> inline Packet
-pload(const typename unpacket_traits<Packet>::type* from) { return *from; }
-
-/** \internal \returns a packet version of \a *from, (un-aligned load) */
-template<typename Packet> inline Packet
-ploadu(const typename unpacket_traits<Packet>::type* from) { return *from; }
-
-/** \internal \returns a packet with elements of \a *from duplicated.
-  * For instance, for a packet of 8 elements, 4 scalar will be read from \a *from and
-  * duplicated to form: {from[0],from[0],from[1],from[1],,from[2],from[2],,from[3],from[3]}
-  * Currently, this function is only used for scalar * complex products.
- */
-template<typename Packet> inline Packet
-ploaddup(const typename unpacket_traits<Packet>::type* from) { return *from; }
-
-/** \internal \returns a packet with constant coefficients \a a, e.g.: (a,a,a,a) */
-template<typename Packet> inline Packet
-pset1(const typename unpacket_traits<Packet>::type& a) { return a; }
-
-/** \internal \brief Returns a packet with coefficients (a,a+1,...,a+packet_size-1). */
-template<typename Scalar> inline typename packet_traits<Scalar>::type
-plset(const Scalar& a) { return a; }
-
-/** \internal copy the packet \a from to \a *to, \a to must be 16 bytes aligned */
-template<typename Scalar, typename Packet> inline void pstore(Scalar* to, const Packet& from)
-{ (*to) = from; }
-
-/** \internal copy the packet \a from to \a *to, (un-aligned store) */
-template<typename Scalar, typename Packet> inline void pstoreu(Scalar* to, const Packet& from)
-{ (*to) = from; }
-
-/** \internal tries to do cache prefetching of \a addr */
-template<typename Scalar> inline void prefetch(const Scalar* addr)
-{
-#if !defined(_MSC_VER)
-__builtin_prefetch(addr);
-#endif
-}
-
-/** \internal \returns the first element of a packet */
-template<typename Packet> inline typename unpacket_traits<Packet>::type pfirst(const Packet& a)
-{ return a; }
-
-/** \internal \returns a packet where the element i contains the sum of the packet of \a vec[i] */
-template<typename Packet> inline Packet
-preduxp(const Packet* vecs) { return vecs[0]; }
-
-/** \internal \returns the sum of the elements of \a a*/
-template<typename Packet> inline typename unpacket_traits<Packet>::type predux(const Packet& a)
-{ return a; }
-
-/** \internal \returns the product of the elements of \a a*/
-template<typename Packet> inline typename unpacket_traits<Packet>::type predux_mul(const Packet& a)
-{ return a; }
-
-/** \internal \returns the min of the elements of \a a*/
-template<typename Packet> inline typename unpacket_traits<Packet>::type predux_min(const Packet& a)
-{ return a; }
-
-/** \internal \returns the max of the elements of \a a*/
-template<typename Packet> inline typename unpacket_traits<Packet>::type predux_max(const Packet& a)
-{ return a; }
-
-/** \internal \returns the reversed elements of \a a*/
-template<typename Packet> inline Packet preverse(const Packet& a)
-{ return a; }
-
-
-/** \internal \returns \a a with real and imaginary part flipped (for complex type only) */
-template<typename Packet> inline Packet pcplxflip(const Packet& a)
-{
-  // FIXME: uncomment the following in case we drop the internal imag and real functions.
-//   using std::imag;
-//   using std::real;
-  return Packet(imag(a),real(a));
-}
-
-/**************************
-* Special math functions
-***************************/
-
-/** \internal \returns the sine of \a a (coeff-wise) */
-template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-Packet psin(const Packet& a) { using std::sin; return sin(a); }
-
-/** \internal \returns the cosine of \a a (coeff-wise) */
-template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-Packet pcos(const Packet& a) { using std::cos; return cos(a); }
-
-/** \internal \returns the tan of \a a (coeff-wise) */
-template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-Packet ptan(const Packet& a) { using std::tan; return tan(a); }
-
-/** \internal \returns the arc sine of \a a (coeff-wise) */
-template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-Packet pasin(const Packet& a) { using std::asin; return asin(a); }
-
-/** \internal \returns the arc cosine of \a a (coeff-wise) */
-template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-Packet pacos(const Packet& a) { using std::acos; return acos(a); }
-
-/** \internal \returns the exp of \a a (coeff-wise) */
-template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-Packet pexp(const Packet& a) { using std::exp; return exp(a); }
-
-/** \internal \returns the log of \a a (coeff-wise) */
-template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-Packet plog(const Packet& a) { using std::log; return log(a); }
-
-/** \internal \returns the square-root of \a a (coeff-wise) */
-template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-Packet psqrt(const Packet& a) { using std::sqrt; return sqrt(a); }
-
-/***************************************************************************
-* The following functions might not have to be overwritten for vectorized types
-***************************************************************************/
-
-/** \internal copy a packet with constant coeficient \a a (e.g., [a,a,a,a]) to \a *to. \a to must be 16 bytes aligned */
-// NOTE: this function must really be templated on the packet type (think about different packet types for the same scalar type)
-template<typename Packet>
-inline void pstore1(typename unpacket_traits<Packet>::type* to, const typename unpacket_traits<Packet>::type& a)
-{
-  pstore(to, pset1<Packet>(a));
-}
-
-/** \internal \returns a * b + c (coeff-wise) */
-template<typename Packet> inline Packet
-pmadd(const Packet&  a,
-         const Packet&  b,
-         const Packet&  c)
-{ return padd(pmul(a, b),c); }
-
-/** \internal \returns a packet version of \a *from.
-  * If LoadMode equals #Aligned, \a from must be 16 bytes aligned */
-template<typename Packet, int LoadMode>
-inline Packet ploadt(const typename unpacket_traits<Packet>::type* from)
-{
-  if(LoadMode == Aligned)
-    return pload<Packet>(from);
-  else
-    return ploadu<Packet>(from);
-}
-
-/** \internal copy the packet \a from to \a *to.
-  * If StoreMode equals #Aligned, \a to must be 16 bytes aligned */
-template<typename Scalar, typename Packet, int LoadMode>
-inline void pstoret(Scalar* to, const Packet& from)
-{
-  if(LoadMode == Aligned)
-    pstore(to, from);
-  else
-    pstoreu(to, from);
-}
-
-/** \internal default implementation of palign() allowing partial specialization */
-template<int Offset,typename PacketType>
-struct palign_impl
-{
-  // by default data are aligned, so there is nothing to be done :)
-  static inline void run(PacketType&, const PacketType&) {}
-};
-
-/** \internal update \a first using the concatenation of the packet_size minus \a Offset last elements
-  * of \a first and \a Offset first elements of \a second.
-  * 
-  * This function is currently only used to optimize matrix-vector products on unligned matrices.
-  * It takes 2 packets that represent a contiguous memory array, and returns a packet starting
-  * at the position \a Offset. For instance, for packets of 4 elements, we have:
-  *  Input:
-  *  - first = {f0,f1,f2,f3}
-  *  - second = {s0,s1,s2,s3}
-  * Output: 
-  *   - if Offset==0 then {f0,f1,f2,f3}
-  *   - if Offset==1 then {f1,f2,f3,s0}
-  *   - if Offset==2 then {f2,f3,s0,s1}
-  *   - if Offset==3 then {f3,s0,s1,s3}
-  */
-template<int Offset,typename PacketType>
-inline void palign(PacketType& first, const PacketType& second)
-{
-  palign_impl<Offset,PacketType>::run(first,second);
-}
-
-/***************************************************************************
-* Fast complex products (GCC generates a function call which is very slow)
-***************************************************************************/
-
-template<> inline std::complex<float> pmul(const std::complex<float>& a, const std::complex<float>& b)
-{ return std::complex<float>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
-
-template<> inline std::complex<double> pmul(const std::complex<double>& a, const std::complex<double>& b)
-{ return std::complex<double>(real(a)*real(b) - imag(a)*imag(b), imag(a)*real(b) + real(a)*imag(b)); }
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERIC_PACKET_MATH_H
-
diff --git a/lib/Eigen/src/Core/GlobalFunctions.h b/lib/Eigen/src/Core/GlobalFunctions.h
deleted file mode 100644
index 2acf9772..00000000
--- a/lib/Eigen/src/Core/GlobalFunctions.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010-2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GLOBAL_FUNCTIONS_H
-#define EIGEN_GLOBAL_FUNCTIONS_H
-
-#define EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(NAME,FUNCTOR) \
-  template<typename Derived> \
-  inline const Eigen::CwiseUnaryOp<Eigen::internal::FUNCTOR<typename Derived::Scalar>, const Derived> \
-  NAME(const Eigen::ArrayBase<Derived>& x) { \
-    return x.derived(); \
-  }
-
-#define EIGEN_ARRAY_DECLARE_GLOBAL_EIGEN_UNARY(NAME,FUNCTOR) \
-  \
-  template<typename Derived> \
-  struct NAME##_retval<ArrayBase<Derived> > \
-  { \
-    typedef const Eigen::CwiseUnaryOp<Eigen::internal::FUNCTOR<typename Derived::Scalar>, const Derived> type; \
-  }; \
-  template<typename Derived> \
-  struct NAME##_impl<ArrayBase<Derived> > \
-  { \
-    static inline typename NAME##_retval<ArrayBase<Derived> >::type run(const Eigen::ArrayBase<Derived>& x) \
-    { \
-      return x.derived(); \
-    } \
-  };
-
-
-namespace Eigen
-{
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(real,scalar_real_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(imag,scalar_imag_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(conj,scalar_conjugate_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(sin,scalar_sin_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(cos,scalar_cos_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(asin,scalar_asin_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(acos,scalar_acos_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(tan,scalar_tan_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(exp,scalar_exp_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(log,scalar_log_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(abs,scalar_abs_op)
-  EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(sqrt,scalar_sqrt_op)
-  
-  template<typename Derived>
-  inline const Eigen::CwiseUnaryOp<Eigen::internal::scalar_pow_op<typename Derived::Scalar>, const Derived>
-  pow(const Eigen::ArrayBase<Derived>& x, const typename Derived::Scalar& exponent) {
-    return x.derived().pow(exponent);
-  }
-
-  template<typename Derived>
-  inline const Eigen::CwiseBinaryOp<Eigen::internal::scalar_binary_pow_op<typename Derived::Scalar, typename Derived::Scalar>, const Derived, const Derived>
-  pow(const Eigen::ArrayBase<Derived>& x, const Eigen::ArrayBase<Derived>& exponents) 
-  {
-    return Eigen::CwiseBinaryOp<Eigen::internal::scalar_binary_pow_op<typename Derived::Scalar, typename Derived::Scalar>, const Derived, const Derived>(
-      x.derived(),
-      exponents.derived()
-    );
-  }
-  
-  /**
-  * \brief Component-wise division of a scalar by array elements.
-  **/
-  template <typename Derived>
-  inline const Eigen::CwiseUnaryOp<Eigen::internal::scalar_inverse_mult_op<typename Derived::Scalar>, const Derived>
-    operator/(const typename Derived::Scalar& s, const Eigen::ArrayBase<Derived>& a)
-  {
-    return Eigen::CwiseUnaryOp<Eigen::internal::scalar_inverse_mult_op<typename Derived::Scalar>, const Derived>(
-      a.derived(),
-      Eigen::internal::scalar_inverse_mult_op<typename Derived::Scalar>(s)  
-    );
-  }
-
-  namespace internal
-  {
-    EIGEN_ARRAY_DECLARE_GLOBAL_EIGEN_UNARY(real,scalar_real_op)
-    EIGEN_ARRAY_DECLARE_GLOBAL_EIGEN_UNARY(imag,scalar_imag_op)
-    EIGEN_ARRAY_DECLARE_GLOBAL_EIGEN_UNARY(abs2,scalar_abs2_op)
-  }
-}
-
-// TODO: cleanly disable those functions that are not supported on Array (numext::real_ref, internal::random, internal::isApprox...)
-
-#endif // EIGEN_GLOBAL_FUNCTIONS_H
diff --git a/lib/Eigen/src/Core/IO.h b/lib/Eigen/src/Core/IO.h
deleted file mode 100644
index 8d4bc59e..00000000
--- a/lib/Eigen/src/Core/IO.h
+++ /dev/null
@@ -1,250 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_IO_H
-#define EIGEN_IO_H
-
-namespace Eigen { 
-
-enum { DontAlignCols = 1 };
-enum { StreamPrecision = -1,
-       FullPrecision = -2 };
-
-namespace internal {
-template<typename Derived>
-std::ostream & print_matrix(std::ostream & s, const Derived& _m, const IOFormat& fmt);
-}
-
-/** \class IOFormat
-  * \ingroup Core_Module
-  *
-  * \brief Stores a set of parameters controlling the way matrices are printed
-  *
-  * List of available parameters:
-  *  - \b precision number of digits for floating point values, or one of the special constants \c StreamPrecision and \c FullPrecision.
-  *                 The default is the special value \c StreamPrecision which means to use the
-  *                 stream's own precision setting, as set for instance using \c cout.precision(3). The other special value
-  *                 \c FullPrecision means that the number of digits will be computed to match the full precision of each floating-point
-  *                 type.
-  *  - \b flags an OR-ed combination of flags, the default value is 0, the only currently available flag is \c DontAlignCols which
-  *             allows to disable the alignment of columns, resulting in faster code.
-  *  - \b coeffSeparator string printed between two coefficients of the same row
-  *  - \b rowSeparator string printed between two rows
-  *  - \b rowPrefix string printed at the beginning of each row
-  *  - \b rowSuffix string printed at the end of each row
-  *  - \b matPrefix string printed at the beginning of the matrix
-  *  - \b matSuffix string printed at the end of the matrix
-  *
-  * Example: \include IOFormat.cpp
-  * Output: \verbinclude IOFormat.out
-  *
-  * \sa DenseBase::format(), class WithFormat
-  */
-struct IOFormat
-{
-  /** Default contructor, see class IOFormat for the meaning of the parameters */
-  IOFormat(int _precision = StreamPrecision, int _flags = 0,
-    const std::string& _coeffSeparator = " ",
-    const std::string& _rowSeparator = "\n", const std::string& _rowPrefix="", const std::string& _rowSuffix="",
-    const std::string& _matPrefix="", const std::string& _matSuffix="")
-  : matPrefix(_matPrefix), matSuffix(_matSuffix), rowPrefix(_rowPrefix), rowSuffix(_rowSuffix), rowSeparator(_rowSeparator),
-    rowSpacer(""), coeffSeparator(_coeffSeparator), precision(_precision), flags(_flags)
-  {
-    int i = int(matSuffix.length())-1;
-    while (i>=0 && matSuffix[i]!='\n')
-    {
-      rowSpacer += ' ';
-      i--;
-    }
-  }
-  std::string matPrefix, matSuffix;
-  std::string rowPrefix, rowSuffix, rowSeparator, rowSpacer;
-  std::string coeffSeparator;
-  int precision;
-  int flags;
-};
-
-/** \class WithFormat
-  * \ingroup Core_Module
-  *
-  * \brief Pseudo expression providing matrix output with given format
-  *
-  * \param ExpressionType the type of the object on which IO stream operations are performed
-  *
-  * This class represents an expression with stream operators controlled by a given IOFormat.
-  * It is the return type of DenseBase::format()
-  * and most of the time this is the only way it is used.
-  *
-  * See class IOFormat for some examples.
-  *
-  * \sa DenseBase::format(), class IOFormat
-  */
-template<typename ExpressionType>
-class WithFormat
-{
-  public:
-
-    WithFormat(const ExpressionType& matrix, const IOFormat& format)
-      : m_matrix(matrix), m_format(format)
-    {}
-
-    friend std::ostream & operator << (std::ostream & s, const WithFormat& wf)
-    {
-      return internal::print_matrix(s, wf.m_matrix.eval(), wf.m_format);
-    }
-
-  protected:
-    const typename ExpressionType::Nested m_matrix;
-    IOFormat m_format;
-};
-
-/** \returns a WithFormat proxy object allowing to print a matrix the with given
-  * format \a fmt.
-  *
-  * See class IOFormat for some examples.
-  *
-  * \sa class IOFormat, class WithFormat
-  */
-template<typename Derived>
-inline const WithFormat<Derived>
-DenseBase<Derived>::format(const IOFormat& fmt) const
-{
-  return WithFormat<Derived>(derived(), fmt);
-}
-
-namespace internal {
-
-template<typename Scalar, bool IsInteger>
-struct significant_decimals_default_impl
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline int run()
-  {
-    using std::ceil;
-    using std::log;
-    return cast<RealScalar,int>(ceil(-log(NumTraits<RealScalar>::epsilon())/log(RealScalar(10))));
-  }
-};
-
-template<typename Scalar>
-struct significant_decimals_default_impl<Scalar, true>
-{
-  static inline int run()
-  {
-    return 0;
-  }
-};
-
-template<typename Scalar>
-struct significant_decimals_impl
-  : significant_decimals_default_impl<Scalar, NumTraits<Scalar>::IsInteger>
-{};
-
-/** \internal
-  * print the matrix \a _m to the output stream \a s using the output format \a fmt */
-template<typename Derived>
-std::ostream & print_matrix(std::ostream & s, const Derived& _m, const IOFormat& fmt)
-{
-  if(_m.size() == 0)
-  {
-    s << fmt.matPrefix << fmt.matSuffix;
-    return s;
-  }
-  
-  typename Derived::Nested m = _m;
-  typedef typename Derived::Scalar Scalar;
-  typedef typename Derived::Index Index;
-
-  Index width = 0;
-
-  std::streamsize explicit_precision;
-  if(fmt.precision == StreamPrecision)
-  {
-    explicit_precision = 0;
-  }
-  else if(fmt.precision == FullPrecision)
-  {
-    if (NumTraits<Scalar>::IsInteger)
-    {
-      explicit_precision = 0;
-    }
-    else
-    {
-      explicit_precision = significant_decimals_impl<Scalar>::run();
-    }
-  }
-  else
-  {
-    explicit_precision = fmt.precision;
-  }
-
-  std::streamsize old_precision = 0;
-  if(explicit_precision) old_precision = s.precision(explicit_precision);
-
-  bool align_cols = !(fmt.flags & DontAlignCols);
-  if(align_cols)
-  {
-    // compute the largest width
-    for(Index j = 0; j < m.cols(); ++j)
-      for(Index i = 0; i < m.rows(); ++i)
-      {
-        std::stringstream sstr;
-        sstr.copyfmt(s);
-        sstr << m.coeff(i,j);
-        width = std::max<Index>(width, Index(sstr.str().length()));
-      }
-  }
-  s << fmt.matPrefix;
-  for(Index i = 0; i < m.rows(); ++i)
-  {
-    if (i)
-      s << fmt.rowSpacer;
-    s << fmt.rowPrefix;
-    if(width) s.width(width);
-    s << m.coeff(i, 0);
-    for(Index j = 1; j < m.cols(); ++j)
-    {
-      s << fmt.coeffSeparator;
-      if (width) s.width(width);
-      s << m.coeff(i, j);
-    }
-    s << fmt.rowSuffix;
-    if( i < m.rows() - 1)
-      s << fmt.rowSeparator;
-  }
-  s << fmt.matSuffix;
-  if(explicit_precision) s.precision(old_precision);
-  return s;
-}
-
-} // end namespace internal
-
-/** \relates DenseBase
-  *
-  * Outputs the matrix, to the given stream.
-  *
-  * If you wish to print the matrix with a format different than the default, use DenseBase::format().
-  *
-  * It is also possible to change the default format by defining EIGEN_DEFAULT_IO_FORMAT before including Eigen headers.
-  * If not defined, this will automatically be defined to Eigen::IOFormat(), that is the Eigen::IOFormat with default parameters.
-  *
-  * \sa DenseBase::format()
-  */
-template<typename Derived>
-std::ostream & operator <<
-(std::ostream & s,
- const DenseBase<Derived> & m)
-{
-  return internal::print_matrix(s, m.eval(), EIGEN_DEFAULT_IO_FORMAT);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_IO_H
diff --git a/lib/Eigen/src/Core/Map.h b/lib/Eigen/src/Core/Map.h
deleted file mode 100644
index f804c89d..00000000
--- a/lib/Eigen/src/Core/Map.h
+++ /dev/null
@@ -1,192 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MAP_H
-#define EIGEN_MAP_H
-
-namespace Eigen { 
-
-/** \class Map
-  * \ingroup Core_Module
-  *
-  * \brief A matrix or vector expression mapping an existing array of data.
-  *
-  * \tparam PlainObjectType the equivalent matrix type of the mapped data
-  * \tparam MapOptions specifies whether the pointer is \c #Aligned, or \c #Unaligned.
-  *                The default is \c #Unaligned.
-  * \tparam StrideType optionally specifies strides. By default, Map assumes the memory layout
-  *                   of an ordinary, contiguous array. This can be overridden by specifying strides.
-  *                   The type passed here must be a specialization of the Stride template, see examples below.
-  *
-  * This class represents a matrix or vector expression mapping an existing array of data.
-  * It can be used to let Eigen interface without any overhead with non-Eigen data structures,
-  * such as plain C arrays or structures from other libraries. By default, it assumes that the
-  * data is laid out contiguously in memory. You can however override this by explicitly specifying
-  * inner and outer strides.
-  *
-  * Here's an example of simply mapping a contiguous array as a \ref TopicStorageOrders "column-major" matrix:
-  * \include Map_simple.cpp
-  * Output: \verbinclude Map_simple.out
-  *
-  * If you need to map non-contiguous arrays, you can do so by specifying strides:
-  *
-  * Here's an example of mapping an array as a vector, specifying an inner stride, that is, the pointer
-  * increment between two consecutive coefficients. Here, we're specifying the inner stride as a compile-time
-  * fixed value.
-  * \include Map_inner_stride.cpp
-  * Output: \verbinclude Map_inner_stride.out
-  *
-  * Here's an example of mapping an array while specifying an outer stride. Here, since we're mapping
-  * as a column-major matrix, 'outer stride' means the pointer increment between two consecutive columns.
-  * Here, we're specifying the outer stride as a runtime parameter. Note that here \c OuterStride<> is
-  * a short version of \c OuterStride<Dynamic> because the default template parameter of OuterStride
-  * is  \c Dynamic
-  * \include Map_outer_stride.cpp
-  * Output: \verbinclude Map_outer_stride.out
-  *
-  * For more details and for an example of specifying both an inner and an outer stride, see class Stride.
-  *
-  * \b Tip: to change the array of data mapped by a Map object, you can use the C++
-  * placement new syntax:
-  *
-  * Example: \include Map_placement_new.cpp
-  * Output: \verbinclude Map_placement_new.out
-  *
-  * This class is the return type of PlainObjectBase::Map() but can also be used directly.
-  *
-  * \sa PlainObjectBase::Map(), \ref TopicStorageOrders
-  */
-
-namespace internal {
-template<typename PlainObjectType, int MapOptions, typename StrideType>
-struct traits<Map<PlainObjectType, MapOptions, StrideType> >
-  : public traits<PlainObjectType>
-{
-  typedef traits<PlainObjectType> TraitsBase;
-  typedef typename PlainObjectType::Index Index;
-  typedef typename PlainObjectType::Scalar Scalar;
-  enum {
-    InnerStrideAtCompileTime = StrideType::InnerStrideAtCompileTime == 0
-                             ? int(PlainObjectType::InnerStrideAtCompileTime)
-                             : int(StrideType::InnerStrideAtCompileTime),
-    OuterStrideAtCompileTime = StrideType::OuterStrideAtCompileTime == 0
-                             ? int(PlainObjectType::OuterStrideAtCompileTime)
-                             : int(StrideType::OuterStrideAtCompileTime),
-    HasNoInnerStride = InnerStrideAtCompileTime == 1,
-    HasNoOuterStride = StrideType::OuterStrideAtCompileTime == 0,
-    HasNoStride = HasNoInnerStride && HasNoOuterStride,
-    IsAligned = bool(EIGEN_ALIGN) && ((int(MapOptions)&Aligned)==Aligned),
-    IsDynamicSize = PlainObjectType::SizeAtCompileTime==Dynamic,
-    KeepsPacketAccess = bool(HasNoInnerStride)
-                        && ( bool(IsDynamicSize)
-                           || HasNoOuterStride
-                           || ( OuterStrideAtCompileTime!=Dynamic
-                           && ((static_cast<int>(sizeof(Scalar))*OuterStrideAtCompileTime)%16)==0 ) ),
-    Flags0 = TraitsBase::Flags & (~NestByRefBit),
-    Flags1 = IsAligned ? (int(Flags0) | AlignedBit) : (int(Flags0) & ~AlignedBit),
-    Flags2 = (bool(HasNoStride) || bool(PlainObjectType::IsVectorAtCompileTime))
-           ? int(Flags1) : int(Flags1 & ~LinearAccessBit),
-    Flags3 = is_lvalue<PlainObjectType>::value ? int(Flags2) : (int(Flags2) & ~LvalueBit),
-    Flags = KeepsPacketAccess ? int(Flags3) : (int(Flags3) & ~PacketAccessBit)
-  };
-private:
-  enum { Options }; // Expressions don't have Options
-};
-}
-
-template<typename PlainObjectType, int MapOptions, typename StrideType> class Map
-  : public MapBase<Map<PlainObjectType, MapOptions, StrideType> >
-{
-  public:
-
-    typedef MapBase<Map> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Map)
-
-    typedef typename Base::PointerType PointerType;
-#if EIGEN2_SUPPORT_STAGE <= STAGE30_FULL_EIGEN3_API
-    typedef const Scalar* PointerArgType;
-    inline PointerType cast_to_pointer_type(PointerArgType ptr) { return const_cast<PointerType>(ptr); }
-#else
-    typedef PointerType PointerArgType;
-    inline PointerType cast_to_pointer_type(PointerArgType ptr) { return ptr; }
-#endif
-
-    inline Index innerStride() const
-    {
-      return StrideType::InnerStrideAtCompileTime != 0 ? m_stride.inner() : 1;
-    }
-
-    inline Index outerStride() const
-    {
-      return StrideType::OuterStrideAtCompileTime != 0 ? m_stride.outer()
-           : IsVectorAtCompileTime ? this->size()
-           : int(Flags)&RowMajorBit ? this->cols()
-           : this->rows();
-    }
-
-    /** Constructor in the fixed-size case.
-      *
-      * \param dataPtr pointer to the array to map
-      * \param a_stride optional Stride object, passing the strides.
-      */
-    inline Map(PointerArgType dataPtr, const StrideType& a_stride = StrideType())
-      : Base(cast_to_pointer_type(dataPtr)), m_stride(a_stride)
-    {
-      PlainObjectType::Base::_check_template_params();
-    }
-
-    /** Constructor in the dynamic-size vector case.
-      *
-      * \param dataPtr pointer to the array to map
-      * \param a_size the size of the vector expression
-      * \param a_stride optional Stride object, passing the strides.
-      */
-    inline Map(PointerArgType dataPtr, Index a_size, const StrideType& a_stride = StrideType())
-      : Base(cast_to_pointer_type(dataPtr), a_size), m_stride(a_stride)
-    {
-      PlainObjectType::Base::_check_template_params();
-    }
-
-    /** Constructor in the dynamic-size matrix case.
-      *
-      * \param dataPtr pointer to the array to map
-      * \param nbRows the number of rows of the matrix expression
-      * \param nbCols the number of columns of the matrix expression
-      * \param a_stride optional Stride object, passing the strides.
-      */
-    inline Map(PointerArgType dataPtr, Index nbRows, Index nbCols, const StrideType& a_stride = StrideType())
-      : Base(cast_to_pointer_type(dataPtr), nbRows, nbCols), m_stride(a_stride)
-    {
-      PlainObjectType::Base::_check_template_params();
-    }
-
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Map)
-
-  protected:
-    StrideType m_stride;
-};
-
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-inline Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>
-  ::Array(const Scalar *data)
-{
-  this->_set_noalias(Eigen::Map<const Array>(data));
-}
-
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-inline Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>
-  ::Matrix(const Scalar *data)
-{
-  this->_set_noalias(Eigen::Map<const Matrix>(data));
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_MAP_H
diff --git a/lib/Eigen/src/Core/MapBase.h b/lib/Eigen/src/Core/MapBase.h
deleted file mode 100644
index 81efc4a6..00000000
--- a/lib/Eigen/src/Core/MapBase.h
+++ /dev/null
@@ -1,251 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MAPBASE_H
-#define EIGEN_MAPBASE_H
-
-#define EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived) \
-      EIGEN_STATIC_ASSERT((int(internal::traits<Derived>::Flags) & LinearAccessBit) || Derived::IsVectorAtCompileTime, \
-                          YOU_ARE_TRYING_TO_USE_AN_INDEX_BASED_ACCESSOR_ON_AN_EXPRESSION_THAT_DOES_NOT_SUPPORT_THAT)
-
-namespace Eigen { 
-
-/** \class MapBase
-  * \ingroup Core_Module
-  *
-  * \brief Base class for Map and Block expression with direct access
-  *
-  * \sa class Map, class Block
-  */
-template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
-  : public internal::dense_xpr_base<Derived>::type
-{
-  public:
-
-    typedef typename internal::dense_xpr_base<Derived>::type Base;
-    enum {
-      RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime,
-      ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime,
-      SizeAtCompileTime = Base::SizeAtCompileTime
-    };
-
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename internal::packet_traits<Scalar>::type PacketScalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    typedef typename internal::conditional<
-                         bool(internal::is_lvalue<Derived>::value),
-                         Scalar *,
-                         const Scalar *>::type
-                     PointerType;
-
-    using Base::derived;
-//    using Base::RowsAtCompileTime;
-//    using Base::ColsAtCompileTime;
-//    using Base::SizeAtCompileTime;
-    using Base::MaxRowsAtCompileTime;
-    using Base::MaxColsAtCompileTime;
-    using Base::MaxSizeAtCompileTime;
-    using Base::IsVectorAtCompileTime;
-    using Base::Flags;
-    using Base::IsRowMajor;
-
-    using Base::rows;
-    using Base::cols;
-    using Base::size;
-    using Base::coeff;
-    using Base::coeffRef;
-    using Base::lazyAssign;
-    using Base::eval;
-
-    using Base::innerStride;
-    using Base::outerStride;
-    using Base::rowStride;
-    using Base::colStride;
-
-    // bug 217 - compile error on ICC 11.1
-    using Base::operator=;
-
-    typedef typename Base::CoeffReturnType CoeffReturnType;
-
-    inline Index rows() const { return m_rows.value(); }
-    inline Index cols() const { return m_cols.value(); }
-
-    /** Returns a pointer to the first coefficient of the matrix or vector.
-      *
-      * \note When addressing this data, make sure to honor the strides returned by innerStride() and outerStride().
-      *
-      * \sa innerStride(), outerStride()
-      */
-    inline const Scalar* data() const { return m_data; }
-
-    inline const Scalar& coeff(Index rowId, Index colId) const
-    {
-      return m_data[colId * colStride() + rowId * rowStride()];
-    }
-
-    inline const Scalar& coeff(Index index) const
-    {
-      EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived)
-      return m_data[index * innerStride()];
-    }
-
-    inline const Scalar& coeffRef(Index rowId, Index colId) const
-    {
-      return this->m_data[colId * colStride() + rowId * rowStride()];
-    }
-
-    inline const Scalar& coeffRef(Index index) const
-    {
-      EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived)
-      return this->m_data[index * innerStride()];
-    }
-
-    template<int LoadMode>
-    inline PacketScalar packet(Index rowId, Index colId) const
-    {
-      return internal::ploadt<PacketScalar, LoadMode>
-               (m_data + (colId * colStride() + rowId * rowStride()));
-    }
-
-    template<int LoadMode>
-    inline PacketScalar packet(Index index) const
-    {
-      EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived)
-      return internal::ploadt<PacketScalar, LoadMode>(m_data + index * innerStride());
-    }
-
-    explicit inline MapBase(PointerType dataPtr) : m_data(dataPtr), m_rows(RowsAtCompileTime), m_cols(ColsAtCompileTime)
-    {
-      EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived)
-      checkSanity();
-    }
-
-    inline MapBase(PointerType dataPtr, Index vecSize)
-            : m_data(dataPtr),
-              m_rows(RowsAtCompileTime == Dynamic ? vecSize : Index(RowsAtCompileTime)),
-              m_cols(ColsAtCompileTime == Dynamic ? vecSize : Index(ColsAtCompileTime))
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-      eigen_assert(vecSize >= 0);
-      eigen_assert(dataPtr == 0 || SizeAtCompileTime == Dynamic || SizeAtCompileTime == vecSize);
-      checkSanity();
-    }
-
-    inline MapBase(PointerType dataPtr, Index nbRows, Index nbCols)
-            : m_data(dataPtr), m_rows(nbRows), m_cols(nbCols)
-    {
-      eigen_assert( (dataPtr == 0)
-              || (   nbRows >= 0 && (RowsAtCompileTime == Dynamic || RowsAtCompileTime == nbRows)
-                  && nbCols >= 0 && (ColsAtCompileTime == Dynamic || ColsAtCompileTime == nbCols)));
-      checkSanity();
-    }
-
-    #ifdef EIGEN_MAPBASE_PLUGIN
-    #include EIGEN_MAPBASE_PLUGIN
-    #endif
-
-  protected:
-
-    void checkSanity() const
-    {
-      EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(internal::traits<Derived>::Flags&PacketAccessBit,
-                                        internal::inner_stride_at_compile_time<Derived>::ret==1),
-                          PACKET_ACCESS_REQUIRES_TO_HAVE_INNER_STRIDE_FIXED_TO_1);
-      eigen_assert(EIGEN_IMPLIES(internal::traits<Derived>::Flags&AlignedBit, (size_t(m_data) % 16) == 0)
-                   && "input pointer is not aligned on a 16 byte boundary");
-    }
-
-    PointerType m_data;
-    const internal::variable_if_dynamic<Index, RowsAtCompileTime> m_rows;
-    const internal::variable_if_dynamic<Index, ColsAtCompileTime> m_cols;
-};
-
-template<typename Derived> class MapBase<Derived, WriteAccessors>
-  : public MapBase<Derived, ReadOnlyAccessors>
-{
-    typedef MapBase<Derived, ReadOnlyAccessors> ReadOnlyMapBase;
-  public:
-
-    typedef MapBase<Derived, ReadOnlyAccessors> Base;
-
-    typedef typename Base::Scalar Scalar;
-    typedef typename Base::PacketScalar PacketScalar;
-    typedef typename Base::Index Index;
-    typedef typename Base::PointerType PointerType;
-
-    using Base::derived;
-    using Base::rows;
-    using Base::cols;
-    using Base::size;
-    using Base::coeff;
-    using Base::coeffRef;
-
-    using Base::innerStride;
-    using Base::outerStride;
-    using Base::rowStride;
-    using Base::colStride;
-
-    typedef typename internal::conditional<
-                    internal::is_lvalue<Derived>::value,
-                    Scalar,
-                    const Scalar
-                  >::type ScalarWithConstIfNotLvalue;
-
-    inline const Scalar* data() const { return this->m_data; }
-    inline ScalarWithConstIfNotLvalue* data() { return this->m_data; } // no const-cast here so non-const-correct code will give a compile error
-
-    inline ScalarWithConstIfNotLvalue& coeffRef(Index row, Index col)
-    {
-      return this->m_data[col * colStride() + row * rowStride()];
-    }
-
-    inline ScalarWithConstIfNotLvalue& coeffRef(Index index)
-    {
-      EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived)
-      return this->m_data[index * innerStride()];
-    }
-
-    template<int StoreMode>
-    inline void writePacket(Index row, Index col, const PacketScalar& val)
-    {
-      internal::pstoret<Scalar, PacketScalar, StoreMode>
-               (this->m_data + (col * colStride() + row * rowStride()), val);
-    }
-
-    template<int StoreMode>
-    inline void writePacket(Index index, const PacketScalar& val)
-    {
-      EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS(Derived)
-      internal::pstoret<Scalar, PacketScalar, StoreMode>
-                (this->m_data + index * innerStride(), val);
-    }
-
-    explicit inline MapBase(PointerType dataPtr) : Base(dataPtr) {}
-    inline MapBase(PointerType dataPtr, Index vecSize) : Base(dataPtr, vecSize) {}
-    inline MapBase(PointerType dataPtr, Index nbRows, Index nbCols) : Base(dataPtr, nbRows, nbCols) {}
-
-    Derived& operator=(const MapBase& other)
-    {
-      ReadOnlyMapBase::Base::operator=(other);
-      return derived();
-    }
-
-    // In theory we could simply refer to Base:Base::operator=, but MSVC does not like Base::Base,
-    // see bugs 821 and 920.
-    using ReadOnlyMapBase::Base::operator=;
-};
-
-#undef EIGEN_STATIC_ASSERT_INDEX_BASED_ACCESS
-
-} // end namespace Eigen
-
-#endif // EIGEN_MAPBASE_H
diff --git a/lib/Eigen/src/Core/MathFunctions.h b/lib/Eigen/src/Core/MathFunctions.h
deleted file mode 100644
index 4e17ecd4..00000000
--- a/lib/Eigen/src/Core/MathFunctions.h
+++ /dev/null
@@ -1,768 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MATHFUNCTIONS_H
-#define EIGEN_MATHFUNCTIONS_H
-
-namespace Eigen {
-
-namespace internal {
-
-/** \internal \struct global_math_functions_filtering_base
-  *
-  * What it does:
-  * Defines a typedef 'type' as follows:
-  * - if type T has a member typedef Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl, then
-  *   global_math_functions_filtering_base<T>::type is a typedef for it.
-  * - otherwise, global_math_functions_filtering_base<T>::type is a typedef for T.
-  *
-  * How it's used:
-  * To allow to defined the global math functions (like sin...) in certain cases, like the Array expressions.
-  * When you do sin(array1+array2), the object array1+array2 has a complicated expression type, all what you want to know
-  * is that it inherits ArrayBase. So we implement a partial specialization of sin_impl for ArrayBase<Derived>.
-  * So we must make sure to use sin_impl<ArrayBase<Derived> > and not sin_impl<Derived>, otherwise our partial specialization
-  * won't be used. How does sin know that? That's exactly what global_math_functions_filtering_base tells it.
-  *
-  * How it's implemented:
-  * SFINAE in the style of enable_if. Highly susceptible of breaking compilers. With GCC, it sure does work, but if you replace
-  * the typename dummy by an integer template parameter, it doesn't work anymore!
-  */
-
-template<typename T, typename dummy = void>
-struct global_math_functions_filtering_base
-{
-  typedef T type;
-};
-
-template<typename T> struct always_void { typedef void type; };
-
-template<typename T>
-struct global_math_functions_filtering_base
-  <T,
-   typename always_void<typename T::Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl>::type
-  >
-{
-  typedef typename T::Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl type;
-};
-
-#define EIGEN_MATHFUNC_IMPL(func, scalar) Eigen::internal::func##_impl<typename Eigen::internal::global_math_functions_filtering_base<scalar>::type>
-#define EIGEN_MATHFUNC_RETVAL(func, scalar) typename Eigen::internal::func##_retval<typename Eigen::internal::global_math_functions_filtering_base<scalar>::type>::type
-
-/****************************************************************************
-* Implementation of real                                                 *
-****************************************************************************/
-
-template<typename Scalar, bool IsComplex = NumTraits<Scalar>::IsComplex>
-struct real_default_impl
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline RealScalar run(const Scalar& x)
-  {
-    return x;
-  }
-};
-
-template<typename Scalar>
-struct real_default_impl<Scalar,true>
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline RealScalar run(const Scalar& x)
-  {
-    using std::real;
-    return real(x);
-  }
-};
-
-template<typename Scalar> struct real_impl : real_default_impl<Scalar> {};
-
-template<typename Scalar>
-struct real_retval
-{
-  typedef typename NumTraits<Scalar>::Real type;
-};
-
-
-/****************************************************************************
-* Implementation of imag                                                 *
-****************************************************************************/
-
-template<typename Scalar, bool IsComplex = NumTraits<Scalar>::IsComplex>
-struct imag_default_impl
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline RealScalar run(const Scalar&)
-  {
-    return RealScalar(0);
-  }
-};
-
-template<typename Scalar>
-struct imag_default_impl<Scalar,true>
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline RealScalar run(const Scalar& x)
-  {
-    using std::imag;
-    return imag(x);
-  }
-};
-
-template<typename Scalar> struct imag_impl : imag_default_impl<Scalar> {};
-
-template<typename Scalar>
-struct imag_retval
-{
-  typedef typename NumTraits<Scalar>::Real type;
-};
-
-/****************************************************************************
-* Implementation of real_ref                                             *
-****************************************************************************/
-
-template<typename Scalar>
-struct real_ref_impl
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline RealScalar& run(Scalar& x)
-  {
-    return reinterpret_cast<RealScalar*>(&x)[0];
-  }
-  static inline const RealScalar& run(const Scalar& x)
-  {
-    return reinterpret_cast<const RealScalar*>(&x)[0];
-  }
-};
-
-template<typename Scalar>
-struct real_ref_retval
-{
-  typedef typename NumTraits<Scalar>::Real & type;
-};
-
-/****************************************************************************
-* Implementation of imag_ref                                             *
-****************************************************************************/
-
-template<typename Scalar, bool IsComplex>
-struct imag_ref_default_impl
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline RealScalar& run(Scalar& x)
-  {
-    return reinterpret_cast<RealScalar*>(&x)[1];
-  }
-  static inline const RealScalar& run(const Scalar& x)
-  {
-    return reinterpret_cast<RealScalar*>(&x)[1];
-  }
-};
-
-template<typename Scalar>
-struct imag_ref_default_impl<Scalar, false>
-{
-  static inline Scalar run(Scalar&)
-  {
-    return Scalar(0);
-  }
-  static inline const Scalar run(const Scalar&)
-  {
-    return Scalar(0);
-  }
-};
-
-template<typename Scalar>
-struct imag_ref_impl : imag_ref_default_impl<Scalar, NumTraits<Scalar>::IsComplex> {};
-
-template<typename Scalar>
-struct imag_ref_retval
-{
-  typedef typename NumTraits<Scalar>::Real & type;
-};
-
-/****************************************************************************
-* Implementation of conj                                                 *
-****************************************************************************/
-
-template<typename Scalar, bool IsComplex = NumTraits<Scalar>::IsComplex>
-struct conj_impl
-{
-  static inline Scalar run(const Scalar& x)
-  {
-    return x;
-  }
-};
-
-template<typename Scalar>
-struct conj_impl<Scalar,true>
-{
-  static inline Scalar run(const Scalar& x)
-  {
-    using std::conj;
-    return conj(x);
-  }
-};
-
-template<typename Scalar>
-struct conj_retval
-{
-  typedef Scalar type;
-};
-
-/****************************************************************************
-* Implementation of abs2                                                 *
-****************************************************************************/
-
-template<typename Scalar>
-struct abs2_impl
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline RealScalar run(const Scalar& x)
-  {
-    return x*x;
-  }
-};
-
-template<typename RealScalar>
-struct abs2_impl<std::complex<RealScalar> >
-{
-  static inline RealScalar run(const std::complex<RealScalar>& x)
-  {
-    return real(x)*real(x) + imag(x)*imag(x);
-  }
-};
-
-template<typename Scalar>
-struct abs2_retval
-{
-  typedef typename NumTraits<Scalar>::Real type;
-};
-
-/****************************************************************************
-* Implementation of norm1                                                *
-****************************************************************************/
-
-template<typename Scalar, bool IsComplex>
-struct norm1_default_impl
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline RealScalar run(const Scalar& x)
-  {
-    using std::abs;
-    return abs(real(x)) + abs(imag(x));
-  }
-};
-
-template<typename Scalar>
-struct norm1_default_impl<Scalar, false>
-{
-  static inline Scalar run(const Scalar& x)
-  {
-    using std::abs;
-    return abs(x);
-  }
-};
-
-template<typename Scalar>
-struct norm1_impl : norm1_default_impl<Scalar, NumTraits<Scalar>::IsComplex> {};
-
-template<typename Scalar>
-struct norm1_retval
-{
-  typedef typename NumTraits<Scalar>::Real type;
-};
-
-/****************************************************************************
-* Implementation of hypot                                                *
-****************************************************************************/
-
-template<typename Scalar>
-struct hypot_impl
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline RealScalar run(const Scalar& x, const Scalar& y)
-  {
-    using std::max;
-    using std::min;
-    using std::abs;
-    using std::sqrt;
-    RealScalar _x = abs(x);
-    RealScalar _y = abs(y);
-    RealScalar p = (max)(_x, _y);
-    if(p==RealScalar(0)) return RealScalar(0);
-    RealScalar q = (min)(_x, _y);
-    RealScalar qp = q/p;
-    return p * sqrt(RealScalar(1) + qp*qp);
-  }
-};
-
-template<typename Scalar>
-struct hypot_retval
-{
-  typedef typename NumTraits<Scalar>::Real type;
-};
-
-/****************************************************************************
-* Implementation of cast                                                 *
-****************************************************************************/
-
-template<typename OldType, typename NewType>
-struct cast_impl
-{
-  static inline NewType run(const OldType& x)
-  {
-    return static_cast<NewType>(x);
-  }
-};
-
-// here, for once, we're plainly returning NewType: we don't want cast to do weird things.
-
-template<typename OldType, typename NewType>
-inline NewType cast(const OldType& x)
-{
-  return cast_impl<OldType, NewType>::run(x);
-}
-
-/****************************************************************************
-* Implementation of atanh2                                                *
-****************************************************************************/
-
-template<typename Scalar, bool IsInteger>
-struct atanh2_default_impl
-{
-  typedef Scalar retval;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline Scalar run(const Scalar& x, const Scalar& y)
-  {
-    using std::abs;
-    using std::log;
-    using std::sqrt;
-    Scalar z = x / y;
-    if (y == Scalar(0) || abs(z) > sqrt(NumTraits<RealScalar>::epsilon()))
-      return RealScalar(0.5) * log((y + x) / (y - x));
-    else
-      return z + z*z*z / RealScalar(3);
-  }
-};
-
-template<typename Scalar>
-struct atanh2_default_impl<Scalar, true>
-{
-  static inline Scalar run(const Scalar&, const Scalar&)
-  {
-    EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar)
-    return Scalar(0);
-  }
-};
-
-template<typename Scalar>
-struct atanh2_impl : atanh2_default_impl<Scalar, NumTraits<Scalar>::IsInteger> {};
-
-template<typename Scalar>
-struct atanh2_retval
-{
-  typedef Scalar type;
-};
-
-/****************************************************************************
-* Implementation of pow                                                  *
-****************************************************************************/
-
-template<typename Scalar, bool IsInteger>
-struct pow_default_impl
-{
-  typedef Scalar retval;
-  static inline Scalar run(const Scalar& x, const Scalar& y)
-  {
-    using std::pow;
-    return pow(x, y);
-  }
-};
-
-template<typename Scalar>
-struct pow_default_impl<Scalar, true>
-{
-  static inline Scalar run(Scalar x, Scalar y)
-  {
-    Scalar res(1);
-    eigen_assert(!NumTraits<Scalar>::IsSigned || y >= 0);
-    if(y & 1) res *= x;
-    y >>= 1;
-    while(y)
-    {
-      x *= x;
-      if(y&1) res *= x;
-      y >>= 1;
-    }
-    return res;
-  }
-};
-
-template<typename Scalar>
-struct pow_impl : pow_default_impl<Scalar, NumTraits<Scalar>::IsInteger> {};
-
-template<typename Scalar>
-struct pow_retval
-{
-  typedef Scalar type;
-};
-
-/****************************************************************************
-* Implementation of random                                               *
-****************************************************************************/
-
-template<typename Scalar,
-         bool IsComplex,
-         bool IsInteger>
-struct random_default_impl {};
-
-template<typename Scalar>
-struct random_impl : random_default_impl<Scalar, NumTraits<Scalar>::IsComplex, NumTraits<Scalar>::IsInteger> {};
-
-template<typename Scalar>
-struct random_retval
-{
-  typedef Scalar type;
-};
-
-template<typename Scalar> inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random(const Scalar& x, const Scalar& y);
-template<typename Scalar> inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random();
-
-template<typename Scalar>
-struct random_default_impl<Scalar, false, false>
-{
-  static inline Scalar run(const Scalar& x, const Scalar& y)
-  {
-    return x + (y-x) * Scalar(std::rand()) / Scalar(RAND_MAX);
-  }
-  static inline Scalar run()
-  {
-    return run(Scalar(NumTraits<Scalar>::IsSigned ? -1 : 0), Scalar(1));
-  }
-};
-
-enum {
-  floor_log2_terminate,
-  floor_log2_move_up,
-  floor_log2_move_down,
-  floor_log2_bogus
-};
-
-template<unsigned int n, int lower, int upper> struct floor_log2_selector
-{
-  enum { middle = (lower + upper) / 2,
-         value = (upper <= lower + 1) ? int(floor_log2_terminate)
-               : (n < (1 << middle)) ? int(floor_log2_move_down)
-               : (n==0) ? int(floor_log2_bogus)
-               : int(floor_log2_move_up)
-  };
-};
-
-template<unsigned int n,
-         int lower = 0,
-         int upper = sizeof(unsigned int) * CHAR_BIT - 1,
-         int selector = floor_log2_selector<n, lower, upper>::value>
-struct floor_log2 {};
-
-template<unsigned int n, int lower, int upper>
-struct floor_log2<n, lower, upper, floor_log2_move_down>
-{
-  enum { value = floor_log2<n, lower, floor_log2_selector<n, lower, upper>::middle>::value };
-};
-
-template<unsigned int n, int lower, int upper>
-struct floor_log2<n, lower, upper, floor_log2_move_up>
-{
-  enum { value = floor_log2<n, floor_log2_selector<n, lower, upper>::middle, upper>::value };
-};
-
-template<unsigned int n, int lower, int upper>
-struct floor_log2<n, lower, upper, floor_log2_terminate>
-{
-  enum { value = (n >= ((unsigned int)(1) << (lower+1))) ? lower+1 : lower };
-};
-
-template<unsigned int n, int lower, int upper>
-struct floor_log2<n, lower, upper, floor_log2_bogus>
-{
-  // no value, error at compile time
-};
-
-template<typename Scalar>
-struct random_default_impl<Scalar, false, true>
-{
-  typedef typename NumTraits<Scalar>::NonInteger NonInteger;
-
-  static inline Scalar run(const Scalar& x, const Scalar& y)
-  {
-    return x + Scalar((NonInteger(y)-x+1) * std::rand() / (RAND_MAX + NonInteger(1)));
-  }
-
-  static inline Scalar run()
-  {
-#ifdef EIGEN_MAKING_DOCS
-    return run(Scalar(NumTraits<Scalar>::IsSigned ? -10 : 0), Scalar(10));
-#else
-    enum { rand_bits = floor_log2<(unsigned int)(RAND_MAX)+1>::value,
-           scalar_bits = sizeof(Scalar) * CHAR_BIT,
-           shift = EIGEN_PLAIN_ENUM_MAX(0, int(rand_bits) - int(scalar_bits)),
-           offset = NumTraits<Scalar>::IsSigned ? (1 << (EIGEN_PLAIN_ENUM_MIN(rand_bits,scalar_bits)-1)) : 0
-    };
-    return Scalar((std::rand() >> shift) - offset);
-#endif
-  }
-};
-
-template<typename Scalar>
-struct random_default_impl<Scalar, true, false>
-{
-  static inline Scalar run(const Scalar& x, const Scalar& y)
-  {
-    return Scalar(random(real(x), real(y)),
-                  random(imag(x), imag(y)));
-  }
-  static inline Scalar run()
-  {
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    return Scalar(random<RealScalar>(), random<RealScalar>());
-  }
-};
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random(const Scalar& x, const Scalar& y)
-{
-  return EIGEN_MATHFUNC_IMPL(random, Scalar)::run(x, y);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(random, Scalar) random()
-{
-  return EIGEN_MATHFUNC_IMPL(random, Scalar)::run();
-}
-
-} // end namespace internal
-
-/****************************************************************************
-* Generic math function                                                    *
-****************************************************************************/
-
-namespace numext {
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(real, Scalar) real(const Scalar& x)
-{
-  return EIGEN_MATHFUNC_IMPL(real, Scalar)::run(x);
-}  
-
-template<typename Scalar>
-inline typename internal::add_const_on_value_type< EIGEN_MATHFUNC_RETVAL(real_ref, Scalar) >::type real_ref(const Scalar& x)
-{
-  return internal::real_ref_impl<Scalar>::run(x);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(real_ref, Scalar) real_ref(Scalar& x)
-{
-  return EIGEN_MATHFUNC_IMPL(real_ref, Scalar)::run(x);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(imag, Scalar) imag(const Scalar& x)
-{
-  return EIGEN_MATHFUNC_IMPL(imag, Scalar)::run(x);
-}
-
-template<typename Scalar>
-inline typename internal::add_const_on_value_type< EIGEN_MATHFUNC_RETVAL(imag_ref, Scalar) >::type imag_ref(const Scalar& x)
-{
-  return internal::imag_ref_impl<Scalar>::run(x);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(imag_ref, Scalar) imag_ref(Scalar& x)
-{
-  return EIGEN_MATHFUNC_IMPL(imag_ref, Scalar)::run(x);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(conj, Scalar) conj(const Scalar& x)
-{
-  return EIGEN_MATHFUNC_IMPL(conj, Scalar)::run(x);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(abs2, Scalar) abs2(const Scalar& x)
-{
-  return EIGEN_MATHFUNC_IMPL(abs2, Scalar)::run(x);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(norm1, Scalar) norm1(const Scalar& x)
-{
-  return EIGEN_MATHFUNC_IMPL(norm1, Scalar)::run(x);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(hypot, Scalar) hypot(const Scalar& x, const Scalar& y)
-{
-  return EIGEN_MATHFUNC_IMPL(hypot, Scalar)::run(x, y);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(atanh2, Scalar) atanh2(const Scalar& x, const Scalar& y)
-{
-  return EIGEN_MATHFUNC_IMPL(atanh2, Scalar)::run(x, y);
-}
-
-template<typename Scalar>
-inline EIGEN_MATHFUNC_RETVAL(pow, Scalar) pow(const Scalar& x, const Scalar& y)
-{
-  return EIGEN_MATHFUNC_IMPL(pow, Scalar)::run(x, y);
-}
-
-// std::isfinite is non standard, so let's define our own version,
-// even though it is not very efficient.
-template<typename T> bool (isfinite)(const T& x)
-{
-  return x<NumTraits<T>::highest() && x>NumTraits<T>::lowest();
-}
-
-} // end namespace numext
-
-namespace internal {
-
-/****************************************************************************
-* Implementation of fuzzy comparisons                                       *
-****************************************************************************/
-
-template<typename Scalar,
-         bool IsComplex,
-         bool IsInteger>
-struct scalar_fuzzy_default_impl {};
-
-template<typename Scalar>
-struct scalar_fuzzy_default_impl<Scalar, false, false>
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  template<typename OtherScalar>
-  static inline bool isMuchSmallerThan(const Scalar& x, const OtherScalar& y, const RealScalar& prec)
-  {
-    using std::abs;
-    return abs(x) <= abs(y) * prec;
-  }
-  static inline bool isApprox(const Scalar& x, const Scalar& y, const RealScalar& prec)
-  {
-    using std::min;
-    using std::abs;
-    return abs(x - y) <= (min)(abs(x), abs(y)) * prec;
-  }
-  static inline bool isApproxOrLessThan(const Scalar& x, const Scalar& y, const RealScalar& prec)
-  {
-    return x <= y || isApprox(x, y, prec);
-  }
-};
-
-template<typename Scalar>
-struct scalar_fuzzy_default_impl<Scalar, false, true>
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  template<typename OtherScalar>
-  static inline bool isMuchSmallerThan(const Scalar& x, const Scalar&, const RealScalar&)
-  {
-    return x == Scalar(0);
-  }
-  static inline bool isApprox(const Scalar& x, const Scalar& y, const RealScalar&)
-  {
-    return x == y;
-  }
-  static inline bool isApproxOrLessThan(const Scalar& x, const Scalar& y, const RealScalar&)
-  {
-    return x <= y;
-  }
-};
-
-template<typename Scalar>
-struct scalar_fuzzy_default_impl<Scalar, true, false>
-{
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  template<typename OtherScalar>
-  static inline bool isMuchSmallerThan(const Scalar& x, const OtherScalar& y, const RealScalar& prec)
-  {
-    return numext::abs2(x) <= numext::abs2(y) * prec * prec;
-  }
-  static inline bool isApprox(const Scalar& x, const Scalar& y, const RealScalar& prec)
-  {
-    using std::min;
-    return numext::abs2(x - y) <= (min)(numext::abs2(x), numext::abs2(y)) * prec * prec;
-  }
-};
-
-template<typename Scalar>
-struct scalar_fuzzy_impl : scalar_fuzzy_default_impl<Scalar, NumTraits<Scalar>::IsComplex, NumTraits<Scalar>::IsInteger> {};
-
-template<typename Scalar, typename OtherScalar>
-inline bool isMuchSmallerThan(const Scalar& x, const OtherScalar& y,
-                              const typename NumTraits<Scalar>::Real &precision = NumTraits<Scalar>::dummy_precision())
-{
-  return scalar_fuzzy_impl<Scalar>::template isMuchSmallerThan<OtherScalar>(x, y, precision);
-}
-
-template<typename Scalar>
-inline bool isApprox(const Scalar& x, const Scalar& y,
-                     const typename NumTraits<Scalar>::Real &precision = NumTraits<Scalar>::dummy_precision())
-{
-  return scalar_fuzzy_impl<Scalar>::isApprox(x, y, precision);
-}
-
-template<typename Scalar>
-inline bool isApproxOrLessThan(const Scalar& x, const Scalar& y,
-                               const typename NumTraits<Scalar>::Real &precision = NumTraits<Scalar>::dummy_precision())
-{
-  return scalar_fuzzy_impl<Scalar>::isApproxOrLessThan(x, y, precision);
-}
-
-/******************************************
-***  The special case of the  bool type ***
-******************************************/
-
-template<> struct random_impl<bool>
-{
-  static inline bool run()
-  {
-    return random<int>(0,1)==0 ? false : true;
-  }
-};
-
-template<> struct scalar_fuzzy_impl<bool>
-{
-  typedef bool RealScalar;
-  
-  template<typename OtherScalar>
-  static inline bool isMuchSmallerThan(const bool& x, const bool&, const bool&)
-  {
-    return !x;
-  }
-  
-  static inline bool isApprox(bool x, bool y, bool)
-  {
-    return x == y;
-  }
-
-  static inline bool isApproxOrLessThan(const bool& x, const bool& y, const bool&)
-  {
-    return (!x) || y;
-  }
-  
-};
-
-  
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_MATHFUNCTIONS_H
diff --git a/lib/Eigen/src/Core/Matrix.h b/lib/Eigen/src/Core/Matrix.h
deleted file mode 100644
index 02be142d..00000000
--- a/lib/Eigen/src/Core/Matrix.h
+++ /dev/null
@@ -1,420 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MATRIX_H
-#define EIGEN_MATRIX_H
-
-namespace Eigen {
-
-/** \class Matrix
-  * \ingroup Core_Module
-  *
-  * \brief The matrix class, also used for vectors and row-vectors
-  *
-  * The %Matrix class is the work-horse for all \em dense (\ref dense "note") matrices and vectors within Eigen.
-  * Vectors are matrices with one column, and row-vectors are matrices with one row.
-  *
-  * The %Matrix class encompasses \em both fixed-size and dynamic-size objects (\ref fixedsize "note").
-  *
-  * The first three template parameters are required:
-  * \tparam _Scalar \anchor matrix_tparam_scalar Numeric type, e.g. float, double, int or std::complex<float>.
-  *                 User defined sclar types are supported as well (see \ref user_defined_scalars "here").
-  * \tparam _Rows Number of rows, or \b Dynamic
-  * \tparam _Cols Number of columns, or \b Dynamic
-  *
-  * The remaining template parameters are optional -- in most cases you don't have to worry about them.
-  * \tparam _Options \anchor matrix_tparam_options A combination of either \b #RowMajor or \b #ColMajor, and of either
-  *                 \b #AutoAlign or \b #DontAlign.
-  *                 The former controls \ref TopicStorageOrders "storage order", and defaults to column-major. The latter controls alignment, which is required
-  *                 for vectorization. It defaults to aligning matrices except for fixed sizes that aren't a multiple of the packet size.
-  * \tparam _MaxRows Maximum number of rows. Defaults to \a _Rows (\ref maxrows "note").
-  * \tparam _MaxCols Maximum number of columns. Defaults to \a _Cols (\ref maxrows "note").
-  *
-  * Eigen provides a number of typedefs covering the usual cases. Here are some examples:
-  *
-  * \li \c Matrix2d is a 2x2 square matrix of doubles (\c Matrix<double, 2, 2>)
-  * \li \c Vector4f is a vector of 4 floats (\c Matrix<float, 4, 1>)
-  * \li \c RowVector3i is a row-vector of 3 ints (\c Matrix<int, 1, 3>)
-  *
-  * \li \c MatrixXf is a dynamic-size matrix of floats (\c Matrix<float, Dynamic, Dynamic>)
-  * \li \c VectorXf is a dynamic-size vector of floats (\c Matrix<float, Dynamic, 1>)
-  *
-  * \li \c Matrix2Xf is a partially fixed-size (dynamic-size) matrix of floats (\c Matrix<float, 2, Dynamic>)
-  * \li \c MatrixX3d is a partially dynamic-size (fixed-size) matrix of double (\c Matrix<double, Dynamic, 3>)
-  *
-  * See \link matrixtypedefs this page \endlink for a complete list of predefined \em %Matrix and \em Vector typedefs.
-  *
-  * You can access elements of vectors and matrices using normal subscripting:
-  *
-  * \code
-  * Eigen::VectorXd v(10);
-  * v[0] = 0.1;
-  * v[1] = 0.2;
-  * v(0) = 0.3;
-  * v(1) = 0.4;
-  *
-  * Eigen::MatrixXi m(10, 10);
-  * m(0, 1) = 1;
-  * m(0, 2) = 2;
-  * m(0, 3) = 3;
-  * \endcode
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_MATRIX_PLUGIN.
-  *
-  * <i><b>Some notes:</b></i>
-  *
-  * <dl>
-  * <dt><b>\anchor dense Dense versus sparse:</b></dt>
-  * <dd>This %Matrix class handles dense, not sparse matrices and vectors. For sparse matrices and vectors, see the Sparse module.
-  *
-  * Dense matrices and vectors are plain usual arrays of coefficients. All the coefficients are stored, in an ordinary contiguous array.
-  * This is unlike Sparse matrices and vectors where the coefficients are stored as a list of nonzero coefficients.</dd>
-  *
-  * <dt><b>\anchor fixedsize Fixed-size versus dynamic-size:</b></dt>
-  * <dd>Fixed-size means that the numbers of rows and columns are known are compile-time. In this case, Eigen allocates the array
-  * of coefficients as a fixed-size array, as a class member. This makes sense for very small matrices, typically up to 4x4, sometimes up
-  * to 16x16. Larger matrices should be declared as dynamic-size even if one happens to know their size at compile-time.
-  *
-  * Dynamic-size means that the numbers of rows or columns are not necessarily known at compile-time. In this case they are runtime
-  * variables, and the array of coefficients is allocated dynamically on the heap.
-  *
-  * Note that \em dense matrices, be they Fixed-size or Dynamic-size, <em>do not</em> expand dynamically in the sense of a std::map.
-  * If you want this behavior, see the Sparse module.</dd>
-  *
-  * <dt><b>\anchor maxrows _MaxRows and _MaxCols:</b></dt>
-  * <dd>In most cases, one just leaves these parameters to the default values.
-  * These parameters mean the maximum size of rows and columns that the matrix may have. They are useful in cases
-  * when the exact numbers of rows and columns are not known are compile-time, but it is known at compile-time that they cannot
-  * exceed a certain value. This happens when taking dynamic-size blocks inside fixed-size matrices: in this case _MaxRows and _MaxCols
-  * are the dimensions of the original matrix, while _Rows and _Cols are Dynamic.</dd>
-  * </dl>
-  *
-  * \see MatrixBase for the majority of the API methods for matrices, \ref TopicClassHierarchy, 
-  * \ref TopicStorageOrders 
-  */
-
-namespace internal {
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-struct traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
-{
-  typedef _Scalar Scalar;
-  typedef Dense StorageKind;
-  typedef DenseIndex Index;
-  typedef MatrixXpr XprKind;
-  enum {
-    RowsAtCompileTime = _Rows,
-    ColsAtCompileTime = _Cols,
-    MaxRowsAtCompileTime = _MaxRows,
-    MaxColsAtCompileTime = _MaxCols,
-    Flags = compute_matrix_flags<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::ret,
-    CoeffReadCost = NumTraits<Scalar>::ReadCost,
-    Options = _Options,
-    InnerStrideAtCompileTime = 1,
-    OuterStrideAtCompileTime = (Options&RowMajor) ? ColsAtCompileTime : RowsAtCompileTime
-  };
-};
-}
-
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-class Matrix
-  : public PlainObjectBase<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
-{
-  public:
-
-    /** \brief Base class typedef.
-      * \sa PlainObjectBase
-      */
-    typedef PlainObjectBase<Matrix> Base;
-
-    enum { Options = _Options };
-
-    EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
-
-    typedef typename Base::PlainObject PlainObject;
-
-    using Base::base;
-    using Base::coeffRef;
-
-    /**
-      * \brief Assigns matrices to each other.
-      *
-      * \note This is a special case of the templated operator=. Its purpose is
-      * to prevent a default operator= from hiding the templated operator=.
-      *
-      * \callgraph
-      */
-    EIGEN_STRONG_INLINE Matrix& operator=(const Matrix& other)
-    {
-      return Base::_set(other);
-    }
-
-    /** \internal
-      * \brief Copies the value of the expression \a other into \c *this with automatic resizing.
-      *
-      * *this might be resized to match the dimensions of \a other. If *this was a null matrix (not already initialized),
-      * it will be initialized.
-      *
-      * Note that copying a row-vector into a vector (and conversely) is allowed.
-      * The resizing, if any, is then done in the appropriate way so that row-vectors
-      * remain row-vectors and vectors remain vectors.
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Matrix& operator=(const MatrixBase<OtherDerived>& other)
-    {
-      return Base::_set(other);
-    }
-
-    /* Here, doxygen failed to copy the brief information when using \copydoc */
-
-    /**
-      * \brief Copies the generic expression \a other into *this.
-      * \copydetails DenseBase::operator=(const EigenBase<OtherDerived> &other)
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Matrix& operator=(const EigenBase<OtherDerived> &other)
-    {
-      return Base::operator=(other);
-    }
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Matrix& operator=(const ReturnByValue<OtherDerived>& func)
-    {
-      return Base::operator=(func);
-    }
-
-    /** \brief Default constructor.
-      *
-      * For fixed-size matrices, does nothing.
-      *
-      * For dynamic-size matrices, creates an empty matrix of size 0. Does not allocate any array. Such a matrix
-      * is called a null matrix. This constructor is the unique way to create null matrices: resizing
-      * a matrix to 0 is not supported.
-      *
-      * \sa resize(Index,Index)
-      */
-    EIGEN_STRONG_INLINE Matrix() : Base()
-    {
-      Base::_check_template_params();
-      EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-    }
-
-    // FIXME is it still needed
-    Matrix(internal::constructor_without_unaligned_array_assert)
-      : Base(internal::constructor_without_unaligned_array_assert())
-    { Base::_check_template_params(); EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED }
-
-#ifdef EIGEN_HAVE_RVALUE_REFERENCES
-    Matrix(Matrix&& other)
-      : Base(std::move(other))
-    {
-      Base::_check_template_params();
-      if (RowsAtCompileTime!=Dynamic && ColsAtCompileTime!=Dynamic)
-        Base::_set_noalias(other);
-    }
-    Matrix& operator=(Matrix&& other)
-    {
-      other.swap(*this);
-      return *this;
-    }
-#endif
-
-    /** \brief Constructs a vector or row-vector with given dimension. \only_for_vectors
-      *
-      * Note that this is only useful for dynamic-size vectors. For fixed-size vectors,
-      * it is redundant to pass the dimension here, so it makes more sense to use the default
-      * constructor Matrix() instead.
-      */
-    EIGEN_STRONG_INLINE explicit Matrix(Index dim)
-      : Base(dim, RowsAtCompileTime == 1 ? 1 : dim, ColsAtCompileTime == 1 ? 1 : dim)
-    {
-      Base::_check_template_params();
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(Matrix)
-      eigen_assert(dim >= 0);
-      eigen_assert(SizeAtCompileTime == Dynamic || SizeAtCompileTime == dim);
-      EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    template<typename T0, typename T1>
-    EIGEN_STRONG_INLINE Matrix(const T0& x, const T1& y)
-    {
-      Base::_check_template_params();
-      Base::template _init2<T0,T1>(x, y);
-    }
-    #else
-    /** \brief Constructs an uninitialized matrix with \a rows rows and \a cols columns.
-      *
-      * This is useful for dynamic-size matrices. For fixed-size matrices,
-      * it is redundant to pass these parameters, so one should use the default constructor
-      * Matrix() instead. */
-    Matrix(Index rows, Index cols);
-    /** \brief Constructs an initialized 2D vector with given coefficients */
-    Matrix(const Scalar& x, const Scalar& y);
-    #endif
-
-    /** \brief Constructs an initialized 3D vector with given coefficients */
-    EIGEN_STRONG_INLINE Matrix(const Scalar& x, const Scalar& y, const Scalar& z)
-    {
-      Base::_check_template_params();
-      EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Matrix, 3)
-      m_storage.data()[0] = x;
-      m_storage.data()[1] = y;
-      m_storage.data()[2] = z;
-    }
-    /** \brief Constructs an initialized 4D vector with given coefficients */
-    EIGEN_STRONG_INLINE Matrix(const Scalar& x, const Scalar& y, const Scalar& z, const Scalar& w)
-    {
-      Base::_check_template_params();
-      EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Matrix, 4)
-      m_storage.data()[0] = x;
-      m_storage.data()[1] = y;
-      m_storage.data()[2] = z;
-      m_storage.data()[3] = w;
-    }
-
-    explicit Matrix(const Scalar *data);
-
-    /** \brief Constructor copying the value of the expression \a other */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Matrix(const MatrixBase<OtherDerived>& other)
-             : Base(other.rows() * other.cols(), other.rows(), other.cols())
-    {
-      // This test resides here, to bring the error messages closer to the user. Normally, these checks
-      // are performed deeply within the library, thus causing long and scary error traces.
-      EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename OtherDerived::Scalar>::value),
-        YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-
-      Base::_check_template_params();
-      Base::_set_noalias(other);
-    }
-    /** \brief Copy constructor */
-    EIGEN_STRONG_INLINE Matrix(const Matrix& other)
-            : Base(other.rows() * other.cols(), other.rows(), other.cols())
-    {
-      Base::_check_template_params();
-      Base::_set_noalias(other);
-    }
-    /** \brief Copy constructor with in-place evaluation */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Matrix(const ReturnByValue<OtherDerived>& other)
-    {
-      Base::_check_template_params();
-      Base::resize(other.rows(), other.cols());
-      other.evalTo(*this);
-    }
-
-    /** \brief Copy constructor for generic expressions.
-      * \sa MatrixBase::operator=(const EigenBase<OtherDerived>&)
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Matrix(const EigenBase<OtherDerived> &other)
-      : Base(other.derived().rows() * other.derived().cols(), other.derived().rows(), other.derived().cols())
-    {
-      Base::_check_template_params();
-      Base::_resize_to_match(other);
-      // FIXME/CHECK: isn't *this = other.derived() more efficient. it allows to
-      //              go for pure _set() implementations, right?
-      *this = other;
-    }
-
-    /** \internal
-      * \brief Override MatrixBase::swap() since for dynamic-sized matrices
-      * of same type it is enough to swap the data pointers.
-      */
-    template<typename OtherDerived>
-    void swap(MatrixBase<OtherDerived> const & other)
-    { this->_swap(other.derived()); }
-
-    inline Index innerStride() const { return 1; }
-    inline Index outerStride() const { return this->innerSize(); }
-
-    /////////// Geometry module ///////////
-
-    template<typename OtherDerived>
-    explicit Matrix(const RotationBase<OtherDerived,ColsAtCompileTime>& r);
-    template<typename OtherDerived>
-    Matrix& operator=(const RotationBase<OtherDerived,ColsAtCompileTime>& r);
-
-    #ifdef EIGEN2_SUPPORT
-    template<typename OtherDerived>
-    explicit Matrix(const eigen2_RotationBase<OtherDerived,ColsAtCompileTime>& r);
-    template<typename OtherDerived>
-    Matrix& operator=(const eigen2_RotationBase<OtherDerived,ColsAtCompileTime>& r);
-    #endif
-
-    // allow to extend Matrix outside Eigen
-    #ifdef EIGEN_MATRIX_PLUGIN
-    #include EIGEN_MATRIX_PLUGIN
-    #endif
-
-  protected:
-    template <typename Derived, typename OtherDerived, bool IsVector>
-    friend struct internal::conservative_resize_like_impl;
-
-    using Base::m_storage;
-};
-
-/** \defgroup matrixtypedefs Global matrix typedefs
-  *
-  * \ingroup Core_Module
-  *
-  * Eigen defines several typedef shortcuts for most common matrix and vector types.
-  *
-  * The general patterns are the following:
-  *
-  * \c MatrixSizeType where \c Size can be \c 2,\c 3,\c 4 for fixed size square matrices or \c X for dynamic size,
-  * and where \c Type can be \c i for integer, \c f for float, \c d for double, \c cf for complex float, \c cd
-  * for complex double.
-  *
-  * For example, \c Matrix3d is a fixed-size 3x3 matrix type of doubles, and \c MatrixXf is a dynamic-size matrix of floats.
-  *
-  * There are also \c VectorSizeType and \c RowVectorSizeType which are self-explanatory. For example, \c Vector4cf is
-  * a fixed-size vector of 4 complex floats.
-  *
-  * \sa class Matrix
-  */
-
-#define EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix)   \
-/** \ingroup matrixtypedefs */                                    \
-typedef Matrix<Type, Size, Size> Matrix##SizeSuffix##TypeSuffix;  \
-/** \ingroup matrixtypedefs */                                    \
-typedef Matrix<Type, Size, 1>    Vector##SizeSuffix##TypeSuffix;  \
-/** \ingroup matrixtypedefs */                                    \
-typedef Matrix<Type, 1, Size>    RowVector##SizeSuffix##TypeSuffix;
-
-#define EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, Size)         \
-/** \ingroup matrixtypedefs */                                    \
-typedef Matrix<Type, Size, Dynamic> Matrix##Size##X##TypeSuffix;  \
-/** \ingroup matrixtypedefs */                                    \
-typedef Matrix<Type, Dynamic, Size> Matrix##X##Size##TypeSuffix;
-
-#define EIGEN_MAKE_TYPEDEFS_ALL_SIZES(Type, TypeSuffix) \
-EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 2, 2) \
-EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 3, 3) \
-EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 4, 4) \
-EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Dynamic, X) \
-EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, 2) \
-EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, 3) \
-EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, 4)
-
-EIGEN_MAKE_TYPEDEFS_ALL_SIZES(int,                  i)
-EIGEN_MAKE_TYPEDEFS_ALL_SIZES(float,                f)
-EIGEN_MAKE_TYPEDEFS_ALL_SIZES(double,               d)
-EIGEN_MAKE_TYPEDEFS_ALL_SIZES(std::complex<float>,  cf)
-EIGEN_MAKE_TYPEDEFS_ALL_SIZES(std::complex<double>, cd)
-
-#undef EIGEN_MAKE_TYPEDEFS_ALL_SIZES
-#undef EIGEN_MAKE_TYPEDEFS
-#undef EIGEN_MAKE_FIXED_TYPEDEFS
-
-} // end namespace Eigen
-
-#endif // EIGEN_MATRIX_H
diff --git a/lib/Eigen/src/Core/MatrixBase.h b/lib/Eigen/src/Core/MatrixBase.h
deleted file mode 100644
index e83ef4dc..00000000
--- a/lib/Eigen/src/Core/MatrixBase.h
+++ /dev/null
@@ -1,563 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MATRIXBASE_H
-#define EIGEN_MATRIXBASE_H
-
-namespace Eigen {
-
-/** \class MatrixBase
-  * \ingroup Core_Module
-  *
-  * \brief Base class for all dense matrices, vectors, and expressions
-  *
-  * This class is the base that is inherited by all matrix, vector, and related expression
-  * types. Most of the Eigen API is contained in this class, and its base classes. Other important
-  * classes for the Eigen API are Matrix, and VectorwiseOp.
-  *
-  * Note that some methods are defined in other modules such as the \ref LU_Module LU module
-  * for all functions related to matrix inversions.
-  *
-  * \tparam Derived is the derived type, e.g. a matrix type, or an expression, etc.
-  *
-  * When writing a function taking Eigen objects as argument, if you want your function
-  * to take as argument any matrix, vector, or expression, just let it take a
-  * MatrixBase argument. As an example, here is a function printFirstRow which, given
-  * a matrix, vector, or expression \a x, prints the first row of \a x.
-  *
-  * \code
-    template<typename Derived>
-    void printFirstRow(const Eigen::MatrixBase<Derived>& x)
-    {
-      cout << x.row(0) << endl;
-    }
-  * \endcode
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_MATRIXBASE_PLUGIN.
-  *
-  * \sa \ref TopicClassHierarchy
-  */
-template<typename Derived> class MatrixBase
-  : public DenseBase<Derived>
-{
-  public:
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    typedef MatrixBase StorageBaseType;
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename internal::packet_traits<Scalar>::type PacketScalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-    typedef DenseBase<Derived> Base;
-    using Base::RowsAtCompileTime;
-    using Base::ColsAtCompileTime;
-    using Base::SizeAtCompileTime;
-    using Base::MaxRowsAtCompileTime;
-    using Base::MaxColsAtCompileTime;
-    using Base::MaxSizeAtCompileTime;
-    using Base::IsVectorAtCompileTime;
-    using Base::Flags;
-    using Base::CoeffReadCost;
-
-    using Base::derived;
-    using Base::const_cast_derived;
-    using Base::rows;
-    using Base::cols;
-    using Base::size;
-    using Base::coeff;
-    using Base::coeffRef;
-    using Base::lazyAssign;
-    using Base::eval;
-    using Base::operator+=;
-    using Base::operator-=;
-    using Base::operator*=;
-    using Base::operator/=;
-
-    typedef typename Base::CoeffReturnType CoeffReturnType;
-    typedef typename Base::ConstTransposeReturnType ConstTransposeReturnType;
-    typedef typename Base::RowXpr RowXpr;
-    typedef typename Base::ColXpr ColXpr;
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-
-
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** type of the equivalent square matrix */
-    typedef Matrix<Scalar,EIGEN_SIZE_MAX(RowsAtCompileTime,ColsAtCompileTime),
-                          EIGEN_SIZE_MAX(RowsAtCompileTime,ColsAtCompileTime)> SquareMatrixType;
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-
-    /** \returns the size of the main diagonal, which is min(rows(),cols()).
-      * \sa rows(), cols(), SizeAtCompileTime. */
-    inline Index diagonalSize() const { return (std::min)(rows(),cols()); }
-
-    /** \brief The plain matrix type corresponding to this expression.
-      *
-      * This is not necessarily exactly the return type of eval(). In the case of plain matrices,
-      * the return type of eval() is a const reference to a matrix, not a matrix! It is however guaranteed
-      * that the return type of eval() is either PlainObject or const PlainObject&.
-      */
-    typedef Matrix<typename internal::traits<Derived>::Scalar,
-                internal::traits<Derived>::RowsAtCompileTime,
-                internal::traits<Derived>::ColsAtCompileTime,
-                AutoAlign | (internal::traits<Derived>::Flags&RowMajorBit ? RowMajor : ColMajor),
-                internal::traits<Derived>::MaxRowsAtCompileTime,
-                internal::traits<Derived>::MaxColsAtCompileTime
-          > PlainObject;
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** \internal Represents a matrix with all coefficients equal to one another*/
-    typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>,Derived> ConstantReturnType;
-    /** \internal the return type of MatrixBase::adjoint() */
-    typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
-                        CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, ConstTransposeReturnType>,
-                        ConstTransposeReturnType
-                     >::type AdjointReturnType;
-    /** \internal Return type of eigenvalues() */
-    typedef Matrix<std::complex<RealScalar>, internal::traits<Derived>::ColsAtCompileTime, 1, ColMajor> EigenvaluesReturnType;
-    /** \internal the return type of identity */
-    typedef CwiseNullaryOp<internal::scalar_identity_op<Scalar>,Derived> IdentityReturnType;
-    /** \internal the return type of unit vectors */
-    typedef Block<const CwiseNullaryOp<internal::scalar_identity_op<Scalar>, SquareMatrixType>,
-                  internal::traits<Derived>::RowsAtCompileTime,
-                  internal::traits<Derived>::ColsAtCompileTime> BasisReturnType;
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-
-#define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::MatrixBase
-#   include "../plugins/CommonCwiseUnaryOps.h"
-#   include "../plugins/CommonCwiseBinaryOps.h"
-#   include "../plugins/MatrixCwiseUnaryOps.h"
-#   include "../plugins/MatrixCwiseBinaryOps.h"
-#   ifdef EIGEN_MATRIXBASE_PLUGIN
-#     include EIGEN_MATRIXBASE_PLUGIN
-#   endif
-#undef EIGEN_CURRENT_STORAGE_BASE_CLASS
-
-    /** Special case of the template operator=, in order to prevent the compiler
-      * from generating a default operator= (issue hit with g++ 4.1)
-      */
-    Derived& operator=(const MatrixBase& other);
-
-    // We cannot inherit here via Base::operator= since it is causing
-    // trouble with MSVC.
-
-    template <typename OtherDerived>
-    Derived& operator=(const DenseBase<OtherDerived>& other);
-
-    template <typename OtherDerived>
-    Derived& operator=(const EigenBase<OtherDerived>& other);
-
-    template<typename OtherDerived>
-    Derived& operator=(const ReturnByValue<OtherDerived>& other);
-
-    template<typename ProductDerived, typename Lhs, typename Rhs>
-    Derived& lazyAssign(const ProductBase<ProductDerived, Lhs,Rhs>& other);
-
-    template<typename MatrixPower, typename Lhs, typename Rhs>
-    Derived& lazyAssign(const MatrixPowerProduct<MatrixPower, Lhs,Rhs>& other);
-
-    template<typename OtherDerived>
-    Derived& operator+=(const MatrixBase<OtherDerived>& other);
-    template<typename OtherDerived>
-    Derived& operator-=(const MatrixBase<OtherDerived>& other);
-
-    template<typename OtherDerived>
-    const typename ProductReturnType<Derived,OtherDerived>::Type
-    operator*(const MatrixBase<OtherDerived> &other) const;
-
-    template<typename OtherDerived>
-    const typename LazyProductReturnType<Derived,OtherDerived>::Type
-    lazyProduct(const MatrixBase<OtherDerived> &other) const;
-
-    template<typename OtherDerived>
-    Derived& operator*=(const EigenBase<OtherDerived>& other);
-
-    template<typename OtherDerived>
-    void applyOnTheLeft(const EigenBase<OtherDerived>& other);
-
-    template<typename OtherDerived>
-    void applyOnTheRight(const EigenBase<OtherDerived>& other);
-
-    template<typename DiagonalDerived>
-    const DiagonalProduct<Derived, DiagonalDerived, OnTheRight>
-    operator*(const DiagonalBase<DiagonalDerived> &diagonal) const;
-
-    template<typename OtherDerived>
-    typename internal::scalar_product_traits<typename internal::traits<Derived>::Scalar,typename internal::traits<OtherDerived>::Scalar>::ReturnType
-    dot(const MatrixBase<OtherDerived>& other) const;
-
-    #ifdef EIGEN2_SUPPORT
-      template<typename OtherDerived>
-      Scalar eigen2_dot(const MatrixBase<OtherDerived>& other) const;
-    #endif
-
-    RealScalar squaredNorm() const;
-    RealScalar norm() const;
-    RealScalar stableNorm() const;
-    RealScalar blueNorm() const;
-    RealScalar hypotNorm() const;
-    const PlainObject normalized() const;
-    void normalize();
-
-    const AdjointReturnType adjoint() const;
-    void adjointInPlace();
-
-    typedef Diagonal<Derived> DiagonalReturnType;
-    DiagonalReturnType diagonal();
-    typedef typename internal::add_const<Diagonal<const Derived> >::type ConstDiagonalReturnType;
-    ConstDiagonalReturnType diagonal() const;
-
-    template<int Index> struct DiagonalIndexReturnType { typedef Diagonal<Derived,Index> Type; };
-    template<int Index> struct ConstDiagonalIndexReturnType { typedef const Diagonal<const Derived,Index> Type; };
-
-    template<int Index> typename DiagonalIndexReturnType<Index>::Type diagonal();
-    template<int Index> typename ConstDiagonalIndexReturnType<Index>::Type diagonal() const;
-    
-    typedef Diagonal<Derived,DynamicIndex> DiagonalDynamicIndexReturnType;
-    typedef typename internal::add_const<Diagonal<const Derived,DynamicIndex> >::type ConstDiagonalDynamicIndexReturnType;
-
-    DiagonalDynamicIndexReturnType diagonal(Index index);
-    ConstDiagonalDynamicIndexReturnType diagonal(Index index) const;
-
-    #ifdef EIGEN2_SUPPORT
-    template<unsigned int Mode> typename internal::eigen2_part_return_type<Derived, Mode>::type part();
-    template<unsigned int Mode> const typename internal::eigen2_part_return_type<Derived, Mode>::type part() const;
-    
-    // huuuge hack. make Eigen2's matrix.part<Diagonal>() work in eigen3. Problem: Diagonal is now a class template instead
-    // of an integer constant. Solution: overload the part() method template wrt template parameters list.
-    template<template<typename T, int N> class U>
-    const DiagonalWrapper<ConstDiagonalReturnType> part() const
-    { return diagonal().asDiagonal(); }
-    #endif // EIGEN2_SUPPORT
-
-    template<unsigned int Mode> struct TriangularViewReturnType { typedef TriangularView<Derived, Mode> Type; };
-    template<unsigned int Mode> struct ConstTriangularViewReturnType { typedef const TriangularView<const Derived, Mode> Type; };
-
-    template<unsigned int Mode> typename TriangularViewReturnType<Mode>::Type triangularView();
-    template<unsigned int Mode> typename ConstTriangularViewReturnType<Mode>::Type triangularView() const;
-
-    template<unsigned int UpLo> struct SelfAdjointViewReturnType { typedef SelfAdjointView<Derived, UpLo> Type; };
-    template<unsigned int UpLo> struct ConstSelfAdjointViewReturnType { typedef const SelfAdjointView<const Derived, UpLo> Type; };
-
-    template<unsigned int UpLo> typename SelfAdjointViewReturnType<UpLo>::Type selfadjointView();
-    template<unsigned int UpLo> typename ConstSelfAdjointViewReturnType<UpLo>::Type selfadjointView() const;
-
-    const SparseView<Derived> sparseView(const Scalar& m_reference = Scalar(0),
-                                         const typename NumTraits<Scalar>::Real& m_epsilon = NumTraits<Scalar>::dummy_precision()) const;
-    static const IdentityReturnType Identity();
-    static const IdentityReturnType Identity(Index rows, Index cols);
-    static const BasisReturnType Unit(Index size, Index i);
-    static const BasisReturnType Unit(Index i);
-    static const BasisReturnType UnitX();
-    static const BasisReturnType UnitY();
-    static const BasisReturnType UnitZ();
-    static const BasisReturnType UnitW();
-
-    const DiagonalWrapper<const Derived> asDiagonal() const;
-    const PermutationWrapper<const Derived> asPermutation() const;
-
-    Derived& setIdentity();
-    Derived& setIdentity(Index rows, Index cols);
-
-    bool isIdentity(const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-    bool isDiagonal(const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-
-    bool isUpperTriangular(const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-    bool isLowerTriangular(const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-
-    template<typename OtherDerived>
-    bool isOrthogonal(const MatrixBase<OtherDerived>& other,
-                      const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-    bool isUnitary(const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
-
-    /** \returns true if each coefficients of \c *this and \a other are all exactly equal.
-      * \warning When using floating point scalar values you probably should rather use a
-      *          fuzzy comparison such as isApprox()
-      * \sa isApprox(), operator!= */
-    template<typename OtherDerived>
-    inline bool operator==(const MatrixBase<OtherDerived>& other) const
-    { return cwiseEqual(other).all(); }
-
-    /** \returns true if at least one pair of coefficients of \c *this and \a other are not exactly equal to each other.
-      * \warning When using floating point scalar values you probably should rather use a
-      *          fuzzy comparison such as isApprox()
-      * \sa isApprox(), operator== */
-    template<typename OtherDerived>
-    inline bool operator!=(const MatrixBase<OtherDerived>& other) const
-    { return cwiseNotEqual(other).any(); }
-
-    NoAlias<Derived,Eigen::MatrixBase > noalias();
-
-    inline const ForceAlignedAccess<Derived> forceAlignedAccess() const;
-    inline ForceAlignedAccess<Derived> forceAlignedAccess();
-    template<bool Enable> inline typename internal::add_const_on_value_type<typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type>::type forceAlignedAccessIf() const;
-    template<bool Enable> inline typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type forceAlignedAccessIf();
-
-    Scalar trace() const;
-
-/////////// Array module ///////////
-
-    template<int p> RealScalar lpNorm() const;
-
-    MatrixBase<Derived>& matrix() { return *this; }
-    const MatrixBase<Derived>& matrix() const { return *this; }
-
-    /** \returns an \link Eigen::ArrayBase Array \endlink expression of this matrix
-      * \sa ArrayBase::matrix() */
-    ArrayWrapper<Derived> array() { return derived(); }
-    const ArrayWrapper<const Derived> array() const { return derived(); }
-
-/////////// LU module ///////////
-
-    const FullPivLU<PlainObject> fullPivLu() const;
-    const PartialPivLU<PlainObject> partialPivLu() const;
-
-    #if EIGEN2_SUPPORT_STAGE < STAGE20_RESOLVE_API_CONFLICTS
-    const LU<PlainObject> lu() const;
-    #endif
-
-    #ifdef EIGEN2_SUPPORT
-    const LU<PlainObject> eigen2_lu() const;
-    #endif
-
-    #if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
-    const PartialPivLU<PlainObject> lu() const;
-    #endif
-    
-    #ifdef EIGEN2_SUPPORT
-    template<typename ResultType>
-    void computeInverse(MatrixBase<ResultType> *result) const {
-      *result = this->inverse();
-    }
-    #endif
-
-    const internal::inverse_impl<Derived> inverse() const;
-    template<typename ResultType>
-    void computeInverseAndDetWithCheck(
-      ResultType& inverse,
-      typename ResultType::Scalar& determinant,
-      bool& invertible,
-      const RealScalar& absDeterminantThreshold = NumTraits<Scalar>::dummy_precision()
-    ) const;
-    template<typename ResultType>
-    void computeInverseWithCheck(
-      ResultType& inverse,
-      bool& invertible,
-      const RealScalar& absDeterminantThreshold = NumTraits<Scalar>::dummy_precision()
-    ) const;
-    Scalar determinant() const;
-
-/////////// Cholesky module ///////////
-
-    const LLT<PlainObject>  llt() const;
-    const LDLT<PlainObject> ldlt() const;
-
-/////////// QR module ///////////
-
-    const HouseholderQR<PlainObject> householderQr() const;
-    const ColPivHouseholderQR<PlainObject> colPivHouseholderQr() const;
-    const FullPivHouseholderQR<PlainObject> fullPivHouseholderQr() const;
-    
-    #ifdef EIGEN2_SUPPORT
-    const QR<PlainObject> qr() const;
-    #endif
-
-    EigenvaluesReturnType eigenvalues() const;
-    RealScalar operatorNorm() const;
-
-/////////// SVD module ///////////
-
-    JacobiSVD<PlainObject> jacobiSvd(unsigned int computationOptions = 0) const;
-
-    #ifdef EIGEN2_SUPPORT
-    SVD<PlainObject> svd() const;
-    #endif
-
-/////////// Geometry module ///////////
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /// \internal helper struct to form the return type of the cross product
-    template<typename OtherDerived> struct cross_product_return_type {
-      typedef typename internal::scalar_product_traits<typename internal::traits<Derived>::Scalar,typename internal::traits<OtherDerived>::Scalar>::ReturnType Scalar;
-      typedef Matrix<Scalar,MatrixBase::RowsAtCompileTime,MatrixBase::ColsAtCompileTime> type;
-    };
-    #endif // EIGEN_PARSED_BY_DOXYGEN
-    template<typename OtherDerived>
-    typename cross_product_return_type<OtherDerived>::type
-    cross(const MatrixBase<OtherDerived>& other) const;
-    template<typename OtherDerived>
-    PlainObject cross3(const MatrixBase<OtherDerived>& other) const;
-    PlainObject unitOrthogonal(void) const;
-    Matrix<Scalar,3,1> eulerAngles(Index a0, Index a1, Index a2) const;
-    
-    #if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
-    ScalarMultipleReturnType operator*(const UniformScaling<Scalar>& s) const;
-    // put this as separate enum value to work around possible GCC 4.3 bug (?)
-    enum { HomogeneousReturnTypeDirection = ColsAtCompileTime==1?Vertical:Horizontal };
-    typedef Homogeneous<Derived, HomogeneousReturnTypeDirection> HomogeneousReturnType;
-    HomogeneousReturnType homogeneous() const;
-    #endif
-    
-    enum {
-      SizeMinusOne = SizeAtCompileTime==Dynamic ? Dynamic : SizeAtCompileTime-1
-    };
-    typedef Block<const Derived,
-                  internal::traits<Derived>::ColsAtCompileTime==1 ? SizeMinusOne : 1,
-                  internal::traits<Derived>::ColsAtCompileTime==1 ? 1 : SizeMinusOne> ConstStartMinusOne;
-    typedef CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>,
-                const ConstStartMinusOne > HNormalizedReturnType;
-
-    const HNormalizedReturnType hnormalized() const;
-
-////////// Householder module ///////////
-
-    void makeHouseholderInPlace(Scalar& tau, RealScalar& beta);
-    template<typename EssentialPart>
-    void makeHouseholder(EssentialPart& essential,
-                         Scalar& tau, RealScalar& beta) const;
-    template<typename EssentialPart>
-    void applyHouseholderOnTheLeft(const EssentialPart& essential,
-                                   const Scalar& tau,
-                                   Scalar* workspace);
-    template<typename EssentialPart>
-    void applyHouseholderOnTheRight(const EssentialPart& essential,
-                                    const Scalar& tau,
-                                    Scalar* workspace);
-
-///////// Jacobi module /////////
-
-    template<typename OtherScalar>
-    void applyOnTheLeft(Index p, Index q, const JacobiRotation<OtherScalar>& j);
-    template<typename OtherScalar>
-    void applyOnTheRight(Index p, Index q, const JacobiRotation<OtherScalar>& j);
-
-///////// SparseCore module /////////
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE const typename SparseMatrixBase<OtherDerived>::template CwiseProductDenseReturnType<Derived>::Type
-    cwiseProduct(const SparseMatrixBase<OtherDerived> &other) const
-    {
-      return other.cwiseProduct(derived());
-    }
-
-///////// MatrixFunctions module /////////
-
-    typedef typename internal::stem_function<Scalar>::type StemFunction;
-    const MatrixExponentialReturnValue<Derived> exp() const;
-    const MatrixFunctionReturnValue<Derived> matrixFunction(StemFunction f) const;
-    const MatrixFunctionReturnValue<Derived> cosh() const;
-    const MatrixFunctionReturnValue<Derived> sinh() const;
-    const MatrixFunctionReturnValue<Derived> cos() const;
-    const MatrixFunctionReturnValue<Derived> sin() const;
-    const MatrixSquareRootReturnValue<Derived> sqrt() const;
-    const MatrixLogarithmReturnValue<Derived> log() const;
-    const MatrixPowerReturnValue<Derived> pow(const RealScalar& p) const;
-
-#ifdef EIGEN2_SUPPORT
-    template<typename ProductDerived, typename Lhs, typename Rhs>
-    Derived& operator+=(const Flagged<ProductBase<ProductDerived, Lhs,Rhs>, 0,
-                                      EvalBeforeAssigningBit>& other);
-
-    template<typename ProductDerived, typename Lhs, typename Rhs>
-    Derived& operator-=(const Flagged<ProductBase<ProductDerived, Lhs,Rhs>, 0,
-                                      EvalBeforeAssigningBit>& other);
-
-    /** \deprecated because .lazy() is deprecated
-      * Overloaded for cache friendly product evaluation */
-    template<typename OtherDerived>
-    Derived& lazyAssign(const Flagged<OtherDerived, 0, EvalBeforeAssigningBit>& other)
-    { return lazyAssign(other._expression()); }
-
-    template<unsigned int Added>
-    const Flagged<Derived, Added, 0> marked() const;
-    const Flagged<Derived, 0, EvalBeforeAssigningBit> lazy() const;
-
-    inline const Cwise<Derived> cwise() const;
-    inline Cwise<Derived> cwise();
-
-    VectorBlock<Derived> start(Index size);
-    const VectorBlock<const Derived> start(Index size) const;
-    VectorBlock<Derived> end(Index size);
-    const VectorBlock<const Derived> end(Index size) const;
-    template<int Size> VectorBlock<Derived,Size> start();
-    template<int Size> const VectorBlock<const Derived,Size> start() const;
-    template<int Size> VectorBlock<Derived,Size> end();
-    template<int Size> const VectorBlock<const Derived,Size> end() const;
-
-    Minor<Derived> minor(Index row, Index col);
-    const Minor<Derived> minor(Index row, Index col) const;
-#endif
-
-  protected:
-    MatrixBase() : Base() {}
-
-  private:
-    explicit MatrixBase(int);
-    MatrixBase(int,int);
-    template<typename OtherDerived> explicit MatrixBase(const MatrixBase<OtherDerived>&);
-  protected:
-    // mixing arrays and matrices is not legal
-    template<typename OtherDerived> Derived& operator+=(const ArrayBase<OtherDerived>& )
-    {EIGEN_STATIC_ASSERT(std::ptrdiff_t(sizeof(typename OtherDerived::Scalar))==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES); return *this;}
-    // mixing arrays and matrices is not legal
-    template<typename OtherDerived> Derived& operator-=(const ArrayBase<OtherDerived>& )
-    {EIGEN_STATIC_ASSERT(std::ptrdiff_t(sizeof(typename OtherDerived::Scalar))==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES); return *this;}
-};
-
-
-/***************************************************************************
-* Implementation of matrix base methods
-***************************************************************************/
-
-/** replaces \c *this by \c *this * \a other.
-  *
-  * \returns a reference to \c *this
-  *
-  * Example: \include MatrixBase_applyOnTheRight.cpp
-  * Output: \verbinclude MatrixBase_applyOnTheRight.out
-  */
-template<typename Derived>
-template<typename OtherDerived>
-inline Derived&
-MatrixBase<Derived>::operator*=(const EigenBase<OtherDerived> &other)
-{
-  other.derived().applyThisOnTheRight(derived());
-  return derived();
-}
-
-/** replaces \c *this by \c *this * \a other. It is equivalent to MatrixBase::operator*=().
-  *
-  * Example: \include MatrixBase_applyOnTheRight.cpp
-  * Output: \verbinclude MatrixBase_applyOnTheRight.out
-  */
-template<typename Derived>
-template<typename OtherDerived>
-inline void MatrixBase<Derived>::applyOnTheRight(const EigenBase<OtherDerived> &other)
-{
-  other.derived().applyThisOnTheRight(derived());
-}
-
-/** replaces \c *this by \a other * \c *this.
-  *
-  * Example: \include MatrixBase_applyOnTheLeft.cpp
-  * Output: \verbinclude MatrixBase_applyOnTheLeft.out
-  */
-template<typename Derived>
-template<typename OtherDerived>
-inline void MatrixBase<Derived>::applyOnTheLeft(const EigenBase<OtherDerived> &other)
-{
-  other.derived().applyThisOnTheLeft(derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_MATRIXBASE_H
diff --git a/lib/Eigen/src/Core/NestByValue.h b/lib/Eigen/src/Core/NestByValue.h
deleted file mode 100644
index a893b176..00000000
--- a/lib/Eigen/src/Core/NestByValue.h
+++ /dev/null
@@ -1,111 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_NESTBYVALUE_H
-#define EIGEN_NESTBYVALUE_H
-
-namespace Eigen {
-
-/** \class NestByValue
-  * \ingroup Core_Module
-  *
-  * \brief Expression which must be nested by value
-  *
-  * \param ExpressionType the type of the object of which we are requiring nesting-by-value
-  *
-  * This class is the return type of MatrixBase::nestByValue()
-  * and most of the time this is the only way it is used.
-  *
-  * \sa MatrixBase::nestByValue()
-  */
-
-namespace internal {
-template<typename ExpressionType>
-struct traits<NestByValue<ExpressionType> > : public traits<ExpressionType>
-{};
-}
-
-template<typename ExpressionType> class NestByValue
-  : public internal::dense_xpr_base< NestByValue<ExpressionType> >::type
-{
-  public:
-
-    typedef typename internal::dense_xpr_base<NestByValue>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(NestByValue)
-
-    inline NestByValue(const ExpressionType& matrix) : m_expression(matrix) {}
-
-    inline Index rows() const { return m_expression.rows(); }
-    inline Index cols() const { return m_expression.cols(); }
-    inline Index outerStride() const { return m_expression.outerStride(); }
-    inline Index innerStride() const { return m_expression.innerStride(); }
-
-    inline const CoeffReturnType coeff(Index row, Index col) const
-    {
-      return m_expression.coeff(row, col);
-    }
-
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      return m_expression.const_cast_derived().coeffRef(row, col);
-    }
-
-    inline const CoeffReturnType coeff(Index index) const
-    {
-      return m_expression.coeff(index);
-    }
-
-    inline Scalar& coeffRef(Index index)
-    {
-      return m_expression.const_cast_derived().coeffRef(index);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index row, Index col) const
-    {
-      return m_expression.template packet<LoadMode>(row, col);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index row, Index col, const PacketScalar& x)
-    {
-      m_expression.const_cast_derived().template writePacket<LoadMode>(row, col, x);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index index) const
-    {
-      return m_expression.template packet<LoadMode>(index);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index index, const PacketScalar& x)
-    {
-      m_expression.const_cast_derived().template writePacket<LoadMode>(index, x);
-    }
-
-    operator const ExpressionType&() const { return m_expression; }
-
-  protected:
-    const ExpressionType m_expression;
-};
-
-/** \returns an expression of the temporary version of *this.
-  */
-template<typename Derived>
-inline const NestByValue<Derived>
-DenseBase<Derived>::nestByValue() const
-{
-  return NestByValue<Derived>(derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_NESTBYVALUE_H
diff --git a/lib/Eigen/src/Core/NoAlias.h b/lib/Eigen/src/Core/NoAlias.h
deleted file mode 100644
index 768bfb18..00000000
--- a/lib/Eigen/src/Core/NoAlias.h
+++ /dev/null
@@ -1,134 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_NOALIAS_H
-#define EIGEN_NOALIAS_H
-
-namespace Eigen {
-
-/** \class NoAlias
-  * \ingroup Core_Module
-  *
-  * \brief Pseudo expression providing an operator = assuming no aliasing
-  *
-  * \param ExpressionType the type of the object on which to do the lazy assignment
-  *
-  * This class represents an expression with special assignment operators
-  * assuming no aliasing between the target expression and the source expression.
-  * More precisely it alloas to bypass the EvalBeforeAssignBit flag of the source expression.
-  * It is the return type of MatrixBase::noalias()
-  * and most of the time this is the only way it is used.
-  *
-  * \sa MatrixBase::noalias()
-  */
-template<typename ExpressionType, template <typename> class StorageBase>
-class NoAlias
-{
-    typedef typename ExpressionType::Scalar Scalar;
-  public:
-    NoAlias(ExpressionType& expression) : m_expression(expression) {}
-
-    /** Behaves like MatrixBase::lazyAssign(other)
-      * \sa MatrixBase::lazyAssign() */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE ExpressionType& operator=(const StorageBase<OtherDerived>& other)
-    { return internal::assign_selector<ExpressionType,OtherDerived,false>::run(m_expression,other.derived()); }
-
-    /** \sa MatrixBase::operator+= */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE ExpressionType& operator+=(const StorageBase<OtherDerived>& other)
-    {
-      typedef SelfCwiseBinaryOp<internal::scalar_sum_op<Scalar>, ExpressionType, OtherDerived> SelfAdder;
-      SelfAdder tmp(m_expression);
-      typedef typename internal::nested<OtherDerived>::type OtherDerivedNested;
-      typedef typename internal::remove_all<OtherDerivedNested>::type _OtherDerivedNested;
-      internal::assign_selector<SelfAdder,_OtherDerivedNested,false>::run(tmp,OtherDerivedNested(other.derived()));
-      return m_expression;
-    }
-
-    /** \sa MatrixBase::operator-= */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE ExpressionType& operator-=(const StorageBase<OtherDerived>& other)
-    {
-      typedef SelfCwiseBinaryOp<internal::scalar_difference_op<Scalar>, ExpressionType, OtherDerived> SelfAdder;
-      SelfAdder tmp(m_expression);
-      typedef typename internal::nested<OtherDerived>::type OtherDerivedNested;
-      typedef typename internal::remove_all<OtherDerivedNested>::type _OtherDerivedNested;
-      internal::assign_selector<SelfAdder,_OtherDerivedNested,false>::run(tmp,OtherDerivedNested(other.derived()));
-      return m_expression;
-    }
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    template<typename ProductDerived, typename Lhs, typename Rhs>
-    EIGEN_STRONG_INLINE ExpressionType& operator+=(const ProductBase<ProductDerived, Lhs,Rhs>& other)
-    { other.derived().addTo(m_expression); return m_expression; }
-
-    template<typename ProductDerived, typename Lhs, typename Rhs>
-    EIGEN_STRONG_INLINE ExpressionType& operator-=(const ProductBase<ProductDerived, Lhs,Rhs>& other)
-    { other.derived().subTo(m_expression); return m_expression; }
-
-    template<typename Lhs, typename Rhs, int NestingFlags>
-    EIGEN_STRONG_INLINE ExpressionType& operator+=(const CoeffBasedProduct<Lhs,Rhs,NestingFlags>& other)
-    { return m_expression.derived() += CoeffBasedProduct<Lhs,Rhs,NestByRefBit>(other.lhs(), other.rhs()); }
-
-    template<typename Lhs, typename Rhs, int NestingFlags>
-    EIGEN_STRONG_INLINE ExpressionType& operator-=(const CoeffBasedProduct<Lhs,Rhs,NestingFlags>& other)
-    { return m_expression.derived() -= CoeffBasedProduct<Lhs,Rhs,NestByRefBit>(other.lhs(), other.rhs()); }
-    
-    template<typename OtherDerived>
-    ExpressionType& operator=(const ReturnByValue<OtherDerived>& func)
-    { return m_expression = func; }
-#endif
-
-    ExpressionType& expression() const
-    {
-      return m_expression;
-    }
-
-  protected:
-    ExpressionType& m_expression;
-};
-
-/** \returns a pseudo expression of \c *this with an operator= assuming
-  * no aliasing between \c *this and the source expression.
-  *
-  * More precisely, noalias() allows to bypass the EvalBeforeAssignBit flag.
-  * Currently, even though several expressions may alias, only product
-  * expressions have this flag. Therefore, noalias() is only usefull when
-  * the source expression contains a matrix product.
-  *
-  * Here are some examples where noalias is usefull:
-  * \code
-  * D.noalias()  = A * B;
-  * D.noalias() += A.transpose() * B;
-  * D.noalias() -= 2 * A * B.adjoint();
-  * \endcode
-  *
-  * On the other hand the following example will lead to a \b wrong result:
-  * \code
-  * A.noalias() = A * B;
-  * \endcode
-  * because the result matrix A is also an operand of the matrix product. Therefore,
-  * there is no alternative than evaluating A * B in a temporary, that is the default
-  * behavior when you write:
-  * \code
-  * A = A * B;
-  * \endcode
-  *
-  * \sa class NoAlias
-  */
-template<typename Derived>
-NoAlias<Derived,MatrixBase> MatrixBase<Derived>::noalias()
-{
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_NOALIAS_H
diff --git a/lib/Eigen/src/Core/NumTraits.h b/lib/Eigen/src/Core/NumTraits.h
deleted file mode 100644
index bac9e50b..00000000
--- a/lib/Eigen/src/Core/NumTraits.h
+++ /dev/null
@@ -1,150 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_NUMTRAITS_H
-#define EIGEN_NUMTRAITS_H
-
-namespace Eigen {
-
-/** \class NumTraits
-  * \ingroup Core_Module
-  *
-  * \brief Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
-  *
-  * \param T the numeric type at hand
-  *
-  * This class stores enums, typedefs and static methods giving information about a numeric type.
-  *
-  * The provided data consists of:
-  * \li A typedef \a Real, giving the "real part" type of \a T. If \a T is already real,
-  *     then \a Real is just a typedef to \a T. If \a T is \c std::complex<U> then \a Real
-  *     is a typedef to \a U.
-  * \li A typedef \a NonInteger, giving the type that should be used for operations producing non-integral values,
-  *     such as quotients, square roots, etc. If \a T is a floating-point type, then this typedef just gives
-  *     \a T again. Note however that many Eigen functions such as internal::sqrt simply refuse to
-  *     take integers. Outside of a few cases, Eigen doesn't do automatic type promotion. Thus, this typedef is
-  *     only intended as a helper for code that needs to explicitly promote types.
-  * \li A typedef \a Nested giving the type to use to nest a value inside of the expression tree. If you don't know what
-  *     this means, just use \a T here.
-  * \li An enum value \a IsComplex. It is equal to 1 if \a T is a \c std::complex
-  *     type, and to 0 otherwise.
-  * \li An enum value \a IsInteger. It is equal to \c 1 if \a T is an integer type such as \c int,
-  *     and to \c 0 otherwise.
-  * \li Enum values ReadCost, AddCost and MulCost representing a rough estimate of the number of CPU cycles needed
-  *     to by move / add / mul instructions respectively, assuming the data is already stored in CPU registers.
-  *     Stay vague here. No need to do architecture-specific stuff.
-  * \li An enum value \a IsSigned. It is equal to \c 1 if \a T is a signed type and to 0 if \a T is unsigned.
-  * \li An enum value \a RequireInitialization. It is equal to \c 1 if the constructor of the numeric type \a T must
-  *     be called, and to 0 if it is safe not to call it. Default is 0 if \a T is an arithmetic type, and 1 otherwise.
-  * \li An epsilon() function which, unlike std::numeric_limits::epsilon(), returns a \a Real instead of a \a T.
-  * \li A dummy_precision() function returning a weak epsilon value. It is mainly used as a default
-  *     value by the fuzzy comparison operators.
-  * \li highest() and lowest() functions returning the highest and lowest possible values respectively.
-  */
-
-template<typename T> struct GenericNumTraits
-{
-  enum {
-    IsInteger = std::numeric_limits<T>::is_integer,
-    IsSigned = std::numeric_limits<T>::is_signed,
-    IsComplex = 0,
-    RequireInitialization = internal::is_arithmetic<T>::value ? 0 : 1,
-    ReadCost = 1,
-    AddCost = 1,
-    MulCost = 1
-  };
-
-  typedef T Real;
-  typedef typename internal::conditional<
-                     IsInteger,
-                     typename internal::conditional<sizeof(T)<=2, float, double>::type,
-                     T
-                   >::type NonInteger;
-  typedef T Nested;
-
-  static inline Real epsilon() { return std::numeric_limits<T>::epsilon(); }
-  static inline Real dummy_precision()
-  {
-    // make sure to override this for floating-point types
-    return Real(0);
-  }
-  static inline T highest() { return (std::numeric_limits<T>::max)(); }
-  static inline T lowest()  { return IsInteger ? (std::numeric_limits<T>::min)() : (-(std::numeric_limits<T>::max)()); }
-  
-#ifdef EIGEN2_SUPPORT
-  enum {
-    HasFloatingPoint = !IsInteger
-  };
-  typedef NonInteger FloatingPoint;
-#endif
-};
-
-template<typename T> struct NumTraits : GenericNumTraits<T>
-{};
-
-template<> struct NumTraits<float>
-  : GenericNumTraits<float>
-{
-  static inline float dummy_precision() { return 1e-5f; }
-};
-
-template<> struct NumTraits<double> : GenericNumTraits<double>
-{
-  static inline double dummy_precision() { return 1e-12; }
-};
-
-template<> struct NumTraits<long double>
-  : GenericNumTraits<long double>
-{
-  static inline long double dummy_precision() { return 1e-15l; }
-};
-
-template<typename _Real> struct NumTraits<std::complex<_Real> >
-  : GenericNumTraits<std::complex<_Real> >
-{
-  typedef _Real Real;
-  enum {
-    IsComplex = 1,
-    RequireInitialization = NumTraits<_Real>::RequireInitialization,
-    ReadCost = 2 * NumTraits<_Real>::ReadCost,
-    AddCost = 2 * NumTraits<Real>::AddCost,
-    MulCost = 4 * NumTraits<Real>::MulCost + 2 * NumTraits<Real>::AddCost
-  };
-
-  static inline Real epsilon() { return NumTraits<Real>::epsilon(); }
-  static inline Real dummy_precision() { return NumTraits<Real>::dummy_precision(); }
-};
-
-template<typename Scalar, int Rows, int Cols, int Options, int MaxRows, int MaxCols>
-struct NumTraits<Array<Scalar, Rows, Cols, Options, MaxRows, MaxCols> >
-{
-  typedef Array<Scalar, Rows, Cols, Options, MaxRows, MaxCols> ArrayType;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  typedef Array<RealScalar, Rows, Cols, Options, MaxRows, MaxCols> Real;
-  typedef typename NumTraits<Scalar>::NonInteger NonIntegerScalar;
-  typedef Array<NonIntegerScalar, Rows, Cols, Options, MaxRows, MaxCols> NonInteger;
-  typedef ArrayType & Nested;
-  
-  enum {
-    IsComplex = NumTraits<Scalar>::IsComplex,
-    IsInteger = NumTraits<Scalar>::IsInteger,
-    IsSigned  = NumTraits<Scalar>::IsSigned,
-    RequireInitialization = 1,
-    ReadCost = ArrayType::SizeAtCompileTime==Dynamic ? Dynamic : ArrayType::SizeAtCompileTime * NumTraits<Scalar>::ReadCost,
-    AddCost  = ArrayType::SizeAtCompileTime==Dynamic ? Dynamic : ArrayType::SizeAtCompileTime * NumTraits<Scalar>::AddCost,
-    MulCost  = ArrayType::SizeAtCompileTime==Dynamic ? Dynamic : ArrayType::SizeAtCompileTime * NumTraits<Scalar>::MulCost
-  };
-  
-  static inline RealScalar epsilon() { return NumTraits<RealScalar>::epsilon(); }
-  static inline RealScalar dummy_precision() { return NumTraits<RealScalar>::dummy_precision(); }
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_NUMTRAITS_H
diff --git a/lib/Eigen/src/Core/PermutationMatrix.h b/lib/Eigen/src/Core/PermutationMatrix.h
deleted file mode 100644
index 85ffae26..00000000
--- a/lib/Eigen/src/Core/PermutationMatrix.h
+++ /dev/null
@@ -1,721 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2009-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PERMUTATIONMATRIX_H
-#define EIGEN_PERMUTATIONMATRIX_H
-
-namespace Eigen { 
-
-template<int RowCol,typename IndicesType,typename MatrixType, typename StorageKind> class PermutedImpl;
-
-/** \class PermutationBase
-  * \ingroup Core_Module
-  *
-  * \brief Base class for permutations
-  *
-  * \param Derived the derived class
-  *
-  * This class is the base class for all expressions representing a permutation matrix,
-  * internally stored as a vector of integers.
-  * The convention followed here is that if \f$ \sigma \f$ is a permutation, the corresponding permutation matrix
-  * \f$ P_\sigma \f$ is such that if \f$ (e_1,\ldots,e_p) \f$ is the canonical basis, we have:
-  *  \f[ P_\sigma(e_i) = e_{\sigma(i)}. \f]
-  * This convention ensures that for any two permutations \f$ \sigma, \tau \f$, we have:
-  *  \f[ P_{\sigma\circ\tau} = P_\sigma P_\tau. \f]
-  *
-  * Permutation matrices are square and invertible.
-  *
-  * Notice that in addition to the member functions and operators listed here, there also are non-member
-  * operator* to multiply any kind of permutation object with any kind of matrix expression (MatrixBase)
-  * on either side.
-  *
-  * \sa class PermutationMatrix, class PermutationWrapper
-  */
-
-namespace internal {
-
-template<typename PermutationType, typename MatrixType, int Side, bool Transposed=false>
-struct permut_matrix_product_retval;
-template<typename PermutationType, typename MatrixType, int Side, bool Transposed=false>
-struct permut_sparsematrix_product_retval;
-enum PermPermProduct_t {PermPermProduct};
-
-} // end namespace internal
-
-template<typename Derived>
-class PermutationBase : public EigenBase<Derived>
-{
-    typedef internal::traits<Derived> Traits;
-    typedef EigenBase<Derived> Base;
-  public:
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    typedef typename Traits::IndicesType IndicesType;
-    enum {
-      Flags = Traits::Flags,
-      CoeffReadCost = Traits::CoeffReadCost,
-      RowsAtCompileTime = Traits::RowsAtCompileTime,
-      ColsAtCompileTime = Traits::ColsAtCompileTime,
-      MaxRowsAtCompileTime = Traits::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = Traits::MaxColsAtCompileTime
-    };
-    typedef typename Traits::Scalar Scalar;
-    typedef typename Traits::Index Index;
-    typedef Matrix<Scalar,RowsAtCompileTime,ColsAtCompileTime,0,MaxRowsAtCompileTime,MaxColsAtCompileTime>
-            DenseMatrixType;
-    typedef PermutationMatrix<IndicesType::SizeAtCompileTime,IndicesType::MaxSizeAtCompileTime,Index>
-            PlainPermutationType;
-    using Base::derived;
-    #endif
-
-    /** Copies the other permutation into *this */
-    template<typename OtherDerived>
-    Derived& operator=(const PermutationBase<OtherDerived>& other)
-    {
-      indices() = other.indices();
-      return derived();
-    }
-
-    /** Assignment from the Transpositions \a tr */
-    template<typename OtherDerived>
-    Derived& operator=(const TranspositionsBase<OtherDerived>& tr)
-    {
-      setIdentity(tr.size());
-      for(Index k=size()-1; k>=0; --k)
-        applyTranspositionOnTheRight(k,tr.coeff(k));
-      return derived();
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    Derived& operator=(const PermutationBase& other)
-    {
-      indices() = other.indices();
-      return derived();
-    }
-    #endif
-
-    /** \returns the number of rows */
-    inline Index rows() const { return Index(indices().size()); }
-
-    /** \returns the number of columns */
-    inline Index cols() const { return Index(indices().size()); }
-
-    /** \returns the size of a side of the respective square matrix, i.e., the number of indices */
-    inline Index size() const { return Index(indices().size()); }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    template<typename DenseDerived>
-    void evalTo(MatrixBase<DenseDerived>& other) const
-    {
-      other.setZero();
-      for (int i=0; i<rows();++i)
-        other.coeffRef(indices().coeff(i),i) = typename DenseDerived::Scalar(1);
-    }
-    #endif
-
-    /** \returns a Matrix object initialized from this permutation matrix. Notice that it
-      * is inefficient to return this Matrix object by value. For efficiency, favor using
-      * the Matrix constructor taking EigenBase objects.
-      */
-    DenseMatrixType toDenseMatrix() const
-    {
-      return derived();
-    }
-
-    /** const version of indices(). */
-    const IndicesType& indices() const { return derived().indices(); }
-    /** \returns a reference to the stored array representing the permutation. */
-    IndicesType& indices() { return derived().indices(); }
-
-    /** Resizes to given size.
-      */
-    inline void resize(Index newSize)
-    {
-      indices().resize(newSize);
-    }
-
-    /** Sets *this to be the identity permutation matrix */
-    void setIdentity()
-    {
-      for(Index i = 0; i < size(); ++i)
-        indices().coeffRef(i) = i;
-    }
-
-    /** Sets *this to be the identity permutation matrix of given size.
-      */
-    void setIdentity(Index newSize)
-    {
-      resize(newSize);
-      setIdentity();
-    }
-
-    /** Multiplies *this by the transposition \f$(ij)\f$ on the left.
-      *
-      * \returns a reference to *this.
-      *
-      * \warning This is much slower than applyTranspositionOnTheRight(int,int):
-      * this has linear complexity and requires a lot of branching.
-      *
-      * \sa applyTranspositionOnTheRight(int,int)
-      */
-    Derived& applyTranspositionOnTheLeft(Index i, Index j)
-    {
-      eigen_assert(i>=0 && j>=0 && i<size() && j<size());
-      for(Index k = 0; k < size(); ++k)
-      {
-        if(indices().coeff(k) == i) indices().coeffRef(k) = j;
-        else if(indices().coeff(k) == j) indices().coeffRef(k) = i;
-      }
-      return derived();
-    }
-
-    /** Multiplies *this by the transposition \f$(ij)\f$ on the right.
-      *
-      * \returns a reference to *this.
-      *
-      * This is a fast operation, it only consists in swapping two indices.
-      *
-      * \sa applyTranspositionOnTheLeft(int,int)
-      */
-    Derived& applyTranspositionOnTheRight(Index i, Index j)
-    {
-      eigen_assert(i>=0 && j>=0 && i<size() && j<size());
-      std::swap(indices().coeffRef(i), indices().coeffRef(j));
-      return derived();
-    }
-
-    /** \returns the inverse permutation matrix.
-      *
-      * \note \note_try_to_help_rvo
-      */
-    inline Transpose<PermutationBase> inverse() const
-    { return derived(); }
-    /** \returns the tranpose permutation matrix.
-      *
-      * \note \note_try_to_help_rvo
-      */
-    inline Transpose<PermutationBase> transpose() const
-    { return derived(); }
-
-    /**** multiplication helpers to hopefully get RVO ****/
-
-  
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-  protected:
-    template<typename OtherDerived>
-    void assignTranspose(const PermutationBase<OtherDerived>& other)
-    {
-      for (int i=0; i<rows();++i) indices().coeffRef(other.indices().coeff(i)) = i;
-    }
-    template<typename Lhs,typename Rhs>
-    void assignProduct(const Lhs& lhs, const Rhs& rhs)
-    {
-      eigen_assert(lhs.cols() == rhs.rows());
-      for (int i=0; i<rows();++i) indices().coeffRef(i) = lhs.indices().coeff(rhs.indices().coeff(i));
-    }
-#endif
-
-  public:
-
-    /** \returns the product permutation matrix.
-      *
-      * \note \note_try_to_help_rvo
-      */
-    template<typename Other>
-    inline PlainPermutationType operator*(const PermutationBase<Other>& other) const
-    { return PlainPermutationType(internal::PermPermProduct, derived(), other.derived()); }
-
-    /** \returns the product of a permutation with another inverse permutation.
-      *
-      * \note \note_try_to_help_rvo
-      */
-    template<typename Other>
-    inline PlainPermutationType operator*(const Transpose<PermutationBase<Other> >& other) const
-    { return PlainPermutationType(internal::PermPermProduct, *this, other.eval()); }
-
-    /** \returns the product of an inverse permutation with another permutation.
-      *
-      * \note \note_try_to_help_rvo
-      */
-    template<typename Other> friend
-    inline PlainPermutationType operator*(const Transpose<PermutationBase<Other> >& other, const PermutationBase& perm)
-    { return PlainPermutationType(internal::PermPermProduct, other.eval(), perm); }
-    
-    /** \returns the determinant of the permutation matrix, which is either 1 or -1 depending on the parity of the permutation.
-      *
-      * This function is O(\c n) procedure allocating a buffer of \c n booleans.
-      */
-    Index determinant() const
-    {
-      Index res = 1;
-      Index n = size();
-      Matrix<bool,RowsAtCompileTime,1,0,MaxRowsAtCompileTime> mask(n);
-      mask.fill(false);
-      Index r = 0;
-      while(r < n)
-      {
-        // search for the next seed
-        while(r<n && mask[r]) r++;
-        if(r>=n)
-          break;
-        // we got one, let's follow it until we are back to the seed
-        Index k0 = r++;
-        mask.coeffRef(k0) = true;
-        for(Index k=indices().coeff(k0); k!=k0; k=indices().coeff(k))
-        {
-          mask.coeffRef(k) = true;
-          res = -res;
-        }
-      }
-      return res;
-    }
-
-  protected:
-
-};
-
-/** \class PermutationMatrix
-  * \ingroup Core_Module
-  *
-  * \brief Permutation matrix
-  *
-  * \param SizeAtCompileTime the number of rows/cols, or Dynamic
-  * \param MaxSizeAtCompileTime the maximum number of rows/cols, or Dynamic. This optional parameter defaults to SizeAtCompileTime. Most of the time, you should not have to specify it.
-  * \param IndexType the interger type of the indices
-  *
-  * This class represents a permutation matrix, internally stored as a vector of integers.
-  *
-  * \sa class PermutationBase, class PermutationWrapper, class DiagonalMatrix
-  */
-
-namespace internal {
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
-struct traits<PermutationMatrix<SizeAtCompileTime, MaxSizeAtCompileTime, IndexType> >
- : traits<Matrix<IndexType,SizeAtCompileTime,SizeAtCompileTime,0,MaxSizeAtCompileTime,MaxSizeAtCompileTime> >
-{
-  typedef IndexType Index;
-  typedef Matrix<IndexType, SizeAtCompileTime, 1, 0, MaxSizeAtCompileTime, 1> IndicesType;
-};
-}
-
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
-class PermutationMatrix : public PermutationBase<PermutationMatrix<SizeAtCompileTime, MaxSizeAtCompileTime, IndexType> >
-{
-    typedef PermutationBase<PermutationMatrix> Base;
-    typedef internal::traits<PermutationMatrix> Traits;
-  public:
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    typedef typename Traits::IndicesType IndicesType;
-    #endif
-
-    inline PermutationMatrix()
-    {}
-
-    /** Constructs an uninitialized permutation matrix of given size.
-      */
-    inline PermutationMatrix(int size) : m_indices(size)
-    {}
-
-    /** Copy constructor. */
-    template<typename OtherDerived>
-    inline PermutationMatrix(const PermutationBase<OtherDerived>& other)
-      : m_indices(other.indices()) {}
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** Standard copy constructor. Defined only to prevent a default copy constructor
-      * from hiding the other templated constructor */
-    inline PermutationMatrix(const PermutationMatrix& other) : m_indices(other.indices()) {}
-    #endif
-
-    /** Generic constructor from expression of the indices. The indices
-      * array has the meaning that the permutations sends each integer i to indices[i].
-      *
-      * \warning It is your responsibility to check that the indices array that you passes actually
-      * describes a permutation, i.e., each value between 0 and n-1 occurs exactly once, where n is the
-      * array's size.
-      */
-    template<typename Other>
-    explicit inline PermutationMatrix(const MatrixBase<Other>& a_indices) : m_indices(a_indices)
-    {}
-
-    /** Convert the Transpositions \a tr to a permutation matrix */
-    template<typename Other>
-    explicit PermutationMatrix(const TranspositionsBase<Other>& tr)
-      : m_indices(tr.size())
-    {
-      *this = tr;
-    }
-
-    /** Copies the other permutation into *this */
-    template<typename Other>
-    PermutationMatrix& operator=(const PermutationBase<Other>& other)
-    {
-      m_indices = other.indices();
-      return *this;
-    }
-
-    /** Assignment from the Transpositions \a tr */
-    template<typename Other>
-    PermutationMatrix& operator=(const TranspositionsBase<Other>& tr)
-    {
-      return Base::operator=(tr.derived());
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    PermutationMatrix& operator=(const PermutationMatrix& other)
-    {
-      m_indices = other.m_indices;
-      return *this;
-    }
-    #endif
-
-    /** const version of indices(). */
-    const IndicesType& indices() const { return m_indices; }
-    /** \returns a reference to the stored array representing the permutation. */
-    IndicesType& indices() { return m_indices; }
-
-
-    /**** multiplication helpers to hopefully get RVO ****/
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    template<typename Other>
-    PermutationMatrix(const Transpose<PermutationBase<Other> >& other)
-      : m_indices(other.nestedPermutation().size())
-    {
-      for (int i=0; i<m_indices.size();++i) m_indices.coeffRef(other.nestedPermutation().indices().coeff(i)) = i;
-    }
-    template<typename Lhs,typename Rhs>
-    PermutationMatrix(internal::PermPermProduct_t, const Lhs& lhs, const Rhs& rhs)
-      : m_indices(lhs.indices().size())
-    {
-      Base::assignProduct(lhs,rhs);
-    }
-#endif
-
-  protected:
-
-    IndicesType m_indices;
-};
-
-
-namespace internal {
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType, int _PacketAccess>
-struct traits<Map<PermutationMatrix<SizeAtCompileTime, MaxSizeAtCompileTime, IndexType>,_PacketAccess> >
- : traits<Matrix<IndexType,SizeAtCompileTime,SizeAtCompileTime,0,MaxSizeAtCompileTime,MaxSizeAtCompileTime> >
-{
-  typedef IndexType Index;
-  typedef Map<const Matrix<IndexType, SizeAtCompileTime, 1, 0, MaxSizeAtCompileTime, 1>, _PacketAccess> IndicesType;
-};
-}
-
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType, int _PacketAccess>
-class Map<PermutationMatrix<SizeAtCompileTime, MaxSizeAtCompileTime, IndexType>,_PacketAccess>
-  : public PermutationBase<Map<PermutationMatrix<SizeAtCompileTime, MaxSizeAtCompileTime, IndexType>,_PacketAccess> >
-{
-    typedef PermutationBase<Map> Base;
-    typedef internal::traits<Map> Traits;
-  public:
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    typedef typename Traits::IndicesType IndicesType;
-    typedef typename IndicesType::Scalar Index;
-    #endif
-
-    inline Map(const Index* indicesPtr)
-      : m_indices(indicesPtr)
-    {}
-
-    inline Map(const Index* indicesPtr, Index size)
-      : m_indices(indicesPtr,size)
-    {}
-
-    /** Copies the other permutation into *this */
-    template<typename Other>
-    Map& operator=(const PermutationBase<Other>& other)
-    { return Base::operator=(other.derived()); }
-
-    /** Assignment from the Transpositions \a tr */
-    template<typename Other>
-    Map& operator=(const TranspositionsBase<Other>& tr)
-    { return Base::operator=(tr.derived()); }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    Map& operator=(const Map& other)
-    {
-      m_indices = other.m_indices;
-      return *this;
-    }
-    #endif
-
-    /** const version of indices(). */
-    const IndicesType& indices() const { return m_indices; }
-    /** \returns a reference to the stored array representing the permutation. */
-    IndicesType& indices() { return m_indices; }
-
-  protected:
-
-    IndicesType m_indices;
-};
-
-/** \class PermutationWrapper
-  * \ingroup Core_Module
-  *
-  * \brief Class to view a vector of integers as a permutation matrix
-  *
-  * \param _IndicesType the type of the vector of integer (can be any compatible expression)
-  *
-  * This class allows to view any vector expression of integers as a permutation matrix.
-  *
-  * \sa class PermutationBase, class PermutationMatrix
-  */
-
-struct PermutationStorage {};
-
-template<typename _IndicesType> class TranspositionsWrapper;
-namespace internal {
-template<typename _IndicesType>
-struct traits<PermutationWrapper<_IndicesType> >
-{
-  typedef PermutationStorage StorageKind;
-  typedef typename _IndicesType::Scalar Scalar;
-  typedef typename _IndicesType::Scalar Index;
-  typedef _IndicesType IndicesType;
-  enum {
-    RowsAtCompileTime = _IndicesType::SizeAtCompileTime,
-    ColsAtCompileTime = _IndicesType::SizeAtCompileTime,
-    MaxRowsAtCompileTime = IndicesType::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = IndicesType::MaxColsAtCompileTime,
-    Flags = 0,
-    CoeffReadCost = _IndicesType::CoeffReadCost
-  };
-};
-}
-
-template<typename _IndicesType>
-class PermutationWrapper : public PermutationBase<PermutationWrapper<_IndicesType> >
-{
-    typedef PermutationBase<PermutationWrapper> Base;
-    typedef internal::traits<PermutationWrapper> Traits;
-  public:
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    typedef typename Traits::IndicesType IndicesType;
-    #endif
-
-    inline PermutationWrapper(const IndicesType& a_indices)
-      : m_indices(a_indices)
-    {}
-
-    /** const version of indices(). */
-    const typename internal::remove_all<typename IndicesType::Nested>::type&
-    indices() const { return m_indices; }
-
-  protected:
-
-    typename IndicesType::Nested m_indices;
-};
-
-/** \returns the matrix with the permutation applied to the columns.
-  */
-template<typename Derived, typename PermutationDerived>
-inline const internal::permut_matrix_product_retval<PermutationDerived, Derived, OnTheRight>
-operator*(const MatrixBase<Derived>& matrix,
-          const PermutationBase<PermutationDerived> &permutation)
-{
-  return internal::permut_matrix_product_retval
-           <PermutationDerived, Derived, OnTheRight>
-           (permutation.derived(), matrix.derived());
-}
-
-/** \returns the matrix with the permutation applied to the rows.
-  */
-template<typename Derived, typename PermutationDerived>
-inline const internal::permut_matrix_product_retval
-               <PermutationDerived, Derived, OnTheLeft>
-operator*(const PermutationBase<PermutationDerived> &permutation,
-          const MatrixBase<Derived>& matrix)
-{
-  return internal::permut_matrix_product_retval
-           <PermutationDerived, Derived, OnTheLeft>
-           (permutation.derived(), matrix.derived());
-}
-
-namespace internal {
-
-template<typename PermutationType, typename MatrixType, int Side, bool Transposed>
-struct traits<permut_matrix_product_retval<PermutationType, MatrixType, Side, Transposed> >
-{
-  typedef typename MatrixType::PlainObject ReturnType;
-};
-
-template<typename PermutationType, typename MatrixType, int Side, bool Transposed>
-struct permut_matrix_product_retval
- : public ReturnByValue<permut_matrix_product_retval<PermutationType, MatrixType, Side, Transposed> >
-{
-    typedef typename remove_all<typename MatrixType::Nested>::type MatrixTypeNestedCleaned;
-    typedef typename MatrixType::Index Index;
-
-    permut_matrix_product_retval(const PermutationType& perm, const MatrixType& matrix)
-      : m_permutation(perm), m_matrix(matrix)
-    {}
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-
-    template<typename Dest> inline void evalTo(Dest& dst) const
-    {
-      const Index n = Side==OnTheLeft ? rows() : cols();
-      // FIXME we need an is_same for expression that is not sensitive to constness. For instance
-      // is_same_xpr<Block<const Matrix>, Block<Matrix> >::value should be true.
-      if(    is_same<MatrixTypeNestedCleaned,Dest>::value
-          && blas_traits<MatrixTypeNestedCleaned>::HasUsableDirectAccess
-          && blas_traits<Dest>::HasUsableDirectAccess
-          && extract_data(dst) == extract_data(m_matrix))
-      {
-        // apply the permutation inplace
-        Matrix<bool,PermutationType::RowsAtCompileTime,1,0,PermutationType::MaxRowsAtCompileTime> mask(m_permutation.size());
-        mask.fill(false);
-        Index r = 0;
-        while(r < m_permutation.size())
-        {
-          // search for the next seed
-          while(r<m_permutation.size() && mask[r]) r++;
-          if(r>=m_permutation.size())
-            break;
-          // we got one, let's follow it until we are back to the seed
-          Index k0 = r++;
-          Index kPrev = k0;
-          mask.coeffRef(k0) = true;
-          for(Index k=m_permutation.indices().coeff(k0); k!=k0; k=m_permutation.indices().coeff(k))
-          {
-                  Block<Dest, Side==OnTheLeft ? 1 : Dest::RowsAtCompileTime, Side==OnTheRight ? 1 : Dest::ColsAtCompileTime>(dst, k)
-            .swap(Block<Dest, Side==OnTheLeft ? 1 : Dest::RowsAtCompileTime, Side==OnTheRight ? 1 : Dest::ColsAtCompileTime>
-                       (dst,((Side==OnTheLeft) ^ Transposed) ? k0 : kPrev));
-
-            mask.coeffRef(k) = true;
-            kPrev = k;
-          }
-        }
-      }
-      else
-      {
-        for(int i = 0; i < n; ++i)
-        {
-          Block<Dest, Side==OnTheLeft ? 1 : Dest::RowsAtCompileTime, Side==OnTheRight ? 1 : Dest::ColsAtCompileTime>
-               (dst, ((Side==OnTheLeft) ^ Transposed) ? m_permutation.indices().coeff(i) : i)
-
-          =
-
-          Block<const MatrixTypeNestedCleaned,Side==OnTheLeft ? 1 : MatrixType::RowsAtCompileTime,Side==OnTheRight ? 1 : MatrixType::ColsAtCompileTime>
-               (m_matrix, ((Side==OnTheRight) ^ Transposed) ? m_permutation.indices().coeff(i) : i);
-        }
-      }
-    }
-
-  protected:
-    const PermutationType& m_permutation;
-    typename MatrixType::Nested m_matrix;
-};
-
-/* Template partial specialization for transposed/inverse permutations */
-
-template<typename Derived>
-struct traits<Transpose<PermutationBase<Derived> > >
- : traits<Derived>
-{};
-
-} // end namespace internal
-
-template<typename Derived>
-class Transpose<PermutationBase<Derived> >
-  : public EigenBase<Transpose<PermutationBase<Derived> > >
-{
-    typedef Derived PermutationType;
-    typedef typename PermutationType::IndicesType IndicesType;
-    typedef typename PermutationType::PlainPermutationType PlainPermutationType;
-  public:
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    typedef internal::traits<PermutationType> Traits;
-    typedef typename Derived::DenseMatrixType DenseMatrixType;
-    enum {
-      Flags = Traits::Flags,
-      CoeffReadCost = Traits::CoeffReadCost,
-      RowsAtCompileTime = Traits::RowsAtCompileTime,
-      ColsAtCompileTime = Traits::ColsAtCompileTime,
-      MaxRowsAtCompileTime = Traits::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = Traits::MaxColsAtCompileTime
-    };
-    typedef typename Traits::Scalar Scalar;
-    #endif
-
-    Transpose(const PermutationType& p) : m_permutation(p) {}
-
-    inline int rows() const { return m_permutation.rows(); }
-    inline int cols() const { return m_permutation.cols(); }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    template<typename DenseDerived>
-    void evalTo(MatrixBase<DenseDerived>& other) const
-    {
-      other.setZero();
-      for (int i=0; i<rows();++i)
-        other.coeffRef(i, m_permutation.indices().coeff(i)) = typename DenseDerived::Scalar(1);
-    }
-    #endif
-
-    /** \return the equivalent permutation matrix */
-    PlainPermutationType eval() const { return *this; }
-
-    DenseMatrixType toDenseMatrix() const { return *this; }
-
-    /** \returns the matrix with the inverse permutation applied to the columns.
-      */
-    template<typename OtherDerived> friend
-    inline const internal::permut_matrix_product_retval<PermutationType, OtherDerived, OnTheRight, true>
-    operator*(const MatrixBase<OtherDerived>& matrix, const Transpose& trPerm)
-    {
-      return internal::permut_matrix_product_retval<PermutationType, OtherDerived, OnTheRight, true>(trPerm.m_permutation, matrix.derived());
-    }
-
-    /** \returns the matrix with the inverse permutation applied to the rows.
-      */
-    template<typename OtherDerived>
-    inline const internal::permut_matrix_product_retval<PermutationType, OtherDerived, OnTheLeft, true>
-    operator*(const MatrixBase<OtherDerived>& matrix) const
-    {
-      return internal::permut_matrix_product_retval<PermutationType, OtherDerived, OnTheLeft, true>(m_permutation, matrix.derived());
-    }
-
-    const PermutationType& nestedPermutation() const { return m_permutation; }
-
-  protected:
-    const PermutationType& m_permutation;
-};
-
-template<typename Derived>
-const PermutationWrapper<const Derived> MatrixBase<Derived>::asPermutation() const
-{
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_PERMUTATIONMATRIX_H
diff --git a/lib/Eigen/src/Core/PlainObjectBase.h b/lib/Eigen/src/Core/PlainObjectBase.h
deleted file mode 100644
index a4e4af4a..00000000
--- a/lib/Eigen/src/Core/PlainObjectBase.h
+++ /dev/null
@@ -1,822 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_DENSESTORAGEBASE_H
-#define EIGEN_DENSESTORAGEBASE_H
-
-#if defined(EIGEN_INITIALIZE_MATRICES_BY_ZERO)
-# define EIGEN_INITIALIZE_COEFFS
-# define EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED for(int i=0;i<base().size();++i) coeffRef(i)=Scalar(0);
-#elif defined(EIGEN_INITIALIZE_MATRICES_BY_NAN)
-# define EIGEN_INITIALIZE_COEFFS
-# define EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED for(int i=0;i<base().size();++i) coeffRef(i)=std::numeric_limits<Scalar>::quiet_NaN();
-#else
-# undef EIGEN_INITIALIZE_COEFFS
-# define EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-#endif
-
-namespace Eigen {
-
-namespace internal {
-
-template<int MaxSizeAtCompileTime> struct check_rows_cols_for_overflow {
-  template<typename Index>
-  static EIGEN_ALWAYS_INLINE void run(Index, Index)
-  {
-  }
-};
-
-template<> struct check_rows_cols_for_overflow<Dynamic> {
-  template<typename Index>
-  static EIGEN_ALWAYS_INLINE void run(Index rows, Index cols)
-  {
-    // http://hg.mozilla.org/mozilla-central/file/6c8a909977d3/xpcom/ds/CheckedInt.h#l242
-    // we assume Index is signed
-    Index max_index = (size_t(1) << (8 * sizeof(Index) - 1)) - 1; // assume Index is signed
-    bool error = (rows == 0 || cols == 0) ? false
-               : (rows > max_index / cols);
-    if (error)
-      throw_std_bad_alloc();
-  }
-};
-
-template <typename Derived,
-          typename OtherDerived = Derived,
-          bool IsVector = bool(Derived::IsVectorAtCompileTime) && bool(OtherDerived::IsVectorAtCompileTime)>
-struct conservative_resize_like_impl;
-
-template<typename MatrixTypeA, typename MatrixTypeB, bool SwapPointers> struct matrix_swap_impl;
-
-} // end namespace internal
-
-/** \class PlainObjectBase
-  * \brief %Dense storage base class for matrices and arrays.
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_PLAINOBJECTBASE_PLUGIN.
-  *
-  * \sa \ref TopicClassHierarchy
-  */
-#ifdef EIGEN_PARSED_BY_DOXYGEN
-namespace internal {
-
-// this is a warkaround to doxygen not being able to understand the inheritence logic
-// when it is hidden by the dense_xpr_base helper struct.
-template<typename Derived> struct dense_xpr_base_dispatcher_for_doxygen;// : public MatrixBase<Derived> {};
-/** This class is just a workaround for Doxygen and it does not not actually exist. */
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-struct dense_xpr_base_dispatcher_for_doxygen<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
-    : public MatrixBase<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > {};
-/** This class is just a workaround for Doxygen and it does not not actually exist. */
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-struct dense_xpr_base_dispatcher_for_doxygen<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
-    : public ArrayBase<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > {};
-
-} // namespace internal
-
-template<typename Derived>
-class PlainObjectBase : public internal::dense_xpr_base_dispatcher_for_doxygen<Derived>
-#else
-template<typename Derived>
-class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
-#endif
-{
-  public:
-    enum { Options = internal::traits<Derived>::Options };
-    typedef typename internal::dense_xpr_base<Derived>::type Base;
-
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename internal::packet_traits<Scalar>::type PacketScalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    typedef Derived DenseType;
-
-    using Base::RowsAtCompileTime;
-    using Base::ColsAtCompileTime;
-    using Base::SizeAtCompileTime;
-    using Base::MaxRowsAtCompileTime;
-    using Base::MaxColsAtCompileTime;
-    using Base::MaxSizeAtCompileTime;
-    using Base::IsVectorAtCompileTime;
-    using Base::Flags;
-
-    template<typename PlainObjectType, int MapOptions, typename StrideType> friend class Eigen::Map;
-    friend  class Eigen::Map<Derived, Unaligned>;
-    typedef Eigen::Map<Derived, Unaligned>  MapType;
-    friend  class Eigen::Map<const Derived, Unaligned>;
-    typedef const Eigen::Map<const Derived, Unaligned> ConstMapType;
-    friend  class Eigen::Map<Derived, Aligned>;
-    typedef Eigen::Map<Derived, Aligned> AlignedMapType;
-    friend  class Eigen::Map<const Derived, Aligned>;
-    typedef const Eigen::Map<const Derived, Aligned> ConstAlignedMapType;
-    template<typename StrideType> struct StridedMapType { typedef Eigen::Map<Derived, Unaligned, StrideType> type; };
-    template<typename StrideType> struct StridedConstMapType { typedef Eigen::Map<const Derived, Unaligned, StrideType> type; };
-    template<typename StrideType> struct StridedAlignedMapType { typedef Eigen::Map<Derived, Aligned, StrideType> type; };
-    template<typename StrideType> struct StridedConstAlignedMapType { typedef Eigen::Map<const Derived, Aligned, StrideType> type; };
-
-  protected:
-    DenseStorage<Scalar, Base::MaxSizeAtCompileTime, Base::RowsAtCompileTime, Base::ColsAtCompileTime, Options> m_storage;
-
-  public:
-    enum { NeedsToAlign = SizeAtCompileTime != Dynamic && (internal::traits<Derived>::Flags & AlignedBit) != 0 };
-    EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign)
-
-    Base& base() { return *static_cast<Base*>(this); }
-    const Base& base() const { return *static_cast<const Base*>(this); }
-
-    EIGEN_STRONG_INLINE Index rows() const { return m_storage.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return m_storage.cols(); }
-
-    EIGEN_STRONG_INLINE const Scalar& coeff(Index rowId, Index colId) const
-    {
-      if(Flags & RowMajorBit)
-        return m_storage.data()[colId + rowId * m_storage.cols()];
-      else // column-major
-        return m_storage.data()[rowId + colId * m_storage.rows()];
-    }
-
-    EIGEN_STRONG_INLINE const Scalar& coeff(Index index) const
-    {
-      return m_storage.data()[index];
-    }
-
-    EIGEN_STRONG_INLINE Scalar& coeffRef(Index rowId, Index colId)
-    {
-      if(Flags & RowMajorBit)
-        return m_storage.data()[colId + rowId * m_storage.cols()];
-      else // column-major
-        return m_storage.data()[rowId + colId * m_storage.rows()];
-    }
-
-    EIGEN_STRONG_INLINE Scalar& coeffRef(Index index)
-    {
-      return m_storage.data()[index];
-    }
-
-    EIGEN_STRONG_INLINE const Scalar& coeffRef(Index rowId, Index colId) const
-    {
-      if(Flags & RowMajorBit)
-        return m_storage.data()[colId + rowId * m_storage.cols()];
-      else // column-major
-        return m_storage.data()[rowId + colId * m_storage.rows()];
-    }
-
-    EIGEN_STRONG_INLINE const Scalar& coeffRef(Index index) const
-    {
-      return m_storage.data()[index];
-    }
-
-    /** \internal */
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index rowId, Index colId) const
-    {
-      return internal::ploadt<PacketScalar, LoadMode>
-               (m_storage.data() + (Flags & RowMajorBit
-                                   ? colId + rowId * m_storage.cols()
-                                   : rowId + colId * m_storage.rows()));
-    }
-
-    /** \internal */
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE PacketScalar packet(Index index) const
-    {
-      return internal::ploadt<PacketScalar, LoadMode>(m_storage.data() + index);
-    }
-
-    /** \internal */
-    template<int StoreMode>
-    EIGEN_STRONG_INLINE void writePacket(Index rowId, Index colId, const PacketScalar& val)
-    {
-      internal::pstoret<Scalar, PacketScalar, StoreMode>
-              (m_storage.data() + (Flags & RowMajorBit
-                                   ? colId + rowId * m_storage.cols()
-                                   : rowId + colId * m_storage.rows()), val);
-    }
-
-    /** \internal */
-    template<int StoreMode>
-    EIGEN_STRONG_INLINE void writePacket(Index index, const PacketScalar& val)
-    {
-      internal::pstoret<Scalar, PacketScalar, StoreMode>(m_storage.data() + index, val);
-    }
-
-    /** \returns a const pointer to the data array of this matrix */
-    EIGEN_STRONG_INLINE const Scalar *data() const
-    { return m_storage.data(); }
-
-    /** \returns a pointer to the data array of this matrix */
-    EIGEN_STRONG_INLINE Scalar *data()
-    { return m_storage.data(); }
-
-    /** Resizes \c *this to a \a rows x \a cols matrix.
-      *
-      * This method is intended for dynamic-size matrices, although it is legal to call it on any
-      * matrix as long as fixed dimensions are left unchanged. If you only want to change the number
-      * of rows and/or of columns, you can use resize(NoChange_t, Index), resize(Index, NoChange_t).
-      *
-      * If the current number of coefficients of \c *this exactly matches the
-      * product \a rows * \a cols, then no memory allocation is performed and
-      * the current values are left unchanged. In all other cases, including
-      * shrinking, the data is reallocated and all previous values are lost.
-      *
-      * Example: \include Matrix_resize_int_int.cpp
-      * Output: \verbinclude Matrix_resize_int_int.out
-      *
-      * \sa resize(Index) for vectors, resize(NoChange_t, Index), resize(Index, NoChange_t)
-      */
-    EIGEN_STRONG_INLINE void resize(Index nbRows, Index nbCols)
-    {
-      eigen_assert(   EIGEN_IMPLIES(RowsAtCompileTime!=Dynamic,nbRows==RowsAtCompileTime)
-                   && EIGEN_IMPLIES(ColsAtCompileTime!=Dynamic,nbCols==ColsAtCompileTime)
-                   && EIGEN_IMPLIES(RowsAtCompileTime==Dynamic && MaxRowsAtCompileTime!=Dynamic,nbRows<=MaxRowsAtCompileTime)
-                   && EIGEN_IMPLIES(ColsAtCompileTime==Dynamic && MaxColsAtCompileTime!=Dynamic,nbCols<=MaxColsAtCompileTime)
-                   && nbRows>=0 && nbCols>=0 && "Invalid sizes when resizing a matrix or array.");
-      internal::check_rows_cols_for_overflow<MaxSizeAtCompileTime>::run(nbRows, nbCols);
-      #ifdef EIGEN_INITIALIZE_COEFFS
-        Index size = nbRows*nbCols;
-        bool size_changed = size != this->size();
-        m_storage.resize(size, nbRows, nbCols);
-        if(size_changed) EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-      #else
-        internal::check_rows_cols_for_overflow<MaxSizeAtCompileTime>::run(nbRows, nbCols);
-        m_storage.resize(nbRows*nbCols, nbRows, nbCols);
-      #endif
-    }
-
-    /** Resizes \c *this to a vector of length \a size
-      *
-      * \only_for_vectors. This method does not work for
-      * partially dynamic matrices when the static dimension is anything other
-      * than 1. For example it will not work with Matrix<double, 2, Dynamic>.
-      *
-      * Example: \include Matrix_resize_int.cpp
-      * Output: \verbinclude Matrix_resize_int.out
-      *
-      * \sa resize(Index,Index), resize(NoChange_t, Index), resize(Index, NoChange_t)
-      */
-    inline void resize(Index size)
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(PlainObjectBase)
-      eigen_assert(((SizeAtCompileTime == Dynamic && (MaxSizeAtCompileTime==Dynamic || size<=MaxSizeAtCompileTime)) || SizeAtCompileTime == size) && size>=0);
-      #ifdef EIGEN_INITIALIZE_COEFFS
-        bool size_changed = size != this->size();
-      #endif
-      if(RowsAtCompileTime == 1)
-        m_storage.resize(size, 1, size);
-      else
-        m_storage.resize(size, size, 1);
-      #ifdef EIGEN_INITIALIZE_COEFFS
-        if(size_changed) EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-      #endif
-    }
-
-    /** Resizes the matrix, changing only the number of columns. For the parameter of type NoChange_t, just pass the special value \c NoChange
-      * as in the example below.
-      *
-      * Example: \include Matrix_resize_NoChange_int.cpp
-      * Output: \verbinclude Matrix_resize_NoChange_int.out
-      *
-      * \sa resize(Index,Index)
-      */
-    inline void resize(NoChange_t, Index nbCols)
-    {
-      resize(rows(), nbCols);
-    }
-
-    /** Resizes the matrix, changing only the number of rows. For the parameter of type NoChange_t, just pass the special value \c NoChange
-      * as in the example below.
-      *
-      * Example: \include Matrix_resize_int_NoChange.cpp
-      * Output: \verbinclude Matrix_resize_int_NoChange.out
-      *
-      * \sa resize(Index,Index)
-      */
-    inline void resize(Index nbRows, NoChange_t)
-    {
-      resize(nbRows, cols());
-    }
-
-    /** Resizes \c *this to have the same dimensions as \a other.
-      * Takes care of doing all the checking that's needed.
-      *
-      * Note that copying a row-vector into a vector (and conversely) is allowed.
-      * The resizing, if any, is then done in the appropriate way so that row-vectors
-      * remain row-vectors and vectors remain vectors.
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE void resizeLike(const EigenBase<OtherDerived>& _other)
-    {
-      const OtherDerived& other = _other.derived();
-      internal::check_rows_cols_for_overflow<MaxSizeAtCompileTime>::run(other.rows(), other.cols());
-      const Index othersize = other.rows()*other.cols();
-      if(RowsAtCompileTime == 1)
-      {
-        eigen_assert(other.rows() == 1 || other.cols() == 1);
-        resize(1, othersize);
-      }
-      else if(ColsAtCompileTime == 1)
-      {
-        eigen_assert(other.rows() == 1 || other.cols() == 1);
-        resize(othersize, 1);
-      }
-      else resize(other.rows(), other.cols());
-    }
-
-    /** Resizes the matrix to \a rows x \a cols while leaving old values untouched.
-      *
-      * The method is intended for matrices of dynamic size. If you only want to change the number
-      * of rows and/or of columns, you can use conservativeResize(NoChange_t, Index) or
-      * conservativeResize(Index, NoChange_t).
-      *
-      * Matrices are resized relative to the top-left element. In case values need to be 
-      * appended to the matrix they will be uninitialized.
-      */
-    EIGEN_STRONG_INLINE void conservativeResize(Index nbRows, Index nbCols)
-    {
-      internal::conservative_resize_like_impl<Derived>::run(*this, nbRows, nbCols);
-    }
-
-    /** Resizes the matrix to \a rows x \a cols while leaving old values untouched.
-      *
-      * As opposed to conservativeResize(Index rows, Index cols), this version leaves
-      * the number of columns unchanged.
-      *
-      * In case the matrix is growing, new rows will be uninitialized.
-      */
-    EIGEN_STRONG_INLINE void conservativeResize(Index nbRows, NoChange_t)
-    {
-      // Note: see the comment in conservativeResize(Index,Index)
-      conservativeResize(nbRows, cols());
-    }
-
-    /** Resizes the matrix to \a rows x \a cols while leaving old values untouched.
-      *
-      * As opposed to conservativeResize(Index rows, Index cols), this version leaves
-      * the number of rows unchanged.
-      *
-      * In case the matrix is growing, new columns will be uninitialized.
-      */
-    EIGEN_STRONG_INLINE void conservativeResize(NoChange_t, Index nbCols)
-    {
-      // Note: see the comment in conservativeResize(Index,Index)
-      conservativeResize(rows(), nbCols);
-    }
-
-    /** Resizes the vector to \a size while retaining old values.
-      *
-      * \only_for_vectors. This method does not work for
-      * partially dynamic matrices when the static dimension is anything other
-      * than 1. For example it will not work with Matrix<double, 2, Dynamic>.
-      *
-      * When values are appended, they will be uninitialized.
-      */
-    EIGEN_STRONG_INLINE void conservativeResize(Index size)
-    {
-      internal::conservative_resize_like_impl<Derived>::run(*this, size);
-    }
-
-    /** Resizes the matrix to \a rows x \a cols of \c other, while leaving old values untouched.
-      *
-      * The method is intended for matrices of dynamic size. If you only want to change the number
-      * of rows and/or of columns, you can use conservativeResize(NoChange_t, Index) or
-      * conservativeResize(Index, NoChange_t).
-      *
-      * Matrices are resized relative to the top-left element. In case values need to be 
-      * appended to the matrix they will copied from \c other.
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE void conservativeResizeLike(const DenseBase<OtherDerived>& other)
-    {
-      internal::conservative_resize_like_impl<Derived,OtherDerived>::run(*this, other);
-    }
-
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    EIGEN_STRONG_INLINE Derived& operator=(const PlainObjectBase& other)
-    {
-      return _set(other);
-    }
-
-    /** \sa MatrixBase::lazyAssign() */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Derived& lazyAssign(const DenseBase<OtherDerived>& other)
-    {
-      _resize_to_match(other);
-      return Base::lazyAssign(other.derived());
-    }
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Derived& operator=(const ReturnByValue<OtherDerived>& func)
-    {
-      resize(func.rows(), func.cols());
-      return Base::operator=(func);
-    }
-
-    EIGEN_STRONG_INLINE PlainObjectBase() : m_storage()
-    {
-//       _check_template_params();
-//       EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-    }
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    // FIXME is it still needed ?
-    /** \internal */
-    PlainObjectBase(internal::constructor_without_unaligned_array_assert)
-      : m_storage(internal::constructor_without_unaligned_array_assert())
-    {
-//       _check_template_params(); EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-    }
-#endif
-
-#ifdef EIGEN_HAVE_RVALUE_REFERENCES
-    PlainObjectBase(PlainObjectBase&& other)
-      : m_storage( std::move(other.m_storage) )
-    {
-    }
-
-    PlainObjectBase& operator=(PlainObjectBase&& other)
-    {
-      using std::swap;
-      swap(m_storage, other.m_storage);
-      return *this;
-    }
-#endif
-
-    /** Copy constructor */
-    EIGEN_STRONG_INLINE PlainObjectBase(const PlainObjectBase& other)
-      : m_storage()
-    {
-      _check_template_params();
-      lazyAssign(other);
-    }
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE PlainObjectBase(const DenseBase<OtherDerived> &other)
-      : m_storage()
-    {
-      _check_template_params();
-      lazyAssign(other);
-    }
-
-    EIGEN_STRONG_INLINE PlainObjectBase(Index a_size, Index nbRows, Index nbCols)
-      : m_storage(a_size, nbRows, nbCols)
-    {
-//       _check_template_params();
-//       EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
-    }
-
-    /** \copydoc MatrixBase::operator=(const EigenBase<OtherDerived>&)
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Derived& operator=(const EigenBase<OtherDerived> &other)
-    {
-      _resize_to_match(other);
-      Base::operator=(other.derived());
-      return this->derived();
-    }
-
-    /** \sa MatrixBase::operator=(const EigenBase<OtherDerived>&) */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE PlainObjectBase(const EigenBase<OtherDerived> &other)
-      : m_storage(other.derived().rows() * other.derived().cols(), other.derived().rows(), other.derived().cols())
-    {
-      _check_template_params();
-      internal::check_rows_cols_for_overflow<MaxSizeAtCompileTime>::run(other.derived().rows(), other.derived().cols());
-      Base::operator=(other.derived());
-    }
-
-    /** \name Map
-      * These are convenience functions returning Map objects. The Map() static functions return unaligned Map objects,
-      * while the AlignedMap() functions return aligned Map objects and thus should be called only with 16-byte-aligned
-      * \a data pointers.
-      *
-      * \see class Map
-      */
-    //@{
-    static inline ConstMapType Map(const Scalar* data)
-    { return ConstMapType(data); }
-    static inline MapType Map(Scalar* data)
-    { return MapType(data); }
-    static inline ConstMapType Map(const Scalar* data, Index size)
-    { return ConstMapType(data, size); }
-    static inline MapType Map(Scalar* data, Index size)
-    { return MapType(data, size); }
-    static inline ConstMapType Map(const Scalar* data, Index rows, Index cols)
-    { return ConstMapType(data, rows, cols); }
-    static inline MapType Map(Scalar* data, Index rows, Index cols)
-    { return MapType(data, rows, cols); }
-
-    static inline ConstAlignedMapType MapAligned(const Scalar* data)
-    { return ConstAlignedMapType(data); }
-    static inline AlignedMapType MapAligned(Scalar* data)
-    { return AlignedMapType(data); }
-    static inline ConstAlignedMapType MapAligned(const Scalar* data, Index size)
-    { return ConstAlignedMapType(data, size); }
-    static inline AlignedMapType MapAligned(Scalar* data, Index size)
-    { return AlignedMapType(data, size); }
-    static inline ConstAlignedMapType MapAligned(const Scalar* data, Index rows, Index cols)
-    { return ConstAlignedMapType(data, rows, cols); }
-    static inline AlignedMapType MapAligned(Scalar* data, Index rows, Index cols)
-    { return AlignedMapType(data, rows, cols); }
-
-    template<int Outer, int Inner>
-    static inline typename StridedConstMapType<Stride<Outer, Inner> >::type Map(const Scalar* data, const Stride<Outer, Inner>& stride)
-    { return typename StridedConstMapType<Stride<Outer, Inner> >::type(data, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedMapType<Stride<Outer, Inner> >::type Map(Scalar* data, const Stride<Outer, Inner>& stride)
-    { return typename StridedMapType<Stride<Outer, Inner> >::type(data, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedConstMapType<Stride<Outer, Inner> >::type Map(const Scalar* data, Index size, const Stride<Outer, Inner>& stride)
-    { return typename StridedConstMapType<Stride<Outer, Inner> >::type(data, size, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedMapType<Stride<Outer, Inner> >::type Map(Scalar* data, Index size, const Stride<Outer, Inner>& stride)
-    { return typename StridedMapType<Stride<Outer, Inner> >::type(data, size, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedConstMapType<Stride<Outer, Inner> >::type Map(const Scalar* data, Index rows, Index cols, const Stride<Outer, Inner>& stride)
-    { return typename StridedConstMapType<Stride<Outer, Inner> >::type(data, rows, cols, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedMapType<Stride<Outer, Inner> >::type Map(Scalar* data, Index rows, Index cols, const Stride<Outer, Inner>& stride)
-    { return typename StridedMapType<Stride<Outer, Inner> >::type(data, rows, cols, stride); }
-
-    template<int Outer, int Inner>
-    static inline typename StridedConstAlignedMapType<Stride<Outer, Inner> >::type MapAligned(const Scalar* data, const Stride<Outer, Inner>& stride)
-    { return typename StridedConstAlignedMapType<Stride<Outer, Inner> >::type(data, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedAlignedMapType<Stride<Outer, Inner> >::type MapAligned(Scalar* data, const Stride<Outer, Inner>& stride)
-    { return typename StridedAlignedMapType<Stride<Outer, Inner> >::type(data, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedConstAlignedMapType<Stride<Outer, Inner> >::type MapAligned(const Scalar* data, Index size, const Stride<Outer, Inner>& stride)
-    { return typename StridedConstAlignedMapType<Stride<Outer, Inner> >::type(data, size, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedAlignedMapType<Stride<Outer, Inner> >::type MapAligned(Scalar* data, Index size, const Stride<Outer, Inner>& stride)
-    { return typename StridedAlignedMapType<Stride<Outer, Inner> >::type(data, size, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedConstAlignedMapType<Stride<Outer, Inner> >::type MapAligned(const Scalar* data, Index rows, Index cols, const Stride<Outer, Inner>& stride)
-    { return typename StridedConstAlignedMapType<Stride<Outer, Inner> >::type(data, rows, cols, stride); }
-    template<int Outer, int Inner>
-    static inline typename StridedAlignedMapType<Stride<Outer, Inner> >::type MapAligned(Scalar* data, Index rows, Index cols, const Stride<Outer, Inner>& stride)
-    { return typename StridedAlignedMapType<Stride<Outer, Inner> >::type(data, rows, cols, stride); }
-    //@}
-
-    using Base::setConstant;
-    Derived& setConstant(Index size, const Scalar& value);
-    Derived& setConstant(Index rows, Index cols, const Scalar& value);
-
-    using Base::setZero;
-    Derived& setZero(Index size);
-    Derived& setZero(Index rows, Index cols);
-
-    using Base::setOnes;
-    Derived& setOnes(Index size);
-    Derived& setOnes(Index rows, Index cols);
-
-    using Base::setRandom;
-    Derived& setRandom(Index size);
-    Derived& setRandom(Index rows, Index cols);
-
-    #ifdef EIGEN_PLAINOBJECTBASE_PLUGIN
-    #include EIGEN_PLAINOBJECTBASE_PLUGIN
-    #endif
-
-  protected:
-    /** \internal Resizes *this in preparation for assigning \a other to it.
-      * Takes care of doing all the checking that's needed.
-      *
-      * Note that copying a row-vector into a vector (and conversely) is allowed.
-      * The resizing, if any, is then done in the appropriate way so that row-vectors
-      * remain row-vectors and vectors remain vectors.
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE void _resize_to_match(const EigenBase<OtherDerived>& other)
-    {
-      #ifdef EIGEN_NO_AUTOMATIC_RESIZING
-      eigen_assert((this->size()==0 || (IsVectorAtCompileTime ? (this->size() == other.size())
-                 : (rows() == other.rows() && cols() == other.cols())))
-        && "Size mismatch. Automatic resizing is disabled because EIGEN_NO_AUTOMATIC_RESIZING is defined");
-      EIGEN_ONLY_USED_FOR_DEBUG(other);
-      if(this->size()==0)
-        resizeLike(other);
-      #else
-      resizeLike(other);
-      #endif
-    }
-
-    /**
-      * \brief Copies the value of the expression \a other into \c *this with automatic resizing.
-      *
-      * *this might be resized to match the dimensions of \a other. If *this was a null matrix (not already initialized),
-      * it will be initialized.
-      *
-      * Note that copying a row-vector into a vector (and conversely) is allowed.
-      * The resizing, if any, is then done in the appropriate way so that row-vectors
-      * remain row-vectors and vectors remain vectors.
-      *
-      * \sa operator=(const MatrixBase<OtherDerived>&), _set_noalias()
-      *
-      * \internal
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Derived& _set(const DenseBase<OtherDerived>& other)
-    {
-      _set_selector(other.derived(), typename internal::conditional<static_cast<bool>(int(OtherDerived::Flags) & EvalBeforeAssigningBit), internal::true_type, internal::false_type>::type());
-      return this->derived();
-    }
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE void _set_selector(const OtherDerived& other, const internal::true_type&) { _set_noalias(other.eval()); }
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE void _set_selector(const OtherDerived& other, const internal::false_type&) { _set_noalias(other); }
-
-    /** \internal Like _set() but additionally makes the assumption that no aliasing effect can happen (which
-      * is the case when creating a new matrix) so one can enforce lazy evaluation.
-      *
-      * \sa operator=(const MatrixBase<OtherDerived>&), _set()
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE Derived& _set_noalias(const DenseBase<OtherDerived>& other)
-    {
-      // I don't think we need this resize call since the lazyAssign will anyways resize
-      // and lazyAssign will be called by the assign selector.
-      //_resize_to_match(other);
-      // the 'false' below means to enforce lazy evaluation. We don't use lazyAssign() because
-      // it wouldn't allow to copy a row-vector into a column-vector.
-      return internal::assign_selector<Derived,OtherDerived,false>::run(this->derived(), other.derived());
-    }
-
-    template<typename T0, typename T1>
-    EIGEN_STRONG_INLINE void _init2(Index nbRows, Index nbCols, typename internal::enable_if<Base::SizeAtCompileTime!=2,T0>::type* = 0)
-    {
-      EIGEN_STATIC_ASSERT(bool(NumTraits<T0>::IsInteger) &&
-                          bool(NumTraits<T1>::IsInteger),
-                          FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED)
-      resize(nbRows,nbCols);
-    }
-    template<typename T0, typename T1>
-    EIGEN_STRONG_INLINE void _init2(const Scalar& val0, const Scalar& val1, typename internal::enable_if<Base::SizeAtCompileTime==2,T0>::type* = 0)
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(PlainObjectBase, 2)
-      m_storage.data()[0] = val0;
-      m_storage.data()[1] = val1;
-    }
-
-    template<typename MatrixTypeA, typename MatrixTypeB, bool SwapPointers>
-    friend struct internal::matrix_swap_impl;
-
-    /** \internal generic implementation of swap for dense storage since for dynamic-sized matrices of same type it is enough to swap the
-      * data pointers.
-      */
-    template<typename OtherDerived>
-    void _swap(DenseBase<OtherDerived> const & other)
-    {
-      enum { SwapPointers = internal::is_same<Derived, OtherDerived>::value && Base::SizeAtCompileTime==Dynamic };
-      internal::matrix_swap_impl<Derived, OtherDerived, bool(SwapPointers)>::run(this->derived(), other.const_cast_derived());
-    }
-
-  public:
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    static EIGEN_STRONG_INLINE void _check_template_params()
-    {
-      EIGEN_STATIC_ASSERT((EIGEN_IMPLIES(MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1, (Options&RowMajor)==RowMajor)
-                        && EIGEN_IMPLIES(MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1, (Options&RowMajor)==0)
-                        && ((RowsAtCompileTime == Dynamic) || (RowsAtCompileTime >= 0))
-                        && ((ColsAtCompileTime == Dynamic) || (ColsAtCompileTime >= 0))
-                        && ((MaxRowsAtCompileTime == Dynamic) || (MaxRowsAtCompileTime >= 0))
-                        && ((MaxColsAtCompileTime == Dynamic) || (MaxColsAtCompileTime >= 0))
-                        && (MaxRowsAtCompileTime == RowsAtCompileTime || RowsAtCompileTime==Dynamic)
-                        && (MaxColsAtCompileTime == ColsAtCompileTime || ColsAtCompileTime==Dynamic)
-                        && (Options & (DontAlign|RowMajor)) == Options),
-        INVALID_MATRIX_TEMPLATE_PARAMETERS)
-    }
-#endif
-
-private:
-    enum { ThisConstantIsPrivateInPlainObjectBase };
-};
-
-namespace internal {
-
-template <typename Derived, typename OtherDerived, bool IsVector>
-struct conservative_resize_like_impl
-{
-  typedef typename Derived::Index Index;
-  static void run(DenseBase<Derived>& _this, Index rows, Index cols)
-  {
-    if (_this.rows() == rows && _this.cols() == cols) return;
-    EIGEN_STATIC_ASSERT_DYNAMIC_SIZE(Derived)
-
-    if ( ( Derived::IsRowMajor && _this.cols() == cols) || // row-major and we change only the number of rows
-         (!Derived::IsRowMajor && _this.rows() == rows) )  // column-major and we change only the number of columns
-    {
-      internal::check_rows_cols_for_overflow<Derived::MaxSizeAtCompileTime>::run(rows, cols);
-      _this.derived().m_storage.conservativeResize(rows*cols,rows,cols);
-    }
-    else
-    {
-      // The storage order does not allow us to use reallocation.
-      typename Derived::PlainObject tmp(rows,cols);
-      const Index common_rows = (std::min)(rows, _this.rows());
-      const Index common_cols = (std::min)(cols, _this.cols());
-      tmp.block(0,0,common_rows,common_cols) = _this.block(0,0,common_rows,common_cols);
-      _this.derived().swap(tmp);
-    }
-  }
-
-  static void run(DenseBase<Derived>& _this, const DenseBase<OtherDerived>& other)
-  {
-    if (_this.rows() == other.rows() && _this.cols() == other.cols()) return;
-
-    // Note: Here is space for improvement. Basically, for conservativeResize(Index,Index),
-    // neither RowsAtCompileTime or ColsAtCompileTime must be Dynamic. If only one of the
-    // dimensions is dynamic, one could use either conservativeResize(Index rows, NoChange_t) or
-    // conservativeResize(NoChange_t, Index cols). For these methods new static asserts like
-    // EIGEN_STATIC_ASSERT_DYNAMIC_ROWS and EIGEN_STATIC_ASSERT_DYNAMIC_COLS would be good.
-    EIGEN_STATIC_ASSERT_DYNAMIC_SIZE(Derived)
-    EIGEN_STATIC_ASSERT_DYNAMIC_SIZE(OtherDerived)
-
-    if ( ( Derived::IsRowMajor && _this.cols() == other.cols()) || // row-major and we change only the number of rows
-         (!Derived::IsRowMajor && _this.rows() == other.rows()) )  // column-major and we change only the number of columns
-    {
-      const Index new_rows = other.rows() - _this.rows();
-      const Index new_cols = other.cols() - _this.cols();
-      _this.derived().m_storage.conservativeResize(other.size(),other.rows(),other.cols());
-      if (new_rows>0)
-        _this.bottomRightCorner(new_rows, other.cols()) = other.bottomRows(new_rows);
-      else if (new_cols>0)
-        _this.bottomRightCorner(other.rows(), new_cols) = other.rightCols(new_cols);
-    }
-    else
-    {
-      // The storage order does not allow us to use reallocation.
-      typename Derived::PlainObject tmp(other);
-      const Index common_rows = (std::min)(tmp.rows(), _this.rows());
-      const Index common_cols = (std::min)(tmp.cols(), _this.cols());
-      tmp.block(0,0,common_rows,common_cols) = _this.block(0,0,common_rows,common_cols);
-      _this.derived().swap(tmp);
-    }
-  }
-};
-
-// Here, the specialization for vectors inherits from the general matrix case
-// to allow calling .conservativeResize(rows,cols) on vectors.
-template <typename Derived, typename OtherDerived>
-struct conservative_resize_like_impl<Derived,OtherDerived,true>
-  : conservative_resize_like_impl<Derived,OtherDerived,false>
-{
-  using conservative_resize_like_impl<Derived,OtherDerived,false>::run;
-  
-  typedef typename Derived::Index Index;
-  static void run(DenseBase<Derived>& _this, Index size)
-  {
-    const Index new_rows = Derived::RowsAtCompileTime==1 ? 1 : size;
-    const Index new_cols = Derived::RowsAtCompileTime==1 ? size : 1;
-    _this.derived().m_storage.conservativeResize(size,new_rows,new_cols);
-  }
-
-  static void run(DenseBase<Derived>& _this, const DenseBase<OtherDerived>& other)
-  {
-    if (_this.rows() == other.rows() && _this.cols() == other.cols()) return;
-
-    const Index num_new_elements = other.size() - _this.size();
-
-    const Index new_rows = Derived::RowsAtCompileTime==1 ? 1 : other.rows();
-    const Index new_cols = Derived::RowsAtCompileTime==1 ? other.cols() : 1;
-    _this.derived().m_storage.conservativeResize(other.size(),new_rows,new_cols);
-
-    if (num_new_elements > 0)
-      _this.tail(num_new_elements) = other.tail(num_new_elements);
-  }
-};
-
-template<typename MatrixTypeA, typename MatrixTypeB, bool SwapPointers>
-struct matrix_swap_impl
-{
-  static inline void run(MatrixTypeA& a, MatrixTypeB& b)
-  {
-    a.base().swap(b);
-  }
-};
-
-template<typename MatrixTypeA, typename MatrixTypeB>
-struct matrix_swap_impl<MatrixTypeA, MatrixTypeB, true>
-{
-  static inline void run(MatrixTypeA& a, MatrixTypeB& b)
-  {
-    static_cast<typename MatrixTypeA::Base&>(a).m_storage.swap(static_cast<typename MatrixTypeB::Base&>(b).m_storage);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_DENSESTORAGEBASE_H
diff --git a/lib/Eigen/src/Core/ProductBase.h b/lib/Eigen/src/Core/ProductBase.h
deleted file mode 100644
index cf74470a..00000000
--- a/lib/Eigen/src/Core/ProductBase.h
+++ /dev/null
@@ -1,290 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PRODUCTBASE_H
-#define EIGEN_PRODUCTBASE_H
-
-namespace Eigen { 
-
-/** \class ProductBase
-  * \ingroup Core_Module
-  *
-  */
-
-namespace internal {
-template<typename Derived, typename _Lhs, typename _Rhs>
-struct traits<ProductBase<Derived,_Lhs,_Rhs> >
-{
-  typedef MatrixXpr XprKind;
-  typedef typename remove_all<_Lhs>::type Lhs;
-  typedef typename remove_all<_Rhs>::type Rhs;
-  typedef typename scalar_product_traits<typename Lhs::Scalar, typename Rhs::Scalar>::ReturnType Scalar;
-  typedef typename promote_storage_type<typename traits<Lhs>::StorageKind,
-                                           typename traits<Rhs>::StorageKind>::ret StorageKind;
-  typedef typename promote_index_type<typename traits<Lhs>::Index,
-                                         typename traits<Rhs>::Index>::type Index;
-  enum {
-    RowsAtCompileTime = traits<Lhs>::RowsAtCompileTime,
-    ColsAtCompileTime = traits<Rhs>::ColsAtCompileTime,
-    MaxRowsAtCompileTime = traits<Lhs>::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = traits<Rhs>::MaxColsAtCompileTime,
-    Flags = (MaxRowsAtCompileTime==1 ? RowMajorBit : 0)
-          | EvalBeforeNestingBit | EvalBeforeAssigningBit | NestByRefBit,
-                  // Note that EvalBeforeNestingBit and NestByRefBit
-                  // are not used in practice because nested is overloaded for products
-    CoeffReadCost = 0 // FIXME why is it needed ?
-  };
-};
-}
-
-#define EIGEN_PRODUCT_PUBLIC_INTERFACE(Derived) \
-  typedef ProductBase<Derived, Lhs, Rhs > Base; \
-  EIGEN_DENSE_PUBLIC_INTERFACE(Derived) \
-  typedef typename Base::LhsNested LhsNested; \
-  typedef typename Base::_LhsNested _LhsNested; \
-  typedef typename Base::LhsBlasTraits LhsBlasTraits; \
-  typedef typename Base::ActualLhsType ActualLhsType; \
-  typedef typename Base::_ActualLhsType _ActualLhsType; \
-  typedef typename Base::RhsNested RhsNested; \
-  typedef typename Base::_RhsNested _RhsNested; \
-  typedef typename Base::RhsBlasTraits RhsBlasTraits; \
-  typedef typename Base::ActualRhsType ActualRhsType; \
-  typedef typename Base::_ActualRhsType _ActualRhsType; \
-  using Base::m_lhs; \
-  using Base::m_rhs;
-
-template<typename Derived, typename Lhs, typename Rhs>
-class ProductBase : public MatrixBase<Derived>
-{
-  public:
-    typedef MatrixBase<Derived> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(ProductBase)
-    
-    typedef typename Lhs::Nested LhsNested;
-    typedef typename internal::remove_all<LhsNested>::type _LhsNested;
-    typedef internal::blas_traits<_LhsNested> LhsBlasTraits;
-    typedef typename LhsBlasTraits::DirectLinearAccessType ActualLhsType;
-    typedef typename internal::remove_all<ActualLhsType>::type _ActualLhsType;
-    typedef typename internal::traits<Lhs>::Scalar LhsScalar;
-
-    typedef typename Rhs::Nested RhsNested;
-    typedef typename internal::remove_all<RhsNested>::type _RhsNested;
-    typedef internal::blas_traits<_RhsNested> RhsBlasTraits;
-    typedef typename RhsBlasTraits::DirectLinearAccessType ActualRhsType;
-    typedef typename internal::remove_all<ActualRhsType>::type _ActualRhsType;
-    typedef typename internal::traits<Rhs>::Scalar RhsScalar;
-
-    // Diagonal of a product: no need to evaluate the arguments because they are going to be evaluated only once
-    typedef CoeffBasedProduct<LhsNested, RhsNested, 0> FullyLazyCoeffBaseProductType;
-
-  public:
-
-#ifndef EIGEN_NO_MALLOC
-    typedef typename Base::PlainObject BasePlainObject;
-    typedef Matrix<Scalar,RowsAtCompileTime==1?1:Dynamic,ColsAtCompileTime==1?1:Dynamic,BasePlainObject::Options> DynPlainObject;
-    typedef typename internal::conditional<(BasePlainObject::SizeAtCompileTime==Dynamic) || (BasePlainObject::SizeAtCompileTime*int(sizeof(Scalar)) < int(EIGEN_STACK_ALLOCATION_LIMIT)),
-                                           BasePlainObject, DynPlainObject>::type PlainObject;
-#else
-    typedef typename Base::PlainObject PlainObject;
-#endif
-
-    ProductBase(const Lhs& a_lhs, const Rhs& a_rhs)
-      : m_lhs(a_lhs), m_rhs(a_rhs)
-    {
-      eigen_assert(a_lhs.cols() == a_rhs.rows()
-        && "invalid matrix product"
-        && "if you wanted a coeff-wise or a dot product use the respective explicit functions");
-    }
-
-    inline Index rows() const { return m_lhs.rows(); }
-    inline Index cols() const { return m_rhs.cols(); }
-
-    template<typename Dest>
-    inline void evalTo(Dest& dst) const { dst.setZero(); scaleAndAddTo(dst,Scalar(1)); }
-
-    template<typename Dest>
-    inline void addTo(Dest& dst) const { scaleAndAddTo(dst,Scalar(1)); }
-
-    template<typename Dest>
-    inline void subTo(Dest& dst) const { scaleAndAddTo(dst,Scalar(-1)); }
-
-    template<typename Dest>
-    inline void scaleAndAddTo(Dest& dst, const Scalar& alpha) const { derived().scaleAndAddTo(dst,alpha); }
-
-    const _LhsNested& lhs() const { return m_lhs; }
-    const _RhsNested& rhs() const { return m_rhs; }
-
-    // Implicit conversion to the nested type (trigger the evaluation of the product)
-    operator const PlainObject& () const
-    {
-      m_result.resize(m_lhs.rows(), m_rhs.cols());
-      derived().evalTo(m_result);
-      return m_result;
-    }
-
-    const Diagonal<const FullyLazyCoeffBaseProductType,0> diagonal() const
-    { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs); }
-
-    template<int Index>
-    const Diagonal<FullyLazyCoeffBaseProductType,Index> diagonal() const
-    { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs); }
-
-    const Diagonal<FullyLazyCoeffBaseProductType,Dynamic> diagonal(Index index) const
-    { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs).diagonal(index); }
-
-    // restrict coeff accessors to 1x1 expressions. No need to care about mutators here since this isnt a Lvalue expression
-    typename Base::CoeffReturnType coeff(Index row, Index col) const
-    {
-#ifdef EIGEN2_SUPPORT
-      return lhs().row(row).cwiseProduct(rhs().col(col).transpose()).sum();
-#else
-      EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
-      eigen_assert(this->rows() == 1 && this->cols() == 1);
-      Matrix<Scalar,1,1> result = *this;
-      return result.coeff(row,col);
-#endif
-    }
-
-    typename Base::CoeffReturnType coeff(Index i) const
-    {
-      EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
-      eigen_assert(this->rows() == 1 && this->cols() == 1);
-      Matrix<Scalar,1,1> result = *this;
-      return result.coeff(i);
-    }
-
-    const Scalar& coeffRef(Index row, Index col) const
-    {
-      EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
-      eigen_assert(this->rows() == 1 && this->cols() == 1);
-      return derived().coeffRef(row,col);
-    }
-
-    const Scalar& coeffRef(Index i) const
-    {
-      EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
-      eigen_assert(this->rows() == 1 && this->cols() == 1);
-      return derived().coeffRef(i);
-    }
-
-  protected:
-
-    LhsNested m_lhs;
-    RhsNested m_rhs;
-
-    mutable PlainObject m_result;
-};
-
-// here we need to overload the nested rule for products
-// such that the nested type is a const reference to a plain matrix
-namespace internal {
-template<typename Lhs, typename Rhs, int Mode, int N, typename PlainObject>
-struct nested<GeneralProduct<Lhs,Rhs,Mode>, N, PlainObject>
-{
-  typedef typename GeneralProduct<Lhs,Rhs,Mode>::PlainObject const& type;
-};
-template<typename Lhs, typename Rhs, int Mode, int N, typename PlainObject>
-struct nested<const GeneralProduct<Lhs,Rhs,Mode>, N, PlainObject>
-{
-  typedef typename GeneralProduct<Lhs,Rhs,Mode>::PlainObject const& type;
-};
-}
-
-template<typename NestedProduct>
-class ScaledProduct;
-
-// Note that these two operator* functions are not defined as member
-// functions of ProductBase, because, otherwise we would have to
-// define all overloads defined in MatrixBase. Furthermore, Using
-// "using Base::operator*" would not work with MSVC.
-//
-// Also note that here we accept any compatible scalar types
-template<typename Derived,typename Lhs,typename Rhs>
-const ScaledProduct<Derived>
-operator*(const ProductBase<Derived,Lhs,Rhs>& prod, const typename Derived::Scalar& x)
-{ return ScaledProduct<Derived>(prod.derived(), x); }
-
-template<typename Derived,typename Lhs,typename Rhs>
-typename internal::enable_if<!internal::is_same<typename Derived::Scalar,typename Derived::RealScalar>::value,
-                      const ScaledProduct<Derived> >::type
-operator*(const ProductBase<Derived,Lhs,Rhs>& prod, const typename Derived::RealScalar& x)
-{ return ScaledProduct<Derived>(prod.derived(), x); }
-
-
-template<typename Derived,typename Lhs,typename Rhs>
-const ScaledProduct<Derived>
-operator*(const typename Derived::Scalar& x,const ProductBase<Derived,Lhs,Rhs>& prod)
-{ return ScaledProduct<Derived>(prod.derived(), x); }
-
-template<typename Derived,typename Lhs,typename Rhs>
-typename internal::enable_if<!internal::is_same<typename Derived::Scalar,typename Derived::RealScalar>::value,
-                      const ScaledProduct<Derived> >::type
-operator*(const typename Derived::RealScalar& x,const ProductBase<Derived,Lhs,Rhs>& prod)
-{ return ScaledProduct<Derived>(prod.derived(), x); }
-
-namespace internal {
-template<typename NestedProduct>
-struct traits<ScaledProduct<NestedProduct> >
- : traits<ProductBase<ScaledProduct<NestedProduct>,
-                         typename NestedProduct::_LhsNested,
-                         typename NestedProduct::_RhsNested> >
-{
-  typedef typename traits<NestedProduct>::StorageKind StorageKind;
-};
-}
-
-template<typename NestedProduct>
-class ScaledProduct
-  : public ProductBase<ScaledProduct<NestedProduct>,
-                       typename NestedProduct::_LhsNested,
-                       typename NestedProduct::_RhsNested>
-{
-  public:
-    typedef ProductBase<ScaledProduct<NestedProduct>,
-                       typename NestedProduct::_LhsNested,
-                       typename NestedProduct::_RhsNested> Base;
-    typedef typename Base::Scalar Scalar;
-    typedef typename Base::PlainObject PlainObject;
-//     EIGEN_PRODUCT_PUBLIC_INTERFACE(ScaledProduct)
-
-    ScaledProduct(const NestedProduct& prod, const Scalar& x)
-    : Base(prod.lhs(),prod.rhs()), m_prod(prod), m_alpha(x) {}
-
-    template<typename Dest>
-    inline void evalTo(Dest& dst) const { dst.setZero(); scaleAndAddTo(dst, Scalar(1)); }
-
-    template<typename Dest>
-    inline void addTo(Dest& dst) const { scaleAndAddTo(dst, Scalar(1)); }
-
-    template<typename Dest>
-    inline void subTo(Dest& dst) const { scaleAndAddTo(dst, Scalar(-1)); }
-
-    template<typename Dest>
-    inline void scaleAndAddTo(Dest& dst, const Scalar& a_alpha) const { m_prod.derived().scaleAndAddTo(dst,a_alpha * m_alpha); }
-
-    const Scalar& alpha() const { return m_alpha; }
-    
-  protected:
-    const NestedProduct& m_prod;
-    Scalar m_alpha;
-};
-
-/** \internal
-  * Overloaded to perform an efficient C = (A*B).lazy() */
-template<typename Derived>
-template<typename ProductDerived, typename Lhs, typename Rhs>
-Derived& MatrixBase<Derived>::lazyAssign(const ProductBase<ProductDerived, Lhs,Rhs>& other)
-{
-  other.derived().evalTo(derived());
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_PRODUCTBASE_H
diff --git a/lib/Eigen/src/Core/Random.h b/lib/Eigen/src/Core/Random.h
deleted file mode 100644
index 480fea40..00000000
--- a/lib/Eigen/src/Core/Random.h
+++ /dev/null
@@ -1,152 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_RANDOM_H
-#define EIGEN_RANDOM_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Scalar> struct scalar_random_op {
-  EIGEN_EMPTY_STRUCT_CTOR(scalar_random_op)
-  template<typename Index>
-  inline const Scalar operator() (Index, Index = 0) const { return random<Scalar>(); }
-};
-
-template<typename Scalar>
-struct functor_traits<scalar_random_op<Scalar> >
-{ enum { Cost = 5 * NumTraits<Scalar>::MulCost, PacketAccess = false, IsRepeatable = false }; };
-
-} // end namespace internal
-
-/** \returns a random matrix expression
-  *
-  * The parameters \a rows and \a cols are the number of rows and of columns of
-  * the returned matrix. Must be compatible with this MatrixBase type.
-  *
-  * This variant is meant to be used for dynamic-size matrix types. For fixed-size types,
-  * it is redundant to pass \a rows and \a cols as arguments, so Random() should be used
-  * instead.
-  *
-  * Example: \include MatrixBase_random_int_int.cpp
-  * Output: \verbinclude MatrixBase_random_int_int.out
-  *
-  * This expression has the "evaluate before nesting" flag so that it will be evaluated into
-  * a temporary matrix whenever it is nested in a larger expression. This prevents unexpected
-  * behavior with expressions involving random matrices.
-  *
-  * \sa MatrixBase::setRandom(), MatrixBase::Random(Index), MatrixBase::Random()
-  */
-template<typename Derived>
-inline const CwiseNullaryOp<internal::scalar_random_op<typename internal::traits<Derived>::Scalar>, Derived>
-DenseBase<Derived>::Random(Index rows, Index cols)
-{
-  return NullaryExpr(rows, cols, internal::scalar_random_op<Scalar>());
-}
-
-/** \returns a random vector expression
-  *
-  * The parameter \a size is the size of the returned vector.
-  * Must be compatible with this MatrixBase type.
-  *
-  * \only_for_vectors
-  *
-  * This variant is meant to be used for dynamic-size vector types. For fixed-size types,
-  * it is redundant to pass \a size as argument, so Random() should be used
-  * instead.
-  *
-  * Example: \include MatrixBase_random_int.cpp
-  * Output: \verbinclude MatrixBase_random_int.out
-  *
-  * This expression has the "evaluate before nesting" flag so that it will be evaluated into
-  * a temporary vector whenever it is nested in a larger expression. This prevents unexpected
-  * behavior with expressions involving random matrices.
-  *
-  * \sa MatrixBase::setRandom(), MatrixBase::Random(Index,Index), MatrixBase::Random()
-  */
-template<typename Derived>
-inline const CwiseNullaryOp<internal::scalar_random_op<typename internal::traits<Derived>::Scalar>, Derived>
-DenseBase<Derived>::Random(Index size)
-{
-  return NullaryExpr(size, internal::scalar_random_op<Scalar>());
-}
-
-/** \returns a fixed-size random matrix or vector expression
-  *
-  * This variant is only for fixed-size MatrixBase types. For dynamic-size types, you
-  * need to use the variants taking size arguments.
-  *
-  * Example: \include MatrixBase_random.cpp
-  * Output: \verbinclude MatrixBase_random.out
-  *
-  * This expression has the "evaluate before nesting" flag so that it will be evaluated into
-  * a temporary matrix whenever it is nested in a larger expression. This prevents unexpected
-  * behavior with expressions involving random matrices.
-  *
-  * \sa MatrixBase::setRandom(), MatrixBase::Random(Index,Index), MatrixBase::Random(Index)
-  */
-template<typename Derived>
-inline const CwiseNullaryOp<internal::scalar_random_op<typename internal::traits<Derived>::Scalar>, Derived>
-DenseBase<Derived>::Random()
-{
-  return NullaryExpr(RowsAtCompileTime, ColsAtCompileTime, internal::scalar_random_op<Scalar>());
-}
-
-/** Sets all coefficients in this expression to random values.
-  *
-  * Example: \include MatrixBase_setRandom.cpp
-  * Output: \verbinclude MatrixBase_setRandom.out
-  *
-  * \sa class CwiseNullaryOp, setRandom(Index), setRandom(Index,Index)
-  */
-template<typename Derived>
-inline Derived& DenseBase<Derived>::setRandom()
-{
-  return *this = Random(rows(), cols());
-}
-
-/** Resizes to the given \a newSize, and sets all coefficients in this expression to random values.
-  *
-  * \only_for_vectors
-  *
-  * Example: \include Matrix_setRandom_int.cpp
-  * Output: \verbinclude Matrix_setRandom_int.out
-  *
-  * \sa MatrixBase::setRandom(), setRandom(Index,Index), class CwiseNullaryOp, MatrixBase::Random()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-PlainObjectBase<Derived>::setRandom(Index newSize)
-{
-  resize(newSize);
-  return setRandom();
-}
-
-/** Resizes to the given size, and sets all coefficients in this expression to random values.
-  *
-  * \param nbRows the new number of rows
-  * \param nbCols the new number of columns
-  *
-  * Example: \include Matrix_setRandom_int_int.cpp
-  * Output: \verbinclude Matrix_setRandom_int_int.out
-  *
-  * \sa MatrixBase::setRandom(), setRandom(Index), class CwiseNullaryOp, MatrixBase::Random()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-PlainObjectBase<Derived>::setRandom(Index nbRows, Index nbCols)
-{
-  resize(nbRows, nbCols);
-  return setRandom();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_RANDOM_H
diff --git a/lib/Eigen/src/Core/Redux.h b/lib/Eigen/src/Core/Redux.h
deleted file mode 100644
index 9b8662a6..00000000
--- a/lib/Eigen/src/Core/Redux.h
+++ /dev/null
@@ -1,409 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_REDUX_H
-#define EIGEN_REDUX_H
-
-namespace Eigen { 
-
-namespace internal {
-
-// TODO
-//  * implement other kind of vectorization
-//  * factorize code
-
-/***************************************************************************
-* Part 1 : the logic deciding a strategy for vectorization and unrolling
-***************************************************************************/
-
-template<typename Func, typename Derived>
-struct redux_traits
-{
-public:
-  enum {
-    PacketSize = packet_traits<typename Derived::Scalar>::size,
-    InnerMaxSize = int(Derived::IsRowMajor)
-                 ? Derived::MaxColsAtCompileTime
-                 : Derived::MaxRowsAtCompileTime
-  };
-
-  enum {
-    MightVectorize = (int(Derived::Flags)&ActualPacketAccessBit)
-                  && (functor_traits<Func>::PacketAccess),
-    MayLinearVectorize = MightVectorize && (int(Derived::Flags)&LinearAccessBit),
-    MaySliceVectorize  = MightVectorize && int(InnerMaxSize)>=3*PacketSize
-  };
-
-public:
-  enum {
-    Traversal = int(MayLinearVectorize) ? int(LinearVectorizedTraversal)
-              : int(MaySliceVectorize)  ? int(SliceVectorizedTraversal)
-                                        : int(DefaultTraversal)
-  };
-
-public:
-  enum {
-    Cost = (  Derived::SizeAtCompileTime == Dynamic
-           || Derived::CoeffReadCost == Dynamic
-           || (Derived::SizeAtCompileTime!=1 && functor_traits<Func>::Cost == Dynamic)
-           ) ? Dynamic
-           : Derived::SizeAtCompileTime * Derived::CoeffReadCost
-               + (Derived::SizeAtCompileTime-1) * functor_traits<Func>::Cost,
-    UnrollingLimit = EIGEN_UNROLLING_LIMIT * (int(Traversal) == int(DefaultTraversal) ? 1 : int(PacketSize))
-  };
-
-public:
-  enum {
-    Unrolling = Cost != Dynamic && Cost <= UnrollingLimit
-              ? CompleteUnrolling
-              : NoUnrolling
-  };
-};
-
-/***************************************************************************
-* Part 2 : unrollers
-***************************************************************************/
-
-/*** no vectorization ***/
-
-template<typename Func, typename Derived, int Start, int Length>
-struct redux_novec_unroller
-{
-  enum {
-    HalfLength = Length/2
-  };
-
-  typedef typename Derived::Scalar Scalar;
-
-  static EIGEN_STRONG_INLINE Scalar run(const Derived &mat, const Func& func)
-  {
-    return func(redux_novec_unroller<Func, Derived, Start, HalfLength>::run(mat,func),
-                redux_novec_unroller<Func, Derived, Start+HalfLength, Length-HalfLength>::run(mat,func));
-  }
-};
-
-template<typename Func, typename Derived, int Start>
-struct redux_novec_unroller<Func, Derived, Start, 1>
-{
-  enum {
-    outer = Start / Derived::InnerSizeAtCompileTime,
-    inner = Start % Derived::InnerSizeAtCompileTime
-  };
-
-  typedef typename Derived::Scalar Scalar;
-
-  static EIGEN_STRONG_INLINE Scalar run(const Derived &mat, const Func&)
-  {
-    return mat.coeffByOuterInner(outer, inner);
-  }
-};
-
-// This is actually dead code and will never be called. It is required
-// to prevent false warnings regarding failed inlining though
-// for 0 length run() will never be called at all.
-template<typename Func, typename Derived, int Start>
-struct redux_novec_unroller<Func, Derived, Start, 0>
-{
-  typedef typename Derived::Scalar Scalar;
-  static EIGEN_STRONG_INLINE Scalar run(const Derived&, const Func&) { return Scalar(); }
-};
-
-/*** vectorization ***/
-
-template<typename Func, typename Derived, int Start, int Length>
-struct redux_vec_unroller
-{
-  enum {
-    PacketSize = packet_traits<typename Derived::Scalar>::size,
-    HalfLength = Length/2
-  };
-
-  typedef typename Derived::Scalar Scalar;
-  typedef typename packet_traits<Scalar>::type PacketScalar;
-
-  static EIGEN_STRONG_INLINE PacketScalar run(const Derived &mat, const Func& func)
-  {
-    return func.packetOp(
-            redux_vec_unroller<Func, Derived, Start, HalfLength>::run(mat,func),
-            redux_vec_unroller<Func, Derived, Start+HalfLength, Length-HalfLength>::run(mat,func) );
-  }
-};
-
-template<typename Func, typename Derived, int Start>
-struct redux_vec_unroller<Func, Derived, Start, 1>
-{
-  enum {
-    index = Start * packet_traits<typename Derived::Scalar>::size,
-    outer = index / int(Derived::InnerSizeAtCompileTime),
-    inner = index % int(Derived::InnerSizeAtCompileTime),
-    alignment = (Derived::Flags & AlignedBit) ? Aligned : Unaligned
-  };
-
-  typedef typename Derived::Scalar Scalar;
-  typedef typename packet_traits<Scalar>::type PacketScalar;
-
-  static EIGEN_STRONG_INLINE PacketScalar run(const Derived &mat, const Func&)
-  {
-    return mat.template packetByOuterInner<alignment>(outer, inner);
-  }
-};
-
-/***************************************************************************
-* Part 3 : implementation of all cases
-***************************************************************************/
-
-template<typename Func, typename Derived,
-         int Traversal = redux_traits<Func, Derived>::Traversal,
-         int Unrolling = redux_traits<Func, Derived>::Unrolling
->
-struct redux_impl;
-
-template<typename Func, typename Derived>
-struct redux_impl<Func, Derived, DefaultTraversal, NoUnrolling>
-{
-  typedef typename Derived::Scalar Scalar;
-  typedef typename Derived::Index Index;
-  static EIGEN_STRONG_INLINE Scalar run(const Derived& mat, const Func& func)
-  {
-    eigen_assert(mat.rows()>0 && mat.cols()>0 && "you are using an empty matrix");
-    Scalar res;
-    res = mat.coeffByOuterInner(0, 0);
-    for(Index i = 1; i < mat.innerSize(); ++i)
-      res = func(res, mat.coeffByOuterInner(0, i));
-    for(Index i = 1; i < mat.outerSize(); ++i)
-      for(Index j = 0; j < mat.innerSize(); ++j)
-        res = func(res, mat.coeffByOuterInner(i, j));
-    return res;
-  }
-};
-
-template<typename Func, typename Derived>
-struct redux_impl<Func,Derived, DefaultTraversal, CompleteUnrolling>
-  : public redux_novec_unroller<Func,Derived, 0, Derived::SizeAtCompileTime>
-{};
-
-template<typename Func, typename Derived>
-struct redux_impl<Func, Derived, LinearVectorizedTraversal, NoUnrolling>
-{
-  typedef typename Derived::Scalar Scalar;
-  typedef typename packet_traits<Scalar>::type PacketScalar;
-  typedef typename Derived::Index Index;
-
-  static Scalar run(const Derived& mat, const Func& func)
-  {
-    const Index size = mat.size();
-    eigen_assert(size && "you are using an empty matrix");
-    const Index packetSize = packet_traits<Scalar>::size;
-    const Index alignedStart = internal::first_aligned(mat);
-    enum {
-      alignment = bool(Derived::Flags & DirectAccessBit) || bool(Derived::Flags & AlignedBit)
-                ? Aligned : Unaligned
-    };
-    const Index alignedSize2 = ((size-alignedStart)/(2*packetSize))*(2*packetSize);
-    const Index alignedSize = ((size-alignedStart)/(packetSize))*(packetSize);
-    const Index alignedEnd2 = alignedStart + alignedSize2;
-    const Index alignedEnd  = alignedStart + alignedSize;
-    Scalar res;
-    if(alignedSize)
-    {
-      PacketScalar packet_res0 = mat.template packet<alignment>(alignedStart);
-      if(alignedSize>packetSize) // we have at least two packets to partly unroll the loop
-      {
-        PacketScalar packet_res1 = mat.template packet<alignment>(alignedStart+packetSize);
-        for(Index index = alignedStart + 2*packetSize; index < alignedEnd2; index += 2*packetSize)
-        {
-          packet_res0 = func.packetOp(packet_res0, mat.template packet<alignment>(index));
-          packet_res1 = func.packetOp(packet_res1, mat.template packet<alignment>(index+packetSize));
-        }
-
-        packet_res0 = func.packetOp(packet_res0,packet_res1);
-        if(alignedEnd>alignedEnd2)
-          packet_res0 = func.packetOp(packet_res0, mat.template packet<alignment>(alignedEnd2));
-      }
-      res = func.predux(packet_res0);
-
-      for(Index index = 0; index < alignedStart; ++index)
-        res = func(res,mat.coeff(index));
-
-      for(Index index = alignedEnd; index < size; ++index)
-        res = func(res,mat.coeff(index));
-    }
-    else // too small to vectorize anything.
-         // since this is dynamic-size hence inefficient anyway for such small sizes, don't try to optimize.
-    {
-      res = mat.coeff(0);
-      for(Index index = 1; index < size; ++index)
-        res = func(res,mat.coeff(index));
-    }
-
-    return res;
-  }
-};
-
-// NOTE: for SliceVectorizedTraversal we simply bypass unrolling
-template<typename Func, typename Derived, int Unrolling>
-struct redux_impl<Func, Derived, SliceVectorizedTraversal, Unrolling>
-{
-  typedef typename Derived::Scalar Scalar;
-  typedef typename packet_traits<Scalar>::type PacketScalar;
-  typedef typename Derived::Index Index;
-
-  static Scalar run(const Derived& mat, const Func& func)
-  {
-    eigen_assert(mat.rows()>0 && mat.cols()>0 && "you are using an empty matrix");
-    const Index innerSize = mat.innerSize();
-    const Index outerSize = mat.outerSize();
-    enum {
-      packetSize = packet_traits<Scalar>::size
-    };
-    const Index packetedInnerSize = ((innerSize)/packetSize)*packetSize;
-    Scalar res;
-    if(packetedInnerSize)
-    {
-      PacketScalar packet_res = mat.template packet<Unaligned>(0,0);
-      for(Index j=0; j<outerSize; ++j)
-        for(Index i=(j==0?packetSize:0); i<packetedInnerSize; i+=Index(packetSize))
-          packet_res = func.packetOp(packet_res, mat.template packetByOuterInner<Unaligned>(j,i));
-
-      res = func.predux(packet_res);
-      for(Index j=0; j<outerSize; ++j)
-        for(Index i=packetedInnerSize; i<innerSize; ++i)
-          res = func(res, mat.coeffByOuterInner(j,i));
-    }
-    else // too small to vectorize anything.
-         // since this is dynamic-size hence inefficient anyway for such small sizes, don't try to optimize.
-    {
-      res = redux_impl<Func, Derived, DefaultTraversal, NoUnrolling>::run(mat, func);
-    }
-
-    return res;
-  }
-};
-
-template<typename Func, typename Derived>
-struct redux_impl<Func, Derived, LinearVectorizedTraversal, CompleteUnrolling>
-{
-  typedef typename Derived::Scalar Scalar;
-  typedef typename packet_traits<Scalar>::type PacketScalar;
-  enum {
-    PacketSize = packet_traits<Scalar>::size,
-    Size = Derived::SizeAtCompileTime,
-    VectorizedSize = (Size / PacketSize) * PacketSize
-  };
-  static EIGEN_STRONG_INLINE Scalar run(const Derived& mat, const Func& func)
-  {
-    eigen_assert(mat.rows()>0 && mat.cols()>0 && "you are using an empty matrix");
-    Scalar res = func.predux(redux_vec_unroller<Func, Derived, 0, Size / PacketSize>::run(mat,func));
-    if (VectorizedSize != Size)
-      res = func(res,redux_novec_unroller<Func, Derived, VectorizedSize, Size-VectorizedSize>::run(mat,func));
-    return res;
-  }
-};
-
-} // end namespace internal
-
-/***************************************************************************
-* Part 4 : public API
-***************************************************************************/
-
-
-/** \returns the result of a full redux operation on the whole matrix or vector using \a func
-  *
-  * The template parameter \a BinaryOp is the type of the functor \a func which must be
-  * an associative operator. Both current STL and TR1 functor styles are handled.
-  *
-  * \sa DenseBase::sum(), DenseBase::minCoeff(), DenseBase::maxCoeff(), MatrixBase::colwise(), MatrixBase::rowwise()
-  */
-template<typename Derived>
-template<typename Func>
-EIGEN_STRONG_INLINE typename internal::result_of<Func(typename internal::traits<Derived>::Scalar)>::type
-DenseBase<Derived>::redux(const Func& func) const
-{
-  typedef typename internal::remove_all<typename Derived::Nested>::type ThisNested;
-  return internal::redux_impl<Func, ThisNested>
-            ::run(derived(), func);
-}
-
-/** \returns the minimum of all coefficients of \c *this.
-  * \warning the result is undefined if \c *this contains NaN.
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE typename internal::traits<Derived>::Scalar
-DenseBase<Derived>::minCoeff() const
-{
-  return this->redux(Eigen::internal::scalar_min_op<Scalar>());
-}
-
-/** \returns the maximum of all coefficients of \c *this.
-  * \warning the result is undefined if \c *this contains NaN.
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE typename internal::traits<Derived>::Scalar
-DenseBase<Derived>::maxCoeff() const
-{
-  return this->redux(Eigen::internal::scalar_max_op<Scalar>());
-}
-
-/** \returns the sum of all coefficients of *this
-  *
-  * \sa trace(), prod(), mean()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE typename internal::traits<Derived>::Scalar
-DenseBase<Derived>::sum() const
-{
-  if(SizeAtCompileTime==0 || (SizeAtCompileTime==Dynamic && size()==0))
-    return Scalar(0);
-  return this->redux(Eigen::internal::scalar_sum_op<Scalar>());
-}
-
-/** \returns the mean of all coefficients of *this
-*
-* \sa trace(), prod(), sum()
-*/
-template<typename Derived>
-EIGEN_STRONG_INLINE typename internal::traits<Derived>::Scalar
-DenseBase<Derived>::mean() const
-{
-  return Scalar(this->redux(Eigen::internal::scalar_sum_op<Scalar>())) / Scalar(this->size());
-}
-
-/** \returns the product of all coefficients of *this
-  *
-  * Example: \include MatrixBase_prod.cpp
-  * Output: \verbinclude MatrixBase_prod.out
-  *
-  * \sa sum(), mean(), trace()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE typename internal::traits<Derived>::Scalar
-DenseBase<Derived>::prod() const
-{
-  if(SizeAtCompileTime==0 || (SizeAtCompileTime==Dynamic && size()==0))
-    return Scalar(1);
-  return this->redux(Eigen::internal::scalar_product_op<Scalar>());
-}
-
-/** \returns the trace of \c *this, i.e. the sum of the coefficients on the main diagonal.
-  *
-  * \c *this can be any matrix, not necessarily square.
-  *
-  * \sa diagonal(), sum()
-  */
-template<typename Derived>
-EIGEN_STRONG_INLINE typename internal::traits<Derived>::Scalar
-MatrixBase<Derived>::trace() const
-{
-  return derived().diagonal().sum();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_REDUX_H
diff --git a/lib/Eigen/src/Core/Ref.h b/lib/Eigen/src/Core/Ref.h
deleted file mode 100644
index 7a3becaf..00000000
--- a/lib/Eigen/src/Core/Ref.h
+++ /dev/null
@@ -1,278 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_REF_H
-#define EIGEN_REF_H
-
-namespace Eigen { 
-
-template<typename Derived> class RefBase;
-template<typename PlainObjectType, int Options = 0,
-         typename StrideType = typename internal::conditional<PlainObjectType::IsVectorAtCompileTime,InnerStride<1>,OuterStride<> >::type > class Ref;
-
-/** \class Ref
-  * \ingroup Core_Module
-  *
-  * \brief A matrix or vector expression mapping an existing expressions
-  *
-  * \tparam PlainObjectType the equivalent matrix type of the mapped data
-  * \tparam Options specifies whether the pointer is \c #Aligned, or \c #Unaligned.
-  *                The default is \c #Unaligned.
-  * \tparam StrideType optionally specifies strides. By default, Ref implies a contiguous storage along the inner dimension (inner stride==1),
-  *                   but accept a variable outer stride (leading dimension).
-  *                   This can be overridden by specifying strides.
-  *                   The type passed here must be a specialization of the Stride template, see examples below.
-  *
-  * This class permits to write non template functions taking Eigen's object as parameters while limiting the number of copies.
-  * A Ref<> object can represent either a const expression or a l-value:
-  * \code
-  * // in-out argument:
-  * void foo1(Ref<VectorXf> x);
-  *
-  * // read-only const argument:
-  * void foo2(const Ref<const VectorXf>& x);
-  * \endcode
-  *
-  * In the in-out case, the input argument must satisfies the constraints of the actual Ref<> type, otherwise a compilation issue will be triggered.
-  * By default, a Ref<VectorXf> can reference any dense vector expression of float having a contiguous memory layout.
-  * Likewise, a Ref<MatrixXf> can reference any column major dense matrix expression of float whose column's elements are contiguously stored with
-  * the possibility to have a constant space inbetween each column, i.e.: the inner stride mmust be equal to 1, but the outer-stride (or leading dimension),
-  * can be greater than the number of rows.
-  *
-  * In the const case, if the input expression does not match the above requirement, then it is evaluated into a temporary before being passed to the function.
-  * Here are some examples:
-  * \code
-  * MatrixXf A;
-  * VectorXf a;
-  * foo1(a.head());             // OK
-  * foo1(A.col());              // OK
-  * foo1(A.row());              // compilation error because here innerstride!=1
-  * foo2(A.row());              // The row is copied into a contiguous temporary
-  * foo2(2*a);                  // The expression is evaluated into a temporary
-  * foo2(A.col().segment(2,4)); // No temporary
-  * \endcode
-  *
-  * The range of inputs that can be referenced without temporary can be enlarged using the last two template parameter.
-  * Here is an example accepting an innerstride!=1:
-  * \code
-  * // in-out argument:
-  * void foo3(Ref<VectorXf,0,InnerStride<> > x);
-  * foo3(A.row());              // OK
-  * \endcode
-  * The downside here is that the function foo3 might be significantly slower than foo1 because it won't be able to exploit vectorization, and will involved more
-  * expensive address computations even if the input is contiguously stored in memory. To overcome this issue, one might propose to overloads internally calling a
-  * template function, e.g.:
-  * \code
-  * // in the .h:
-  * void foo(const Ref<MatrixXf>& A);
-  * void foo(const Ref<MatrixXf,0,Stride<> >& A);
-  *
-  * // in the .cpp:
-  * template<typename TypeOfA> void foo_impl(const TypeOfA& A) {
-  *     ... // crazy code goes here
-  * }
-  * void foo(const Ref<MatrixXf>& A) { foo_impl(A); }
-  * void foo(const Ref<MatrixXf,0,Stride<> >& A) { foo_impl(A); }
-  * \endcode
-  *
-  *
-  * \sa PlainObjectBase::Map(), \ref TopicStorageOrders
-  */
-
-namespace internal {
-
-template<typename _PlainObjectType, int _Options, typename _StrideType>
-struct traits<Ref<_PlainObjectType, _Options, _StrideType> >
-  : public traits<Map<_PlainObjectType, _Options, _StrideType> >
-{
-  typedef _PlainObjectType PlainObjectType;
-  typedef _StrideType StrideType;
-  enum {
-    Options = _Options,
-    Flags = traits<Map<_PlainObjectType, _Options, _StrideType> >::Flags | NestByRefBit
-  };
-
-  template<typename Derived> struct match {
-    enum {
-      HasDirectAccess = internal::has_direct_access<Derived>::ret,
-      StorageOrderMatch = PlainObjectType::IsVectorAtCompileTime || Derived::IsVectorAtCompileTime || ((PlainObjectType::Flags&RowMajorBit)==(Derived::Flags&RowMajorBit)),
-      InnerStrideMatch = int(StrideType::InnerStrideAtCompileTime)==int(Dynamic)
-                      || int(StrideType::InnerStrideAtCompileTime)==int(Derived::InnerStrideAtCompileTime)
-                      || (int(StrideType::InnerStrideAtCompileTime)==0 && int(Derived::InnerStrideAtCompileTime)==1),
-      OuterStrideMatch = Derived::IsVectorAtCompileTime
-                      || int(StrideType::OuterStrideAtCompileTime)==int(Dynamic) || int(StrideType::OuterStrideAtCompileTime)==int(Derived::OuterStrideAtCompileTime),
-      AlignmentMatch = (_Options!=Aligned) || ((PlainObjectType::Flags&AlignedBit)==0) || ((traits<Derived>::Flags&AlignedBit)==AlignedBit),
-      ScalarTypeMatch = internal::is_same<typename PlainObjectType::Scalar, typename Derived::Scalar>::value,
-      MatchAtCompileTime = HasDirectAccess && StorageOrderMatch && InnerStrideMatch && OuterStrideMatch && AlignmentMatch && ScalarTypeMatch
-    };
-    typedef typename internal::conditional<MatchAtCompileTime,internal::true_type,internal::false_type>::type type;
-  };
-  
-};
-
-template<typename Derived>
-struct traits<RefBase<Derived> > : public traits<Derived> {};
-
-}
-
-template<typename Derived> class RefBase
- : public MapBase<Derived>
-{
-  typedef typename internal::traits<Derived>::PlainObjectType PlainObjectType;
-  typedef typename internal::traits<Derived>::StrideType StrideType;
-
-public:
-
-  typedef MapBase<Derived> Base;
-  EIGEN_DENSE_PUBLIC_INTERFACE(RefBase)
-
-  inline Index innerStride() const
-  {
-    return StrideType::InnerStrideAtCompileTime != 0 ? m_stride.inner() : 1;
-  }
-
-  inline Index outerStride() const
-  {
-    return StrideType::OuterStrideAtCompileTime != 0 ? m_stride.outer()
-         : IsVectorAtCompileTime ? this->size()
-         : int(Flags)&RowMajorBit ? this->cols()
-         : this->rows();
-  }
-
-  RefBase()
-    : Base(0,RowsAtCompileTime==Dynamic?0:RowsAtCompileTime,ColsAtCompileTime==Dynamic?0:ColsAtCompileTime),
-      // Stride<> does not allow default ctor for Dynamic strides, so let' initialize it with dummy values:
-      m_stride(StrideType::OuterStrideAtCompileTime==Dynamic?0:StrideType::OuterStrideAtCompileTime,
-               StrideType::InnerStrideAtCompileTime==Dynamic?0:StrideType::InnerStrideAtCompileTime)
-  {}
-  
-  EIGEN_INHERIT_ASSIGNMENT_OPERATORS(RefBase)
-
-protected:
-
-  typedef Stride<StrideType::OuterStrideAtCompileTime,StrideType::InnerStrideAtCompileTime> StrideBase;
-
-  template<typename Expression>
-  void construct(Expression& expr)
-  {
-    if(PlainObjectType::RowsAtCompileTime==1)
-    {
-      eigen_assert(expr.rows()==1 || expr.cols()==1);
-      ::new (static_cast<Base*>(this)) Base(expr.data(), 1, expr.size());
-    }
-    else if(PlainObjectType::ColsAtCompileTime==1)
-    {
-      eigen_assert(expr.rows()==1 || expr.cols()==1);
-      ::new (static_cast<Base*>(this)) Base(expr.data(), expr.size(), 1);
-    }
-    else
-      ::new (static_cast<Base*>(this)) Base(expr.data(), expr.rows(), expr.cols());
-    
-    if(Expression::IsVectorAtCompileTime && (!PlainObjectType::IsVectorAtCompileTime) && ((Expression::Flags&RowMajorBit)!=(PlainObjectType::Flags&RowMajorBit)))
-      ::new (&m_stride) StrideBase(expr.innerStride(), StrideType::InnerStrideAtCompileTime==0?0:1);
-    else
-      ::new (&m_stride) StrideBase(StrideType::OuterStrideAtCompileTime==0?0:expr.outerStride(),
-                                   StrideType::InnerStrideAtCompileTime==0?0:expr.innerStride());    
-  }
-
-  StrideBase m_stride;
-};
-
-
-template<typename PlainObjectType, int Options, typename StrideType> class Ref
-  : public RefBase<Ref<PlainObjectType, Options, StrideType> >
-{
-  private:
-    typedef internal::traits<Ref> Traits;
-    template<typename Derived>
-    inline Ref(const PlainObjectBase<Derived>& expr,
-               typename internal::enable_if<bool(Traits::template match<Derived>::MatchAtCompileTime),Derived>::type* = 0);
-  public:
-
-    typedef RefBase<Ref> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Ref)
-
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    template<typename Derived>
-    inline Ref(PlainObjectBase<Derived>& expr,
-               typename internal::enable_if<bool(Traits::template match<Derived>::MatchAtCompileTime),Derived>::type* = 0)
-    {
-      EIGEN_STATIC_ASSERT(static_cast<bool>(Traits::template match<Derived>::MatchAtCompileTime), STORAGE_LAYOUT_DOES_NOT_MATCH);
-      Base::construct(expr.derived());
-    }
-    template<typename Derived>
-    inline Ref(const DenseBase<Derived>& expr,
-               typename internal::enable_if<bool(Traits::template match<Derived>::MatchAtCompileTime),Derived>::type* = 0)
-    #else
-    template<typename Derived>
-    inline Ref(DenseBase<Derived>& expr)
-    #endif
-    {
-      EIGEN_STATIC_ASSERT(static_cast<bool>(internal::is_lvalue<Derived>::value), THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY);
-      EIGEN_STATIC_ASSERT(static_cast<bool>(Traits::template match<Derived>::MatchAtCompileTime), STORAGE_LAYOUT_DOES_NOT_MATCH);
-      enum { THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY = Derived::ThisConstantIsPrivateInPlainObjectBase};
-      Base::construct(expr.const_cast_derived());
-    }
-
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Ref)
-
-};
-
-// this is the const ref version
-template<typename TPlainObjectType, int Options, typename StrideType> class Ref<const TPlainObjectType, Options, StrideType>
-  : public RefBase<Ref<const TPlainObjectType, Options, StrideType> >
-{
-    typedef internal::traits<Ref> Traits;
-  public:
-
-    typedef RefBase<Ref> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Ref)
-
-    template<typename Derived>
-    inline Ref(const DenseBase<Derived>& expr,
-               typename internal::enable_if<bool(Traits::template match<Derived>::ScalarTypeMatch),Derived>::type* = 0)
-    {
-//      std::cout << match_helper<Derived>::HasDirectAccess << "," << match_helper<Derived>::OuterStrideMatch << "," << match_helper<Derived>::InnerStrideMatch << "\n";
-//      std::cout << int(StrideType::OuterStrideAtCompileTime) << " - " << int(Derived::OuterStrideAtCompileTime) << "\n";
-//      std::cout << int(StrideType::InnerStrideAtCompileTime) << " - " << int(Derived::InnerStrideAtCompileTime) << "\n";
-      construct(expr.derived(), typename Traits::template match<Derived>::type());
-    }
-    
-    inline Ref(const Ref& other) : Base(other) {
-      // copy constructor shall not copy the m_object, to avoid unnecessary malloc and copy
-    }
-
-    template<typename OtherRef>
-    inline Ref(const RefBase<OtherRef>& other) {
-      construct(other.derived(), typename Traits::template match<OtherRef>::type());
-    }
-
-  protected:
-
-    template<typename Expression>
-    void construct(const Expression& expr,internal::true_type)
-    {
-      Base::construct(expr);
-    }
-
-    template<typename Expression>
-    void construct(const Expression& expr, internal::false_type)
-    {
-      m_object.lazyAssign(expr);
-      Base::construct(m_object);
-    }
-
-  protected:
-    TPlainObjectType m_object;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_REF_H
diff --git a/lib/Eigen/src/Core/Replicate.h b/lib/Eigen/src/Core/Replicate.h
deleted file mode 100644
index ac4537c1..00000000
--- a/lib/Eigen/src/Core/Replicate.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_REPLICATE_H
-#define EIGEN_REPLICATE_H
-
-namespace Eigen { 
-
-/**
-  * \class Replicate
-  * \ingroup Core_Module
-  *
-  * \brief Expression of the multiple replication of a matrix or vector
-  *
-  * \param MatrixType the type of the object we are replicating
-  *
-  * This class represents an expression of the multiple replication of a matrix or vector.
-  * It is the return type of DenseBase::replicate() and most of the time
-  * this is the only way it is used.
-  *
-  * \sa DenseBase::replicate()
-  */
-
-namespace internal {
-template<typename MatrixType,int RowFactor,int ColFactor>
-struct traits<Replicate<MatrixType,RowFactor,ColFactor> >
- : traits<MatrixType>
-{
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename traits<MatrixType>::StorageKind StorageKind;
-  typedef typename traits<MatrixType>::XprKind XprKind;
-  enum {
-    Factor = (RowFactor==Dynamic || ColFactor==Dynamic) ? Dynamic : RowFactor*ColFactor
-  };
-  typedef typename nested<MatrixType,Factor>::type MatrixTypeNested;
-  typedef typename remove_reference<MatrixTypeNested>::type _MatrixTypeNested;
-  enum {
-    RowsAtCompileTime = RowFactor==Dynamic || int(MatrixType::RowsAtCompileTime)==Dynamic
-                      ? Dynamic
-                      : RowFactor * MatrixType::RowsAtCompileTime,
-    ColsAtCompileTime = ColFactor==Dynamic || int(MatrixType::ColsAtCompileTime)==Dynamic
-                      ? Dynamic
-                      : ColFactor * MatrixType::ColsAtCompileTime,
-   //FIXME we don't propagate the max sizes !!!
-    MaxRowsAtCompileTime = RowsAtCompileTime,
-    MaxColsAtCompileTime = ColsAtCompileTime,
-    IsRowMajor = MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1 ? 1
-               : MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1 ? 0
-               : (MatrixType::Flags & RowMajorBit) ? 1 : 0,
-    Flags = (_MatrixTypeNested::Flags & HereditaryBits & ~RowMajorBit) | (IsRowMajor ? RowMajorBit : 0),
-    CoeffReadCost = _MatrixTypeNested::CoeffReadCost
-  };
-};
-}
-
-template<typename MatrixType,int RowFactor,int ColFactor> class Replicate
-  : public internal::dense_xpr_base< Replicate<MatrixType,RowFactor,ColFactor> >::type
-{
-    typedef typename internal::traits<Replicate>::MatrixTypeNested MatrixTypeNested;
-    typedef typename internal::traits<Replicate>::_MatrixTypeNested _MatrixTypeNested;
-  public:
-
-    typedef typename internal::dense_xpr_base<Replicate>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Replicate)
-
-    template<typename OriginalMatrixType>
-    inline explicit Replicate(const OriginalMatrixType& a_matrix)
-      : m_matrix(a_matrix), m_rowFactor(RowFactor), m_colFactor(ColFactor)
-    {
-      EIGEN_STATIC_ASSERT((internal::is_same<typename internal::remove_const<MatrixType>::type,OriginalMatrixType>::value),
-                          THE_MATRIX_OR_EXPRESSION_THAT_YOU_PASSED_DOES_NOT_HAVE_THE_EXPECTED_TYPE)
-      eigen_assert(RowFactor!=Dynamic && ColFactor!=Dynamic);
-    }
-
-    template<typename OriginalMatrixType>
-    inline Replicate(const OriginalMatrixType& a_matrix, Index rowFactor, Index colFactor)
-      : m_matrix(a_matrix), m_rowFactor(rowFactor), m_colFactor(colFactor)
-    {
-      EIGEN_STATIC_ASSERT((internal::is_same<typename internal::remove_const<MatrixType>::type,OriginalMatrixType>::value),
-                          THE_MATRIX_OR_EXPRESSION_THAT_YOU_PASSED_DOES_NOT_HAVE_THE_EXPECTED_TYPE)
-    }
-
-    inline Index rows() const { return m_matrix.rows() * m_rowFactor.value(); }
-    inline Index cols() const { return m_matrix.cols() * m_colFactor.value(); }
-
-    inline Scalar coeff(Index rowId, Index colId) const
-    {
-      // try to avoid using modulo; this is a pure optimization strategy
-      const Index actual_row  = internal::traits<MatrixType>::RowsAtCompileTime==1 ? 0
-                            : RowFactor==1 ? rowId
-                            : rowId%m_matrix.rows();
-      const Index actual_col  = internal::traits<MatrixType>::ColsAtCompileTime==1 ? 0
-                            : ColFactor==1 ? colId
-                            : colId%m_matrix.cols();
-
-      return m_matrix.coeff(actual_row, actual_col);
-    }
-    template<int LoadMode>
-    inline PacketScalar packet(Index rowId, Index colId) const
-    {
-      const Index actual_row  = internal::traits<MatrixType>::RowsAtCompileTime==1 ? 0
-                            : RowFactor==1 ? rowId
-                            : rowId%m_matrix.rows();
-      const Index actual_col  = internal::traits<MatrixType>::ColsAtCompileTime==1 ? 0
-                            : ColFactor==1 ? colId
-                            : colId%m_matrix.cols();
-
-      return m_matrix.template packet<LoadMode>(actual_row, actual_col);
-    }
-
-    const _MatrixTypeNested& nestedExpression() const
-    { 
-      return m_matrix; 
-    }
-
-  protected:
-    MatrixTypeNested m_matrix;
-    const internal::variable_if_dynamic<Index, RowFactor> m_rowFactor;
-    const internal::variable_if_dynamic<Index, ColFactor> m_colFactor;
-};
-
-/**
-  * \return an expression of the replication of \c *this
-  *
-  * Example: \include MatrixBase_replicate.cpp
-  * Output: \verbinclude MatrixBase_replicate.out
-  *
-  * \sa VectorwiseOp::replicate(), DenseBase::replicate(Index,Index), class Replicate
-  */
-template<typename Derived>
-template<int RowFactor, int ColFactor>
-const Replicate<Derived,RowFactor,ColFactor>
-DenseBase<Derived>::replicate() const
-{
-  return Replicate<Derived,RowFactor,ColFactor>(derived());
-}
-
-/**
-  * \return an expression of the replication of \c *this
-  *
-  * Example: \include MatrixBase_replicate_int_int.cpp
-  * Output: \verbinclude MatrixBase_replicate_int_int.out
-  *
-  * \sa VectorwiseOp::replicate(), DenseBase::replicate<int,int>(), class Replicate
-  */
-template<typename Derived>
-const typename DenseBase<Derived>::ReplicateReturnType
-DenseBase<Derived>::replicate(Index rowFactor,Index colFactor) const
-{
-  return Replicate<Derived,Dynamic,Dynamic>(derived(),rowFactor,colFactor);
-}
-
-/**
-  * \return an expression of the replication of each column (or row) of \c *this
-  *
-  * Example: \include DirectionWise_replicate_int.cpp
-  * Output: \verbinclude DirectionWise_replicate_int.out
-  *
-  * \sa VectorwiseOp::replicate(), DenseBase::replicate(), class Replicate
-  */
-template<typename ExpressionType, int Direction>
-const typename VectorwiseOp<ExpressionType,Direction>::ReplicateReturnType
-VectorwiseOp<ExpressionType,Direction>::replicate(Index factor) const
-{
-  return typename VectorwiseOp<ExpressionType,Direction>::ReplicateReturnType
-          (_expression(),Direction==Vertical?factor:1,Direction==Horizontal?factor:1);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_REPLICATE_H
diff --git a/lib/Eigen/src/Core/ReturnByValue.h b/lib/Eigen/src/Core/ReturnByValue.h
deleted file mode 100644
index f635598d..00000000
--- a/lib/Eigen/src/Core/ReturnByValue.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_RETURNBYVALUE_H
-#define EIGEN_RETURNBYVALUE_H
-
-namespace Eigen {
-
-/** \class ReturnByValue
-  * \ingroup Core_Module
-  *
-  */
-
-namespace internal {
-
-template<typename Derived>
-struct traits<ReturnByValue<Derived> >
-  : public traits<typename traits<Derived>::ReturnType>
-{
-  enum {
-    // We're disabling the DirectAccess because e.g. the constructor of
-    // the Block-with-DirectAccess expression requires to have a coeffRef method.
-    // Also, we don't want to have to implement the stride stuff.
-    Flags = (traits<typename traits<Derived>::ReturnType>::Flags
-             | EvalBeforeNestingBit) & ~DirectAccessBit
-  };
-};
-
-/* The ReturnByValue object doesn't even have a coeff() method.
- * So the only way that nesting it in an expression can work, is by evaluating it into a plain matrix.
- * So internal::nested always gives the plain return matrix type.
- *
- * FIXME: I don't understand why we need this specialization: isn't this taken care of by the EvalBeforeNestingBit ??
- */
-template<typename Derived,int n,typename PlainObject>
-struct nested<ReturnByValue<Derived>, n, PlainObject>
-{
-  typedef typename traits<Derived>::ReturnType type;
-};
-
-} // end namespace internal
-
-template<typename Derived> class ReturnByValue
-  : internal::no_assignment_operator, public internal::dense_xpr_base< ReturnByValue<Derived> >::type
-{
-  public:
-    typedef typename internal::traits<Derived>::ReturnType ReturnType;
-
-    typedef typename internal::dense_xpr_base<ReturnByValue>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(ReturnByValue)
-
-    template<typename Dest>
-    inline void evalTo(Dest& dst) const
-    { static_cast<const Derived*>(this)->evalTo(dst); }
-    inline Index rows() const { return static_cast<const Derived*>(this)->rows(); }
-    inline Index cols() const { return static_cast<const Derived*>(this)->cols(); }
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-#define Unusable YOU_ARE_TRYING_TO_ACCESS_A_SINGLE_COEFFICIENT_IN_A_SPECIAL_EXPRESSION_WHERE_THAT_IS_NOT_ALLOWED_BECAUSE_THAT_WOULD_BE_INEFFICIENT
-    class Unusable{
-      Unusable(const Unusable&) {}
-      Unusable& operator=(const Unusable&) {return *this;}
-    };
-    const Unusable& coeff(Index) const { return *reinterpret_cast<const Unusable*>(this); }
-    const Unusable& coeff(Index,Index) const { return *reinterpret_cast<const Unusable*>(this); }
-    Unusable& coeffRef(Index) { return *reinterpret_cast<Unusable*>(this); }
-    Unusable& coeffRef(Index,Index) { return *reinterpret_cast<Unusable*>(this); }
-    template<int LoadMode>  Unusable& packet(Index) const;
-    template<int LoadMode>  Unusable& packet(Index, Index) const;
-#endif
-};
-
-template<typename Derived>
-template<typename OtherDerived>
-Derived& DenseBase<Derived>::operator=(const ReturnByValue<OtherDerived>& other)
-{
-  other.evalTo(derived());
-  return derived();
-}
-
-template<typename Derived>
-template<typename OtherDerived>
-Derived& DenseBase<Derived>::lazyAssign(const ReturnByValue<OtherDerived>& other)
-{
-  other.evalTo(derived());
-  return derived();
-}
-
-
-} // end namespace Eigen
-
-#endif // EIGEN_RETURNBYVALUE_H
diff --git a/lib/Eigen/src/Core/Reverse.h b/lib/Eigen/src/Core/Reverse.h
deleted file mode 100644
index e30ae3d2..00000000
--- a/lib/Eigen/src/Core/Reverse.h
+++ /dev/null
@@ -1,224 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2009 Ricard Marxer <email@ricardmarxer.com>
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_REVERSE_H
-#define EIGEN_REVERSE_H
-
-namespace Eigen { 
-
-/** \class Reverse
-  * \ingroup Core_Module
-  *
-  * \brief Expression of the reverse of a vector or matrix
-  *
-  * \param MatrixType the type of the object of which we are taking the reverse
-  *
-  * This class represents an expression of the reverse of a vector.
-  * It is the return type of MatrixBase::reverse() and VectorwiseOp::reverse()
-  * and most of the time this is the only way it is used.
-  *
-  * \sa MatrixBase::reverse(), VectorwiseOp::reverse()
-  */
-
-namespace internal {
-
-template<typename MatrixType, int Direction>
-struct traits<Reverse<MatrixType, Direction> >
- : traits<MatrixType>
-{
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename traits<MatrixType>::StorageKind StorageKind;
-  typedef typename traits<MatrixType>::XprKind XprKind;
-  typedef typename nested<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_reference<MatrixTypeNested>::type _MatrixTypeNested;
-  enum {
-    RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-    ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-    MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime,
-
-    // let's enable LinearAccess only with vectorization because of the product overhead
-    LinearAccess = ( (Direction==BothDirections) && (int(_MatrixTypeNested::Flags)&PacketAccessBit) )
-                 ? LinearAccessBit : 0,
-
-    Flags = int(_MatrixTypeNested::Flags) & (HereditaryBits | LvalueBit | PacketAccessBit | LinearAccess),
-
-    CoeffReadCost = _MatrixTypeNested::CoeffReadCost
-  };
-};
-
-template<typename PacketScalar, bool ReversePacket> struct reverse_packet_cond
-{
-  static inline PacketScalar run(const PacketScalar& x) { return preverse(x); }
-};
-
-template<typename PacketScalar> struct reverse_packet_cond<PacketScalar,false>
-{
-  static inline PacketScalar run(const PacketScalar& x) { return x; }
-};
-
-} // end namespace internal 
-
-template<typename MatrixType, int Direction> class Reverse
-  : public internal::dense_xpr_base< Reverse<MatrixType, Direction> >::type
-{
-  public:
-
-    typedef typename internal::dense_xpr_base<Reverse>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Reverse)
-    using Base::IsRowMajor;
-
-    // next line is necessary because otherwise const version of operator()
-    // is hidden by non-const version defined in this file
-    using Base::operator(); 
-
-  protected:
-    enum {
-      PacketSize = internal::packet_traits<Scalar>::size,
-      IsColMajor = !IsRowMajor,
-      ReverseRow = (Direction == Vertical)   || (Direction == BothDirections),
-      ReverseCol = (Direction == Horizontal) || (Direction == BothDirections),
-      OffsetRow  = ReverseRow && IsColMajor ? PacketSize : 1,
-      OffsetCol  = ReverseCol && IsRowMajor ? PacketSize : 1,
-      ReversePacket = (Direction == BothDirections)
-                    || ((Direction == Vertical)   && IsColMajor)
-                    || ((Direction == Horizontal) && IsRowMajor)
-    };
-    typedef internal::reverse_packet_cond<PacketScalar,ReversePacket> reverse_packet;
-  public:
-
-    inline Reverse(const MatrixType& matrix) : m_matrix(matrix) { }
-
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Reverse)
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-
-    inline Index innerStride() const
-    {
-      return -m_matrix.innerStride();
-    }
-
-    inline Scalar& operator()(Index row, Index col)
-    {
-      eigen_assert(row >= 0 && row < rows() && col >= 0 && col < cols());
-      return coeffRef(row, col);
-    }
-
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      return m_matrix.const_cast_derived().coeffRef(ReverseRow ? m_matrix.rows() - row - 1 : row,
-                                                    ReverseCol ? m_matrix.cols() - col - 1 : col);
-    }
-
-    inline CoeffReturnType coeff(Index row, Index col) const
-    {
-      return m_matrix.coeff(ReverseRow ? m_matrix.rows() - row - 1 : row,
-                            ReverseCol ? m_matrix.cols() - col - 1 : col);
-    }
-
-    inline CoeffReturnType coeff(Index index) const
-    {
-      return m_matrix.coeff(m_matrix.size() - index - 1);
-    }
-
-    inline Scalar& coeffRef(Index index)
-    {
-      return m_matrix.const_cast_derived().coeffRef(m_matrix.size() - index - 1);
-    }
-
-    inline Scalar& operator()(Index index)
-    {
-      eigen_assert(index >= 0 && index < m_matrix.size());
-      return coeffRef(index);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index row, Index col) const
-    {
-      return reverse_packet::run(m_matrix.template packet<LoadMode>(
-                                    ReverseRow ? m_matrix.rows() - row - OffsetRow : row,
-                                    ReverseCol ? m_matrix.cols() - col - OffsetCol : col));
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index row, Index col, const PacketScalar& x)
-    {
-      m_matrix.const_cast_derived().template writePacket<LoadMode>(
-                                      ReverseRow ? m_matrix.rows() - row - OffsetRow : row,
-                                      ReverseCol ? m_matrix.cols() - col - OffsetCol : col,
-                                      reverse_packet::run(x));
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index index) const
-    {
-      return internal::preverse(m_matrix.template packet<LoadMode>( m_matrix.size() - index - PacketSize ));
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index index, const PacketScalar& x)
-    {
-      m_matrix.const_cast_derived().template writePacket<LoadMode>(m_matrix.size() - index - PacketSize, internal::preverse(x));
-    }
-
-    const typename internal::remove_all<typename MatrixType::Nested>::type& 
-    nestedExpression() const 
-    {
-      return m_matrix;
-    }
-
-  protected:
-    typename MatrixType::Nested m_matrix;
-};
-
-/** \returns an expression of the reverse of *this.
-  *
-  * Example: \include MatrixBase_reverse.cpp
-  * Output: \verbinclude MatrixBase_reverse.out
-  *
-  */
-template<typename Derived>
-inline typename DenseBase<Derived>::ReverseReturnType
-DenseBase<Derived>::reverse()
-{
-  return derived();
-}
-
-/** This is the const version of reverse(). */
-template<typename Derived>
-inline const typename DenseBase<Derived>::ConstReverseReturnType
-DenseBase<Derived>::reverse() const
-{
-  return derived();
-}
-
-/** This is the "in place" version of reverse: it reverses \c *this.
-  *
-  * In most cases it is probably better to simply use the reversed expression
-  * of a matrix. However, when reversing the matrix data itself is really needed,
-  * then this "in-place" version is probably the right choice because it provides
-  * the following additional features:
-  *  - less error prone: doing the same operation with .reverse() requires special care:
-  *    \code m = m.reverse().eval(); \endcode
-  *  - this API allows to avoid creating a temporary (the current implementation creates a temporary, but that could be avoided using swap)
-  *  - it allows future optimizations (cache friendliness, etc.)
-  *
-  * \sa reverse() */
-template<typename Derived>
-inline void DenseBase<Derived>::reverseInPlace()
-{
-  derived() = derived().reverse().eval();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_REVERSE_H
diff --git a/lib/Eigen/src/Core/Select.h b/lib/Eigen/src/Core/Select.h
deleted file mode 100644
index 87993bbb..00000000
--- a/lib/Eigen/src/Core/Select.h
+++ /dev/null
@@ -1,162 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SELECT_H
-#define EIGEN_SELECT_H
-
-namespace Eigen { 
-
-/** \class Select
-  * \ingroup Core_Module
-  *
-  * \brief Expression of a coefficient wise version of the C++ ternary operator ?:
-  *
-  * \param ConditionMatrixType the type of the \em condition expression which must be a boolean matrix
-  * \param ThenMatrixType the type of the \em then expression
-  * \param ElseMatrixType the type of the \em else expression
-  *
-  * This class represents an expression of a coefficient wise version of the C++ ternary operator ?:.
-  * It is the return type of DenseBase::select() and most of the time this is the only way it is used.
-  *
-  * \sa DenseBase::select(const DenseBase<ThenDerived>&, const DenseBase<ElseDerived>&) const
-  */
-
-namespace internal {
-template<typename ConditionMatrixType, typename ThenMatrixType, typename ElseMatrixType>
-struct traits<Select<ConditionMatrixType, ThenMatrixType, ElseMatrixType> >
- : traits<ThenMatrixType>
-{
-  typedef typename traits<ThenMatrixType>::Scalar Scalar;
-  typedef Dense StorageKind;
-  typedef typename traits<ThenMatrixType>::XprKind XprKind;
-  typedef typename ConditionMatrixType::Nested ConditionMatrixNested;
-  typedef typename ThenMatrixType::Nested ThenMatrixNested;
-  typedef typename ElseMatrixType::Nested ElseMatrixNested;
-  enum {
-    RowsAtCompileTime = ConditionMatrixType::RowsAtCompileTime,
-    ColsAtCompileTime = ConditionMatrixType::ColsAtCompileTime,
-    MaxRowsAtCompileTime = ConditionMatrixType::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = ConditionMatrixType::MaxColsAtCompileTime,
-    Flags = (unsigned int)ThenMatrixType::Flags & ElseMatrixType::Flags & HereditaryBits,
-    CoeffReadCost = traits<typename remove_all<ConditionMatrixNested>::type>::CoeffReadCost
-                  + EIGEN_SIZE_MAX(traits<typename remove_all<ThenMatrixNested>::type>::CoeffReadCost,
-                                   traits<typename remove_all<ElseMatrixNested>::type>::CoeffReadCost)
-  };
-};
-}
-
-template<typename ConditionMatrixType, typename ThenMatrixType, typename ElseMatrixType>
-class Select : internal::no_assignment_operator,
-  public internal::dense_xpr_base< Select<ConditionMatrixType, ThenMatrixType, ElseMatrixType> >::type
-{
-  public:
-
-    typedef typename internal::dense_xpr_base<Select>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Select)
-
-    Select(const ConditionMatrixType& a_conditionMatrix,
-           const ThenMatrixType& a_thenMatrix,
-           const ElseMatrixType& a_elseMatrix)
-      : m_condition(a_conditionMatrix), m_then(a_thenMatrix), m_else(a_elseMatrix)
-    {
-      eigen_assert(m_condition.rows() == m_then.rows() && m_condition.rows() == m_else.rows());
-      eigen_assert(m_condition.cols() == m_then.cols() && m_condition.cols() == m_else.cols());
-    }
-
-    Index rows() const { return m_condition.rows(); }
-    Index cols() const { return m_condition.cols(); }
-
-    const Scalar coeff(Index i, Index j) const
-    {
-      if (m_condition.coeff(i,j))
-        return m_then.coeff(i,j);
-      else
-        return m_else.coeff(i,j);
-    }
-
-    const Scalar coeff(Index i) const
-    {
-      if (m_condition.coeff(i))
-        return m_then.coeff(i);
-      else
-        return m_else.coeff(i);
-    }
-
-    const ConditionMatrixType& conditionMatrix() const
-    {
-      return m_condition;
-    }
-
-    const ThenMatrixType& thenMatrix() const
-    {
-      return m_then;
-    }
-
-    const ElseMatrixType& elseMatrix() const
-    {
-      return m_else;
-    }
-
-  protected:
-    typename ConditionMatrixType::Nested m_condition;
-    typename ThenMatrixType::Nested m_then;
-    typename ElseMatrixType::Nested m_else;
-};
-
-
-/** \returns a matrix where each coefficient (i,j) is equal to \a thenMatrix(i,j)
-  * if \c *this(i,j), and \a elseMatrix(i,j) otherwise.
-  *
-  * Example: \include MatrixBase_select.cpp
-  * Output: \verbinclude MatrixBase_select.out
-  *
-  * \sa class Select
-  */
-template<typename Derived>
-template<typename ThenDerived,typename ElseDerived>
-inline const Select<Derived,ThenDerived,ElseDerived>
-DenseBase<Derived>::select(const DenseBase<ThenDerived>& thenMatrix,
-                            const DenseBase<ElseDerived>& elseMatrix) const
-{
-  return Select<Derived,ThenDerived,ElseDerived>(derived(), thenMatrix.derived(), elseMatrix.derived());
-}
-
-/** Version of DenseBase::select(const DenseBase&, const DenseBase&) with
-  * the \em else expression being a scalar value.
-  *
-  * \sa DenseBase::select(const DenseBase<ThenDerived>&, const DenseBase<ElseDerived>&) const, class Select
-  */
-template<typename Derived>
-template<typename ThenDerived>
-inline const Select<Derived,ThenDerived, typename ThenDerived::ConstantReturnType>
-DenseBase<Derived>::select(const DenseBase<ThenDerived>& thenMatrix,
-                           const typename ThenDerived::Scalar& elseScalar) const
-{
-  return Select<Derived,ThenDerived,typename ThenDerived::ConstantReturnType>(
-    derived(), thenMatrix.derived(), ThenDerived::Constant(rows(),cols(),elseScalar));
-}
-
-/** Version of DenseBase::select(const DenseBase&, const DenseBase&) with
-  * the \em then expression being a scalar value.
-  *
-  * \sa DenseBase::select(const DenseBase<ThenDerived>&, const DenseBase<ElseDerived>&) const, class Select
-  */
-template<typename Derived>
-template<typename ElseDerived>
-inline const Select<Derived, typename ElseDerived::ConstantReturnType, ElseDerived >
-DenseBase<Derived>::select(const typename ElseDerived::Scalar& thenScalar,
-                           const DenseBase<ElseDerived>& elseMatrix) const
-{
-  return Select<Derived,typename ElseDerived::ConstantReturnType,ElseDerived>(
-    derived(), ElseDerived::Constant(rows(),cols(),thenScalar), elseMatrix.derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELECT_H
diff --git a/lib/Eigen/src/Core/SelfAdjointView.h b/lib/Eigen/src/Core/SelfAdjointView.h
deleted file mode 100644
index 6fa7cd15..00000000
--- a/lib/Eigen/src/Core/SelfAdjointView.h
+++ /dev/null
@@ -1,314 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SELFADJOINTMATRIX_H
-#define EIGEN_SELFADJOINTMATRIX_H
-
-namespace Eigen { 
-
-/** \class SelfAdjointView
-  * \ingroup Core_Module
-  *
-  *
-  * \brief Expression of a selfadjoint matrix from a triangular part of a dense matrix
-  *
-  * \param MatrixType the type of the dense matrix storing the coefficients
-  * \param TriangularPart can be either \c #Lower or \c #Upper
-  *
-  * This class is an expression of a sefladjoint matrix from a triangular part of a matrix
-  * with given dense storage of the coefficients. It is the return type of MatrixBase::selfadjointView()
-  * and most of the time this is the only way that it is used.
-  *
-  * \sa class TriangularBase, MatrixBase::selfadjointView()
-  */
-
-namespace internal {
-template<typename MatrixType, unsigned int UpLo>
-struct traits<SelfAdjointView<MatrixType, UpLo> > : traits<MatrixType>
-{
-  typedef typename nested<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_all<MatrixTypeNested>::type MatrixTypeNestedCleaned;
-  typedef MatrixType ExpressionType;
-  typedef typename MatrixType::PlainObject DenseMatrixType;
-  enum {
-    Mode = UpLo | SelfAdjoint,
-    Flags =  MatrixTypeNestedCleaned::Flags & (HereditaryBits)
-           & (~(PacketAccessBit | DirectAccessBit | LinearAccessBit)), // FIXME these flags should be preserved
-    CoeffReadCost = MatrixTypeNestedCleaned::CoeffReadCost
-  };
-};
-}
-
-template <typename Lhs, int LhsMode, bool LhsIsVector,
-          typename Rhs, int RhsMode, bool RhsIsVector>
-struct SelfadjointProductMatrix;
-
-// FIXME could also be called SelfAdjointWrapper to be consistent with DiagonalWrapper ??
-template<typename MatrixType, unsigned int UpLo> class SelfAdjointView
-  : public TriangularBase<SelfAdjointView<MatrixType, UpLo> >
-{
-  public:
-
-    typedef TriangularBase<SelfAdjointView> Base;
-    typedef typename internal::traits<SelfAdjointView>::MatrixTypeNested MatrixTypeNested;
-    typedef typename internal::traits<SelfAdjointView>::MatrixTypeNestedCleaned MatrixTypeNestedCleaned;
-
-    /** \brief The type of coefficients in this matrix */
-    typedef typename internal::traits<SelfAdjointView>::Scalar Scalar; 
-
-    typedef typename MatrixType::Index Index;
-
-    enum {
-      Mode = internal::traits<SelfAdjointView>::Mode
-    };
-    typedef typename MatrixType::PlainObject PlainObject;
-
-    inline SelfAdjointView(MatrixType& matrix) : m_matrix(matrix)
-    {}
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-    inline Index outerStride() const { return m_matrix.outerStride(); }
-    inline Index innerStride() const { return m_matrix.innerStride(); }
-
-    /** \sa MatrixBase::coeff()
-      * \warning the coordinates must fit into the referenced triangular part
-      */
-    inline Scalar coeff(Index row, Index col) const
-    {
-      Base::check_coordinates_internal(row, col);
-      return m_matrix.coeff(row, col);
-    }
-
-    /** \sa MatrixBase::coeffRef()
-      * \warning the coordinates must fit into the referenced triangular part
-      */
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      Base::check_coordinates_internal(row, col);
-      return m_matrix.const_cast_derived().coeffRef(row, col);
-    }
-
-    /** \internal */
-    const MatrixTypeNestedCleaned& _expression() const { return m_matrix; }
-
-    const MatrixTypeNestedCleaned& nestedExpression() const { return m_matrix; }
-    MatrixTypeNestedCleaned& nestedExpression() { return *const_cast<MatrixTypeNestedCleaned*>(&m_matrix); }
-
-    /** Efficient self-adjoint matrix times vector/matrix product */
-    template<typename OtherDerived>
-    SelfadjointProductMatrix<MatrixType,Mode,false,OtherDerived,0,OtherDerived::IsVectorAtCompileTime>
-    operator*(const MatrixBase<OtherDerived>& rhs) const
-    {
-      return SelfadjointProductMatrix
-              <MatrixType,Mode,false,OtherDerived,0,OtherDerived::IsVectorAtCompileTime>
-              (m_matrix, rhs.derived());
-    }
-
-    /** Efficient vector/matrix times self-adjoint matrix product */
-    template<typename OtherDerived> friend
-    SelfadjointProductMatrix<OtherDerived,0,OtherDerived::IsVectorAtCompileTime,MatrixType,Mode,false>
-    operator*(const MatrixBase<OtherDerived>& lhs, const SelfAdjointView& rhs)
-    {
-      return SelfadjointProductMatrix
-              <OtherDerived,0,OtherDerived::IsVectorAtCompileTime,MatrixType,Mode,false>
-              (lhs.derived(),rhs.m_matrix);
-    }
-
-    /** Perform a symmetric rank 2 update of the selfadjoint matrix \c *this:
-      * \f$ this = this + \alpha u v^* + conj(\alpha) v u^* \f$
-      * \returns a reference to \c *this
-      *
-      * The vectors \a u and \c v \b must be column vectors, however they can be
-      * a adjoint expression without any overhead. Only the meaningful triangular
-      * part of the matrix is updated, the rest is left unchanged.
-      *
-      * \sa rankUpdate(const MatrixBase<DerivedU>&, Scalar)
-      */
-    template<typename DerivedU, typename DerivedV>
-    SelfAdjointView& rankUpdate(const MatrixBase<DerivedU>& u, const MatrixBase<DerivedV>& v, const Scalar& alpha = Scalar(1));
-
-    /** Perform a symmetric rank K update of the selfadjoint matrix \c *this:
-      * \f$ this = this + \alpha ( u u^* ) \f$ where \a u is a vector or matrix.
-      *
-      * \returns a reference to \c *this
-      *
-      * Note that to perform \f$ this = this + \alpha ( u^* u ) \f$ you can simply
-      * call this function with u.adjoint().
-      *
-      * \sa rankUpdate(const MatrixBase<DerivedU>&, const MatrixBase<DerivedV>&, Scalar)
-      */
-    template<typename DerivedU>
-    SelfAdjointView& rankUpdate(const MatrixBase<DerivedU>& u, const Scalar& alpha = Scalar(1));
-
-/////////// Cholesky module ///////////
-
-    const LLT<PlainObject, UpLo> llt() const;
-    const LDLT<PlainObject, UpLo> ldlt() const;
-
-/////////// Eigenvalue module ///////////
-
-    /** Real part of #Scalar */
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    /** Return type of eigenvalues() */
-    typedef Matrix<RealScalar, internal::traits<MatrixType>::ColsAtCompileTime, 1> EigenvaluesReturnType;
-
-    EigenvaluesReturnType eigenvalues() const;
-    RealScalar operatorNorm() const;
-    
-    #ifdef EIGEN2_SUPPORT
-    template<typename OtherDerived>
-    SelfAdjointView& operator=(const MatrixBase<OtherDerived>& other)
-    {
-      enum {
-        OtherPart = UpLo == Upper ? StrictlyLower : StrictlyUpper
-      };
-      m_matrix.const_cast_derived().template triangularView<UpLo>() = other;
-      m_matrix.const_cast_derived().template triangularView<OtherPart>() = other.adjoint();
-      return *this;
-    }
-    template<typename OtherMatrixType, unsigned int OtherMode>
-    SelfAdjointView& operator=(const TriangularView<OtherMatrixType, OtherMode>& other)
-    {
-      enum {
-        OtherPart = UpLo == Upper ? StrictlyLower : StrictlyUpper
-      };
-      m_matrix.const_cast_derived().template triangularView<UpLo>() = other.toDenseMatrix();
-      m_matrix.const_cast_derived().template triangularView<OtherPart>() = other.toDenseMatrix().adjoint();
-      return *this;
-    }
-    #endif
-
-  protected:
-    MatrixTypeNested m_matrix;
-};
-
-
-// template<typename OtherDerived, typename MatrixType, unsigned int UpLo>
-// internal::selfadjoint_matrix_product_returntype<OtherDerived,SelfAdjointView<MatrixType,UpLo> >
-// operator*(const MatrixBase<OtherDerived>& lhs, const SelfAdjointView<MatrixType,UpLo>& rhs)
-// {
-//   return internal::matrix_selfadjoint_product_returntype<OtherDerived,SelfAdjointView<MatrixType,UpLo> >(lhs.derived(),rhs);
-// }
-
-// selfadjoint to dense matrix
-
-namespace internal {
-
-template<typename Derived1, typename Derived2, int UnrollCount, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, (SelfAdjoint|Upper), UnrollCount, ClearOpposite>
-{
-  enum {
-    col = (UnrollCount-1) / Derived1::RowsAtCompileTime,
-    row = (UnrollCount-1) % Derived1::RowsAtCompileTime
-  };
-
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    triangular_assignment_selector<Derived1, Derived2, (SelfAdjoint|Upper), UnrollCount-1, ClearOpposite>::run(dst, src);
-
-    if(row == col)
-      dst.coeffRef(row, col) = numext::real(src.coeff(row, col));
-    else if(row < col)
-      dst.coeffRef(col, row) = numext::conj(dst.coeffRef(row, col) = src.coeff(row, col));
-  }
-};
-
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, SelfAdjoint|Upper, 0, ClearOpposite>
-{
-  static inline void run(Derived1 &, const Derived2 &) {}
-};
-
-template<typename Derived1, typename Derived2, int UnrollCount, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, (SelfAdjoint|Lower), UnrollCount, ClearOpposite>
-{
-  enum {
-    col = (UnrollCount-1) / Derived1::RowsAtCompileTime,
-    row = (UnrollCount-1) % Derived1::RowsAtCompileTime
-  };
-
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    triangular_assignment_selector<Derived1, Derived2, (SelfAdjoint|Lower), UnrollCount-1, ClearOpposite>::run(dst, src);
-
-    if(row == col)
-      dst.coeffRef(row, col) = numext::real(src.coeff(row, col));
-    else if(row > col)
-      dst.coeffRef(col, row) = numext::conj(dst.coeffRef(row, col) = src.coeff(row, col));
-  }
-};
-
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, SelfAdjoint|Lower, 0, ClearOpposite>
-{
-  static inline void run(Derived1 &, const Derived2 &) {}
-};
-
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, SelfAdjoint|Upper, Dynamic, ClearOpposite>
-{
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    for(Index j = 0; j < dst.cols(); ++j)
-    {
-      for(Index i = 0; i < j; ++i)
-      {
-        dst.copyCoeff(i, j, src);
-        dst.coeffRef(j,i) = numext::conj(dst.coeff(i,j));
-      }
-      dst.copyCoeff(j, j, src);
-    }
-  }
-};
-
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, SelfAdjoint|Lower, Dynamic, ClearOpposite>
-{
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-  typedef typename Derived1::Index Index;
-    for(Index i = 0; i < dst.rows(); ++i)
-    {
-      for(Index j = 0; j < i; ++j)
-      {
-        dst.copyCoeff(i, j, src);
-        dst.coeffRef(j,i) = numext::conj(dst.coeff(i,j));
-      }
-      dst.copyCoeff(i, i, src);
-    }
-  }
-};
-
-} // end namespace internal
-
-/***************************************************************************
-* Implementation of MatrixBase methods
-***************************************************************************/
-
-template<typename Derived>
-template<unsigned int UpLo>
-typename MatrixBase<Derived>::template ConstSelfAdjointViewReturnType<UpLo>::Type
-MatrixBase<Derived>::selfadjointView() const
-{
-  return derived();
-}
-
-template<typename Derived>
-template<unsigned int UpLo>
-typename MatrixBase<Derived>::template SelfAdjointViewReturnType<UpLo>::Type
-MatrixBase<Derived>::selfadjointView()
-{
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELFADJOINTMATRIX_H
diff --git a/lib/Eigen/src/Core/SelfCwiseBinaryOp.h b/lib/Eigen/src/Core/SelfCwiseBinaryOp.h
deleted file mode 100644
index 0956475a..00000000
--- a/lib/Eigen/src/Core/SelfCwiseBinaryOp.h
+++ /dev/null
@@ -1,191 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SELFCWISEBINARYOP_H
-#define EIGEN_SELFCWISEBINARYOP_H
-
-namespace Eigen { 
-
-/** \class SelfCwiseBinaryOp
-  * \ingroup Core_Module
-  *
-  * \internal
-  *
-  * \brief Internal helper class for optimizing operators like +=, -=
-  *
-  * This is a pseudo expression class re-implementing the copyCoeff/copyPacket
-  * method to directly performs a +=/-= operations in an optimal way. In particular,
-  * this allows to make sure that the input/output data are loaded only once using
-  * aligned packet loads.
-  *
-  * \sa class SwapWrapper for a similar trick.
-  */
-
-namespace internal {
-template<typename BinaryOp, typename Lhs, typename Rhs>
-struct traits<SelfCwiseBinaryOp<BinaryOp,Lhs,Rhs> >
-  : traits<CwiseBinaryOp<BinaryOp,Lhs,Rhs> >
-{
-  enum {
-    // Note that it is still a good idea to preserve the DirectAccessBit
-    // so that assign can correctly align the data.
-    Flags = traits<CwiseBinaryOp<BinaryOp,Lhs,Rhs> >::Flags | (Lhs::Flags&DirectAccessBit) | (Lhs::Flags&LvalueBit),
-    OuterStrideAtCompileTime = Lhs::OuterStrideAtCompileTime,
-    InnerStrideAtCompileTime = Lhs::InnerStrideAtCompileTime
-  };
-};
-}
-
-template<typename BinaryOp, typename Lhs, typename Rhs> class SelfCwiseBinaryOp
-  : public internal::dense_xpr_base< SelfCwiseBinaryOp<BinaryOp, Lhs, Rhs> >::type
-{
-  public:
-
-    typedef typename internal::dense_xpr_base<SelfCwiseBinaryOp>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(SelfCwiseBinaryOp)
-
-    typedef typename internal::packet_traits<Scalar>::type Packet;
-
-    inline SelfCwiseBinaryOp(Lhs& xpr, const BinaryOp& func = BinaryOp()) : m_matrix(xpr), m_functor(func) {}
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-    inline Index outerStride() const { return m_matrix.outerStride(); }
-    inline Index innerStride() const { return m_matrix.innerStride(); }
-    inline const Scalar* data() const { return m_matrix.data(); }
-
-    // note that this function is needed by assign to correctly align loads/stores
-    // TODO make Assign use .data()
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      EIGEN_STATIC_ASSERT_LVALUE(Lhs)
-      return m_matrix.const_cast_derived().coeffRef(row, col);
-    }
-    inline const Scalar& coeffRef(Index row, Index col) const
-    {
-      return m_matrix.coeffRef(row, col);
-    }
-
-    // note that this function is needed by assign to correctly align loads/stores
-    // TODO make Assign use .data()
-    inline Scalar& coeffRef(Index index)
-    {
-      EIGEN_STATIC_ASSERT_LVALUE(Lhs)
-      return m_matrix.const_cast_derived().coeffRef(index);
-    }
-    inline const Scalar& coeffRef(Index index) const
-    {
-      return m_matrix.const_cast_derived().coeffRef(index);
-    }
-
-    template<typename OtherDerived>
-    void copyCoeff(Index row, Index col, const DenseBase<OtherDerived>& other)
-    {
-      OtherDerived& _other = other.const_cast_derived();
-      eigen_internal_assert(row >= 0 && row < rows()
-                         && col >= 0 && col < cols());
-      Scalar& tmp = m_matrix.coeffRef(row,col);
-      tmp = m_functor(tmp, _other.coeff(row,col));
-    }
-
-    template<typename OtherDerived>
-    void copyCoeff(Index index, const DenseBase<OtherDerived>& other)
-    {
-      OtherDerived& _other = other.const_cast_derived();
-      eigen_internal_assert(index >= 0 && index < m_matrix.size());
-      Scalar& tmp = m_matrix.coeffRef(index);
-      tmp = m_functor(tmp, _other.coeff(index));
-    }
-
-    template<typename OtherDerived, int StoreMode, int LoadMode>
-    void copyPacket(Index row, Index col, const DenseBase<OtherDerived>& other)
-    {
-      OtherDerived& _other = other.const_cast_derived();
-      eigen_internal_assert(row >= 0 && row < rows()
-                        && col >= 0 && col < cols());
-      m_matrix.template writePacket<StoreMode>(row, col,
-        m_functor.packetOp(m_matrix.template packet<StoreMode>(row, col),_other.template packet<LoadMode>(row, col)) );
-    }
-
-    template<typename OtherDerived, int StoreMode, int LoadMode>
-    void copyPacket(Index index, const DenseBase<OtherDerived>& other)
-    {
-      OtherDerived& _other = other.const_cast_derived();
-      eigen_internal_assert(index >= 0 && index < m_matrix.size());
-      m_matrix.template writePacket<StoreMode>(index,
-        m_functor.packetOp(m_matrix.template packet<StoreMode>(index),_other.template packet<LoadMode>(index)) );
-    }
-
-    // reimplement lazyAssign to handle complex *= real
-    // see CwiseBinaryOp ctor for details
-    template<typename RhsDerived>
-    EIGEN_STRONG_INLINE SelfCwiseBinaryOp& lazyAssign(const DenseBase<RhsDerived>& rhs)
-    {
-      EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Lhs,RhsDerived)
-      EIGEN_CHECK_BINARY_COMPATIBILIY(BinaryOp,typename Lhs::Scalar,typename RhsDerived::Scalar);
-      
-    #ifdef EIGEN_DEBUG_ASSIGN
-      internal::assign_traits<SelfCwiseBinaryOp, RhsDerived>::debug();
-    #endif
-      eigen_assert(rows() == rhs.rows() && cols() == rhs.cols());
-      internal::assign_impl<SelfCwiseBinaryOp, RhsDerived>::run(*this,rhs.derived());
-    #ifndef EIGEN_NO_DEBUG
-      this->checkTransposeAliasing(rhs.derived());
-    #endif
-      return *this;
-    }
-    
-    // overloaded to honor evaluation of special matrices
-    // maybe another solution would be to not use SelfCwiseBinaryOp
-    // at first...
-    SelfCwiseBinaryOp& operator=(const Rhs& _rhs)
-    {
-      typename internal::nested<Rhs>::type rhs(_rhs);
-      return Base::operator=(rhs);
-    }
-
-    Lhs& expression() const 
-    { 
-      return m_matrix;
-    }
-
-    const BinaryOp& functor() const 
-    { 
-      return m_functor;
-    }
-
-  protected:
-    Lhs& m_matrix;
-    const BinaryOp& m_functor;
-
-  private:
-    SelfCwiseBinaryOp& operator=(const SelfCwiseBinaryOp&);
-};
-
-template<typename Derived>
-inline Derived& DenseBase<Derived>::operator*=(const Scalar& other)
-{
-  typedef typename Derived::PlainObject PlainObject;
-  SelfCwiseBinaryOp<internal::scalar_product_op<Scalar>, Derived, typename PlainObject::ConstantReturnType> tmp(derived());
-  tmp = PlainObject::Constant(rows(),cols(),other);
-  return derived();
-}
-
-template<typename Derived>
-inline Derived& DenseBase<Derived>::operator/=(const Scalar& other)
-{
-  typedef typename Derived::PlainObject PlainObject;
-  SelfCwiseBinaryOp<internal::scalar_quotient_op<Scalar>, Derived, typename PlainObject::ConstantReturnType> tmp(derived());
-  tmp = PlainObject::Constant(rows(),cols(), other);
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELFCWISEBINARYOP_H
diff --git a/lib/Eigen/src/Core/SolveTriangular.h b/lib/Eigen/src/Core/SolveTriangular.h
deleted file mode 100644
index 83565ddd..00000000
--- a/lib/Eigen/src/Core/SolveTriangular.h
+++ /dev/null
@@ -1,260 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SOLVETRIANGULAR_H
-#define EIGEN_SOLVETRIANGULAR_H
-
-namespace Eigen { 
-
-namespace internal {
-
-// Forward declarations:
-// The following two routines are implemented in the products/TriangularSolver*.h files
-template<typename LhsScalar, typename RhsScalar, typename Index, int Side, int Mode, bool Conjugate, int StorageOrder>
-struct triangular_solve_vector;
-
-template <typename Scalar, typename Index, int Side, int Mode, bool Conjugate, int TriStorageOrder, int OtherStorageOrder>
-struct triangular_solve_matrix;
-
-// small helper struct extracting some traits on the underlying solver operation
-template<typename Lhs, typename Rhs, int Side>
-class trsolve_traits
-{
-  private:
-    enum {
-      RhsIsVectorAtCompileTime = (Side==OnTheLeft ? Rhs::ColsAtCompileTime : Rhs::RowsAtCompileTime)==1
-    };
-  public:
-    enum {
-      Unrolling   = (RhsIsVectorAtCompileTime && Rhs::SizeAtCompileTime != Dynamic && Rhs::SizeAtCompileTime <= 8)
-                  ? CompleteUnrolling : NoUnrolling,
-      RhsVectors  = RhsIsVectorAtCompileTime ? 1 : Dynamic
-    };
-};
-
-template<typename Lhs, typename Rhs,
-  int Side, // can be OnTheLeft/OnTheRight
-  int Mode, // can be Upper/Lower | UnitDiag
-  int Unrolling = trsolve_traits<Lhs,Rhs,Side>::Unrolling,
-  int RhsVectors = trsolve_traits<Lhs,Rhs,Side>::RhsVectors
-  >
-struct triangular_solver_selector;
-
-template<typename Lhs, typename Rhs, int Side, int Mode>
-struct triangular_solver_selector<Lhs,Rhs,Side,Mode,NoUnrolling,1>
-{
-  typedef typename Lhs::Scalar LhsScalar;
-  typedef typename Rhs::Scalar RhsScalar;
-  typedef blas_traits<Lhs> LhsProductTraits;
-  typedef typename LhsProductTraits::ExtractType ActualLhsType;
-  typedef Map<Matrix<RhsScalar,Dynamic,1>, Aligned> MappedRhs;
-  static void run(const Lhs& lhs, Rhs& rhs)
-  {
-    ActualLhsType actualLhs = LhsProductTraits::extract(lhs);
-
-    // FIXME find a way to allow an inner stride if packet_traits<Scalar>::size==1
-
-    bool useRhsDirectly = Rhs::InnerStrideAtCompileTime==1 || rhs.innerStride()==1;
-
-    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhs,rhs.size(),
-                                                  (useRhsDirectly ? rhs.data() : 0));
-                                                  
-    if(!useRhsDirectly)
-      MappedRhs(actualRhs,rhs.size()) = rhs;
-
-    triangular_solve_vector<LhsScalar, RhsScalar, typename Lhs::Index, Side, Mode, LhsProductTraits::NeedToConjugate,
-                            (int(Lhs::Flags) & RowMajorBit) ? RowMajor : ColMajor>
-      ::run(actualLhs.cols(), actualLhs.data(), actualLhs.outerStride(), actualRhs);
-
-    if(!useRhsDirectly)
-      rhs = MappedRhs(actualRhs, rhs.size());
-  }
-};
-
-// the rhs is a matrix
-template<typename Lhs, typename Rhs, int Side, int Mode>
-struct triangular_solver_selector<Lhs,Rhs,Side,Mode,NoUnrolling,Dynamic>
-{
-  typedef typename Rhs::Scalar Scalar;
-  typedef typename Rhs::Index Index;
-  typedef blas_traits<Lhs> LhsProductTraits;
-  typedef typename LhsProductTraits::DirectLinearAccessType ActualLhsType;
-
-  static void run(const Lhs& lhs, Rhs& rhs)
-  {
-    typename internal::add_const_on_value_type<ActualLhsType>::type actualLhs = LhsProductTraits::extract(lhs);
-
-    const Index size = lhs.rows();
-    const Index othersize = Side==OnTheLeft? rhs.cols() : rhs.rows();
-
-    typedef internal::gemm_blocking_space<(Rhs::Flags&RowMajorBit) ? RowMajor : ColMajor,Scalar,Scalar,
-              Rhs::MaxRowsAtCompileTime, Rhs::MaxColsAtCompileTime, Lhs::MaxRowsAtCompileTime,4> BlockingType;
-
-    BlockingType blocking(rhs.rows(), rhs.cols(), size);
-
-    triangular_solve_matrix<Scalar,Index,Side,Mode,LhsProductTraits::NeedToConjugate,(int(Lhs::Flags) & RowMajorBit) ? RowMajor : ColMajor,
-                               (Rhs::Flags&RowMajorBit) ? RowMajor : ColMajor>
-      ::run(size, othersize, &actualLhs.coeffRef(0,0), actualLhs.outerStride(), &rhs.coeffRef(0,0), rhs.outerStride(), blocking);
-  }
-};
-
-/***************************************************************************
-* meta-unrolling implementation
-***************************************************************************/
-
-template<typename Lhs, typename Rhs, int Mode, int Index, int Size,
-         bool Stop = Index==Size>
-struct triangular_solver_unroller;
-
-template<typename Lhs, typename Rhs, int Mode, int Index, int Size>
-struct triangular_solver_unroller<Lhs,Rhs,Mode,Index,Size,false> {
-  enum {
-    IsLower = ((Mode&Lower)==Lower),
-    RowIndex = IsLower ? Index : Size - Index - 1,
-    S = IsLower ? 0     : RowIndex+1
-  };
-  static void run(const Lhs& lhs, Rhs& rhs)
-  {
-    if (Index>0)
-      rhs.coeffRef(RowIndex) -= lhs.row(RowIndex).template segment<Index>(S).transpose()
-                         .cwiseProduct(rhs.template segment<Index>(S)).sum();
-
-    if(!(Mode & UnitDiag))
-      rhs.coeffRef(RowIndex) /= lhs.coeff(RowIndex,RowIndex);
-
-    triangular_solver_unroller<Lhs,Rhs,Mode,Index+1,Size>::run(lhs,rhs);
-  }
-};
-
-template<typename Lhs, typename Rhs, int Mode, int Index, int Size>
-struct triangular_solver_unroller<Lhs,Rhs,Mode,Index,Size,true> {
-  static void run(const Lhs&, Rhs&) {}
-};
-
-template<typename Lhs, typename Rhs, int Mode>
-struct triangular_solver_selector<Lhs,Rhs,OnTheLeft,Mode,CompleteUnrolling,1> {
-  static void run(const Lhs& lhs, Rhs& rhs)
-  { triangular_solver_unroller<Lhs,Rhs,Mode,0,Rhs::SizeAtCompileTime>::run(lhs,rhs); }
-};
-
-template<typename Lhs, typename Rhs, int Mode>
-struct triangular_solver_selector<Lhs,Rhs,OnTheRight,Mode,CompleteUnrolling,1> {
-  static void run(const Lhs& lhs, Rhs& rhs)
-  {
-    Transpose<const Lhs> trLhs(lhs);
-    Transpose<Rhs> trRhs(rhs);
-    
-    triangular_solver_unroller<Transpose<const Lhs>,Transpose<Rhs>,
-                              ((Mode&Upper)==Upper ? Lower : Upper) | (Mode&UnitDiag),
-                              0,Rhs::SizeAtCompileTime>::run(trLhs,trRhs);
-  }
-};
-
-} // end namespace internal
-
-/***************************************************************************
-* TriangularView methods
-***************************************************************************/
-
-/** "in-place" version of TriangularView::solve() where the result is written in \a other
-  *
-  * \warning The parameter is only marked 'const' to make the C++ compiler accept a temporary expression here.
-  * This function will const_cast it, so constness isn't honored here.
-  *
-  * See TriangularView:solve() for the details.
-  */
-template<typename MatrixType, unsigned int Mode>
-template<int Side, typename OtherDerived>
-void TriangularView<MatrixType,Mode>::solveInPlace(const MatrixBase<OtherDerived>& _other) const
-{
-  OtherDerived& other = _other.const_cast_derived();
-  eigen_assert( cols() == rows() && ((Side==OnTheLeft && cols() == other.rows()) || (Side==OnTheRight && cols() == other.cols())) );
-  eigen_assert((!(Mode & ZeroDiag)) && bool(Mode & (Upper|Lower)));
-
-  enum { copy = internal::traits<OtherDerived>::Flags & RowMajorBit  && OtherDerived::IsVectorAtCompileTime };
-  typedef typename internal::conditional<copy,
-    typename internal::plain_matrix_type_column_major<OtherDerived>::type, OtherDerived&>::type OtherCopy;
-  OtherCopy otherCopy(other);
-
-  internal::triangular_solver_selector<MatrixType, typename internal::remove_reference<OtherCopy>::type,
-    Side, Mode>::run(nestedExpression(), otherCopy);
-
-  if (copy)
-    other = otherCopy;
-}
-
-/** \returns the product of the inverse of \c *this with \a other, \a *this being triangular.
-  *
-  * This function computes the inverse-matrix matrix product inverse(\c *this) * \a other if
-  * \a Side==OnTheLeft (the default), or the right-inverse-multiply  \a other * inverse(\c *this) if
-  * \a Side==OnTheRight.
-  *
-  * The matrix \c *this must be triangular and invertible (i.e., all the coefficients of the
-  * diagonal must be non zero). It works as a forward (resp. backward) substitution if \c *this
-  * is an upper (resp. lower) triangular matrix.
-  *
-  * Example: \include MatrixBase_marked.cpp
-  * Output: \verbinclude MatrixBase_marked.out
-  *
-  * This function returns an expression of the inverse-multiply and can works in-place if it is assigned
-  * to the same matrix or vector \a other.
-  *
-  * For users coming from BLAS, this function (and more specifically solveInPlace()) offer
-  * all the operations supported by the \c *TRSV and \c *TRSM BLAS routines.
-  *
-  * \sa TriangularView::solveInPlace()
-  */
-template<typename Derived, unsigned int Mode>
-template<int Side, typename Other>
-const internal::triangular_solve_retval<Side,TriangularView<Derived,Mode>,Other>
-TriangularView<Derived,Mode>::solve(const MatrixBase<Other>& other) const
-{
-  return internal::triangular_solve_retval<Side,TriangularView,Other>(*this, other.derived());
-}
-
-namespace internal {
-
-
-template<int Side, typename TriangularType, typename Rhs>
-struct traits<triangular_solve_retval<Side, TriangularType, Rhs> >
-{
-  typedef typename internal::plain_matrix_type_column_major<Rhs>::type ReturnType;
-};
-
-template<int Side, typename TriangularType, typename Rhs> struct triangular_solve_retval
- : public ReturnByValue<triangular_solve_retval<Side, TriangularType, Rhs> >
-{
-  typedef typename remove_all<typename Rhs::Nested>::type RhsNestedCleaned;
-  typedef ReturnByValue<triangular_solve_retval> Base;
-  typedef typename Base::Index Index;
-
-  triangular_solve_retval(const TriangularType& tri, const Rhs& rhs)
-    : m_triangularMatrix(tri), m_rhs(rhs)
-  {}
-
-  inline Index rows() const { return m_rhs.rows(); }
-  inline Index cols() const { return m_rhs.cols(); }
-
-  template<typename Dest> inline void evalTo(Dest& dst) const
-  {
-    if(!(is_same<RhsNestedCleaned,Dest>::value && extract_data(dst) == extract_data(m_rhs)))
-      dst = m_rhs;
-    m_triangularMatrix.template solveInPlace<Side>(dst);
-  }
-
-  protected:
-    const TriangularType& m_triangularMatrix;
-    typename Rhs::Nested m_rhs;
-};
-
-} // namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SOLVETRIANGULAR_H
diff --git a/lib/Eigen/src/Core/StableNorm.h b/lib/Eigen/src/Core/StableNorm.h
deleted file mode 100644
index 389d9427..00000000
--- a/lib/Eigen/src/Core/StableNorm.h
+++ /dev/null
@@ -1,203 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STABLENORM_H
-#define EIGEN_STABLENORM_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename ExpressionType, typename Scalar>
-inline void stable_norm_kernel(const ExpressionType& bl, Scalar& ssq, Scalar& scale, Scalar& invScale)
-{
-  using std::max;
-  Scalar maxCoeff = bl.cwiseAbs().maxCoeff();
-  
-  if (maxCoeff>scale)
-  {
-    ssq = ssq * numext::abs2(scale/maxCoeff);
-    Scalar tmp = Scalar(1)/maxCoeff;
-    if(tmp > NumTraits<Scalar>::highest())
-    {
-      invScale = NumTraits<Scalar>::highest();
-      scale = Scalar(1)/invScale;
-    }
-    else
-    {
-      scale = maxCoeff;
-      invScale = tmp;
-    }
-  }
-  
-  // TODO if the maxCoeff is much much smaller than the current scale,
-  // then we can neglect this sub vector
-  if(scale>Scalar(0)) // if scale==0, then bl is 0 
-    ssq += (bl*invScale).squaredNorm();
-}
-
-template<typename Derived>
-inline typename NumTraits<typename traits<Derived>::Scalar>::Real
-blueNorm_impl(const EigenBase<Derived>& _vec)
-{
-  typedef typename Derived::RealScalar RealScalar;  
-  typedef typename Derived::Index Index;
-  using std::pow;
-  using std::min;
-  using std::max;
-  using std::sqrt;
-  using std::abs;
-  const Derived& vec(_vec.derived());
-  static bool initialized = false;
-  static RealScalar b1, b2, s1m, s2m, overfl, rbig, relerr;
-  if(!initialized)
-  {
-    int ibeta, it, iemin, iemax, iexp;
-    RealScalar eps;
-    // This program calculates the machine-dependent constants
-    // bl, b2, slm, s2m, relerr overfl
-    // from the "basic" machine-dependent numbers
-    // nbig, ibeta, it, iemin, iemax, rbig.
-    // The following define the basic machine-dependent constants.
-    // For portability, the PORT subprograms "ilmaeh" and "rlmach"
-    // are used. For any specific computer, each of the assignment
-    // statements can be replaced
-    ibeta = std::numeric_limits<RealScalar>::radix;                 // base for floating-point numbers
-    it    = std::numeric_limits<RealScalar>::digits;                // number of base-beta digits in mantissa
-    iemin = std::numeric_limits<RealScalar>::min_exponent;          // minimum exponent
-    iemax = std::numeric_limits<RealScalar>::max_exponent;          // maximum exponent
-    rbig  = (std::numeric_limits<RealScalar>::max)();               // largest floating-point number
-
-    iexp  = -((1-iemin)/2);
-    b1    = RealScalar(pow(RealScalar(ibeta),RealScalar(iexp)));    // lower boundary of midrange
-    iexp  = (iemax + 1 - it)/2;
-    b2    = RealScalar(pow(RealScalar(ibeta),RealScalar(iexp)));    // upper boundary of midrange
-
-    iexp  = (2-iemin)/2;
-    s1m   = RealScalar(pow(RealScalar(ibeta),RealScalar(iexp)));    // scaling factor for lower range
-    iexp  = - ((iemax+it)/2);
-    s2m   = RealScalar(pow(RealScalar(ibeta),RealScalar(iexp)));    // scaling factor for upper range
-
-    overfl  = rbig*s2m;                                             // overflow boundary for abig
-    eps     = RealScalar(pow(double(ibeta), 1-it));
-    relerr  = sqrt(eps);                                            // tolerance for neglecting asml
-    initialized = true;
-  }
-  Index n = vec.size();
-  RealScalar ab2 = b2 / RealScalar(n);
-  RealScalar asml = RealScalar(0);
-  RealScalar amed = RealScalar(0);
-  RealScalar abig = RealScalar(0);
-  for(typename Derived::InnerIterator it(vec, 0); it; ++it)
-  {
-    RealScalar ax = abs(it.value());
-    if(ax > ab2)     abig += numext::abs2(ax*s2m);
-    else if(ax < b1) asml += numext::abs2(ax*s1m);
-    else             amed += numext::abs2(ax);
-  }
-  if(abig > RealScalar(0))
-  {
-    abig = sqrt(abig);
-    if(abig > overfl)
-    {
-      return rbig;
-    }
-    if(amed > RealScalar(0))
-    {
-      abig = abig/s2m;
-      amed = sqrt(amed);
-    }
-    else
-      return abig/s2m;
-  }
-  else if(asml > RealScalar(0))
-  {
-    if (amed > RealScalar(0))
-    {
-      abig = sqrt(amed);
-      amed = sqrt(asml) / s1m;
-    }
-    else
-      return sqrt(asml)/s1m;
-  }
-  else
-    return sqrt(amed);
-  asml = (min)(abig, amed);
-  abig = (max)(abig, amed);
-  if(asml <= abig*relerr)
-    return abig;
-  else
-    return abig * sqrt(RealScalar(1) + numext::abs2(asml/abig));
-}
-
-} // end namespace internal
-
-/** \returns the \em l2 norm of \c *this avoiding underflow and overflow.
-  * This version use a blockwise two passes algorithm:
-  *  1 - find the absolute largest coefficient \c s
-  *  2 - compute \f$ s \Vert \frac{*this}{s} \Vert \f$ in a standard way
-  *
-  * For architecture/scalar types supporting vectorization, this version
-  * is faster than blueNorm(). Otherwise the blueNorm() is much faster.
-  *
-  * \sa norm(), blueNorm(), hypotNorm()
-  */
-template<typename Derived>
-inline typename NumTraits<typename internal::traits<Derived>::Scalar>::Real
-MatrixBase<Derived>::stableNorm() const
-{
-  using std::min;
-  using std::sqrt;
-  const Index blockSize = 4096;
-  RealScalar scale(0);
-  RealScalar invScale(1);
-  RealScalar ssq(0); // sum of square
-  enum {
-    Alignment = (int(Flags)&DirectAccessBit) || (int(Flags)&AlignedBit) ? 1 : 0
-  };
-  Index n = size();
-  Index bi = internal::first_aligned(derived());
-  if (bi>0)
-    internal::stable_norm_kernel(this->head(bi), ssq, scale, invScale);
-  for (; bi<n; bi+=blockSize)
-    internal::stable_norm_kernel(this->segment(bi,(min)(blockSize, n - bi)).template forceAlignedAccessIf<Alignment>(), ssq, scale, invScale);
-  return scale * sqrt(ssq);
-}
-
-/** \returns the \em l2 norm of \c *this using the Blue's algorithm.
-  * A Portable Fortran Program to Find the Euclidean Norm of a Vector,
-  * ACM TOMS, Vol 4, Issue 1, 1978.
-  *
-  * For architecture/scalar types without vectorization, this version
-  * is much faster than stableNorm(). Otherwise the stableNorm() is faster.
-  *
-  * \sa norm(), stableNorm(), hypotNorm()
-  */
-template<typename Derived>
-inline typename NumTraits<typename internal::traits<Derived>::Scalar>::Real
-MatrixBase<Derived>::blueNorm() const
-{
-  return internal::blueNorm_impl(*this);
-}
-
-/** \returns the \em l2 norm of \c *this avoiding undeflow and overflow.
-  * This version use a concatenation of hypot() calls, and it is very slow.
-  *
-  * \sa norm(), stableNorm()
-  */
-template<typename Derived>
-inline typename NumTraits<typename internal::traits<Derived>::Scalar>::Real
-MatrixBase<Derived>::hypotNorm() const
-{
-  return this->cwiseAbs().redux(internal::scalar_hypot_op<RealScalar>());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_STABLENORM_H
diff --git a/lib/Eigen/src/Core/Stride.h b/lib/Eigen/src/Core/Stride.h
deleted file mode 100644
index 1e3f5fe9..00000000
--- a/lib/Eigen/src/Core/Stride.h
+++ /dev/null
@@ -1,108 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STRIDE_H
-#define EIGEN_STRIDE_H
-
-namespace Eigen { 
-
-/** \class Stride
-  * \ingroup Core_Module
-  *
-  * \brief Holds strides information for Map
-  *
-  * This class holds the strides information for mapping arrays with strides with class Map.
-  *
-  * It holds two values: the inner stride and the outer stride.
-  *
-  * The inner stride is the pointer increment between two consecutive entries within a given row of a
-  * row-major matrix or within a given column of a column-major matrix.
-  *
-  * The outer stride is the pointer increment between two consecutive rows of a row-major matrix or
-  * between two consecutive columns of a column-major matrix.
-  *
-  * These two values can be passed either at compile-time as template parameters, or at runtime as
-  * arguments to the constructor.
-  *
-  * Indeed, this class takes two template parameters:
-  *  \param _OuterStrideAtCompileTime the outer stride, or Dynamic if you want to specify it at runtime.
-  *  \param _InnerStrideAtCompileTime the inner stride, or Dynamic if you want to specify it at runtime.
-  *
-  * Here is an example:
-  * \include Map_general_stride.cpp
-  * Output: \verbinclude Map_general_stride.out
-  *
-  * \sa class InnerStride, class OuterStride, \ref TopicStorageOrders
-  */
-template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
-class Stride
-{
-  public:
-    typedef DenseIndex Index;
-    enum {
-      InnerStrideAtCompileTime = _InnerStrideAtCompileTime,
-      OuterStrideAtCompileTime = _OuterStrideAtCompileTime
-    };
-
-    /** Default constructor, for use when strides are fixed at compile time */
-    Stride()
-      : m_outer(OuterStrideAtCompileTime), m_inner(InnerStrideAtCompileTime)
-    {
-      eigen_assert(InnerStrideAtCompileTime != Dynamic && OuterStrideAtCompileTime != Dynamic);
-    }
-
-    /** Constructor allowing to pass the strides at runtime */
-    Stride(Index outerStride, Index innerStride)
-      : m_outer(outerStride), m_inner(innerStride)
-    {
-      eigen_assert(innerStride>=0 && outerStride>=0);
-    }
-
-    /** Copy constructor */
-    Stride(const Stride& other)
-      : m_outer(other.outer()), m_inner(other.inner())
-    {}
-
-    /** \returns the outer stride */
-    inline Index outer() const { return m_outer.value(); }
-    /** \returns the inner stride */
-    inline Index inner() const { return m_inner.value(); }
-
-  protected:
-    internal::variable_if_dynamic<Index, OuterStrideAtCompileTime> m_outer;
-    internal::variable_if_dynamic<Index, InnerStrideAtCompileTime> m_inner;
-};
-
-/** \brief Convenience specialization of Stride to specify only an inner stride
-  * See class Map for some examples */
-template<int Value = Dynamic>
-class InnerStride : public Stride<0, Value>
-{
-    typedef Stride<0, Value> Base;
-  public:
-    typedef DenseIndex Index;
-    InnerStride() : Base() {}
-    InnerStride(Index v) : Base(0, v) {}
-};
-
-/** \brief Convenience specialization of Stride to specify only an outer stride
-  * See class Map for some examples */
-template<int Value = Dynamic>
-class OuterStride : public Stride<Value, 0>
-{
-    typedef Stride<Value, 0> Base;
-  public:
-    typedef DenseIndex Index;
-    OuterStride() : Base() {}
-    OuterStride(Index v) : Base(v,0) {}
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_STRIDE_H
diff --git a/lib/Eigen/src/Core/Swap.h b/lib/Eigen/src/Core/Swap.h
deleted file mode 100644
index bf58bd59..00000000
--- a/lib/Eigen/src/Core/Swap.h
+++ /dev/null
@@ -1,126 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SWAP_H
-#define EIGEN_SWAP_H
-
-namespace Eigen { 
-
-/** \class SwapWrapper
-  * \ingroup Core_Module
-  *
-  * \internal
-  *
-  * \brief Internal helper class for swapping two expressions
-  */
-namespace internal {
-template<typename ExpressionType>
-struct traits<SwapWrapper<ExpressionType> > : traits<ExpressionType> {};
-}
-
-template<typename ExpressionType> class SwapWrapper
-  : public internal::dense_xpr_base<SwapWrapper<ExpressionType> >::type
-{
-  public:
-
-    typedef typename internal::dense_xpr_base<SwapWrapper>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(SwapWrapper)
-    typedef typename internal::packet_traits<Scalar>::type Packet;
-
-    inline SwapWrapper(ExpressionType& xpr) : m_expression(xpr) {}
-
-    inline Index rows() const { return m_expression.rows(); }
-    inline Index cols() const { return m_expression.cols(); }
-    inline Index outerStride() const { return m_expression.outerStride(); }
-    inline Index innerStride() const { return m_expression.innerStride(); }
-    
-    typedef typename internal::conditional<
-                       internal::is_lvalue<ExpressionType>::value,
-                       Scalar,
-                       const Scalar
-                     >::type ScalarWithConstIfNotLvalue;
-                     
-    inline ScalarWithConstIfNotLvalue* data() { return m_expression.data(); }
-    inline const Scalar* data() const { return m_expression.data(); }
-
-    inline Scalar& coeffRef(Index rowId, Index colId)
-    {
-      return m_expression.const_cast_derived().coeffRef(rowId, colId);
-    }
-
-    inline Scalar& coeffRef(Index index)
-    {
-      return m_expression.const_cast_derived().coeffRef(index);
-    }
-
-    inline Scalar& coeffRef(Index rowId, Index colId) const
-    {
-      return m_expression.coeffRef(rowId, colId);
-    }
-
-    inline Scalar& coeffRef(Index index) const
-    {
-      return m_expression.coeffRef(index);
-    }
-
-    template<typename OtherDerived>
-    void copyCoeff(Index rowId, Index colId, const DenseBase<OtherDerived>& other)
-    {
-      OtherDerived& _other = other.const_cast_derived();
-      eigen_internal_assert(rowId >= 0 && rowId < rows()
-                         && colId >= 0 && colId < cols());
-      Scalar tmp = m_expression.coeff(rowId, colId);
-      m_expression.coeffRef(rowId, colId) = _other.coeff(rowId, colId);
-      _other.coeffRef(rowId, colId) = tmp;
-    }
-
-    template<typename OtherDerived>
-    void copyCoeff(Index index, const DenseBase<OtherDerived>& other)
-    {
-      OtherDerived& _other = other.const_cast_derived();
-      eigen_internal_assert(index >= 0 && index < m_expression.size());
-      Scalar tmp = m_expression.coeff(index);
-      m_expression.coeffRef(index) = _other.coeff(index);
-      _other.coeffRef(index) = tmp;
-    }
-
-    template<typename OtherDerived, int StoreMode, int LoadMode>
-    void copyPacket(Index rowId, Index colId, const DenseBase<OtherDerived>& other)
-    {
-      OtherDerived& _other = other.const_cast_derived();
-      eigen_internal_assert(rowId >= 0 && rowId < rows()
-                        && colId >= 0 && colId < cols());
-      Packet tmp = m_expression.template packet<StoreMode>(rowId, colId);
-      m_expression.template writePacket<StoreMode>(rowId, colId,
-        _other.template packet<LoadMode>(rowId, colId)
-      );
-      _other.template writePacket<LoadMode>(rowId, colId, tmp);
-    }
-
-    template<typename OtherDerived, int StoreMode, int LoadMode>
-    void copyPacket(Index index, const DenseBase<OtherDerived>& other)
-    {
-      OtherDerived& _other = other.const_cast_derived();
-      eigen_internal_assert(index >= 0 && index < m_expression.size());
-      Packet tmp = m_expression.template packet<StoreMode>(index);
-      m_expression.template writePacket<StoreMode>(index,
-        _other.template packet<LoadMode>(index)
-      );
-      _other.template writePacket<LoadMode>(index, tmp);
-    }
-
-    ExpressionType& expression() const { return m_expression; }
-
-  protected:
-    ExpressionType& m_expression;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_SWAP_H
diff --git a/lib/Eigen/src/Core/Transpose.h b/lib/Eigen/src/Core/Transpose.h
deleted file mode 100644
index 22096ea2..00000000
--- a/lib/Eigen/src/Core/Transpose.h
+++ /dev/null
@@ -1,419 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRANSPOSE_H
-#define EIGEN_TRANSPOSE_H
-
-namespace Eigen { 
-
-/** \class Transpose
-  * \ingroup Core_Module
-  *
-  * \brief Expression of the transpose of a matrix
-  *
-  * \param MatrixType the type of the object of which we are taking the transpose
-  *
-  * This class represents an expression of the transpose of a matrix.
-  * It is the return type of MatrixBase::transpose() and MatrixBase::adjoint()
-  * and most of the time this is the only way it is used.
-  *
-  * \sa MatrixBase::transpose(), MatrixBase::adjoint()
-  */
-
-namespace internal {
-template<typename MatrixType>
-struct traits<Transpose<MatrixType> > : traits<MatrixType>
-{
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename nested<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_reference<MatrixTypeNested>::type MatrixTypeNestedPlain;
-  typedef typename traits<MatrixType>::StorageKind StorageKind;
-  typedef typename traits<MatrixType>::XprKind XprKind;
-  enum {
-    RowsAtCompileTime = MatrixType::ColsAtCompileTime,
-    ColsAtCompileTime = MatrixType::RowsAtCompileTime,
-    MaxRowsAtCompileTime = MatrixType::MaxColsAtCompileTime,
-    MaxColsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-    FlagsLvalueBit = is_lvalue<MatrixType>::value ? LvalueBit : 0,
-    Flags0 = MatrixTypeNestedPlain::Flags & ~(LvalueBit | NestByRefBit),
-    Flags1 = Flags0 | FlagsLvalueBit,
-    Flags = Flags1 ^ RowMajorBit,
-    CoeffReadCost = MatrixTypeNestedPlain::CoeffReadCost,
-    InnerStrideAtCompileTime = inner_stride_at_compile_time<MatrixType>::ret,
-    OuterStrideAtCompileTime = outer_stride_at_compile_time<MatrixType>::ret
-  };
-};
-}
-
-template<typename MatrixType, typename StorageKind> class TransposeImpl;
-
-template<typename MatrixType> class Transpose
-  : public TransposeImpl<MatrixType,typename internal::traits<MatrixType>::StorageKind>
-{
-  public:
-
-    typedef typename TransposeImpl<MatrixType,typename internal::traits<MatrixType>::StorageKind>::Base Base;
-    EIGEN_GENERIC_PUBLIC_INTERFACE(Transpose)
-
-    inline Transpose(MatrixType& a_matrix) : m_matrix(a_matrix) {}
-
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Transpose)
-
-    inline Index rows() const { return m_matrix.cols(); }
-    inline Index cols() const { return m_matrix.rows(); }
-
-    /** \returns the nested expression */
-    const typename internal::remove_all<typename MatrixType::Nested>::type&
-    nestedExpression() const { return m_matrix; }
-
-    /** \returns the nested expression */
-    typename internal::remove_all<typename MatrixType::Nested>::type&
-    nestedExpression() { return m_matrix.const_cast_derived(); }
-
-  protected:
-    typename MatrixType::Nested m_matrix;
-};
-
-namespace internal {
-
-template<typename MatrixType, bool HasDirectAccess = has_direct_access<MatrixType>::ret>
-struct TransposeImpl_base
-{
-  typedef typename dense_xpr_base<Transpose<MatrixType> >::type type;
-};
-
-template<typename MatrixType>
-struct TransposeImpl_base<MatrixType, false>
-{
-  typedef typename dense_xpr_base<Transpose<MatrixType> >::type type;
-};
-
-} // end namespace internal
-
-template<typename MatrixType> class TransposeImpl<MatrixType,Dense>
-  : public internal::TransposeImpl_base<MatrixType>::type
-{
-  public:
-
-    typedef typename internal::TransposeImpl_base<MatrixType>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Transpose<MatrixType>)
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(TransposeImpl)
-
-    inline Index innerStride() const { return derived().nestedExpression().innerStride(); }
-    inline Index outerStride() const { return derived().nestedExpression().outerStride(); }
-
-    typedef typename internal::conditional<
-                       internal::is_lvalue<MatrixType>::value,
-                       Scalar,
-                       const Scalar
-                     >::type ScalarWithConstIfNotLvalue;
-
-    inline ScalarWithConstIfNotLvalue* data() { return derived().nestedExpression().data(); }
-    inline const Scalar* data() const { return derived().nestedExpression().data(); }
-
-    inline ScalarWithConstIfNotLvalue& coeffRef(Index rowId, Index colId)
-    {
-      EIGEN_STATIC_ASSERT_LVALUE(MatrixType)
-      return derived().nestedExpression().const_cast_derived().coeffRef(colId, rowId);
-    }
-
-    inline ScalarWithConstIfNotLvalue& coeffRef(Index index)
-    {
-      EIGEN_STATIC_ASSERT_LVALUE(MatrixType)
-      return derived().nestedExpression().const_cast_derived().coeffRef(index);
-    }
-
-    inline const Scalar& coeffRef(Index rowId, Index colId) const
-    {
-      return derived().nestedExpression().coeffRef(colId, rowId);
-    }
-
-    inline const Scalar& coeffRef(Index index) const
-    {
-      return derived().nestedExpression().coeffRef(index);
-    }
-
-    inline CoeffReturnType coeff(Index rowId, Index colId) const
-    {
-      return derived().nestedExpression().coeff(colId, rowId);
-    }
-
-    inline CoeffReturnType coeff(Index index) const
-    {
-      return derived().nestedExpression().coeff(index);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index rowId, Index colId) const
-    {
-      return derived().nestedExpression().template packet<LoadMode>(colId, rowId);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index rowId, Index colId, const PacketScalar& x)
-    {
-      derived().nestedExpression().const_cast_derived().template writePacket<LoadMode>(colId, rowId, x);
-    }
-
-    template<int LoadMode>
-    inline const PacketScalar packet(Index index) const
-    {
-      return derived().nestedExpression().template packet<LoadMode>(index);
-    }
-
-    template<int LoadMode>
-    inline void writePacket(Index index, const PacketScalar& x)
-    {
-      derived().nestedExpression().const_cast_derived().template writePacket<LoadMode>(index, x);
-    }
-};
-
-/** \returns an expression of the transpose of *this.
-  *
-  * Example: \include MatrixBase_transpose.cpp
-  * Output: \verbinclude MatrixBase_transpose.out
-  *
-  * \warning If you want to replace a matrix by its own transpose, do \b NOT do this:
-  * \code
-  * m = m.transpose(); // bug!!! caused by aliasing effect
-  * \endcode
-  * Instead, use the transposeInPlace() method:
-  * \code
-  * m.transposeInPlace();
-  * \endcode
-  * which gives Eigen good opportunities for optimization, or alternatively you can also do:
-  * \code
-  * m = m.transpose().eval();
-  * \endcode
-  *
-  * \sa transposeInPlace(), adjoint() */
-template<typename Derived>
-inline Transpose<Derived>
-DenseBase<Derived>::transpose()
-{
-  return derived();
-}
-
-/** This is the const version of transpose().
-  *
-  * Make sure you read the warning for transpose() !
-  *
-  * \sa transposeInPlace(), adjoint() */
-template<typename Derived>
-inline typename DenseBase<Derived>::ConstTransposeReturnType
-DenseBase<Derived>::transpose() const
-{
-  return ConstTransposeReturnType(derived());
-}
-
-/** \returns an expression of the adjoint (i.e. conjugate transpose) of *this.
-  *
-  * Example: \include MatrixBase_adjoint.cpp
-  * Output: \verbinclude MatrixBase_adjoint.out
-  *
-  * \warning If you want to replace a matrix by its own adjoint, do \b NOT do this:
-  * \code
-  * m = m.adjoint(); // bug!!! caused by aliasing effect
-  * \endcode
-  * Instead, use the adjointInPlace() method:
-  * \code
-  * m.adjointInPlace();
-  * \endcode
-  * which gives Eigen good opportunities for optimization, or alternatively you can also do:
-  * \code
-  * m = m.adjoint().eval();
-  * \endcode
-  *
-  * \sa adjointInPlace(), transpose(), conjugate(), class Transpose, class internal::scalar_conjugate_op */
-template<typename Derived>
-inline const typename MatrixBase<Derived>::AdjointReturnType
-MatrixBase<Derived>::adjoint() const
-{
-  return this->transpose(); // in the complex case, the .conjugate() is be implicit here
-                            // due to implicit conversion to return type
-}
-
-/***************************************************************************
-* "in place" transpose implementation
-***************************************************************************/
-
-namespace internal {
-
-template<typename MatrixType,
-  bool IsSquare = (MatrixType::RowsAtCompileTime == MatrixType::ColsAtCompileTime) && MatrixType::RowsAtCompileTime!=Dynamic>
-struct inplace_transpose_selector;
-
-template<typename MatrixType>
-struct inplace_transpose_selector<MatrixType,true> { // square matrix
-  static void run(MatrixType& m) {
-    m.matrix().template triangularView<StrictlyUpper>().swap(m.matrix().transpose());
-  }
-};
-
-template<typename MatrixType>
-struct inplace_transpose_selector<MatrixType,false> { // non square matrix
-  static void run(MatrixType& m) {
-    if (m.rows()==m.cols())
-      m.matrix().template triangularView<StrictlyUpper>().swap(m.matrix().transpose());
-    else
-      m = m.transpose().eval();
-  }
-};
-
-} // end namespace internal
-
-/** This is the "in place" version of transpose(): it replaces \c *this by its own transpose.
-  * Thus, doing
-  * \code
-  * m.transposeInPlace();
-  * \endcode
-  * has the same effect on m as doing
-  * \code
-  * m = m.transpose().eval();
-  * \endcode
-  * and is faster and also safer because in the latter line of code, forgetting the eval() results
-  * in a bug caused by \ref TopicAliasing "aliasing".
-  *
-  * Notice however that this method is only useful if you want to replace a matrix by its own transpose.
-  * If you just need the transpose of a matrix, use transpose().
-  *
-  * \note if the matrix is not square, then \c *this must be a resizable matrix. 
-  * This excludes (non-square) fixed-size matrices, block-expressions and maps.
-  *
-  * \sa transpose(), adjoint(), adjointInPlace() */
-template<typename Derived>
-inline void DenseBase<Derived>::transposeInPlace()
-{
-  eigen_assert((rows() == cols() || (RowsAtCompileTime == Dynamic && ColsAtCompileTime == Dynamic))
-               && "transposeInPlace() called on a non-square non-resizable matrix");
-  internal::inplace_transpose_selector<Derived>::run(derived());
-}
-
-/***************************************************************************
-* "in place" adjoint implementation
-***************************************************************************/
-
-/** This is the "in place" version of adjoint(): it replaces \c *this by its own transpose.
-  * Thus, doing
-  * \code
-  * m.adjointInPlace();
-  * \endcode
-  * has the same effect on m as doing
-  * \code
-  * m = m.adjoint().eval();
-  * \endcode
-  * and is faster and also safer because in the latter line of code, forgetting the eval() results
-  * in a bug caused by aliasing.
-  *
-  * Notice however that this method is only useful if you want to replace a matrix by its own adjoint.
-  * If you just need the adjoint of a matrix, use adjoint().
-  *
-  * \note if the matrix is not square, then \c *this must be a resizable matrix.
-  * This excludes (non-square) fixed-size matrices, block-expressions and maps.
-  *
-  * \sa transpose(), adjoint(), transposeInPlace() */
-template<typename Derived>
-inline void MatrixBase<Derived>::adjointInPlace()
-{
-  derived() = adjoint().eval();
-}
-
-#ifndef EIGEN_NO_DEBUG
-
-// The following is to detect aliasing problems in most common cases.
-
-namespace internal {
-
-template<typename BinOp,typename NestedXpr,typename Rhs>
-struct blas_traits<SelfCwiseBinaryOp<BinOp,NestedXpr,Rhs> >
- : blas_traits<NestedXpr>
-{
-  typedef SelfCwiseBinaryOp<BinOp,NestedXpr,Rhs> XprType;
-  static inline const XprType extract(const XprType& x) { return x; }
-};
-
-template<bool DestIsTransposed, typename OtherDerived>
-struct check_transpose_aliasing_compile_time_selector
-{
-  enum { ret = bool(blas_traits<OtherDerived>::IsTransposed) != DestIsTransposed };
-};
-
-template<bool DestIsTransposed, typename BinOp, typename DerivedA, typename DerivedB>
-struct check_transpose_aliasing_compile_time_selector<DestIsTransposed,CwiseBinaryOp<BinOp,DerivedA,DerivedB> >
-{
-  enum { ret =    bool(blas_traits<DerivedA>::IsTransposed) != DestIsTransposed
-               || bool(blas_traits<DerivedB>::IsTransposed) != DestIsTransposed
-  };
-};
-
-template<typename Scalar, bool DestIsTransposed, typename OtherDerived>
-struct check_transpose_aliasing_run_time_selector
-{
-  static bool run(const Scalar* dest, const OtherDerived& src)
-  {
-    return (bool(blas_traits<OtherDerived>::IsTransposed) != DestIsTransposed) && (dest!=0 && dest==(const Scalar*)extract_data(src));
-  }
-};
-
-template<typename Scalar, bool DestIsTransposed, typename BinOp, typename DerivedA, typename DerivedB>
-struct check_transpose_aliasing_run_time_selector<Scalar,DestIsTransposed,CwiseBinaryOp<BinOp,DerivedA,DerivedB> >
-{
-  static bool run(const Scalar* dest, const CwiseBinaryOp<BinOp,DerivedA,DerivedB>& src)
-  {
-    return ((blas_traits<DerivedA>::IsTransposed != DestIsTransposed) && (dest!=0 && dest==(const Scalar*)extract_data(src.lhs())))
-        || ((blas_traits<DerivedB>::IsTransposed != DestIsTransposed) && (dest!=0 && dest==(const Scalar*)extract_data(src.rhs())));
-  }
-};
-
-// the following selector, checkTransposeAliasing_impl, based on MightHaveTransposeAliasing,
-// is because when the condition controlling the assert is known at compile time, ICC emits a warning.
-// This is actually a good warning: in expressions that don't have any transposing, the condition is
-// known at compile time to be false, and using that, we can avoid generating the code of the assert again
-// and again for all these expressions that don't need it.
-
-template<typename Derived, typename OtherDerived,
-         bool MightHaveTransposeAliasing
-                 = check_transpose_aliasing_compile_time_selector
-                     <blas_traits<Derived>::IsTransposed,OtherDerived>::ret
-        >
-struct checkTransposeAliasing_impl
-{
-    static void run(const Derived& dst, const OtherDerived& other)
-    {
-        eigen_assert((!check_transpose_aliasing_run_time_selector
-                      <typename Derived::Scalar,blas_traits<Derived>::IsTransposed,OtherDerived>
-                      ::run(extract_data(dst), other))
-          && "aliasing detected during transposition, use transposeInPlace() "
-             "or evaluate the rhs into a temporary using .eval()");
-
-    }
-};
-
-template<typename Derived, typename OtherDerived>
-struct checkTransposeAliasing_impl<Derived, OtherDerived, false>
-{
-    static void run(const Derived&, const OtherDerived&)
-    {
-    }
-};
-
-} // end namespace internal
-
-template<typename Derived>
-template<typename OtherDerived>
-void DenseBase<Derived>::checkTransposeAliasing(const OtherDerived& other) const
-{
-    internal::checkTransposeAliasing_impl<Derived, OtherDerived>::run(derived(), other);
-}
-#endif
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRANSPOSE_H
diff --git a/lib/Eigen/src/Core/Transpositions.h b/lib/Eigen/src/Core/Transpositions.h
deleted file mode 100644
index e4ba0756..00000000
--- a/lib/Eigen/src/Core/Transpositions.h
+++ /dev/null
@@ -1,436 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRANSPOSITIONS_H
-#define EIGEN_TRANSPOSITIONS_H
-
-namespace Eigen { 
-
-/** \class Transpositions
-  * \ingroup Core_Module
-  *
-  * \brief Represents a sequence of transpositions (row/column interchange)
-  *
-  * \param SizeAtCompileTime the number of transpositions, or Dynamic
-  * \param MaxSizeAtCompileTime the maximum number of transpositions, or Dynamic. This optional parameter defaults to SizeAtCompileTime. Most of the time, you should not have to specify it.
-  *
-  * This class represents a permutation transformation as a sequence of \em n transpositions
-  * \f$[T_{n-1} \ldots T_{i} \ldots T_{0}]\f$. It is internally stored as a vector of integers \c indices.
-  * Each transposition \f$ T_{i} \f$ applied on the left of a matrix (\f$ T_{i} M\f$) interchanges
-  * the rows \c i and \c indices[i] of the matrix \c M.
-  * A transposition applied on the right (e.g., \f$ M T_{i}\f$) yields a column interchange.
-  *
-  * Compared to the class PermutationMatrix, such a sequence of transpositions is what is
-  * computed during a decomposition with pivoting, and it is faster when applying the permutation in-place.
-  * 
-  * To apply a sequence of transpositions to a matrix, simply use the operator * as in the following example:
-  * \code
-  * Transpositions tr;
-  * MatrixXf mat;
-  * mat = tr * mat;
-  * \endcode
-  * In this example, we detect that the matrix appears on both side, and so the transpositions
-  * are applied in-place without any temporary or extra copy.
-  *
-  * \sa class PermutationMatrix
-  */
-
-namespace internal {
-template<typename TranspositionType, typename MatrixType, int Side, bool Transposed=false> struct transposition_matrix_product_retval;
-}
-
-template<typename Derived>
-class TranspositionsBase
-{
-    typedef internal::traits<Derived> Traits;
-    
-  public:
-
-    typedef typename Traits::IndicesType IndicesType;
-    typedef typename IndicesType::Scalar Index;
-
-    Derived& derived() { return *static_cast<Derived*>(this); }
-    const Derived& derived() const { return *static_cast<const Derived*>(this); }
-
-    /** Copies the \a other transpositions into \c *this */
-    template<typename OtherDerived>
-    Derived& operator=(const TranspositionsBase<OtherDerived>& other)
-    {
-      indices() = other.indices();
-      return derived();
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    Derived& operator=(const TranspositionsBase& other)
-    {
-      indices() = other.indices();
-      return derived();
-    }
-    #endif
-
-    /** \returns the number of transpositions */
-    inline Index size() const { return indices().size(); }
-
-    /** Direct access to the underlying index vector */
-    inline const Index& coeff(Index i) const { return indices().coeff(i); }
-    /** Direct access to the underlying index vector */
-    inline Index& coeffRef(Index i) { return indices().coeffRef(i); }
-    /** Direct access to the underlying index vector */
-    inline const Index& operator()(Index i) const { return indices()(i); }
-    /** Direct access to the underlying index vector */
-    inline Index& operator()(Index i) { return indices()(i); }
-    /** Direct access to the underlying index vector */
-    inline const Index& operator[](Index i) const { return indices()(i); }
-    /** Direct access to the underlying index vector */
-    inline Index& operator[](Index i) { return indices()(i); }
-
-    /** const version of indices(). */
-    const IndicesType& indices() const { return derived().indices(); }
-    /** \returns a reference to the stored array representing the transpositions. */
-    IndicesType& indices() { return derived().indices(); }
-
-    /** Resizes to given size. */
-    inline void resize(int newSize)
-    {
-      indices().resize(newSize);
-    }
-
-    /** Sets \c *this to represents an identity transformation */
-    void setIdentity()
-    {
-      for(int i = 0; i < indices().size(); ++i)
-        coeffRef(i) = i;
-    }
-
-    // FIXME: do we want such methods ?
-    // might be usefull when the target matrix expression is complex, e.g.:
-    // object.matrix().block(..,..,..,..) = trans * object.matrix().block(..,..,..,..);
-    /*
-    template<typename MatrixType>
-    void applyForwardToRows(MatrixType& mat) const
-    {
-      for(Index k=0 ; k<size() ; ++k)
-        if(m_indices(k)!=k)
-          mat.row(k).swap(mat.row(m_indices(k)));
-    }
-
-    template<typename MatrixType>
-    void applyBackwardToRows(MatrixType& mat) const
-    {
-      for(Index k=size()-1 ; k>=0 ; --k)
-        if(m_indices(k)!=k)
-          mat.row(k).swap(mat.row(m_indices(k)));
-    }
-    */
-
-    /** \returns the inverse transformation */
-    inline Transpose<TranspositionsBase> inverse() const
-    { return Transpose<TranspositionsBase>(derived()); }
-
-    /** \returns the tranpose transformation */
-    inline Transpose<TranspositionsBase> transpose() const
-    { return Transpose<TranspositionsBase>(derived()); }
-
-  protected:
-};
-
-namespace internal {
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
-struct traits<Transpositions<SizeAtCompileTime,MaxSizeAtCompileTime,IndexType> >
-{
-  typedef IndexType Index;
-  typedef Matrix<Index, SizeAtCompileTime, 1, 0, MaxSizeAtCompileTime, 1> IndicesType;
-};
-}
-
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
-class Transpositions : public TranspositionsBase<Transpositions<SizeAtCompileTime,MaxSizeAtCompileTime,IndexType> >
-{
-    typedef internal::traits<Transpositions> Traits;
-  public:
-
-    typedef TranspositionsBase<Transpositions> Base;
-    typedef typename Traits::IndicesType IndicesType;
-    typedef typename IndicesType::Scalar Index;
-
-    inline Transpositions() {}
-
-    /** Copy constructor. */
-    template<typename OtherDerived>
-    inline Transpositions(const TranspositionsBase<OtherDerived>& other)
-      : m_indices(other.indices()) {}
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** Standard copy constructor. Defined only to prevent a default copy constructor
-      * from hiding the other templated constructor */
-    inline Transpositions(const Transpositions& other) : m_indices(other.indices()) {}
-    #endif
-
-    /** Generic constructor from expression of the transposition indices. */
-    template<typename Other>
-    explicit inline Transpositions(const MatrixBase<Other>& a_indices) : m_indices(a_indices)
-    {}
-
-    /** Copies the \a other transpositions into \c *this */
-    template<typename OtherDerived>
-    Transpositions& operator=(const TranspositionsBase<OtherDerived>& other)
-    {
-      return Base::operator=(other);
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    Transpositions& operator=(const Transpositions& other)
-    {
-      m_indices = other.m_indices;
-      return *this;
-    }
-    #endif
-
-    /** Constructs an uninitialized permutation matrix of given size.
-      */
-    inline Transpositions(Index size) : m_indices(size)
-    {}
-
-    /** const version of indices(). */
-    const IndicesType& indices() const { return m_indices; }
-    /** \returns a reference to the stored array representing the transpositions. */
-    IndicesType& indices() { return m_indices; }
-
-  protected:
-
-    IndicesType m_indices;
-};
-
-
-namespace internal {
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType, int _PacketAccess>
-struct traits<Map<Transpositions<SizeAtCompileTime,MaxSizeAtCompileTime,IndexType>,_PacketAccess> >
-{
-  typedef IndexType Index;
-  typedef Map<const Matrix<Index,SizeAtCompileTime,1,0,MaxSizeAtCompileTime,1>, _PacketAccess> IndicesType;
-};
-}
-
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType, int PacketAccess>
-class Map<Transpositions<SizeAtCompileTime,MaxSizeAtCompileTime,IndexType>,PacketAccess>
- : public TranspositionsBase<Map<Transpositions<SizeAtCompileTime,MaxSizeAtCompileTime,IndexType>,PacketAccess> >
-{
-    typedef internal::traits<Map> Traits;
-  public:
-
-    typedef TranspositionsBase<Map> Base;
-    typedef typename Traits::IndicesType IndicesType;
-    typedef typename IndicesType::Scalar Index;
-
-    inline Map(const Index* indicesPtr)
-      : m_indices(indicesPtr)
-    {}
-
-    inline Map(const Index* indicesPtr, Index size)
-      : m_indices(indicesPtr,size)
-    {}
-
-    /** Copies the \a other transpositions into \c *this */
-    template<typename OtherDerived>
-    Map& operator=(const TranspositionsBase<OtherDerived>& other)
-    {
-      return Base::operator=(other);
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    Map& operator=(const Map& other)
-    {
-      m_indices = other.m_indices;
-      return *this;
-    }
-    #endif
-
-    /** const version of indices(). */
-    const IndicesType& indices() const { return m_indices; }
-    
-    /** \returns a reference to the stored array representing the transpositions. */
-    IndicesType& indices() { return m_indices; }
-
-  protected:
-
-    IndicesType m_indices;
-};
-
-namespace internal {
-template<typename _IndicesType>
-struct traits<TranspositionsWrapper<_IndicesType> >
-{
-  typedef typename _IndicesType::Scalar Index;
-  typedef _IndicesType IndicesType;
-};
-}
-
-template<typename _IndicesType>
-class TranspositionsWrapper
- : public TranspositionsBase<TranspositionsWrapper<_IndicesType> >
-{
-    typedef internal::traits<TranspositionsWrapper> Traits;
-  public:
-
-    typedef TranspositionsBase<TranspositionsWrapper> Base;
-    typedef typename Traits::IndicesType IndicesType;
-    typedef typename IndicesType::Scalar Index;
-
-    inline TranspositionsWrapper(IndicesType& a_indices)
-      : m_indices(a_indices)
-    {}
-
-    /** Copies the \a other transpositions into \c *this */
-    template<typename OtherDerived>
-    TranspositionsWrapper& operator=(const TranspositionsBase<OtherDerived>& other)
-    {
-      return Base::operator=(other);
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** This is a special case of the templated operator=. Its purpose is to
-      * prevent a default operator= from hiding the templated operator=.
-      */
-    TranspositionsWrapper& operator=(const TranspositionsWrapper& other)
-    {
-      m_indices = other.m_indices;
-      return *this;
-    }
-    #endif
-
-    /** const version of indices(). */
-    const IndicesType& indices() const { return m_indices; }
-
-    /** \returns a reference to the stored array representing the transpositions. */
-    IndicesType& indices() { return m_indices; }
-
-  protected:
-
-    const typename IndicesType::Nested m_indices;
-};
-
-/** \returns the \a matrix with the \a transpositions applied to the columns.
-  */
-template<typename Derived, typename TranspositionsDerived>
-inline const internal::transposition_matrix_product_retval<TranspositionsDerived, Derived, OnTheRight>
-operator*(const MatrixBase<Derived>& matrix,
-          const TranspositionsBase<TranspositionsDerived> &transpositions)
-{
-  return internal::transposition_matrix_product_retval
-           <TranspositionsDerived, Derived, OnTheRight>
-           (transpositions.derived(), matrix.derived());
-}
-
-/** \returns the \a matrix with the \a transpositions applied to the rows.
-  */
-template<typename Derived, typename TranspositionDerived>
-inline const internal::transposition_matrix_product_retval
-               <TranspositionDerived, Derived, OnTheLeft>
-operator*(const TranspositionsBase<TranspositionDerived> &transpositions,
-          const MatrixBase<Derived>& matrix)
-{
-  return internal::transposition_matrix_product_retval
-           <TranspositionDerived, Derived, OnTheLeft>
-           (transpositions.derived(), matrix.derived());
-}
-
-namespace internal {
-
-template<typename TranspositionType, typename MatrixType, int Side, bool Transposed>
-struct traits<transposition_matrix_product_retval<TranspositionType, MatrixType, Side, Transposed> >
-{
-  typedef typename MatrixType::PlainObject ReturnType;
-};
-
-template<typename TranspositionType, typename MatrixType, int Side, bool Transposed>
-struct transposition_matrix_product_retval
- : public ReturnByValue<transposition_matrix_product_retval<TranspositionType, MatrixType, Side, Transposed> >
-{
-    typedef typename remove_all<typename MatrixType::Nested>::type MatrixTypeNestedCleaned;
-    typedef typename TranspositionType::Index Index;
-
-    transposition_matrix_product_retval(const TranspositionType& tr, const MatrixType& matrix)
-      : m_transpositions(tr), m_matrix(matrix)
-    {}
-
-    inline int rows() const { return m_matrix.rows(); }
-    inline int cols() const { return m_matrix.cols(); }
-
-    template<typename Dest> inline void evalTo(Dest& dst) const
-    {
-      const int size = m_transpositions.size();
-      Index j = 0;
-
-      if(!(is_same<MatrixTypeNestedCleaned,Dest>::value && extract_data(dst) == extract_data(m_matrix)))
-        dst = m_matrix;
-
-      for(int k=(Transposed?size-1:0) ; Transposed?k>=0:k<size ; Transposed?--k:++k)
-        if((j=m_transpositions.coeff(k))!=k)
-        {
-          if(Side==OnTheLeft)
-            dst.row(k).swap(dst.row(j));
-          else if(Side==OnTheRight)
-            dst.col(k).swap(dst.col(j));
-        }
-    }
-
-  protected:
-    const TranspositionType& m_transpositions;
-    typename MatrixType::Nested m_matrix;
-};
-
-} // end namespace internal
-
-/* Template partial specialization for transposed/inverse transpositions */
-
-template<typename TranspositionsDerived>
-class Transpose<TranspositionsBase<TranspositionsDerived> >
-{
-    typedef TranspositionsDerived TranspositionType;
-    typedef typename TranspositionType::IndicesType IndicesType;
-  public:
-
-    Transpose(const TranspositionType& t) : m_transpositions(t) {}
-
-    inline int size() const { return m_transpositions.size(); }
-
-    /** \returns the \a matrix with the inverse transpositions applied to the columns.
-      */
-    template<typename Derived> friend
-    inline const internal::transposition_matrix_product_retval<TranspositionType, Derived, OnTheRight, true>
-    operator*(const MatrixBase<Derived>& matrix, const Transpose& trt)
-    {
-      return internal::transposition_matrix_product_retval<TranspositionType, Derived, OnTheRight, true>(trt.m_transpositions, matrix.derived());
-    }
-
-    /** \returns the \a matrix with the inverse transpositions applied to the rows.
-      */
-    template<typename Derived>
-    inline const internal::transposition_matrix_product_retval<TranspositionType, Derived, OnTheLeft, true>
-    operator*(const MatrixBase<Derived>& matrix) const
-    {
-      return internal::transposition_matrix_product_retval<TranspositionType, Derived, OnTheLeft, true>(m_transpositions, matrix.derived());
-    }
-
-  protected:
-    const TranspositionType& m_transpositions;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRANSPOSITIONS_H
diff --git a/lib/Eigen/src/Core/TriangularMatrix.h b/lib/Eigen/src/Core/TriangularMatrix.h
deleted file mode 100644
index 4d65392c..00000000
--- a/lib/Eigen/src/Core/TriangularMatrix.h
+++ /dev/null
@@ -1,839 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRIANGULARMATRIX_H
-#define EIGEN_TRIANGULARMATRIX_H
-
-namespace Eigen { 
-
-namespace internal {
-  
-template<int Side, typename TriangularType, typename Rhs> struct triangular_solve_retval;
-  
-}
-
-/** \internal
-  *
-  * \class TriangularBase
-  * \ingroup Core_Module
-  *
-  * \brief Base class for triangular part in a matrix
-  */
-template<typename Derived> class TriangularBase : public EigenBase<Derived>
-{
-  public:
-
-    enum {
-      Mode = internal::traits<Derived>::Mode,
-      CoeffReadCost = internal::traits<Derived>::CoeffReadCost,
-      RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime,
-      ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime,
-      MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime
-    };
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::traits<Derived>::DenseMatrixType DenseMatrixType;
-    typedef DenseMatrixType DenseType;
-
-    inline TriangularBase() { eigen_assert(!((Mode&UnitDiag) && (Mode&ZeroDiag))); }
-
-    inline Index rows() const { return derived().rows(); }
-    inline Index cols() const { return derived().cols(); }
-    inline Index outerStride() const { return derived().outerStride(); }
-    inline Index innerStride() const { return derived().innerStride(); }
-
-    inline Scalar coeff(Index row, Index col) const  { return derived().coeff(row,col); }
-    inline Scalar& coeffRef(Index row, Index col) { return derived().coeffRef(row,col); }
-
-    /** \see MatrixBase::copyCoeff(row,col)
-      */
-    template<typename Other>
-    EIGEN_STRONG_INLINE void copyCoeff(Index row, Index col, Other& other)
-    {
-      derived().coeffRef(row, col) = other.coeff(row, col);
-    }
-
-    inline Scalar operator()(Index row, Index col) const
-    {
-      check_coordinates(row, col);
-      return coeff(row,col);
-    }
-    inline Scalar& operator()(Index row, Index col)
-    {
-      check_coordinates(row, col);
-      return coeffRef(row,col);
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    inline const Derived& derived() const { return *static_cast<const Derived*>(this); }
-    inline Derived& derived() { return *static_cast<Derived*>(this); }
-    #endif // not EIGEN_PARSED_BY_DOXYGEN
-
-    template<typename DenseDerived>
-    void evalTo(MatrixBase<DenseDerived> &other) const;
-    template<typename DenseDerived>
-    void evalToLazy(MatrixBase<DenseDerived> &other) const;
-
-    DenseMatrixType toDenseMatrix() const
-    {
-      DenseMatrixType res(rows(), cols());
-      evalToLazy(res);
-      return res;
-    }
-
-  protected:
-
-    void check_coordinates(Index row, Index col) const
-    {
-      EIGEN_ONLY_USED_FOR_DEBUG(row);
-      EIGEN_ONLY_USED_FOR_DEBUG(col);
-      eigen_assert(col>=0 && col<cols() && row>=0 && row<rows());
-      const int mode = int(Mode) & ~SelfAdjoint;
-      EIGEN_ONLY_USED_FOR_DEBUG(mode);
-      eigen_assert((mode==Upper && col>=row)
-                || (mode==Lower && col<=row)
-                || ((mode==StrictlyUpper || mode==UnitUpper) && col>row)
-                || ((mode==StrictlyLower || mode==UnitLower) && col<row));
-    }
-
-    #ifdef EIGEN_INTERNAL_DEBUGGING
-    void check_coordinates_internal(Index row, Index col) const
-    {
-      check_coordinates(row, col);
-    }
-    #else
-    void check_coordinates_internal(Index , Index ) const {}
-    #endif
-
-};
-
-/** \class TriangularView
-  * \ingroup Core_Module
-  *
-  * \brief Base class for triangular part in a matrix
-  *
-  * \param MatrixType the type of the object in which we are taking the triangular part
-  * \param Mode the kind of triangular matrix expression to construct. Can be #Upper,
-  *             #Lower, #UnitUpper, #UnitLower, #StrictlyUpper, or #StrictlyLower.
-  *             This is in fact a bit field; it must have either #Upper or #Lower, 
-  *             and additionnaly it may have #UnitDiag or #ZeroDiag or neither.
-  *
-  * This class represents a triangular part of a matrix, not necessarily square. Strictly speaking, for rectangular
-  * matrices one should speak of "trapezoid" parts. This class is the return type
-  * of MatrixBase::triangularView() and most of the time this is the only way it is used.
-  *
-  * \sa MatrixBase::triangularView()
-  */
-namespace internal {
-template<typename MatrixType, unsigned int _Mode>
-struct traits<TriangularView<MatrixType, _Mode> > : traits<MatrixType>
-{
-  typedef typename nested<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_reference<MatrixTypeNested>::type MatrixTypeNestedNonRef;
-  typedef typename remove_all<MatrixTypeNested>::type MatrixTypeNestedCleaned;
-  typedef MatrixType ExpressionType;
-  typedef typename MatrixType::PlainObject DenseMatrixType;
-  enum {
-    Mode = _Mode,
-    Flags = (MatrixTypeNestedCleaned::Flags & (HereditaryBits) & (~(PacketAccessBit | DirectAccessBit | LinearAccessBit))) | Mode,
-    CoeffReadCost = MatrixTypeNestedCleaned::CoeffReadCost
-  };
-};
-}
-
-template<int Mode, bool LhsIsTriangular,
-         typename Lhs, bool LhsIsVector,
-         typename Rhs, bool RhsIsVector>
-struct TriangularProduct;
-
-template<typename _MatrixType, unsigned int _Mode> class TriangularView
-  : public TriangularBase<TriangularView<_MatrixType, _Mode> >
-{
-  public:
-
-    typedef TriangularBase<TriangularView> Base;
-    typedef typename internal::traits<TriangularView>::Scalar Scalar;
-
-    typedef _MatrixType MatrixType;
-    typedef typename internal::traits<TriangularView>::DenseMatrixType DenseMatrixType;
-    typedef DenseMatrixType PlainObject;
-
-  protected:
-    typedef typename internal::traits<TriangularView>::MatrixTypeNested MatrixTypeNested;
-    typedef typename internal::traits<TriangularView>::MatrixTypeNestedNonRef MatrixTypeNestedNonRef;
-    typedef typename internal::traits<TriangularView>::MatrixTypeNestedCleaned MatrixTypeNestedCleaned;
-
-    typedef typename internal::remove_all<typename MatrixType::ConjugateReturnType>::type MatrixConjugateReturnType;
-    
-  public:
-    using Base::evalToLazy;
-  
-
-    typedef typename internal::traits<TriangularView>::StorageKind StorageKind;
-    typedef typename internal::traits<TriangularView>::Index Index;
-
-    enum {
-      Mode = _Mode,
-      TransposeMode = (Mode & Upper ? Lower : 0)
-                    | (Mode & Lower ? Upper : 0)
-                    | (Mode & (UnitDiag))
-                    | (Mode & (ZeroDiag))
-    };
-
-    inline TriangularView(const MatrixType& matrix) : m_matrix(matrix)
-    {}
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-    inline Index outerStride() const { return m_matrix.outerStride(); }
-    inline Index innerStride() const { return m_matrix.innerStride(); }
-
-    /** \sa MatrixBase::operator+=() */
-    template<typename Other> TriangularView&  operator+=(const DenseBase<Other>& other) { return *this = m_matrix + other.derived(); }
-    /** \sa MatrixBase::operator-=() */
-    template<typename Other> TriangularView&  operator-=(const DenseBase<Other>& other) { return *this = m_matrix - other.derived(); }
-    /** \sa MatrixBase::operator*=() */
-    TriangularView&  operator*=(const typename internal::traits<MatrixType>::Scalar& other) { return *this = m_matrix * other; }
-    /** \sa MatrixBase::operator/=() */
-    TriangularView&  operator/=(const typename internal::traits<MatrixType>::Scalar& other) { return *this = m_matrix / other; }
-
-    /** \sa MatrixBase::fill() */
-    void fill(const Scalar& value) { setConstant(value); }
-    /** \sa MatrixBase::setConstant() */
-    TriangularView& setConstant(const Scalar& value)
-    { return *this = MatrixType::Constant(rows(), cols(), value); }
-    /** \sa MatrixBase::setZero() */
-    TriangularView& setZero() { return setConstant(Scalar(0)); }
-    /** \sa MatrixBase::setOnes() */
-    TriangularView& setOnes() { return setConstant(Scalar(1)); }
-
-    /** \sa MatrixBase::coeff()
-      * \warning the coordinates must fit into the referenced triangular part
-      */
-    inline Scalar coeff(Index row, Index col) const
-    {
-      Base::check_coordinates_internal(row, col);
-      return m_matrix.coeff(row, col);
-    }
-
-    /** \sa MatrixBase::coeffRef()
-      * \warning the coordinates must fit into the referenced triangular part
-      */
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      Base::check_coordinates_internal(row, col);
-      return m_matrix.const_cast_derived().coeffRef(row, col);
-    }
-
-    const MatrixTypeNestedCleaned& nestedExpression() const { return m_matrix; }
-    MatrixTypeNestedCleaned& nestedExpression() { return *const_cast<MatrixTypeNestedCleaned*>(&m_matrix); }
-
-    /** Assigns a triangular matrix to a triangular part of a dense matrix */
-    template<typename OtherDerived>
-    TriangularView& operator=(const TriangularBase<OtherDerived>& other);
-
-    template<typename OtherDerived>
-    TriangularView& operator=(const MatrixBase<OtherDerived>& other);
-
-    TriangularView& operator=(const TriangularView& other)
-    { return *this = other.nestedExpression(); }
-
-    template<typename OtherDerived>
-    void lazyAssign(const TriangularBase<OtherDerived>& other);
-
-    template<typename OtherDerived>
-    void lazyAssign(const MatrixBase<OtherDerived>& other);
-
-    /** \sa MatrixBase::conjugate() */
-    inline TriangularView<MatrixConjugateReturnType,Mode> conjugate()
-    { return m_matrix.conjugate(); }
-    /** \sa MatrixBase::conjugate() const */
-    inline const TriangularView<MatrixConjugateReturnType,Mode> conjugate() const
-    { return m_matrix.conjugate(); }
-
-    /** \sa MatrixBase::adjoint() const */
-    inline const TriangularView<const typename MatrixType::AdjointReturnType,TransposeMode> adjoint() const
-    { return m_matrix.adjoint(); }
-
-    /** \sa MatrixBase::transpose() */
-    inline TriangularView<Transpose<MatrixType>,TransposeMode> transpose()
-    {
-      EIGEN_STATIC_ASSERT_LVALUE(MatrixType)
-      return m_matrix.const_cast_derived().transpose();
-    }
-    /** \sa MatrixBase::transpose() const */
-    inline const TriangularView<Transpose<MatrixType>,TransposeMode> transpose() const
-    {
-      return m_matrix.transpose();
-    }
-
-    /** Efficient triangular matrix times vector/matrix product */
-    template<typename OtherDerived>
-    TriangularProduct<Mode, true, MatrixType, false, OtherDerived, OtherDerived::ColsAtCompileTime==1>
-    operator*(const MatrixBase<OtherDerived>& rhs) const
-    {
-      return TriangularProduct
-              <Mode, true, MatrixType, false, OtherDerived, OtherDerived::ColsAtCompileTime==1>
-              (m_matrix, rhs.derived());
-    }
-
-    /** Efficient vector/matrix times triangular matrix product */
-    template<typename OtherDerived> friend
-    TriangularProduct<Mode, false, OtherDerived, OtherDerived::RowsAtCompileTime==1, MatrixType, false>
-    operator*(const MatrixBase<OtherDerived>& lhs, const TriangularView& rhs)
-    {
-      return TriangularProduct
-              <Mode, false, OtherDerived, OtherDerived::RowsAtCompileTime==1, MatrixType, false>
-              (lhs.derived(),rhs.m_matrix);
-    }
-
-    #ifdef EIGEN2_SUPPORT
-    template<typename OtherDerived>
-    struct eigen2_product_return_type
-    {
-      typedef typename TriangularView<MatrixType,Mode>::DenseMatrixType DenseMatrixType;
-      typedef typename OtherDerived::PlainObject::DenseType OtherPlainObject;
-      typedef typename ProductReturnType<DenseMatrixType, OtherPlainObject>::Type ProdRetType;
-      typedef typename ProdRetType::PlainObject type;
-    };
-    template<typename OtherDerived>
-    const typename eigen2_product_return_type<OtherDerived>::type
-    operator*(const EigenBase<OtherDerived>& rhs) const
-    {
-      typename OtherDerived::PlainObject::DenseType rhsPlainObject;
-      rhs.evalTo(rhsPlainObject);
-      return this->toDenseMatrix() * rhsPlainObject;
-    }
-    template<typename OtherMatrixType>
-    bool isApprox(const TriangularView<OtherMatrixType, Mode>& other, typename NumTraits<Scalar>::Real precision = NumTraits<Scalar>::dummy_precision()) const
-    {
-      return this->toDenseMatrix().isApprox(other.toDenseMatrix(), precision);
-    }
-    template<typename OtherDerived>
-    bool isApprox(const MatrixBase<OtherDerived>& other, typename NumTraits<Scalar>::Real precision = NumTraits<Scalar>::dummy_precision()) const
-    {
-      return this->toDenseMatrix().isApprox(other, precision);
-    }
-    #endif // EIGEN2_SUPPORT
-
-    template<int Side, typename Other>
-    inline const internal::triangular_solve_retval<Side,TriangularView, Other>
-    solve(const MatrixBase<Other>& other) const;
-
-    template<int Side, typename OtherDerived>
-    void solveInPlace(const MatrixBase<OtherDerived>& other) const;
-
-    template<typename Other>
-    inline const internal::triangular_solve_retval<OnTheLeft,TriangularView, Other> 
-    solve(const MatrixBase<Other>& other) const
-    { return solve<OnTheLeft>(other); }
-
-    template<typename OtherDerived>
-    void solveInPlace(const MatrixBase<OtherDerived>& other) const
-    { return solveInPlace<OnTheLeft>(other); }
-
-    const SelfAdjointView<MatrixTypeNestedNonRef,Mode> selfadjointView() const
-    {
-      EIGEN_STATIC_ASSERT((Mode&UnitDiag)==0,PROGRAMMING_ERROR);
-      return SelfAdjointView<MatrixTypeNestedNonRef,Mode>(m_matrix);
-    }
-    SelfAdjointView<MatrixTypeNestedNonRef,Mode> selfadjointView()
-    {
-      EIGEN_STATIC_ASSERT((Mode&UnitDiag)==0,PROGRAMMING_ERROR);
-      return SelfAdjointView<MatrixTypeNestedNonRef,Mode>(m_matrix);
-    }
-
-    template<typename OtherDerived>
-    void swap(TriangularBase<OtherDerived> const & other)
-    {
-      TriangularView<SwapWrapper<MatrixType>,Mode>(const_cast<MatrixType&>(m_matrix)).lazyAssign(other.derived());
-    }
-
-    template<typename OtherDerived>
-    void swap(MatrixBase<OtherDerived> const & other)
-    {
-      SwapWrapper<MatrixType> swaper(const_cast<MatrixType&>(m_matrix));
-      TriangularView<SwapWrapper<MatrixType>,Mode>(swaper).lazyAssign(other.derived());
-    }
-
-    Scalar determinant() const
-    {
-      if (Mode & UnitDiag)
-        return 1;
-      else if (Mode & ZeroDiag)
-        return 0;
-      else
-        return m_matrix.diagonal().prod();
-    }
-    
-    // TODO simplify the following:
-    template<typename ProductDerived, typename Lhs, typename Rhs>
-    EIGEN_STRONG_INLINE TriangularView& operator=(const ProductBase<ProductDerived, Lhs,Rhs>& other)
-    {
-      setZero();
-      return assignProduct(other.derived(),1);
-    }
-    
-    template<typename ProductDerived, typename Lhs, typename Rhs>
-    EIGEN_STRONG_INLINE TriangularView& operator+=(const ProductBase<ProductDerived, Lhs,Rhs>& other)
-    {
-      return assignProduct(other.derived(),1);
-    }
-    
-    template<typename ProductDerived, typename Lhs, typename Rhs>
-    EIGEN_STRONG_INLINE TriangularView& operator-=(const ProductBase<ProductDerived, Lhs,Rhs>& other)
-    {
-      return assignProduct(other.derived(),-1);
-    }
-    
-    
-    template<typename ProductDerived>
-    EIGEN_STRONG_INLINE TriangularView& operator=(const ScaledProduct<ProductDerived>& other)
-    {
-      setZero();
-      return assignProduct(other.derived(),other.alpha());
-    }
-    
-    template<typename ProductDerived>
-    EIGEN_STRONG_INLINE TriangularView& operator+=(const ScaledProduct<ProductDerived>& other)
-    {
-      return assignProduct(other.derived(),other.alpha());
-    }
-    
-    template<typename ProductDerived>
-    EIGEN_STRONG_INLINE TriangularView& operator-=(const ScaledProduct<ProductDerived>& other)
-    {
-      return assignProduct(other.derived(),-other.alpha());
-    }
-    
-  protected:
-    
-    template<typename ProductDerived, typename Lhs, typename Rhs>
-    EIGEN_STRONG_INLINE TriangularView& assignProduct(const ProductBase<ProductDerived, Lhs,Rhs>& prod, const Scalar& alpha);
-    
-    template<int Mode, bool LhsIsTriangular,
-         typename Lhs, bool LhsIsVector,
-         typename Rhs, bool RhsIsVector>
-    EIGEN_STRONG_INLINE TriangularView& assignProduct(const TriangularProduct<Mode, LhsIsTriangular, Lhs, LhsIsVector, Rhs, RhsIsVector>& prod, const Scalar& alpha)
-    {
-      lazyAssign(alpha*prod.eval());
-      return *this;
-    }
-
-    MatrixTypeNested m_matrix;
-};
-
-/***************************************************************************
-* Implementation of triangular evaluation/assignment
-***************************************************************************/
-
-namespace internal {
-
-template<typename Derived1, typename Derived2, unsigned int Mode, int UnrollCount, bool ClearOpposite>
-struct triangular_assignment_selector
-{
-  enum {
-    col = (UnrollCount-1) / Derived1::RowsAtCompileTime,
-    row = (UnrollCount-1) % Derived1::RowsAtCompileTime
-  };
-  
-  typedef typename Derived1::Scalar Scalar;
-
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    triangular_assignment_selector<Derived1, Derived2, Mode, UnrollCount-1, ClearOpposite>::run(dst, src);
-
-    eigen_assert( Mode == Upper || Mode == Lower
-            || Mode == StrictlyUpper || Mode == StrictlyLower
-            || Mode == UnitUpper || Mode == UnitLower);
-    if((Mode == Upper && row <= col)
-    || (Mode == Lower && row >= col)
-    || (Mode == StrictlyUpper && row < col)
-    || (Mode == StrictlyLower && row > col)
-    || (Mode == UnitUpper && row < col)
-    || (Mode == UnitLower && row > col))
-      dst.copyCoeff(row, col, src);
-    else if(ClearOpposite)
-    {
-      if (Mode&UnitDiag && row==col)
-        dst.coeffRef(row, col) = Scalar(1);
-      else
-        dst.coeffRef(row, col) = Scalar(0);
-    }
-  }
-};
-
-// prevent buggy user code from causing an infinite recursion
-template<typename Derived1, typename Derived2, unsigned int Mode, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, Mode, 0, ClearOpposite>
-{
-  static inline void run(Derived1 &, const Derived2 &) {}
-};
-
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, Upper, Dynamic, ClearOpposite>
-{
-  typedef typename Derived1::Index Index;
-  typedef typename Derived1::Scalar Scalar;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    for(Index j = 0; j < dst.cols(); ++j)
-    {
-      Index maxi = (std::min)(j, dst.rows()-1);
-      for(Index i = 0; i <= maxi; ++i)
-        dst.copyCoeff(i, j, src);
-      if (ClearOpposite)
-        for(Index i = maxi+1; i < dst.rows(); ++i)
-          dst.coeffRef(i, j) = Scalar(0);
-    }
-  }
-};
-
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, Lower, Dynamic, ClearOpposite>
-{
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    for(Index j = 0; j < dst.cols(); ++j)
-    {
-      for(Index i = j; i < dst.rows(); ++i)
-        dst.copyCoeff(i, j, src);
-      Index maxi = (std::min)(j, dst.rows());
-      if (ClearOpposite)
-        for(Index i = 0; i < maxi; ++i)
-          dst.coeffRef(i, j) = static_cast<typename Derived1::Scalar>(0);
-    }
-  }
-};
-
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, StrictlyUpper, Dynamic, ClearOpposite>
-{
-  typedef typename Derived1::Index Index;
-  typedef typename Derived1::Scalar Scalar;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    for(Index j = 0; j < dst.cols(); ++j)
-    {
-      Index maxi = (std::min)(j, dst.rows());
-      for(Index i = 0; i < maxi; ++i)
-        dst.copyCoeff(i, j, src);
-      if (ClearOpposite)
-        for(Index i = maxi; i < dst.rows(); ++i)
-          dst.coeffRef(i, j) = Scalar(0);
-    }
-  }
-};
-
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, StrictlyLower, Dynamic, ClearOpposite>
-{
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    for(Index j = 0; j < dst.cols(); ++j)
-    {
-      for(Index i = j+1; i < dst.rows(); ++i)
-        dst.copyCoeff(i, j, src);
-      Index maxi = (std::min)(j, dst.rows()-1);
-      if (ClearOpposite)
-        for(Index i = 0; i <= maxi; ++i)
-          dst.coeffRef(i, j) = static_cast<typename Derived1::Scalar>(0);
-    }
-  }
-};
-
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, UnitUpper, Dynamic, ClearOpposite>
-{
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    for(Index j = 0; j < dst.cols(); ++j)
-    {
-      Index maxi = (std::min)(j, dst.rows());
-      for(Index i = 0; i < maxi; ++i)
-        dst.copyCoeff(i, j, src);
-      if (ClearOpposite)
-      {
-        for(Index i = maxi+1; i < dst.rows(); ++i)
-          dst.coeffRef(i, j) = 0;
-      }
-    }
-    dst.diagonal().setOnes();
-  }
-};
-template<typename Derived1, typename Derived2, bool ClearOpposite>
-struct triangular_assignment_selector<Derived1, Derived2, UnitLower, Dynamic, ClearOpposite>
-{
-  typedef typename Derived1::Index Index;
-  static inline void run(Derived1 &dst, const Derived2 &src)
-  {
-    for(Index j = 0; j < dst.cols(); ++j)
-    {
-      Index maxi = (std::min)(j, dst.rows());
-      for(Index i = maxi+1; i < dst.rows(); ++i)
-        dst.copyCoeff(i, j, src);
-      if (ClearOpposite)
-      {
-        for(Index i = 0; i < maxi; ++i)
-          dst.coeffRef(i, j) = 0;
-      }
-    }
-    dst.diagonal().setOnes();
-  }
-};
-
-} // end namespace internal
-
-// FIXME should we keep that possibility
-template<typename MatrixType, unsigned int Mode>
-template<typename OtherDerived>
-inline TriangularView<MatrixType, Mode>&
-TriangularView<MatrixType, Mode>::operator=(const MatrixBase<OtherDerived>& other)
-{
-  if(OtherDerived::Flags & EvalBeforeAssigningBit)
-  {
-    typename internal::plain_matrix_type<OtherDerived>::type other_evaluated(other.rows(), other.cols());
-    other_evaluated.template triangularView<Mode>().lazyAssign(other.derived());
-    lazyAssign(other_evaluated);
-  }
-  else
-    lazyAssign(other.derived());
-  return *this;
-}
-
-// FIXME should we keep that possibility
-template<typename MatrixType, unsigned int Mode>
-template<typename OtherDerived>
-void TriangularView<MatrixType, Mode>::lazyAssign(const MatrixBase<OtherDerived>& other)
-{
-  enum {
-    unroll = MatrixType::SizeAtCompileTime != Dynamic
-          && internal::traits<OtherDerived>::CoeffReadCost != Dynamic
-          && MatrixType::SizeAtCompileTime*internal::traits<OtherDerived>::CoeffReadCost/2 <= EIGEN_UNROLLING_LIMIT
-  };
-  eigen_assert(m_matrix.rows() == other.rows() && m_matrix.cols() == other.cols());
-
-  internal::triangular_assignment_selector
-    <MatrixType, OtherDerived, int(Mode),
-    unroll ? int(MatrixType::SizeAtCompileTime) : Dynamic,
-    false // do not change the opposite triangular part
-    >::run(m_matrix.const_cast_derived(), other.derived());
-}
-
-
-
-template<typename MatrixType, unsigned int Mode>
-template<typename OtherDerived>
-inline TriangularView<MatrixType, Mode>&
-TriangularView<MatrixType, Mode>::operator=(const TriangularBase<OtherDerived>& other)
-{
-  eigen_assert(Mode == int(OtherDerived::Mode));
-  if(internal::traits<OtherDerived>::Flags & EvalBeforeAssigningBit)
-  {
-    typename OtherDerived::DenseMatrixType other_evaluated(other.rows(), other.cols());
-    other_evaluated.template triangularView<Mode>().lazyAssign(other.derived().nestedExpression());
-    lazyAssign(other_evaluated);
-  }
-  else
-    lazyAssign(other.derived().nestedExpression());
-  return *this;
-}
-
-template<typename MatrixType, unsigned int Mode>
-template<typename OtherDerived>
-void TriangularView<MatrixType, Mode>::lazyAssign(const TriangularBase<OtherDerived>& other)
-{
-  enum {
-    unroll = MatrixType::SizeAtCompileTime != Dynamic
-                   && internal::traits<OtherDerived>::CoeffReadCost != Dynamic
-                   && MatrixType::SizeAtCompileTime * internal::traits<OtherDerived>::CoeffReadCost / 2
-                        <= EIGEN_UNROLLING_LIMIT
-  };
-  eigen_assert(m_matrix.rows() == other.rows() && m_matrix.cols() == other.cols());
-
-  internal::triangular_assignment_selector
-    <MatrixType, OtherDerived, int(Mode),
-    unroll ? int(MatrixType::SizeAtCompileTime) : Dynamic,
-    false // preserve the opposite triangular part
-    >::run(m_matrix.const_cast_derived(), other.derived().nestedExpression());
-}
-
-/***************************************************************************
-* Implementation of TriangularBase methods
-***************************************************************************/
-
-/** Assigns a triangular or selfadjoint matrix to a dense matrix.
-  * If the matrix is triangular, the opposite part is set to zero. */
-template<typename Derived>
-template<typename DenseDerived>
-void TriangularBase<Derived>::evalTo(MatrixBase<DenseDerived> &other) const
-{
-  if(internal::traits<Derived>::Flags & EvalBeforeAssigningBit)
-  {
-    typename internal::plain_matrix_type<Derived>::type other_evaluated(rows(), cols());
-    evalToLazy(other_evaluated);
-    other.derived().swap(other_evaluated);
-  }
-  else
-    evalToLazy(other.derived());
-}
-
-/** Assigns a triangular or selfadjoint matrix to a dense matrix.
-  * If the matrix is triangular, the opposite part is set to zero. */
-template<typename Derived>
-template<typename DenseDerived>
-void TriangularBase<Derived>::evalToLazy(MatrixBase<DenseDerived> &other) const
-{
-  enum {
-    unroll = DenseDerived::SizeAtCompileTime != Dynamic
-                   && internal::traits<Derived>::CoeffReadCost != Dynamic
-                   && DenseDerived::SizeAtCompileTime * internal::traits<Derived>::CoeffReadCost / 2
-                        <= EIGEN_UNROLLING_LIMIT
-  };
-  other.derived().resize(this->rows(), this->cols());
-
-  internal::triangular_assignment_selector
-    <DenseDerived, typename internal::traits<Derived>::MatrixTypeNestedCleaned, Derived::Mode,
-    unroll ? int(DenseDerived::SizeAtCompileTime) : Dynamic,
-    true // clear the opposite triangular part
-    >::run(other.derived(), derived().nestedExpression());
-}
-
-/***************************************************************************
-* Implementation of TriangularView methods
-***************************************************************************/
-
-/***************************************************************************
-* Implementation of MatrixBase methods
-***************************************************************************/
-
-#ifdef EIGEN2_SUPPORT
-
-// implementation of part<>(), including the SelfAdjoint case.
-
-namespace internal {
-template<typename MatrixType, unsigned int Mode>
-struct eigen2_part_return_type
-{
-  typedef TriangularView<MatrixType, Mode> type;
-};
-
-template<typename MatrixType>
-struct eigen2_part_return_type<MatrixType, SelfAdjoint>
-{
-  typedef SelfAdjointView<MatrixType, Upper> type;
-};
-}
-
-/** \deprecated use MatrixBase::triangularView() */
-template<typename Derived>
-template<unsigned int Mode>
-const typename internal::eigen2_part_return_type<Derived, Mode>::type MatrixBase<Derived>::part() const
-{
-  return derived();
-}
-
-/** \deprecated use MatrixBase::triangularView() */
-template<typename Derived>
-template<unsigned int Mode>
-typename internal::eigen2_part_return_type<Derived, Mode>::type MatrixBase<Derived>::part()
-{
-  return derived();
-}
-#endif
-
-/**
-  * \returns an expression of a triangular view extracted from the current matrix
-  *
-  * The parameter \a Mode can have the following values: \c #Upper, \c #StrictlyUpper, \c #UnitUpper,
-  * \c #Lower, \c #StrictlyLower, \c #UnitLower.
-  *
-  * Example: \include MatrixBase_extract.cpp
-  * Output: \verbinclude MatrixBase_extract.out
-  *
-  * \sa class TriangularView
-  */
-template<typename Derived>
-template<unsigned int Mode>
-typename MatrixBase<Derived>::template TriangularViewReturnType<Mode>::Type
-MatrixBase<Derived>::triangularView()
-{
-  return derived();
-}
-
-/** This is the const version of MatrixBase::triangularView() */
-template<typename Derived>
-template<unsigned int Mode>
-typename MatrixBase<Derived>::template ConstTriangularViewReturnType<Mode>::Type
-MatrixBase<Derived>::triangularView() const
-{
-  return derived();
-}
-
-/** \returns true if *this is approximately equal to an upper triangular matrix,
-  *          within the precision given by \a prec.
-  *
-  * \sa isLowerTriangular()
-  */
-template<typename Derived>
-bool MatrixBase<Derived>::isUpperTriangular(const RealScalar& prec) const
-{
-  using std::abs;
-  RealScalar maxAbsOnUpperPart = static_cast<RealScalar>(-1);
-  for(Index j = 0; j < cols(); ++j)
-  {
-    Index maxi = (std::min)(j, rows()-1);
-    for(Index i = 0; i <= maxi; ++i)
-    {
-      RealScalar absValue = abs(coeff(i,j));
-      if(absValue > maxAbsOnUpperPart) maxAbsOnUpperPart = absValue;
-    }
-  }
-  RealScalar threshold = maxAbsOnUpperPart * prec;
-  for(Index j = 0; j < cols(); ++j)
-    for(Index i = j+1; i < rows(); ++i)
-      if(abs(coeff(i, j)) > threshold) return false;
-  return true;
-}
-
-/** \returns true if *this is approximately equal to a lower triangular matrix,
-  *          within the precision given by \a prec.
-  *
-  * \sa isUpperTriangular()
-  */
-template<typename Derived>
-bool MatrixBase<Derived>::isLowerTriangular(const RealScalar& prec) const
-{
-  using std::abs;
-  RealScalar maxAbsOnLowerPart = static_cast<RealScalar>(-1);
-  for(Index j = 0; j < cols(); ++j)
-    for(Index i = j; i < rows(); ++i)
-    {
-      RealScalar absValue = abs(coeff(i,j));
-      if(absValue > maxAbsOnLowerPart) maxAbsOnLowerPart = absValue;
-    }
-  RealScalar threshold = maxAbsOnLowerPart * prec;
-  for(Index j = 1; j < cols(); ++j)
-  {
-    Index maxi = (std::min)(j, rows()-1);
-    for(Index i = 0; i < maxi; ++i)
-      if(abs(coeff(i, j)) > threshold) return false;
-  }
-  return true;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRIANGULARMATRIX_H
diff --git a/lib/Eigen/src/Core/VectorBlock.h b/lib/Eigen/src/Core/VectorBlock.h
deleted file mode 100644
index 1a7330f3..00000000
--- a/lib/Eigen/src/Core/VectorBlock.h
+++ /dev/null
@@ -1,95 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_VECTORBLOCK_H
-#define EIGEN_VECTORBLOCK_H
-
-namespace Eigen { 
-
-/** \class VectorBlock
-  * \ingroup Core_Module
-  *
-  * \brief Expression of a fixed-size or dynamic-size sub-vector
-  *
-  * \param VectorType the type of the object in which we are taking a sub-vector
-  * \param Size size of the sub-vector we are taking at compile time (optional)
-  *
-  * This class represents an expression of either a fixed-size or dynamic-size sub-vector.
-  * It is the return type of DenseBase::segment(Index,Index) and DenseBase::segment<int>(Index) and
-  * most of the time this is the only way it is used.
-  *
-  * However, if you want to directly maniputate sub-vector expressions,
-  * for instance if you want to write a function returning such an expression, you
-  * will need to use this class.
-  *
-  * Here is an example illustrating the dynamic case:
-  * \include class_VectorBlock.cpp
-  * Output: \verbinclude class_VectorBlock.out
-  *
-  * \note Even though this expression has dynamic size, in the case where \a VectorType
-  * has fixed size, this expression inherits a fixed maximal size which means that evaluating
-  * it does not cause a dynamic memory allocation.
-  *
-  * Here is an example illustrating the fixed-size case:
-  * \include class_FixedVectorBlock.cpp
-  * Output: \verbinclude class_FixedVectorBlock.out
-  *
-  * \sa class Block, DenseBase::segment(Index,Index,Index,Index), DenseBase::segment(Index,Index)
-  */
-
-namespace internal {
-template<typename VectorType, int Size>
-struct traits<VectorBlock<VectorType, Size> >
-  : public traits<Block<VectorType,
-                     traits<VectorType>::Flags & RowMajorBit ? 1 : Size,
-                     traits<VectorType>::Flags & RowMajorBit ? Size : 1> >
-{
-};
-}
-
-template<typename VectorType, int Size> class VectorBlock
-  : public Block<VectorType,
-                     internal::traits<VectorType>::Flags & RowMajorBit ? 1 : Size,
-                     internal::traits<VectorType>::Flags & RowMajorBit ? Size : 1>
-{
-    typedef Block<VectorType,
-                     internal::traits<VectorType>::Flags & RowMajorBit ? 1 : Size,
-                     internal::traits<VectorType>::Flags & RowMajorBit ? Size : 1> Base;
-    enum {
-      IsColVector = !(internal::traits<VectorType>::Flags & RowMajorBit)
-    };
-  public:
-    EIGEN_DENSE_PUBLIC_INTERFACE(VectorBlock)
-
-    using Base::operator=;
-
-    /** Dynamic-size constructor
-      */
-    inline VectorBlock(VectorType& vector, Index start, Index size)
-      : Base(vector,
-             IsColVector ? start : 0, IsColVector ? 0 : start,
-             IsColVector ? size  : 1, IsColVector ? 1 : size)
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(VectorBlock);
-    }
-
-    /** Fixed-size constructor
-      */
-    inline VectorBlock(VectorType& vector, Index start)
-      : Base(vector, IsColVector ? start : 0, IsColVector ? 0 : start)
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(VectorBlock);
-    }
-};
-
-
-} // end namespace Eigen
-
-#endif // EIGEN_VECTORBLOCK_H
diff --git a/lib/Eigen/src/Core/VectorwiseOp.h b/lib/Eigen/src/Core/VectorwiseOp.h
deleted file mode 100644
index d5ab0366..00000000
--- a/lib/Eigen/src/Core/VectorwiseOp.h
+++ /dev/null
@@ -1,642 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PARTIAL_REDUX_H
-#define EIGEN_PARTIAL_REDUX_H
-
-namespace Eigen { 
-
-/** \class PartialReduxExpr
-  * \ingroup Core_Module
-  *
-  * \brief Generic expression of a partially reduxed matrix
-  *
-  * \tparam MatrixType the type of the matrix we are applying the redux operation
-  * \tparam MemberOp type of the member functor
-  * \tparam Direction indicates the direction of the redux (#Vertical or #Horizontal)
-  *
-  * This class represents an expression of a partial redux operator of a matrix.
-  * It is the return type of some VectorwiseOp functions,
-  * and most of the time this is the only way it is used.
-  *
-  * \sa class VectorwiseOp
-  */
-
-template< typename MatrixType, typename MemberOp, int Direction>
-class PartialReduxExpr;
-
-namespace internal {
-template<typename MatrixType, typename MemberOp, int Direction>
-struct traits<PartialReduxExpr<MatrixType, MemberOp, Direction> >
- : traits<MatrixType>
-{
-  typedef typename MemberOp::result_type Scalar;
-  typedef typename traits<MatrixType>::StorageKind StorageKind;
-  typedef typename traits<MatrixType>::XprKind XprKind;
-  typedef typename MatrixType::Scalar InputScalar;
-  typedef typename nested<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_all<MatrixTypeNested>::type _MatrixTypeNested;
-  enum {
-    RowsAtCompileTime = Direction==Vertical   ? 1 : MatrixType::RowsAtCompileTime,
-    ColsAtCompileTime = Direction==Horizontal ? 1 : MatrixType::ColsAtCompileTime,
-    MaxRowsAtCompileTime = Direction==Vertical   ? 1 : MatrixType::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = Direction==Horizontal ? 1 : MatrixType::MaxColsAtCompileTime,
-    Flags0 = (unsigned int)_MatrixTypeNested::Flags & HereditaryBits,
-    Flags = (Flags0 & ~RowMajorBit) | (RowsAtCompileTime == 1 ? RowMajorBit : 0),
-    TraversalSize = Direction==Vertical ? MatrixType::RowsAtCompileTime :  MatrixType::ColsAtCompileTime
-  };
-  #if EIGEN_GNUC_AT_LEAST(3,4)
-  typedef typename MemberOp::template Cost<InputScalar,int(TraversalSize)> CostOpType;
-  #else
-  typedef typename MemberOp::template Cost<InputScalar,TraversalSize> CostOpType;
-  #endif
-  enum {
-    CoeffReadCost = TraversalSize==Dynamic ? Dynamic
-                  : TraversalSize * traits<_MatrixTypeNested>::CoeffReadCost + int(CostOpType::value)
-  };
-};
-}
-
-template< typename MatrixType, typename MemberOp, int Direction>
-class PartialReduxExpr : internal::no_assignment_operator,
-  public internal::dense_xpr_base< PartialReduxExpr<MatrixType, MemberOp, Direction> >::type
-{
-  public:
-
-    typedef typename internal::dense_xpr_base<PartialReduxExpr>::type Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(PartialReduxExpr)
-    typedef typename internal::traits<PartialReduxExpr>::MatrixTypeNested MatrixTypeNested;
-    typedef typename internal::traits<PartialReduxExpr>::_MatrixTypeNested _MatrixTypeNested;
-
-    PartialReduxExpr(const MatrixType& mat, const MemberOp& func = MemberOp())
-      : m_matrix(mat), m_functor(func) {}
-
-    Index rows() const { return (Direction==Vertical   ? 1 : m_matrix.rows()); }
-    Index cols() const { return (Direction==Horizontal ? 1 : m_matrix.cols()); }
-
-    EIGEN_STRONG_INLINE const Scalar coeff(Index i, Index j) const
-    {
-      if (Direction==Vertical)
-        return m_functor(m_matrix.col(j));
-      else
-        return m_functor(m_matrix.row(i));
-    }
-
-    const Scalar coeff(Index index) const
-    {
-      if (Direction==Vertical)
-        return m_functor(m_matrix.col(index));
-      else
-        return m_functor(m_matrix.row(index));
-    }
-
-  protected:
-    MatrixTypeNested m_matrix;
-    const MemberOp m_functor;
-};
-
-#define EIGEN_MEMBER_FUNCTOR(MEMBER,COST)                               \
-  template <typename ResultType>                                        \
-  struct member_##MEMBER {                                              \
-    EIGEN_EMPTY_STRUCT_CTOR(member_##MEMBER)                            \
-    typedef ResultType result_type;                                     \
-    template<typename Scalar, int Size> struct Cost                     \
-    { enum { value = COST }; };                                         \
-    template<typename XprType>                                          \
-    EIGEN_STRONG_INLINE ResultType operator()(const XprType& mat) const \
-    { return mat.MEMBER(); } \
-  }
-
-namespace internal {
-
-EIGEN_MEMBER_FUNCTOR(squaredNorm, Size * NumTraits<Scalar>::MulCost + (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(norm, (Size+5) * NumTraits<Scalar>::MulCost + (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(stableNorm, (Size+5) * NumTraits<Scalar>::MulCost + (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(blueNorm, (Size+5) * NumTraits<Scalar>::MulCost + (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(hypotNorm, (Size-1) * functor_traits<scalar_hypot_op<Scalar> >::Cost );
-EIGEN_MEMBER_FUNCTOR(sum, (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(mean, (Size-1)*NumTraits<Scalar>::AddCost + NumTraits<Scalar>::MulCost);
-EIGEN_MEMBER_FUNCTOR(minCoeff, (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(maxCoeff, (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(all, (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(any, (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(count, (Size-1)*NumTraits<Scalar>::AddCost);
-EIGEN_MEMBER_FUNCTOR(prod, (Size-1)*NumTraits<Scalar>::MulCost);
-
-
-template <typename BinaryOp, typename Scalar>
-struct member_redux {
-  typedef typename result_of<
-                     BinaryOp(Scalar)
-                   >::type  result_type;
-  template<typename _Scalar, int Size> struct Cost
-  { enum { value = (Size-1) * functor_traits<BinaryOp>::Cost }; };
-  member_redux(const BinaryOp func) : m_functor(func) {}
-  template<typename Derived>
-  inline result_type operator()(const DenseBase<Derived>& mat) const
-  { return mat.redux(m_functor); }
-  const BinaryOp m_functor;
-};
-}
-
-/** \class VectorwiseOp
-  * \ingroup Core_Module
-  *
-  * \brief Pseudo expression providing partial reduction operations
-  *
-  * \param ExpressionType the type of the object on which to do partial reductions
-  * \param Direction indicates the direction of the redux (#Vertical or #Horizontal)
-  *
-  * This class represents a pseudo expression with partial reduction features.
-  * It is the return type of DenseBase::colwise() and DenseBase::rowwise()
-  * and most of the time this is the only way it is used.
-  *
-  * Example: \include MatrixBase_colwise.cpp
-  * Output: \verbinclude MatrixBase_colwise.out
-  *
-  * \sa DenseBase::colwise(), DenseBase::rowwise(), class PartialReduxExpr
-  */
-template<typename ExpressionType, int Direction> class VectorwiseOp
-{
-  public:
-
-    typedef typename ExpressionType::Scalar Scalar;
-    typedef typename ExpressionType::RealScalar RealScalar;
-    typedef typename ExpressionType::Index Index;
-    typedef typename internal::conditional<internal::must_nest_by_value<ExpressionType>::ret,
-        ExpressionType, ExpressionType&>::type ExpressionTypeNested;
-    typedef typename internal::remove_all<ExpressionTypeNested>::type ExpressionTypeNestedCleaned;
-
-    template<template<typename _Scalar> class Functor,
-                      typename Scalar=typename internal::traits<ExpressionType>::Scalar> struct ReturnType
-    {
-      typedef PartialReduxExpr<ExpressionType,
-                               Functor<Scalar>,
-                               Direction
-                              > Type;
-    };
-
-    template<typename BinaryOp> struct ReduxReturnType
-    {
-      typedef PartialReduxExpr<ExpressionType,
-                               internal::member_redux<BinaryOp,typename internal::traits<ExpressionType>::Scalar>,
-                               Direction
-                              > Type;
-    };
-
-    enum {
-      IsVertical   = (Direction==Vertical) ? 1 : 0,
-      IsHorizontal = (Direction==Horizontal) ? 1 : 0
-    };
-
-  protected:
-
-    /** \internal
-      * \returns the i-th subvector according to the \c Direction */
-    typedef typename internal::conditional<Direction==Vertical,
-                               typename ExpressionType::ColXpr,
-                               typename ExpressionType::RowXpr>::type SubVector;
-    SubVector subVector(Index i)
-    {
-      return SubVector(m_matrix.derived(),i);
-    }
-
-    /** \internal
-      * \returns the number of subvectors in the direction \c Direction */
-    Index subVectors() const
-    { return Direction==Vertical?m_matrix.cols():m_matrix.rows(); }
-
-    template<typename OtherDerived> struct ExtendedType {
-      typedef Replicate<OtherDerived,
-                        Direction==Vertical   ? 1 : ExpressionType::RowsAtCompileTime,
-                        Direction==Horizontal ? 1 : ExpressionType::ColsAtCompileTime> Type;
-    };
-
-    /** \internal
-      * Replicates a vector to match the size of \c *this */
-    template<typename OtherDerived>
-    typename ExtendedType<OtherDerived>::Type
-    extendedTo(const DenseBase<OtherDerived>& other) const
-    {
-      EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(Direction==Vertical, OtherDerived::MaxColsAtCompileTime==1),
-                          YOU_PASSED_A_ROW_VECTOR_BUT_A_COLUMN_VECTOR_WAS_EXPECTED)
-      EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(Direction==Horizontal, OtherDerived::MaxRowsAtCompileTime==1),
-                          YOU_PASSED_A_COLUMN_VECTOR_BUT_A_ROW_VECTOR_WAS_EXPECTED)
-      return typename ExtendedType<OtherDerived>::Type
-                      (other.derived(),
-                       Direction==Vertical   ? 1 : m_matrix.rows(),
-                       Direction==Horizontal ? 1 : m_matrix.cols());
-    }
-    
-    template<typename OtherDerived> struct OppositeExtendedType {
-      typedef Replicate<OtherDerived,
-                        Direction==Horizontal ? 1 : ExpressionType::RowsAtCompileTime,
-                        Direction==Vertical   ? 1 : ExpressionType::ColsAtCompileTime> Type;
-    };
-
-    /** \internal
-      * Replicates a vector in the opposite direction to match the size of \c *this */
-    template<typename OtherDerived>
-    typename OppositeExtendedType<OtherDerived>::Type
-    extendedToOpposite(const DenseBase<OtherDerived>& other) const
-    {
-      EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(Direction==Horizontal, OtherDerived::MaxColsAtCompileTime==1),
-                          YOU_PASSED_A_ROW_VECTOR_BUT_A_COLUMN_VECTOR_WAS_EXPECTED)
-      EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(Direction==Vertical, OtherDerived::MaxRowsAtCompileTime==1),
-                          YOU_PASSED_A_COLUMN_VECTOR_BUT_A_ROW_VECTOR_WAS_EXPECTED)
-      return typename OppositeExtendedType<OtherDerived>::Type
-                      (other.derived(),
-                       Direction==Horizontal  ? 1 : m_matrix.rows(),
-                       Direction==Vertical    ? 1 : m_matrix.cols());
-    }
-
-  public:
-
-    inline VectorwiseOp(ExpressionType& matrix) : m_matrix(matrix) {}
-
-    /** \internal */
-    inline const ExpressionType& _expression() const { return m_matrix; }
-
-    /** \returns a row or column vector expression of \c *this reduxed by \a func
-      *
-      * The template parameter \a BinaryOp is the type of the functor
-      * of the custom redux operator. Note that func must be an associative operator.
-      *
-      * \sa class VectorwiseOp, DenseBase::colwise(), DenseBase::rowwise()
-      */
-    template<typename BinaryOp>
-    const typename ReduxReturnType<BinaryOp>::Type
-    redux(const BinaryOp& func = BinaryOp()) const
-    { return typename ReduxReturnType<BinaryOp>::Type(_expression(), func); }
-
-    /** \returns a row (or column) vector expression of the smallest coefficient
-      * of each column (or row) of the referenced expression.
-      * 
-      * \warning the result is undefined if \c *this contains NaN.
-      *
-      * Example: \include PartialRedux_minCoeff.cpp
-      * Output: \verbinclude PartialRedux_minCoeff.out
-      *
-      * \sa DenseBase::minCoeff() */
-    const typename ReturnType<internal::member_minCoeff>::Type minCoeff() const
-    { return _expression(); }
-
-    /** \returns a row (or column) vector expression of the largest coefficient
-      * of each column (or row) of the referenced expression.
-      * 
-      * \warning the result is undefined if \c *this contains NaN.
-      *
-      * Example: \include PartialRedux_maxCoeff.cpp
-      * Output: \verbinclude PartialRedux_maxCoeff.out
-      *
-      * \sa DenseBase::maxCoeff() */
-    const typename ReturnType<internal::member_maxCoeff>::Type maxCoeff() const
-    { return _expression(); }
-
-    /** \returns a row (or column) vector expression of the squared norm
-      * of each column (or row) of the referenced expression.
-      *
-      * Example: \include PartialRedux_squaredNorm.cpp
-      * Output: \verbinclude PartialRedux_squaredNorm.out
-      *
-      * \sa DenseBase::squaredNorm() */
-    const typename ReturnType<internal::member_squaredNorm,RealScalar>::Type squaredNorm() const
-    { return _expression(); }
-
-    /** \returns a row (or column) vector expression of the norm
-      * of each column (or row) of the referenced expression.
-      *
-      * Example: \include PartialRedux_norm.cpp
-      * Output: \verbinclude PartialRedux_norm.out
-      *
-      * \sa DenseBase::norm() */
-    const typename ReturnType<internal::member_norm,RealScalar>::Type norm() const
-    { return _expression(); }
-
-
-    /** \returns a row (or column) vector expression of the norm
-      * of each column (or row) of the referenced expression, using
-      * blue's algorithm.
-      *
-      * \sa DenseBase::blueNorm() */
-    const typename ReturnType<internal::member_blueNorm,RealScalar>::Type blueNorm() const
-    { return _expression(); }
-
-
-    /** \returns a row (or column) vector expression of the norm
-      * of each column (or row) of the referenced expression, avoiding
-      * underflow and overflow.
-      *
-      * \sa DenseBase::stableNorm() */
-    const typename ReturnType<internal::member_stableNorm,RealScalar>::Type stableNorm() const
-    { return _expression(); }
-
-
-    /** \returns a row (or column) vector expression of the norm
-      * of each column (or row) of the referenced expression, avoiding
-      * underflow and overflow using a concatenation of hypot() calls.
-      *
-      * \sa DenseBase::hypotNorm() */
-    const typename ReturnType<internal::member_hypotNorm,RealScalar>::Type hypotNorm() const
-    { return _expression(); }
-
-    /** \returns a row (or column) vector expression of the sum
-      * of each column (or row) of the referenced expression.
-      *
-      * Example: \include PartialRedux_sum.cpp
-      * Output: \verbinclude PartialRedux_sum.out
-      *
-      * \sa DenseBase::sum() */
-    const typename ReturnType<internal::member_sum>::Type sum() const
-    { return _expression(); }
-
-    /** \returns a row (or column) vector expression of the mean
-    * of each column (or row) of the referenced expression.
-    *
-    * \sa DenseBase::mean() */
-    const typename ReturnType<internal::member_mean>::Type mean() const
-    { return _expression(); }
-
-    /** \returns a row (or column) vector expression representing
-      * whether \b all coefficients of each respective column (or row) are \c true.
-      *
-      * \sa DenseBase::all() */
-    const typename ReturnType<internal::member_all>::Type all() const
-    { return _expression(); }
-
-    /** \returns a row (or column) vector expression representing
-      * whether \b at \b least one coefficient of each respective column (or row) is \c true.
-      *
-      * \sa DenseBase::any() */
-    const typename ReturnType<internal::member_any>::Type any() const
-    { return _expression(); }
-
-    /** \returns a row (or column) vector expression representing
-      * the number of \c true coefficients of each respective column (or row).
-      *
-      * Example: \include PartialRedux_count.cpp
-      * Output: \verbinclude PartialRedux_count.out
-      *
-      * \sa DenseBase::count() */
-    const PartialReduxExpr<ExpressionType, internal::member_count<Index>, Direction> count() const
-    { return _expression(); }
-
-    /** \returns a row (or column) vector expression of the product
-      * of each column (or row) of the referenced expression.
-      *
-      * Example: \include PartialRedux_prod.cpp
-      * Output: \verbinclude PartialRedux_prod.out
-      *
-      * \sa DenseBase::prod() */
-    const typename ReturnType<internal::member_prod>::Type prod() const
-    { return _expression(); }
-
-
-    /** \returns a matrix expression
-      * where each column (or row) are reversed.
-      *
-      * Example: \include Vectorwise_reverse.cpp
-      * Output: \verbinclude Vectorwise_reverse.out
-      *
-      * \sa DenseBase::reverse() */
-    const Reverse<ExpressionType, Direction> reverse() const
-    { return Reverse<ExpressionType, Direction>( _expression() ); }
-
-    typedef Replicate<ExpressionType,Direction==Vertical?Dynamic:1,Direction==Horizontal?Dynamic:1> ReplicateReturnType;
-    const ReplicateReturnType replicate(Index factor) const;
-
-    /**
-      * \return an expression of the replication of each column (or row) of \c *this
-      *
-      * Example: \include DirectionWise_replicate.cpp
-      * Output: \verbinclude DirectionWise_replicate.out
-      *
-      * \sa VectorwiseOp::replicate(Index), DenseBase::replicate(), class Replicate
-      */
-    // NOTE implemented here because of sunstudio's compilation errors
-    template<int Factor> const Replicate<ExpressionType,(IsVertical?Factor:1),(IsHorizontal?Factor:1)>
-    replicate(Index factor = Factor) const
-    {
-      return Replicate<ExpressionType,Direction==Vertical?Factor:1,Direction==Horizontal?Factor:1>
-          (_expression(),Direction==Vertical?factor:1,Direction==Horizontal?factor:1);
-    }
-
-/////////// Artithmetic operators ///////////
-
-    /** Copies the vector \a other to each subvector of \c *this */
-    template<typename OtherDerived>
-    ExpressionType& operator=(const DenseBase<OtherDerived>& other)
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-      EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
-      //eigen_assert((m_matrix.isNull()) == (other.isNull())); FIXME
-      return const_cast<ExpressionType&>(m_matrix = extendedTo(other.derived()));
-    }
-
-    /** Adds the vector \a other to each subvector of \c *this */
-    template<typename OtherDerived>
-    ExpressionType& operator+=(const DenseBase<OtherDerived>& other)
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-      EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
-      return const_cast<ExpressionType&>(m_matrix += extendedTo(other.derived()));
-    }
-
-    /** Substracts the vector \a other to each subvector of \c *this */
-    template<typename OtherDerived>
-    ExpressionType& operator-=(const DenseBase<OtherDerived>& other)
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-      EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
-      return const_cast<ExpressionType&>(m_matrix -= extendedTo(other.derived()));
-    }
-
-    /** Multiples each subvector of \c *this by the vector \a other */
-    template<typename OtherDerived>
-    ExpressionType& operator*=(const DenseBase<OtherDerived>& other)
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-      EIGEN_STATIC_ASSERT_ARRAYXPR(ExpressionType)
-      EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
-      m_matrix *= extendedTo(other.derived());
-      return const_cast<ExpressionType&>(m_matrix);
-    }
-
-    /** Divides each subvector of \c *this by the vector \a other */
-    template<typename OtherDerived>
-    ExpressionType& operator/=(const DenseBase<OtherDerived>& other)
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-      EIGEN_STATIC_ASSERT_ARRAYXPR(ExpressionType)
-      EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
-      m_matrix /= extendedTo(other.derived());
-      return const_cast<ExpressionType&>(m_matrix);
-    }
-
-    /** Returns the expression of the sum of the vector \a other to each subvector of \c *this */
-    template<typename OtherDerived> EIGEN_STRONG_INLINE
-    CwiseBinaryOp<internal::scalar_sum_op<Scalar>,
-                  const ExpressionTypeNestedCleaned,
-                  const typename ExtendedType<OtherDerived>::Type>
-    operator+(const DenseBase<OtherDerived>& other) const
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-      EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
-      return m_matrix + extendedTo(other.derived());
-    }
-
-    /** Returns the expression of the difference between each subvector of \c *this and the vector \a other */
-    template<typename OtherDerived>
-    CwiseBinaryOp<internal::scalar_difference_op<Scalar>,
-                  const ExpressionTypeNestedCleaned,
-                  const typename ExtendedType<OtherDerived>::Type>
-    operator-(const DenseBase<OtherDerived>& other) const
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-      EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
-      return m_matrix - extendedTo(other.derived());
-    }
-
-    /** Returns the expression where each subvector is the product of the vector \a other
-      * by the corresponding subvector of \c *this */
-    template<typename OtherDerived> EIGEN_STRONG_INLINE
-    CwiseBinaryOp<internal::scalar_product_op<Scalar>,
-                  const ExpressionTypeNestedCleaned,
-                  const typename ExtendedType<OtherDerived>::Type>
-    operator*(const DenseBase<OtherDerived>& other) const
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-      EIGEN_STATIC_ASSERT_ARRAYXPR(ExpressionType)
-      EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
-      return m_matrix * extendedTo(other.derived());
-    }
-
-    /** Returns the expression where each subvector is the quotient of the corresponding
-      * subvector of \c *this by the vector \a other */
-    template<typename OtherDerived>
-    CwiseBinaryOp<internal::scalar_quotient_op<Scalar>,
-                  const ExpressionTypeNestedCleaned,
-                  const typename ExtendedType<OtherDerived>::Type>
-    operator/(const DenseBase<OtherDerived>& other) const
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-      EIGEN_STATIC_ASSERT_ARRAYXPR(ExpressionType)
-      EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
-      return m_matrix / extendedTo(other.derived());
-    }
-    
-    /** \returns an expression where each column of row of the referenced matrix are normalized.
-      * The referenced matrix is \b not modified.
-      * \sa MatrixBase::normalized(), normalize()
-      */
-    CwiseBinaryOp<internal::scalar_quotient_op<Scalar>,
-                  const ExpressionTypeNestedCleaned,
-                  const typename OppositeExtendedType<typename ReturnType<internal::member_norm,RealScalar>::Type>::Type>
-    normalized() const { return m_matrix.cwiseQuotient(extendedToOpposite(this->norm())); }
-    
-    
-    /** Normalize in-place each row or columns of the referenced matrix.
-      * \sa MatrixBase::normalize(), normalized()
-      */
-    void normalize() {
-      m_matrix = this->normalized();
-    }
-
-/////////// Geometry module ///////////
-
-    #if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
-    Homogeneous<ExpressionType,Direction> homogeneous() const;
-    #endif
-
-    typedef typename ExpressionType::PlainObject CrossReturnType;
-    template<typename OtherDerived>
-    const CrossReturnType cross(const MatrixBase<OtherDerived>& other) const;
-
-    enum {
-      HNormalized_Size = Direction==Vertical ? internal::traits<ExpressionType>::RowsAtCompileTime
-                                             : internal::traits<ExpressionType>::ColsAtCompileTime,
-      HNormalized_SizeMinusOne = HNormalized_Size==Dynamic ? Dynamic : HNormalized_Size-1
-    };
-    typedef Block<const ExpressionType,
-                  Direction==Vertical   ? int(HNormalized_SizeMinusOne)
-                                        : int(internal::traits<ExpressionType>::RowsAtCompileTime),
-                  Direction==Horizontal ? int(HNormalized_SizeMinusOne)
-                                        : int(internal::traits<ExpressionType>::ColsAtCompileTime)>
-            HNormalized_Block;
-    typedef Block<const ExpressionType,
-                  Direction==Vertical   ? 1 : int(internal::traits<ExpressionType>::RowsAtCompileTime),
-                  Direction==Horizontal ? 1 : int(internal::traits<ExpressionType>::ColsAtCompileTime)>
-            HNormalized_Factors;
-    typedef CwiseBinaryOp<internal::scalar_quotient_op<typename internal::traits<ExpressionType>::Scalar>,
-                const HNormalized_Block,
-                const Replicate<HNormalized_Factors,
-                  Direction==Vertical   ? HNormalized_SizeMinusOne : 1,
-                  Direction==Horizontal ? HNormalized_SizeMinusOne : 1> >
-            HNormalizedReturnType;
-
-    const HNormalizedReturnType hnormalized() const;
-
-  protected:
-    ExpressionTypeNested m_matrix;
-};
-
-/** \returns a VectorwiseOp wrapper of *this providing additional partial reduction operations
-  *
-  * Example: \include MatrixBase_colwise.cpp
-  * Output: \verbinclude MatrixBase_colwise.out
-  *
-  * \sa rowwise(), class VectorwiseOp, \ref TutorialReductionsVisitorsBroadcasting
-  */
-template<typename Derived>
-inline const typename DenseBase<Derived>::ConstColwiseReturnType
-DenseBase<Derived>::colwise() const
-{
-  return derived();
-}
-
-/** \returns a writable VectorwiseOp wrapper of *this providing additional partial reduction operations
-  *
-  * \sa rowwise(), class VectorwiseOp, \ref TutorialReductionsVisitorsBroadcasting
-  */
-template<typename Derived>
-inline typename DenseBase<Derived>::ColwiseReturnType
-DenseBase<Derived>::colwise()
-{
-  return derived();
-}
-
-/** \returns a VectorwiseOp wrapper of *this providing additional partial reduction operations
-  *
-  * Example: \include MatrixBase_rowwise.cpp
-  * Output: \verbinclude MatrixBase_rowwise.out
-  *
-  * \sa colwise(), class VectorwiseOp, \ref TutorialReductionsVisitorsBroadcasting
-  */
-template<typename Derived>
-inline const typename DenseBase<Derived>::ConstRowwiseReturnType
-DenseBase<Derived>::rowwise() const
-{
-  return derived();
-}
-
-/** \returns a writable VectorwiseOp wrapper of *this providing additional partial reduction operations
-  *
-  * \sa colwise(), class VectorwiseOp, \ref TutorialReductionsVisitorsBroadcasting
-  */
-template<typename Derived>
-inline typename DenseBase<Derived>::RowwiseReturnType
-DenseBase<Derived>::rowwise()
-{
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_PARTIAL_REDUX_H
diff --git a/lib/Eigen/src/Core/Visitor.h b/lib/Eigen/src/Core/Visitor.h
deleted file mode 100644
index dd94eb8f..00000000
--- a/lib/Eigen/src/Core/Visitor.h
+++ /dev/null
@@ -1,240 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_VISITOR_H
-#define EIGEN_VISITOR_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Visitor, typename Derived, int UnrollCount>
-struct visitor_impl
-{
-  enum {
-    col = (UnrollCount-1) / Derived::RowsAtCompileTime,
-    row = (UnrollCount-1) % Derived::RowsAtCompileTime
-  };
-
-  static inline void run(const Derived &mat, Visitor& visitor)
-  {
-    visitor_impl<Visitor, Derived, UnrollCount-1>::run(mat, visitor);
-    visitor(mat.coeff(row, col), row, col);
-  }
-};
-
-template<typename Visitor, typename Derived>
-struct visitor_impl<Visitor, Derived, 1>
-{
-  static inline void run(const Derived &mat, Visitor& visitor)
-  {
-    return visitor.init(mat.coeff(0, 0), 0, 0);
-  }
-};
-
-template<typename Visitor, typename Derived>
-struct visitor_impl<Visitor, Derived, Dynamic>
-{
-  typedef typename Derived::Index Index;
-  static inline void run(const Derived& mat, Visitor& visitor)
-  {
-    visitor.init(mat.coeff(0,0), 0, 0);
-    for(Index i = 1; i < mat.rows(); ++i)
-      visitor(mat.coeff(i, 0), i, 0);
-    for(Index j = 1; j < mat.cols(); ++j)
-      for(Index i = 0; i < mat.rows(); ++i)
-        visitor(mat.coeff(i, j), i, j);
-  }
-};
-
-} // end namespace internal
-
-/** Applies the visitor \a visitor to the whole coefficients of the matrix or vector.
-  *
-  * The template parameter \a Visitor is the type of the visitor and provides the following interface:
-  * \code
-  * struct MyVisitor {
-  *   // called for the first coefficient
-  *   void init(const Scalar& value, Index i, Index j);
-  *   // called for all other coefficients
-  *   void operator() (const Scalar& value, Index i, Index j);
-  * };
-  * \endcode
-  *
-  * \note compared to one or two \em for \em loops, visitors offer automatic
-  * unrolling for small fixed size matrix.
-  *
-  * \sa minCoeff(Index*,Index*), maxCoeff(Index*,Index*), DenseBase::redux()
-  */
-template<typename Derived>
-template<typename Visitor>
-void DenseBase<Derived>::visit(Visitor& visitor) const
-{
-  typedef typename internal::remove_all<typename Derived::Nested>::type ThisNested;
-  typename Derived::Nested thisNested(derived());
-
-  enum { unroll = SizeAtCompileTime != Dynamic
-                   && CoeffReadCost != Dynamic
-                   && (SizeAtCompileTime == 1 || internal::functor_traits<Visitor>::Cost != Dynamic)
-                   && SizeAtCompileTime * CoeffReadCost + (SizeAtCompileTime-1) * internal::functor_traits<Visitor>::Cost
-                      <= EIGEN_UNROLLING_LIMIT };
-  return internal::visitor_impl<Visitor, ThisNested,
-      unroll ? int(SizeAtCompileTime) : Dynamic
-    >::run(thisNested, visitor);
-}
-
-namespace internal {
-
-/** \internal
-  * \brief Base class to implement min and max visitors
-  */
-template <typename Derived>
-struct coeff_visitor
-{
-  typedef typename Derived::Index Index;
-  typedef typename Derived::Scalar Scalar;
-  Index row, col;
-  Scalar res;
-  inline void init(const Scalar& value, Index i, Index j)
-  {
-    res = value;
-    row = i;
-    col = j;
-  }
-};
-
-/** \internal
-  * \brief Visitor computing the min coefficient with its value and coordinates
-  *
-  * \sa DenseBase::minCoeff(Index*, Index*)
-  */
-template <typename Derived>
-struct min_coeff_visitor : coeff_visitor<Derived>
-{
-  typedef typename Derived::Index Index;
-  typedef typename Derived::Scalar Scalar;
-  void operator() (const Scalar& value, Index i, Index j)
-  {
-    if(value < this->res)
-    {
-      this->res = value;
-      this->row = i;
-      this->col = j;
-    }
-  }
-};
-
-template<typename Scalar>
-struct functor_traits<min_coeff_visitor<Scalar> > {
-  enum {
-    Cost = NumTraits<Scalar>::AddCost
-  };
-};
-
-/** \internal
-  * \brief Visitor computing the max coefficient with its value and coordinates
-  *
-  * \sa DenseBase::maxCoeff(Index*, Index*)
-  */
-template <typename Derived>
-struct max_coeff_visitor : coeff_visitor<Derived>
-{
-  typedef typename Derived::Index Index;
-  typedef typename Derived::Scalar Scalar;
-  void operator() (const Scalar& value, Index i, Index j)
-  {
-    if(value > this->res)
-    {
-      this->res = value;
-      this->row = i;
-      this->col = j;
-    }
-  }
-};
-
-template<typename Scalar>
-struct functor_traits<max_coeff_visitor<Scalar> > {
-  enum {
-    Cost = NumTraits<Scalar>::AddCost
-  };
-};
-
-} // end namespace internal
-
-/** \returns the minimum of all coefficients of *this and puts in *row and *col its location.
-  * \warning the result is undefined if \c *this contains NaN.
-  *
-  * \sa DenseBase::minCoeff(Index*), DenseBase::maxCoeff(Index*,Index*), DenseBase::visitor(), DenseBase::minCoeff()
-  */
-template<typename Derived>
-template<typename IndexType>
-typename internal::traits<Derived>::Scalar
-DenseBase<Derived>::minCoeff(IndexType* rowId, IndexType* colId) const
-{
-  internal::min_coeff_visitor<Derived> minVisitor;
-  this->visit(minVisitor);
-  *rowId = minVisitor.row;
-  if (colId) *colId = minVisitor.col;
-  return minVisitor.res;
-}
-
-/** \returns the minimum of all coefficients of *this and puts in *index its location.
-  * \warning the result is undefined if \c *this contains NaN. 
-  *
-  * \sa DenseBase::minCoeff(IndexType*,IndexType*), DenseBase::maxCoeff(IndexType*,IndexType*), DenseBase::visitor(), DenseBase::minCoeff()
-  */
-template<typename Derived>
-template<typename IndexType>
-typename internal::traits<Derived>::Scalar
-DenseBase<Derived>::minCoeff(IndexType* index) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  internal::min_coeff_visitor<Derived> minVisitor;
-  this->visit(minVisitor);
-  *index = (RowsAtCompileTime==1) ? minVisitor.col : minVisitor.row;
-  return minVisitor.res;
-}
-
-/** \returns the maximum of all coefficients of *this and puts in *row and *col its location.
-  * \warning the result is undefined if \c *this contains NaN. 
-  *
-  * \sa DenseBase::minCoeff(IndexType*,IndexType*), DenseBase::visitor(), DenseBase::maxCoeff()
-  */
-template<typename Derived>
-template<typename IndexType>
-typename internal::traits<Derived>::Scalar
-DenseBase<Derived>::maxCoeff(IndexType* rowPtr, IndexType* colPtr) const
-{
-  internal::max_coeff_visitor<Derived> maxVisitor;
-  this->visit(maxVisitor);
-  *rowPtr = maxVisitor.row;
-  if (colPtr) *colPtr = maxVisitor.col;
-  return maxVisitor.res;
-}
-
-/** \returns the maximum of all coefficients of *this and puts in *index its location.
-  * \warning the result is undefined if \c *this contains NaN.
-  *
-  * \sa DenseBase::maxCoeff(IndexType*,IndexType*), DenseBase::minCoeff(IndexType*,IndexType*), DenseBase::visitor(), DenseBase::maxCoeff()
-  */
-template<typename Derived>
-template<typename IndexType>
-typename internal::traits<Derived>::Scalar
-DenseBase<Derived>::maxCoeff(IndexType* index) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  internal::max_coeff_visitor<Derived> maxVisitor;
-  this->visit(maxVisitor);
-  *index = (RowsAtCompileTime==1) ? maxVisitor.col : maxVisitor.row;
-  return maxVisitor.res;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_VISITOR_H
diff --git a/lib/Eigen/src/Core/arch/AltiVec/CMakeLists.txt b/lib/Eigen/src/Core/arch/AltiVec/CMakeLists.txt
deleted file mode 100644
index 9f8d2e9c..00000000
--- a/lib/Eigen/src/Core/arch/AltiVec/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Core_arch_AltiVec_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Core_arch_AltiVec_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/AltiVec COMPONENT Devel
-)
diff --git a/lib/Eigen/src/Core/arch/AltiVec/Complex.h b/lib/Eigen/src/Core/arch/AltiVec/Complex.h
deleted file mode 100644
index 68d9a2bf..00000000
--- a/lib/Eigen/src/Core/arch/AltiVec/Complex.h
+++ /dev/null
@@ -1,217 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COMPLEX_ALTIVEC_H
-#define EIGEN_COMPLEX_ALTIVEC_H
-
-namespace Eigen {
-
-namespace internal {
-
-static Packet4ui  p4ui_CONJ_XOR = vec_mergeh((Packet4ui)p4i_ZERO, (Packet4ui)p4f_ZERO_);//{ 0x00000000, 0x80000000, 0x00000000, 0x80000000 };
-static Packet16uc p16uc_COMPLEX_RE   = vec_sld((Packet16uc) vec_splat((Packet4ui)p16uc_FORWARD, 0), (Packet16uc) vec_splat((Packet4ui)p16uc_FORWARD, 2), 8);//{ 0,1,2,3, 0,1,2,3, 8,9,10,11, 8,9,10,11 };
-static Packet16uc p16uc_COMPLEX_IM   = vec_sld((Packet16uc) vec_splat((Packet4ui)p16uc_FORWARD, 1), (Packet16uc) vec_splat((Packet4ui)p16uc_FORWARD, 3), 8);//{ 4,5,6,7, 4,5,6,7, 12,13,14,15, 12,13,14,15 };
-static Packet16uc p16uc_COMPLEX_REV  = vec_sld(p16uc_REVERSE, p16uc_REVERSE, 8);//{ 4,5,6,7, 0,1,2,3, 12,13,14,15, 8,9,10,11 };
-static Packet16uc p16uc_COMPLEX_REV2 = vec_sld(p16uc_FORWARD, p16uc_FORWARD, 8);//{ 8,9,10,11, 12,13,14,15, 0,1,2,3, 4,5,6,7 };
-static Packet16uc p16uc_PSET_HI = (Packet16uc) vec_mergeh((Packet4ui) vec_splat((Packet4ui)p16uc_FORWARD, 0), (Packet4ui) vec_splat((Packet4ui)p16uc_FORWARD, 1));//{ 0,1,2,3, 4,5,6,7, 0,1,2,3, 4,5,6,7 };
-static Packet16uc p16uc_PSET_LO = (Packet16uc) vec_mergeh((Packet4ui) vec_splat((Packet4ui)p16uc_FORWARD, 2), (Packet4ui) vec_splat((Packet4ui)p16uc_FORWARD, 3));//{ 8,9,10,11, 12,13,14,15, 8,9,10,11, 12,13,14,15 };
-
-//---------- float ----------
-struct Packet2cf
-{
-  EIGEN_STRONG_INLINE Packet2cf() {}
-  EIGEN_STRONG_INLINE explicit Packet2cf(const Packet4f& a) : v(a) {}
-  Packet4f  v;
-};
-
-template<> struct packet_traits<std::complex<float> >  : default_packet_traits
-{
-  typedef Packet2cf type;
-  enum {
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size = 2,
-
-    HasAdd    = 1,
-    HasSub    = 1,
-    HasMul    = 1,
-    HasDiv    = 1,
-    HasNegate = 1,
-    HasAbs    = 0,
-    HasAbs2   = 0,
-    HasMin    = 0,
-    HasMax    = 0,
-    HasSetLinear = 0
-  };
-};
-
-template<> struct unpacket_traits<Packet2cf> { typedef std::complex<float> type; enum {size=2}; };
-
-template<> EIGEN_STRONG_INLINE Packet2cf pset1<Packet2cf>(const std::complex<float>&  from)
-{
-  Packet2cf res;
-  /* On AltiVec we cannot load 64-bit registers, so wa have to take care of alignment */
-  if((ptrdiff_t(&from) % 16) == 0)
-    res.v = pload<Packet4f>((const float *)&from);
-  else
-    res.v = ploadu<Packet4f>((const float *)&from);
-  res.v = vec_perm(res.v, res.v, p16uc_PSET_HI);
-  return res;
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf padd<Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(vec_add(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf psub<Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(vec_sub(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf& a) { return Packet2cf(pnegate(a.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf& a) { return Packet2cf((Packet4f)vec_xor((Packet4ui)a.v, p4ui_CONJ_XOR)); }
-
-template<> EIGEN_STRONG_INLINE Packet2cf pmul<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  Packet4f v1, v2;
-
-  // Permute and multiply the real parts of a and b
-  v1 = vec_perm(a.v, a.v, p16uc_COMPLEX_RE);
-  // Get the imaginary parts of a
-  v2 = vec_perm(a.v, a.v, p16uc_COMPLEX_IM);
-  // multiply a_re * b 
-  v1 = vec_madd(v1, b.v, p4f_ZERO);
-  // multiply a_im * b and get the conjugate result
-  v2 = vec_madd(v2, b.v, p4f_ZERO);
-  v2 = (Packet4f) vec_xor((Packet4ui)v2, p4ui_CONJ_XOR);
-  // permute back to a proper order
-  v2 = vec_perm(v2, v2, p16uc_COMPLEX_REV);
-  
-  return Packet2cf(vec_add(v1, v2));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf pand   <Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(vec_and(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf por    <Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(vec_or(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf pxor   <Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(vec_xor(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf pandnot<Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(vec_and(a.v, vec_nor(b.v,b.v))); }
-
-template<> EIGEN_STRONG_INLINE Packet2cf pload <Packet2cf>(const std::complex<float>* from) { EIGEN_DEBUG_ALIGNED_LOAD return Packet2cf(pload<Packet4f>((const float*)from)); }
-template<> EIGEN_STRONG_INLINE Packet2cf ploadu<Packet2cf>(const std::complex<float>* from) { EIGEN_DEBUG_UNALIGNED_LOAD return Packet2cf(ploadu<Packet4f>((const float*)from)); }
-
-template<> EIGEN_STRONG_INLINE Packet2cf ploaddup<Packet2cf>(const std::complex<float>*     from)
-{
-  return pset1<Packet2cf>(*from);
-}
-
-template<> EIGEN_STRONG_INLINE void pstore <std::complex<float> >(std::complex<float> *   to, const Packet2cf& from) { EIGEN_DEBUG_ALIGNED_STORE pstore((float*)to, from.v); }
-template<> EIGEN_STRONG_INLINE void pstoreu<std::complex<float> >(std::complex<float> *   to, const Packet2cf& from) { EIGEN_DEBUG_UNALIGNED_STORE pstoreu((float*)to, from.v); }
-
-template<> EIGEN_STRONG_INLINE void prefetch<std::complex<float> >(const std::complex<float> *   addr) { vec_dstt((float *)addr, DST_CTRL(2,2,32), DST_CHAN); }
-
-template<> EIGEN_STRONG_INLINE std::complex<float>  pfirst<Packet2cf>(const Packet2cf& a)
-{
-  std::complex<float> EIGEN_ALIGN16 res[2];
-  pstore((float *)&res, a.v);
-
-  return res[0];
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf& a)
-{
-  Packet4f rev_a;
-  rev_a = vec_perm(a.v, a.v, p16uc_COMPLEX_REV2);
-  return Packet2cf(rev_a);
-}
-
-template<> EIGEN_STRONG_INLINE std::complex<float> predux<Packet2cf>(const Packet2cf& a)
-{
-  Packet4f b;
-  b = (Packet4f) vec_sld(a.v, a.v, 8);
-  b = padd(a.v, b);
-  return pfirst(Packet2cf(b));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf preduxp<Packet2cf>(const Packet2cf* vecs)
-{
-  Packet4f b1, b2;
-  
-  b1 = (Packet4f) vec_sld(vecs[0].v, vecs[1].v, 8);
-  b2 = (Packet4f) vec_sld(vecs[1].v, vecs[0].v, 8);
-  b2 = (Packet4f) vec_sld(b2, b2, 8);
-  b2 = padd(b1, b2);
-
-  return Packet2cf(b2);
-}
-
-template<> EIGEN_STRONG_INLINE std::complex<float> predux_mul<Packet2cf>(const Packet2cf& a)
-{
-  Packet4f b;
-  Packet2cf prod;
-  b = (Packet4f) vec_sld(a.v, a.v, 8);
-  prod = pmul(a, Packet2cf(b));
-
-  return pfirst(prod);
-}
-
-template<int Offset>
-struct palign_impl<Offset,Packet2cf>
-{
-  static EIGEN_STRONG_INLINE void run(Packet2cf& first, const Packet2cf& second)
-  {
-    if (Offset==1)
-    {
-      first.v = vec_sld(first.v, second.v, 8);
-    }
-  }
-};
-
-template<> struct conj_helper<Packet2cf, Packet2cf, false,true>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& a, const Packet2cf& b) const
-  {
-    return internal::pmul(a, pconj(b));
-  }
-};
-
-template<> struct conj_helper<Packet2cf, Packet2cf, true,false>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& a, const Packet2cf& b) const
-  {
-    return internal::pmul(pconj(a), b);
-  }
-};
-
-template<> struct conj_helper<Packet2cf, Packet2cf, true,true>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& a, const Packet2cf& b) const
-  {
-    return pconj(internal::pmul(a, b));
-  }
-};
-
-template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  // TODO optimize it for AltiVec
-  Packet2cf res = conj_helper<Packet2cf,Packet2cf,false,true>().pmul(a,b);
-  Packet4f s = vec_madd(b.v, b.v, p4f_ZERO);
-  return Packet2cf(pdiv(res.v, vec_add(s,vec_perm(s, s, p16uc_COMPLEX_REV))));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf pcplxflip<Packet2cf>(const Packet2cf& x)
-{
-  return Packet2cf(vec_perm(x.v, x.v, p16uc_COMPLEX_REV));
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_COMPLEX_ALTIVEC_H
diff --git a/lib/Eigen/src/Core/arch/AltiVec/PacketMath.h b/lib/Eigen/src/Core/arch/AltiVec/PacketMath.h
deleted file mode 100644
index e4089962..00000000
--- a/lib/Eigen/src/Core/arch/AltiVec/PacketMath.h
+++ /dev/null
@@ -1,501 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Konstantinos Margaritis <markos@codex.gr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PACKET_MATH_ALTIVEC_H
-#define EIGEN_PACKET_MATH_ALTIVEC_H
-
-namespace Eigen {
-
-namespace internal {
-
-#ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD
-#define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 4
-#endif
-
-#ifndef EIGEN_HAS_FUSE_CJMADD
-#define EIGEN_HAS_FUSE_CJMADD 1
-#endif
-
-// NOTE Altivec has 32 registers, but Eigen only accepts a value of 8 or 16
-#ifndef EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS
-#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 16
-#endif
-
-typedef __vector float          Packet4f;
-typedef __vector int            Packet4i;
-typedef __vector unsigned int   Packet4ui;
-typedef __vector __bool int     Packet4bi;
-typedef __vector short int      Packet8i;
-typedef __vector unsigned char  Packet16uc;
-
-// We don't want to write the same code all the time, but we need to reuse the constants
-// and it doesn't really work to declare them global, so we define macros instead
-
-#define _EIGEN_DECLARE_CONST_FAST_Packet4f(NAME,X) \
-  Packet4f p4f_##NAME = (Packet4f) vec_splat_s32(X)
-
-#define _EIGEN_DECLARE_CONST_FAST_Packet4i(NAME,X) \
-  Packet4i p4i_##NAME = vec_splat_s32(X)
-
-#define _EIGEN_DECLARE_CONST_Packet4f(NAME,X) \
-  Packet4f p4f_##NAME = pset1<Packet4f>(X)
-
-#define _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(NAME,X) \
-  Packet4f p4f_##NAME = vreinterpretq_f32_u32(pset1<int>(X))
-
-#define _EIGEN_DECLARE_CONST_Packet4i(NAME,X) \
-  Packet4i p4i_##NAME = pset1<Packet4i>(X)
-
-#define DST_CHAN 1
-#define DST_CTRL(size, count, stride) (((size) << 24) | ((count) << 16) | (stride))
-
-// Define global static constants:
-static Packet4f p4f_COUNTDOWN = { 3.0, 2.0, 1.0, 0.0 };
-static Packet4i p4i_COUNTDOWN = { 3, 2, 1, 0 };
-static Packet16uc p16uc_REVERSE = {12,13,14,15, 8,9,10,11, 4,5,6,7, 0,1,2,3};
-static Packet16uc p16uc_FORWARD = vec_lvsl(0, (float*)0);
-static Packet16uc p16uc_DUPLICATE = {0,1,2,3, 0,1,2,3, 4,5,6,7, 4,5,6,7};
-
-static _EIGEN_DECLARE_CONST_FAST_Packet4f(ZERO, 0);
-static _EIGEN_DECLARE_CONST_FAST_Packet4i(ZERO, 0);
-static _EIGEN_DECLARE_CONST_FAST_Packet4i(ONE,1);
-static _EIGEN_DECLARE_CONST_FAST_Packet4i(MINUS16,-16);
-static _EIGEN_DECLARE_CONST_FAST_Packet4i(MINUS1,-1);
-static Packet4f p4f_ONE = vec_ctf(p4i_ONE, 0);
-static Packet4f p4f_ZERO_ = (Packet4f) vec_sl((Packet4ui)p4i_MINUS1, (Packet4ui)p4i_MINUS1);
-
-template<> struct packet_traits<float>  : default_packet_traits
-{
-  typedef Packet4f type;
-  enum {
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size=4,
-
-    // FIXME check the Has*
-    HasSin  = 0,
-    HasCos  = 0,
-    HasLog  = 0,
-    HasExp  = 0,
-    HasSqrt = 0
-  };
-};
-template<> struct packet_traits<int>    : default_packet_traits
-{
-  typedef Packet4i type;
-  enum {
-    // FIXME check the Has*
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size=4
-  };
-};
-
-template<> struct unpacket_traits<Packet4f> { typedef float  type; enum {size=4}; };
-template<> struct unpacket_traits<Packet4i> { typedef int    type; enum {size=4}; };
-/*
-inline std::ostream & operator <<(std::ostream & s, const Packet4f & v)
-{
-  union {
-    Packet4f   v;
-    float n[4];
-  } vt;
-  vt.v = v;
-  s << vt.n[0] << ", " << vt.n[1] << ", " << vt.n[2] << ", " << vt.n[3];
-  return s;
-}
-
-inline std::ostream & operator <<(std::ostream & s, const Packet4i & v)
-{
-  union {
-    Packet4i   v;
-    int n[4];
-  } vt;
-  vt.v = v;
-  s << vt.n[0] << ", " << vt.n[1] << ", " << vt.n[2] << ", " << vt.n[3];
-  return s;
-}
-
-inline std::ostream & operator <<(std::ostream & s, const Packet4ui & v)
-{
-  union {
-    Packet4ui   v;
-    unsigned int n[4];
-  } vt;
-  vt.v = v;
-  s << vt.n[0] << ", " << vt.n[1] << ", " << vt.n[2] << ", " << vt.n[3];
-  return s;
-}
-
-inline std::ostream & operator <<(std::ostream & s, const Packetbi & v)
-{
-  union {
-    Packet4bi v;
-    unsigned int n[4];
-  } vt;
-  vt.v = v;
-  s << vt.n[0] << ", " << vt.n[1] << ", " << vt.n[2] << ", " << vt.n[3];
-  return s;
-}
-*/
-template<> EIGEN_STRONG_INLINE Packet4f pset1<Packet4f>(const float&  from) {
-  // Taken from http://developer.apple.com/hardwaredrivers/ve/alignment.html
-  float EIGEN_ALIGN16 af[4];
-  af[0] = from;
-  Packet4f vc = vec_ld(0, af);
-  vc = vec_splat(vc, 0);
-  return vc;
-}
-
-template<> EIGEN_STRONG_INLINE Packet4i pset1<Packet4i>(const int&    from)   {
-  int EIGEN_ALIGN16 ai[4];
-  ai[0] = from;
-  Packet4i vc = vec_ld(0, ai);
-  vc = vec_splat(vc, 0);
-  return vc;
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f plset<float>(const float& a) { return vec_add(pset1<Packet4f>(a), p4f_COUNTDOWN); }
-template<> EIGEN_STRONG_INLINE Packet4i plset<int>(const int& a)     { return vec_add(pset1<Packet4i>(a), p4i_COUNTDOWN); }
-
-template<> EIGEN_STRONG_INLINE Packet4f padd<Packet4f>(const Packet4f& a, const Packet4f& b) { return vec_add(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i padd<Packet4i>(const Packet4i& a, const Packet4i& b) { return vec_add(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f psub<Packet4f>(const Packet4f& a, const Packet4f& b) { return vec_sub(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i psub<Packet4i>(const Packet4i& a, const Packet4i& b) { return vec_sub(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pnegate(const Packet4f& a) { return psub<Packet4f>(p4f_ZERO, a); }
-template<> EIGEN_STRONG_INLINE Packet4i pnegate(const Packet4i& a) { return psub<Packet4i>(p4i_ZERO, a); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pconj(const Packet4f& a) { return a; }
-template<> EIGEN_STRONG_INLINE Packet4i pconj(const Packet4i& a) { return a; }
-
-template<> EIGEN_STRONG_INLINE Packet4f pmul<Packet4f>(const Packet4f& a, const Packet4f& b) { return vec_madd(a,b,p4f_ZERO); }
-/* Commented out: it's actually slower than processing it scalar
- *
-template<> EIGEN_STRONG_INLINE Packet4i pmul<Packet4i>(const Packet4i& a, const Packet4i& b)
-{
-  // Detailed in: http://freevec.org/content/32bit_signed_integer_multiplication_altivec
-  //Set up constants, variables
-  Packet4i a1, b1, bswap, low_prod, high_prod, prod, prod_, v1sel;
-
-  // Get the absolute values
-  a1  = vec_abs(a);
-  b1  = vec_abs(b);
-
-  // Get the signs using xor
-  Packet4bi sgn = (Packet4bi) vec_cmplt(vec_xor(a, b), p4i_ZERO);
-
-  // Do the multiplication for the asbolute values.
-  bswap = (Packet4i) vec_rl((Packet4ui) b1, (Packet4ui) p4i_MINUS16 );
-  low_prod = vec_mulo((Packet8i) a1, (Packet8i)b1);
-  high_prod = vec_msum((Packet8i) a1, (Packet8i) bswap, p4i_ZERO);
-  high_prod = (Packet4i) vec_sl((Packet4ui) high_prod, (Packet4ui) p4i_MINUS16);
-  prod = vec_add( low_prod, high_prod );
-
-  // NOR the product and select only the negative elements according to the sign mask
-  prod_ = vec_nor(prod, prod);
-  prod_ = vec_sel(p4i_ZERO, prod_, sgn);
-
-  // Add 1 to the result to get the negative numbers
-  v1sel = vec_sel(p4i_ZERO, p4i_ONE, sgn);
-  prod_ = vec_add(prod_, v1sel);
-
-  // Merge the results back to the final vector.
-  prod = vec_sel(prod, prod_, sgn);
-
-  return prod;
-}
-*/
-template<> EIGEN_STRONG_INLINE Packet4f pdiv<Packet4f>(const Packet4f& a, const Packet4f& b)
-{
-  Packet4f t, y_0, y_1, res;
-
-  // Altivec does not offer a divide instruction, we have to do a reciprocal approximation
-  y_0 = vec_re(b);
-
-  // Do one Newton-Raphson iteration to get the needed accuracy
-  t   = vec_nmsub(y_0, b, p4f_ONE);
-  y_1 = vec_madd(y_0, t, y_0);
-
-  res = vec_madd(a, y_1, p4f_ZERO);
-  return res;
-}
-
-template<> EIGEN_STRONG_INLINE Packet4i pdiv<Packet4i>(const Packet4i& /*a*/, const Packet4i& /*b*/)
-{ eigen_assert(false && "packet integer division are not supported by AltiVec");
-  return pset1<Packet4i>(0);
-}
-
-// for some weird raisons, it has to be overloaded for packet of integers
-template<> EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f& a, const Packet4f& b, const Packet4f& c) { return vec_madd(a, b, c); }
-template<> EIGEN_STRONG_INLINE Packet4i pmadd(const Packet4i& a, const Packet4i& b, const Packet4i& c) { return padd(pmul(a,b), c); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pmin<Packet4f>(const Packet4f& a, const Packet4f& b) { return vec_min(a, b); }
-template<> EIGEN_STRONG_INLINE Packet4i pmin<Packet4i>(const Packet4i& a, const Packet4i& b) { return vec_min(a, b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pmax<Packet4f>(const Packet4f& a, const Packet4f& b) { return vec_max(a, b); }
-template<> EIGEN_STRONG_INLINE Packet4i pmax<Packet4i>(const Packet4i& a, const Packet4i& b) { return vec_max(a, b); }
-
-// Logical Operations are not supported for float, so we have to reinterpret casts using NEON intrinsics
-template<> EIGEN_STRONG_INLINE Packet4f pand<Packet4f>(const Packet4f& a, const Packet4f& b) { return vec_and(a, b); }
-template<> EIGEN_STRONG_INLINE Packet4i pand<Packet4i>(const Packet4i& a, const Packet4i& b) { return vec_and(a, b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f por<Packet4f>(const Packet4f& a, const Packet4f& b) { return vec_or(a, b); }
-template<> EIGEN_STRONG_INLINE Packet4i por<Packet4i>(const Packet4i& a, const Packet4i& b) { return vec_or(a, b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pxor<Packet4f>(const Packet4f& a, const Packet4f& b) { return vec_xor(a, b); }
-template<> EIGEN_STRONG_INLINE Packet4i pxor<Packet4i>(const Packet4i& a, const Packet4i& b) { return vec_xor(a, b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pandnot<Packet4f>(const Packet4f& a, const Packet4f& b) { return vec_and(a, vec_nor(b, b)); }
-template<> EIGEN_STRONG_INLINE Packet4i pandnot<Packet4i>(const Packet4i& a, const Packet4i& b) { return vec_and(a, vec_nor(b, b)); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pload<Packet4f>(const float* from) { EIGEN_DEBUG_ALIGNED_LOAD return vec_ld(0, from); }
-template<> EIGEN_STRONG_INLINE Packet4i pload<Packet4i>(const int*     from) { EIGEN_DEBUG_ALIGNED_LOAD return vec_ld(0, from); }
-
-template<> EIGEN_STRONG_INLINE Packet4f ploadu<Packet4f>(const float* from)
-{
-  EIGEN_DEBUG_ALIGNED_LOAD
-  // Taken from http://developer.apple.com/hardwaredrivers/ve/alignment.html
-  Packet16uc MSQ, LSQ;
-  Packet16uc mask;
-  MSQ = vec_ld(0, (unsigned char *)from);          // most significant quadword
-  LSQ = vec_ld(15, (unsigned char *)from);         // least significant quadword
-  mask = vec_lvsl(0, from);                        // create the permute mask
-  return (Packet4f) vec_perm(MSQ, LSQ, mask);           // align the data
-
-}
-template<> EIGEN_STRONG_INLINE Packet4i ploadu<Packet4i>(const int* from)
-{
-  EIGEN_DEBUG_ALIGNED_LOAD
-  // Taken from http://developer.apple.com/hardwaredrivers/ve/alignment.html
-  Packet16uc MSQ, LSQ;
-  Packet16uc mask;
-  MSQ = vec_ld(0, (unsigned char *)from);          // most significant quadword
-  LSQ = vec_ld(15, (unsigned char *)from);         // least significant quadword
-  mask = vec_lvsl(0, from);                        // create the permute mask
-  return (Packet4i) vec_perm(MSQ, LSQ, mask);    // align the data
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f ploaddup<Packet4f>(const float*   from)
-{
-  Packet4f p;
-  if((ptrdiff_t(&from) % 16) == 0)  p = pload<Packet4f>(from);
-  else                              p = ploadu<Packet4f>(from);
-  return vec_perm(p, p, p16uc_DUPLICATE);
-}
-template<> EIGEN_STRONG_INLINE Packet4i ploaddup<Packet4i>(const int*     from)
-{
-  Packet4i p;
-  if((ptrdiff_t(&from) % 16) == 0)  p = pload<Packet4i>(from);
-  else                              p = ploadu<Packet4i>(from);
-  return vec_perm(p, p, p16uc_DUPLICATE);
-}
-
-template<> EIGEN_STRONG_INLINE void pstore<float>(float*   to, const Packet4f& from) { EIGEN_DEBUG_ALIGNED_STORE vec_st(from, 0, to); }
-template<> EIGEN_STRONG_INLINE void pstore<int>(int*       to, const Packet4i& from) { EIGEN_DEBUG_ALIGNED_STORE vec_st(from, 0, to); }
-
-template<> EIGEN_STRONG_INLINE void pstoreu<float>(float*  to, const Packet4f& from)
-{
-  EIGEN_DEBUG_UNALIGNED_STORE
-  // Taken from http://developer.apple.com/hardwaredrivers/ve/alignment.html
-  // Warning: not thread safe!
-  Packet16uc MSQ, LSQ, edges;
-  Packet16uc edgeAlign, align;
-
-  MSQ = vec_ld(0, (unsigned char *)to);                     // most significant quadword
-  LSQ = vec_ld(15, (unsigned char *)to);                    // least significant quadword
-  edgeAlign = vec_lvsl(0, to);                              // permute map to extract edges
-  edges=vec_perm(LSQ,MSQ,edgeAlign);                        // extract the edges
-  align = vec_lvsr( 0, to );                                // permute map to misalign data
-  MSQ = vec_perm(edges,(Packet16uc)from,align);             // misalign the data (MSQ)
-  LSQ = vec_perm((Packet16uc)from,edges,align);             // misalign the data (LSQ)
-  vec_st( LSQ, 15, (unsigned char *)to );                   // Store the LSQ part first
-  vec_st( MSQ, 0, (unsigned char *)to );                    // Store the MSQ part
-}
-template<> EIGEN_STRONG_INLINE void pstoreu<int>(int*      to, const Packet4i& from)
-{
-  EIGEN_DEBUG_UNALIGNED_STORE
-  // Taken from http://developer.apple.com/hardwaredrivers/ve/alignment.html
-  // Warning: not thread safe!
-  Packet16uc MSQ, LSQ, edges;
-  Packet16uc edgeAlign, align;
-
-  MSQ = vec_ld(0, (unsigned char *)to);                     // most significant quadword
-  LSQ = vec_ld(15, (unsigned char *)to);                    // least significant quadword
-  edgeAlign = vec_lvsl(0, to);                              // permute map to extract edges
-  edges=vec_perm(LSQ, MSQ, edgeAlign);                      // extract the edges
-  align = vec_lvsr( 0, to );                                // permute map to misalign data
-  MSQ = vec_perm(edges, (Packet16uc) from, align);          // misalign the data (MSQ)
-  LSQ = vec_perm((Packet16uc) from, edges, align);          // misalign the data (LSQ)
-  vec_st( LSQ, 15, (unsigned char *)to );                   // Store the LSQ part first
-  vec_st( MSQ, 0, (unsigned char *)to );                    // Store the MSQ part
-}
-
-template<> EIGEN_STRONG_INLINE void prefetch<float>(const float* addr) { vec_dstt(addr, DST_CTRL(2,2,32), DST_CHAN); }
-template<> EIGEN_STRONG_INLINE void prefetch<int>(const int*     addr) { vec_dstt(addr, DST_CTRL(2,2,32), DST_CHAN); }
-
-template<> EIGEN_STRONG_INLINE float  pfirst<Packet4f>(const Packet4f& a) { float EIGEN_ALIGN16 x[4]; vec_st(a, 0, x); return x[0]; }
-template<> EIGEN_STRONG_INLINE int    pfirst<Packet4i>(const Packet4i& a) { int   EIGEN_ALIGN16 x[4]; vec_st(a, 0, x); return x[0]; }
-
-template<> EIGEN_STRONG_INLINE Packet4f preverse(const Packet4f& a) { return (Packet4f)vec_perm((Packet16uc)a,(Packet16uc)a, p16uc_REVERSE); }
-template<> EIGEN_STRONG_INLINE Packet4i preverse(const Packet4i& a) { return (Packet4i)vec_perm((Packet16uc)a,(Packet16uc)a, p16uc_REVERSE); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f& a) { return vec_abs(a); }
-template<> EIGEN_STRONG_INLINE Packet4i pabs(const Packet4i& a) { return vec_abs(a); }
-
-template<> EIGEN_STRONG_INLINE float predux<Packet4f>(const Packet4f& a)
-{
-  Packet4f b, sum;
-  b   = (Packet4f) vec_sld(a, a, 8);
-  sum = vec_add(a, b);
-  b   = (Packet4f) vec_sld(sum, sum, 4);
-  sum = vec_add(sum, b);
-  return pfirst(sum);
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f preduxp<Packet4f>(const Packet4f* vecs)
-{
-  Packet4f v[4], sum[4];
-
-  // It's easier and faster to transpose then add as columns
-  // Check: http://www.freevec.org/function/matrix_4x4_transpose_floats for explanation
-  // Do the transpose, first set of moves
-  v[0] = vec_mergeh(vecs[0], vecs[2]);
-  v[1] = vec_mergel(vecs[0], vecs[2]);
-  v[2] = vec_mergeh(vecs[1], vecs[3]);
-  v[3] = vec_mergel(vecs[1], vecs[3]);
-  // Get the resulting vectors
-  sum[0] = vec_mergeh(v[0], v[2]);
-  sum[1] = vec_mergel(v[0], v[2]);
-  sum[2] = vec_mergeh(v[1], v[3]);
-  sum[3] = vec_mergel(v[1], v[3]);
-
-  // Now do the summation:
-  // Lines 0+1
-  sum[0] = vec_add(sum[0], sum[1]);
-  // Lines 2+3
-  sum[1] = vec_add(sum[2], sum[3]);
-  // Add the results
-  sum[0] = vec_add(sum[0], sum[1]);
-
-  return sum[0];
-}
-
-template<> EIGEN_STRONG_INLINE int predux<Packet4i>(const Packet4i& a)
-{
-  Packet4i sum;
-  sum = vec_sums(a, p4i_ZERO);
-  sum = vec_sld(sum, p4i_ZERO, 12);
-  return pfirst(sum);
-}
-
-template<> EIGEN_STRONG_INLINE Packet4i preduxp<Packet4i>(const Packet4i* vecs)
-{
-  Packet4i v[4], sum[4];
-
-  // It's easier and faster to transpose then add as columns
-  // Check: http://www.freevec.org/function/matrix_4x4_transpose_floats for explanation
-  // Do the transpose, first set of moves
-  v[0] = vec_mergeh(vecs[0], vecs[2]);
-  v[1] = vec_mergel(vecs[0], vecs[2]);
-  v[2] = vec_mergeh(vecs[1], vecs[3]);
-  v[3] = vec_mergel(vecs[1], vecs[3]);
-  // Get the resulting vectors
-  sum[0] = vec_mergeh(v[0], v[2]);
-  sum[1] = vec_mergel(v[0], v[2]);
-  sum[2] = vec_mergeh(v[1], v[3]);
-  sum[3] = vec_mergel(v[1], v[3]);
-
-  // Now do the summation:
-  // Lines 0+1
-  sum[0] = vec_add(sum[0], sum[1]);
-  // Lines 2+3
-  sum[1] = vec_add(sum[2], sum[3]);
-  // Add the results
-  sum[0] = vec_add(sum[0], sum[1]);
-
-  return sum[0];
-}
-
-// Other reduction functions:
-// mul
-template<> EIGEN_STRONG_INLINE float predux_mul<Packet4f>(const Packet4f& a)
-{
-  Packet4f prod;
-  prod = pmul(a, (Packet4f)vec_sld(a, a, 8));
-  return pfirst(pmul(prod, (Packet4f)vec_sld(prod, prod, 4)));
-}
-
-template<> EIGEN_STRONG_INLINE int predux_mul<Packet4i>(const Packet4i& a)
-{
-  EIGEN_ALIGN16 int aux[4];
-  pstore(aux, a);
-  return aux[0] * aux[1] * aux[2] * aux[3];
-}
-
-// min
-template<> EIGEN_STRONG_INLINE float predux_min<Packet4f>(const Packet4f& a)
-{
-  Packet4f b, res;
-  b = vec_min(a, vec_sld(a, a, 8));
-  res = vec_min(b, vec_sld(b, b, 4));
-  return pfirst(res);
-}
-
-template<> EIGEN_STRONG_INLINE int predux_min<Packet4i>(const Packet4i& a)
-{
-  Packet4i b, res;
-  b = vec_min(a, vec_sld(a, a, 8));
-  res = vec_min(b, vec_sld(b, b, 4));
-  return pfirst(res);
-}
-
-// max
-template<> EIGEN_STRONG_INLINE float predux_max<Packet4f>(const Packet4f& a)
-{
-  Packet4f b, res;
-  b = vec_max(a, vec_sld(a, a, 8));
-  res = vec_max(b, vec_sld(b, b, 4));
-  return pfirst(res);
-}
-
-template<> EIGEN_STRONG_INLINE int predux_max<Packet4i>(const Packet4i& a)
-{
-  Packet4i b, res;
-  b = vec_max(a, vec_sld(a, a, 8));
-  res = vec_max(b, vec_sld(b, b, 4));
-  return pfirst(res);
-}
-
-template<int Offset>
-struct palign_impl<Offset,Packet4f>
-{
-  static EIGEN_STRONG_INLINE void run(Packet4f& first, const Packet4f& second)
-  {
-    if (Offset!=0)
-      first = vec_sld(first, second, Offset*4);
-  }
-};
-
-template<int Offset>
-struct palign_impl<Offset,Packet4i>
-{
-  static EIGEN_STRONG_INLINE void run(Packet4i& first, const Packet4i& second)
-  {
-    if (Offset!=0)
-      first = vec_sld(first, second, Offset*4);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_PACKET_MATH_ALTIVEC_H
diff --git a/lib/Eigen/src/Core/arch/CMakeLists.txt b/lib/Eigen/src/Core/arch/CMakeLists.txt
deleted file mode 100644
index 8456dec1..00000000
--- a/lib/Eigen/src/Core/arch/CMakeLists.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-ADD_SUBDIRECTORY(SSE)
-ADD_SUBDIRECTORY(AltiVec)
-ADD_SUBDIRECTORY(NEON)
-ADD_SUBDIRECTORY(Default)
diff --git a/lib/Eigen/src/Core/arch/Default/CMakeLists.txt b/lib/Eigen/src/Core/arch/Default/CMakeLists.txt
deleted file mode 100644
index 339c091d..00000000
--- a/lib/Eigen/src/Core/arch/Default/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Core_arch_Default_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Core_arch_Default_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/Default COMPONENT Devel
-)
diff --git a/lib/Eigen/src/Core/arch/Default/Settings.h b/lib/Eigen/src/Core/arch/Default/Settings.h
deleted file mode 100644
index 097373c8..00000000
--- a/lib/Eigen/src/Core/arch/Default/Settings.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-
-/* All the parameters defined in this file can be specialized in the
- * architecture specific files, and/or by the user.
- * More to come... */
-
-#ifndef EIGEN_DEFAULT_SETTINGS_H
-#define EIGEN_DEFAULT_SETTINGS_H
-
-/** Defines the maximal loop size to enable meta unrolling of loops.
-  * Note that the value here is expressed in Eigen's own notion of "number of FLOPS",
-  * it does not correspond to the number of iterations or the number of instructions
-  */
-#ifndef EIGEN_UNROLLING_LIMIT
-#define EIGEN_UNROLLING_LIMIT 100
-#endif
-
-/** Defines the threshold between a "small" and a "large" matrix.
-  * This threshold is mainly used to select the proper product implementation.
-  */
-#ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD
-#define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8
-#endif
-
-/** Defines the maximal width of the blocks used in the triangular product and solver
-  * for vectors (level 2 blas xTRMV and xTRSV). The default is 8.
-  */
-#ifndef EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH
-#define EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH 8
-#endif
-
-
-/** Defines the default number of registers available for that architecture.
-  * Currently it must be 8 or 16. Other values will fail.
-  */
-#ifndef EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS
-#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 8
-#endif
-
-#endif // EIGEN_DEFAULT_SETTINGS_H
diff --git a/lib/Eigen/src/Core/arch/NEON/CMakeLists.txt b/lib/Eigen/src/Core/arch/NEON/CMakeLists.txt
deleted file mode 100644
index fd4d4af5..00000000
--- a/lib/Eigen/src/Core/arch/NEON/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Core_arch_NEON_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Core_arch_NEON_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/NEON COMPONENT Devel
-)
diff --git a/lib/Eigen/src/Core/arch/NEON/Complex.h b/lib/Eigen/src/Core/arch/NEON/Complex.h
deleted file mode 100644
index 8d9255ee..00000000
--- a/lib/Eigen/src/Core/arch/NEON/Complex.h
+++ /dev/null
@@ -1,253 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COMPLEX_NEON_H
-#define EIGEN_COMPLEX_NEON_H
-
-namespace Eigen {
-
-namespace internal {
-
-static uint32x4_t p4ui_CONJ_XOR = EIGEN_INIT_NEON_PACKET4(0x00000000, 0x80000000, 0x00000000, 0x80000000);
-static uint32x2_t p2ui_CONJ_XOR = EIGEN_INIT_NEON_PACKET2(0x00000000, 0x80000000);
-
-//---------- float ----------
-struct Packet2cf
-{
-  EIGEN_STRONG_INLINE Packet2cf() {}
-  EIGEN_STRONG_INLINE explicit Packet2cf(const Packet4f& a) : v(a) {}
-  Packet4f  v;
-};
-
-template<> struct packet_traits<std::complex<float> >  : default_packet_traits
-{
-  typedef Packet2cf type;
-  enum {
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size = 2,
-
-    HasAdd    = 1,
-    HasSub    = 1,
-    HasMul    = 1,
-    HasDiv    = 1,
-    HasNegate = 1,
-    HasAbs    = 0,
-    HasAbs2   = 0,
-    HasMin    = 0,
-    HasMax    = 0,
-    HasSetLinear = 0
-  };
-};
-
-template<> struct unpacket_traits<Packet2cf> { typedef std::complex<float> type; enum {size=2}; };
-
-template<> EIGEN_STRONG_INLINE Packet2cf pset1<Packet2cf>(const std::complex<float>&  from)
-{
-  float32x2_t r64;
-  r64 = vld1_f32((float *)&from);
-
-  return Packet2cf(vcombine_f32(r64, r64));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf padd<Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(padd<Packet4f>(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf psub<Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(psub<Packet4f>(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf& a) { return Packet2cf(pnegate<Packet4f>(a.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf& a)
-{
-  Packet4ui b = vreinterpretq_u32_f32(a.v);
-  return Packet2cf(vreinterpretq_f32_u32(veorq_u32(b, p4ui_CONJ_XOR)));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf pmul<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  Packet4f v1, v2;
-
-  // Get the real values of a | a1_re | a1_re | a2_re | a2_re |
-  v1 = vcombine_f32(vdup_lane_f32(vget_low_f32(a.v), 0), vdup_lane_f32(vget_high_f32(a.v), 0));
-  // Get the real values of a | a1_im | a1_im | a2_im | a2_im |
-  v2 = vcombine_f32(vdup_lane_f32(vget_low_f32(a.v), 1), vdup_lane_f32(vget_high_f32(a.v), 1));
-  // Multiply the real a with b
-  v1 = vmulq_f32(v1, b.v);
-  // Multiply the imag a with b
-  v2 = vmulq_f32(v2, b.v);
-  // Conjugate v2 
-  v2 = vreinterpretq_f32_u32(veorq_u32(vreinterpretq_u32_f32(v2), p4ui_CONJ_XOR));
-  // Swap real/imag elements in v2.
-  v2 = vrev64q_f32(v2);
-  // Add and return the result
-  return Packet2cf(vaddq_f32(v1, v2));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf pand   <Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  return Packet2cf(vreinterpretq_f32_u32(vorrq_u32(vreinterpretq_u32_f32(a.v),vreinterpretq_u32_f32(b.v))));
-}
-template<> EIGEN_STRONG_INLINE Packet2cf por    <Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  return Packet2cf(vreinterpretq_f32_u32(vorrq_u32(vreinterpretq_u32_f32(a.v),vreinterpretq_u32_f32(b.v))));
-}
-template<> EIGEN_STRONG_INLINE Packet2cf pxor   <Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  return Packet2cf(vreinterpretq_f32_u32(veorq_u32(vreinterpretq_u32_f32(a.v),vreinterpretq_u32_f32(b.v))));
-}
-template<> EIGEN_STRONG_INLINE Packet2cf pandnot<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  return Packet2cf(vreinterpretq_f32_u32(vbicq_u32(vreinterpretq_u32_f32(a.v),vreinterpretq_u32_f32(b.v))));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf pload<Packet2cf>(const std::complex<float>* from) { EIGEN_DEBUG_ALIGNED_LOAD return Packet2cf(pload<Packet4f>((const float*)from)); }
-template<> EIGEN_STRONG_INLINE Packet2cf ploadu<Packet2cf>(const std::complex<float>* from) { EIGEN_DEBUG_UNALIGNED_LOAD return Packet2cf(ploadu<Packet4f>((const float*)from)); }
-
-template<> EIGEN_STRONG_INLINE Packet2cf ploaddup<Packet2cf>(const std::complex<float>* from) { return pset1<Packet2cf>(*from); }
-
-template<> EIGEN_STRONG_INLINE void pstore <std::complex<float> >(std::complex<float> *   to, const Packet2cf& from) { EIGEN_DEBUG_ALIGNED_STORE pstore((float*)to, from.v); }
-template<> EIGEN_STRONG_INLINE void pstoreu<std::complex<float> >(std::complex<float> *   to, const Packet2cf& from) { EIGEN_DEBUG_UNALIGNED_STORE pstoreu((float*)to, from.v); }
-
-template<> EIGEN_STRONG_INLINE void prefetch<std::complex<float> >(const std::complex<float> *   addr) { EIGEN_ARM_PREFETCH((float *)addr); }
-
-template<> EIGEN_STRONG_INLINE std::complex<float>  pfirst<Packet2cf>(const Packet2cf& a)
-{
-  std::complex<float> EIGEN_ALIGN16 x[2];
-  vst1q_f32((float *)x, a.v);
-  return x[0];
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf& a)
-{
-  float32x2_t a_lo, a_hi;
-  Packet4f a_r128;
-
-  a_lo = vget_low_f32(a.v);
-  a_hi = vget_high_f32(a.v);
-  a_r128 = vcombine_f32(a_hi, a_lo);
-
-  return Packet2cf(a_r128);
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf pcplxflip<Packet2cf>(const Packet2cf& a)
-{
-  return Packet2cf(vrev64q_f32(a.v));
-}
-
-template<> EIGEN_STRONG_INLINE std::complex<float> predux<Packet2cf>(const Packet2cf& a)
-{
-  float32x2_t a1, a2;
-  std::complex<float> s;
-
-  a1 = vget_low_f32(a.v);
-  a2 = vget_high_f32(a.v);
-  a2 = vadd_f32(a1, a2);
-  vst1_f32((float *)&s, a2);
-
-  return s;
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf preduxp<Packet2cf>(const Packet2cf* vecs)
-{
-  Packet4f sum1, sum2, sum;
-
-  // Add the first two 64-bit float32x2_t of vecs[0]
-  sum1 = vcombine_f32(vget_low_f32(vecs[0].v), vget_low_f32(vecs[1].v));
-  sum2 = vcombine_f32(vget_high_f32(vecs[0].v), vget_high_f32(vecs[1].v));
-  sum = vaddq_f32(sum1, sum2);
-
-  return Packet2cf(sum);
-}
-
-template<> EIGEN_STRONG_INLINE std::complex<float> predux_mul<Packet2cf>(const Packet2cf& a)
-{
-  float32x2_t a1, a2, v1, v2, prod;
-  std::complex<float> s;
-
-  a1 = vget_low_f32(a.v);
-  a2 = vget_high_f32(a.v);
-   // Get the real values of a | a1_re | a1_re | a2_re | a2_re |
-  v1 = vdup_lane_f32(a1, 0);
-  // Get the real values of a | a1_im | a1_im | a2_im | a2_im |
-  v2 = vdup_lane_f32(a1, 1);
-  // Multiply the real a with b
-  v1 = vmul_f32(v1, a2);
-  // Multiply the imag a with b
-  v2 = vmul_f32(v2, a2);
-  // Conjugate v2 
-  v2 = vreinterpret_f32_u32(veor_u32(vreinterpret_u32_f32(v2), p2ui_CONJ_XOR));
-  // Swap real/imag elements in v2.
-  v2 = vrev64_f32(v2);
-  // Add v1, v2
-  prod = vadd_f32(v1, v2);
-
-  vst1_f32((float *)&s, prod);
-
-  return s;
-}
-
-template<int Offset>
-struct palign_impl<Offset,Packet2cf>
-{
-  EIGEN_STRONG_INLINE static void run(Packet2cf& first, const Packet2cf& second)
-  {
-    if (Offset==1)
-    {
-      first.v = vextq_f32(first.v, second.v, 2);
-    }
-  }
-};
-
-template<> struct conj_helper<Packet2cf, Packet2cf, false,true>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& a, const Packet2cf& b) const
-  {
-    return internal::pmul(a, pconj(b));
-  }
-};
-
-template<> struct conj_helper<Packet2cf, Packet2cf, true,false>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& a, const Packet2cf& b) const
-  {
-    return internal::pmul(pconj(a), b);
-  }
-};
-
-template<> struct conj_helper<Packet2cf, Packet2cf, true,true>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& a, const Packet2cf& b) const
-  {
-    return pconj(internal::pmul(a, b));
-  }
-};
-
-template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  // TODO optimize it for AltiVec
-  Packet2cf res = conj_helper<Packet2cf,Packet2cf,false,true>().pmul(a,b);
-  Packet4f s, rev_s;
-
-  // this computes the norm
-  s = vmulq_f32(b.v, b.v);
-  rev_s = vrev64q_f32(s);
-
-  return Packet2cf(pdiv(res.v, vaddq_f32(s,rev_s)));
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_COMPLEX_NEON_H
diff --git a/lib/Eigen/src/Core/arch/NEON/PacketMath.h b/lib/Eigen/src/Core/arch/NEON/PacketMath.h
deleted file mode 100644
index d49670e0..00000000
--- a/lib/Eigen/src/Core/arch/NEON/PacketMath.h
+++ /dev/null
@@ -1,420 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010 Konstantinos Margaritis <markos@codex.gr>
-// Heavily based on Gael's SSE version.
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PACKET_MATH_NEON_H
-#define EIGEN_PACKET_MATH_NEON_H
-
-namespace Eigen {
-
-namespace internal {
-
-#ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD
-#define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8
-#endif
-
-// FIXME NEON has 16 quad registers, but since the current register allocator
-// is so bad, it is much better to reduce it to 8
-#ifndef EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS
-#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 8
-#endif
-
-typedef float32x4_t Packet4f;
-typedef int32x4_t   Packet4i;
-typedef uint32x4_t  Packet4ui;
-
-#define _EIGEN_DECLARE_CONST_Packet4f(NAME,X) \
-  const Packet4f p4f_##NAME = pset1<Packet4f>(X)
-
-#define _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(NAME,X) \
-  const Packet4f p4f_##NAME = vreinterpretq_f32_u32(pset1<int>(X))
-
-#define _EIGEN_DECLARE_CONST_Packet4i(NAME,X) \
-  const Packet4i p4i_##NAME = pset1<Packet4i>(X)
-
-#if defined(__llvm__) && !defined(__clang__)
-  //Special treatment for Apple's llvm-gcc, its NEON packet types are unions
-  #define EIGEN_INIT_NEON_PACKET2(X, Y)       {{X, Y}}
-  #define EIGEN_INIT_NEON_PACKET4(X, Y, Z, W) {{X, Y, Z, W}}
-#else
-  //Default initializer for packets
-  #define EIGEN_INIT_NEON_PACKET2(X, Y)       {X, Y}
-  #define EIGEN_INIT_NEON_PACKET4(X, Y, Z, W) {X, Y, Z, W}
-#endif
-
-// arm64 does have the pld instruction. If available, let's trust the __builtin_prefetch built-in function
-// which available on LLVM and GCC (at least)
-#if EIGEN_HAS_BUILTIN(__builtin_prefetch) || defined(__GNUC__)
-  #define EIGEN_ARM_PREFETCH(ADDR) __builtin_prefetch(ADDR);
-#elif defined __pld
-  #define EIGEN_ARM_PREFETCH(ADDR) __pld(ADDR)
-#elif !defined(__aarch64__)
-  #define EIGEN_ARM_PREFETCH(ADDR) __asm__ __volatile__ ( "   pld [%[addr]]\n" :: [addr] "r" (ADDR) : "cc" );
-#else
-  // by default no explicit prefetching
-  #define EIGEN_ARM_PREFETCH(ADDR)
-#endif
-
-template<> struct packet_traits<float>  : default_packet_traits
-{
-  typedef Packet4f type;
-  enum {
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size = 4,
-   
-    HasDiv  = 1,
-    // FIXME check the Has*
-    HasSin  = 0,
-    HasCos  = 0,
-    HasLog  = 0,
-    HasExp  = 0,
-    HasSqrt = 0
-  };
-};
-template<> struct packet_traits<int>    : default_packet_traits
-{
-  typedef Packet4i type;
-  enum {
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size=4
-    // FIXME check the Has*
-  };
-};
-
-#if EIGEN_GNUC_AT_MOST(4,4) && !defined(__llvm__)
-// workaround gcc 4.2, 4.3 and 4.4 compilatin issue
-EIGEN_STRONG_INLINE float32x4_t vld1q_f32(const float* x) { return ::vld1q_f32((const float32_t*)x); }
-EIGEN_STRONG_INLINE float32x2_t vld1_f32 (const float* x) { return ::vld1_f32 ((const float32_t*)x); }
-EIGEN_STRONG_INLINE void        vst1q_f32(float* to, float32x4_t from) { ::vst1q_f32((float32_t*)to,from); }
-EIGEN_STRONG_INLINE void        vst1_f32 (float* to, float32x2_t from) { ::vst1_f32 ((float32_t*)to,from); }
-#endif
-
-template<> struct unpacket_traits<Packet4f> { typedef float  type; enum {size=4}; };
-template<> struct unpacket_traits<Packet4i> { typedef int    type; enum {size=4}; };
-
-template<> EIGEN_STRONG_INLINE Packet4f pset1<Packet4f>(const float&  from) { return vdupq_n_f32(from); }
-template<> EIGEN_STRONG_INLINE Packet4i pset1<Packet4i>(const int&    from)   { return vdupq_n_s32(from); }
-
-template<> EIGEN_STRONG_INLINE Packet4f plset<float>(const float& a)
-{
-  Packet4f countdown = EIGEN_INIT_NEON_PACKET4(0, 1, 2, 3);
-  return vaddq_f32(pset1<Packet4f>(a), countdown);
-}
-template<> EIGEN_STRONG_INLINE Packet4i plset<int>(const int& a)
-{
-  Packet4i countdown = EIGEN_INIT_NEON_PACKET4(0, 1, 2, 3);
-  return vaddq_s32(pset1<Packet4i>(a), countdown);
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f padd<Packet4f>(const Packet4f& a, const Packet4f& b) { return vaddq_f32(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i padd<Packet4i>(const Packet4i& a, const Packet4i& b) { return vaddq_s32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f psub<Packet4f>(const Packet4f& a, const Packet4f& b) { return vsubq_f32(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i psub<Packet4i>(const Packet4i& a, const Packet4i& b) { return vsubq_s32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pnegate(const Packet4f& a) { return vnegq_f32(a); }
-template<> EIGEN_STRONG_INLINE Packet4i pnegate(const Packet4i& a) { return vnegq_s32(a); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pconj(const Packet4f& a) { return a; }
-template<> EIGEN_STRONG_INLINE Packet4i pconj(const Packet4i& a) { return a; }
-
-template<> EIGEN_STRONG_INLINE Packet4f pmul<Packet4f>(const Packet4f& a, const Packet4f& b) { return vmulq_f32(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pmul<Packet4i>(const Packet4i& a, const Packet4i& b) { return vmulq_s32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pdiv<Packet4f>(const Packet4f& a, const Packet4f& b)
-{
-  Packet4f inv, restep, div;
-
-  // NEON does not offer a divide instruction, we have to do a reciprocal approximation
-  // However NEON in contrast to other SIMD engines (AltiVec/SSE), offers
-  // a reciprocal estimate AND a reciprocal step -which saves a few instructions
-  // vrecpeq_f32() returns an estimate to 1/b, which we will finetune with
-  // Newton-Raphson and vrecpsq_f32()
-  inv = vrecpeq_f32(b);
-
-  // This returns a differential, by which we will have to multiply inv to get a better
-  // approximation of 1/b.
-  restep = vrecpsq_f32(b, inv);
-  inv = vmulq_f32(restep, inv);
-
-  // Finally, multiply a by 1/b and get the wanted result of the division.
-  div = vmulq_f32(a, inv);
-
-  return div;
-}
-template<> EIGEN_STRONG_INLINE Packet4i pdiv<Packet4i>(const Packet4i& /*a*/, const Packet4i& /*b*/)
-{ eigen_assert(false && "packet integer division are not supported by NEON");
-  return pset1<Packet4i>(0);
-}
-
-// for some weird raisons, it has to be overloaded for packet of integers
-template<> EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f& a, const Packet4f& b, const Packet4f& c) { return vmlaq_f32(c,a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pmadd(const Packet4i& a, const Packet4i& b, const Packet4i& c) { return vmlaq_s32(c,a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pmin<Packet4f>(const Packet4f& a, const Packet4f& b) { return vminq_f32(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pmin<Packet4i>(const Packet4i& a, const Packet4i& b) { return vminq_s32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pmax<Packet4f>(const Packet4f& a, const Packet4f& b) { return vmaxq_f32(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pmax<Packet4i>(const Packet4i& a, const Packet4i& b) { return vmaxq_s32(a,b); }
-
-// Logical Operations are not supported for float, so we have to reinterpret casts using NEON intrinsics
-template<> EIGEN_STRONG_INLINE Packet4f pand<Packet4f>(const Packet4f& a, const Packet4f& b)
-{
-  return vreinterpretq_f32_u32(vandq_u32(vreinterpretq_u32_f32(a),vreinterpretq_u32_f32(b)));
-}
-template<> EIGEN_STRONG_INLINE Packet4i pand<Packet4i>(const Packet4i& a, const Packet4i& b) { return vandq_s32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f por<Packet4f>(const Packet4f& a, const Packet4f& b)
-{
-  return vreinterpretq_f32_u32(vorrq_u32(vreinterpretq_u32_f32(a),vreinterpretq_u32_f32(b)));
-}
-template<> EIGEN_STRONG_INLINE Packet4i por<Packet4i>(const Packet4i& a, const Packet4i& b) { return vorrq_s32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pxor<Packet4f>(const Packet4f& a, const Packet4f& b)
-{
-  return vreinterpretq_f32_u32(veorq_u32(vreinterpretq_u32_f32(a),vreinterpretq_u32_f32(b)));
-}
-template<> EIGEN_STRONG_INLINE Packet4i pxor<Packet4i>(const Packet4i& a, const Packet4i& b) { return veorq_s32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pandnot<Packet4f>(const Packet4f& a, const Packet4f& b)
-{
-  return vreinterpretq_f32_u32(vbicq_u32(vreinterpretq_u32_f32(a),vreinterpretq_u32_f32(b)));
-}
-template<> EIGEN_STRONG_INLINE Packet4i pandnot<Packet4i>(const Packet4i& a, const Packet4i& b) { return vbicq_s32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pload<Packet4f>(const float* from) { EIGEN_DEBUG_ALIGNED_LOAD return vld1q_f32(from); }
-template<> EIGEN_STRONG_INLINE Packet4i pload<Packet4i>(const int*   from) { EIGEN_DEBUG_ALIGNED_LOAD return vld1q_s32(from); }
-
-template<> EIGEN_STRONG_INLINE Packet4f ploadu<Packet4f>(const float* from) { EIGEN_DEBUG_UNALIGNED_LOAD return vld1q_f32(from); }
-template<> EIGEN_STRONG_INLINE Packet4i ploadu<Packet4i>(const int* from)   { EIGEN_DEBUG_UNALIGNED_LOAD return vld1q_s32(from); }
-
-template<> EIGEN_STRONG_INLINE Packet4f ploaddup<Packet4f>(const float*   from)
-{
-  float32x2_t lo, hi;
-  lo = vld1_dup_f32(from);
-  hi = vld1_dup_f32(from+1);
-  return vcombine_f32(lo, hi);
-}
-template<> EIGEN_STRONG_INLINE Packet4i ploaddup<Packet4i>(const int*     from)
-{
-  int32x2_t lo, hi;
-  lo = vld1_dup_s32(from);
-  hi = vld1_dup_s32(from+1);
-  return vcombine_s32(lo, hi);
-}
-
-template<> EIGEN_STRONG_INLINE void pstore<float>(float*   to, const Packet4f& from) { EIGEN_DEBUG_ALIGNED_STORE vst1q_f32(to, from); }
-template<> EIGEN_STRONG_INLINE void pstore<int>(int*       to, const Packet4i& from) { EIGEN_DEBUG_ALIGNED_STORE vst1q_s32(to, from); }
-
-template<> EIGEN_STRONG_INLINE void pstoreu<float>(float*  to, const Packet4f& from) { EIGEN_DEBUG_UNALIGNED_STORE vst1q_f32(to, from); }
-template<> EIGEN_STRONG_INLINE void pstoreu<int>(int*      to, const Packet4i& from) { EIGEN_DEBUG_UNALIGNED_STORE vst1q_s32(to, from); }
-
-template<> EIGEN_STRONG_INLINE void prefetch<float>(const float* addr) { EIGEN_ARM_PREFETCH(addr); }
-template<> EIGEN_STRONG_INLINE void prefetch<int>(const int*     addr) { EIGEN_ARM_PREFETCH(addr); }
-
-// FIXME only store the 2 first elements ?
-template<> EIGEN_STRONG_INLINE float  pfirst<Packet4f>(const Packet4f& a) { float EIGEN_ALIGN16 x[4]; vst1q_f32(x, a); return x[0]; }
-template<> EIGEN_STRONG_INLINE int    pfirst<Packet4i>(const Packet4i& a) { int   EIGEN_ALIGN16 x[4]; vst1q_s32(x, a); return x[0]; }
-
-template<> EIGEN_STRONG_INLINE Packet4f preverse(const Packet4f& a) {
-  float32x2_t a_lo, a_hi;
-  Packet4f a_r64;
-
-  a_r64 = vrev64q_f32(a);
-  a_lo = vget_low_f32(a_r64);
-  a_hi = vget_high_f32(a_r64);
-  return vcombine_f32(a_hi, a_lo);
-}
-template<> EIGEN_STRONG_INLINE Packet4i preverse(const Packet4i& a) {
-  int32x2_t a_lo, a_hi;
-  Packet4i a_r64;
-
-  a_r64 = vrev64q_s32(a);
-  a_lo = vget_low_s32(a_r64);
-  a_hi = vget_high_s32(a_r64);
-  return vcombine_s32(a_hi, a_lo);
-}
-template<> EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f& a) { return vabsq_f32(a); }
-template<> EIGEN_STRONG_INLINE Packet4i pabs(const Packet4i& a) { return vabsq_s32(a); }
-
-template<> EIGEN_STRONG_INLINE float predux<Packet4f>(const Packet4f& a)
-{
-  float32x2_t a_lo, a_hi, sum;
-
-  a_lo = vget_low_f32(a);
-  a_hi = vget_high_f32(a);
-  sum = vpadd_f32(a_lo, a_hi);
-  sum = vpadd_f32(sum, sum);
-  return vget_lane_f32(sum, 0);
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f preduxp<Packet4f>(const Packet4f* vecs)
-{
-  float32x4x2_t vtrn1, vtrn2, res1, res2;
-  Packet4f sum1, sum2, sum;
-
-  // NEON zip performs interleaving of the supplied vectors.
-  // We perform two interleaves in a row to acquire the transposed vector
-  vtrn1 = vzipq_f32(vecs[0], vecs[2]);
-  vtrn2 = vzipq_f32(vecs[1], vecs[3]);
-  res1 = vzipq_f32(vtrn1.val[0], vtrn2.val[0]);
-  res2 = vzipq_f32(vtrn1.val[1], vtrn2.val[1]);
-
-  // Do the addition of the resulting vectors
-  sum1 = vaddq_f32(res1.val[0], res1.val[1]);
-  sum2 = vaddq_f32(res2.val[0], res2.val[1]);
-  sum = vaddq_f32(sum1, sum2);
-
-  return sum;
-}
-
-template<> EIGEN_STRONG_INLINE int predux<Packet4i>(const Packet4i& a)
-{
-  int32x2_t a_lo, a_hi, sum;
-
-  a_lo = vget_low_s32(a);
-  a_hi = vget_high_s32(a);
-  sum = vpadd_s32(a_lo, a_hi);
-  sum = vpadd_s32(sum, sum);
-  return vget_lane_s32(sum, 0);
-}
-
-template<> EIGEN_STRONG_INLINE Packet4i preduxp<Packet4i>(const Packet4i* vecs)
-{
-  int32x4x2_t vtrn1, vtrn2, res1, res2;
-  Packet4i sum1, sum2, sum;
-
-  // NEON zip performs interleaving of the supplied vectors.
-  // We perform two interleaves in a row to acquire the transposed vector
-  vtrn1 = vzipq_s32(vecs[0], vecs[2]);
-  vtrn2 = vzipq_s32(vecs[1], vecs[3]);
-  res1 = vzipq_s32(vtrn1.val[0], vtrn2.val[0]);
-  res2 = vzipq_s32(vtrn1.val[1], vtrn2.val[1]);
-
-  // Do the addition of the resulting vectors
-  sum1 = vaddq_s32(res1.val[0], res1.val[1]);
-  sum2 = vaddq_s32(res2.val[0], res2.val[1]);
-  sum = vaddq_s32(sum1, sum2);
-
-  return sum;
-}
-
-// Other reduction functions:
-// mul
-template<> EIGEN_STRONG_INLINE float predux_mul<Packet4f>(const Packet4f& a)
-{
-  float32x2_t a_lo, a_hi, prod;
-
-  // Get a_lo = |a1|a2| and a_hi = |a3|a4|
-  a_lo = vget_low_f32(a);
-  a_hi = vget_high_f32(a);
-  // Get the product of a_lo * a_hi -> |a1*a3|a2*a4|
-  prod = vmul_f32(a_lo, a_hi);
-  // Multiply prod with its swapped value |a2*a4|a1*a3|
-  prod = vmul_f32(prod, vrev64_f32(prod));
-
-  return vget_lane_f32(prod, 0);
-}
-template<> EIGEN_STRONG_INLINE int predux_mul<Packet4i>(const Packet4i& a)
-{
-  int32x2_t a_lo, a_hi, prod;
-
-  // Get a_lo = |a1|a2| and a_hi = |a3|a4|
-  a_lo = vget_low_s32(a);
-  a_hi = vget_high_s32(a);
-  // Get the product of a_lo * a_hi -> |a1*a3|a2*a4|
-  prod = vmul_s32(a_lo, a_hi);
-  // Multiply prod with its swapped value |a2*a4|a1*a3|
-  prod = vmul_s32(prod, vrev64_s32(prod));
-
-  return vget_lane_s32(prod, 0);
-}
-
-// min
-template<> EIGEN_STRONG_INLINE float predux_min<Packet4f>(const Packet4f& a)
-{
-  float32x2_t a_lo, a_hi, min;
-
-  a_lo = vget_low_f32(a);
-  a_hi = vget_high_f32(a);
-  min = vpmin_f32(a_lo, a_hi);
-  min = vpmin_f32(min, min);
-
-  return vget_lane_f32(min, 0);
-}
-
-template<> EIGEN_STRONG_INLINE int predux_min<Packet4i>(const Packet4i& a)
-{
-  int32x2_t a_lo, a_hi, min;
-
-  a_lo = vget_low_s32(a);
-  a_hi = vget_high_s32(a);
-  min = vpmin_s32(a_lo, a_hi);
-  min = vpmin_s32(min, min);
-  
-  return vget_lane_s32(min, 0);
-}
-
-// max
-template<> EIGEN_STRONG_INLINE float predux_max<Packet4f>(const Packet4f& a)
-{
-  float32x2_t a_lo, a_hi, max;
-
-  a_lo = vget_low_f32(a);
-  a_hi = vget_high_f32(a);
-  max = vpmax_f32(a_lo, a_hi);
-  max = vpmax_f32(max, max);
-
-  return vget_lane_f32(max, 0);
-}
-
-template<> EIGEN_STRONG_INLINE int predux_max<Packet4i>(const Packet4i& a)
-{
-  int32x2_t a_lo, a_hi, max;
-
-  a_lo = vget_low_s32(a);
-  a_hi = vget_high_s32(a);
-  max = vpmax_s32(a_lo, a_hi);
-  max = vpmax_s32(max, max);
-
-  return vget_lane_s32(max, 0);
-}
-
-// this PALIGN_NEON business is to work around a bug in LLVM Clang 3.0 causing incorrect compilation errors,
-// see bug 347 and this LLVM bug: http://llvm.org/bugs/show_bug.cgi?id=11074
-#define PALIGN_NEON(Offset,Type,Command) \
-template<>\
-struct palign_impl<Offset,Type>\
-{\
-    EIGEN_STRONG_INLINE static void run(Type& first, const Type& second)\
-    {\
-        if (Offset!=0)\
-            first = Command(first, second, Offset);\
-    }\
-};\
-
-PALIGN_NEON(0,Packet4f,vextq_f32)
-PALIGN_NEON(1,Packet4f,vextq_f32)
-PALIGN_NEON(2,Packet4f,vextq_f32)
-PALIGN_NEON(3,Packet4f,vextq_f32)
-PALIGN_NEON(0,Packet4i,vextq_s32)
-PALIGN_NEON(1,Packet4i,vextq_s32)
-PALIGN_NEON(2,Packet4i,vextq_s32)
-PALIGN_NEON(3,Packet4i,vextq_s32)
-    
-#undef PALIGN_NEON
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_PACKET_MATH_NEON_H
diff --git a/lib/Eigen/src/Core/arch/SSE/CMakeLists.txt b/lib/Eigen/src/Core/arch/SSE/CMakeLists.txt
deleted file mode 100644
index 46ea7cc6..00000000
--- a/lib/Eigen/src/Core/arch/SSE/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Core_arch_SSE_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Core_arch_SSE_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/SSE COMPONENT Devel
-)
diff --git a/lib/Eigen/src/Core/arch/SSE/Complex.h b/lib/Eigen/src/Core/arch/SSE/Complex.h
deleted file mode 100644
index 91bba5e3..00000000
--- a/lib/Eigen/src/Core/arch/SSE/Complex.h
+++ /dev/null
@@ -1,442 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COMPLEX_SSE_H
-#define EIGEN_COMPLEX_SSE_H
-
-namespace Eigen {
-
-namespace internal {
-
-//---------- float ----------
-struct Packet2cf
-{
-  EIGEN_STRONG_INLINE Packet2cf() {}
-  EIGEN_STRONG_INLINE explicit Packet2cf(const __m128& a) : v(a) {}
-  __m128  v;
-};
-
-template<> struct packet_traits<std::complex<float> >  : default_packet_traits
-{
-  typedef Packet2cf type;
-  enum {
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size = 2,
-
-    HasAdd    = 1,
-    HasSub    = 1,
-    HasMul    = 1,
-    HasDiv    = 1,
-    HasNegate = 1,
-    HasAbs    = 0,
-    HasAbs2   = 0,
-    HasMin    = 0,
-    HasMax    = 0,
-    HasSetLinear = 0
-  };
-};
-
-template<> struct unpacket_traits<Packet2cf> { typedef std::complex<float> type; enum {size=2}; };
-
-template<> EIGEN_STRONG_INLINE Packet2cf padd<Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(_mm_add_ps(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf psub<Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(_mm_sub_ps(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf& a)
-{
-  const __m128 mask = _mm_castsi128_ps(_mm_setr_epi32(0x80000000,0x80000000,0x80000000,0x80000000));
-  return Packet2cf(_mm_xor_ps(a.v,mask));
-}
-template<> EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf& a)
-{
-  const __m128 mask = _mm_castsi128_ps(_mm_setr_epi32(0x00000000,0x80000000,0x00000000,0x80000000));
-  return Packet2cf(_mm_xor_ps(a.v,mask));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf pmul<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  // TODO optimize it for SSE3 and 4
-  #ifdef EIGEN_VECTORIZE_SSE3
-  return Packet2cf(_mm_addsub_ps(_mm_mul_ps(_mm_moveldup_ps(a.v), b.v),
-                                 _mm_mul_ps(_mm_movehdup_ps(a.v),
-                                            vec4f_swizzle1(b.v, 1, 0, 3, 2))));
-//   return Packet2cf(_mm_addsub_ps(_mm_mul_ps(vec4f_swizzle1(a.v, 0, 0, 2, 2), b.v),
-//                                  _mm_mul_ps(vec4f_swizzle1(a.v, 1, 1, 3, 3),
-//                                             vec4f_swizzle1(b.v, 1, 0, 3, 2))));
-  #else
-  const __m128 mask = _mm_castsi128_ps(_mm_setr_epi32(0x80000000,0x00000000,0x80000000,0x00000000));
-  return Packet2cf(_mm_add_ps(_mm_mul_ps(vec4f_swizzle1(a.v, 0, 0, 2, 2), b.v),
-                              _mm_xor_ps(_mm_mul_ps(vec4f_swizzle1(a.v, 1, 1, 3, 3),
-                                                    vec4f_swizzle1(b.v, 1, 0, 3, 2)), mask)));
-  #endif
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf pand   <Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(_mm_and_ps(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf por    <Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(_mm_or_ps(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf pxor   <Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(_mm_xor_ps(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet2cf pandnot<Packet2cf>(const Packet2cf& a, const Packet2cf& b) { return Packet2cf(_mm_andnot_ps(a.v,b.v)); }
-
-template<> EIGEN_STRONG_INLINE Packet2cf pload <Packet2cf>(const std::complex<float>* from) { EIGEN_DEBUG_ALIGNED_LOAD return Packet2cf(pload<Packet4f>(&numext::real_ref(*from))); }
-template<> EIGEN_STRONG_INLINE Packet2cf ploadu<Packet2cf>(const std::complex<float>* from) { EIGEN_DEBUG_UNALIGNED_LOAD return Packet2cf(ploadu<Packet4f>(&numext::real_ref(*from))); }
-
-template<> EIGEN_STRONG_INLINE Packet2cf pset1<Packet2cf>(const std::complex<float>&  from)
-{
-  Packet2cf res;
-#if EIGEN_GNUC_AT_MOST(4,2)
-  // Workaround annoying "may be used uninitialized in this function" warning with gcc 4.2
-  res.v = _mm_loadl_pi(_mm_set1_ps(0.0f), reinterpret_cast<const __m64*>(&from));
-#elif EIGEN_GNUC_AT_LEAST(4,6)
-  // Suppress annoying "may be used uninitialized in this function" warning with gcc >= 4.6
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wuninitialized"
-  res.v = _mm_loadl_pi(res.v, (const __m64*)&from);
-  #pragma GCC diagnostic pop
-#else
-  res.v = _mm_loadl_pi(res.v, (const __m64*)&from);
-#endif
-  return Packet2cf(_mm_movelh_ps(res.v,res.v));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf ploaddup<Packet2cf>(const std::complex<float>* from) { return pset1<Packet2cf>(*from); }
-
-template<> EIGEN_STRONG_INLINE void pstore <std::complex<float> >(std::complex<float> *   to, const Packet2cf& from) { EIGEN_DEBUG_ALIGNED_STORE pstore(&numext::real_ref(*to), from.v); }
-template<> EIGEN_STRONG_INLINE void pstoreu<std::complex<float> >(std::complex<float> *   to, const Packet2cf& from) { EIGEN_DEBUG_UNALIGNED_STORE pstoreu(&numext::real_ref(*to), from.v); }
-
-template<> EIGEN_STRONG_INLINE void prefetch<std::complex<float> >(const std::complex<float> *   addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); }
-
-template<> EIGEN_STRONG_INLINE std::complex<float>  pfirst<Packet2cf>(const Packet2cf& a)
-{
-  #if EIGEN_GNUC_AT_MOST(4,3)
-  // Workaround gcc 4.2 ICE - this is not performance wise ideal, but who cares...
-  // This workaround also fix invalid code generation with gcc 4.3
-  EIGEN_ALIGN16 std::complex<float> res[2];
-  _mm_store_ps((float*)res, a.v);
-  return res[0];
-  #else
-  std::complex<float> res;
-  _mm_storel_pi((__m64*)&res, a.v);
-  return res;
-  #endif
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf& a) { return Packet2cf(_mm_castpd_ps(preverse(_mm_castps_pd(a.v)))); }
-
-template<> EIGEN_STRONG_INLINE std::complex<float> predux<Packet2cf>(const Packet2cf& a)
-{
-  return pfirst(Packet2cf(_mm_add_ps(a.v, _mm_movehl_ps(a.v,a.v))));
-}
-
-template<> EIGEN_STRONG_INLINE Packet2cf preduxp<Packet2cf>(const Packet2cf* vecs)
-{
-  return Packet2cf(_mm_add_ps(_mm_movelh_ps(vecs[0].v,vecs[1].v), _mm_movehl_ps(vecs[1].v,vecs[0].v)));
-}
-
-template<> EIGEN_STRONG_INLINE std::complex<float> predux_mul<Packet2cf>(const Packet2cf& a)
-{
-  return pfirst(pmul(a, Packet2cf(_mm_movehl_ps(a.v,a.v))));
-}
-
-template<int Offset>
-struct palign_impl<Offset,Packet2cf>
-{
-  static EIGEN_STRONG_INLINE void run(Packet2cf& first, const Packet2cf& second)
-  {
-    if (Offset==1)
-    {
-      first.v = _mm_movehl_ps(first.v, first.v);
-      first.v = _mm_movelh_ps(first.v, second.v);
-    }
-  }
-};
-
-template<> struct conj_helper<Packet2cf, Packet2cf, false,true>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& a, const Packet2cf& b) const
-  {
-    #ifdef EIGEN_VECTORIZE_SSE3
-    return internal::pmul(a, pconj(b));
-    #else
-    const __m128 mask = _mm_castsi128_ps(_mm_setr_epi32(0x00000000,0x80000000,0x00000000,0x80000000));
-    return Packet2cf(_mm_add_ps(_mm_xor_ps(_mm_mul_ps(vec4f_swizzle1(a.v, 0, 0, 2, 2), b.v), mask),
-                                _mm_mul_ps(vec4f_swizzle1(a.v, 1, 1, 3, 3),
-                                           vec4f_swizzle1(b.v, 1, 0, 3, 2))));
-    #endif
-  }
-};
-
-template<> struct conj_helper<Packet2cf, Packet2cf, true,false>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& a, const Packet2cf& b) const
-  {
-    #ifdef EIGEN_VECTORIZE_SSE3
-    return internal::pmul(pconj(a), b);
-    #else
-    const __m128 mask = _mm_castsi128_ps(_mm_setr_epi32(0x00000000,0x80000000,0x00000000,0x80000000));
-    return Packet2cf(_mm_add_ps(_mm_mul_ps(vec4f_swizzle1(a.v, 0, 0, 2, 2), b.v),
-                                _mm_xor_ps(_mm_mul_ps(vec4f_swizzle1(a.v, 1, 1, 3, 3),
-                                                      vec4f_swizzle1(b.v, 1, 0, 3, 2)), mask)));
-    #endif
-  }
-};
-
-template<> struct conj_helper<Packet2cf, Packet2cf, true,true>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& a, const Packet2cf& b) const
-  {
-    #ifdef EIGEN_VECTORIZE_SSE3
-    return pconj(internal::pmul(a, b));
-    #else
-    const __m128 mask = _mm_castsi128_ps(_mm_setr_epi32(0x00000000,0x80000000,0x00000000,0x80000000));
-    return Packet2cf(_mm_sub_ps(_mm_xor_ps(_mm_mul_ps(vec4f_swizzle1(a.v, 0, 0, 2, 2), b.v), mask),
-                                _mm_mul_ps(vec4f_swizzle1(a.v, 1, 1, 3, 3),
-                                           vec4f_swizzle1(b.v, 1, 0, 3, 2))));
-    #endif
-  }
-};
-
-template<> struct conj_helper<Packet4f, Packet2cf, false,false>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, const Packet2cf& c) const
-  { return padd(c, pmul(x,y)); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) const
-  { return Packet2cf(Eigen::internal::pmul(x, y.v)); }
-};
-
-template<> struct conj_helper<Packet2cf, Packet4f, false,false>
-{
-  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, const Packet2cf& c) const
-  { return padd(c, pmul(x,y)); }
-
-  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) const
-  { return Packet2cf(Eigen::internal::pmul(x.v, y)); }
-};
-
-template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
-{
-  // TODO optimize it for SSE3 and 4
-  Packet2cf res = conj_helper<Packet2cf,Packet2cf,false,true>().pmul(a,b);
-  __m128 s = _mm_mul_ps(b.v,b.v);
-  return Packet2cf(_mm_div_ps(res.v,_mm_add_ps(s,_mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(s), 0xb1)))));
-}
-
-EIGEN_STRONG_INLINE Packet2cf pcplxflip/*<Packet2cf>*/(const Packet2cf& x)
-{
-  return Packet2cf(vec4f_swizzle1(x.v, 1, 0, 3, 2));
-}
-
-
-//---------- double ----------
-struct Packet1cd
-{
-  EIGEN_STRONG_INLINE Packet1cd() {}
-  EIGEN_STRONG_INLINE explicit Packet1cd(const __m128d& a) : v(a) {}
-  __m128d  v;
-};
-
-template<> struct packet_traits<std::complex<double> >  : default_packet_traits
-{
-  typedef Packet1cd type;
-  enum {
-    Vectorizable = 1,
-    AlignedOnScalar = 0,
-    size = 1,
-
-    HasAdd    = 1,
-    HasSub    = 1,
-    HasMul    = 1,
-    HasDiv    = 1,
-    HasNegate = 1,
-    HasAbs    = 0,
-    HasAbs2   = 0,
-    HasMin    = 0,
-    HasMax    = 0,
-    HasSetLinear = 0
-  };
-};
-
-template<> struct unpacket_traits<Packet1cd> { typedef std::complex<double> type; enum {size=1}; };
-
-template<> EIGEN_STRONG_INLINE Packet1cd padd<Packet1cd>(const Packet1cd& a, const Packet1cd& b) { return Packet1cd(_mm_add_pd(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet1cd psub<Packet1cd>(const Packet1cd& a, const Packet1cd& b) { return Packet1cd(_mm_sub_pd(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet1cd pnegate(const Packet1cd& a) { return Packet1cd(pnegate(a.v)); }
-template<> EIGEN_STRONG_INLINE Packet1cd pconj(const Packet1cd& a)
-{
-  const __m128d mask = _mm_castsi128_pd(_mm_set_epi32(0x80000000,0x0,0x0,0x0));
-  return Packet1cd(_mm_xor_pd(a.v,mask));
-}
-
-template<> EIGEN_STRONG_INLINE Packet1cd pmul<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
-{
-  // TODO optimize it for SSE3 and 4
-  #ifdef EIGEN_VECTORIZE_SSE3
-  return Packet1cd(_mm_addsub_pd(_mm_mul_pd(vec2d_swizzle1(a.v, 0, 0), b.v),
-                                 _mm_mul_pd(vec2d_swizzle1(a.v, 1, 1),
-                                            vec2d_swizzle1(b.v, 1, 0))));
-  #else
-  const __m128d mask = _mm_castsi128_pd(_mm_set_epi32(0x0,0x0,0x80000000,0x0));
-  return Packet1cd(_mm_add_pd(_mm_mul_pd(vec2d_swizzle1(a.v, 0, 0), b.v),
-                              _mm_xor_pd(_mm_mul_pd(vec2d_swizzle1(a.v, 1, 1),
-                                                    vec2d_swizzle1(b.v, 1, 0)), mask)));
-  #endif
-}
-
-template<> EIGEN_STRONG_INLINE Packet1cd pand   <Packet1cd>(const Packet1cd& a, const Packet1cd& b) { return Packet1cd(_mm_and_pd(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet1cd por    <Packet1cd>(const Packet1cd& a, const Packet1cd& b) { return Packet1cd(_mm_or_pd(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet1cd pxor   <Packet1cd>(const Packet1cd& a, const Packet1cd& b) { return Packet1cd(_mm_xor_pd(a.v,b.v)); }
-template<> EIGEN_STRONG_INLINE Packet1cd pandnot<Packet1cd>(const Packet1cd& a, const Packet1cd& b) { return Packet1cd(_mm_andnot_pd(a.v,b.v)); }
-
-// FIXME force unaligned load, this is a temporary fix
-template<> EIGEN_STRONG_INLINE Packet1cd pload <Packet1cd>(const std::complex<double>* from)
-{ EIGEN_DEBUG_ALIGNED_LOAD return Packet1cd(pload<Packet2d>((const double*)from)); }
-template<> EIGEN_STRONG_INLINE Packet1cd ploadu<Packet1cd>(const std::complex<double>* from)
-{ EIGEN_DEBUG_UNALIGNED_LOAD return Packet1cd(ploadu<Packet2d>((const double*)from)); }
-template<> EIGEN_STRONG_INLINE Packet1cd pset1<Packet1cd>(const std::complex<double>&  from)
-{ /* here we really have to use unaligned loads :( */ return ploadu<Packet1cd>(&from); }
-
-template<> EIGEN_STRONG_INLINE Packet1cd ploaddup<Packet1cd>(const std::complex<double>* from) { return pset1<Packet1cd>(*from); }
-
-// FIXME force unaligned store, this is a temporary fix
-template<> EIGEN_STRONG_INLINE void pstore <std::complex<double> >(std::complex<double> *   to, const Packet1cd& from) { EIGEN_DEBUG_ALIGNED_STORE pstore((double*)to, from.v); }
-template<> EIGEN_STRONG_INLINE void pstoreu<std::complex<double> >(std::complex<double> *   to, const Packet1cd& from) { EIGEN_DEBUG_UNALIGNED_STORE pstoreu((double*)to, from.v); }
-
-template<> EIGEN_STRONG_INLINE void prefetch<std::complex<double> >(const std::complex<double> *   addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); }
-
-template<> EIGEN_STRONG_INLINE std::complex<double>  pfirst<Packet1cd>(const Packet1cd& a)
-{
-  EIGEN_ALIGN16 double res[2];
-  _mm_store_pd(res, a.v);
-  return std::complex<double>(res[0],res[1]);
-}
-
-template<> EIGEN_STRONG_INLINE Packet1cd preverse(const Packet1cd& a) { return a; }
-
-template<> EIGEN_STRONG_INLINE std::complex<double> predux<Packet1cd>(const Packet1cd& a)
-{
-  return pfirst(a);
-}
-
-template<> EIGEN_STRONG_INLINE Packet1cd preduxp<Packet1cd>(const Packet1cd* vecs)
-{
-  return vecs[0];
-}
-
-template<> EIGEN_STRONG_INLINE std::complex<double> predux_mul<Packet1cd>(const Packet1cd& a)
-{
-  return pfirst(a);
-}
-
-template<int Offset>
-struct palign_impl<Offset,Packet1cd>
-{
-  static EIGEN_STRONG_INLINE void run(Packet1cd& /*first*/, const Packet1cd& /*second*/)
-  {
-    // FIXME is it sure we never have to align a Packet1cd?
-    // Even though a std::complex<double> has 16 bytes, it is not necessarily aligned on a 16 bytes boundary...
-  }
-};
-
-template<> struct conj_helper<Packet1cd, Packet1cd, false,true>
-{
-  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet1cd& y, const Packet1cd& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& a, const Packet1cd& b) const
-  {
-    #ifdef EIGEN_VECTORIZE_SSE3
-    return internal::pmul(a, pconj(b));
-    #else
-    const __m128d mask = _mm_castsi128_pd(_mm_set_epi32(0x80000000,0x0,0x0,0x0));
-    return Packet1cd(_mm_add_pd(_mm_xor_pd(_mm_mul_pd(vec2d_swizzle1(a.v, 0, 0), b.v), mask),
-                                _mm_mul_pd(vec2d_swizzle1(a.v, 1, 1),
-                                           vec2d_swizzle1(b.v, 1, 0))));
-    #endif
-  }
-};
-
-template<> struct conj_helper<Packet1cd, Packet1cd, true,false>
-{
-  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet1cd& y, const Packet1cd& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& a, const Packet1cd& b) const
-  {
-    #ifdef EIGEN_VECTORIZE_SSE3
-    return internal::pmul(pconj(a), b);
-    #else
-    const __m128d mask = _mm_castsi128_pd(_mm_set_epi32(0x80000000,0x0,0x0,0x0));
-    return Packet1cd(_mm_add_pd(_mm_mul_pd(vec2d_swizzle1(a.v, 0, 0), b.v),
-                                _mm_xor_pd(_mm_mul_pd(vec2d_swizzle1(a.v, 1, 1),
-                                                      vec2d_swizzle1(b.v, 1, 0)), mask)));
-    #endif
-  }
-};
-
-template<> struct conj_helper<Packet1cd, Packet1cd, true,true>
-{
-  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet1cd& y, const Packet1cd& c) const
-  { return padd(pmul(x,y),c); }
-
-  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& a, const Packet1cd& b) const
-  {
-    #ifdef EIGEN_VECTORIZE_SSE3
-    return pconj(internal::pmul(a, b));
-    #else
-    const __m128d mask = _mm_castsi128_pd(_mm_set_epi32(0x80000000,0x0,0x0,0x0));
-    return Packet1cd(_mm_sub_pd(_mm_xor_pd(_mm_mul_pd(vec2d_swizzle1(a.v, 0, 0), b.v), mask),
-                                _mm_mul_pd(vec2d_swizzle1(a.v, 1, 1),
-                                           vec2d_swizzle1(b.v, 1, 0))));
-    #endif
-  }
-};
-
-template<> struct conj_helper<Packet2d, Packet1cd, false,false>
-{
-  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, const Packet1cd& c) const
-  { return padd(c, pmul(x,y)); }
-
-  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) const
-  { return Packet1cd(Eigen::internal::pmul(x, y.v)); }
-};
-
-template<> struct conj_helper<Packet1cd, Packet2d, false,false>
-{
-  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, const Packet1cd& c) const
-  { return padd(c, pmul(x,y)); }
-
-  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) const
-  { return Packet1cd(Eigen::internal::pmul(x.v, y)); }
-};
-
-template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
-{
-  // TODO optimize it for SSE3 and 4
-  Packet1cd res = conj_helper<Packet1cd,Packet1cd,false,true>().pmul(a,b);
-  __m128d s = _mm_mul_pd(b.v,b.v);
-  return Packet1cd(_mm_div_pd(res.v, _mm_add_pd(s,_mm_shuffle_pd(s, s, 0x1))));
-}
-
-EIGEN_STRONG_INLINE Packet1cd pcplxflip/*<Packet1cd>*/(const Packet1cd& x)
-{
-  return Packet1cd(preverse(x.v));
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_COMPLEX_SSE_H
diff --git a/lib/Eigen/src/Core/arch/SSE/MathFunctions.h b/lib/Eigen/src/Core/arch/SSE/MathFunctions.h
deleted file mode 100644
index 2b07168a..00000000
--- a/lib/Eigen/src/Core/arch/SSE/MathFunctions.h
+++ /dev/null
@@ -1,475 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2007 Julien Pommier
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* The sin, cos, exp, and log functions of this file come from
- * Julien Pommier's sse math library: http://gruntthepeon.free.fr/ssemath/
- */
-
-#ifndef EIGEN_MATH_FUNCTIONS_SSE_H
-#define EIGEN_MATH_FUNCTIONS_SSE_H
-
-namespace Eigen {
-
-namespace internal {
-
-template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
-Packet4f plog<Packet4f>(const Packet4f& _x)
-{
-  Packet4f x = _x;
-  _EIGEN_DECLARE_CONST_Packet4f(1 , 1.0f);
-  _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
-  _EIGEN_DECLARE_CONST_Packet4i(0x7f, 0x7f);
-
-  _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(inv_mant_mask, ~0x7f800000);
-
-  /* the smallest non denormalized float number */
-  _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(min_norm_pos,  0x00800000);
-  _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(minus_inf,     0xff800000);//-1.f/0.f);
-  
-  /* natural logarithm computed for 4 simultaneous float
-    return NaN for x <= 0
-  */
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_SQRTHF, 0.707106781186547524f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p0, 7.0376836292E-2f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p1, - 1.1514610310E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p2, 1.1676998740E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p3, - 1.2420140846E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p4, + 1.4249322787E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p5, - 1.6668057665E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p6, + 2.0000714765E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p7, - 2.4999993993E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p8, + 3.3333331174E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_q1, -2.12194440e-4f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_log_q2, 0.693359375f);
-
-
-  Packet4i emm0;
-
-  Packet4f invalid_mask = _mm_cmpnge_ps(x, _mm_setzero_ps()); // not greater equal is true if x is NaN
-  Packet4f iszero_mask = _mm_cmpeq_ps(x, _mm_setzero_ps());
-
-  x = pmax(x, p4f_min_norm_pos);  /* cut off denormalized stuff */
-  emm0 = _mm_srli_epi32(_mm_castps_si128(x), 23);
-
-  /* keep only the fractional part */
-  x = _mm_and_ps(x, p4f_inv_mant_mask);
-  x = _mm_or_ps(x, p4f_half);
-
-  emm0 = _mm_sub_epi32(emm0, p4i_0x7f);
-  Packet4f e = padd(_mm_cvtepi32_ps(emm0), p4f_1);
-
-  /* part2:
-     if( x < SQRTHF ) {
-       e -= 1;
-       x = x + x - 1.0;
-     } else { x = x - 1.0; }
-  */
-  Packet4f mask = _mm_cmplt_ps(x, p4f_cephes_SQRTHF);
-  Packet4f tmp = _mm_and_ps(x, mask);
-  x = psub(x, p4f_1);
-  e = psub(e, _mm_and_ps(p4f_1, mask));
-  x = padd(x, tmp);
-
-  Packet4f x2 = pmul(x,x);
-  Packet4f x3 = pmul(x2,x);
-
-  Packet4f y, y1, y2;
-  y  = pmadd(p4f_cephes_log_p0, x, p4f_cephes_log_p1);
-  y1 = pmadd(p4f_cephes_log_p3, x, p4f_cephes_log_p4);
-  y2 = pmadd(p4f_cephes_log_p6, x, p4f_cephes_log_p7);
-  y  = pmadd(y , x, p4f_cephes_log_p2);
-  y1 = pmadd(y1, x, p4f_cephes_log_p5);
-  y2 = pmadd(y2, x, p4f_cephes_log_p8);
-  y = pmadd(y, x3, y1);
-  y = pmadd(y, x3, y2);
-  y = pmul(y, x3);
-
-  y1 = pmul(e, p4f_cephes_log_q1);
-  tmp = pmul(x2, p4f_half);
-  y = padd(y, y1);
-  x = psub(x, tmp);
-  y2 = pmul(e, p4f_cephes_log_q2);
-  x = padd(x, y);
-  x = padd(x, y2);
-  // negative arg will be NAN, 0 will be -INF
-  return _mm_or_ps(_mm_andnot_ps(iszero_mask, _mm_or_ps(x, invalid_mask)),
-                   _mm_and_ps(iszero_mask, p4f_minus_inf));
-}
-
-template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
-Packet4f pexp<Packet4f>(const Packet4f& _x)
-{
-  Packet4f x = _x;
-  _EIGEN_DECLARE_CONST_Packet4f(1 , 1.0f);
-  _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
-  _EIGEN_DECLARE_CONST_Packet4i(0x7f, 0x7f);
-
-
-  _EIGEN_DECLARE_CONST_Packet4f(exp_hi,  88.3762626647950f);
-  _EIGEN_DECLARE_CONST_Packet4f(exp_lo, -88.3762626647949f);
-
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_LOG2EF, 1.44269504088896341f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_C1, 0.693359375f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_C2, -2.12194440e-4f);
-
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p0, 1.9875691500E-4f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p1, 1.3981999507E-3f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p2, 8.3334519073E-3f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p3, 4.1665795894E-2f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p4, 1.6666665459E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p5, 5.0000001201E-1f);
-
-  Packet4f tmp, fx;
-  Packet4i emm0;
-
-  // clamp x
-  x = pmax(pmin(x, p4f_exp_hi), p4f_exp_lo);
-
-  /* express exp(x) as exp(g + n*log(2)) */
-  fx = pmadd(x, p4f_cephes_LOG2EF, p4f_half);
-
-#ifdef EIGEN_VECTORIZE_SSE4_1
-  fx = _mm_floor_ps(fx);
-#else
-  emm0 = _mm_cvttps_epi32(fx);
-  tmp  = _mm_cvtepi32_ps(emm0);
-  /* if greater, substract 1 */
-  Packet4f mask = _mm_cmpgt_ps(tmp, fx);
-  mask = _mm_and_ps(mask, p4f_1);
-  fx = psub(tmp, mask);
-#endif
-
-  tmp = pmul(fx, p4f_cephes_exp_C1);
-  Packet4f z = pmul(fx, p4f_cephes_exp_C2);
-  x = psub(x, tmp);
-  x = psub(x, z);
-
-  z = pmul(x,x);
-
-  Packet4f y = p4f_cephes_exp_p0;
-  y = pmadd(y, x, p4f_cephes_exp_p1);
-  y = pmadd(y, x, p4f_cephes_exp_p2);
-  y = pmadd(y, x, p4f_cephes_exp_p3);
-  y = pmadd(y, x, p4f_cephes_exp_p4);
-  y = pmadd(y, x, p4f_cephes_exp_p5);
-  y = pmadd(y, z, x);
-  y = padd(y, p4f_1);
-
-  // build 2^n
-  emm0 = _mm_cvttps_epi32(fx);
-  emm0 = _mm_add_epi32(emm0, p4i_0x7f);
-  emm0 = _mm_slli_epi32(emm0, 23);
-  return pmax(pmul(y, Packet4f(_mm_castsi128_ps(emm0))), _x);
-}
-template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
-Packet2d pexp<Packet2d>(const Packet2d& _x)
-{
-  Packet2d x = _x;
-
-  _EIGEN_DECLARE_CONST_Packet2d(1 , 1.0);
-  _EIGEN_DECLARE_CONST_Packet2d(2 , 2.0);
-  _EIGEN_DECLARE_CONST_Packet2d(half, 0.5);
-
-  _EIGEN_DECLARE_CONST_Packet2d(exp_hi,  709.437);
-  _EIGEN_DECLARE_CONST_Packet2d(exp_lo, -709.436139303);
-
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_LOG2EF, 1.4426950408889634073599);
-
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_p0, 1.26177193074810590878e-4);
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_p1, 3.02994407707441961300e-2);
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_p2, 9.99999999999999999910e-1);
-
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q0, 3.00198505138664455042e-6);
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q1, 2.52448340349684104192e-3);
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q2, 2.27265548208155028766e-1);
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q3, 2.00000000000000000009e0);
-
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_C1, 0.693145751953125);
-  _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_C2, 1.42860682030941723212e-6);
-  static const __m128i p4i_1023_0 = _mm_setr_epi32(1023, 1023, 0, 0);
-
-  Packet2d tmp, fx;
-  Packet4i emm0;
-
-  // clamp x
-  x = pmax(pmin(x, p2d_exp_hi), p2d_exp_lo);
-  /* express exp(x) as exp(g + n*log(2)) */
-  fx = pmadd(p2d_cephes_LOG2EF, x, p2d_half);
-
-#ifdef EIGEN_VECTORIZE_SSE4_1
-  fx = _mm_floor_pd(fx);
-#else
-  emm0 = _mm_cvttpd_epi32(fx);
-  tmp  = _mm_cvtepi32_pd(emm0);
-  /* if greater, substract 1 */
-  Packet2d mask = _mm_cmpgt_pd(tmp, fx);
-  mask = _mm_and_pd(mask, p2d_1);
-  fx = psub(tmp, mask);
-#endif
-
-  tmp = pmul(fx, p2d_cephes_exp_C1);
-  Packet2d z = pmul(fx, p2d_cephes_exp_C2);
-  x = psub(x, tmp);
-  x = psub(x, z);
-
-  Packet2d x2 = pmul(x,x);
-
-  Packet2d px = p2d_cephes_exp_p0;
-  px = pmadd(px, x2, p2d_cephes_exp_p1);
-  px = pmadd(px, x2, p2d_cephes_exp_p2);
-  px = pmul (px, x);
-
-  Packet2d qx = p2d_cephes_exp_q0;
-  qx = pmadd(qx, x2, p2d_cephes_exp_q1);
-  qx = pmadd(qx, x2, p2d_cephes_exp_q2);
-  qx = pmadd(qx, x2, p2d_cephes_exp_q3);
-
-  x = pdiv(px,psub(qx,px));
-  x = pmadd(p2d_2,x,p2d_1);
-
-  // build 2^n
-  emm0 = _mm_cvttpd_epi32(fx);
-  emm0 = _mm_add_epi32(emm0, p4i_1023_0);
-  emm0 = _mm_slli_epi32(emm0, 20);
-  emm0 = _mm_shuffle_epi32(emm0, _MM_SHUFFLE(1,2,0,3));
-  return pmax(pmul(x, Packet2d(_mm_castsi128_pd(emm0))), _x);
-}
-
-/* evaluation of 4 sines at onces, using SSE2 intrinsics.
-
-   The code is the exact rewriting of the cephes sinf function.
-   Precision is excellent as long as x < 8192 (I did not bother to
-   take into account the special handling they have for greater values
-   -- it does not return garbage for arguments over 8192, though, but
-   the extra precision is missing).
-
-   Note that it is such that sinf((float)M_PI) = 8.74e-8, which is the
-   surprising but correct result.
-*/
-
-template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
-Packet4f psin<Packet4f>(const Packet4f& _x)
-{
-  Packet4f x = _x;
-  _EIGEN_DECLARE_CONST_Packet4f(1 , 1.0f);
-  _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
-
-  _EIGEN_DECLARE_CONST_Packet4i(1, 1);
-  _EIGEN_DECLARE_CONST_Packet4i(not1, ~1);
-  _EIGEN_DECLARE_CONST_Packet4i(2, 2);
-  _EIGEN_DECLARE_CONST_Packet4i(4, 4);
-
-  _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(sign_mask, 0x80000000);
-
-  _EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP1,-0.78515625f);
-  _EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP2, -2.4187564849853515625e-4f);
-  _EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP3, -3.77489497744594108e-8f);
-  _EIGEN_DECLARE_CONST_Packet4f(sincof_p0, -1.9515295891E-4f);
-  _EIGEN_DECLARE_CONST_Packet4f(sincof_p1,  8.3321608736E-3f);
-  _EIGEN_DECLARE_CONST_Packet4f(sincof_p2, -1.6666654611E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(coscof_p0,  2.443315711809948E-005f);
-  _EIGEN_DECLARE_CONST_Packet4f(coscof_p1, -1.388731625493765E-003f);
-  _EIGEN_DECLARE_CONST_Packet4f(coscof_p2,  4.166664568298827E-002f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_FOPI, 1.27323954473516f); // 4 / M_PI
-
-  Packet4f xmm1, xmm2, xmm3, sign_bit, y;
-
-  Packet4i emm0, emm2;
-  sign_bit = x;
-  /* take the absolute value */
-  x = pabs(x);
-
-  /* take the modulo */
-
-  /* extract the sign bit (upper one) */
-  sign_bit = _mm_and_ps(sign_bit, p4f_sign_mask);
-
-  /* scale by 4/Pi */
-  y = pmul(x, p4f_cephes_FOPI);
-
-  /* store the integer part of y in mm0 */
-  emm2 = _mm_cvttps_epi32(y);
-  /* j=(j+1) & (~1) (see the cephes sources) */
-  emm2 = _mm_add_epi32(emm2, p4i_1);
-  emm2 = _mm_and_si128(emm2, p4i_not1);
-  y = _mm_cvtepi32_ps(emm2);
-  /* get the swap sign flag */
-  emm0 = _mm_and_si128(emm2, p4i_4);
-  emm0 = _mm_slli_epi32(emm0, 29);
-  /* get the polynom selection mask
-     there is one polynom for 0 <= x <= Pi/4
-     and another one for Pi/4<x<=Pi/2
-
-     Both branches will be computed.
-  */
-  emm2 = _mm_and_si128(emm2, p4i_2);
-  emm2 = _mm_cmpeq_epi32(emm2, _mm_setzero_si128());
-
-  Packet4f swap_sign_bit = _mm_castsi128_ps(emm0);
-  Packet4f poly_mask = _mm_castsi128_ps(emm2);
-  sign_bit = _mm_xor_ps(sign_bit, swap_sign_bit);
-
-  /* The magic pass: "Extended precision modular arithmetic"
-     x = ((x - y * DP1) - y * DP2) - y * DP3; */
-  xmm1 = pmul(y, p4f_minus_cephes_DP1);
-  xmm2 = pmul(y, p4f_minus_cephes_DP2);
-  xmm3 = pmul(y, p4f_minus_cephes_DP3);
-  x = padd(x, xmm1);
-  x = padd(x, xmm2);
-  x = padd(x, xmm3);
-
-  /* Evaluate the first polynom  (0 <= x <= Pi/4) */
-  y = p4f_coscof_p0;
-  Packet4f z = _mm_mul_ps(x,x);
-
-  y = pmadd(y, z, p4f_coscof_p1);
-  y = pmadd(y, z, p4f_coscof_p2);
-  y = pmul(y, z);
-  y = pmul(y, z);
-  Packet4f tmp = pmul(z, p4f_half);
-  y = psub(y, tmp);
-  y = padd(y, p4f_1);
-
-  /* Evaluate the second polynom  (Pi/4 <= x <= 0) */
-
-  Packet4f y2 = p4f_sincof_p0;
-  y2 = pmadd(y2, z, p4f_sincof_p1);
-  y2 = pmadd(y2, z, p4f_sincof_p2);
-  y2 = pmul(y2, z);
-  y2 = pmul(y2, x);
-  y2 = padd(y2, x);
-
-  /* select the correct result from the two polynoms */
-  y2 = _mm_and_ps(poly_mask, y2);
-  y = _mm_andnot_ps(poly_mask, y);
-  y = _mm_or_ps(y,y2);
-  /* update the sign */
-  return _mm_xor_ps(y, sign_bit);
-}
-
-/* almost the same as psin */
-template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
-Packet4f pcos<Packet4f>(const Packet4f& _x)
-{
-  Packet4f x = _x;
-  _EIGEN_DECLARE_CONST_Packet4f(1 , 1.0f);
-  _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
-
-  _EIGEN_DECLARE_CONST_Packet4i(1, 1);
-  _EIGEN_DECLARE_CONST_Packet4i(not1, ~1);
-  _EIGEN_DECLARE_CONST_Packet4i(2, 2);
-  _EIGEN_DECLARE_CONST_Packet4i(4, 4);
-
-  _EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP1,-0.78515625f);
-  _EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP2, -2.4187564849853515625e-4f);
-  _EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP3, -3.77489497744594108e-8f);
-  _EIGEN_DECLARE_CONST_Packet4f(sincof_p0, -1.9515295891E-4f);
-  _EIGEN_DECLARE_CONST_Packet4f(sincof_p1,  8.3321608736E-3f);
-  _EIGEN_DECLARE_CONST_Packet4f(sincof_p2, -1.6666654611E-1f);
-  _EIGEN_DECLARE_CONST_Packet4f(coscof_p0,  2.443315711809948E-005f);
-  _EIGEN_DECLARE_CONST_Packet4f(coscof_p1, -1.388731625493765E-003f);
-  _EIGEN_DECLARE_CONST_Packet4f(coscof_p2,  4.166664568298827E-002f);
-  _EIGEN_DECLARE_CONST_Packet4f(cephes_FOPI, 1.27323954473516f); // 4 / M_PI
-
-  Packet4f xmm1, xmm2, xmm3, y;
-  Packet4i emm0, emm2;
-
-  x = pabs(x);
-
-  /* scale by 4/Pi */
-  y = pmul(x, p4f_cephes_FOPI);
-
-  /* get the integer part of y */
-  emm2 = _mm_cvttps_epi32(y);
-  /* j=(j+1) & (~1) (see the cephes sources) */
-  emm2 = _mm_add_epi32(emm2, p4i_1);
-  emm2 = _mm_and_si128(emm2, p4i_not1);
-  y = _mm_cvtepi32_ps(emm2);
-
-  emm2 = _mm_sub_epi32(emm2, p4i_2);
-
-  /* get the swap sign flag */
-  emm0 = _mm_andnot_si128(emm2, p4i_4);
-  emm0 = _mm_slli_epi32(emm0, 29);
-  /* get the polynom selection mask */
-  emm2 = _mm_and_si128(emm2, p4i_2);
-  emm2 = _mm_cmpeq_epi32(emm2, _mm_setzero_si128());
-
-  Packet4f sign_bit = _mm_castsi128_ps(emm0);
-  Packet4f poly_mask = _mm_castsi128_ps(emm2);
-
-  /* The magic pass: "Extended precision modular arithmetic"
-     x = ((x - y * DP1) - y * DP2) - y * DP3; */
-  xmm1 = pmul(y, p4f_minus_cephes_DP1);
-  xmm2 = pmul(y, p4f_minus_cephes_DP2);
-  xmm3 = pmul(y, p4f_minus_cephes_DP3);
-  x = padd(x, xmm1);
-  x = padd(x, xmm2);
-  x = padd(x, xmm3);
-
-  /* Evaluate the first polynom  (0 <= x <= Pi/4) */
-  y = p4f_coscof_p0;
-  Packet4f z = pmul(x,x);
-
-  y = pmadd(y,z,p4f_coscof_p1);
-  y = pmadd(y,z,p4f_coscof_p2);
-  y = pmul(y, z);
-  y = pmul(y, z);
-  Packet4f tmp = _mm_mul_ps(z, p4f_half);
-  y = psub(y, tmp);
-  y = padd(y, p4f_1);
-
-  /* Evaluate the second polynom  (Pi/4 <= x <= 0) */
-  Packet4f y2 = p4f_sincof_p0;
-  y2 = pmadd(y2, z, p4f_sincof_p1);
-  y2 = pmadd(y2, z, p4f_sincof_p2);
-  y2 = pmul(y2, z);
-  y2 = pmadd(y2, x, x);
-
-  /* select the correct result from the two polynoms */
-  y2 = _mm_and_ps(poly_mask, y2);
-  y  = _mm_andnot_ps(poly_mask, y);
-  y  = _mm_or_ps(y,y2);
-
-  /* update the sign */
-  return _mm_xor_ps(y, sign_bit);
-}
-
-#if EIGEN_FAST_MATH
-
-// This is based on Quake3's fast inverse square root.
-// For detail see here: http://www.beyond3d.com/content/articles/8/
-// It lacks 1 (or 2 bits in some rare cases) of precision, and does not handle negative, +inf, or denormalized numbers correctly.
-template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
-Packet4f psqrt<Packet4f>(const Packet4f& _x)
-{
-  Packet4f half = pmul(_x, pset1<Packet4f>(.5f));
-
-  /* select only the inverse sqrt of non-zero inputs */
-  Packet4f non_zero_mask = _mm_cmpge_ps(_x, pset1<Packet4f>((std::numeric_limits<float>::min)()));
-  Packet4f x = _mm_and_ps(non_zero_mask, _mm_rsqrt_ps(_x));
-
-  x = pmul(x, psub(pset1<Packet4f>(1.5f), pmul(half, pmul(x,x))));
-  return pmul(_x,x);
-}
-
-#else
-
-template<> EIGEN_STRONG_INLINE Packet4f psqrt<Packet4f>(const Packet4f& x) { return _mm_sqrt_ps(x); }
-
-#endif
-
-template<> EIGEN_STRONG_INLINE Packet2d psqrt<Packet2d>(const Packet2d& x) { return _mm_sqrt_pd(x); }
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_MATH_FUNCTIONS_SSE_H
diff --git a/lib/Eigen/src/Core/arch/SSE/PacketMath.h b/lib/Eigen/src/Core/arch/SSE/PacketMath.h
deleted file mode 100644
index bef898b1..00000000
--- a/lib/Eigen/src/Core/arch/SSE/PacketMath.h
+++ /dev/null
@@ -1,613 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PACKET_MATH_SSE_H
-#define EIGEN_PACKET_MATH_SSE_H
-
-namespace Eigen {
-
-namespace internal {
-
-#ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD
-#define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8
-#endif
-
-#ifndef EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS
-#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS (2*sizeof(void*))
-#endif
-
-typedef __m128  Packet4f;
-typedef __m128i Packet4i;
-typedef __m128d Packet2d;
-
-template<> struct is_arithmetic<__m128>  { enum { value = true }; };
-template<> struct is_arithmetic<__m128i> { enum { value = true }; };
-template<> struct is_arithmetic<__m128d> { enum { value = true }; };
-
-#define vec4f_swizzle1(v,p,q,r,s) \
-  (_mm_castsi128_ps(_mm_shuffle_epi32( _mm_castps_si128(v), ((s)<<6|(r)<<4|(q)<<2|(p)))))
-
-#define vec4i_swizzle1(v,p,q,r,s) \
-  (_mm_shuffle_epi32( v, ((s)<<6|(r)<<4|(q)<<2|(p))))
-
-#define vec2d_swizzle1(v,p,q) \
-  (_mm_castsi128_pd(_mm_shuffle_epi32( _mm_castpd_si128(v), ((q*2+1)<<6|(q*2)<<4|(p*2+1)<<2|(p*2)))))
-  
-#define vec4f_swizzle2(a,b,p,q,r,s) \
-  (_mm_shuffle_ps( (a), (b), ((s)<<6|(r)<<4|(q)<<2|(p))))
-
-#define vec4i_swizzle2(a,b,p,q,r,s) \
-  (_mm_castps_si128( (_mm_shuffle_ps( _mm_castsi128_ps(a), _mm_castsi128_ps(b), ((s)<<6|(r)<<4|(q)<<2|(p))))))
-
-#define _EIGEN_DECLARE_CONST_Packet4f(NAME,X) \
-  const Packet4f p4f_##NAME = pset1<Packet4f>(X)
-
-#define _EIGEN_DECLARE_CONST_Packet2d(NAME,X) \
-  const Packet2d p2d_##NAME = pset1<Packet2d>(X)
-
-#define _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(NAME,X) \
-  const Packet4f p4f_##NAME = _mm_castsi128_ps(pset1<Packet4i>(X))
-
-#define _EIGEN_DECLARE_CONST_Packet4i(NAME,X) \
-  const Packet4i p4i_##NAME = pset1<Packet4i>(X)
-
-
-template<> struct packet_traits<float>  : default_packet_traits
-{
-  typedef Packet4f type;
-  enum {
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size=4,
-
-    HasDiv  = 1,
-    HasSin  = EIGEN_FAST_MATH,
-    HasCos  = EIGEN_FAST_MATH,
-    HasLog  = 1,
-    HasExp  = 1,
-    HasSqrt = 1
-  };
-};
-template<> struct packet_traits<double> : default_packet_traits
-{
-  typedef Packet2d type;
-  enum {
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size=2,
-
-    HasDiv  = 1,
-    HasExp  = 1,
-    HasSqrt = 1
-  };
-};
-template<> struct packet_traits<int>    : default_packet_traits
-{
-  typedef Packet4i type;
-  enum {
-    // FIXME check the Has*
-    Vectorizable = 1,
-    AlignedOnScalar = 1,
-    size=4
-  };
-};
-
-template<> struct unpacket_traits<Packet4f> { typedef float  type; enum {size=4}; };
-template<> struct unpacket_traits<Packet2d> { typedef double type; enum {size=2}; };
-template<> struct unpacket_traits<Packet4i> { typedef int    type; enum {size=4}; };
-
-#if defined(_MSC_VER) && (_MSC_VER==1500)
-// Workaround MSVC 9 internal compiler error.
-// TODO: It has been detected with win64 builds (amd64), so let's check whether it also happens in 32bits+SSE mode
-// TODO: let's check whether there does not exist a better fix, like adding a pset0() function. (it crashed on pset1(0)).
-template<> EIGEN_STRONG_INLINE Packet4f pset1<Packet4f>(const float&  from) { return _mm_set_ps(from,from,from,from); }
-template<> EIGEN_STRONG_INLINE Packet2d pset1<Packet2d>(const double& from) { return _mm_set_pd(from,from); }
-template<> EIGEN_STRONG_INLINE Packet4i pset1<Packet4i>(const int&    from) { return _mm_set_epi32(from,from,from,from); }
-#else
-template<> EIGEN_STRONG_INLINE Packet4f pset1<Packet4f>(const float&  from) { return _mm_set1_ps(from); }
-template<> EIGEN_STRONG_INLINE Packet2d pset1<Packet2d>(const double& from) { return _mm_set1_pd(from); }
-template<> EIGEN_STRONG_INLINE Packet4i pset1<Packet4i>(const int&    from) { return _mm_set1_epi32(from); }
-#endif
-
-template<> EIGEN_STRONG_INLINE Packet4f plset<float>(const float& a) { return _mm_add_ps(pset1<Packet4f>(a), _mm_set_ps(3,2,1,0)); }
-template<> EIGEN_STRONG_INLINE Packet2d plset<double>(const double& a) { return _mm_add_pd(pset1<Packet2d>(a),_mm_set_pd(1,0)); }
-template<> EIGEN_STRONG_INLINE Packet4i plset<int>(const int& a) { return _mm_add_epi32(pset1<Packet4i>(a),_mm_set_epi32(3,2,1,0)); }
-
-template<> EIGEN_STRONG_INLINE Packet4f padd<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_add_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d padd<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_add_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i padd<Packet4i>(const Packet4i& a, const Packet4i& b) { return _mm_add_epi32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f psub<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_sub_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d psub<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_sub_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i psub<Packet4i>(const Packet4i& a, const Packet4i& b) { return _mm_sub_epi32(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pnegate(const Packet4f& a)
-{
-  const Packet4f mask = _mm_castsi128_ps(_mm_setr_epi32(0x80000000,0x80000000,0x80000000,0x80000000));
-  return _mm_xor_ps(a,mask);
-}
-template<> EIGEN_STRONG_INLINE Packet2d pnegate(const Packet2d& a)
-{
-  const Packet2d mask = _mm_castsi128_pd(_mm_setr_epi32(0x0,0x80000000,0x0,0x80000000));
-  return _mm_xor_pd(a,mask);
-}
-template<> EIGEN_STRONG_INLINE Packet4i pnegate(const Packet4i& a)
-{
-  return psub(_mm_setr_epi32(0,0,0,0), a);
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f pconj(const Packet4f& a) { return a; }
-template<> EIGEN_STRONG_INLINE Packet2d pconj(const Packet2d& a) { return a; }
-template<> EIGEN_STRONG_INLINE Packet4i pconj(const Packet4i& a) { return a; }
-
-template<> EIGEN_STRONG_INLINE Packet4f pmul<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_mul_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d pmul<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_mul_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pmul<Packet4i>(const Packet4i& a, const Packet4i& b)
-{
-#ifdef EIGEN_VECTORIZE_SSE4_1
-  return _mm_mullo_epi32(a,b);
-#else
-  // this version is slightly faster than 4 scalar products
-  return vec4i_swizzle1(
-            vec4i_swizzle2(
-              _mm_mul_epu32(a,b),
-              _mm_mul_epu32(vec4i_swizzle1(a,1,0,3,2),
-                            vec4i_swizzle1(b,1,0,3,2)),
-              0,2,0,2),
-            0,2,1,3);
-#endif
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f pdiv<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_div_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d pdiv<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_div_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pdiv<Packet4i>(const Packet4i& /*a*/, const Packet4i& /*b*/)
-{ eigen_assert(false && "packet integer division are not supported by SSE");
-  return pset1<Packet4i>(0);
-}
-
-// for some weird raisons, it has to be overloaded for packet of integers
-template<> EIGEN_STRONG_INLINE Packet4i pmadd(const Packet4i& a, const Packet4i& b, const Packet4i& c) { return padd(pmul(a,b), c); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pmin<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_min_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d pmin<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_min_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pmin<Packet4i>(const Packet4i& a, const Packet4i& b)
-{
-#ifdef EIGEN_VECTORIZE_SSE4_1
-  return _mm_min_epi32(a,b);
-#else
-  // after some bench, this version *is* faster than a scalar implementation
-  Packet4i mask = _mm_cmplt_epi32(a,b);
-  return _mm_or_si128(_mm_and_si128(mask,a),_mm_andnot_si128(mask,b));
-#endif
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f pmax<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_max_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d pmax<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_max_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pmax<Packet4i>(const Packet4i& a, const Packet4i& b)
-{
-#ifdef EIGEN_VECTORIZE_SSE4_1
-  return _mm_max_epi32(a,b);
-#else
-  // after some bench, this version *is* faster than a scalar implementation
-  Packet4i mask = _mm_cmpgt_epi32(a,b);
-  return _mm_or_si128(_mm_and_si128(mask,a),_mm_andnot_si128(mask,b));
-#endif
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f pand<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_and_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d pand<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_and_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pand<Packet4i>(const Packet4i& a, const Packet4i& b) { return _mm_and_si128(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f por<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_or_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d por<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_or_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i por<Packet4i>(const Packet4i& a, const Packet4i& b) { return _mm_or_si128(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pxor<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_xor_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d pxor<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_xor_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pxor<Packet4i>(const Packet4i& a, const Packet4i& b) { return _mm_xor_si128(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pandnot<Packet4f>(const Packet4f& a, const Packet4f& b) { return _mm_andnot_ps(a,b); }
-template<> EIGEN_STRONG_INLINE Packet2d pandnot<Packet2d>(const Packet2d& a, const Packet2d& b) { return _mm_andnot_pd(a,b); }
-template<> EIGEN_STRONG_INLINE Packet4i pandnot<Packet4i>(const Packet4i& a, const Packet4i& b) { return _mm_andnot_si128(a,b); }
-
-template<> EIGEN_STRONG_INLINE Packet4f pload<Packet4f>(const float*   from) { EIGEN_DEBUG_ALIGNED_LOAD return _mm_load_ps(from); }
-template<> EIGEN_STRONG_INLINE Packet2d pload<Packet2d>(const double*  from) { EIGEN_DEBUG_ALIGNED_LOAD return _mm_load_pd(from); }
-template<> EIGEN_STRONG_INLINE Packet4i pload<Packet4i>(const int*     from) { EIGEN_DEBUG_ALIGNED_LOAD return _mm_load_si128(reinterpret_cast<const Packet4i*>(from)); }
-
-#if defined(_MSC_VER)
-  template<> EIGEN_STRONG_INLINE Packet4f ploadu<Packet4f>(const float*  from) {
-    EIGEN_DEBUG_UNALIGNED_LOAD
-    #if (_MSC_VER==1600)
-    // NOTE Some version of MSVC10 generates bad code when using _mm_loadu_ps
-    // (i.e., it does not generate an unaligned load!!
-    // TODO On most architectures this version should also be faster than a single _mm_loadu_ps
-    // so we could also enable it for MSVC08 but first we have to make this later does not generate crap when doing so...
-    __m128 res = _mm_loadl_pi(_mm_set1_ps(0.0f), (const __m64*)(from));
-    res = _mm_loadh_pi(res, (const __m64*)(from+2));
-    return res;
-    #else
-    return _mm_loadu_ps(from);
-    #endif
-  }
-#else
-// NOTE: with the code below, MSVC's compiler crashes!
-
-template<> EIGEN_STRONG_INLINE Packet4f ploadu<Packet4f>(const float* from)
-{
-  EIGEN_DEBUG_UNALIGNED_LOAD
-  return _mm_loadu_ps(from);
-}
-#endif
-
-template<> EIGEN_STRONG_INLINE Packet2d ploadu<Packet2d>(const double* from)
-{
-  EIGEN_DEBUG_UNALIGNED_LOAD
-  return _mm_loadu_pd(from);
-}
-template<> EIGEN_STRONG_INLINE Packet4i ploadu<Packet4i>(const int* from)
-{
-  EIGEN_DEBUG_UNALIGNED_LOAD
-  return _mm_loadu_si128(reinterpret_cast<const __m128i*>(from));
-}
-
-
-template<> EIGEN_STRONG_INLINE Packet4f ploaddup<Packet4f>(const float*   from)
-{
-  return vec4f_swizzle1(_mm_castpd_ps(_mm_load_sd(reinterpret_cast<const double*>(from))), 0, 0, 1, 1);
-}
-template<> EIGEN_STRONG_INLINE Packet2d ploaddup<Packet2d>(const double*  from)
-{ return pset1<Packet2d>(from[0]); }
-template<> EIGEN_STRONG_INLINE Packet4i ploaddup<Packet4i>(const int*     from)
-{
-  Packet4i tmp;
-  tmp = _mm_loadl_epi64(reinterpret_cast<const Packet4i*>(from));
-  return vec4i_swizzle1(tmp, 0, 0, 1, 1);
-}
-
-template<> EIGEN_STRONG_INLINE void pstore<float>(float*   to, const Packet4f& from) { EIGEN_DEBUG_ALIGNED_STORE _mm_store_ps(to, from); }
-template<> EIGEN_STRONG_INLINE void pstore<double>(double* to, const Packet2d& from) { EIGEN_DEBUG_ALIGNED_STORE _mm_store_pd(to, from); }
-template<> EIGEN_STRONG_INLINE void pstore<int>(int*       to, const Packet4i& from) { EIGEN_DEBUG_ALIGNED_STORE _mm_store_si128(reinterpret_cast<Packet4i*>(to), from); }
-
-template<> EIGEN_STRONG_INLINE void pstoreu<double>(double* to, const Packet2d& from) {
-  EIGEN_DEBUG_UNALIGNED_STORE
-  _mm_storel_pd((to), from);
-  _mm_storeh_pd((to+1), from);
-}
-template<> EIGEN_STRONG_INLINE void pstoreu<float>(float*  to, const Packet4f& from) { EIGEN_DEBUG_UNALIGNED_STORE pstoreu(reinterpret_cast<double*>(to), _mm_castps_pd(from)); }
-template<> EIGEN_STRONG_INLINE void pstoreu<int>(int*      to, const Packet4i& from) { EIGEN_DEBUG_UNALIGNED_STORE pstoreu(reinterpret_cast<double*>(to), _mm_castsi128_pd(from)); }
-
-// some compilers might be tempted to perform multiple moves instead of using a vector path.
-template<> EIGEN_STRONG_INLINE void pstore1<Packet4f>(float* to, const float& a)
-{
-  Packet4f pa = _mm_set_ss(a);
-  pstore(to, vec4f_swizzle1(pa,0,0,0,0));
-}
-// some compilers might be tempted to perform multiple moves instead of using a vector path.
-template<> EIGEN_STRONG_INLINE void pstore1<Packet2d>(double* to, const double& a)
-{
-  Packet2d pa = _mm_set_sd(a);
-  pstore(to, vec2d_swizzle1(pa,0,0));
-}
-
-template<> EIGEN_STRONG_INLINE void prefetch<float>(const float*   addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); }
-template<> EIGEN_STRONG_INLINE void prefetch<double>(const double* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); }
-template<> EIGEN_STRONG_INLINE void prefetch<int>(const int*       addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); }
-
-#if defined(_MSC_VER) && defined(_WIN64) && !defined(__INTEL_COMPILER)
-// The temporary variable fixes an internal compilation error in vs <= 2008 and a wrong-result bug in vs 2010
-// Direct of the struct members fixed bug #62.
-template<> EIGEN_STRONG_INLINE float  pfirst<Packet4f>(const Packet4f& a) { return a.m128_f32[0]; }
-template<> EIGEN_STRONG_INLINE double pfirst<Packet2d>(const Packet2d& a) { return a.m128d_f64[0]; }
-template<> EIGEN_STRONG_INLINE int    pfirst<Packet4i>(const Packet4i& a) { int x = _mm_cvtsi128_si32(a); return x; }
-#elif defined(_MSC_VER) && !defined(__INTEL_COMPILER)
-// The temporary variable fixes an internal compilation error in vs <= 2008 and a wrong-result bug in vs 2010
-template<> EIGEN_STRONG_INLINE float  pfirst<Packet4f>(const Packet4f& a) { float x = _mm_cvtss_f32(a); return x; }
-template<> EIGEN_STRONG_INLINE double pfirst<Packet2d>(const Packet2d& a) { double x = _mm_cvtsd_f64(a); return x; }
-template<> EIGEN_STRONG_INLINE int    pfirst<Packet4i>(const Packet4i& a) { int x = _mm_cvtsi128_si32(a); return x; }
-#else
-template<> EIGEN_STRONG_INLINE float  pfirst<Packet4f>(const Packet4f& a) { return _mm_cvtss_f32(a); }
-template<> EIGEN_STRONG_INLINE double pfirst<Packet2d>(const Packet2d& a) { return _mm_cvtsd_f64(a); }
-template<> EIGEN_STRONG_INLINE int    pfirst<Packet4i>(const Packet4i& a) { return _mm_cvtsi128_si32(a); }
-#endif
-
-template<> EIGEN_STRONG_INLINE Packet4f preverse(const Packet4f& a)
-{ return _mm_shuffle_ps(a,a,0x1B); }
-template<> EIGEN_STRONG_INLINE Packet2d preverse(const Packet2d& a)
-{ return _mm_shuffle_pd(a,a,0x1); }
-template<> EIGEN_STRONG_INLINE Packet4i preverse(const Packet4i& a)
-{ return _mm_shuffle_epi32(a,0x1B); }
-
-
-template<> EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f& a)
-{
-  const Packet4f mask = _mm_castsi128_ps(_mm_setr_epi32(0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF));
-  return _mm_and_ps(a,mask);
-}
-template<> EIGEN_STRONG_INLINE Packet2d pabs(const Packet2d& a)
-{
-  const Packet2d mask = _mm_castsi128_pd(_mm_setr_epi32(0xFFFFFFFF,0x7FFFFFFF,0xFFFFFFFF,0x7FFFFFFF));
-  return _mm_and_pd(a,mask);
-}
-template<> EIGEN_STRONG_INLINE Packet4i pabs(const Packet4i& a)
-{
-  #ifdef EIGEN_VECTORIZE_SSSE3
-  return _mm_abs_epi32(a);
-  #else
-  Packet4i aux = _mm_srai_epi32(a,31);
-  return _mm_sub_epi32(_mm_xor_si128(a,aux),aux);
-  #endif
-}
-
-EIGEN_STRONG_INLINE void punpackp(Packet4f* vecs)
-{
-  vecs[1] = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(vecs[0]), 0x55));
-  vecs[2] = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(vecs[0]), 0xAA));
-  vecs[3] = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(vecs[0]), 0xFF));
-  vecs[0] = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(vecs[0]), 0x00));
-}
-
-#ifdef EIGEN_VECTORIZE_SSE3
-// TODO implement SSE2 versions as well as integer versions
-template<> EIGEN_STRONG_INLINE Packet4f preduxp<Packet4f>(const Packet4f* vecs)
-{
-  return _mm_hadd_ps(_mm_hadd_ps(vecs[0], vecs[1]),_mm_hadd_ps(vecs[2], vecs[3]));
-}
-template<> EIGEN_STRONG_INLINE Packet2d preduxp<Packet2d>(const Packet2d* vecs)
-{
-  return _mm_hadd_pd(vecs[0], vecs[1]);
-}
-// SSSE3 version:
-// EIGEN_STRONG_INLINE Packet4i preduxp(const Packet4i* vecs)
-// {
-//   return _mm_hadd_epi32(_mm_hadd_epi32(vecs[0], vecs[1]),_mm_hadd_epi32(vecs[2], vecs[3]));
-// }
-
-template<> EIGEN_STRONG_INLINE float predux<Packet4f>(const Packet4f& a)
-{
-  Packet4f tmp0 = _mm_hadd_ps(a,a);
-  return pfirst(_mm_hadd_ps(tmp0, tmp0));
-}
-
-template<> EIGEN_STRONG_INLINE double predux<Packet2d>(const Packet2d& a) { return pfirst(_mm_hadd_pd(a, a)); }
-
-// SSSE3 version:
-// EIGEN_STRONG_INLINE float predux(const Packet4i& a)
-// {
-//   Packet4i tmp0 = _mm_hadd_epi32(a,a);
-//   return pfirst(_mm_hadd_epi32(tmp0, tmp0));
-// }
-#else
-// SSE2 versions
-template<> EIGEN_STRONG_INLINE float predux<Packet4f>(const Packet4f& a)
-{
-  Packet4f tmp = _mm_add_ps(a, _mm_movehl_ps(a,a));
-  return pfirst(_mm_add_ss(tmp, _mm_shuffle_ps(tmp,tmp, 1)));
-}
-template<> EIGEN_STRONG_INLINE double predux<Packet2d>(const Packet2d& a)
-{
-  return pfirst(_mm_add_sd(a, _mm_unpackhi_pd(a,a)));
-}
-
-template<> EIGEN_STRONG_INLINE Packet4f preduxp<Packet4f>(const Packet4f* vecs)
-{
-  Packet4f tmp0, tmp1, tmp2;
-  tmp0 = _mm_unpacklo_ps(vecs[0], vecs[1]);
-  tmp1 = _mm_unpackhi_ps(vecs[0], vecs[1]);
-  tmp2 = _mm_unpackhi_ps(vecs[2], vecs[3]);
-  tmp0 = _mm_add_ps(tmp0, tmp1);
-  tmp1 = _mm_unpacklo_ps(vecs[2], vecs[3]);
-  tmp1 = _mm_add_ps(tmp1, tmp2);
-  tmp2 = _mm_movehl_ps(tmp1, tmp0);
-  tmp0 = _mm_movelh_ps(tmp0, tmp1);
-  return _mm_add_ps(tmp0, tmp2);
-}
-
-template<> EIGEN_STRONG_INLINE Packet2d preduxp<Packet2d>(const Packet2d* vecs)
-{
-  return _mm_add_pd(_mm_unpacklo_pd(vecs[0], vecs[1]), _mm_unpackhi_pd(vecs[0], vecs[1]));
-}
-#endif  // SSE3
-
-template<> EIGEN_STRONG_INLINE int predux<Packet4i>(const Packet4i& a)
-{
-  Packet4i tmp = _mm_add_epi32(a, _mm_unpackhi_epi64(a,a));
-  return pfirst(tmp) + pfirst(_mm_shuffle_epi32(tmp, 1));
-}
-
-template<> EIGEN_STRONG_INLINE Packet4i preduxp<Packet4i>(const Packet4i* vecs)
-{
-  Packet4i tmp0, tmp1, tmp2;
-  tmp0 = _mm_unpacklo_epi32(vecs[0], vecs[1]);
-  tmp1 = _mm_unpackhi_epi32(vecs[0], vecs[1]);
-  tmp2 = _mm_unpackhi_epi32(vecs[2], vecs[3]);
-  tmp0 = _mm_add_epi32(tmp0, tmp1);
-  tmp1 = _mm_unpacklo_epi32(vecs[2], vecs[3]);
-  tmp1 = _mm_add_epi32(tmp1, tmp2);
-  tmp2 = _mm_unpacklo_epi64(tmp0, tmp1);
-  tmp0 = _mm_unpackhi_epi64(tmp0, tmp1);
-  return _mm_add_epi32(tmp0, tmp2);
-}
-
-// Other reduction functions:
-
-// mul
-template<> EIGEN_STRONG_INLINE float predux_mul<Packet4f>(const Packet4f& a)
-{
-  Packet4f tmp = _mm_mul_ps(a, _mm_movehl_ps(a,a));
-  return pfirst(_mm_mul_ss(tmp, _mm_shuffle_ps(tmp,tmp, 1)));
-}
-template<> EIGEN_STRONG_INLINE double predux_mul<Packet2d>(const Packet2d& a)
-{
-  return pfirst(_mm_mul_sd(a, _mm_unpackhi_pd(a,a)));
-}
-template<> EIGEN_STRONG_INLINE int predux_mul<Packet4i>(const Packet4i& a)
-{
-  // after some experiments, it is seems this is the fastest way to implement it
-  // for GCC (eg., reusing pmul is very slow !)
-  // TODO try to call _mm_mul_epu32 directly
-  EIGEN_ALIGN16 int aux[4];
-  pstore(aux, a);
-  return  (aux[0] * aux[1]) * (aux[2] * aux[3]);;
-}
-
-// min
-template<> EIGEN_STRONG_INLINE float predux_min<Packet4f>(const Packet4f& a)
-{
-  Packet4f tmp = _mm_min_ps(a, _mm_movehl_ps(a,a));
-  return pfirst(_mm_min_ss(tmp, _mm_shuffle_ps(tmp,tmp, 1)));
-}
-template<> EIGEN_STRONG_INLINE double predux_min<Packet2d>(const Packet2d& a)
-{
-  return pfirst(_mm_min_sd(a, _mm_unpackhi_pd(a,a)));
-}
-template<> EIGEN_STRONG_INLINE int predux_min<Packet4i>(const Packet4i& a)
-{
-  // after some experiments, it is seems this is the fastest way to implement it
-  // for GCC (eg., it does not like using std::min after the pstore !!)
-  EIGEN_ALIGN16 int aux[4];
-  pstore(aux, a);
-  int aux0 = aux[0]<aux[1] ? aux[0] : aux[1];
-  int aux2 = aux[2]<aux[3] ? aux[2] : aux[3];
-  return aux0<aux2 ? aux0 : aux2;
-}
-
-// max
-template<> EIGEN_STRONG_INLINE float predux_max<Packet4f>(const Packet4f& a)
-{
-  Packet4f tmp = _mm_max_ps(a, _mm_movehl_ps(a,a));
-  return pfirst(_mm_max_ss(tmp, _mm_shuffle_ps(tmp,tmp, 1)));
-}
-template<> EIGEN_STRONG_INLINE double predux_max<Packet2d>(const Packet2d& a)
-{
-  return pfirst(_mm_max_sd(a, _mm_unpackhi_pd(a,a)));
-}
-template<> EIGEN_STRONG_INLINE int predux_max<Packet4i>(const Packet4i& a)
-{
-  // after some experiments, it is seems this is the fastest way to implement it
-  // for GCC (eg., it does not like using std::min after the pstore !!)
-  EIGEN_ALIGN16 int aux[4];
-  pstore(aux, a);
-  int aux0 = aux[0]>aux[1] ? aux[0] : aux[1];
-  int aux2 = aux[2]>aux[3] ? aux[2] : aux[3];
-  return aux0>aux2 ? aux0 : aux2;
-}
-
-#if (defined __GNUC__)
-// template <> EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f&  a, const Packet4f&  b, const Packet4f&  c)
-// {
-//   Packet4f res = b;
-//   asm("mulps %[a], %[b] \n\taddps %[c], %[b]" : [b] "+x" (res) : [a] "x" (a), [c] "x" (c));
-//   return res;
-// }
-// EIGEN_STRONG_INLINE Packet4i _mm_alignr_epi8(const Packet4i&  a, const Packet4i&  b, const int i)
-// {
-//   Packet4i res = a;
-//   asm("palignr %[i], %[a], %[b] " : [b] "+x" (res) : [a] "x" (a), [i] "i" (i));
-//   return res;
-// }
-#endif
-
-#ifdef EIGEN_VECTORIZE_SSSE3
-// SSSE3 versions
-template<int Offset>
-struct palign_impl<Offset,Packet4f>
-{
-  static EIGEN_STRONG_INLINE void run(Packet4f& first, const Packet4f& second)
-  {
-    if (Offset!=0)
-      first = _mm_castsi128_ps(_mm_alignr_epi8(_mm_castps_si128(second), _mm_castps_si128(first), Offset*4));
-  }
-};
-
-template<int Offset>
-struct palign_impl<Offset,Packet4i>
-{
-  static EIGEN_STRONG_INLINE void run(Packet4i& first, const Packet4i& second)
-  {
-    if (Offset!=0)
-      first = _mm_alignr_epi8(second,first, Offset*4);
-  }
-};
-
-template<int Offset>
-struct palign_impl<Offset,Packet2d>
-{
-  static EIGEN_STRONG_INLINE void run(Packet2d& first, const Packet2d& second)
-  {
-    if (Offset==1)
-      first = _mm_castsi128_pd(_mm_alignr_epi8(_mm_castpd_si128(second), _mm_castpd_si128(first), 8));
-  }
-};
-#else
-// SSE2 versions
-template<int Offset>
-struct palign_impl<Offset,Packet4f>
-{
-  static EIGEN_STRONG_INLINE void run(Packet4f& first, const Packet4f& second)
-  {
-    if (Offset==1)
-    {
-      first = _mm_move_ss(first,second);
-      first = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(first),0x39));
-    }
-    else if (Offset==2)
-    {
-      first = _mm_movehl_ps(first,first);
-      first = _mm_movelh_ps(first,second);
-    }
-    else if (Offset==3)
-    {
-      first = _mm_move_ss(first,second);
-      first = _mm_shuffle_ps(first,second,0x93);
-    }
-  }
-};
-
-template<int Offset>
-struct palign_impl<Offset,Packet4i>
-{
-  static EIGEN_STRONG_INLINE void run(Packet4i& first, const Packet4i& second)
-  {
-    if (Offset==1)
-    {
-      first = _mm_castps_si128(_mm_move_ss(_mm_castsi128_ps(first),_mm_castsi128_ps(second)));
-      first = _mm_shuffle_epi32(first,0x39);
-    }
-    else if (Offset==2)
-    {
-      first = _mm_castps_si128(_mm_movehl_ps(_mm_castsi128_ps(first),_mm_castsi128_ps(first)));
-      first = _mm_castps_si128(_mm_movelh_ps(_mm_castsi128_ps(first),_mm_castsi128_ps(second)));
-    }
-    else if (Offset==3)
-    {
-      first = _mm_castps_si128(_mm_move_ss(_mm_castsi128_ps(first),_mm_castsi128_ps(second)));
-      first = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(first),_mm_castsi128_ps(second),0x93));
-    }
-  }
-};
-
-template<int Offset>
-struct palign_impl<Offset,Packet2d>
-{
-  static EIGEN_STRONG_INLINE void run(Packet2d& first, const Packet2d& second)
-  {
-    if (Offset==1)
-    {
-      first = _mm_castps_pd(_mm_movehl_ps(_mm_castpd_ps(first),_mm_castpd_ps(first)));
-      first = _mm_castps_pd(_mm_movelh_ps(_mm_castpd_ps(first),_mm_castpd_ps(second)));
-    }
-  }
-};
-#endif
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_PACKET_MATH_SSE_H
diff --git a/lib/Eigen/src/Core/products/CMakeLists.txt b/lib/Eigen/src/Core/products/CMakeLists.txt
deleted file mode 100644
index 21fc94ae..00000000
--- a/lib/Eigen/src/Core/products/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Core_Product_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Core_Product_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/products COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/Core/products/CoeffBasedProduct.h b/lib/Eigen/src/Core/products/CoeffBasedProduct.h
deleted file mode 100644
index 2a9d65b9..00000000
--- a/lib/Eigen/src/Core/products/CoeffBasedProduct.h
+++ /dev/null
@@ -1,476 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COEFFBASED_PRODUCT_H
-#define EIGEN_COEFFBASED_PRODUCT_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/*********************************************************************************
-*  Coefficient based product implementation.
-*  It is designed for the following use cases:
-*  - small fixed sizes
-*  - lazy products
-*********************************************************************************/
-
-/* Since the all the dimensions of the product are small, here we can rely
- * on the generic Assign mechanism to evaluate the product per coeff (or packet).
- *
- * Note that here the inner-loops should always be unrolled.
- */
-
-template<int Traversal, int UnrollingIndex, typename Lhs, typename Rhs, typename RetScalar>
-struct product_coeff_impl;
-
-template<int StorageOrder, int UnrollingIndex, typename Lhs, typename Rhs, typename Packet, int LoadMode>
-struct product_packet_impl;
-
-template<typename LhsNested, typename RhsNested, int NestingFlags>
-struct traits<CoeffBasedProduct<LhsNested,RhsNested,NestingFlags> >
-{
-  typedef MatrixXpr XprKind;
-  typedef typename remove_all<LhsNested>::type _LhsNested;
-  typedef typename remove_all<RhsNested>::type _RhsNested;
-  typedef typename scalar_product_traits<typename _LhsNested::Scalar, typename _RhsNested::Scalar>::ReturnType Scalar;
-  typedef typename promote_storage_type<typename traits<_LhsNested>::StorageKind,
-                                           typename traits<_RhsNested>::StorageKind>::ret StorageKind;
-  typedef typename promote_index_type<typename traits<_LhsNested>::Index,
-                                         typename traits<_RhsNested>::Index>::type Index;
-
-  enum {
-      LhsCoeffReadCost = _LhsNested::CoeffReadCost,
-      RhsCoeffReadCost = _RhsNested::CoeffReadCost,
-      LhsFlags = _LhsNested::Flags,
-      RhsFlags = _RhsNested::Flags,
-
-      RowsAtCompileTime = _LhsNested::RowsAtCompileTime,
-      ColsAtCompileTime = _RhsNested::ColsAtCompileTime,
-      InnerSize = EIGEN_SIZE_MIN_PREFER_FIXED(_LhsNested::ColsAtCompileTime, _RhsNested::RowsAtCompileTime),
-
-      MaxRowsAtCompileTime = _LhsNested::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = _RhsNested::MaxColsAtCompileTime,
-
-      LhsRowMajor = LhsFlags & RowMajorBit,
-      RhsRowMajor = RhsFlags & RowMajorBit,
-
-      SameType = is_same<typename _LhsNested::Scalar,typename _RhsNested::Scalar>::value,
-
-      CanVectorizeRhs = RhsRowMajor && (RhsFlags & PacketAccessBit)
-                      && (ColsAtCompileTime == Dynamic
-                          || ( (ColsAtCompileTime % packet_traits<Scalar>::size) == 0
-                              && (RhsFlags&AlignedBit)
-                             )
-                         ),
-
-      CanVectorizeLhs = (!LhsRowMajor) && (LhsFlags & PacketAccessBit)
-                      && (RowsAtCompileTime == Dynamic
-                          || ( (RowsAtCompileTime % packet_traits<Scalar>::size) == 0
-                              && (LhsFlags&AlignedBit)
-                             )
-                         ),
-
-      EvalToRowMajor = (MaxRowsAtCompileTime==1&&MaxColsAtCompileTime!=1) ? 1
-                     : (MaxColsAtCompileTime==1&&MaxRowsAtCompileTime!=1) ? 0
-                     : (RhsRowMajor && !CanVectorizeLhs),
-
-      Flags = ((unsigned int)(LhsFlags | RhsFlags) & HereditaryBits & ~RowMajorBit)
-            | (EvalToRowMajor ? RowMajorBit : 0)
-            | NestingFlags
-            | (LhsFlags & RhsFlags & AlignedBit)
-            // TODO enable vectorization for mixed types
-            | (SameType && (CanVectorizeLhs || CanVectorizeRhs) ? PacketAccessBit : 0),
-
-      CoeffReadCost = InnerSize == Dynamic ? Dynamic
-                    : InnerSize == 0 ? 0
-                    : InnerSize * (NumTraits<Scalar>::MulCost + LhsCoeffReadCost + RhsCoeffReadCost)
-                      + (InnerSize - 1) * NumTraits<Scalar>::AddCost,
-
-      /* CanVectorizeInner deserves special explanation. It does not affect the product flags. It is not used outside
-      * of Product. If the Product itself is not a packet-access expression, there is still a chance that the inner
-      * loop of the product might be vectorized. This is the meaning of CanVectorizeInner. Since it doesn't affect
-      * the Flags, it is safe to make this value depend on ActualPacketAccessBit, that doesn't affect the ABI.
-      */
-      CanVectorizeInner =    SameType
-                          && LhsRowMajor
-                          && (!RhsRowMajor)
-                          && (LhsFlags & RhsFlags & ActualPacketAccessBit)
-                          && (LhsFlags & RhsFlags & AlignedBit)
-                          && (InnerSize % packet_traits<Scalar>::size == 0)
-    };
-};
-
-} // end namespace internal
-
-template<typename LhsNested, typename RhsNested, int NestingFlags>
-class CoeffBasedProduct
-  : internal::no_assignment_operator,
-    public MatrixBase<CoeffBasedProduct<LhsNested, RhsNested, NestingFlags> >
-{
-  public:
-
-    typedef MatrixBase<CoeffBasedProduct> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(CoeffBasedProduct)
-    typedef typename Base::PlainObject PlainObject;
-
-  private:
-
-    typedef typename internal::traits<CoeffBasedProduct>::_LhsNested _LhsNested;
-    typedef typename internal::traits<CoeffBasedProduct>::_RhsNested _RhsNested;
-
-    enum {
-      PacketSize = internal::packet_traits<Scalar>::size,
-      InnerSize  = internal::traits<CoeffBasedProduct>::InnerSize,
-      Unroll = CoeffReadCost != Dynamic && CoeffReadCost <= EIGEN_UNROLLING_LIMIT,
-      CanVectorizeInner = internal::traits<CoeffBasedProduct>::CanVectorizeInner
-    };
-
-    typedef internal::product_coeff_impl<CanVectorizeInner ? InnerVectorizedTraversal : DefaultTraversal,
-                                   Unroll ? InnerSize : Dynamic,
-                                   _LhsNested, _RhsNested, Scalar> ScalarCoeffImpl;
-
-    typedef CoeffBasedProduct<LhsNested,RhsNested,NestByRefBit> LazyCoeffBasedProductType;
-
-  public:
-
-    inline CoeffBasedProduct(const CoeffBasedProduct& other)
-      : Base(), m_lhs(other.m_lhs), m_rhs(other.m_rhs)
-    {}
-
-    template<typename Lhs, typename Rhs>
-    inline CoeffBasedProduct(const Lhs& lhs, const Rhs& rhs)
-      : m_lhs(lhs), m_rhs(rhs)
-    {
-      // we don't allow taking products of matrices of different real types, as that wouldn't be vectorizable.
-      // We still allow to mix T and complex<T>.
-      EIGEN_STATIC_ASSERT((internal::scalar_product_traits<typename Lhs::RealScalar, typename Rhs::RealScalar>::Defined),
-        YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-      eigen_assert(lhs.cols() == rhs.rows()
-        && "invalid matrix product"
-        && "if you wanted a coeff-wise or a dot product use the respective explicit functions");
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const { return m_lhs.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return m_rhs.cols(); }
-
-    EIGEN_STRONG_INLINE const Scalar coeff(Index row, Index col) const
-    {
-      Scalar res;
-      ScalarCoeffImpl::run(row, col, m_lhs, m_rhs, res);
-      return res;
-    }
-
-    /* Allow index-based non-packet access. It is impossible though to allow index-based packed access,
-     * which is why we don't set the LinearAccessBit.
-     */
-    EIGEN_STRONG_INLINE const Scalar coeff(Index index) const
-    {
-      Scalar res;
-      const Index row = RowsAtCompileTime == 1 ? 0 : index;
-      const Index col = RowsAtCompileTime == 1 ? index : 0;
-      ScalarCoeffImpl::run(row, col, m_lhs, m_rhs, res);
-      return res;
-    }
-
-    template<int LoadMode>
-    EIGEN_STRONG_INLINE const PacketScalar packet(Index row, Index col) const
-    {
-      PacketScalar res;
-      internal::product_packet_impl<Flags&RowMajorBit ? RowMajor : ColMajor,
-                              Unroll ? InnerSize : Dynamic,
-                              _LhsNested, _RhsNested, PacketScalar, LoadMode>
-        ::run(row, col, m_lhs, m_rhs, res);
-      return res;
-    }
-
-    // Implicit conversion to the nested type (trigger the evaluation of the product)
-    EIGEN_STRONG_INLINE operator const PlainObject& () const
-    {
-      m_result.lazyAssign(*this);
-      return m_result;
-    }
-
-    const _LhsNested& lhs() const { return m_lhs; }
-    const _RhsNested& rhs() const { return m_rhs; }
-
-    const Diagonal<const LazyCoeffBasedProductType,0> diagonal() const
-    { return reinterpret_cast<const LazyCoeffBasedProductType&>(*this); }
-
-    template<int DiagonalIndex>
-    const Diagonal<const LazyCoeffBasedProductType,DiagonalIndex> diagonal() const
-    { return reinterpret_cast<const LazyCoeffBasedProductType&>(*this); }
-
-    const Diagonal<const LazyCoeffBasedProductType,Dynamic> diagonal(Index index) const
-    { return reinterpret_cast<const LazyCoeffBasedProductType&>(*this).diagonal(index); }
-
-  protected:
-    typename internal::add_const_on_value_type<LhsNested>::type m_lhs;
-    typename internal::add_const_on_value_type<RhsNested>::type m_rhs;
-
-    mutable PlainObject m_result;
-};
-
-namespace internal {
-
-// here we need to overload the nested rule for products
-// such that the nested type is a const reference to a plain matrix
-template<typename Lhs, typename Rhs, int N, typename PlainObject>
-struct nested<CoeffBasedProduct<Lhs,Rhs,EvalBeforeNestingBit|EvalBeforeAssigningBit>, N, PlainObject>
-{
-  typedef PlainObject const& type;
-};
-
-/***************************************************************************
-* Normal product .coeff() implementation (with meta-unrolling)
-***************************************************************************/
-
-/**************************************
-*** Scalar path  - no vectorization ***
-**************************************/
-
-template<int UnrollingIndex, typename Lhs, typename Rhs, typename RetScalar>
-struct product_coeff_impl<DefaultTraversal, UnrollingIndex, Lhs, Rhs, RetScalar>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, RetScalar &res)
-  {
-    product_coeff_impl<DefaultTraversal, UnrollingIndex-1, Lhs, Rhs, RetScalar>::run(row, col, lhs, rhs, res);
-    res += lhs.coeff(row, UnrollingIndex-1) * rhs.coeff(UnrollingIndex-1, col);
-  }
-};
-
-template<typename Lhs, typename Rhs, typename RetScalar>
-struct product_coeff_impl<DefaultTraversal, 1, Lhs, Rhs, RetScalar>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, RetScalar &res)
-  {
-    res = lhs.coeff(row, 0) * rhs.coeff(0, col);
-  }
-};
-
-template<typename Lhs, typename Rhs, typename RetScalar>
-struct product_coeff_impl<DefaultTraversal, 0, Lhs, Rhs, RetScalar>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index /*row*/, Index /*col*/, const Lhs& /*lhs*/, const Rhs& /*rhs*/, RetScalar &res)
-  {
-    res = RetScalar(0);
-  }
-};
-
-template<typename Lhs, typename Rhs, typename RetScalar>
-struct product_coeff_impl<DefaultTraversal, Dynamic, Lhs, Rhs, RetScalar>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, RetScalar& res)
-  {
-    res = (lhs.row(row).transpose().cwiseProduct( rhs.col(col) )).sum();
-  }
-};
-
-/*******************************************
-*** Scalar path with inner vectorization ***
-*******************************************/
-
-template<int UnrollingIndex, typename Lhs, typename Rhs, typename Packet>
-struct product_coeff_vectorized_unroller
-{
-  typedef typename Lhs::Index Index;
-  enum { PacketSize = packet_traits<typename Lhs::Scalar>::size };
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, typename Lhs::PacketScalar &pres)
-  {
-    product_coeff_vectorized_unroller<UnrollingIndex-PacketSize, Lhs, Rhs, Packet>::run(row, col, lhs, rhs, pres);
-    pres = padd(pres, pmul( lhs.template packet<Aligned>(row, UnrollingIndex) , rhs.template packet<Aligned>(UnrollingIndex, col) ));
-  }
-};
-
-template<typename Lhs, typename Rhs, typename Packet>
-struct product_coeff_vectorized_unroller<0, Lhs, Rhs, Packet>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, typename Lhs::PacketScalar &pres)
-  {
-    pres = pmul(lhs.template packet<Aligned>(row, 0) , rhs.template packet<Aligned>(0, col));
-  }
-};
-
-template<typename Lhs, typename Rhs, typename RetScalar>
-struct product_coeff_impl<InnerVectorizedTraversal, 0, Lhs, Rhs, RetScalar>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index /*row*/, Index /*col*/, const Lhs& /*lhs*/, const Rhs& /*rhs*/, RetScalar &res)
-  {
-    res = 0;
-  }
-};
-
-template<int UnrollingIndex, typename Lhs, typename Rhs, typename RetScalar>
-struct product_coeff_impl<InnerVectorizedTraversal, UnrollingIndex, Lhs, Rhs, RetScalar>
-{
-  typedef typename Lhs::PacketScalar Packet;
-  typedef typename Lhs::Index Index;
-  enum { PacketSize = packet_traits<typename Lhs::Scalar>::size };
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, RetScalar &res)
-  {
-    Packet pres;
-    product_coeff_vectorized_unroller<UnrollingIndex-PacketSize, Lhs, Rhs, Packet>::run(row, col, lhs, rhs, pres);
-    res = predux(pres);
-  }
-};
-
-template<typename Lhs, typename Rhs, int LhsRows = Lhs::RowsAtCompileTime, int RhsCols = Rhs::ColsAtCompileTime>
-struct product_coeff_vectorized_dyn_selector
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, typename Lhs::Scalar &res)
-  {
-    res = lhs.row(row).transpose().cwiseProduct(rhs.col(col)).sum();
-  }
-};
-
-// NOTE the 3 following specializations are because taking .col(0) on a vector is a bit slower
-// NOTE maybe they are now useless since we have a specialization for Block<Matrix>
-template<typename Lhs, typename Rhs, int RhsCols>
-struct product_coeff_vectorized_dyn_selector<Lhs,Rhs,1,RhsCols>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index /*row*/, Index col, const Lhs& lhs, const Rhs& rhs, typename Lhs::Scalar &res)
-  {
-    res = lhs.transpose().cwiseProduct(rhs.col(col)).sum();
-  }
-};
-
-template<typename Lhs, typename Rhs, int LhsRows>
-struct product_coeff_vectorized_dyn_selector<Lhs,Rhs,LhsRows,1>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index /*col*/, const Lhs& lhs, const Rhs& rhs, typename Lhs::Scalar &res)
-  {
-    res = lhs.row(row).transpose().cwiseProduct(rhs).sum();
-  }
-};
-
-template<typename Lhs, typename Rhs>
-struct product_coeff_vectorized_dyn_selector<Lhs,Rhs,1,1>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index /*row*/, Index /*col*/, const Lhs& lhs, const Rhs& rhs, typename Lhs::Scalar &res)
-  {
-    res = lhs.transpose().cwiseProduct(rhs).sum();
-  }
-};
-
-template<typename Lhs, typename Rhs, typename RetScalar>
-struct product_coeff_impl<InnerVectorizedTraversal, Dynamic, Lhs, Rhs, RetScalar>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, typename Lhs::Scalar &res)
-  {
-    product_coeff_vectorized_dyn_selector<Lhs,Rhs>::run(row, col, lhs, rhs, res);
-  }
-};
-
-/*******************
-*** Packet path  ***
-*******************/
-
-template<int UnrollingIndex, typename Lhs, typename Rhs, typename Packet, int LoadMode>
-struct product_packet_impl<RowMajor, UnrollingIndex, Lhs, Rhs, Packet, LoadMode>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Packet &res)
-  {
-    product_packet_impl<RowMajor, UnrollingIndex-1, Lhs, Rhs, Packet, LoadMode>::run(row, col, lhs, rhs, res);
-    res =  pmadd(pset1<Packet>(lhs.coeff(row, UnrollingIndex-1)), rhs.template packet<LoadMode>(UnrollingIndex-1, col), res);
-  }
-};
-
-template<int UnrollingIndex, typename Lhs, typename Rhs, typename Packet, int LoadMode>
-struct product_packet_impl<ColMajor, UnrollingIndex, Lhs, Rhs, Packet, LoadMode>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Packet &res)
-  {
-    product_packet_impl<ColMajor, UnrollingIndex-1, Lhs, Rhs, Packet, LoadMode>::run(row, col, lhs, rhs, res);
-    res =  pmadd(lhs.template packet<LoadMode>(row, UnrollingIndex-1), pset1<Packet>(rhs.coeff(UnrollingIndex-1, col)), res);
-  }
-};
-
-template<typename Lhs, typename Rhs, typename Packet, int LoadMode>
-struct product_packet_impl<RowMajor, 1, Lhs, Rhs, Packet, LoadMode>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Packet &res)
-  {
-    res = pmul(pset1<Packet>(lhs.coeff(row, 0)),rhs.template packet<LoadMode>(0, col));
-  }
-};
-
-template<typename Lhs, typename Rhs, typename Packet, int LoadMode>
-struct product_packet_impl<ColMajor, 1, Lhs, Rhs, Packet, LoadMode>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Packet &res)
-  {
-    res = pmul(lhs.template packet<LoadMode>(row, 0), pset1<Packet>(rhs.coeff(0, col)));
-  }
-};
-
-template<typename Lhs, typename Rhs, typename Packet, int LoadMode>
-struct product_packet_impl<RowMajor, 0, Lhs, Rhs, Packet, LoadMode>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index /*row*/, Index /*col*/, const Lhs& /*lhs*/, const Rhs& /*rhs*/, Packet &res)
-  {
-    res = pset1<Packet>(0);
-  }
-};
-
-template<typename Lhs, typename Rhs, typename Packet, int LoadMode>
-struct product_packet_impl<ColMajor, 0, Lhs, Rhs, Packet, LoadMode>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index /*row*/, Index /*col*/, const Lhs& /*lhs*/, const Rhs& /*rhs*/, Packet &res)
-  {
-    res = pset1<Packet>(0);
-  }
-};
-
-template<typename Lhs, typename Rhs, typename Packet, int LoadMode>
-struct product_packet_impl<RowMajor, Dynamic, Lhs, Rhs, Packet, LoadMode>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Packet& res)
-  {
-    res = pset1<Packet>(0);
-    for(Index i = 0; i < lhs.cols(); ++i)
-      res =  pmadd(pset1<Packet>(lhs.coeff(row, i)), rhs.template packet<LoadMode>(i, col), res);
-  }
-};
-
-template<typename Lhs, typename Rhs, typename Packet, int LoadMode>
-struct product_packet_impl<ColMajor, Dynamic, Lhs, Rhs, Packet, LoadMode>
-{
-  typedef typename Lhs::Index Index;
-  static EIGEN_STRONG_INLINE void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Packet& res)
-  {
-    res = pset1<Packet>(0);
-    for(Index i = 0; i < lhs.cols(); ++i)
-      res =  pmadd(lhs.template packet<LoadMode>(row, i), pset1<Packet>(rhs.coeff(i, col)), res);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_COEFFBASED_PRODUCT_H
diff --git a/lib/Eigen/src/Core/products/GeneralBlockPanelKernel.h b/lib/Eigen/src/Core/products/GeneralBlockPanelKernel.h
deleted file mode 100644
index bcdca5b0..00000000
--- a/lib/Eigen/src/Core/products/GeneralBlockPanelKernel.h
+++ /dev/null
@@ -1,1341 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GENERAL_BLOCK_PANEL_H
-#define EIGEN_GENERAL_BLOCK_PANEL_H
-
-namespace Eigen { 
-  
-namespace internal {
-
-template<typename _LhsScalar, typename _RhsScalar, bool _ConjLhs=false, bool _ConjRhs=false>
-class gebp_traits;
-
-
-/** \internal \returns b if a<=0, and returns a otherwise. */
-inline std::ptrdiff_t manage_caching_sizes_helper(std::ptrdiff_t a, std::ptrdiff_t b)
-{
-  return a<=0 ? b : a;
-}
-
-/** \internal */
-inline void manage_caching_sizes(Action action, std::ptrdiff_t* l1=0, std::ptrdiff_t* l2=0)
-{
-  static std::ptrdiff_t m_l1CacheSize = 0;
-  static std::ptrdiff_t m_l2CacheSize = 0;
-  if(m_l2CacheSize==0)
-  {
-    m_l1CacheSize = manage_caching_sizes_helper(queryL1CacheSize(),8 * 1024);
-    m_l2CacheSize = manage_caching_sizes_helper(queryTopLevelCacheSize(),1*1024*1024);
-  }
-  
-  if(action==SetAction)
-  {
-    // set the cpu cache size and cache all block sizes from a global cache size in byte
-    eigen_internal_assert(l1!=0 && l2!=0);
-    m_l1CacheSize = *l1;
-    m_l2CacheSize = *l2;
-  }
-  else if(action==GetAction)
-  {
-    eigen_internal_assert(l1!=0 && l2!=0);
-    *l1 = m_l1CacheSize;
-    *l2 = m_l2CacheSize;
-  }
-  else
-  {
-    eigen_internal_assert(false);
-  }
-}
-
-/** \brief Computes the blocking parameters for a m x k times k x n matrix product
-  *
-  * \param[in,out] k Input: the third dimension of the product. Output: the blocking size along the same dimension.
-  * \param[in,out] m Input: the number of rows of the left hand side. Output: the blocking size along the same dimension.
-  * \param[in,out] n Input: the number of columns of the right hand side. Output: the blocking size along the same dimension.
-  *
-  * Given a m x k times k x n matrix product of scalar types \c LhsScalar and \c RhsScalar,
-  * this function computes the blocking size parameters along the respective dimensions
-  * for matrix products and related algorithms. The blocking sizes depends on various
-  * parameters:
-  * - the L1 and L2 cache sizes,
-  * - the register level blocking sizes defined by gebp_traits,
-  * - the number of scalars that fit into a packet (when vectorization is enabled).
-  *
-  * \sa setCpuCacheSizes */
-template<typename LhsScalar, typename RhsScalar, int KcFactor, typename SizeType>
-void computeProductBlockingSizes(SizeType& k, SizeType& m, SizeType& n)
-{
-  EIGEN_UNUSED_VARIABLE(n);
-  // Explanations:
-  // Let's recall the product algorithms form kc x nc horizontal panels B' on the rhs and
-  // mc x kc blocks A' on the lhs. A' has to fit into L2 cache. Moreover, B' is processed
-  // per kc x nr vertical small panels where nr is the blocking size along the n dimension
-  // at the register level. For vectorization purpose, these small vertical panels are unpacked,
-  // e.g., each coefficient is replicated to fit a packet. This small vertical panel has to
-  // stay in L1 cache.
-  std::ptrdiff_t l1, l2;
-
-  typedef gebp_traits<LhsScalar,RhsScalar> Traits;
-  enum {
-    kdiv = KcFactor * 2 * Traits::nr
-         * Traits::RhsProgress * sizeof(RhsScalar),
-    mr = gebp_traits<LhsScalar,RhsScalar>::mr,
-    mr_mask = (0xffffffff/mr)*mr
-  };
-
-  manage_caching_sizes(GetAction, &l1, &l2);
-  k = std::min<SizeType>(k, l1/kdiv);
-  SizeType _m = k>0 ? l2/(4 * sizeof(LhsScalar) * k) : 0;
-  if(_m<m) m = _m & mr_mask;
-}
-
-template<typename LhsScalar, typename RhsScalar, typename SizeType>
-inline void computeProductBlockingSizes(SizeType& k, SizeType& m, SizeType& n)
-{
-  computeProductBlockingSizes<LhsScalar,RhsScalar,1>(k, m, n);
-}
-
-#ifdef EIGEN_HAS_FUSE_CJMADD
-  #define MADD(CJ,A,B,C,T)  C = CJ.pmadd(A,B,C);
-#else
-
-  // FIXME (a bit overkill maybe ?)
-
-  template<typename CJ, typename A, typename B, typename C, typename T> struct gebp_madd_selector {
-    EIGEN_ALWAYS_INLINE static void run(const CJ& cj, A& a, B& b, C& c, T& /*t*/)
-    {
-      c = cj.pmadd(a,b,c);
-    }
-  };
-
-  template<typename CJ, typename T> struct gebp_madd_selector<CJ,T,T,T,T> {
-    EIGEN_ALWAYS_INLINE static void run(const CJ& cj, T& a, T& b, T& c, T& t)
-    {
-      t = b; t = cj.pmul(a,t); c = padd(c,t);
-    }
-  };
-
-  template<typename CJ, typename A, typename B, typename C, typename T>
-  EIGEN_STRONG_INLINE void gebp_madd(const CJ& cj, A& a, B& b, C& c, T& t)
-  {
-    gebp_madd_selector<CJ,A,B,C,T>::run(cj,a,b,c,t);
-  }
-
-  #define MADD(CJ,A,B,C,T)  gebp_madd(CJ,A,B,C,T);
-//   #define MADD(CJ,A,B,C,T)  T = B; T = CJ.pmul(A,T); C = padd(C,T);
-#endif
-
-/* Vectorization logic
- *  real*real: unpack rhs to constant packets, ...
- * 
- *  cd*cd : unpack rhs to (b_r,b_r), (b_i,b_i), mul to get (a_r b_r,a_i b_r) (a_r b_i,a_i b_i),
- *          storing each res packet into two packets (2x2),
- *          at the end combine them: swap the second and addsub them 
- *  cf*cf : same but with 2x4 blocks
- *  cplx*real : unpack rhs to constant packets, ...
- *  real*cplx : load lhs as (a0,a0,a1,a1), and mul as usual
- */
-template<typename _LhsScalar, typename _RhsScalar, bool _ConjLhs, bool _ConjRhs>
-class gebp_traits
-{
-public:
-  typedef _LhsScalar LhsScalar;
-  typedef _RhsScalar RhsScalar;
-  typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-
-  enum {
-    ConjLhs = _ConjLhs,
-    ConjRhs = _ConjRhs,
-    Vectorizable = packet_traits<LhsScalar>::Vectorizable && packet_traits<RhsScalar>::Vectorizable,
-    LhsPacketSize = Vectorizable ? packet_traits<LhsScalar>::size : 1,
-    RhsPacketSize = Vectorizable ? packet_traits<RhsScalar>::size : 1,
-    ResPacketSize = Vectorizable ? packet_traits<ResScalar>::size : 1,
-    
-    NumberOfRegisters = EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS,
-
-    // register block size along the N direction (must be either 2 or 4)
-    nr = NumberOfRegisters/4,
-
-    // register block size along the M direction (currently, this one cannot be modified)
-    mr = 2 * LhsPacketSize,
-    
-    WorkSpaceFactor = nr * RhsPacketSize,
-
-    LhsProgress = LhsPacketSize,
-    RhsProgress = RhsPacketSize
-  };
-
-  typedef typename packet_traits<LhsScalar>::type  _LhsPacket;
-  typedef typename packet_traits<RhsScalar>::type  _RhsPacket;
-  typedef typename packet_traits<ResScalar>::type  _ResPacket;
-
-  typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
-  typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
-  typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
-
-  typedef ResPacket AccPacket;
-  
-  EIGEN_STRONG_INLINE void initAcc(AccPacket& p)
-  {
-    p = pset1<ResPacket>(ResScalar(0));
-  }
-
-  EIGEN_STRONG_INLINE void unpackRhs(DenseIndex n, const RhsScalar* rhs, RhsScalar* b)
-  {
-    for(DenseIndex k=0; k<n; k++)
-      pstore1<RhsPacket>(&b[k*RhsPacketSize], rhs[k]);
-  }
-
-  EIGEN_STRONG_INLINE void loadRhs(const RhsScalar* b, RhsPacket& dest) const
-  {
-    dest = pload<RhsPacket>(b);
-  }
-
-  EIGEN_STRONG_INLINE void loadLhs(const LhsScalar* a, LhsPacket& dest) const
-  {
-    dest = pload<LhsPacket>(a);
-  }
-
-  EIGEN_STRONG_INLINE void madd(const LhsPacket& a, const RhsPacket& b, AccPacket& c, AccPacket& tmp) const
-  {
-    tmp = b; tmp = pmul(a,tmp); c = padd(c,tmp);
-  }
-
-  EIGEN_STRONG_INLINE void acc(const AccPacket& c, const ResPacket& alpha, ResPacket& r) const
-  {
-    r = pmadd(c,alpha,r);
-  }
-
-protected:
-//   conj_helper<LhsScalar,RhsScalar,ConjLhs,ConjRhs> cj;
-//   conj_helper<LhsPacket,RhsPacket,ConjLhs,ConjRhs> pcj;
-};
-
-template<typename RealScalar, bool _ConjLhs>
-class gebp_traits<std::complex<RealScalar>, RealScalar, _ConjLhs, false>
-{
-public:
-  typedef std::complex<RealScalar> LhsScalar;
-  typedef RealScalar RhsScalar;
-  typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-
-  enum {
-    ConjLhs = _ConjLhs,
-    ConjRhs = false,
-    Vectorizable = packet_traits<LhsScalar>::Vectorizable && packet_traits<RhsScalar>::Vectorizable,
-    LhsPacketSize = Vectorizable ? packet_traits<LhsScalar>::size : 1,
-    RhsPacketSize = Vectorizable ? packet_traits<RhsScalar>::size : 1,
-    ResPacketSize = Vectorizable ? packet_traits<ResScalar>::size : 1,
-    
-    NumberOfRegisters = EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS,
-    nr = NumberOfRegisters/4,
-    mr = 2 * LhsPacketSize,
-    WorkSpaceFactor = nr*RhsPacketSize,
-
-    LhsProgress = LhsPacketSize,
-    RhsProgress = RhsPacketSize
-  };
-
-  typedef typename packet_traits<LhsScalar>::type  _LhsPacket;
-  typedef typename packet_traits<RhsScalar>::type  _RhsPacket;
-  typedef typename packet_traits<ResScalar>::type  _ResPacket;
-
-  typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
-  typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
-  typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
-
-  typedef ResPacket AccPacket;
-
-  EIGEN_STRONG_INLINE void initAcc(AccPacket& p)
-  {
-    p = pset1<ResPacket>(ResScalar(0));
-  }
-
-  EIGEN_STRONG_INLINE void unpackRhs(DenseIndex n, const RhsScalar* rhs, RhsScalar* b)
-  {
-    for(DenseIndex k=0; k<n; k++)
-      pstore1<RhsPacket>(&b[k*RhsPacketSize], rhs[k]);
-  }
-
-  EIGEN_STRONG_INLINE void loadRhs(const RhsScalar* b, RhsPacket& dest) const
-  {
-    dest = pload<RhsPacket>(b);
-  }
-
-  EIGEN_STRONG_INLINE void loadLhs(const LhsScalar* a, LhsPacket& dest) const
-  {
-    dest = pload<LhsPacket>(a);
-  }
-
-  EIGEN_STRONG_INLINE void madd(const LhsPacket& a, const RhsPacket& b, AccPacket& c, RhsPacket& tmp) const
-  {
-    madd_impl(a, b, c, tmp, typename conditional<Vectorizable,true_type,false_type>::type());
-  }
-
-  EIGEN_STRONG_INLINE void madd_impl(const LhsPacket& a, const RhsPacket& b, AccPacket& c, RhsPacket& tmp, const true_type&) const
-  {
-    tmp = b; tmp = pmul(a.v,tmp); c.v = padd(c.v,tmp);
-  }
-
-  EIGEN_STRONG_INLINE void madd_impl(const LhsScalar& a, const RhsScalar& b, ResScalar& c, RhsScalar& /*tmp*/, const false_type&) const
-  {
-    c += a * b;
-  }
-
-  EIGEN_STRONG_INLINE void acc(const AccPacket& c, const ResPacket& alpha, ResPacket& r) const
-  {
-    r = cj.pmadd(c,alpha,r);
-  }
-
-protected:
-  conj_helper<ResPacket,ResPacket,ConjLhs,false> cj;
-};
-
-template<typename RealScalar, bool _ConjLhs, bool _ConjRhs>
-class gebp_traits<std::complex<RealScalar>, std::complex<RealScalar>, _ConjLhs, _ConjRhs >
-{
-public:
-  typedef std::complex<RealScalar>  Scalar;
-  typedef std::complex<RealScalar>  LhsScalar;
-  typedef std::complex<RealScalar>  RhsScalar;
-  typedef std::complex<RealScalar>  ResScalar;
-  
-  enum {
-    ConjLhs = _ConjLhs,
-    ConjRhs = _ConjRhs,
-    Vectorizable = packet_traits<RealScalar>::Vectorizable
-                && packet_traits<Scalar>::Vectorizable,
-    RealPacketSize  = Vectorizable ? packet_traits<RealScalar>::size : 1,
-    ResPacketSize   = Vectorizable ? packet_traits<ResScalar>::size : 1,
-    
-    nr = 2,
-    mr = 2 * ResPacketSize,
-    WorkSpaceFactor = Vectorizable ? 2*nr*RealPacketSize : nr,
-
-    LhsProgress = ResPacketSize,
-    RhsProgress = Vectorizable ? 2*ResPacketSize : 1
-  };
-  
-  typedef typename packet_traits<RealScalar>::type RealPacket;
-  typedef typename packet_traits<Scalar>::type     ScalarPacket;
-  struct DoublePacket
-  {
-    RealPacket first;
-    RealPacket second;
-  };
-
-  typedef typename conditional<Vectorizable,RealPacket,  Scalar>::type LhsPacket;
-  typedef typename conditional<Vectorizable,DoublePacket,Scalar>::type RhsPacket;
-  typedef typename conditional<Vectorizable,ScalarPacket,Scalar>::type ResPacket;
-  typedef typename conditional<Vectorizable,DoublePacket,Scalar>::type AccPacket;
-  
-  EIGEN_STRONG_INLINE void initAcc(Scalar& p) { p = Scalar(0); }
-
-  EIGEN_STRONG_INLINE void initAcc(DoublePacket& p)
-  {
-    p.first   = pset1<RealPacket>(RealScalar(0));
-    p.second  = pset1<RealPacket>(RealScalar(0));
-  }
-
-  /* Unpack the rhs coeff such that each complex coefficient is spread into
-   * two packects containing respectively the real and imaginary coefficient
-   * duplicated as many time as needed: (x+iy) => [x, ..., x] [y, ..., y]
-   */
-  EIGEN_STRONG_INLINE void unpackRhs(DenseIndex n, const Scalar* rhs, Scalar* b)
-  {
-    for(DenseIndex k=0; k<n; k++)
-    {
-      if(Vectorizable)
-      {
-        pstore1<RealPacket>((RealScalar*)&b[k*ResPacketSize*2+0],             real(rhs[k]));
-        pstore1<RealPacket>((RealScalar*)&b[k*ResPacketSize*2+ResPacketSize], imag(rhs[k]));
-      }
-      else
-        b[k] = rhs[k];
-    }
-  }
-
-  EIGEN_STRONG_INLINE void loadRhs(const RhsScalar* b, ResPacket& dest) const { dest = *b; }
-
-  EIGEN_STRONG_INLINE void loadRhs(const RhsScalar* b, DoublePacket& dest) const
-  {
-    dest.first  = pload<RealPacket>((const RealScalar*)b);
-    dest.second = pload<RealPacket>((const RealScalar*)(b+ResPacketSize));
-  }
-
-  // nothing special here
-  EIGEN_STRONG_INLINE void loadLhs(const LhsScalar* a, LhsPacket& dest) const
-  {
-    dest = pload<LhsPacket>((const typename unpacket_traits<LhsPacket>::type*)(a));
-  }
-
-  EIGEN_STRONG_INLINE void madd(const LhsPacket& a, const RhsPacket& b, DoublePacket& c, RhsPacket& /*tmp*/) const
-  {
-    c.first   = padd(pmul(a,b.first), c.first);
-    c.second  = padd(pmul(a,b.second),c.second);
-  }
-
-  EIGEN_STRONG_INLINE void madd(const LhsPacket& a, const RhsPacket& b, ResPacket& c, RhsPacket& /*tmp*/) const
-  {
-    c = cj.pmadd(a,b,c);
-  }
-  
-  EIGEN_STRONG_INLINE void acc(const Scalar& c, const Scalar& alpha, Scalar& r) const { r += alpha * c; }
-  
-  EIGEN_STRONG_INLINE void acc(const DoublePacket& c, const ResPacket& alpha, ResPacket& r) const
-  {
-    // assemble c
-    ResPacket tmp;
-    if((!ConjLhs)&&(!ConjRhs))
-    {
-      tmp = pcplxflip(pconj(ResPacket(c.second)));
-      tmp = padd(ResPacket(c.first),tmp);
-    }
-    else if((!ConjLhs)&&(ConjRhs))
-    {
-      tmp = pconj(pcplxflip(ResPacket(c.second)));
-      tmp = padd(ResPacket(c.first),tmp);
-    }
-    else if((ConjLhs)&&(!ConjRhs))
-    {
-      tmp = pcplxflip(ResPacket(c.second));
-      tmp = padd(pconj(ResPacket(c.first)),tmp);
-    }
-    else if((ConjLhs)&&(ConjRhs))
-    {
-      tmp = pcplxflip(ResPacket(c.second));
-      tmp = psub(pconj(ResPacket(c.first)),tmp);
-    }
-    
-    r = pmadd(tmp,alpha,r);
-  }
-
-protected:
-  conj_helper<LhsScalar,RhsScalar,ConjLhs,ConjRhs> cj;
-};
-
-template<typename RealScalar, bool _ConjRhs>
-class gebp_traits<RealScalar, std::complex<RealScalar>, false, _ConjRhs >
-{
-public:
-  typedef std::complex<RealScalar>  Scalar;
-  typedef RealScalar  LhsScalar;
-  typedef Scalar      RhsScalar;
-  typedef Scalar      ResScalar;
-
-  enum {
-    ConjLhs = false,
-    ConjRhs = _ConjRhs,
-    Vectorizable = packet_traits<RealScalar>::Vectorizable
-                && packet_traits<Scalar>::Vectorizable,
-    LhsPacketSize = Vectorizable ? packet_traits<LhsScalar>::size : 1,
-    RhsPacketSize = Vectorizable ? packet_traits<RhsScalar>::size : 1,
-    ResPacketSize = Vectorizable ? packet_traits<ResScalar>::size : 1,
-    
-    NumberOfRegisters = EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS,
-    nr = 4,
-    mr = 2*ResPacketSize,
-    WorkSpaceFactor = nr*RhsPacketSize,
-
-    LhsProgress = ResPacketSize,
-    RhsProgress = ResPacketSize
-  };
-
-  typedef typename packet_traits<LhsScalar>::type  _LhsPacket;
-  typedef typename packet_traits<RhsScalar>::type  _RhsPacket;
-  typedef typename packet_traits<ResScalar>::type  _ResPacket;
-
-  typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
-  typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
-  typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
-
-  typedef ResPacket AccPacket;
-
-  EIGEN_STRONG_INLINE void initAcc(AccPacket& p)
-  {
-    p = pset1<ResPacket>(ResScalar(0));
-  }
-
-  EIGEN_STRONG_INLINE void unpackRhs(DenseIndex n, const RhsScalar* rhs, RhsScalar* b)
-  {
-    for(DenseIndex k=0; k<n; k++)
-      pstore1<RhsPacket>(&b[k*RhsPacketSize], rhs[k]);
-  }
-
-  EIGEN_STRONG_INLINE void loadRhs(const RhsScalar* b, RhsPacket& dest) const
-  {
-    dest = pload<RhsPacket>(b);
-  }
-
-  EIGEN_STRONG_INLINE void loadLhs(const LhsScalar* a, LhsPacket& dest) const
-  {
-    dest = ploaddup<LhsPacket>(a);
-  }
-
-  EIGEN_STRONG_INLINE void madd(const LhsPacket& a, const RhsPacket& b, AccPacket& c, RhsPacket& tmp) const
-  {
-    madd_impl(a, b, c, tmp, typename conditional<Vectorizable,true_type,false_type>::type());
-  }
-
-  EIGEN_STRONG_INLINE void madd_impl(const LhsPacket& a, const RhsPacket& b, AccPacket& c, RhsPacket& tmp, const true_type&) const
-  {
-    tmp = b; tmp.v = pmul(a,tmp.v); c = padd(c,tmp);
-  }
-
-  EIGEN_STRONG_INLINE void madd_impl(const LhsScalar& a, const RhsScalar& b, ResScalar& c, RhsScalar& /*tmp*/, const false_type&) const
-  {
-    c += a * b;
-  }
-
-  EIGEN_STRONG_INLINE void acc(const AccPacket& c, const ResPacket& alpha, ResPacket& r) const
-  {
-    r = cj.pmadd(alpha,c,r);
-  }
-
-protected:
-  conj_helper<ResPacket,ResPacket,false,ConjRhs> cj;
-};
-
-/* optimized GEneral packed Block * packed Panel product kernel
- *
- * Mixing type logic: C += A * B
- *  |  A  |  B  | comments
- *  |real |cplx | no vectorization yet, would require to pack A with duplication
- *  |cplx |real | easy vectorization
- */
-template<typename LhsScalar, typename RhsScalar, typename Index, int mr, int nr, bool ConjugateLhs, bool ConjugateRhs>
-struct gebp_kernel
-{
-  typedef gebp_traits<LhsScalar,RhsScalar,ConjugateLhs,ConjugateRhs> Traits;
-  typedef typename Traits::ResScalar ResScalar;
-  typedef typename Traits::LhsPacket LhsPacket;
-  typedef typename Traits::RhsPacket RhsPacket;
-  typedef typename Traits::ResPacket ResPacket;
-  typedef typename Traits::AccPacket AccPacket;
-
-  enum {
-    Vectorizable  = Traits::Vectorizable,
-    LhsProgress   = Traits::LhsProgress,
-    RhsProgress   = Traits::RhsProgress,
-    ResPacketSize = Traits::ResPacketSize
-  };
-
-  EIGEN_DONT_INLINE
-  void operator()(ResScalar* res, Index resStride, const LhsScalar* blockA, const RhsScalar* blockB, Index rows, Index depth, Index cols, ResScalar alpha,
-                  Index strideA=-1, Index strideB=-1, Index offsetA=0, Index offsetB=0, RhsScalar* unpackedB=0);
-};
-
-template<typename LhsScalar, typename RhsScalar, typename Index, int mr, int nr, bool ConjugateLhs, bool ConjugateRhs>
-EIGEN_DONT_INLINE
-void gebp_kernel<LhsScalar,RhsScalar,Index,mr,nr,ConjugateLhs,ConjugateRhs>
-  ::operator()(ResScalar* res, Index resStride, const LhsScalar* blockA, const RhsScalar* blockB, Index rows, Index depth, Index cols, ResScalar alpha,
-               Index strideA, Index strideB, Index offsetA, Index offsetB, RhsScalar* unpackedB)
-  {
-    Traits traits;
-    
-    if(strideA==-1) strideA = depth;
-    if(strideB==-1) strideB = depth;
-    conj_helper<LhsScalar,RhsScalar,ConjugateLhs,ConjugateRhs> cj;
-//     conj_helper<LhsPacket,RhsPacket,ConjugateLhs,ConjugateRhs> pcj;
-    Index packet_cols = (cols/nr) * nr;
-    const Index peeled_mc = (rows/mr)*mr;
-    // FIXME:
-    const Index peeled_mc2 = peeled_mc + (rows-peeled_mc >= LhsProgress ? LhsProgress : 0);
-    const Index peeled_kc = (depth/4)*4;
-
-    if(unpackedB==0)
-      unpackedB = const_cast<RhsScalar*>(blockB - strideB * nr * RhsProgress);
-
-    // loops on each micro vertical panel of rhs (depth x nr)
-    for(Index j2=0; j2<packet_cols; j2+=nr)
-    {
-      traits.unpackRhs(depth*nr,&blockB[j2*strideB+offsetB*nr],unpackedB); 
-
-      // loops on each largest micro horizontal panel of lhs (mr x depth)
-      // => we select a mr x nr micro block of res which is entirely
-      //    stored into mr/packet_size x nr registers.
-      for(Index i=0; i<peeled_mc; i+=mr)
-      {
-        const LhsScalar* blA = &blockA[i*strideA+offsetA*mr];
-        prefetch(&blA[0]);
-
-        // gets res block as register
-        AccPacket C0, C1, C2, C3, C4, C5, C6, C7;
-                  traits.initAcc(C0);
-                  traits.initAcc(C1);
-        if(nr==4) traits.initAcc(C2);
-        if(nr==4) traits.initAcc(C3);
-                  traits.initAcc(C4);
-                  traits.initAcc(C5);
-        if(nr==4) traits.initAcc(C6);
-        if(nr==4) traits.initAcc(C7);
-
-        ResScalar* r0 = &res[(j2+0)*resStride + i];
-        ResScalar* r1 = r0 + resStride;
-        ResScalar* r2 = r1 + resStride;
-        ResScalar* r3 = r2 + resStride;
-
-        prefetch(r0+16);
-        prefetch(r1+16);
-        prefetch(r2+16);
-        prefetch(r3+16);
-
-        // performs "inner" product
-        // TODO let's check wether the folowing peeled loop could not be
-        //      optimized via optimal prefetching from one loop to the other
-        const RhsScalar* blB = unpackedB;
-        for(Index k=0; k<peeled_kc; k+=4)
-        {
-          if(nr==2)
-          {
-            LhsPacket A0, A1;
-            RhsPacket B_0;
-            RhsPacket T0;
-            
-EIGEN_ASM_COMMENT("mybegin2");
-            traits.loadLhs(&blA[0*LhsProgress], A0);
-            traits.loadLhs(&blA[1*LhsProgress], A1);
-            traits.loadRhs(&blB[0*RhsProgress], B_0);
-            traits.madd(A0,B_0,C0,T0);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.loadRhs(&blB[1*RhsProgress], B_0);
-            traits.madd(A0,B_0,C1,T0);
-            traits.madd(A1,B_0,C5,B_0);
-
-            traits.loadLhs(&blA[2*LhsProgress], A0);
-            traits.loadLhs(&blA[3*LhsProgress], A1);
-            traits.loadRhs(&blB[2*RhsProgress], B_0);
-            traits.madd(A0,B_0,C0,T0);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.loadRhs(&blB[3*RhsProgress], B_0);
-            traits.madd(A0,B_0,C1,T0);
-            traits.madd(A1,B_0,C5,B_0);
-
-            traits.loadLhs(&blA[4*LhsProgress], A0);
-            traits.loadLhs(&blA[5*LhsProgress], A1);
-            traits.loadRhs(&blB[4*RhsProgress], B_0);
-            traits.madd(A0,B_0,C0,T0);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.loadRhs(&blB[5*RhsProgress], B_0);
-            traits.madd(A0,B_0,C1,T0);
-            traits.madd(A1,B_0,C5,B_0);
-
-            traits.loadLhs(&blA[6*LhsProgress], A0);
-            traits.loadLhs(&blA[7*LhsProgress], A1);
-            traits.loadRhs(&blB[6*RhsProgress], B_0);
-            traits.madd(A0,B_0,C0,T0);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.loadRhs(&blB[7*RhsProgress], B_0);
-            traits.madd(A0,B_0,C1,T0);
-            traits.madd(A1,B_0,C5,B_0);
-EIGEN_ASM_COMMENT("myend");
-          }
-          else
-          {
-EIGEN_ASM_COMMENT("mybegin4");
-            LhsPacket A0, A1;
-            RhsPacket B_0, B1, B2, B3;
-            RhsPacket T0;
-            
-            traits.loadLhs(&blA[0*LhsProgress], A0);
-            traits.loadLhs(&blA[1*LhsProgress], A1);
-            traits.loadRhs(&blB[0*RhsProgress], B_0);
-            traits.loadRhs(&blB[1*RhsProgress], B1);
-
-            traits.madd(A0,B_0,C0,T0);
-            traits.loadRhs(&blB[2*RhsProgress], B2);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.loadRhs(&blB[3*RhsProgress], B3);
-            traits.loadRhs(&blB[4*RhsProgress], B_0);
-            traits.madd(A0,B1,C1,T0);
-            traits.madd(A1,B1,C5,B1);
-            traits.loadRhs(&blB[5*RhsProgress], B1);
-            traits.madd(A0,B2,C2,T0);
-            traits.madd(A1,B2,C6,B2);
-            traits.loadRhs(&blB[6*RhsProgress], B2);
-            traits.madd(A0,B3,C3,T0);
-            traits.loadLhs(&blA[2*LhsProgress], A0);
-            traits.madd(A1,B3,C7,B3);
-            traits.loadLhs(&blA[3*LhsProgress], A1);
-            traits.loadRhs(&blB[7*RhsProgress], B3);
-            traits.madd(A0,B_0,C0,T0);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.loadRhs(&blB[8*RhsProgress], B_0);
-            traits.madd(A0,B1,C1,T0);
-            traits.madd(A1,B1,C5,B1);
-            traits.loadRhs(&blB[9*RhsProgress], B1);
-            traits.madd(A0,B2,C2,T0);
-            traits.madd(A1,B2,C6,B2);
-            traits.loadRhs(&blB[10*RhsProgress], B2);
-            traits.madd(A0,B3,C3,T0);
-            traits.loadLhs(&blA[4*LhsProgress], A0);
-            traits.madd(A1,B3,C7,B3);
-            traits.loadLhs(&blA[5*LhsProgress], A1);
-            traits.loadRhs(&blB[11*RhsProgress], B3);
-
-            traits.madd(A0,B_0,C0,T0);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.loadRhs(&blB[12*RhsProgress], B_0);
-            traits.madd(A0,B1,C1,T0);
-            traits.madd(A1,B1,C5,B1);
-            traits.loadRhs(&blB[13*RhsProgress], B1);
-            traits.madd(A0,B2,C2,T0);
-            traits.madd(A1,B2,C6,B2);
-            traits.loadRhs(&blB[14*RhsProgress], B2);
-            traits.madd(A0,B3,C3,T0);
-            traits.loadLhs(&blA[6*LhsProgress], A0);
-            traits.madd(A1,B3,C7,B3);
-            traits.loadLhs(&blA[7*LhsProgress], A1);
-            traits.loadRhs(&blB[15*RhsProgress], B3);
-            traits.madd(A0,B_0,C0,T0);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.madd(A0,B1,C1,T0);
-            traits.madd(A1,B1,C5,B1);
-            traits.madd(A0,B2,C2,T0);
-            traits.madd(A1,B2,C6,B2);
-            traits.madd(A0,B3,C3,T0);
-            traits.madd(A1,B3,C7,B3);
-          }
-
-          blB += 4*nr*RhsProgress;
-          blA += 4*mr;
-        }
-        // process remaining peeled loop
-        for(Index k=peeled_kc; k<depth; k++)
-        {
-          if(nr==2)
-          {
-            LhsPacket A0, A1;
-            RhsPacket B_0;
-            RhsPacket T0;
-
-            traits.loadLhs(&blA[0*LhsProgress], A0);
-            traits.loadLhs(&blA[1*LhsProgress], A1);
-            traits.loadRhs(&blB[0*RhsProgress], B_0);
-            traits.madd(A0,B_0,C0,T0);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.loadRhs(&blB[1*RhsProgress], B_0);
-            traits.madd(A0,B_0,C1,T0);
-            traits.madd(A1,B_0,C5,B_0);
-          }
-          else
-          {
-            LhsPacket A0, A1;
-            RhsPacket B_0, B1, B2, B3;
-            RhsPacket T0;
-
-            traits.loadLhs(&blA[0*LhsProgress], A0);
-            traits.loadLhs(&blA[1*LhsProgress], A1);
-            traits.loadRhs(&blB[0*RhsProgress], B_0);
-            traits.loadRhs(&blB[1*RhsProgress], B1);
-
-            traits.madd(A0,B_0,C0,T0);
-            traits.loadRhs(&blB[2*RhsProgress], B2);
-            traits.madd(A1,B_0,C4,B_0);
-            traits.loadRhs(&blB[3*RhsProgress], B3);
-            traits.madd(A0,B1,C1,T0);
-            traits.madd(A1,B1,C5,B1);
-            traits.madd(A0,B2,C2,T0);
-            traits.madd(A1,B2,C6,B2);
-            traits.madd(A0,B3,C3,T0);
-            traits.madd(A1,B3,C7,B3);
-          }
-
-          blB += nr*RhsProgress;
-          blA += mr;
-        }
-
-        if(nr==4)
-        {
-          ResPacket R0, R1, R2, R3, R4, R5, R6;
-          ResPacket alphav = pset1<ResPacket>(alpha);
-
-          R0 = ploadu<ResPacket>(r0);
-          R1 = ploadu<ResPacket>(r1);
-          R2 = ploadu<ResPacket>(r2);
-          R3 = ploadu<ResPacket>(r3);
-          R4 = ploadu<ResPacket>(r0 + ResPacketSize);
-          R5 = ploadu<ResPacket>(r1 + ResPacketSize);
-          R6 = ploadu<ResPacket>(r2 + ResPacketSize);
-          traits.acc(C0, alphav, R0);
-          pstoreu(r0, R0);
-          R0 = ploadu<ResPacket>(r3 + ResPacketSize);
-
-          traits.acc(C1, alphav, R1);
-          traits.acc(C2, alphav, R2);
-          traits.acc(C3, alphav, R3);
-          traits.acc(C4, alphav, R4);
-          traits.acc(C5, alphav, R5);
-          traits.acc(C6, alphav, R6);
-          traits.acc(C7, alphav, R0);
-          
-          pstoreu(r1, R1);
-          pstoreu(r2, R2);
-          pstoreu(r3, R3);
-          pstoreu(r0 + ResPacketSize, R4);
-          pstoreu(r1 + ResPacketSize, R5);
-          pstoreu(r2 + ResPacketSize, R6);
-          pstoreu(r3 + ResPacketSize, R0);
-        }
-        else
-        {
-          ResPacket R0, R1, R4;
-          ResPacket alphav = pset1<ResPacket>(alpha);
-
-          R0 = ploadu<ResPacket>(r0);
-          R1 = ploadu<ResPacket>(r1);
-          R4 = ploadu<ResPacket>(r0 + ResPacketSize);
-          traits.acc(C0, alphav, R0);
-          pstoreu(r0, R0);
-          R0 = ploadu<ResPacket>(r1 + ResPacketSize);
-          traits.acc(C1, alphav, R1);
-          traits.acc(C4, alphav, R4);
-          traits.acc(C5, alphav, R0);
-          pstoreu(r1, R1);
-          pstoreu(r0 + ResPacketSize, R4);
-          pstoreu(r1 + ResPacketSize, R0);
-        }
-        
-      }
-      
-      if(rows-peeled_mc>=LhsProgress)
-      {
-        Index i = peeled_mc;
-        const LhsScalar* blA = &blockA[i*strideA+offsetA*LhsProgress];
-        prefetch(&blA[0]);
-
-        // gets res block as register
-        AccPacket C0, C1, C2, C3;
-                  traits.initAcc(C0);
-                  traits.initAcc(C1);
-        if(nr==4) traits.initAcc(C2);
-        if(nr==4) traits.initAcc(C3);
-
-        // performs "inner" product
-        const RhsScalar* blB = unpackedB;
-        for(Index k=0; k<peeled_kc; k+=4)
-        {
-          if(nr==2)
-          {
-            LhsPacket A0;
-            RhsPacket B_0, B1;
-
-            traits.loadLhs(&blA[0*LhsProgress], A0);
-            traits.loadRhs(&blB[0*RhsProgress], B_0);
-            traits.loadRhs(&blB[1*RhsProgress], B1);
-            traits.madd(A0,B_0,C0,B_0);
-            traits.loadRhs(&blB[2*RhsProgress], B_0);
-            traits.madd(A0,B1,C1,B1);
-            traits.loadLhs(&blA[1*LhsProgress], A0);
-            traits.loadRhs(&blB[3*RhsProgress], B1);
-            traits.madd(A0,B_0,C0,B_0);
-            traits.loadRhs(&blB[4*RhsProgress], B_0);
-            traits.madd(A0,B1,C1,B1);
-            traits.loadLhs(&blA[2*LhsProgress], A0);
-            traits.loadRhs(&blB[5*RhsProgress], B1);
-            traits.madd(A0,B_0,C0,B_0);
-            traits.loadRhs(&blB[6*RhsProgress], B_0);
-            traits.madd(A0,B1,C1,B1);
-            traits.loadLhs(&blA[3*LhsProgress], A0);
-            traits.loadRhs(&blB[7*RhsProgress], B1);
-            traits.madd(A0,B_0,C0,B_0);
-            traits.madd(A0,B1,C1,B1);
-          }
-          else
-          {
-            LhsPacket A0;
-            RhsPacket B_0, B1, B2, B3;
-
-            traits.loadLhs(&blA[0*LhsProgress], A0);
-            traits.loadRhs(&blB[0*RhsProgress], B_0);
-            traits.loadRhs(&blB[1*RhsProgress], B1);
-
-            traits.madd(A0,B_0,C0,B_0);
-            traits.loadRhs(&blB[2*RhsProgress], B2);
-            traits.loadRhs(&blB[3*RhsProgress], B3);
-            traits.loadRhs(&blB[4*RhsProgress], B_0);
-            traits.madd(A0,B1,C1,B1);
-            traits.loadRhs(&blB[5*RhsProgress], B1);
-            traits.madd(A0,B2,C2,B2);
-            traits.loadRhs(&blB[6*RhsProgress], B2);
-            traits.madd(A0,B3,C3,B3);
-            traits.loadLhs(&blA[1*LhsProgress], A0);
-            traits.loadRhs(&blB[7*RhsProgress], B3);
-            traits.madd(A0,B_0,C0,B_0);
-            traits.loadRhs(&blB[8*RhsProgress], B_0);
-            traits.madd(A0,B1,C1,B1);
-            traits.loadRhs(&blB[9*RhsProgress], B1);
-            traits.madd(A0,B2,C2,B2);
-            traits.loadRhs(&blB[10*RhsProgress], B2);
-            traits.madd(A0,B3,C3,B3);
-            traits.loadLhs(&blA[2*LhsProgress], A0);
-            traits.loadRhs(&blB[11*RhsProgress], B3);
-
-            traits.madd(A0,B_0,C0,B_0);
-            traits.loadRhs(&blB[12*RhsProgress], B_0);
-            traits.madd(A0,B1,C1,B1);
-            traits.loadRhs(&blB[13*RhsProgress], B1);
-            traits.madd(A0,B2,C2,B2);
-            traits.loadRhs(&blB[14*RhsProgress], B2);
-            traits.madd(A0,B3,C3,B3);
-
-            traits.loadLhs(&blA[3*LhsProgress], A0);
-            traits.loadRhs(&blB[15*RhsProgress], B3);
-            traits.madd(A0,B_0,C0,B_0);
-            traits.madd(A0,B1,C1,B1);
-            traits.madd(A0,B2,C2,B2);
-            traits.madd(A0,B3,C3,B3);
-          }
-
-          blB += nr*4*RhsProgress;
-          blA += 4*LhsProgress;
-        }
-        // process remaining peeled loop
-        for(Index k=peeled_kc; k<depth; k++)
-        {
-          if(nr==2)
-          {
-            LhsPacket A0;
-            RhsPacket B_0, B1;
-
-            traits.loadLhs(&blA[0*LhsProgress], A0);
-            traits.loadRhs(&blB[0*RhsProgress], B_0);
-            traits.loadRhs(&blB[1*RhsProgress], B1);
-            traits.madd(A0,B_0,C0,B_0);
-            traits.madd(A0,B1,C1,B1);
-          }
-          else
-          {
-            LhsPacket A0;
-            RhsPacket B_0, B1, B2, B3;
-
-            traits.loadLhs(&blA[0*LhsProgress], A0);
-            traits.loadRhs(&blB[0*RhsProgress], B_0);
-            traits.loadRhs(&blB[1*RhsProgress], B1);
-            traits.loadRhs(&blB[2*RhsProgress], B2);
-            traits.loadRhs(&blB[3*RhsProgress], B3);
-
-            traits.madd(A0,B_0,C0,B_0);
-            traits.madd(A0,B1,C1,B1);
-            traits.madd(A0,B2,C2,B2);
-            traits.madd(A0,B3,C3,B3);
-          }
-
-          blB += nr*RhsProgress;
-          blA += LhsProgress;
-        }
-
-        ResPacket R0, R1, R2, R3;
-        ResPacket alphav = pset1<ResPacket>(alpha);
-
-        ResScalar* r0 = &res[(j2+0)*resStride + i];
-        ResScalar* r1 = r0 + resStride;
-        ResScalar* r2 = r1 + resStride;
-        ResScalar* r3 = r2 + resStride;
-
-                  R0 = ploadu<ResPacket>(r0);
-                  R1 = ploadu<ResPacket>(r1);
-        if(nr==4) R2 = ploadu<ResPacket>(r2);
-        if(nr==4) R3 = ploadu<ResPacket>(r3);
-
-                  traits.acc(C0, alphav, R0);
-                  traits.acc(C1, alphav, R1);
-        if(nr==4) traits.acc(C2, alphav, R2);
-        if(nr==4) traits.acc(C3, alphav, R3);
-
-                  pstoreu(r0, R0);
-                  pstoreu(r1, R1);
-        if(nr==4) pstoreu(r2, R2);
-        if(nr==4) pstoreu(r3, R3);
-      }
-      for(Index i=peeled_mc2; i<rows; i++)
-      {
-        const LhsScalar* blA = &blockA[i*strideA+offsetA];
-        prefetch(&blA[0]);
-
-        // gets a 1 x nr res block as registers
-        ResScalar C0(0), C1(0), C2(0), C3(0);
-        // TODO directly use blockB ???
-        const RhsScalar* blB = &blockB[j2*strideB+offsetB*nr];
-        for(Index k=0; k<depth; k++)
-        {
-          if(nr==2)
-          {
-            LhsScalar A0;
-            RhsScalar B_0, B1;
-
-            A0 = blA[k];
-            B_0 = blB[0];
-            B1 = blB[1];
-            MADD(cj,A0,B_0,C0,B_0);
-            MADD(cj,A0,B1,C1,B1);
-          }
-          else
-          {
-            LhsScalar A0;
-            RhsScalar B_0, B1, B2, B3;
-
-            A0 = blA[k];
-            B_0 = blB[0];
-            B1 = blB[1];
-            B2 = blB[2];
-            B3 = blB[3];
-
-            MADD(cj,A0,B_0,C0,B_0);
-            MADD(cj,A0,B1,C1,B1);
-            MADD(cj,A0,B2,C2,B2);
-            MADD(cj,A0,B3,C3,B3);
-          }
-
-          blB += nr;
-        }
-                  res[(j2+0)*resStride + i] += alpha*C0;
-                  res[(j2+1)*resStride + i] += alpha*C1;
-        if(nr==4) res[(j2+2)*resStride + i] += alpha*C2;
-        if(nr==4) res[(j2+3)*resStride + i] += alpha*C3;
-      }
-    }
-    // process remaining rhs/res columns one at a time
-    // => do the same but with nr==1
-    for(Index j2=packet_cols; j2<cols; j2++)
-    {
-      // unpack B
-      traits.unpackRhs(depth, &blockB[j2*strideB+offsetB], unpackedB);
-
-      for(Index i=0; i<peeled_mc; i+=mr)
-      {
-        const LhsScalar* blA = &blockA[i*strideA+offsetA*mr];
-        prefetch(&blA[0]);
-
-        // TODO move the res loads to the stores
-
-        // get res block as registers
-        AccPacket C0, C4;
-        traits.initAcc(C0);
-        traits.initAcc(C4);
-
-        const RhsScalar* blB = unpackedB;
-        for(Index k=0; k<depth; k++)
-        {
-          LhsPacket A0, A1;
-          RhsPacket B_0;
-          RhsPacket T0;
-
-          traits.loadLhs(&blA[0*LhsProgress], A0);
-          traits.loadLhs(&blA[1*LhsProgress], A1);
-          traits.loadRhs(&blB[0*RhsProgress], B_0);
-          traits.madd(A0,B_0,C0,T0);
-          traits.madd(A1,B_0,C4,B_0);
-
-          blB += RhsProgress;
-          blA += 2*LhsProgress;
-        }
-        ResPacket R0, R4;
-        ResPacket alphav = pset1<ResPacket>(alpha);
-
-        ResScalar* r0 = &res[(j2+0)*resStride + i];
-
-        R0 = ploadu<ResPacket>(r0);
-        R4 = ploadu<ResPacket>(r0+ResPacketSize);
-
-        traits.acc(C0, alphav, R0);
-        traits.acc(C4, alphav, R4);
-
-        pstoreu(r0,               R0);
-        pstoreu(r0+ResPacketSize, R4);
-      }
-      if(rows-peeled_mc>=LhsProgress)
-      {
-        Index i = peeled_mc;
-        const LhsScalar* blA = &blockA[i*strideA+offsetA*LhsProgress];
-        prefetch(&blA[0]);
-
-        AccPacket C0;
-        traits.initAcc(C0);
-
-        const RhsScalar* blB = unpackedB;
-        for(Index k=0; k<depth; k++)
-        {
-          LhsPacket A0;
-          RhsPacket B_0;
-          traits.loadLhs(blA, A0);
-          traits.loadRhs(blB, B_0);
-          traits.madd(A0, B_0, C0, B_0);
-          blB += RhsProgress;
-          blA += LhsProgress;
-        }
-
-        ResPacket alphav = pset1<ResPacket>(alpha);
-        ResPacket R0 = ploadu<ResPacket>(&res[(j2+0)*resStride + i]);
-        traits.acc(C0, alphav, R0);
-        pstoreu(&res[(j2+0)*resStride + i], R0);
-      }
-      for(Index i=peeled_mc2; i<rows; i++)
-      {
-        const LhsScalar* blA = &blockA[i*strideA+offsetA];
-        prefetch(&blA[0]);
-
-        // gets a 1 x 1 res block as registers
-        ResScalar C0(0);
-        // FIXME directly use blockB ??
-        const RhsScalar* blB = &blockB[j2*strideB+offsetB];
-        for(Index k=0; k<depth; k++)
-        {
-          LhsScalar A0 = blA[k];
-          RhsScalar B_0 = blB[k];
-          MADD(cj, A0, B_0, C0, B_0);
-        }
-        res[(j2+0)*resStride + i] += alpha*C0;
-      }
-    }
-  }
-
-
-#undef CJMADD
-
-// pack a block of the lhs
-// The traversal is as follow (mr==4):
-//   0  4  8 12 ...
-//   1  5  9 13 ...
-//   2  6 10 14 ...
-//   3  7 11 15 ...
-//
-//  16 20 24 28 ...
-//  17 21 25 29 ...
-//  18 22 26 30 ...
-//  19 23 27 31 ...
-//
-//  32 33 34 35 ...
-//  36 36 38 39 ...
-template<typename Scalar, typename Index, int Pack1, int Pack2, int StorageOrder, bool Conjugate, bool PanelMode>
-struct gemm_pack_lhs
-{
-  EIGEN_DONT_INLINE void operator()(Scalar* blockA, const Scalar* EIGEN_RESTRICT _lhs, Index lhsStride, Index depth, Index rows, Index stride=0, Index offset=0);
-};
-
-template<typename Scalar, typename Index, int Pack1, int Pack2, int StorageOrder, bool Conjugate, bool PanelMode>
-EIGEN_DONT_INLINE void gemm_pack_lhs<Scalar, Index, Pack1, Pack2, StorageOrder, Conjugate, PanelMode>
-  ::operator()(Scalar* blockA, const Scalar* EIGEN_RESTRICT _lhs, Index lhsStride, Index depth, Index rows, Index stride, Index offset)
-{
-  typedef typename packet_traits<Scalar>::type Packet;
-  enum { PacketSize = packet_traits<Scalar>::size };
-
-  EIGEN_ASM_COMMENT("EIGEN PRODUCT PACK LHS");
-  EIGEN_UNUSED_VARIABLE(stride)
-  EIGEN_UNUSED_VARIABLE(offset)
-  eigen_assert(((!PanelMode) && stride==0 && offset==0) || (PanelMode && stride>=depth && offset<=stride));
-  eigen_assert( (StorageOrder==RowMajor) || ((Pack1%PacketSize)==0 && Pack1<=4*PacketSize) );
-  conj_if<NumTraits<Scalar>::IsComplex && Conjugate> cj;
-  const_blas_data_mapper<Scalar, Index, StorageOrder> lhs(_lhs,lhsStride);
-  Index count = 0;
-  Index peeled_mc = (rows/Pack1)*Pack1;
-  for(Index i=0; i<peeled_mc; i+=Pack1)
-  {
-    if(PanelMode) count += Pack1 * offset;
-
-    if(StorageOrder==ColMajor)
-    {
-      for(Index k=0; k<depth; k++)
-      {
-        Packet A, B, C, D;
-        if(Pack1>=1*PacketSize) A = ploadu<Packet>(&lhs(i+0*PacketSize, k));
-        if(Pack1>=2*PacketSize) B = ploadu<Packet>(&lhs(i+1*PacketSize, k));
-        if(Pack1>=3*PacketSize) C = ploadu<Packet>(&lhs(i+2*PacketSize, k));
-        if(Pack1>=4*PacketSize) D = ploadu<Packet>(&lhs(i+3*PacketSize, k));
-        if(Pack1>=1*PacketSize) { pstore(blockA+count, cj.pconj(A)); count+=PacketSize; }
-        if(Pack1>=2*PacketSize) { pstore(blockA+count, cj.pconj(B)); count+=PacketSize; }
-        if(Pack1>=3*PacketSize) { pstore(blockA+count, cj.pconj(C)); count+=PacketSize; }
-        if(Pack1>=4*PacketSize) { pstore(blockA+count, cj.pconj(D)); count+=PacketSize; }
-      }
-    }
-    else
-    {
-      for(Index k=0; k<depth; k++)
-      {
-        // TODO add a vectorized transpose here
-        Index w=0;
-        for(; w<Pack1-3; w+=4)
-        {
-          Scalar a(cj(lhs(i+w+0, k))),
-                  b(cj(lhs(i+w+1, k))),
-                  c(cj(lhs(i+w+2, k))),
-                  d(cj(lhs(i+w+3, k)));
-          blockA[count++] = a;
-          blockA[count++] = b;
-          blockA[count++] = c;
-          blockA[count++] = d;
-        }
-        if(Pack1%4)
-          for(;w<Pack1;++w)
-            blockA[count++] = cj(lhs(i+w, k));
-      }
-    }
-    if(PanelMode) count += Pack1 * (stride-offset-depth);
-  }
-  if(rows-peeled_mc>=Pack2)
-  {
-    if(PanelMode) count += Pack2*offset;
-    for(Index k=0; k<depth; k++)
-      for(Index w=0; w<Pack2; w++)
-        blockA[count++] = cj(lhs(peeled_mc+w, k));
-    if(PanelMode) count += Pack2 * (stride-offset-depth);
-    peeled_mc += Pack2;
-  }
-  for(Index i=peeled_mc; i<rows; i++)
-  {
-    if(PanelMode) count += offset;
-    for(Index k=0; k<depth; k++)
-      blockA[count++] = cj(lhs(i, k));
-    if(PanelMode) count += (stride-offset-depth);
-  }
-}
-
-// copy a complete panel of the rhs
-// this version is optimized for column major matrices
-// The traversal order is as follow: (nr==4):
-//  0  1  2  3   12 13 14 15   24 27
-//  4  5  6  7   16 17 18 19   25 28
-//  8  9 10 11   20 21 22 23   26 29
-//  .  .  .  .    .  .  .  .    .  .
-template<typename Scalar, typename Index, int nr, bool Conjugate, bool PanelMode>
-struct gemm_pack_rhs<Scalar, Index, nr, ColMajor, Conjugate, PanelMode>
-{
-  typedef typename packet_traits<Scalar>::type Packet;
-  enum { PacketSize = packet_traits<Scalar>::size };
-  EIGEN_DONT_INLINE void operator()(Scalar* blockB, const Scalar* rhs, Index rhsStride, Index depth, Index cols, Index stride=0, Index offset=0);
-};
-
-template<typename Scalar, typename Index, int nr, bool Conjugate, bool PanelMode>
-EIGEN_DONT_INLINE void gemm_pack_rhs<Scalar, Index, nr, ColMajor, Conjugate, PanelMode>
-  ::operator()(Scalar* blockB, const Scalar* rhs, Index rhsStride, Index depth, Index cols, Index stride, Index offset)
-{
-  EIGEN_ASM_COMMENT("EIGEN PRODUCT PACK RHS COLMAJOR");
-  EIGEN_UNUSED_VARIABLE(stride)
-  EIGEN_UNUSED_VARIABLE(offset)
-  eigen_assert(((!PanelMode) && stride==0 && offset==0) || (PanelMode && stride>=depth && offset<=stride));
-  conj_if<NumTraits<Scalar>::IsComplex && Conjugate> cj;
-  Index packet_cols = (cols/nr) * nr;
-  Index count = 0;
-  for(Index j2=0; j2<packet_cols; j2+=nr)
-  {
-    // skip what we have before
-    if(PanelMode) count += nr * offset;
-    const Scalar* b0 = &rhs[(j2+0)*rhsStride];
-    const Scalar* b1 = &rhs[(j2+1)*rhsStride];
-    const Scalar* b2 = &rhs[(j2+2)*rhsStride];
-    const Scalar* b3 = &rhs[(j2+3)*rhsStride];
-    for(Index k=0; k<depth; k++)
-    {
-                blockB[count+0] = cj(b0[k]);
-                blockB[count+1] = cj(b1[k]);
-      if(nr==4) blockB[count+2] = cj(b2[k]);
-      if(nr==4) blockB[count+3] = cj(b3[k]);
-      count += nr;
-    }
-    // skip what we have after
-    if(PanelMode) count += nr * (stride-offset-depth);
-  }
-
-  // copy the remaining columns one at a time (nr==1)
-  for(Index j2=packet_cols; j2<cols; ++j2)
-  {
-    if(PanelMode) count += offset;
-    const Scalar* b0 = &rhs[(j2+0)*rhsStride];
-    for(Index k=0; k<depth; k++)
-    {
-      blockB[count] = cj(b0[k]);
-      count += 1;
-    }
-    if(PanelMode) count += (stride-offset-depth);
-  }
-}
-
-// this version is optimized for row major matrices
-template<typename Scalar, typename Index, int nr, bool Conjugate, bool PanelMode>
-struct gemm_pack_rhs<Scalar, Index, nr, RowMajor, Conjugate, PanelMode>
-{
-  enum { PacketSize = packet_traits<Scalar>::size };
-  EIGEN_DONT_INLINE void operator()(Scalar* blockB, const Scalar* rhs, Index rhsStride, Index depth, Index cols, Index stride=0, Index offset=0);
-};
-
-template<typename Scalar, typename Index, int nr, bool Conjugate, bool PanelMode>
-EIGEN_DONT_INLINE void gemm_pack_rhs<Scalar, Index, nr, RowMajor, Conjugate, PanelMode>
-  ::operator()(Scalar* blockB, const Scalar* rhs, Index rhsStride, Index depth, Index cols, Index stride, Index offset)
-{
-  EIGEN_ASM_COMMENT("EIGEN PRODUCT PACK RHS ROWMAJOR");
-  EIGEN_UNUSED_VARIABLE(stride)
-  EIGEN_UNUSED_VARIABLE(offset)
-  eigen_assert(((!PanelMode) && stride==0 && offset==0) || (PanelMode && stride>=depth && offset<=stride));
-  conj_if<NumTraits<Scalar>::IsComplex && Conjugate> cj;
-  Index packet_cols = (cols/nr) * nr;
-  Index count = 0;
-  for(Index j2=0; j2<packet_cols; j2+=nr)
-  {
-    // skip what we have before
-    if(PanelMode) count += nr * offset;
-    for(Index k=0; k<depth; k++)
-    {
-      const Scalar* b0 = &rhs[k*rhsStride + j2];
-                blockB[count+0] = cj(b0[0]);
-                blockB[count+1] = cj(b0[1]);
-      if(nr==4) blockB[count+2] = cj(b0[2]);
-      if(nr==4) blockB[count+3] = cj(b0[3]);
-      count += nr;
-    }
-    // skip what we have after
-    if(PanelMode) count += nr * (stride-offset-depth);
-  }
-  // copy the remaining columns one at a time (nr==1)
-  for(Index j2=packet_cols; j2<cols; ++j2)
-  {
-    if(PanelMode) count += offset;
-    const Scalar* b0 = &rhs[j2];
-    for(Index k=0; k<depth; k++)
-    {
-      blockB[count] = cj(b0[k*rhsStride]);
-      count += 1;
-    }
-    if(PanelMode) count += stride-offset-depth;
-  }
-}
-
-} // end namespace internal
-
-/** \returns the currently set level 1 cpu cache size (in bytes) used to estimate the ideal blocking size parameters.
-  * \sa setCpuCacheSize */
-inline std::ptrdiff_t l1CacheSize()
-{
-  std::ptrdiff_t l1, l2;
-  internal::manage_caching_sizes(GetAction, &l1, &l2);
-  return l1;
-}
-
-/** \returns the currently set level 2 cpu cache size (in bytes) used to estimate the ideal blocking size parameters.
-  * \sa setCpuCacheSize */
-inline std::ptrdiff_t l2CacheSize()
-{
-  std::ptrdiff_t l1, l2;
-  internal::manage_caching_sizes(GetAction, &l1, &l2);
-  return l2;
-}
-
-/** Set the cpu L1 and L2 cache sizes (in bytes).
-  * These values are use to adjust the size of the blocks
-  * for the algorithms working per blocks.
-  *
-  * \sa computeProductBlockingSizes */
-inline void setCpuCacheSizes(std::ptrdiff_t l1, std::ptrdiff_t l2)
-{
-  internal::manage_caching_sizes(SetAction, &l1, &l2);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERAL_BLOCK_PANEL_H
diff --git a/lib/Eigen/src/Core/products/GeneralMatrixMatrix.h b/lib/Eigen/src/Core/products/GeneralMatrixMatrix.h
deleted file mode 100644
index cfd2f009..00000000
--- a/lib/Eigen/src/Core/products/GeneralMatrixMatrix.h
+++ /dev/null
@@ -1,433 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GENERAL_MATRIX_MATRIX_H
-#define EIGEN_GENERAL_MATRIX_MATRIX_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename _LhsScalar, typename _RhsScalar> class level3_blocking;
-
-/* Specialization for a row-major destination matrix => simple transposition of the product */
-template<
-  typename Index,
-  typename LhsScalar, int LhsStorageOrder, bool ConjugateLhs,
-  typename RhsScalar, int RhsStorageOrder, bool ConjugateRhs>
-struct general_matrix_matrix_product<Index,LhsScalar,LhsStorageOrder,ConjugateLhs,RhsScalar,RhsStorageOrder,ConjugateRhs,RowMajor>
-{
-  typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-  static EIGEN_STRONG_INLINE void run(
-    Index rows, Index cols, Index depth,
-    const LhsScalar* lhs, Index lhsStride,
-    const RhsScalar* rhs, Index rhsStride,
-    ResScalar* res, Index resStride,
-    ResScalar alpha,
-    level3_blocking<RhsScalar,LhsScalar>& blocking,
-    GemmParallelInfo<Index>* info = 0)
-  {
-    // transpose the product such that the result is column major
-    general_matrix_matrix_product<Index,
-      RhsScalar, RhsStorageOrder==RowMajor ? ColMajor : RowMajor, ConjugateRhs,
-      LhsScalar, LhsStorageOrder==RowMajor ? ColMajor : RowMajor, ConjugateLhs,
-      ColMajor>
-    ::run(cols,rows,depth,rhs,rhsStride,lhs,lhsStride,res,resStride,alpha,blocking,info);
-  }
-};
-
-/*  Specialization for a col-major destination matrix
- *    => Blocking algorithm following Goto's paper */
-template<
-  typename Index,
-  typename LhsScalar, int LhsStorageOrder, bool ConjugateLhs,
-  typename RhsScalar, int RhsStorageOrder, bool ConjugateRhs>
-struct general_matrix_matrix_product<Index,LhsScalar,LhsStorageOrder,ConjugateLhs,RhsScalar,RhsStorageOrder,ConjugateRhs,ColMajor>
-{
-
-typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-static void run(Index rows, Index cols, Index depth,
-  const LhsScalar* _lhs, Index lhsStride,
-  const RhsScalar* _rhs, Index rhsStride,
-  ResScalar* res, Index resStride,
-  ResScalar alpha,
-  level3_blocking<LhsScalar,RhsScalar>& blocking,
-  GemmParallelInfo<Index>* info = 0)
-{
-  const_blas_data_mapper<LhsScalar, Index, LhsStorageOrder> lhs(_lhs,lhsStride);
-  const_blas_data_mapper<RhsScalar, Index, RhsStorageOrder> rhs(_rhs,rhsStride);
-
-  typedef gebp_traits<LhsScalar,RhsScalar> Traits;
-
-  Index kc = blocking.kc();                   // cache block size along the K direction
-  Index mc = (std::min)(rows,blocking.mc());  // cache block size along the M direction
-  //Index nc = blocking.nc(); // cache block size along the N direction
-
-  gemm_pack_lhs<LhsScalar, Index, Traits::mr, Traits::LhsProgress, LhsStorageOrder> pack_lhs;
-  gemm_pack_rhs<RhsScalar, Index, Traits::nr, RhsStorageOrder> pack_rhs;
-  gebp_kernel<LhsScalar, RhsScalar, Index, Traits::mr, Traits::nr, ConjugateLhs, ConjugateRhs> gebp;
-
-#ifdef EIGEN_HAS_OPENMP
-  if(info)
-  {
-    // this is the parallel version!
-    Index tid = omp_get_thread_num();
-    Index threads = omp_get_num_threads();
-    
-    std::size_t sizeA = kc*mc;
-    std::size_t sizeW = kc*Traits::WorkSpaceFactor;
-    ei_declare_aligned_stack_constructed_variable(LhsScalar, blockA, sizeA, 0);
-    ei_declare_aligned_stack_constructed_variable(RhsScalar, w, sizeW, 0);
-    
-    RhsScalar* blockB = blocking.blockB();
-    eigen_internal_assert(blockB!=0);
-
-    // For each horizontal panel of the rhs, and corresponding vertical panel of the lhs...
-    for(Index k=0; k<depth; k+=kc)
-    {
-      const Index actual_kc = (std::min)(k+kc,depth)-k; // => rows of B', and cols of the A'
-
-      // In order to reduce the chance that a thread has to wait for the other,
-      // let's start by packing A'.
-      pack_lhs(blockA, &lhs(0,k), lhsStride, actual_kc, mc);
-
-      // Pack B_k to B' in a parallel fashion:
-      // each thread packs the sub block B_k,j to B'_j where j is the thread id.
-
-      // However, before copying to B'_j, we have to make sure that no other thread is still using it,
-      // i.e., we test that info[tid].users equals 0.
-      // Then, we set info[tid].users to the number of threads to mark that all other threads are going to use it.
-      while(info[tid].users!=0) {}
-      info[tid].users += threads;
-
-      pack_rhs(blockB+info[tid].rhs_start*actual_kc, &rhs(k,info[tid].rhs_start), rhsStride, actual_kc, info[tid].rhs_length);
-
-      // Notify the other threads that the part B'_j is ready to go.
-      info[tid].sync = k;
-
-      // Computes C_i += A' * B' per B'_j
-      for(Index shift=0; shift<threads; ++shift)
-      {
-        Index j = (tid+shift)%threads;
-
-        // At this point we have to make sure that B'_j has been updated by the thread j,
-        // we use testAndSetOrdered to mimic a volatile access.
-        // However, no need to wait for the B' part which has been updated by the current thread!
-        if(shift>0)
-          while(info[j].sync!=k) {}
-
-        gebp(res+info[j].rhs_start*resStride, resStride, blockA, blockB+info[j].rhs_start*actual_kc, mc, actual_kc, info[j].rhs_length, alpha, -1,-1,0,0, w);
-      }
-
-      // Then keep going as usual with the remaining A'
-      for(Index i=mc; i<rows; i+=mc)
-      {
-        const Index actual_mc = (std::min)(i+mc,rows)-i;
-
-        // pack A_i,k to A'
-        pack_lhs(blockA, &lhs(i,k), lhsStride, actual_kc, actual_mc);
-
-        // C_i += A' * B'
-        gebp(res+i, resStride, blockA, blockB, actual_mc, actual_kc, cols, alpha, -1,-1,0,0, w);
-      }
-
-      // Release all the sub blocks B'_j of B' for the current thread,
-      // i.e., we simply decrement the number of users by 1
-      for(Index j=0; j<threads; ++j)
-      {
-        #pragma omp atomic
-        info[j].users -= 1;
-      }
-    }
-  }
-  else
-#endif // EIGEN_HAS_OPENMP
-  {
-    EIGEN_UNUSED_VARIABLE(info);
-
-    // this is the sequential version!
-    std::size_t sizeA = kc*mc;
-    std::size_t sizeB = kc*cols;
-    std::size_t sizeW = kc*Traits::WorkSpaceFactor;
-
-    ei_declare_aligned_stack_constructed_variable(LhsScalar, blockA, sizeA, blocking.blockA());
-    ei_declare_aligned_stack_constructed_variable(RhsScalar, blockB, sizeB, blocking.blockB());
-    ei_declare_aligned_stack_constructed_variable(RhsScalar, blockW, sizeW, blocking.blockW());
-
-    // For each horizontal panel of the rhs, and corresponding panel of the lhs...
-    // (==GEMM_VAR1)
-    for(Index k2=0; k2<depth; k2+=kc)
-    {
-      const Index actual_kc = (std::min)(k2+kc,depth)-k2;
-
-      // OK, here we have selected one horizontal panel of rhs and one vertical panel of lhs.
-      // => Pack rhs's panel into a sequential chunk of memory (L2 caching)
-      // Note that this panel will be read as many times as the number of blocks in the lhs's
-      // vertical panel which is, in practice, a very low number.
-      pack_rhs(blockB, &rhs(k2,0), rhsStride, actual_kc, cols);
-
-      // For each mc x kc block of the lhs's vertical panel...
-      // (==GEPP_VAR1)
-      for(Index i2=0; i2<rows; i2+=mc)
-      {
-        const Index actual_mc = (std::min)(i2+mc,rows)-i2;
-
-        // We pack the lhs's block into a sequential chunk of memory (L1 caching)
-        // Note that this block will be read a very high number of times, which is equal to the number of
-        // micro vertical panel of the large rhs's panel (e.g., cols/4 times).
-        pack_lhs(blockA, &lhs(i2,k2), lhsStride, actual_kc, actual_mc);
-
-        // Everything is packed, we can now call the block * panel kernel:
-        gebp(res+i2, resStride, blockA, blockB, actual_mc, actual_kc, cols, alpha, -1, -1, 0, 0, blockW);
-      }
-    }
-  }
-}
-
-};
-
-/*********************************************************************************
-*  Specialization of GeneralProduct<> for "large" GEMM, i.e.,
-*  implementation of the high level wrapper to general_matrix_matrix_product
-**********************************************************************************/
-
-template<typename Lhs, typename Rhs>
-struct traits<GeneralProduct<Lhs,Rhs,GemmProduct> >
- : traits<ProductBase<GeneralProduct<Lhs,Rhs,GemmProduct>, Lhs, Rhs> >
-{};
-
-template<typename Scalar, typename Index, typename Gemm, typename Lhs, typename Rhs, typename Dest, typename BlockingType>
-struct gemm_functor
-{
-  gemm_functor(const Lhs& lhs, const Rhs& rhs, Dest& dest, const Scalar& actualAlpha,
-                  BlockingType& blocking)
-    : m_lhs(lhs), m_rhs(rhs), m_dest(dest), m_actualAlpha(actualAlpha), m_blocking(blocking)
-  {}
-
-  void initParallelSession() const
-  {
-    m_blocking.allocateB();
-  }
-
-  void operator() (Index row, Index rows, Index col=0, Index cols=-1, GemmParallelInfo<Index>* info=0) const
-  {
-    if(cols==-1)
-      cols = m_rhs.cols();
-
-    Gemm::run(rows, cols, m_lhs.cols(),
-              /*(const Scalar*)*/&m_lhs.coeffRef(row,0), m_lhs.outerStride(),
-              /*(const Scalar*)*/&m_rhs.coeffRef(0,col), m_rhs.outerStride(),
-              (Scalar*)&(m_dest.coeffRef(row,col)), m_dest.outerStride(),
-              m_actualAlpha, m_blocking, info);
-  }
-
-  protected:
-    const Lhs& m_lhs;
-    const Rhs& m_rhs;
-    Dest& m_dest;
-    Scalar m_actualAlpha;
-    BlockingType& m_blocking;
-};
-
-template<int StorageOrder, typename LhsScalar, typename RhsScalar, int MaxRows, int MaxCols, int MaxDepth, int KcFactor=1,
-bool FiniteAtCompileTime = MaxRows!=Dynamic && MaxCols!=Dynamic && MaxDepth != Dynamic> class gemm_blocking_space;
-
-template<typename _LhsScalar, typename _RhsScalar>
-class level3_blocking
-{
-    typedef _LhsScalar LhsScalar;
-    typedef _RhsScalar RhsScalar;
-
-  protected:
-    LhsScalar* m_blockA;
-    RhsScalar* m_blockB;
-    RhsScalar* m_blockW;
-
-    DenseIndex m_mc;
-    DenseIndex m_nc;
-    DenseIndex m_kc;
-
-  public:
-
-    level3_blocking()
-      : m_blockA(0), m_blockB(0), m_blockW(0), m_mc(0), m_nc(0), m_kc(0)
-    {}
-
-    inline DenseIndex mc() const { return m_mc; }
-    inline DenseIndex nc() const { return m_nc; }
-    inline DenseIndex kc() const { return m_kc; }
-
-    inline LhsScalar* blockA() { return m_blockA; }
-    inline RhsScalar* blockB() { return m_blockB; }
-    inline RhsScalar* blockW() { return m_blockW; }
-};
-
-template<int StorageOrder, typename _LhsScalar, typename _RhsScalar, int MaxRows, int MaxCols, int MaxDepth, int KcFactor>
-class gemm_blocking_space<StorageOrder,_LhsScalar,_RhsScalar,MaxRows, MaxCols, MaxDepth, KcFactor, true>
-  : public level3_blocking<
-      typename conditional<StorageOrder==RowMajor,_RhsScalar,_LhsScalar>::type,
-      typename conditional<StorageOrder==RowMajor,_LhsScalar,_RhsScalar>::type>
-{
-    enum {
-      Transpose = StorageOrder==RowMajor,
-      ActualRows = Transpose ? MaxCols : MaxRows,
-      ActualCols = Transpose ? MaxRows : MaxCols
-    };
-    typedef typename conditional<Transpose,_RhsScalar,_LhsScalar>::type LhsScalar;
-    typedef typename conditional<Transpose,_LhsScalar,_RhsScalar>::type RhsScalar;
-    typedef gebp_traits<LhsScalar,RhsScalar> Traits;
-    enum {
-      SizeA = ActualRows * MaxDepth,
-      SizeB = ActualCols * MaxDepth,
-      SizeW = MaxDepth * Traits::WorkSpaceFactor
-    };
-
-    EIGEN_ALIGN16 LhsScalar m_staticA[SizeA];
-    EIGEN_ALIGN16 RhsScalar m_staticB[SizeB];
-    EIGEN_ALIGN16 RhsScalar m_staticW[SizeW];
-
-  public:
-
-    gemm_blocking_space(DenseIndex /*rows*/, DenseIndex /*cols*/, DenseIndex /*depth*/)
-    {
-      this->m_mc = ActualRows;
-      this->m_nc = ActualCols;
-      this->m_kc = MaxDepth;
-      this->m_blockA = m_staticA;
-      this->m_blockB = m_staticB;
-      this->m_blockW = m_staticW;
-    }
-
-    inline void allocateA() {}
-    inline void allocateB() {}
-    inline void allocateW() {}
-    inline void allocateAll() {}
-};
-
-template<int StorageOrder, typename _LhsScalar, typename _RhsScalar, int MaxRows, int MaxCols, int MaxDepth, int KcFactor>
-class gemm_blocking_space<StorageOrder,_LhsScalar,_RhsScalar,MaxRows, MaxCols, MaxDepth, KcFactor, false>
-  : public level3_blocking<
-      typename conditional<StorageOrder==RowMajor,_RhsScalar,_LhsScalar>::type,
-      typename conditional<StorageOrder==RowMajor,_LhsScalar,_RhsScalar>::type>
-{
-    enum {
-      Transpose = StorageOrder==RowMajor
-    };
-    typedef typename conditional<Transpose,_RhsScalar,_LhsScalar>::type LhsScalar;
-    typedef typename conditional<Transpose,_LhsScalar,_RhsScalar>::type RhsScalar;
-    typedef gebp_traits<LhsScalar,RhsScalar> Traits;
-
-    DenseIndex m_sizeA;
-    DenseIndex m_sizeB;
-    DenseIndex m_sizeW;
-
-  public:
-
-    gemm_blocking_space(DenseIndex rows, DenseIndex cols, DenseIndex depth)
-    {
-      this->m_mc = Transpose ? cols : rows;
-      this->m_nc = Transpose ? rows : cols;
-      this->m_kc = depth;
-
-      computeProductBlockingSizes<LhsScalar,RhsScalar,KcFactor>(this->m_kc, this->m_mc, this->m_nc);
-      m_sizeA = this->m_mc * this->m_kc;
-      m_sizeB = this->m_kc * this->m_nc;
-      m_sizeW = this->m_kc*Traits::WorkSpaceFactor;
-    }
-
-    void allocateA()
-    {
-      if(this->m_blockA==0)
-        this->m_blockA = aligned_new<LhsScalar>(m_sizeA);
-    }
-
-    void allocateB()
-    {
-      if(this->m_blockB==0)
-        this->m_blockB = aligned_new<RhsScalar>(m_sizeB);
-    }
-
-    void allocateW()
-    {
-      if(this->m_blockW==0)
-        this->m_blockW = aligned_new<RhsScalar>(m_sizeW);
-    }
-
-    void allocateAll()
-    {
-      allocateA();
-      allocateB();
-      allocateW();
-    }
-
-    ~gemm_blocking_space()
-    {
-      aligned_delete(this->m_blockA, m_sizeA);
-      aligned_delete(this->m_blockB, m_sizeB);
-      aligned_delete(this->m_blockW, m_sizeW);
-    }
-};
-
-} // end namespace internal
-
-template<typename Lhs, typename Rhs>
-class GeneralProduct<Lhs, Rhs, GemmProduct>
-  : public ProductBase<GeneralProduct<Lhs,Rhs,GemmProduct>, Lhs, Rhs>
-{
-    enum {
-      MaxDepthAtCompileTime = EIGEN_SIZE_MIN_PREFER_FIXED(Lhs::MaxColsAtCompileTime,Rhs::MaxRowsAtCompileTime)
-    };
-  public:
-    EIGEN_PRODUCT_PUBLIC_INTERFACE(GeneralProduct)
-    
-    typedef typename  Lhs::Scalar LhsScalar;
-    typedef typename  Rhs::Scalar RhsScalar;
-    typedef           Scalar      ResScalar;
-
-    GeneralProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)
-    {
-#if !(defined(EIGEN_NO_STATIC_ASSERT) && defined(EIGEN_NO_DEBUG))
-      typedef internal::scalar_product_op<LhsScalar,RhsScalar> BinOp;
-      EIGEN_CHECK_BINARY_COMPATIBILIY(BinOp,LhsScalar,RhsScalar);
-#endif
-    }
-
-    template<typename Dest> void scaleAndAddTo(Dest& dst, const Scalar& alpha) const
-    {
-      eigen_assert(dst.rows()==m_lhs.rows() && dst.cols()==m_rhs.cols());
-      if(m_lhs.cols()==0 || m_lhs.rows()==0 || m_rhs.cols()==0)
-        return;
-
-      typename internal::add_const_on_value_type<ActualLhsType>::type lhs = LhsBlasTraits::extract(m_lhs);
-      typename internal::add_const_on_value_type<ActualRhsType>::type rhs = RhsBlasTraits::extract(m_rhs);
-
-      Scalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(m_lhs)
-                                 * RhsBlasTraits::extractScalarFactor(m_rhs);
-
-      typedef internal::gemm_blocking_space<(Dest::Flags&RowMajorBit) ? RowMajor : ColMajor,LhsScalar,RhsScalar,
-              Dest::MaxRowsAtCompileTime,Dest::MaxColsAtCompileTime,MaxDepthAtCompileTime> BlockingType;
-
-      typedef internal::gemm_functor<
-        Scalar, Index,
-        internal::general_matrix_matrix_product<
-          Index,
-          LhsScalar, (_ActualLhsType::Flags&RowMajorBit) ? RowMajor : ColMajor, bool(LhsBlasTraits::NeedToConjugate),
-          RhsScalar, (_ActualRhsType::Flags&RowMajorBit) ? RowMajor : ColMajor, bool(RhsBlasTraits::NeedToConjugate),
-          (Dest::Flags&RowMajorBit) ? RowMajor : ColMajor>,
-        _ActualLhsType, _ActualRhsType, Dest, BlockingType> GemmFunctor;
-
-      BlockingType blocking(dst.rows(), dst.cols(), lhs.cols());
-
-      internal::parallelize_gemm<(Dest::MaxRowsAtCompileTime>32 || Dest::MaxRowsAtCompileTime==Dynamic)>(GemmFunctor(lhs, rhs, dst, actualAlpha, blocking), this->rows(), this->cols(), Dest::Flags&RowMajorBit);
-    }
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERAL_MATRIX_MATRIX_H
diff --git a/lib/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h b/lib/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
deleted file mode 100644
index 5c376390..00000000
--- a/lib/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
+++ /dev/null
@@ -1,278 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GENERAL_MATRIX_MATRIX_TRIANGULAR_H
-#define EIGEN_GENERAL_MATRIX_MATRIX_TRIANGULAR_H
-
-namespace Eigen { 
-
-template<typename Scalar, typename Index, int StorageOrder, int UpLo, bool ConjLhs, bool ConjRhs>
-struct selfadjoint_rank1_update;
-
-namespace internal {
-
-/**********************************************************************
-* This file implements a general A * B product while
-* evaluating only one triangular part of the product.
-* This is more general version of self adjoint product (C += A A^T)
-* as the level 3 SYRK Blas routine.
-**********************************************************************/
-
-// forward declarations (defined at the end of this file)
-template<typename LhsScalar, typename RhsScalar, typename Index, int mr, int nr, bool ConjLhs, bool ConjRhs, int UpLo>
-struct tribb_kernel;
-  
-/* Optimized matrix-matrix product evaluating only one triangular half */
-template <typename Index,
-          typename LhsScalar, int LhsStorageOrder, bool ConjugateLhs,
-          typename RhsScalar, int RhsStorageOrder, bool ConjugateRhs,
-                              int ResStorageOrder, int  UpLo, int Version = Specialized>
-struct general_matrix_matrix_triangular_product;
-
-// as usual if the result is row major => we transpose the product
-template <typename Index, typename LhsScalar, int LhsStorageOrder, bool ConjugateLhs,
-                          typename RhsScalar, int RhsStorageOrder, bool ConjugateRhs, int  UpLo, int Version>
-struct general_matrix_matrix_triangular_product<Index,LhsScalar,LhsStorageOrder,ConjugateLhs,RhsScalar,RhsStorageOrder,ConjugateRhs,RowMajor,UpLo,Version>
-{
-  typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-  static EIGEN_STRONG_INLINE void run(Index size, Index depth,const LhsScalar* lhs, Index lhsStride,
-                                      const RhsScalar* rhs, Index rhsStride, ResScalar* res, Index resStride, const ResScalar& alpha)
-  {
-    general_matrix_matrix_triangular_product<Index,
-        RhsScalar, RhsStorageOrder==RowMajor ? ColMajor : RowMajor, ConjugateRhs,
-        LhsScalar, LhsStorageOrder==RowMajor ? ColMajor : RowMajor, ConjugateLhs,
-        ColMajor, UpLo==Lower?Upper:Lower>
-      ::run(size,depth,rhs,rhsStride,lhs,lhsStride,res,resStride,alpha);
-  }
-};
-
-template <typename Index, typename LhsScalar, int LhsStorageOrder, bool ConjugateLhs,
-                          typename RhsScalar, int RhsStorageOrder, bool ConjugateRhs, int  UpLo, int Version>
-struct general_matrix_matrix_triangular_product<Index,LhsScalar,LhsStorageOrder,ConjugateLhs,RhsScalar,RhsStorageOrder,ConjugateRhs,ColMajor,UpLo,Version>
-{
-  typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-  static EIGEN_STRONG_INLINE void run(Index size, Index depth,const LhsScalar* _lhs, Index lhsStride,
-                                      const RhsScalar* _rhs, Index rhsStride, ResScalar* res, Index resStride, const ResScalar& alpha)
-  {
-    const_blas_data_mapper<LhsScalar, Index, LhsStorageOrder> lhs(_lhs,lhsStride);
-    const_blas_data_mapper<RhsScalar, Index, RhsStorageOrder> rhs(_rhs,rhsStride);
-
-    typedef gebp_traits<LhsScalar,RhsScalar> Traits;
-
-    Index kc = depth; // cache block size along the K direction
-    Index mc = size;  // cache block size along the M direction
-    Index nc = size;  // cache block size along the N direction
-    computeProductBlockingSizes<LhsScalar,RhsScalar>(kc, mc, nc);
-    // !!! mc must be a multiple of nr:
-    if(mc > Traits::nr)
-      mc = (mc/Traits::nr)*Traits::nr;
-
-    std::size_t sizeW = kc*Traits::WorkSpaceFactor;
-    std::size_t sizeB = sizeW + kc*size;
-    ei_declare_aligned_stack_constructed_variable(LhsScalar, blockA, kc*mc, 0);
-    ei_declare_aligned_stack_constructed_variable(RhsScalar, allocatedBlockB, sizeB, 0);
-    RhsScalar* blockB = allocatedBlockB + sizeW;
-    
-    gemm_pack_lhs<LhsScalar, Index, Traits::mr, Traits::LhsProgress, LhsStorageOrder> pack_lhs;
-    gemm_pack_rhs<RhsScalar, Index, Traits::nr, RhsStorageOrder> pack_rhs;
-    gebp_kernel <LhsScalar, RhsScalar, Index, Traits::mr, Traits::nr, ConjugateLhs, ConjugateRhs> gebp;
-    tribb_kernel<LhsScalar, RhsScalar, Index, Traits::mr, Traits::nr, ConjugateLhs, ConjugateRhs, UpLo> sybb;
-
-    for(Index k2=0; k2<depth; k2+=kc)
-    {
-      const Index actual_kc = (std::min)(k2+kc,depth)-k2;
-
-      // note that the actual rhs is the transpose/adjoint of mat
-      pack_rhs(blockB, &rhs(k2,0), rhsStride, actual_kc, size);
-
-      for(Index i2=0; i2<size; i2+=mc)
-      {
-        const Index actual_mc = (std::min)(i2+mc,size)-i2;
-
-        pack_lhs(blockA, &lhs(i2, k2), lhsStride, actual_kc, actual_mc);
-
-        // the selected actual_mc * size panel of res is split into three different part:
-        //  1 - before the diagonal => processed with gebp or skipped
-        //  2 - the actual_mc x actual_mc symmetric block => processed with a special kernel
-        //  3 - after the diagonal => processed with gebp or skipped
-        if (UpLo==Lower)
-          gebp(res+i2, resStride, blockA, blockB, actual_mc, actual_kc, (std::min)(size,i2), alpha,
-               -1, -1, 0, 0, allocatedBlockB);
-
-        sybb(res+resStride*i2 + i2, resStride, blockA, blockB + actual_kc*i2, actual_mc, actual_kc, alpha, allocatedBlockB);
-
-        if (UpLo==Upper)
-        {
-          Index j2 = i2+actual_mc;
-          gebp(res+resStride*j2+i2, resStride, blockA, blockB+actual_kc*j2, actual_mc, actual_kc, (std::max)(Index(0), size-j2), alpha,
-               -1, -1, 0, 0, allocatedBlockB);
-        }
-      }
-    }
-  }
-};
-
-// Optimized packed Block * packed Block product kernel evaluating only one given triangular part
-// This kernel is built on top of the gebp kernel:
-// - the current destination block is processed per panel of actual_mc x BlockSize
-//   where BlockSize is set to the minimal value allowing gebp to be as fast as possible
-// - then, as usual, each panel is split into three parts along the diagonal,
-//   the sub blocks above and below the diagonal are processed as usual,
-//   while the triangular block overlapping the diagonal is evaluated into a
-//   small temporary buffer which is then accumulated into the result using a
-//   triangular traversal.
-template<typename LhsScalar, typename RhsScalar, typename Index, int mr, int nr, bool ConjLhs, bool ConjRhs, int UpLo>
-struct tribb_kernel
-{
-  typedef gebp_traits<LhsScalar,RhsScalar,ConjLhs,ConjRhs> Traits;
-  typedef typename Traits::ResScalar ResScalar;
-  
-  enum {
-    BlockSize  = EIGEN_PLAIN_ENUM_MAX(mr,nr)
-  };
-  void operator()(ResScalar* res, Index resStride, const LhsScalar* blockA, const RhsScalar* blockB, Index size, Index depth, const ResScalar& alpha, RhsScalar* workspace)
-  {
-    gebp_kernel<LhsScalar, RhsScalar, Index, mr, nr, ConjLhs, ConjRhs> gebp_kernel;
-    Matrix<ResScalar,BlockSize,BlockSize,ColMajor> buffer;
-
-    // let's process the block per panel of actual_mc x BlockSize,
-    // again, each is split into three parts, etc.
-    for (Index j=0; j<size; j+=BlockSize)
-    {
-      Index actualBlockSize = std::min<Index>(BlockSize,size - j);
-      const RhsScalar* actual_b = blockB+j*depth;
-
-      if(UpLo==Upper)
-        gebp_kernel(res+j*resStride, resStride, blockA, actual_b, j, depth, actualBlockSize, alpha,
-                    -1, -1, 0, 0, workspace);
-
-      // selfadjoint micro block
-      {
-        Index i = j;
-        buffer.setZero();
-        // 1 - apply the kernel on the temporary buffer
-        gebp_kernel(buffer.data(), BlockSize, blockA+depth*i, actual_b, actualBlockSize, depth, actualBlockSize, alpha,
-                    -1, -1, 0, 0, workspace);
-        // 2 - triangular accumulation
-        for(Index j1=0; j1<actualBlockSize; ++j1)
-        {
-          ResScalar* r = res + (j+j1)*resStride + i;
-          for(Index i1=UpLo==Lower ? j1 : 0;
-              UpLo==Lower ? i1<actualBlockSize : i1<=j1; ++i1)
-            r[i1] += buffer(i1,j1);
-        }
-      }
-
-      if(UpLo==Lower)
-      {
-        Index i = j+actualBlockSize;
-        gebp_kernel(res+j*resStride+i, resStride, blockA+depth*i, actual_b, size-i, depth, actualBlockSize, alpha,
-                    -1, -1, 0, 0, workspace);
-      }
-    }
-  }
-};
-
-} // end namespace internal
-
-// high level API
-
-template<typename MatrixType, typename ProductType, int UpLo, bool IsOuterProduct>
-struct general_product_to_triangular_selector;
-
-
-template<typename MatrixType, typename ProductType, int UpLo>
-struct general_product_to_triangular_selector<MatrixType,ProductType,UpLo,true>
-{
-  static void run(MatrixType& mat, const ProductType& prod, const typename MatrixType::Scalar& alpha)
-  {
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::Index Index;
-    
-    typedef typename internal::remove_all<typename ProductType::LhsNested>::type Lhs;
-    typedef internal::blas_traits<Lhs> LhsBlasTraits;
-    typedef typename LhsBlasTraits::DirectLinearAccessType ActualLhs;
-    typedef typename internal::remove_all<ActualLhs>::type _ActualLhs;
-    typename internal::add_const_on_value_type<ActualLhs>::type actualLhs = LhsBlasTraits::extract(prod.lhs());
-    
-    typedef typename internal::remove_all<typename ProductType::RhsNested>::type Rhs;
-    typedef internal::blas_traits<Rhs> RhsBlasTraits;
-    typedef typename RhsBlasTraits::DirectLinearAccessType ActualRhs;
-    typedef typename internal::remove_all<ActualRhs>::type _ActualRhs;
-    typename internal::add_const_on_value_type<ActualRhs>::type actualRhs = RhsBlasTraits::extract(prod.rhs());
-
-    Scalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(prod.lhs().derived()) * RhsBlasTraits::extractScalarFactor(prod.rhs().derived());
-
-    enum {
-      StorageOrder = (internal::traits<MatrixType>::Flags&RowMajorBit) ? RowMajor : ColMajor,
-      UseLhsDirectly = _ActualLhs::InnerStrideAtCompileTime==1,
-      UseRhsDirectly = _ActualRhs::InnerStrideAtCompileTime==1
-    };
-    
-    internal::gemv_static_vector_if<Scalar,Lhs::SizeAtCompileTime,Lhs::MaxSizeAtCompileTime,!UseLhsDirectly> static_lhs;
-    ei_declare_aligned_stack_constructed_variable(Scalar, actualLhsPtr, actualLhs.size(),
-      (UseLhsDirectly ? const_cast<Scalar*>(actualLhs.data()) : static_lhs.data()));
-    if(!UseLhsDirectly) Map<typename _ActualLhs::PlainObject>(actualLhsPtr, actualLhs.size()) = actualLhs;
-    
-    internal::gemv_static_vector_if<Scalar,Rhs::SizeAtCompileTime,Rhs::MaxSizeAtCompileTime,!UseRhsDirectly> static_rhs;
-    ei_declare_aligned_stack_constructed_variable(Scalar, actualRhsPtr, actualRhs.size(),
-      (UseRhsDirectly ? const_cast<Scalar*>(actualRhs.data()) : static_rhs.data()));
-    if(!UseRhsDirectly) Map<typename _ActualRhs::PlainObject>(actualRhsPtr, actualRhs.size()) = actualRhs;
-    
-    
-    selfadjoint_rank1_update<Scalar,Index,StorageOrder,UpLo,
-                              LhsBlasTraits::NeedToConjugate && NumTraits<Scalar>::IsComplex,
-                              RhsBlasTraits::NeedToConjugate && NumTraits<Scalar>::IsComplex>
-          ::run(actualLhs.size(), mat.data(), mat.outerStride(), actualLhsPtr, actualRhsPtr, actualAlpha);
-  }
-};
-
-template<typename MatrixType, typename ProductType, int UpLo>
-struct general_product_to_triangular_selector<MatrixType,ProductType,UpLo,false>
-{
-  static void run(MatrixType& mat, const ProductType& prod, const typename MatrixType::Scalar& alpha)
-  {
-    typedef typename MatrixType::Index Index;
-    
-    typedef typename internal::remove_all<typename ProductType::LhsNested>::type Lhs;
-    typedef internal::blas_traits<Lhs> LhsBlasTraits;
-    typedef typename LhsBlasTraits::DirectLinearAccessType ActualLhs;
-    typedef typename internal::remove_all<ActualLhs>::type _ActualLhs;
-    typename internal::add_const_on_value_type<ActualLhs>::type actualLhs = LhsBlasTraits::extract(prod.lhs());
-    
-    typedef typename internal::remove_all<typename ProductType::RhsNested>::type Rhs;
-    typedef internal::blas_traits<Rhs> RhsBlasTraits;
-    typedef typename RhsBlasTraits::DirectLinearAccessType ActualRhs;
-    typedef typename internal::remove_all<ActualRhs>::type _ActualRhs;
-    typename internal::add_const_on_value_type<ActualRhs>::type actualRhs = RhsBlasTraits::extract(prod.rhs());
-
-    typename ProductType::Scalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(prod.lhs().derived()) * RhsBlasTraits::extractScalarFactor(prod.rhs().derived());
-
-    internal::general_matrix_matrix_triangular_product<Index,
-      typename Lhs::Scalar, _ActualLhs::Flags&RowMajorBit ? RowMajor : ColMajor, LhsBlasTraits::NeedToConjugate,
-      typename Rhs::Scalar, _ActualRhs::Flags&RowMajorBit ? RowMajor : ColMajor, RhsBlasTraits::NeedToConjugate,
-      MatrixType::Flags&RowMajorBit ? RowMajor : ColMajor, UpLo>
-      ::run(mat.cols(), actualLhs.cols(),
-            &actualLhs.coeffRef(0,0), actualLhs.outerStride(), &actualRhs.coeffRef(0,0), actualRhs.outerStride(),
-            mat.data(), mat.outerStride(), actualAlpha);
-  }
-};
-
-template<typename MatrixType, unsigned int UpLo>
-template<typename ProductDerived, typename _Lhs, typename _Rhs>
-TriangularView<MatrixType,UpLo>& TriangularView<MatrixType,UpLo>::assignProduct(const ProductBase<ProductDerived, _Lhs,_Rhs>& prod, const Scalar& alpha)
-{
-  general_product_to_triangular_selector<MatrixType, ProductDerived, UpLo, (_Lhs::ColsAtCompileTime==1) || (_Rhs::RowsAtCompileTime==1)>::run(m_matrix.const_cast_derived(), prod.derived(), alpha);
-  
-  return *this;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERAL_MATRIX_MATRIX_TRIANGULAR_H
diff --git a/lib/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h b/lib/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
deleted file mode 100644
index 3deed068..00000000
--- a/lib/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   Level 3 BLAS SYRK/HERK implementation.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_GENERAL_MATRIX_MATRIX_TRIANGULAR_MKL_H
-#define EIGEN_GENERAL_MATRIX_MATRIX_TRIANGULAR_MKL_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template <typename Index, typename Scalar, int AStorageOrder, bool ConjugateA, int ResStorageOrder, int  UpLo>
-struct general_matrix_matrix_rankupdate :
-       general_matrix_matrix_triangular_product<
-         Index,Scalar,AStorageOrder,ConjugateA,Scalar,AStorageOrder,ConjugateA,ResStorageOrder,UpLo,BuiltIn> {};
-
-
-// try to go to BLAS specialization
-#define EIGEN_MKL_RANKUPDATE_SPECIALIZE(Scalar) \
-template <typename Index, int LhsStorageOrder, bool ConjugateLhs, \
-                          int RhsStorageOrder, bool ConjugateRhs, int  UpLo> \
-struct general_matrix_matrix_triangular_product<Index,Scalar,LhsStorageOrder,ConjugateLhs, \
-               Scalar,RhsStorageOrder,ConjugateRhs,ColMajor,UpLo,Specialized> { \
-  static EIGEN_STRONG_INLINE void run(Index size, Index depth,const Scalar* lhs, Index lhsStride, \
-                          const Scalar* rhs, Index rhsStride, Scalar* res, Index resStride, Scalar alpha) \
-  { \
-    if (lhs==rhs) { \
-      general_matrix_matrix_rankupdate<Index,Scalar,LhsStorageOrder,ConjugateLhs,ColMajor,UpLo> \
-      ::run(size,depth,lhs,lhsStride,rhs,rhsStride,res,resStride,alpha); \
-    } else { \
-      general_matrix_matrix_triangular_product<Index, \
-        Scalar, LhsStorageOrder, ConjugateLhs, \
-        Scalar, RhsStorageOrder, ConjugateRhs, \
-        ColMajor, UpLo, BuiltIn> \
-      ::run(size,depth,lhs,lhsStride,rhs,rhsStride,res,resStride,alpha); \
-    } \
-  } \
-};
-
-EIGEN_MKL_RANKUPDATE_SPECIALIZE(double)
-//EIGEN_MKL_RANKUPDATE_SPECIALIZE(dcomplex)
-EIGEN_MKL_RANKUPDATE_SPECIALIZE(float)
-//EIGEN_MKL_RANKUPDATE_SPECIALIZE(scomplex)
-
-// SYRK for float/double
-#define EIGEN_MKL_RANKUPDATE_R(EIGTYPE, MKLTYPE, MKLFUNC) \
-template <typename Index, int AStorageOrder, bool ConjugateA, int  UpLo> \
-struct general_matrix_matrix_rankupdate<Index,EIGTYPE,AStorageOrder,ConjugateA,ColMajor,UpLo> { \
-  enum { \
-    IsLower = (UpLo&Lower) == Lower, \
-    LowUp = IsLower ? Lower : Upper, \
-    conjA = ((AStorageOrder==ColMajor) && ConjugateA) ? 1 : 0 \
-  }; \
-  static EIGEN_STRONG_INLINE void run(Index size, Index depth,const EIGTYPE* lhs, Index lhsStride, \
-                          const EIGTYPE* rhs, Index rhsStride, EIGTYPE* res, Index resStride, EIGTYPE alpha) \
-  { \
-  /* typedef Matrix<EIGTYPE, Dynamic, Dynamic, RhsStorageOrder> MatrixRhs;*/ \
-\
-   MKL_INT lda=lhsStride, ldc=resStride, n=size, k=depth; \
-   char uplo=(IsLower) ? 'L' : 'U', trans=(AStorageOrder==RowMajor) ? 'T':'N'; \
-   MKLTYPE alpha_, beta_; \
-\
-/* Set alpha_ & beta_ */ \
-   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(alpha_, alpha); \
-   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(beta_, EIGTYPE(1)); \
-   MKLFUNC(&uplo, &trans, &n, &k, &alpha_, lhs, &lda, &beta_, res, &ldc); \
-  } \
-};
-
-// HERK for complex data
-#define EIGEN_MKL_RANKUPDATE_C(EIGTYPE, MKLTYPE, RTYPE, MKLFUNC) \
-template <typename Index, int AStorageOrder, bool ConjugateA, int  UpLo> \
-struct general_matrix_matrix_rankupdate<Index,EIGTYPE,AStorageOrder,ConjugateA,ColMajor,UpLo> { \
-  enum { \
-    IsLower = (UpLo&Lower) == Lower, \
-    LowUp = IsLower ? Lower : Upper, \
-    conjA = (((AStorageOrder==ColMajor) && ConjugateA) || ((AStorageOrder==RowMajor) && !ConjugateA)) ? 1 : 0 \
-  }; \
-  static EIGEN_STRONG_INLINE void run(Index size, Index depth,const EIGTYPE* lhs, Index lhsStride, \
-                          const EIGTYPE* rhs, Index rhsStride, EIGTYPE* res, Index resStride, EIGTYPE alpha) \
-  { \
-   typedef Matrix<EIGTYPE, Dynamic, Dynamic, AStorageOrder> MatrixType; \
-\
-   MKL_INT lda=lhsStride, ldc=resStride, n=size, k=depth; \
-   char uplo=(IsLower) ? 'L' : 'U', trans=(AStorageOrder==RowMajor) ? 'C':'N'; \
-   RTYPE alpha_, beta_; \
-   const EIGTYPE* a_ptr; \
-\
-/* Set alpha_ & beta_ */ \
-/*   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(alpha_, alpha); */\
-/*   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(beta_, EIGTYPE(1));*/ \
-   alpha_ = alpha.real(); \
-   beta_ = 1.0; \
-/* Copy with conjugation in some cases*/ \
-   MatrixType a; \
-   if (conjA) { \
-     Map<const MatrixType, 0, OuterStride<> > mapA(lhs,n,k,OuterStride<>(lhsStride)); \
-     a = mapA.conjugate(); \
-     lda = a.outerStride(); \
-     a_ptr = a.data(); \
-   } else a_ptr=lhs; \
-   MKLFUNC(&uplo, &trans, &n, &k, &alpha_, (MKLTYPE*)a_ptr, &lda, &beta_, (MKLTYPE*)res, &ldc); \
-  } \
-};
-
-
-EIGEN_MKL_RANKUPDATE_R(double, double, dsyrk)
-EIGEN_MKL_RANKUPDATE_R(float,  float,  ssyrk)
-
-//EIGEN_MKL_RANKUPDATE_C(dcomplex, MKL_Complex16, double, zherk)
-//EIGEN_MKL_RANKUPDATE_C(scomplex, MKL_Complex8,  double, cherk)
-
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERAL_MATRIX_MATRIX_TRIANGULAR_MKL_H
diff --git a/lib/Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h b/lib/Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
deleted file mode 100644
index 060af328..00000000
--- a/lib/Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   General matrix-matrix product functionality based on ?GEMM.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_GENERAL_MATRIX_MATRIX_MKL_H
-#define EIGEN_GENERAL_MATRIX_MATRIX_MKL_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/**********************************************************************
-* This file implements general matrix-matrix multiplication using BLAS
-* gemm function via partial specialization of
-* general_matrix_matrix_product::run(..) method for float, double,
-* std::complex<float> and std::complex<double> types
-**********************************************************************/
-
-// gemm specialization
-
-#define GEMM_SPECIALIZATION(EIGTYPE, EIGPREFIX, MKLTYPE, MKLPREFIX) \
-template< \
-  typename Index, \
-  int LhsStorageOrder, bool ConjugateLhs, \
-  int RhsStorageOrder, bool ConjugateRhs> \
-struct general_matrix_matrix_product<Index,EIGTYPE,LhsStorageOrder,ConjugateLhs,EIGTYPE,RhsStorageOrder,ConjugateRhs,ColMajor> \
-{ \
-static void run(Index rows, Index cols, Index depth, \
-  const EIGTYPE* _lhs, Index lhsStride, \
-  const EIGTYPE* _rhs, Index rhsStride, \
-  EIGTYPE* res, Index resStride, \
-  EIGTYPE alpha, \
-  level3_blocking<EIGTYPE, EIGTYPE>& /*blocking*/, \
-  GemmParallelInfo<Index>* /*info = 0*/) \
-{ \
-  using std::conj; \
-\
-  char transa, transb; \
-  MKL_INT m, n, k, lda, ldb, ldc; \
-  const EIGTYPE *a, *b; \
-  MKLTYPE alpha_, beta_; \
-  MatrixX##EIGPREFIX a_tmp, b_tmp; \
-  EIGTYPE myone(1);\
-\
-/* Set transpose options */ \
-  transa = (LhsStorageOrder==RowMajor) ? ((ConjugateLhs) ? 'C' : 'T') : 'N'; \
-  transb = (RhsStorageOrder==RowMajor) ? ((ConjugateRhs) ? 'C' : 'T') : 'N'; \
-\
-/* Set m, n, k */ \
-  m = (MKL_INT)rows;  \
-  n = (MKL_INT)cols;  \
-  k = (MKL_INT)depth; \
-\
-/* Set alpha_ & beta_ */ \
-  assign_scalar_eig2mkl(alpha_, alpha); \
-  assign_scalar_eig2mkl(beta_, myone); \
-\
-/* Set lda, ldb, ldc */ \
-  lda = (MKL_INT)lhsStride; \
-  ldb = (MKL_INT)rhsStride; \
-  ldc = (MKL_INT)resStride; \
-\
-/* Set a, b, c */ \
-  if ((LhsStorageOrder==ColMajor) && (ConjugateLhs)) { \
-    Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > lhs(_lhs,m,k,OuterStride<>(lhsStride)); \
-    a_tmp = lhs.conjugate(); \
-    a = a_tmp.data(); \
-    lda = a_tmp.outerStride(); \
-  } else a = _lhs; \
-\
-  if ((RhsStorageOrder==ColMajor) && (ConjugateRhs)) { \
-    Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > rhs(_rhs,k,n,OuterStride<>(rhsStride)); \
-    b_tmp = rhs.conjugate(); \
-    b = b_tmp.data(); \
-    ldb = b_tmp.outerStride(); \
-  } else b = _rhs; \
-\
-  MKLPREFIX##gemm(&transa, &transb, &m, &n, &k, &alpha_, (const MKLTYPE*)a, &lda, (const MKLTYPE*)b, &ldb, &beta_, (MKLTYPE*)res, &ldc); \
-}};
-
-GEMM_SPECIALIZATION(double,   d,  double,        d)
-GEMM_SPECIALIZATION(float,    f,  float,         s)
-GEMM_SPECIALIZATION(dcomplex, cd, MKL_Complex16, z)
-GEMM_SPECIALIZATION(scomplex, cf, MKL_Complex8,  c)
-
-} // end namespase internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERAL_MATRIX_MATRIX_MKL_H
diff --git a/lib/Eigen/src/Core/products/GeneralMatrixVector.h b/lib/Eigen/src/Core/products/GeneralMatrixVector.h
deleted file mode 100644
index 09387703..00000000
--- a/lib/Eigen/src/Core/products/GeneralMatrixVector.h
+++ /dev/null
@@ -1,566 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GENERAL_MATRIX_VECTOR_H
-#define EIGEN_GENERAL_MATRIX_VECTOR_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/* Optimized col-major matrix * vector product:
- * This algorithm processes 4 columns at onces that allows to both reduce
- * the number of load/stores of the result by a factor 4 and to reduce
- * the instruction dependency. Moreover, we know that all bands have the
- * same alignment pattern.
- *
- * Mixing type logic: C += alpha * A * B
- *  |  A  |  B  |alpha| comments
- *  |real |cplx |cplx | no vectorization
- *  |real |cplx |real | alpha is converted to a cplx when calling the run function, no vectorization
- *  |cplx |real |cplx | invalid, the caller has to do tmp: = A * B; C += alpha*tmp
- *  |cplx |real |real | optimal case, vectorization possible via real-cplx mul
- */
-template<typename Index, typename LhsScalar, bool ConjugateLhs, typename RhsScalar, bool ConjugateRhs, int Version>
-struct general_matrix_vector_product<Index,LhsScalar,ColMajor,ConjugateLhs,RhsScalar,ConjugateRhs,Version>
-{
-typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-
-enum {
-  Vectorizable = packet_traits<LhsScalar>::Vectorizable && packet_traits<RhsScalar>::Vectorizable
-              && int(packet_traits<LhsScalar>::size)==int(packet_traits<RhsScalar>::size),
-  LhsPacketSize = Vectorizable ? packet_traits<LhsScalar>::size : 1,
-  RhsPacketSize = Vectorizable ? packet_traits<RhsScalar>::size : 1,
-  ResPacketSize = Vectorizable ? packet_traits<ResScalar>::size : 1
-};
-
-typedef typename packet_traits<LhsScalar>::type  _LhsPacket;
-typedef typename packet_traits<RhsScalar>::type  _RhsPacket;
-typedef typename packet_traits<ResScalar>::type  _ResPacket;
-
-typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
-typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
-typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
-
-EIGEN_DONT_INLINE static void run(
-  Index rows, Index cols,
-  const LhsScalar* lhs, Index lhsStride,
-  const RhsScalar* rhs, Index rhsIncr,
-  ResScalar* res, Index resIncr, RhsScalar alpha);
-};
-
-template<typename Index, typename LhsScalar, bool ConjugateLhs, typename RhsScalar, bool ConjugateRhs, int Version>
-EIGEN_DONT_INLINE void general_matrix_vector_product<Index,LhsScalar,ColMajor,ConjugateLhs,RhsScalar,ConjugateRhs,Version>::run(
-  Index rows, Index cols,
-  const LhsScalar* lhs, Index lhsStride,
-  const RhsScalar* rhs, Index rhsIncr,
-  ResScalar* res, Index resIncr, RhsScalar alpha)
-{
-  EIGEN_UNUSED_VARIABLE(resIncr)
-  eigen_internal_assert(resIncr==1);
-  #ifdef _EIGEN_ACCUMULATE_PACKETS
-  #error _EIGEN_ACCUMULATE_PACKETS has already been defined
-  #endif
-  #define _EIGEN_ACCUMULATE_PACKETS(A0,A13,A2) \
-    pstore(&res[j], \
-      padd(pload<ResPacket>(&res[j]), \
-        padd( \
-          padd(pcj.pmul(EIGEN_CAT(ploa , A0)<LhsPacket>(&lhs0[j]),    ptmp0), \
-                  pcj.pmul(EIGEN_CAT(ploa , A13)<LhsPacket>(&lhs1[j]),   ptmp1)), \
-          padd(pcj.pmul(EIGEN_CAT(ploa , A2)<LhsPacket>(&lhs2[j]),    ptmp2), \
-                  pcj.pmul(EIGEN_CAT(ploa , A13)<LhsPacket>(&lhs3[j]),   ptmp3)) )))
-
-  conj_helper<LhsScalar,RhsScalar,ConjugateLhs,ConjugateRhs> cj;
-  conj_helper<LhsPacket,RhsPacket,ConjugateLhs,ConjugateRhs> pcj;
-  if(ConjugateRhs)
-    alpha = numext::conj(alpha);
-
-  enum { AllAligned = 0, EvenAligned, FirstAligned, NoneAligned };
-  const Index columnsAtOnce = 4;
-  const Index peels = 2;
-  const Index LhsPacketAlignedMask = LhsPacketSize-1;
-  const Index ResPacketAlignedMask = ResPacketSize-1;
-//  const Index PeelAlignedMask = ResPacketSize*peels-1;
-  const Index size = rows;
-  
-  // How many coeffs of the result do we have to skip to be aligned.
-  // Here we assume data are at least aligned on the base scalar type.
-  Index alignedStart = internal::first_aligned(res,size);
-  Index alignedSize = ResPacketSize>1 ? alignedStart + ((size-alignedStart) & ~ResPacketAlignedMask) : 0;
-  const Index peeledSize = alignedSize - RhsPacketSize*peels - RhsPacketSize + 1;
-
-  const Index alignmentStep = LhsPacketSize>1 ? (LhsPacketSize - lhsStride % LhsPacketSize) & LhsPacketAlignedMask : 0;
-  Index alignmentPattern = alignmentStep==0 ? AllAligned
-                       : alignmentStep==(LhsPacketSize/2) ? EvenAligned
-                       : FirstAligned;
-
-  // we cannot assume the first element is aligned because of sub-matrices
-  const Index lhsAlignmentOffset = internal::first_aligned(lhs,size);
-
-  // find how many columns do we have to skip to be aligned with the result (if possible)
-  Index skipColumns = 0;
-  // if the data cannot be aligned (TODO add some compile time tests when possible, e.g. for floats)
-  if( (size_t(lhs)%sizeof(LhsScalar)) || (size_t(res)%sizeof(ResScalar)) )
-  {
-    alignedSize = 0;
-    alignedStart = 0;
-  }
-  else if (LhsPacketSize>1)
-  {
-    eigen_internal_assert(size_t(lhs+lhsAlignmentOffset)%sizeof(LhsPacket)==0 || size<LhsPacketSize);
-
-    while (skipColumns<LhsPacketSize &&
-          alignedStart != ((lhsAlignmentOffset + alignmentStep*skipColumns)%LhsPacketSize))
-      ++skipColumns;
-    if (skipColumns==LhsPacketSize)
-    {
-      // nothing can be aligned, no need to skip any column
-      alignmentPattern = NoneAligned;
-      skipColumns = 0;
-    }
-    else
-    {
-      skipColumns = (std::min)(skipColumns,cols);
-      // note that the skiped columns are processed later.
-    }
-
-    eigen_internal_assert(  (alignmentPattern==NoneAligned)
-                      || (skipColumns + columnsAtOnce >= cols)
-                      || LhsPacketSize > size
-                      || (size_t(lhs+alignedStart+lhsStride*skipColumns)%sizeof(LhsPacket))==0);
-  }
-  else if(Vectorizable)
-  {
-    alignedStart = 0;
-    alignedSize = size;
-    alignmentPattern = AllAligned;
-  }
-
-  Index offset1 = (FirstAligned && alignmentStep==1?3:1);
-  Index offset3 = (FirstAligned && alignmentStep==1?1:3);
-
-  Index columnBound = ((cols-skipColumns)/columnsAtOnce)*columnsAtOnce + skipColumns;
-  for (Index i=skipColumns; i<columnBound; i+=columnsAtOnce)
-  {
-    RhsPacket ptmp0 = pset1<RhsPacket>(alpha*rhs[i*rhsIncr]),
-              ptmp1 = pset1<RhsPacket>(alpha*rhs[(i+offset1)*rhsIncr]),
-              ptmp2 = pset1<RhsPacket>(alpha*rhs[(i+2)*rhsIncr]),
-              ptmp3 = pset1<RhsPacket>(alpha*rhs[(i+offset3)*rhsIncr]);
-
-    // this helps a lot generating better binary code
-    const LhsScalar *lhs0 = lhs + i*lhsStride,     *lhs1 = lhs + (i+offset1)*lhsStride,
-                    *lhs2 = lhs + (i+2)*lhsStride, *lhs3 = lhs + (i+offset3)*lhsStride;
-
-    if (Vectorizable)
-    {
-      /* explicit vectorization */
-      // process initial unaligned coeffs
-      for (Index j=0; j<alignedStart; ++j)
-      {
-        res[j] = cj.pmadd(lhs0[j], pfirst(ptmp0), res[j]);
-        res[j] = cj.pmadd(lhs1[j], pfirst(ptmp1), res[j]);
-        res[j] = cj.pmadd(lhs2[j], pfirst(ptmp2), res[j]);
-        res[j] = cj.pmadd(lhs3[j], pfirst(ptmp3), res[j]);
-      }
-
-      if (alignedSize>alignedStart)
-      {
-        switch(alignmentPattern)
-        {
-          case AllAligned:
-            for (Index j = alignedStart; j<alignedSize; j+=ResPacketSize)
-              _EIGEN_ACCUMULATE_PACKETS(d,d,d);
-            break;
-          case EvenAligned:
-            for (Index j = alignedStart; j<alignedSize; j+=ResPacketSize)
-              _EIGEN_ACCUMULATE_PACKETS(d,du,d);
-            break;
-          case FirstAligned:
-          {
-            Index j = alignedStart;
-            if(peels>1)
-            {
-              LhsPacket A00, A01, A02, A03, A10, A11, A12, A13;
-              ResPacket T0, T1;
-
-              A01 = pload<LhsPacket>(&lhs1[alignedStart-1]);
-              A02 = pload<LhsPacket>(&lhs2[alignedStart-2]);
-              A03 = pload<LhsPacket>(&lhs3[alignedStart-3]);
-
-              for (; j<peeledSize; j+=peels*ResPacketSize)
-              {
-                A11 = pload<LhsPacket>(&lhs1[j-1+LhsPacketSize]);  palign<1>(A01,A11);
-                A12 = pload<LhsPacket>(&lhs2[j-2+LhsPacketSize]);  palign<2>(A02,A12);
-                A13 = pload<LhsPacket>(&lhs3[j-3+LhsPacketSize]);  palign<3>(A03,A13);
-
-                A00 = pload<LhsPacket>(&lhs0[j]);
-                A10 = pload<LhsPacket>(&lhs0[j+LhsPacketSize]);
-                T0  = pcj.pmadd(A00, ptmp0, pload<ResPacket>(&res[j]));
-                T1  = pcj.pmadd(A10, ptmp0, pload<ResPacket>(&res[j+ResPacketSize]));
-
-                T0  = pcj.pmadd(A01, ptmp1, T0);
-                A01 = pload<LhsPacket>(&lhs1[j-1+2*LhsPacketSize]);  palign<1>(A11,A01);
-                T0  = pcj.pmadd(A02, ptmp2, T0);
-                A02 = pload<LhsPacket>(&lhs2[j-2+2*LhsPacketSize]);  palign<2>(A12,A02);
-                T0  = pcj.pmadd(A03, ptmp3, T0);
-                pstore(&res[j],T0);
-                A03 = pload<LhsPacket>(&lhs3[j-3+2*LhsPacketSize]);  palign<3>(A13,A03);
-                T1  = pcj.pmadd(A11, ptmp1, T1);
-                T1  = pcj.pmadd(A12, ptmp2, T1);
-                T1  = pcj.pmadd(A13, ptmp3, T1);
-                pstore(&res[j+ResPacketSize],T1);
-              }
-            }
-            for (; j<alignedSize; j+=ResPacketSize)
-              _EIGEN_ACCUMULATE_PACKETS(d,du,du);
-            break;
-          }
-          default:
-            for (Index j = alignedStart; j<alignedSize; j+=ResPacketSize)
-              _EIGEN_ACCUMULATE_PACKETS(du,du,du);
-            break;
-        }
-      }
-    } // end explicit vectorization
-
-    /* process remaining coeffs (or all if there is no explicit vectorization) */
-    for (Index j=alignedSize; j<size; ++j)
-    {
-      res[j] = cj.pmadd(lhs0[j], pfirst(ptmp0), res[j]);
-      res[j] = cj.pmadd(lhs1[j], pfirst(ptmp1), res[j]);
-      res[j] = cj.pmadd(lhs2[j], pfirst(ptmp2), res[j]);
-      res[j] = cj.pmadd(lhs3[j], pfirst(ptmp3), res[j]);
-    }
-  }
-
-  // process remaining first and last columns (at most columnsAtOnce-1)
-  Index end = cols;
-  Index start = columnBound;
-  do
-  {
-    for (Index k=start; k<end; ++k)
-    {
-      RhsPacket ptmp0 = pset1<RhsPacket>(alpha*rhs[k*rhsIncr]);
-      const LhsScalar* lhs0 = lhs + k*lhsStride;
-
-      if (Vectorizable)
-      {
-        /* explicit vectorization */
-        // process first unaligned result's coeffs
-        for (Index j=0; j<alignedStart; ++j)
-          res[j] += cj.pmul(lhs0[j], pfirst(ptmp0));
-        // process aligned result's coeffs
-        if ((size_t(lhs0+alignedStart)%sizeof(LhsPacket))==0)
-          for (Index i = alignedStart;i<alignedSize;i+=ResPacketSize)
-            pstore(&res[i], pcj.pmadd(pload<LhsPacket>(&lhs0[i]), ptmp0, pload<ResPacket>(&res[i])));
-        else
-          for (Index i = alignedStart;i<alignedSize;i+=ResPacketSize)
-            pstore(&res[i], pcj.pmadd(ploadu<LhsPacket>(&lhs0[i]), ptmp0, pload<ResPacket>(&res[i])));
-      }
-
-      // process remaining scalars (or all if no explicit vectorization)
-      for (Index i=alignedSize; i<size; ++i)
-        res[i] += cj.pmul(lhs0[i], pfirst(ptmp0));
-    }
-    if (skipColumns)
-    {
-      start = 0;
-      end = skipColumns;
-      skipColumns = 0;
-    }
-    else
-      break;
-  } while(Vectorizable);
-  #undef _EIGEN_ACCUMULATE_PACKETS
-}
-
-/* Optimized row-major matrix * vector product:
- * This algorithm processes 4 rows at onces that allows to both reduce
- * the number of load/stores of the result by a factor 4 and to reduce
- * the instruction dependency. Moreover, we know that all bands have the
- * same alignment pattern.
- *
- * Mixing type logic:
- *  - alpha is always a complex (or converted to a complex)
- *  - no vectorization
- */
-template<typename Index, typename LhsScalar, bool ConjugateLhs, typename RhsScalar, bool ConjugateRhs, int Version>
-struct general_matrix_vector_product<Index,LhsScalar,RowMajor,ConjugateLhs,RhsScalar,ConjugateRhs,Version>
-{
-typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-
-enum {
-  Vectorizable = packet_traits<LhsScalar>::Vectorizable && packet_traits<RhsScalar>::Vectorizable
-              && int(packet_traits<LhsScalar>::size)==int(packet_traits<RhsScalar>::size),
-  LhsPacketSize = Vectorizable ? packet_traits<LhsScalar>::size : 1,
-  RhsPacketSize = Vectorizable ? packet_traits<RhsScalar>::size : 1,
-  ResPacketSize = Vectorizable ? packet_traits<ResScalar>::size : 1
-};
-
-typedef typename packet_traits<LhsScalar>::type  _LhsPacket;
-typedef typename packet_traits<RhsScalar>::type  _RhsPacket;
-typedef typename packet_traits<ResScalar>::type  _ResPacket;
-
-typedef typename conditional<Vectorizable,_LhsPacket,LhsScalar>::type LhsPacket;
-typedef typename conditional<Vectorizable,_RhsPacket,RhsScalar>::type RhsPacket;
-typedef typename conditional<Vectorizable,_ResPacket,ResScalar>::type ResPacket;
-  
-EIGEN_DONT_INLINE static void run(
-  Index rows, Index cols,
-  const LhsScalar* lhs, Index lhsStride,
-  const RhsScalar* rhs, Index rhsIncr,
-  ResScalar* res, Index resIncr,
-  ResScalar alpha);
-};
-
-template<typename Index, typename LhsScalar, bool ConjugateLhs, typename RhsScalar, bool ConjugateRhs, int Version>
-EIGEN_DONT_INLINE void general_matrix_vector_product<Index,LhsScalar,RowMajor,ConjugateLhs,RhsScalar,ConjugateRhs,Version>::run(
-  Index rows, Index cols,
-  const LhsScalar* lhs, Index lhsStride,
-  const RhsScalar* rhs, Index rhsIncr,
-  ResScalar* res, Index resIncr,
-  ResScalar alpha)
-{
-  EIGEN_UNUSED_VARIABLE(rhsIncr);
-  eigen_internal_assert(rhsIncr==1);
-  #ifdef _EIGEN_ACCUMULATE_PACKETS
-  #error _EIGEN_ACCUMULATE_PACKETS has already been defined
-  #endif
-
-  #define _EIGEN_ACCUMULATE_PACKETS(A0,A13,A2) {\
-    RhsPacket b = pload<RhsPacket>(&rhs[j]); \
-    ptmp0 = pcj.pmadd(EIGEN_CAT(ploa,A0) <LhsPacket>(&lhs0[j]), b, ptmp0); \
-    ptmp1 = pcj.pmadd(EIGEN_CAT(ploa,A13)<LhsPacket>(&lhs1[j]), b, ptmp1); \
-    ptmp2 = pcj.pmadd(EIGEN_CAT(ploa,A2) <LhsPacket>(&lhs2[j]), b, ptmp2); \
-    ptmp3 = pcj.pmadd(EIGEN_CAT(ploa,A13)<LhsPacket>(&lhs3[j]), b, ptmp3); }
-
-  conj_helper<LhsScalar,RhsScalar,ConjugateLhs,ConjugateRhs> cj;
-  conj_helper<LhsPacket,RhsPacket,ConjugateLhs,ConjugateRhs> pcj;
-
-  enum { AllAligned=0, EvenAligned=1, FirstAligned=2, NoneAligned=3 };
-  const Index rowsAtOnce = 4;
-  const Index peels = 2;
-  const Index RhsPacketAlignedMask = RhsPacketSize-1;
-  const Index LhsPacketAlignedMask = LhsPacketSize-1;
-//   const Index PeelAlignedMask = RhsPacketSize*peels-1;
-  const Index depth = cols;
-
-  // How many coeffs of the result do we have to skip to be aligned.
-  // Here we assume data are at least aligned on the base scalar type
-  // if that's not the case then vectorization is discarded, see below.
-  Index alignedStart = internal::first_aligned(rhs, depth);
-  Index alignedSize = RhsPacketSize>1 ? alignedStart + ((depth-alignedStart) & ~RhsPacketAlignedMask) : 0;
-  const Index peeledSize = alignedSize - RhsPacketSize*peels - RhsPacketSize + 1;
-
-  const Index alignmentStep = LhsPacketSize>1 ? (LhsPacketSize - lhsStride % LhsPacketSize) & LhsPacketAlignedMask : 0;
-  Index alignmentPattern = alignmentStep==0 ? AllAligned
-                         : alignmentStep==(LhsPacketSize/2) ? EvenAligned
-                         : FirstAligned;
-
-  // we cannot assume the first element is aligned because of sub-matrices
-  const Index lhsAlignmentOffset = internal::first_aligned(lhs,depth);
-
-  // find how many rows do we have to skip to be aligned with rhs (if possible)
-  Index skipRows = 0;
-  // if the data cannot be aligned (TODO add some compile time tests when possible, e.g. for floats)
-  if( (sizeof(LhsScalar)!=sizeof(RhsScalar)) || (size_t(lhs)%sizeof(LhsScalar)) || (size_t(rhs)%sizeof(RhsScalar)) )
-  {
-    alignedSize = 0;
-    alignedStart = 0;
-  }
-  else if (LhsPacketSize>1)
-  {
-    eigen_internal_assert(size_t(lhs+lhsAlignmentOffset)%sizeof(LhsPacket)==0  || depth<LhsPacketSize);
-
-    while (skipRows<LhsPacketSize &&
-           alignedStart != ((lhsAlignmentOffset + alignmentStep*skipRows)%LhsPacketSize))
-      ++skipRows;
-    if (skipRows==LhsPacketSize)
-    {
-      // nothing can be aligned, no need to skip any column
-      alignmentPattern = NoneAligned;
-      skipRows = 0;
-    }
-    else
-    {
-      skipRows = (std::min)(skipRows,Index(rows));
-      // note that the skiped columns are processed later.
-    }
-    eigen_internal_assert(  alignmentPattern==NoneAligned
-                      || LhsPacketSize==1
-                      || (skipRows + rowsAtOnce >= rows)
-                      || LhsPacketSize > depth
-                      || (size_t(lhs+alignedStart+lhsStride*skipRows)%sizeof(LhsPacket))==0);
-  }
-  else if(Vectorizable)
-  {
-    alignedStart = 0;
-    alignedSize = depth;
-    alignmentPattern = AllAligned;
-  }
-
-  Index offset1 = (FirstAligned && alignmentStep==1?3:1);
-  Index offset3 = (FirstAligned && alignmentStep==1?1:3);
-
-  Index rowBound = ((rows-skipRows)/rowsAtOnce)*rowsAtOnce + skipRows;
-  for (Index i=skipRows; i<rowBound; i+=rowsAtOnce)
-  {
-    EIGEN_ALIGN16 ResScalar tmp0 = ResScalar(0);
-    ResScalar tmp1 = ResScalar(0), tmp2 = ResScalar(0), tmp3 = ResScalar(0);
-
-    // this helps the compiler generating good binary code
-    const LhsScalar *lhs0 = lhs + i*lhsStride,     *lhs1 = lhs + (i+offset1)*lhsStride,
-                    *lhs2 = lhs + (i+2)*lhsStride, *lhs3 = lhs + (i+offset3)*lhsStride;
-
-    if (Vectorizable)
-    {
-      /* explicit vectorization */
-      ResPacket ptmp0 = pset1<ResPacket>(ResScalar(0)), ptmp1 = pset1<ResPacket>(ResScalar(0)),
-                ptmp2 = pset1<ResPacket>(ResScalar(0)), ptmp3 = pset1<ResPacket>(ResScalar(0));
-
-      // process initial unaligned coeffs
-      // FIXME this loop get vectorized by the compiler !
-      for (Index j=0; j<alignedStart; ++j)
-      {
-        RhsScalar b = rhs[j];
-        tmp0 += cj.pmul(lhs0[j],b); tmp1 += cj.pmul(lhs1[j],b);
-        tmp2 += cj.pmul(lhs2[j],b); tmp3 += cj.pmul(lhs3[j],b);
-      }
-
-      if (alignedSize>alignedStart)
-      {
-        switch(alignmentPattern)
-        {
-          case AllAligned:
-            for (Index j = alignedStart; j<alignedSize; j+=RhsPacketSize)
-              _EIGEN_ACCUMULATE_PACKETS(d,d,d);
-            break;
-          case EvenAligned:
-            for (Index j = alignedStart; j<alignedSize; j+=RhsPacketSize)
-              _EIGEN_ACCUMULATE_PACKETS(d,du,d);
-            break;
-          case FirstAligned:
-          {
-            Index j = alignedStart;
-            if (peels>1)
-            {
-              /* Here we proccess 4 rows with with two peeled iterations to hide
-               * the overhead of unaligned loads. Moreover unaligned loads are handled
-               * using special shift/move operations between the two aligned packets
-               * overlaping the desired unaligned packet. This is *much* more efficient
-               * than basic unaligned loads.
-               */
-              LhsPacket A01, A02, A03, A11, A12, A13;
-              A01 = pload<LhsPacket>(&lhs1[alignedStart-1]);
-              A02 = pload<LhsPacket>(&lhs2[alignedStart-2]);
-              A03 = pload<LhsPacket>(&lhs3[alignedStart-3]);
-
-              for (; j<peeledSize; j+=peels*RhsPacketSize)
-              {
-                RhsPacket b = pload<RhsPacket>(&rhs[j]);
-                A11 = pload<LhsPacket>(&lhs1[j-1+LhsPacketSize]);  palign<1>(A01,A11);
-                A12 = pload<LhsPacket>(&lhs2[j-2+LhsPacketSize]);  palign<2>(A02,A12);
-                A13 = pload<LhsPacket>(&lhs3[j-3+LhsPacketSize]);  palign<3>(A03,A13);
-
-                ptmp0 = pcj.pmadd(pload<LhsPacket>(&lhs0[j]), b, ptmp0);
-                ptmp1 = pcj.pmadd(A01, b, ptmp1);
-                A01 = pload<LhsPacket>(&lhs1[j-1+2*LhsPacketSize]);  palign<1>(A11,A01);
-                ptmp2 = pcj.pmadd(A02, b, ptmp2);
-                A02 = pload<LhsPacket>(&lhs2[j-2+2*LhsPacketSize]);  palign<2>(A12,A02);
-                ptmp3 = pcj.pmadd(A03, b, ptmp3);
-                A03 = pload<LhsPacket>(&lhs3[j-3+2*LhsPacketSize]);  palign<3>(A13,A03);
-
-                b = pload<RhsPacket>(&rhs[j+RhsPacketSize]);
-                ptmp0 = pcj.pmadd(pload<LhsPacket>(&lhs0[j+LhsPacketSize]), b, ptmp0);
-                ptmp1 = pcj.pmadd(A11, b, ptmp1);
-                ptmp2 = pcj.pmadd(A12, b, ptmp2);
-                ptmp3 = pcj.pmadd(A13, b, ptmp3);
-              }
-            }
-            for (; j<alignedSize; j+=RhsPacketSize)
-              _EIGEN_ACCUMULATE_PACKETS(d,du,du);
-            break;
-          }
-          default:
-            for (Index j = alignedStart; j<alignedSize; j+=RhsPacketSize)
-              _EIGEN_ACCUMULATE_PACKETS(du,du,du);
-            break;
-        }
-        tmp0 += predux(ptmp0);
-        tmp1 += predux(ptmp1);
-        tmp2 += predux(ptmp2);
-        tmp3 += predux(ptmp3);
-      }
-    } // end explicit vectorization
-
-    // process remaining coeffs (or all if no explicit vectorization)
-    // FIXME this loop get vectorized by the compiler !
-    for (Index j=alignedSize; j<depth; ++j)
-    {
-      RhsScalar b = rhs[j];
-      tmp0 += cj.pmul(lhs0[j],b); tmp1 += cj.pmul(lhs1[j],b);
-      tmp2 += cj.pmul(lhs2[j],b); tmp3 += cj.pmul(lhs3[j],b);
-    }
-    res[i*resIncr]            += alpha*tmp0;
-    res[(i+offset1)*resIncr]  += alpha*tmp1;
-    res[(i+2)*resIncr]        += alpha*tmp2;
-    res[(i+offset3)*resIncr]  += alpha*tmp3;
-  }
-
-  // process remaining first and last rows (at most columnsAtOnce-1)
-  Index end = rows;
-  Index start = rowBound;
-  do
-  {
-    for (Index i=start; i<end; ++i)
-    {
-      EIGEN_ALIGN16 ResScalar tmp0 = ResScalar(0);
-      ResPacket ptmp0 = pset1<ResPacket>(tmp0);
-      const LhsScalar* lhs0 = lhs + i*lhsStride;
-      // process first unaligned result's coeffs
-      // FIXME this loop get vectorized by the compiler !
-      for (Index j=0; j<alignedStart; ++j)
-        tmp0 += cj.pmul(lhs0[j], rhs[j]);
-
-      if (alignedSize>alignedStart)
-      {
-        // process aligned rhs coeffs
-        if ((size_t(lhs0+alignedStart)%sizeof(LhsPacket))==0)
-          for (Index j = alignedStart;j<alignedSize;j+=RhsPacketSize)
-            ptmp0 = pcj.pmadd(pload<LhsPacket>(&lhs0[j]), pload<RhsPacket>(&rhs[j]), ptmp0);
-        else
-          for (Index j = alignedStart;j<alignedSize;j+=RhsPacketSize)
-            ptmp0 = pcj.pmadd(ploadu<LhsPacket>(&lhs0[j]), pload<RhsPacket>(&rhs[j]), ptmp0);
-        tmp0 += predux(ptmp0);
-      }
-
-      // process remaining scalars
-      // FIXME this loop get vectorized by the compiler !
-      for (Index j=alignedSize; j<depth; ++j)
-        tmp0 += cj.pmul(lhs0[j], rhs[j]);
-      res[i*resIncr] += alpha*tmp0;
-    }
-    if (skipRows)
-    {
-      start = 0;
-      end = skipRows;
-      skipRows = 0;
-    }
-    else
-      break;
-  } while(Vectorizable);
-
-  #undef _EIGEN_ACCUMULATE_PACKETS
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERAL_MATRIX_VECTOR_H
diff --git a/lib/Eigen/src/Core/products/GeneralMatrixVector_MKL.h b/lib/Eigen/src/Core/products/GeneralMatrixVector_MKL.h
deleted file mode 100644
index 1cb9fe6b..00000000
--- a/lib/Eigen/src/Core/products/GeneralMatrixVector_MKL.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   General matrix-vector product functionality based on ?GEMV.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_GENERAL_MATRIX_VECTOR_MKL_H
-#define EIGEN_GENERAL_MATRIX_VECTOR_MKL_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/**********************************************************************
-* This file implements general matrix-vector multiplication using BLAS
-* gemv function via partial specialization of
-* general_matrix_vector_product::run(..) method for float, double,
-* std::complex<float> and std::complex<double> types
-**********************************************************************/
-
-// gemv specialization
-
-template<typename Index, typename LhsScalar, int LhsStorageOrder, bool ConjugateLhs, typename RhsScalar, bool ConjugateRhs>
-struct general_matrix_vector_product_gemv :
-  general_matrix_vector_product<Index,LhsScalar,LhsStorageOrder,ConjugateLhs,RhsScalar,ConjugateRhs,BuiltIn> {};
-
-#define EIGEN_MKL_GEMV_SPECIALIZE(Scalar) \
-template<typename Index, bool ConjugateLhs, bool ConjugateRhs> \
-struct general_matrix_vector_product<Index,Scalar,ColMajor,ConjugateLhs,Scalar,ConjugateRhs,Specialized> { \
-static void run( \
-  Index rows, Index cols, \
-  const Scalar* lhs, Index lhsStride, \
-  const Scalar* rhs, Index rhsIncr, \
-  Scalar* res, Index resIncr, Scalar alpha) \
-{ \
-  if (ConjugateLhs) { \
-    general_matrix_vector_product<Index,Scalar,ColMajor,ConjugateLhs,Scalar,ConjugateRhs,BuiltIn>::run( \
-      rows, cols, lhs, lhsStride, rhs, rhsIncr, res, resIncr, alpha); \
-  } else { \
-    general_matrix_vector_product_gemv<Index,Scalar,ColMajor,ConjugateLhs,Scalar,ConjugateRhs>::run( \
-      rows, cols, lhs, lhsStride, rhs, rhsIncr, res, resIncr, alpha); \
-  } \
-} \
-}; \
-template<typename Index, bool ConjugateLhs, bool ConjugateRhs> \
-struct general_matrix_vector_product<Index,Scalar,RowMajor,ConjugateLhs,Scalar,ConjugateRhs,Specialized> { \
-static void run( \
-  Index rows, Index cols, \
-  const Scalar* lhs, Index lhsStride, \
-  const Scalar* rhs, Index rhsIncr, \
-  Scalar* res, Index resIncr, Scalar alpha) \
-{ \
-    general_matrix_vector_product_gemv<Index,Scalar,RowMajor,ConjugateLhs,Scalar,ConjugateRhs>::run( \
-      rows, cols, lhs, lhsStride, rhs, rhsIncr, res, resIncr, alpha); \
-} \
-}; \
-
-EIGEN_MKL_GEMV_SPECIALIZE(double)
-EIGEN_MKL_GEMV_SPECIALIZE(float)
-EIGEN_MKL_GEMV_SPECIALIZE(dcomplex)
-EIGEN_MKL_GEMV_SPECIALIZE(scomplex)
-
-#define EIGEN_MKL_GEMV_SPECIALIZATION(EIGTYPE,MKLTYPE,MKLPREFIX) \
-template<typename Index, int LhsStorageOrder, bool ConjugateLhs, bool ConjugateRhs> \
-struct general_matrix_vector_product_gemv<Index,EIGTYPE,LhsStorageOrder,ConjugateLhs,EIGTYPE,ConjugateRhs> \
-{ \
-typedef Matrix<EIGTYPE,Dynamic,1,ColMajor> GEMVVector;\
-\
-static void run( \
-  Index rows, Index cols, \
-  const EIGTYPE* lhs, Index lhsStride, \
-  const EIGTYPE* rhs, Index rhsIncr, \
-  EIGTYPE* res, Index resIncr, EIGTYPE alpha) \
-{ \
-  MKL_INT m=rows, n=cols, lda=lhsStride, incx=rhsIncr, incy=resIncr; \
-  MKLTYPE alpha_, beta_; \
-  const EIGTYPE *x_ptr, myone(1); \
-  char trans=(LhsStorageOrder==ColMajor) ? 'N' : (ConjugateLhs) ? 'C' : 'T'; \
-  if (LhsStorageOrder==RowMajor) { \
-    m=cols; \
-    n=rows; \
-  }\
-  assign_scalar_eig2mkl(alpha_, alpha); \
-  assign_scalar_eig2mkl(beta_, myone); \
-  GEMVVector x_tmp; \
-  if (ConjugateRhs) { \
-    Map<const GEMVVector, 0, InnerStride<> > map_x(rhs,cols,1,InnerStride<>(incx)); \
-    x_tmp=map_x.conjugate(); \
-    x_ptr=x_tmp.data(); \
-    incx=1; \
-  } else x_ptr=rhs; \
-  MKLPREFIX##gemv(&trans, &m, &n, &alpha_, (const MKLTYPE*)lhs, &lda, (const MKLTYPE*)x_ptr, &incx, &beta_, (MKLTYPE*)res, &incy); \
-}\
-};
-
-EIGEN_MKL_GEMV_SPECIALIZATION(double,   double,        d)
-EIGEN_MKL_GEMV_SPECIALIZATION(float,    float,         s)
-EIGEN_MKL_GEMV_SPECIALIZATION(dcomplex, MKL_Complex16, z)
-EIGEN_MKL_GEMV_SPECIALIZATION(scomplex, MKL_Complex8,  c)
-
-} // end namespase internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERAL_MATRIX_VECTOR_MKL_H
diff --git a/lib/Eigen/src/Core/products/Parallelizer.h b/lib/Eigen/src/Core/products/Parallelizer.h
deleted file mode 100644
index 6937ee33..00000000
--- a/lib/Eigen/src/Core/products/Parallelizer.h
+++ /dev/null
@@ -1,162 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PARALLELIZER_H
-#define EIGEN_PARALLELIZER_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \internal */
-inline void manage_multi_threading(Action action, int* v)
-{
-  static EIGEN_UNUSED int m_maxThreads = -1;
-
-  if(action==SetAction)
-  {
-    eigen_internal_assert(v!=0);
-    m_maxThreads = *v;
-  }
-  else if(action==GetAction)
-  {
-    eigen_internal_assert(v!=0);
-    #ifdef EIGEN_HAS_OPENMP
-    if(m_maxThreads>0)
-      *v = m_maxThreads;
-    else
-      *v = omp_get_max_threads();
-    #else
-    *v = 1;
-    #endif
-  }
-  else
-  {
-    eigen_internal_assert(false);
-  }
-}
-
-}
-
-/** Must be call first when calling Eigen from multiple threads */
-inline void initParallel()
-{
-  int nbt;
-  internal::manage_multi_threading(GetAction, &nbt);
-  std::ptrdiff_t l1, l2;
-  internal::manage_caching_sizes(GetAction, &l1, &l2);
-}
-
-/** \returns the max number of threads reserved for Eigen
-  * \sa setNbThreads */
-inline int nbThreads()
-{
-  int ret;
-  internal::manage_multi_threading(GetAction, &ret);
-  return ret;
-}
-
-/** Sets the max number of threads reserved for Eigen
-  * \sa nbThreads */
-inline void setNbThreads(int v)
-{
-  internal::manage_multi_threading(SetAction, &v);
-}
-
-namespace internal {
-
-template<typename Index> struct GemmParallelInfo
-{
-  GemmParallelInfo() : sync(-1), users(0), rhs_start(0), rhs_length(0) {}
-
-  int volatile sync;
-  int volatile users;
-
-  Index rhs_start;
-  Index rhs_length;
-};
-
-template<bool Condition, typename Functor, typename Index>
-void parallelize_gemm(const Functor& func, Index rows, Index cols, bool transpose)
-{
-  // TODO when EIGEN_USE_BLAS is defined,
-  // we should still enable OMP for other scalar types
-#if !(defined (EIGEN_HAS_OPENMP)) || defined (EIGEN_USE_BLAS)
-  // FIXME the transpose variable is only needed to properly split
-  // the matrix product when multithreading is enabled. This is a temporary
-  // fix to support row-major destination matrices. This whole
-  // parallelizer mechanism has to be redisigned anyway.
-  EIGEN_UNUSED_VARIABLE(transpose);
-  func(0,rows, 0,cols);
-#else
-
-  // Dynamically check whether we should enable or disable OpenMP.
-  // The conditions are:
-  // - the max number of threads we can create is greater than 1
-  // - we are not already in a parallel code
-  // - the sizes are large enough
-
-  // 1- are we already in a parallel session?
-  // FIXME omp_get_num_threads()>1 only works for openmp, what if the user does not use openmp?
-  if((!Condition) || (omp_get_num_threads()>1))
-    return func(0,rows, 0,cols);
-
-  Index size = transpose ? cols : rows;
-
-  // 2- compute the maximal number of threads from the size of the product:
-  // FIXME this has to be fine tuned
-  Index max_threads = std::max<Index>(1,size / 32);
-
-  // 3 - compute the number of threads we are going to use
-  Index threads = std::min<Index>(nbThreads(), max_threads);
-
-  if(threads==1)
-    return func(0,rows, 0,cols);
-
-  Eigen::initParallel();
-  func.initParallelSession();
-
-  if(transpose)
-    std::swap(rows,cols);
-
-  GemmParallelInfo<Index>* info = new GemmParallelInfo<Index>[threads];
-
-  #pragma omp parallel num_threads(threads)
-  {
-    Index i = omp_get_thread_num();
-    // Note that the actual number of threads might be lower than the number of request ones.
-    Index actual_threads = omp_get_num_threads();
-    
-    Index blockCols = (cols / actual_threads) & ~Index(0x3);
-    Index blockRows = (rows / actual_threads) & ~Index(0x7);
-    
-    Index r0 = i*blockRows;
-    Index actualBlockRows = (i+1==actual_threads) ? rows-r0 : blockRows;
-
-    Index c0 = i*blockCols;
-    Index actualBlockCols = (i+1==actual_threads) ? cols-c0 : blockCols;
-
-    info[i].rhs_start = c0;
-    info[i].rhs_length = actualBlockCols;
-
-    if(transpose)
-      func(0, cols, r0, actualBlockRows, info);
-    else
-      func(r0, actualBlockRows, 0,cols, info);
-  }
-
-  delete[] info;
-#endif
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_PARALLELIZER_H
diff --git a/lib/Eigen/src/Core/products/SelfadjointMatrixMatrix.h b/lib/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
deleted file mode 100644
index 99cf9e0a..00000000
--- a/lib/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
+++ /dev/null
@@ -1,436 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SELFADJOINT_MATRIX_MATRIX_H
-#define EIGEN_SELFADJOINT_MATRIX_MATRIX_H
-
-namespace Eigen { 
-
-namespace internal {
-
-// pack a selfadjoint block diagonal for use with the gebp_kernel
-template<typename Scalar, typename Index, int Pack1, int Pack2, int StorageOrder>
-struct symm_pack_lhs
-{
-  template<int BlockRows> inline
-  void pack(Scalar* blockA, const const_blas_data_mapper<Scalar,Index,StorageOrder>& lhs, Index cols, Index i, Index& count)
-  {
-    // normal copy
-    for(Index k=0; k<i; k++)
-      for(Index w=0; w<BlockRows; w++)
-        blockA[count++] = lhs(i+w,k);           // normal
-    // symmetric copy
-    Index h = 0;
-    for(Index k=i; k<i+BlockRows; k++)
-    {
-      for(Index w=0; w<h; w++)
-        blockA[count++] = numext::conj(lhs(k, i+w)); // transposed
-
-      blockA[count++] = numext::real(lhs(k,k));   // real (diagonal)
-
-      for(Index w=h+1; w<BlockRows; w++)
-        blockA[count++] = lhs(i+w, k);          // normal
-      ++h;
-    }
-    // transposed copy
-    for(Index k=i+BlockRows; k<cols; k++)
-      for(Index w=0; w<BlockRows; w++)
-        blockA[count++] = numext::conj(lhs(k, i+w)); // transposed
-  }
-  void operator()(Scalar* blockA, const Scalar* _lhs, Index lhsStride, Index cols, Index rows)
-  {
-    const_blas_data_mapper<Scalar,Index,StorageOrder> lhs(_lhs,lhsStride);
-    Index count = 0;
-    Index peeled_mc = (rows/Pack1)*Pack1;
-    for(Index i=0; i<peeled_mc; i+=Pack1)
-    {
-      pack<Pack1>(blockA, lhs, cols, i, count);
-    }
-
-    if(rows-peeled_mc>=Pack2)
-    {
-      pack<Pack2>(blockA, lhs, cols, peeled_mc, count);
-      peeled_mc += Pack2;
-    }
-
-    // do the same with mr==1
-    for(Index i=peeled_mc; i<rows; i++)
-    {
-      for(Index k=0; k<i; k++)
-        blockA[count++] = lhs(i, k);              // normal
-
-      blockA[count++] = numext::real(lhs(i, i));       // real (diagonal)
-
-      for(Index k=i+1; k<cols; k++)
-        blockA[count++] = numext::conj(lhs(k, i));     // transposed
-    }
-  }
-};
-
-template<typename Scalar, typename Index, int nr, int StorageOrder>
-struct symm_pack_rhs
-{
-  enum { PacketSize = packet_traits<Scalar>::size };
-  void operator()(Scalar* blockB, const Scalar* _rhs, Index rhsStride, Index rows, Index cols, Index k2)
-  {
-    Index end_k = k2 + rows;
-    Index count = 0;
-    const_blas_data_mapper<Scalar,Index,StorageOrder> rhs(_rhs,rhsStride);
-    Index packet_cols = (cols/nr)*nr;
-
-    // first part: normal case
-    for(Index j2=0; j2<k2; j2+=nr)
-    {
-      for(Index k=k2; k<end_k; k++)
-      {
-        blockB[count+0] = rhs(k,j2+0);
-        blockB[count+1] = rhs(k,j2+1);
-        if (nr==4)
-        {
-          blockB[count+2] = rhs(k,j2+2);
-          blockB[count+3] = rhs(k,j2+3);
-        }
-        count += nr;
-      }
-    }
-
-    // second part: diagonal block
-    for(Index j2=k2; j2<(std::min)(k2+rows,packet_cols); j2+=nr)
-    {
-      // again we can split vertically in three different parts (transpose, symmetric, normal)
-      // transpose
-      for(Index k=k2; k<j2; k++)
-      {
-        blockB[count+0] = numext::conj(rhs(j2+0,k));
-        blockB[count+1] = numext::conj(rhs(j2+1,k));
-        if (nr==4)
-        {
-          blockB[count+2] = numext::conj(rhs(j2+2,k));
-          blockB[count+3] = numext::conj(rhs(j2+3,k));
-        }
-        count += nr;
-      }
-      // symmetric
-      Index h = 0;
-      for(Index k=j2; k<j2+nr; k++)
-      {
-        // normal
-        for (Index w=0 ; w<h; ++w)
-          blockB[count+w] = rhs(k,j2+w);
-
-        blockB[count+h] = numext::real(rhs(k,k));
-
-        // transpose
-        for (Index w=h+1 ; w<nr; ++w)
-          blockB[count+w] = numext::conj(rhs(j2+w,k));
-        count += nr;
-        ++h;
-      }
-      // normal
-      for(Index k=j2+nr; k<end_k; k++)
-      {
-        blockB[count+0] = rhs(k,j2+0);
-        blockB[count+1] = rhs(k,j2+1);
-        if (nr==4)
-        {
-          blockB[count+2] = rhs(k,j2+2);
-          blockB[count+3] = rhs(k,j2+3);
-        }
-        count += nr;
-      }
-    }
-
-    // third part: transposed
-    for(Index j2=k2+rows; j2<packet_cols; j2+=nr)
-    {
-      for(Index k=k2; k<end_k; k++)
-      {
-        blockB[count+0] = numext::conj(rhs(j2+0,k));
-        blockB[count+1] = numext::conj(rhs(j2+1,k));
-        if (nr==4)
-        {
-          blockB[count+2] = numext::conj(rhs(j2+2,k));
-          blockB[count+3] = numext::conj(rhs(j2+3,k));
-        }
-        count += nr;
-      }
-    }
-
-    // copy the remaining columns one at a time (=> the same with nr==1)
-    for(Index j2=packet_cols; j2<cols; ++j2)
-    {
-      // transpose
-      Index half = (std::min)(end_k,j2);
-      for(Index k=k2; k<half; k++)
-      {
-        blockB[count] = numext::conj(rhs(j2,k));
-        count += 1;
-      }
-
-      if(half==j2 && half<k2+rows)
-      {
-        blockB[count] = numext::real(rhs(j2,j2));
-        count += 1;
-      }
-      else
-        half--;
-
-      // normal
-      for(Index k=half+1; k<k2+rows; k++)
-      {
-        blockB[count] = rhs(k,j2);
-        count += 1;
-      }
-    }
-  }
-};
-
-/* Optimized selfadjoint matrix * matrix (_SYMM) product built on top of
- * the general matrix matrix product.
- */
-template <typename Scalar, typename Index,
-          int LhsStorageOrder, bool LhsSelfAdjoint, bool ConjugateLhs,
-          int RhsStorageOrder, bool RhsSelfAdjoint, bool ConjugateRhs,
-          int ResStorageOrder>
-struct product_selfadjoint_matrix;
-
-template <typename Scalar, typename Index,
-          int LhsStorageOrder, bool LhsSelfAdjoint, bool ConjugateLhs,
-          int RhsStorageOrder, bool RhsSelfAdjoint, bool ConjugateRhs>
-struct product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,LhsSelfAdjoint,ConjugateLhs, RhsStorageOrder,RhsSelfAdjoint,ConjugateRhs,RowMajor>
-{
-
-  static EIGEN_STRONG_INLINE void run(
-    Index rows, Index cols,
-    const Scalar* lhs, Index lhsStride,
-    const Scalar* rhs, Index rhsStride,
-    Scalar* res,       Index resStride,
-    const Scalar& alpha)
-  {
-    product_selfadjoint_matrix<Scalar, Index,
-      EIGEN_LOGICAL_XOR(RhsSelfAdjoint,RhsStorageOrder==RowMajor) ? ColMajor : RowMajor,
-      RhsSelfAdjoint, NumTraits<Scalar>::IsComplex && EIGEN_LOGICAL_XOR(RhsSelfAdjoint,ConjugateRhs),
-      EIGEN_LOGICAL_XOR(LhsSelfAdjoint,LhsStorageOrder==RowMajor) ? ColMajor : RowMajor,
-      LhsSelfAdjoint, NumTraits<Scalar>::IsComplex && EIGEN_LOGICAL_XOR(LhsSelfAdjoint,ConjugateLhs),
-      ColMajor>
-      ::run(cols, rows,  rhs, rhsStride,  lhs, lhsStride,  res, resStride,  alpha);
-  }
-};
-
-template <typename Scalar, typename Index,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs>
-struct product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,true,ConjugateLhs, RhsStorageOrder,false,ConjugateRhs,ColMajor>
-{
-
-  static EIGEN_DONT_INLINE void run(
-    Index rows, Index cols,
-    const Scalar* _lhs, Index lhsStride,
-    const Scalar* _rhs, Index rhsStride,
-    Scalar* res,        Index resStride,
-    const Scalar& alpha);
-};
-
-template <typename Scalar, typename Index,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs>
-EIGEN_DONT_INLINE void product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,true,ConjugateLhs, RhsStorageOrder,false,ConjugateRhs,ColMajor>::run(
-    Index rows, Index cols,
-    const Scalar* _lhs, Index lhsStride,
-    const Scalar* _rhs, Index rhsStride,
-    Scalar* res,        Index resStride,
-    const Scalar& alpha)
-  {
-    Index size = rows;
-
-    const_blas_data_mapper<Scalar, Index, LhsStorageOrder> lhs(_lhs,lhsStride);
-    const_blas_data_mapper<Scalar, Index, RhsStorageOrder> rhs(_rhs,rhsStride);
-
-    typedef gebp_traits<Scalar,Scalar> Traits;
-
-    Index kc = size;  // cache block size along the K direction
-    Index mc = rows;  // cache block size along the M direction
-    Index nc = cols;  // cache block size along the N direction
-    computeProductBlockingSizes<Scalar,Scalar>(kc, mc, nc);
-    // kc must smaller than mc
-    kc = (std::min)(kc,mc);
-
-    std::size_t sizeW = kc*Traits::WorkSpaceFactor;
-    std::size_t sizeB = sizeW + kc*cols;
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockA, kc*mc, 0);
-    ei_declare_aligned_stack_constructed_variable(Scalar, allocatedBlockB, sizeB, 0);
-    Scalar* blockB = allocatedBlockB + sizeW;
-
-    gebp_kernel<Scalar, Scalar, Index, Traits::mr, Traits::nr, ConjugateLhs, ConjugateRhs> gebp_kernel;
-    symm_pack_lhs<Scalar, Index, Traits::mr, Traits::LhsProgress, LhsStorageOrder> pack_lhs;
-    gemm_pack_rhs<Scalar, Index, Traits::nr,RhsStorageOrder> pack_rhs;
-    gemm_pack_lhs<Scalar, Index, Traits::mr, Traits::LhsProgress, LhsStorageOrder==RowMajor?ColMajor:RowMajor, true> pack_lhs_transposed;
-
-    for(Index k2=0; k2<size; k2+=kc)
-    {
-      const Index actual_kc = (std::min)(k2+kc,size)-k2;
-
-      // we have selected one row panel of rhs and one column panel of lhs
-      // pack rhs's panel into a sequential chunk of memory
-      // and expand each coeff to a constant packet for further reuse
-      pack_rhs(blockB, &rhs(k2,0), rhsStride, actual_kc, cols);
-
-      // the select lhs's panel has to be split in three different parts:
-      //  1 - the transposed panel above the diagonal block => transposed packed copy
-      //  2 - the diagonal block => special packed copy
-      //  3 - the panel below the diagonal block => generic packed copy
-      for(Index i2=0; i2<k2; i2+=mc)
-      {
-        const Index actual_mc = (std::min)(i2+mc,k2)-i2;
-        // transposed packed copy
-        pack_lhs_transposed(blockA, &lhs(k2, i2), lhsStride, actual_kc, actual_mc);
-
-        gebp_kernel(res+i2, resStride, blockA, blockB, actual_mc, actual_kc, cols, alpha);
-      }
-      // the block diagonal
-      {
-        const Index actual_mc = (std::min)(k2+kc,size)-k2;
-        // symmetric packed copy
-        pack_lhs(blockA, &lhs(k2,k2), lhsStride, actual_kc, actual_mc);
-
-        gebp_kernel(res+k2, resStride, blockA, blockB, actual_mc, actual_kc, cols, alpha);
-      }
-
-      for(Index i2=k2+kc; i2<size; i2+=mc)
-      {
-        const Index actual_mc = (std::min)(i2+mc,size)-i2;
-        gemm_pack_lhs<Scalar, Index, Traits::mr, Traits::LhsProgress, LhsStorageOrder,false>()
-          (blockA, &lhs(i2, k2), lhsStride, actual_kc, actual_mc);
-
-        gebp_kernel(res+i2, resStride, blockA, blockB, actual_mc, actual_kc, cols, alpha);
-      }
-    }
-  }
-
-// matrix * selfadjoint product
-template <typename Scalar, typename Index,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs>
-struct product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,false,ConjugateLhs, RhsStorageOrder,true,ConjugateRhs,ColMajor>
-{
-
-  static EIGEN_DONT_INLINE void run(
-    Index rows, Index cols,
-    const Scalar* _lhs, Index lhsStride,
-    const Scalar* _rhs, Index rhsStride,
-    Scalar* res,        Index resStride,
-    const Scalar& alpha);
-};
-
-template <typename Scalar, typename Index,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs>
-EIGEN_DONT_INLINE void product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,false,ConjugateLhs, RhsStorageOrder,true,ConjugateRhs,ColMajor>::run(
-    Index rows, Index cols,
-    const Scalar* _lhs, Index lhsStride,
-    const Scalar* _rhs, Index rhsStride,
-    Scalar* res,        Index resStride,
-    const Scalar& alpha)
-  {
-    Index size = cols;
-
-    const_blas_data_mapper<Scalar, Index, LhsStorageOrder> lhs(_lhs,lhsStride);
-
-    typedef gebp_traits<Scalar,Scalar> Traits;
-
-    Index kc = size; // cache block size along the K direction
-    Index mc = rows;  // cache block size along the M direction
-    Index nc = cols;  // cache block size along the N direction
-    computeProductBlockingSizes<Scalar,Scalar>(kc, mc, nc);
-    std::size_t sizeW = kc*Traits::WorkSpaceFactor;
-    std::size_t sizeB = sizeW + kc*cols;
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockA, kc*mc, 0);
-    ei_declare_aligned_stack_constructed_variable(Scalar, allocatedBlockB, sizeB, 0);
-    Scalar* blockB = allocatedBlockB + sizeW;
-
-    gebp_kernel<Scalar, Scalar, Index, Traits::mr, Traits::nr, ConjugateLhs, ConjugateRhs> gebp_kernel;
-    gemm_pack_lhs<Scalar, Index, Traits::mr, Traits::LhsProgress, LhsStorageOrder> pack_lhs;
-    symm_pack_rhs<Scalar, Index, Traits::nr,RhsStorageOrder> pack_rhs;
-
-    for(Index k2=0; k2<size; k2+=kc)
-    {
-      const Index actual_kc = (std::min)(k2+kc,size)-k2;
-
-      pack_rhs(blockB, _rhs, rhsStride, actual_kc, cols, k2);
-
-      // => GEPP
-      for(Index i2=0; i2<rows; i2+=mc)
-      {
-        const Index actual_mc = (std::min)(i2+mc,rows)-i2;
-        pack_lhs(blockA, &lhs(i2, k2), lhsStride, actual_kc, actual_mc);
-
-        gebp_kernel(res+i2, resStride, blockA, blockB, actual_mc, actual_kc, cols, alpha);
-      }
-    }
-  }
-
-} // end namespace internal
-
-/***************************************************************************
-* Wrapper to product_selfadjoint_matrix
-***************************************************************************/
-
-namespace internal {
-template<typename Lhs, int LhsMode, typename Rhs, int RhsMode>
-struct traits<SelfadjointProductMatrix<Lhs,LhsMode,false,Rhs,RhsMode,false> >
-  : traits<ProductBase<SelfadjointProductMatrix<Lhs,LhsMode,false,Rhs,RhsMode,false>, Lhs, Rhs> >
-{};
-}
-
-template<typename Lhs, int LhsMode, typename Rhs, int RhsMode>
-struct SelfadjointProductMatrix<Lhs,LhsMode,false,Rhs,RhsMode,false>
-  : public ProductBase<SelfadjointProductMatrix<Lhs,LhsMode,false,Rhs,RhsMode,false>, Lhs, Rhs >
-{
-  EIGEN_PRODUCT_PUBLIC_INTERFACE(SelfadjointProductMatrix)
-
-  SelfadjointProductMatrix(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs) {}
-
-  enum {
-    LhsIsUpper = (LhsMode&(Upper|Lower))==Upper,
-    LhsIsSelfAdjoint = (LhsMode&SelfAdjoint)==SelfAdjoint,
-    RhsIsUpper = (RhsMode&(Upper|Lower))==Upper,
-    RhsIsSelfAdjoint = (RhsMode&SelfAdjoint)==SelfAdjoint
-  };
-
-  template<typename Dest> void scaleAndAddTo(Dest& dst, const Scalar& alpha) const
-  {
-    eigen_assert(dst.rows()==m_lhs.rows() && dst.cols()==m_rhs.cols());
-
-    typename internal::add_const_on_value_type<ActualLhsType>::type lhs = LhsBlasTraits::extract(m_lhs);
-    typename internal::add_const_on_value_type<ActualRhsType>::type rhs = RhsBlasTraits::extract(m_rhs);
-
-    Scalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(m_lhs)
-                               * RhsBlasTraits::extractScalarFactor(m_rhs);
-
-    internal::product_selfadjoint_matrix<Scalar, Index,
-      EIGEN_LOGICAL_XOR(LhsIsUpper,
-                        internal::traits<Lhs>::Flags &RowMajorBit) ? RowMajor : ColMajor, LhsIsSelfAdjoint,
-      NumTraits<Scalar>::IsComplex && EIGEN_LOGICAL_XOR(LhsIsUpper,bool(LhsBlasTraits::NeedToConjugate)),
-      EIGEN_LOGICAL_XOR(RhsIsUpper,
-                        internal::traits<Rhs>::Flags &RowMajorBit) ? RowMajor : ColMajor, RhsIsSelfAdjoint,
-      NumTraits<Scalar>::IsComplex && EIGEN_LOGICAL_XOR(RhsIsUpper,bool(RhsBlasTraits::NeedToConjugate)),
-      internal::traits<Dest>::Flags&RowMajorBit  ? RowMajor : ColMajor>
-      ::run(
-        lhs.rows(), rhs.cols(),                 // sizes
-        &lhs.coeffRef(0,0),    lhs.outerStride(),  // lhs info
-        &rhs.coeffRef(0,0),    rhs.outerStride(),  // rhs info
-        &dst.coeffRef(0,0), dst.outerStride(),  // result info
-        actualAlpha                             // alpha
-      );
-  }
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELFADJOINT_MATRIX_MATRIX_H
diff --git a/lib/Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h b/lib/Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
deleted file mode 100644
index dfa687fe..00000000
--- a/lib/Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   Self adjoint matrix * matrix product functionality based on ?SYMM/?HEMM.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_SELFADJOINT_MATRIX_MATRIX_MKL_H
-#define EIGEN_SELFADJOINT_MATRIX_MATRIX_MKL_H
-
-namespace Eigen { 
-
-namespace internal {
-
-
-/* Optimized selfadjoint matrix * matrix (?SYMM/?HEMM) product */
-
-#define EIGEN_MKL_SYMM_L(EIGTYPE, MKLTYPE, EIGPREFIX, MKLPREFIX) \
-template <typename Index, \
-          int LhsStorageOrder, bool ConjugateLhs, \
-          int RhsStorageOrder, bool ConjugateRhs> \
-struct product_selfadjoint_matrix<EIGTYPE,Index,LhsStorageOrder,true,ConjugateLhs,RhsStorageOrder,false,ConjugateRhs,ColMajor> \
-{\
-\
-  static void run( \
-    Index rows, Index cols, \
-    const EIGTYPE* _lhs, Index lhsStride, \
-    const EIGTYPE* _rhs, Index rhsStride, \
-    EIGTYPE* res,        Index resStride, \
-    EIGTYPE alpha) \
-  { \
-    char side='L', uplo='L'; \
-    MKL_INT m, n, lda, ldb, ldc; \
-    const EIGTYPE *a, *b; \
-    MKLTYPE alpha_, beta_; \
-    MatrixX##EIGPREFIX b_tmp; \
-    EIGTYPE myone(1);\
-\
-/* Set transpose options */ \
-/* Set m, n, k */ \
-    m = (MKL_INT)rows;  \
-    n = (MKL_INT)cols;  \
-\
-/* Set alpha_ & beta_ */ \
-    assign_scalar_eig2mkl(alpha_, alpha); \
-    assign_scalar_eig2mkl(beta_, myone); \
-\
-/* Set lda, ldb, ldc */ \
-    lda = (MKL_INT)lhsStride; \
-    ldb = (MKL_INT)rhsStride; \
-    ldc = (MKL_INT)resStride; \
-\
-/* Set a, b, c */ \
-    if (LhsStorageOrder==RowMajor) uplo='U'; \
-    a = _lhs; \
-\
-    if (RhsStorageOrder==RowMajor) { \
-      Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > rhs(_rhs,n,m,OuterStride<>(rhsStride)); \
-      b_tmp = rhs.adjoint(); \
-      b = b_tmp.data(); \
-      ldb = b_tmp.outerStride(); \
-    } else b = _rhs; \
-\
-    MKLPREFIX##symm(&side, &uplo, &m, &n, &alpha_, (const MKLTYPE*)a, &lda, (const MKLTYPE*)b, &ldb, &beta_, (MKLTYPE*)res, &ldc); \
-\
-  } \
-};
-
-
-#define EIGEN_MKL_HEMM_L(EIGTYPE, MKLTYPE, EIGPREFIX, MKLPREFIX) \
-template <typename Index, \
-          int LhsStorageOrder, bool ConjugateLhs, \
-          int RhsStorageOrder, bool ConjugateRhs> \
-struct product_selfadjoint_matrix<EIGTYPE,Index,LhsStorageOrder,true,ConjugateLhs,RhsStorageOrder,false,ConjugateRhs,ColMajor> \
-{\
-  static void run( \
-    Index rows, Index cols, \
-    const EIGTYPE* _lhs, Index lhsStride, \
-    const EIGTYPE* _rhs, Index rhsStride, \
-    EIGTYPE* res,        Index resStride, \
-    EIGTYPE alpha) \
-  { \
-    char side='L', uplo='L'; \
-    MKL_INT m, n, lda, ldb, ldc; \
-    const EIGTYPE *a, *b; \
-    MKLTYPE alpha_, beta_; \
-    MatrixX##EIGPREFIX b_tmp; \
-    Matrix<EIGTYPE, Dynamic, Dynamic, LhsStorageOrder> a_tmp; \
-    EIGTYPE myone(1); \
-\
-/* Set transpose options */ \
-/* Set m, n, k */ \
-    m = (MKL_INT)rows; \
-    n = (MKL_INT)cols; \
-\
-/* Set alpha_ & beta_ */ \
-    assign_scalar_eig2mkl(alpha_, alpha); \
-    assign_scalar_eig2mkl(beta_, myone); \
-\
-/* Set lda, ldb, ldc */ \
-    lda = (MKL_INT)lhsStride; \
-    ldb = (MKL_INT)rhsStride; \
-    ldc = (MKL_INT)resStride; \
-\
-/* Set a, b, c */ \
-    if (((LhsStorageOrder==ColMajor) && ConjugateLhs) || ((LhsStorageOrder==RowMajor) && (!ConjugateLhs))) { \
-      Map<const Matrix<EIGTYPE, Dynamic, Dynamic, LhsStorageOrder>, 0, OuterStride<> > lhs(_lhs,m,m,OuterStride<>(lhsStride)); \
-      a_tmp = lhs.conjugate(); \
-      a = a_tmp.data(); \
-      lda = a_tmp.outerStride(); \
-    } else a = _lhs; \
-    if (LhsStorageOrder==RowMajor) uplo='U'; \
-\
-    if (RhsStorageOrder==ColMajor && (!ConjugateRhs)) { \
-       b = _rhs; } \
-    else { \
-      if (RhsStorageOrder==ColMajor && ConjugateRhs) { \
-        Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > rhs(_rhs,m,n,OuterStride<>(rhsStride)); \
-        b_tmp = rhs.conjugate(); \
-      } else \
-      if (ConjugateRhs) { \
-        Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > rhs(_rhs,n,m,OuterStride<>(rhsStride)); \
-        b_tmp = rhs.adjoint(); \
-      } else { \
-        Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > rhs(_rhs,n,m,OuterStride<>(rhsStride)); \
-        b_tmp = rhs.transpose(); \
-      } \
-      b = b_tmp.data(); \
-      ldb = b_tmp.outerStride(); \
-    } \
-\
-    MKLPREFIX##hemm(&side, &uplo, &m, &n, &alpha_, (const MKLTYPE*)a, &lda, (const MKLTYPE*)b, &ldb, &beta_, (MKLTYPE*)res, &ldc); \
-\
-  } \
-};
-
-EIGEN_MKL_SYMM_L(double, double, d, d)
-EIGEN_MKL_SYMM_L(float, float, f, s)
-EIGEN_MKL_HEMM_L(dcomplex, MKL_Complex16, cd, z)
-EIGEN_MKL_HEMM_L(scomplex, MKL_Complex8, cf, c)
-
-
-/* Optimized matrix * selfadjoint matrix (?SYMM/?HEMM) product */
-
-#define EIGEN_MKL_SYMM_R(EIGTYPE, MKLTYPE, EIGPREFIX, MKLPREFIX) \
-template <typename Index, \
-          int LhsStorageOrder, bool ConjugateLhs, \
-          int RhsStorageOrder, bool ConjugateRhs> \
-struct product_selfadjoint_matrix<EIGTYPE,Index,LhsStorageOrder,false,ConjugateLhs,RhsStorageOrder,true,ConjugateRhs,ColMajor> \
-{\
-\
-  static void run( \
-    Index rows, Index cols, \
-    const EIGTYPE* _lhs, Index lhsStride, \
-    const EIGTYPE* _rhs, Index rhsStride, \
-    EIGTYPE* res,        Index resStride, \
-    EIGTYPE alpha) \
-  { \
-    char side='R', uplo='L'; \
-    MKL_INT m, n, lda, ldb, ldc; \
-    const EIGTYPE *a, *b; \
-    MKLTYPE alpha_, beta_; \
-    MatrixX##EIGPREFIX b_tmp; \
-    EIGTYPE myone(1);\
-\
-/* Set m, n, k */ \
-    m = (MKL_INT)rows;  \
-    n = (MKL_INT)cols;  \
-\
-/* Set alpha_ & beta_ */ \
-    assign_scalar_eig2mkl(alpha_, alpha); \
-    assign_scalar_eig2mkl(beta_, myone); \
-\
-/* Set lda, ldb, ldc */ \
-    lda = (MKL_INT)rhsStride; \
-    ldb = (MKL_INT)lhsStride; \
-    ldc = (MKL_INT)resStride; \
-\
-/* Set a, b, c */ \
-    if (RhsStorageOrder==RowMajor) uplo='U'; \
-    a = _rhs; \
-\
-    if (LhsStorageOrder==RowMajor) { \
-      Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > lhs(_lhs,n,m,OuterStride<>(rhsStride)); \
-      b_tmp = lhs.adjoint(); \
-      b = b_tmp.data(); \
-      ldb = b_tmp.outerStride(); \
-    } else b = _lhs; \
-\
-    MKLPREFIX##symm(&side, &uplo, &m, &n, &alpha_, (const MKLTYPE*)a, &lda, (const MKLTYPE*)b, &ldb, &beta_, (MKLTYPE*)res, &ldc); \
-\
-  } \
-};
-
-
-#define EIGEN_MKL_HEMM_R(EIGTYPE, MKLTYPE, EIGPREFIX, MKLPREFIX) \
-template <typename Index, \
-          int LhsStorageOrder, bool ConjugateLhs, \
-          int RhsStorageOrder, bool ConjugateRhs> \
-struct product_selfadjoint_matrix<EIGTYPE,Index,LhsStorageOrder,false,ConjugateLhs,RhsStorageOrder,true,ConjugateRhs,ColMajor> \
-{\
-  static void run( \
-    Index rows, Index cols, \
-    const EIGTYPE* _lhs, Index lhsStride, \
-    const EIGTYPE* _rhs, Index rhsStride, \
-    EIGTYPE* res,        Index resStride, \
-    EIGTYPE alpha) \
-  { \
-    char side='R', uplo='L'; \
-    MKL_INT m, n, lda, ldb, ldc; \
-    const EIGTYPE *a, *b; \
-    MKLTYPE alpha_, beta_; \
-    MatrixX##EIGPREFIX b_tmp; \
-    Matrix<EIGTYPE, Dynamic, Dynamic, RhsStorageOrder> a_tmp; \
-    EIGTYPE myone(1); \
-\
-/* Set m, n, k */ \
-    m = (MKL_INT)rows; \
-    n = (MKL_INT)cols; \
-\
-/* Set alpha_ & beta_ */ \
-    assign_scalar_eig2mkl(alpha_, alpha); \
-    assign_scalar_eig2mkl(beta_, myone); \
-\
-/* Set lda, ldb, ldc */ \
-    lda = (MKL_INT)rhsStride; \
-    ldb = (MKL_INT)lhsStride; \
-    ldc = (MKL_INT)resStride; \
-\
-/* Set a, b, c */ \
-    if (((RhsStorageOrder==ColMajor) && ConjugateRhs) || ((RhsStorageOrder==RowMajor) && (!ConjugateRhs))) { \
-      Map<const Matrix<EIGTYPE, Dynamic, Dynamic, RhsStorageOrder>, 0, OuterStride<> > rhs(_rhs,n,n,OuterStride<>(rhsStride)); \
-      a_tmp = rhs.conjugate(); \
-      a = a_tmp.data(); \
-      lda = a_tmp.outerStride(); \
-    } else a = _rhs; \
-    if (RhsStorageOrder==RowMajor) uplo='U'; \
-\
-    if (LhsStorageOrder==ColMajor && (!ConjugateLhs)) { \
-       b = _lhs; } \
-    else { \
-      if (LhsStorageOrder==ColMajor && ConjugateLhs) { \
-        Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > lhs(_lhs,m,n,OuterStride<>(lhsStride)); \
-        b_tmp = lhs.conjugate(); \
-      } else \
-      if (ConjugateLhs) { \
-        Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > lhs(_lhs,n,m,OuterStride<>(lhsStride)); \
-        b_tmp = lhs.adjoint(); \
-      } else { \
-        Map<const MatrixX##EIGPREFIX, 0, OuterStride<> > lhs(_lhs,n,m,OuterStride<>(lhsStride)); \
-        b_tmp = lhs.transpose(); \
-      } \
-      b = b_tmp.data(); \
-      ldb = b_tmp.outerStride(); \
-    } \
-\
-    MKLPREFIX##hemm(&side, &uplo, &m, &n, &alpha_, (const MKLTYPE*)a, &lda, (const MKLTYPE*)b, &ldb, &beta_, (MKLTYPE*)res, &ldc); \
-  } \
-};
-
-EIGEN_MKL_SYMM_R(double, double, d, d)
-EIGEN_MKL_SYMM_R(float, float, f, s)
-EIGEN_MKL_HEMM_R(dcomplex, MKL_Complex16, cd, z)
-EIGEN_MKL_HEMM_R(scomplex, MKL_Complex8, cf, c)
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELFADJOINT_MATRIX_MATRIX_MKL_H
diff --git a/lib/Eigen/src/Core/products/SelfadjointMatrixVector.h b/lib/Eigen/src/Core/products/SelfadjointMatrixVector.h
deleted file mode 100644
index f698f67f..00000000
--- a/lib/Eigen/src/Core/products/SelfadjointMatrixVector.h
+++ /dev/null
@@ -1,281 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SELFADJOINT_MATRIX_VECTOR_H
-#define EIGEN_SELFADJOINT_MATRIX_VECTOR_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/* Optimized selfadjoint matrix * vector product:
- * This algorithm processes 2 columns at onces that allows to both reduce
- * the number of load/stores of the result by a factor 2 and to reduce
- * the instruction dependency.
- */
-
-template<typename Scalar, typename Index, int StorageOrder, int UpLo, bool ConjugateLhs, bool ConjugateRhs, int Version=Specialized>
-struct selfadjoint_matrix_vector_product;
-
-template<typename Scalar, typename Index, int StorageOrder, int UpLo, bool ConjugateLhs, bool ConjugateRhs, int Version>
-struct selfadjoint_matrix_vector_product
-
-{
-static EIGEN_DONT_INLINE void run(
-  Index size,
-  const Scalar*  lhs, Index lhsStride,
-  const Scalar* _rhs, Index rhsIncr,
-  Scalar* res,
-  Scalar alpha);
-};
-
-template<typename Scalar, typename Index, int StorageOrder, int UpLo, bool ConjugateLhs, bool ConjugateRhs, int Version>
-EIGEN_DONT_INLINE void selfadjoint_matrix_vector_product<Scalar,Index,StorageOrder,UpLo,ConjugateLhs,ConjugateRhs,Version>::run(
-  Index size,
-  const Scalar*  lhs, Index lhsStride,
-  const Scalar* _rhs, Index rhsIncr,
-  Scalar* res,
-  Scalar alpha)
-{
-  typedef typename packet_traits<Scalar>::type Packet;
-  const Index PacketSize = sizeof(Packet)/sizeof(Scalar);
-
-  enum {
-    IsRowMajor = StorageOrder==RowMajor ? 1 : 0,
-    IsLower = UpLo == Lower ? 1 : 0,
-    FirstTriangular = IsRowMajor == IsLower
-  };
-
-  conj_helper<Scalar,Scalar,NumTraits<Scalar>::IsComplex && EIGEN_LOGICAL_XOR(ConjugateLhs,  IsRowMajor), ConjugateRhs> cj0;
-  conj_helper<Scalar,Scalar,NumTraits<Scalar>::IsComplex && EIGEN_LOGICAL_XOR(ConjugateLhs, !IsRowMajor), ConjugateRhs> cj1;
-  conj_helper<Scalar,Scalar,NumTraits<Scalar>::IsComplex, ConjugateRhs> cjd;
-
-  conj_helper<Packet,Packet,NumTraits<Scalar>::IsComplex && EIGEN_LOGICAL_XOR(ConjugateLhs,  IsRowMajor), ConjugateRhs> pcj0;
-  conj_helper<Packet,Packet,NumTraits<Scalar>::IsComplex && EIGEN_LOGICAL_XOR(ConjugateLhs, !IsRowMajor), ConjugateRhs> pcj1;
-
-  Scalar cjAlpha = ConjugateRhs ? numext::conj(alpha) : alpha;
-
-  // FIXME this copy is now handled outside product_selfadjoint_vector, so it could probably be removed.
-  // if the rhs is not sequentially stored in memory we copy it to a temporary buffer,
-  // this is because we need to extract packets
-  ei_declare_aligned_stack_constructed_variable(Scalar,rhs,size,rhsIncr==1 ? const_cast<Scalar*>(_rhs) : 0);  
-  if (rhsIncr!=1)
-  {
-    const Scalar* it = _rhs;
-    for (Index i=0; i<size; ++i, it+=rhsIncr)
-      rhs[i] = *it;
-  }
-
-  Index bound = (std::max)(Index(0),size-8) & 0xfffffffe;
-  if (FirstTriangular)
-    bound = size - bound;
-
-  for (Index j=FirstTriangular ? bound : 0;
-       j<(FirstTriangular ? size : bound);j+=2)
-  {
-    const Scalar* EIGEN_RESTRICT A0 = lhs + j*lhsStride;
-    const Scalar* EIGEN_RESTRICT A1 = lhs + (j+1)*lhsStride;
-
-    Scalar t0 = cjAlpha * rhs[j];
-    Packet ptmp0 = pset1<Packet>(t0);
-    Scalar t1 = cjAlpha * rhs[j+1];
-    Packet ptmp1 = pset1<Packet>(t1);
-
-    Scalar t2(0);
-    Packet ptmp2 = pset1<Packet>(t2);
-    Scalar t3(0);
-    Packet ptmp3 = pset1<Packet>(t3);
-
-    size_t starti = FirstTriangular ? 0 : j+2;
-    size_t endi   = FirstTriangular ? j : size;
-    size_t alignedStart = (starti) + internal::first_aligned(&res[starti], endi-starti);
-    size_t alignedEnd = alignedStart + ((endi-alignedStart)/(PacketSize))*(PacketSize);
-
-    // TODO make sure this product is a real * complex and that the rhs is properly conjugated if needed
-    res[j]   += cjd.pmul(numext::real(A0[j]), t0);
-    res[j+1] += cjd.pmul(numext::real(A1[j+1]), t1);
-    if(FirstTriangular)
-    {
-      res[j]   += cj0.pmul(A1[j],   t1);
-      t3       += cj1.pmul(A1[j],   rhs[j]);
-    }
-    else
-    {
-      res[j+1] += cj0.pmul(A0[j+1],t0);
-      t2 += cj1.pmul(A0[j+1], rhs[j+1]);
-    }
-
-    for (size_t i=starti; i<alignedStart; ++i)
-    {
-      res[i] += t0 * A0[i] + t1 * A1[i];
-      t2 += numext::conj(A0[i]) * rhs[i];
-      t3 += numext::conj(A1[i]) * rhs[i];
-    }
-    // Yes this an optimization for gcc 4.3 and 4.4 (=> huge speed up)
-    // gcc 4.2 does this optimization automatically.
-    const Scalar* EIGEN_RESTRICT a0It  = A0  + alignedStart;
-    const Scalar* EIGEN_RESTRICT a1It  = A1  + alignedStart;
-    const Scalar* EIGEN_RESTRICT rhsIt = rhs + alignedStart;
-          Scalar* EIGEN_RESTRICT resIt = res + alignedStart;
-    for (size_t i=alignedStart; i<alignedEnd; i+=PacketSize)
-    {
-      Packet A0i = ploadu<Packet>(a0It);  a0It  += PacketSize;
-      Packet A1i = ploadu<Packet>(a1It);  a1It  += PacketSize;
-      Packet Bi  = ploadu<Packet>(rhsIt); rhsIt += PacketSize; // FIXME should be aligned in most cases
-      Packet Xi  = pload <Packet>(resIt);
-
-      Xi    = pcj0.pmadd(A0i,ptmp0, pcj0.pmadd(A1i,ptmp1,Xi));
-      ptmp2 = pcj1.pmadd(A0i,  Bi, ptmp2);
-      ptmp3 = pcj1.pmadd(A1i,  Bi, ptmp3);
-      pstore(resIt,Xi); resIt += PacketSize;
-    }
-    for (size_t i=alignedEnd; i<endi; i++)
-    {
-      res[i] += cj0.pmul(A0[i], t0) + cj0.pmul(A1[i],t1);
-      t2 += cj1.pmul(A0[i], rhs[i]);
-      t3 += cj1.pmul(A1[i], rhs[i]);
-    }
-
-    res[j]   += alpha * (t2 + predux(ptmp2));
-    res[j+1] += alpha * (t3 + predux(ptmp3));
-  }
-  for (Index j=FirstTriangular ? 0 : bound;j<(FirstTriangular ? bound : size);j++)
-  {
-    const Scalar* EIGEN_RESTRICT A0 = lhs + j*lhsStride;
-
-    Scalar t1 = cjAlpha * rhs[j];
-    Scalar t2(0);
-    // TODO make sure this product is a real * complex and that the rhs is properly conjugated if needed
-    res[j] += cjd.pmul(numext::real(A0[j]), t1);
-    for (Index i=FirstTriangular ? 0 : j+1; i<(FirstTriangular ? j : size); i++)
-    {
-      res[i] += cj0.pmul(A0[i], t1);
-      t2 += cj1.pmul(A0[i], rhs[i]);
-    }
-    res[j] += alpha * t2;
-  }
-}
-
-} // end namespace internal 
-
-/***************************************************************************
-* Wrapper to product_selfadjoint_vector
-***************************************************************************/
-
-namespace internal {
-template<typename Lhs, int LhsMode, typename Rhs>
-struct traits<SelfadjointProductMatrix<Lhs,LhsMode,false,Rhs,0,true> >
-  : traits<ProductBase<SelfadjointProductMatrix<Lhs,LhsMode,false,Rhs,0,true>, Lhs, Rhs> >
-{};
-}
-
-template<typename Lhs, int LhsMode, typename Rhs>
-struct SelfadjointProductMatrix<Lhs,LhsMode,false,Rhs,0,true>
-  : public ProductBase<SelfadjointProductMatrix<Lhs,LhsMode,false,Rhs,0,true>, Lhs, Rhs >
-{
-  EIGEN_PRODUCT_PUBLIC_INTERFACE(SelfadjointProductMatrix)
-
-  enum {
-    LhsUpLo = LhsMode&(Upper|Lower)
-  };
-
-  SelfadjointProductMatrix(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs) {}
-
-  template<typename Dest> void scaleAndAddTo(Dest& dest, const Scalar& alpha) const
-  {
-    typedef typename Dest::Scalar ResScalar;
-    typedef typename Base::RhsScalar RhsScalar;
-    typedef Map<Matrix<ResScalar,Dynamic,1>, Aligned> MappedDest;
-    
-    eigen_assert(dest.rows()==m_lhs.rows() && dest.cols()==m_rhs.cols());
-
-    typename internal::add_const_on_value_type<ActualLhsType>::type lhs = LhsBlasTraits::extract(m_lhs);
-    typename internal::add_const_on_value_type<ActualRhsType>::type rhs = RhsBlasTraits::extract(m_rhs);
-
-    Scalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(m_lhs)
-                               * RhsBlasTraits::extractScalarFactor(m_rhs);
-
-    enum {
-      EvalToDest = (Dest::InnerStrideAtCompileTime==1),
-      UseRhs = (_ActualRhsType::InnerStrideAtCompileTime==1)
-    };
-    
-    internal::gemv_static_vector_if<ResScalar,Dest::SizeAtCompileTime,Dest::MaxSizeAtCompileTime,!EvalToDest> static_dest;
-    internal::gemv_static_vector_if<RhsScalar,_ActualRhsType::SizeAtCompileTime,_ActualRhsType::MaxSizeAtCompileTime,!UseRhs> static_rhs;
-
-    ei_declare_aligned_stack_constructed_variable(ResScalar,actualDestPtr,dest.size(),
-                                                  EvalToDest ? dest.data() : static_dest.data());
-                                                  
-    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,rhs.size(),
-        UseRhs ? const_cast<RhsScalar*>(rhs.data()) : static_rhs.data());
-    
-    if(!EvalToDest)
-    {
-      #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      int size = dest.size();
-      EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      #endif
-      MappedDest(actualDestPtr, dest.size()) = dest;
-    }
-      
-    if(!UseRhs)
-    {
-      #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      int size = rhs.size();
-      EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      #endif
-      Map<typename _ActualRhsType::PlainObject>(actualRhsPtr, rhs.size()) = rhs;
-    }
-      
-      
-    internal::selfadjoint_matrix_vector_product<Scalar, Index, (internal::traits<_ActualLhsType>::Flags&RowMajorBit) ? RowMajor : ColMajor, int(LhsUpLo), bool(LhsBlasTraits::NeedToConjugate), bool(RhsBlasTraits::NeedToConjugate)>::run
-      (
-        lhs.rows(),                             // size
-        &lhs.coeffRef(0,0),  lhs.outerStride(), // lhs info
-        actualRhsPtr, 1,                        // rhs info
-        actualDestPtr,                          // result info
-        actualAlpha                             // scale factor
-      );
-    
-    if(!EvalToDest)
-      dest = MappedDest(actualDestPtr, dest.size());
-  }
-};
-
-namespace internal {
-template<typename Lhs, typename Rhs, int RhsMode>
-struct traits<SelfadjointProductMatrix<Lhs,0,true,Rhs,RhsMode,false> >
-  : traits<ProductBase<SelfadjointProductMatrix<Lhs,0,true,Rhs,RhsMode,false>, Lhs, Rhs> >
-{};
-}
-
-template<typename Lhs, typename Rhs, int RhsMode>
-struct SelfadjointProductMatrix<Lhs,0,true,Rhs,RhsMode,false>
-  : public ProductBase<SelfadjointProductMatrix<Lhs,0,true,Rhs,RhsMode,false>, Lhs, Rhs >
-{
-  EIGEN_PRODUCT_PUBLIC_INTERFACE(SelfadjointProductMatrix)
-
-  enum {
-    RhsUpLo = RhsMode&(Upper|Lower)
-  };
-
-  SelfadjointProductMatrix(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs) {}
-
-  template<typename Dest> void scaleAndAddTo(Dest& dest, const Scalar& alpha) const
-  {
-    // let's simply transpose the product
-    Transpose<Dest> destT(dest);
-    SelfadjointProductMatrix<Transpose<const Rhs>, int(RhsUpLo)==Upper ? Lower : Upper, false,
-                             Transpose<const Lhs>, 0, true>(m_rhs.transpose(), m_lhs.transpose()).scaleAndAddTo(destT, alpha);
-  }
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELFADJOINT_MATRIX_VECTOR_H
diff --git a/lib/Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h b/lib/Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
deleted file mode 100644
index 86684b66..00000000
--- a/lib/Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   Selfadjoint matrix-vector product functionality based on ?SYMV/HEMV.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_SELFADJOINT_MATRIX_VECTOR_MKL_H
-#define EIGEN_SELFADJOINT_MATRIX_VECTOR_MKL_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/**********************************************************************
-* This file implements selfadjoint matrix-vector multiplication using BLAS
-**********************************************************************/
-
-// symv/hemv specialization
-
-template<typename Scalar, typename Index, int StorageOrder, int UpLo, bool ConjugateLhs, bool ConjugateRhs>
-struct selfadjoint_matrix_vector_product_symv :
-  selfadjoint_matrix_vector_product<Scalar,Index,StorageOrder,UpLo,ConjugateLhs,ConjugateRhs,BuiltIn> {};
-
-#define EIGEN_MKL_SYMV_SPECIALIZE(Scalar) \
-template<typename Index, int StorageOrder, int UpLo, bool ConjugateLhs, bool ConjugateRhs> \
-struct selfadjoint_matrix_vector_product<Scalar,Index,StorageOrder,UpLo,ConjugateLhs,ConjugateRhs,Specialized> { \
-static void run( \
-  Index size, const Scalar*  lhs, Index lhsStride, \
-  const Scalar* _rhs, Index rhsIncr, Scalar* res, Scalar alpha) { \
-    enum {\
-      IsColMajor = StorageOrder==ColMajor \
-    }; \
-    if (IsColMajor == ConjugateLhs) {\
-      selfadjoint_matrix_vector_product<Scalar,Index,StorageOrder,UpLo,ConjugateLhs,ConjugateRhs,BuiltIn>::run( \
-        size, lhs, lhsStride, _rhs, rhsIncr, res, alpha);  \
-    } else {\
-      selfadjoint_matrix_vector_product_symv<Scalar,Index,StorageOrder,UpLo,ConjugateLhs,ConjugateRhs>::run( \
-        size, lhs, lhsStride, _rhs, rhsIncr, res, alpha);  \
-    }\
-  } \
-}; \
-
-EIGEN_MKL_SYMV_SPECIALIZE(double)
-EIGEN_MKL_SYMV_SPECIALIZE(float)
-EIGEN_MKL_SYMV_SPECIALIZE(dcomplex)
-EIGEN_MKL_SYMV_SPECIALIZE(scomplex)
-
-#define EIGEN_MKL_SYMV_SPECIALIZATION(EIGTYPE,MKLTYPE,MKLFUNC) \
-template<typename Index, int StorageOrder, int UpLo, bool ConjugateLhs, bool ConjugateRhs> \
-struct selfadjoint_matrix_vector_product_symv<EIGTYPE,Index,StorageOrder,UpLo,ConjugateLhs,ConjugateRhs> \
-{ \
-typedef Matrix<EIGTYPE,Dynamic,1,ColMajor> SYMVVector;\
-\
-static void run( \
-Index size, const EIGTYPE*  lhs, Index lhsStride, \
-const EIGTYPE* _rhs, Index rhsIncr, EIGTYPE* res, EIGTYPE alpha) \
-{ \
-  enum {\
-    IsRowMajor = StorageOrder==RowMajor ? 1 : 0, \
-    IsLower = UpLo == Lower ? 1 : 0 \
-  }; \
-  MKL_INT n=size, lda=lhsStride, incx=rhsIncr, incy=1; \
-  MKLTYPE alpha_, beta_; \
-  const EIGTYPE *x_ptr, myone(1); \
-  char uplo=(IsRowMajor) ? (IsLower ? 'U' : 'L') : (IsLower ? 'L' : 'U'); \
-  assign_scalar_eig2mkl(alpha_, alpha); \
-  assign_scalar_eig2mkl(beta_, myone); \
-  SYMVVector x_tmp; \
-  if (ConjugateRhs) { \
-    Map<const SYMVVector, 0, InnerStride<> > map_x(_rhs,size,1,InnerStride<>(incx)); \
-    x_tmp=map_x.conjugate(); \
-    x_ptr=x_tmp.data(); \
-    incx=1; \
-  } else x_ptr=_rhs; \
-  MKLFUNC(&uplo, &n, &alpha_, (const MKLTYPE*)lhs, &lda, (const MKLTYPE*)x_ptr, &incx, &beta_, (MKLTYPE*)res, &incy); \
-}\
-};
-
-EIGEN_MKL_SYMV_SPECIALIZATION(double,   double,        dsymv)
-EIGEN_MKL_SYMV_SPECIALIZATION(float,    float,         ssymv)
-EIGEN_MKL_SYMV_SPECIALIZATION(dcomplex, MKL_Complex16, zhemv)
-EIGEN_MKL_SYMV_SPECIALIZATION(scomplex, MKL_Complex8,  chemv)
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELFADJOINT_MATRIX_VECTOR_MKL_H
diff --git a/lib/Eigen/src/Core/products/SelfadjointProduct.h b/lib/Eigen/src/Core/products/SelfadjointProduct.h
deleted file mode 100644
index 6ca4ae6c..00000000
--- a/lib/Eigen/src/Core/products/SelfadjointProduct.h
+++ /dev/null
@@ -1,123 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SELFADJOINT_PRODUCT_H
-#define EIGEN_SELFADJOINT_PRODUCT_H
-
-/**********************************************************************
-* This file implements a self adjoint product: C += A A^T updating only
-* half of the selfadjoint matrix C.
-* It corresponds to the level 3 SYRK and level 2 SYR Blas routines.
-**********************************************************************/
-
-namespace Eigen { 
-
-
-template<typename Scalar, typename Index, int UpLo, bool ConjLhs, bool ConjRhs>
-struct selfadjoint_rank1_update<Scalar,Index,ColMajor,UpLo,ConjLhs,ConjRhs>
-{
-  static void run(Index size, Scalar* mat, Index stride, const Scalar* vecX, const Scalar* vecY, const Scalar& alpha)
-  {
-    internal::conj_if<ConjRhs> cj;
-    typedef Map<const Matrix<Scalar,Dynamic,1> > OtherMap;
-    typedef typename internal::conditional<ConjLhs,typename OtherMap::ConjugateReturnType,const OtherMap&>::type ConjLhsType;
-    for (Index i=0; i<size; ++i)
-    {
-      Map<Matrix<Scalar,Dynamic,1> >(mat+stride*i+(UpLo==Lower ? i : 0), (UpLo==Lower ? size-i : (i+1)))
-          += (alpha * cj(vecY[i])) * ConjLhsType(OtherMap(vecX+(UpLo==Lower ? i : 0),UpLo==Lower ? size-i : (i+1)));
-    }
-  }
-};
-
-template<typename Scalar, typename Index, int UpLo, bool ConjLhs, bool ConjRhs>
-struct selfadjoint_rank1_update<Scalar,Index,RowMajor,UpLo,ConjLhs,ConjRhs>
-{
-  static void run(Index size, Scalar* mat, Index stride, const Scalar* vecX, const Scalar* vecY, const Scalar& alpha)
-  {
-    selfadjoint_rank1_update<Scalar,Index,ColMajor,UpLo==Lower?Upper:Lower,ConjRhs,ConjLhs>::run(size,mat,stride,vecY,vecX,alpha);
-  }
-};
-
-template<typename MatrixType, typename OtherType, int UpLo, bool OtherIsVector = OtherType::IsVectorAtCompileTime>
-struct selfadjoint_product_selector;
-
-template<typename MatrixType, typename OtherType, int UpLo>
-struct selfadjoint_product_selector<MatrixType,OtherType,UpLo,true>
-{
-  static void run(MatrixType& mat, const OtherType& other, const typename MatrixType::Scalar& alpha)
-  {
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::Index Index;
-    typedef internal::blas_traits<OtherType> OtherBlasTraits;
-    typedef typename OtherBlasTraits::DirectLinearAccessType ActualOtherType;
-    typedef typename internal::remove_all<ActualOtherType>::type _ActualOtherType;
-    typename internal::add_const_on_value_type<ActualOtherType>::type actualOther = OtherBlasTraits::extract(other.derived());
-
-    Scalar actualAlpha = alpha * OtherBlasTraits::extractScalarFactor(other.derived());
-
-    enum {
-      StorageOrder = (internal::traits<MatrixType>::Flags&RowMajorBit) ? RowMajor : ColMajor,
-      UseOtherDirectly = _ActualOtherType::InnerStrideAtCompileTime==1
-    };
-    internal::gemv_static_vector_if<Scalar,OtherType::SizeAtCompileTime,OtherType::MaxSizeAtCompileTime,!UseOtherDirectly> static_other;
-
-    ei_declare_aligned_stack_constructed_variable(Scalar, actualOtherPtr, other.size(),
-      (UseOtherDirectly ? const_cast<Scalar*>(actualOther.data()) : static_other.data()));
-      
-    if(!UseOtherDirectly)
-      Map<typename _ActualOtherType::PlainObject>(actualOtherPtr, actualOther.size()) = actualOther;
-    
-    selfadjoint_rank1_update<Scalar,Index,StorageOrder,UpLo,
-                              OtherBlasTraits::NeedToConjugate  && NumTraits<Scalar>::IsComplex,
-                            (!OtherBlasTraits::NeedToConjugate) && NumTraits<Scalar>::IsComplex>
-          ::run(other.size(), mat.data(), mat.outerStride(), actualOtherPtr, actualOtherPtr, actualAlpha);
-  }
-};
-
-template<typename MatrixType, typename OtherType, int UpLo>
-struct selfadjoint_product_selector<MatrixType,OtherType,UpLo,false>
-{
-  static void run(MatrixType& mat, const OtherType& other, const typename MatrixType::Scalar& alpha)
-  {
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::Index Index;
-    typedef internal::blas_traits<OtherType> OtherBlasTraits;
-    typedef typename OtherBlasTraits::DirectLinearAccessType ActualOtherType;
-    typedef typename internal::remove_all<ActualOtherType>::type _ActualOtherType;
-    typename internal::add_const_on_value_type<ActualOtherType>::type actualOther = OtherBlasTraits::extract(other.derived());
-
-    Scalar actualAlpha = alpha * OtherBlasTraits::extractScalarFactor(other.derived());
-
-    enum { IsRowMajor = (internal::traits<MatrixType>::Flags&RowMajorBit) ? 1 : 0 };
-
-    internal::general_matrix_matrix_triangular_product<Index,
-      Scalar, _ActualOtherType::Flags&RowMajorBit ? RowMajor : ColMajor,   OtherBlasTraits::NeedToConjugate  && NumTraits<Scalar>::IsComplex,
-      Scalar, _ActualOtherType::Flags&RowMajorBit ? ColMajor : RowMajor, (!OtherBlasTraits::NeedToConjugate) && NumTraits<Scalar>::IsComplex,
-      MatrixType::Flags&RowMajorBit ? RowMajor : ColMajor, UpLo>
-      ::run(mat.cols(), actualOther.cols(),
-            &actualOther.coeffRef(0,0), actualOther.outerStride(), &actualOther.coeffRef(0,0), actualOther.outerStride(),
-            mat.data(), mat.outerStride(), actualAlpha);
-  }
-};
-
-// high level API
-
-template<typename MatrixType, unsigned int UpLo>
-template<typename DerivedU>
-SelfAdjointView<MatrixType,UpLo>& SelfAdjointView<MatrixType,UpLo>
-::rankUpdate(const MatrixBase<DerivedU>& u, const Scalar& alpha)
-{
-  selfadjoint_product_selector<MatrixType,DerivedU,UpLo>::run(_expression().const_cast_derived(), u.derived(), alpha);
-
-  return *this;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELFADJOINT_PRODUCT_H
diff --git a/lib/Eigen/src/Core/products/SelfadjointRank2Update.h b/lib/Eigen/src/Core/products/SelfadjointRank2Update.h
deleted file mode 100644
index 8594a97c..00000000
--- a/lib/Eigen/src/Core/products/SelfadjointRank2Update.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SELFADJOINTRANK2UPTADE_H
-#define EIGEN_SELFADJOINTRANK2UPTADE_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/* Optimized selfadjoint matrix += alpha * uv' + conj(alpha)*vu'
- * It corresponds to the Level2 syr2 BLAS routine
- */
-
-template<typename Scalar, typename Index, typename UType, typename VType, int UpLo>
-struct selfadjoint_rank2_update_selector;
-
-template<typename Scalar, typename Index, typename UType, typename VType>
-struct selfadjoint_rank2_update_selector<Scalar,Index,UType,VType,Lower>
-{
-  static void run(Scalar* mat, Index stride, const UType& u, const VType& v, const Scalar& alpha)
-  {
-    const Index size = u.size();
-    for (Index i=0; i<size; ++i)
-    {
-      Map<Matrix<Scalar,Dynamic,1> >(mat+stride*i+i, size-i) +=
-                        (numext::conj(alpha) * numext::conj(u.coeff(i))) * v.tail(size-i)
-                      + (alpha * numext::conj(v.coeff(i))) * u.tail(size-i);
-    }
-  }
-};
-
-template<typename Scalar, typename Index, typename UType, typename VType>
-struct selfadjoint_rank2_update_selector<Scalar,Index,UType,VType,Upper>
-{
-  static void run(Scalar* mat, Index stride, const UType& u, const VType& v, const Scalar& alpha)
-  {
-    const Index size = u.size();
-    for (Index i=0; i<size; ++i)
-      Map<Matrix<Scalar,Dynamic,1> >(mat+stride*i, i+1) +=
-                        (numext::conj(alpha)  * numext::conj(u.coeff(i))) * v.head(i+1)
-                      + (alpha * numext::conj(v.coeff(i))) * u.head(i+1);
-  }
-};
-
-template<bool Cond, typename T> struct conj_expr_if
-  : conditional<!Cond, const T&,
-      CwiseUnaryOp<scalar_conjugate_op<typename traits<T>::Scalar>,T> > {};
-
-} // end namespace internal
-
-template<typename MatrixType, unsigned int UpLo>
-template<typename DerivedU, typename DerivedV>
-SelfAdjointView<MatrixType,UpLo>& SelfAdjointView<MatrixType,UpLo>
-::rankUpdate(const MatrixBase<DerivedU>& u, const MatrixBase<DerivedV>& v, const Scalar& alpha)
-{
-  typedef internal::blas_traits<DerivedU> UBlasTraits;
-  typedef typename UBlasTraits::DirectLinearAccessType ActualUType;
-  typedef typename internal::remove_all<ActualUType>::type _ActualUType;
-  typename internal::add_const_on_value_type<ActualUType>::type actualU = UBlasTraits::extract(u.derived());
-
-  typedef internal::blas_traits<DerivedV> VBlasTraits;
-  typedef typename VBlasTraits::DirectLinearAccessType ActualVType;
-  typedef typename internal::remove_all<ActualVType>::type _ActualVType;
-  typename internal::add_const_on_value_type<ActualVType>::type actualV = VBlasTraits::extract(v.derived());
-
-  // If MatrixType is row major, then we use the routine for lower triangular in the upper triangular case and
-  // vice versa, and take the complex conjugate of all coefficients and vector entries.
-
-  enum { IsRowMajor = (internal::traits<MatrixType>::Flags&RowMajorBit) ? 1 : 0 };
-  Scalar actualAlpha = alpha * UBlasTraits::extractScalarFactor(u.derived())
-                             * numext::conj(VBlasTraits::extractScalarFactor(v.derived()));
-  if (IsRowMajor)
-    actualAlpha = numext::conj(actualAlpha);
-
-  internal::selfadjoint_rank2_update_selector<Scalar, Index,
-    typename internal::remove_all<typename internal::conj_expr_if<IsRowMajor ^ UBlasTraits::NeedToConjugate,_ActualUType>::type>::type,
-    typename internal::remove_all<typename internal::conj_expr_if<IsRowMajor ^ VBlasTraits::NeedToConjugate,_ActualVType>::type>::type,
-    (IsRowMajor ? int(UpLo==Upper ? Lower : Upper) : UpLo)>
-    ::run(_expression().const_cast_derived().data(),_expression().outerStride(),actualU,actualV,actualAlpha);
-
-  return *this;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELFADJOINTRANK2UPTADE_H
diff --git a/lib/Eigen/src/Core/products/TriangularMatrixMatrix.h b/lib/Eigen/src/Core/products/TriangularMatrixMatrix.h
deleted file mode 100644
index 8110507b..00000000
--- a/lib/Eigen/src/Core/products/TriangularMatrixMatrix.h
+++ /dev/null
@@ -1,427 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRIANGULAR_MATRIX_MATRIX_H
-#define EIGEN_TRIANGULAR_MATRIX_MATRIX_H
-
-namespace Eigen { 
-
-namespace internal {
-
-// template<typename Scalar, int mr, int StorageOrder, bool Conjugate, int Mode>
-// struct gemm_pack_lhs_triangular
-// {
-//   Matrix<Scalar,mr,mr,
-//   void operator()(Scalar* blockA, const EIGEN_RESTRICT Scalar* _lhs, int lhsStride, int depth, int rows)
-//   {
-//     conj_if<NumTraits<Scalar>::IsComplex && Conjugate> cj;
-//     const_blas_data_mapper<Scalar, StorageOrder> lhs(_lhs,lhsStride);
-//     int count = 0;
-//     const int peeled_mc = (rows/mr)*mr;
-//     for(int i=0; i<peeled_mc; i+=mr)
-//     {
-//       for(int k=0; k<depth; k++)
-//         for(int w=0; w<mr; w++)
-//           blockA[count++] = cj(lhs(i+w, k));
-//     }
-//     for(int i=peeled_mc; i<rows; i++)
-//     {
-//       for(int k=0; k<depth; k++)
-//         blockA[count++] = cj(lhs(i, k));
-//     }
-//   }
-// };
-
-/* Optimized triangular matrix * matrix (_TRMM++) product built on top of
- * the general matrix matrix product.
- */
-template <typename Scalar, typename Index,
-          int Mode, bool LhsIsTriangular,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs,
-          int ResStorageOrder, int Version = Specialized>
-struct product_triangular_matrix_matrix;
-
-template <typename Scalar, typename Index,
-          int Mode, bool LhsIsTriangular,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs, int Version>
-struct product_triangular_matrix_matrix<Scalar,Index,Mode,LhsIsTriangular,
-                                           LhsStorageOrder,ConjugateLhs,
-                                           RhsStorageOrder,ConjugateRhs,RowMajor,Version>
-{
-  static EIGEN_STRONG_INLINE void run(
-    Index rows, Index cols, Index depth,
-    const Scalar* lhs, Index lhsStride,
-    const Scalar* rhs, Index rhsStride,
-    Scalar* res,       Index resStride,
-    const Scalar& alpha, level3_blocking<Scalar,Scalar>& blocking)
-  {
-    product_triangular_matrix_matrix<Scalar, Index,
-      (Mode&(UnitDiag|ZeroDiag)) | ((Mode&Upper) ? Lower : Upper),
-      (!LhsIsTriangular),
-      RhsStorageOrder==RowMajor ? ColMajor : RowMajor,
-      ConjugateRhs,
-      LhsStorageOrder==RowMajor ? ColMajor : RowMajor,
-      ConjugateLhs,
-      ColMajor>
-      ::run(cols, rows, depth, rhs, rhsStride, lhs, lhsStride, res, resStride, alpha, blocking);
-  }
-};
-
-// implements col-major += alpha * op(triangular) * op(general)
-template <typename Scalar, typename Index, int Mode,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs, int Version>
-struct product_triangular_matrix_matrix<Scalar,Index,Mode,true,
-                                           LhsStorageOrder,ConjugateLhs,
-                                           RhsStorageOrder,ConjugateRhs,ColMajor,Version>
-{
-  
-  typedef gebp_traits<Scalar,Scalar> Traits;
-  enum {
-    SmallPanelWidth   = 2 * EIGEN_PLAIN_ENUM_MAX(Traits::mr,Traits::nr),
-    IsLower = (Mode&Lower) == Lower,
-    SetDiag = (Mode&(ZeroDiag|UnitDiag)) ? 0 : 1
-  };
-
-  static EIGEN_DONT_INLINE void run(
-    Index _rows, Index _cols, Index _depth,
-    const Scalar* _lhs, Index lhsStride,
-    const Scalar* _rhs, Index rhsStride,
-    Scalar* res,        Index resStride,
-    const Scalar& alpha, level3_blocking<Scalar,Scalar>& blocking);
-};
-
-template <typename Scalar, typename Index, int Mode,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs, int Version>
-EIGEN_DONT_INLINE void product_triangular_matrix_matrix<Scalar,Index,Mode,true,
-                                                        LhsStorageOrder,ConjugateLhs,
-                                                        RhsStorageOrder,ConjugateRhs,ColMajor,Version>::run(
-    Index _rows, Index _cols, Index _depth,
-    const Scalar* _lhs, Index lhsStride,
-    const Scalar* _rhs, Index rhsStride,
-    Scalar* res,        Index resStride,
-    const Scalar& alpha, level3_blocking<Scalar,Scalar>& blocking)
-  {
-    // strip zeros
-    Index diagSize  = (std::min)(_rows,_depth);
-    Index rows      = IsLower ? _rows : diagSize;
-    Index depth     = IsLower ? diagSize : _depth;
-    Index cols      = _cols;
-    
-    const_blas_data_mapper<Scalar, Index, LhsStorageOrder> lhs(_lhs,lhsStride);
-    const_blas_data_mapper<Scalar, Index, RhsStorageOrder> rhs(_rhs,rhsStride);
-
-    Index kc = blocking.kc();                   // cache block size along the K direction
-    Index mc = (std::min)(rows,blocking.mc());  // cache block size along the M direction
-
-    std::size_t sizeA = kc*mc;
-    std::size_t sizeB = kc*cols;
-    std::size_t sizeW = kc*Traits::WorkSpaceFactor;
-
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockA, sizeA, blocking.blockA());
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockB, sizeB, blocking.blockB());
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockW, sizeW, blocking.blockW());
-
-    Matrix<Scalar,SmallPanelWidth,SmallPanelWidth,LhsStorageOrder> triangularBuffer;
-    triangularBuffer.setZero();
-    if((Mode&ZeroDiag)==ZeroDiag)
-      triangularBuffer.diagonal().setZero();
-    else
-      triangularBuffer.diagonal().setOnes();
-
-    gebp_kernel<Scalar, Scalar, Index, Traits::mr, Traits::nr, ConjugateLhs, ConjugateRhs> gebp_kernel;
-    gemm_pack_lhs<Scalar, Index, Traits::mr, Traits::LhsProgress, LhsStorageOrder> pack_lhs;
-    gemm_pack_rhs<Scalar, Index, Traits::nr,RhsStorageOrder> pack_rhs;
-
-    for(Index k2=IsLower ? depth : 0;
-        IsLower ? k2>0 : k2<depth;
-        IsLower ? k2-=kc : k2+=kc)
-    {
-      Index actual_kc = (std::min)(IsLower ? k2 : depth-k2, kc);
-      Index actual_k2 = IsLower ? k2-actual_kc : k2;
-
-      // align blocks with the end of the triangular part for trapezoidal lhs
-      if((!IsLower)&&(k2<rows)&&(k2+actual_kc>rows))
-      {
-        actual_kc = rows-k2;
-        k2 = k2+actual_kc-kc;
-      }
-
-      pack_rhs(blockB, &rhs(actual_k2,0), rhsStride, actual_kc, cols);
-
-      // the selected lhs's panel has to be split in three different parts:
-      //  1 - the part which is zero => skip it
-      //  2 - the diagonal block => special kernel
-      //  3 - the dense panel below (lower case) or above (upper case) the diagonal block => GEPP
-
-      // the block diagonal, if any:
-      if(IsLower || actual_k2<rows)
-      {
-        // for each small vertical panels of lhs
-        for (Index k1=0; k1<actual_kc; k1+=SmallPanelWidth)
-        {
-          Index actualPanelWidth = std::min<Index>(actual_kc-k1, SmallPanelWidth);
-          Index lengthTarget = IsLower ? actual_kc-k1-actualPanelWidth : k1;
-          Index startBlock   = actual_k2+k1;
-          Index blockBOffset = k1;
-
-          // => GEBP with the micro triangular block
-          // The trick is to pack this micro block while filling the opposite triangular part with zeros.
-          // To this end we do an extra triangular copy to a small temporary buffer
-          for (Index k=0;k<actualPanelWidth;++k)
-          {
-            if (SetDiag)
-              triangularBuffer.coeffRef(k,k) = lhs(startBlock+k,startBlock+k);
-            for (Index i=IsLower ? k+1 : 0; IsLower ? i<actualPanelWidth : i<k; ++i)
-              triangularBuffer.coeffRef(i,k) = lhs(startBlock+i,startBlock+k);
-          }
-          pack_lhs(blockA, triangularBuffer.data(), triangularBuffer.outerStride(), actualPanelWidth, actualPanelWidth);
-
-          gebp_kernel(res+startBlock, resStride, blockA, blockB, actualPanelWidth, actualPanelWidth, cols, alpha,
-                      actualPanelWidth, actual_kc, 0, blockBOffset, blockW);
-
-          // GEBP with remaining micro panel
-          if (lengthTarget>0)
-          {
-            Index startTarget  = IsLower ? actual_k2+k1+actualPanelWidth : actual_k2;
-
-            pack_lhs(blockA, &lhs(startTarget,startBlock), lhsStride, actualPanelWidth, lengthTarget);
-
-            gebp_kernel(res+startTarget, resStride, blockA, blockB, lengthTarget, actualPanelWidth, cols, alpha,
-                        actualPanelWidth, actual_kc, 0, blockBOffset, blockW);
-          }
-        }
-      }
-      // the part below (lower case) or above (upper case) the diagonal => GEPP
-      {
-        Index start = IsLower ? k2 : 0;
-        Index end   = IsLower ? rows : (std::min)(actual_k2,rows);
-        for(Index i2=start; i2<end; i2+=mc)
-        {
-          const Index actual_mc = (std::min)(i2+mc,end)-i2;
-          gemm_pack_lhs<Scalar, Index, Traits::mr,Traits::LhsProgress, LhsStorageOrder,false>()
-            (blockA, &lhs(i2, actual_k2), lhsStride, actual_kc, actual_mc);
-
-          gebp_kernel(res+i2, resStride, blockA, blockB, actual_mc, actual_kc, cols, alpha, -1, -1, 0, 0, blockW);
-        }
-      }
-    }
-  }
-
-// implements col-major += alpha * op(general) * op(triangular)
-template <typename Scalar, typename Index, int Mode,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs, int Version>
-struct product_triangular_matrix_matrix<Scalar,Index,Mode,false,
-                                        LhsStorageOrder,ConjugateLhs,
-                                        RhsStorageOrder,ConjugateRhs,ColMajor,Version>
-{
-  typedef gebp_traits<Scalar,Scalar> Traits;
-  enum {
-    SmallPanelWidth   = EIGEN_PLAIN_ENUM_MAX(Traits::mr,Traits::nr),
-    IsLower = (Mode&Lower) == Lower,
-    SetDiag = (Mode&(ZeroDiag|UnitDiag)) ? 0 : 1
-  };
-
-  static EIGEN_DONT_INLINE void run(
-    Index _rows, Index _cols, Index _depth,
-    const Scalar* _lhs, Index lhsStride,
-    const Scalar* _rhs, Index rhsStride,
-    Scalar* res,        Index resStride,
-    const Scalar& alpha, level3_blocking<Scalar,Scalar>& blocking);
-};
-
-template <typename Scalar, typename Index, int Mode,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs, int Version>
-EIGEN_DONT_INLINE void product_triangular_matrix_matrix<Scalar,Index,Mode,false,
-                                                        LhsStorageOrder,ConjugateLhs,
-                                                        RhsStorageOrder,ConjugateRhs,ColMajor,Version>::run(
-    Index _rows, Index _cols, Index _depth,
-    const Scalar* _lhs, Index lhsStride,
-    const Scalar* _rhs, Index rhsStride,
-    Scalar* res,        Index resStride,
-    const Scalar& alpha, level3_blocking<Scalar,Scalar>& blocking)
-  {
-    // strip zeros
-    Index diagSize  = (std::min)(_cols,_depth);
-    Index rows      = _rows;
-    Index depth     = IsLower ? _depth : diagSize;
-    Index cols      = IsLower ? diagSize : _cols;
-    
-    const_blas_data_mapper<Scalar, Index, LhsStorageOrder> lhs(_lhs,lhsStride);
-    const_blas_data_mapper<Scalar, Index, RhsStorageOrder> rhs(_rhs,rhsStride);
-
-    Index kc = blocking.kc();                   // cache block size along the K direction
-    Index mc = (std::min)(rows,blocking.mc());  // cache block size along the M direction
-
-    std::size_t sizeA = kc*mc;
-    std::size_t sizeB = kc*cols;
-    std::size_t sizeW = kc*Traits::WorkSpaceFactor;
-
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockA, sizeA, blocking.blockA());
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockB, sizeB, blocking.blockB());
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockW, sizeW, blocking.blockW());
-
-    Matrix<Scalar,SmallPanelWidth,SmallPanelWidth,RhsStorageOrder> triangularBuffer;
-    triangularBuffer.setZero();
-    if((Mode&ZeroDiag)==ZeroDiag)
-      triangularBuffer.diagonal().setZero();
-    else
-      triangularBuffer.diagonal().setOnes();
-
-    gebp_kernel<Scalar, Scalar, Index, Traits::mr, Traits::nr, ConjugateLhs, ConjugateRhs> gebp_kernel;
-    gemm_pack_lhs<Scalar, Index, Traits::mr, Traits::LhsProgress, LhsStorageOrder> pack_lhs;
-    gemm_pack_rhs<Scalar, Index, Traits::nr,RhsStorageOrder> pack_rhs;
-    gemm_pack_rhs<Scalar, Index, Traits::nr,RhsStorageOrder,false,true> pack_rhs_panel;
-
-    for(Index k2=IsLower ? 0 : depth;
-        IsLower ? k2<depth  : k2>0;
-        IsLower ? k2+=kc   : k2-=kc)
-    {
-      Index actual_kc = (std::min)(IsLower ? depth-k2 : k2, kc);
-      Index actual_k2 = IsLower ? k2 : k2-actual_kc;
-
-      // align blocks with the end of the triangular part for trapezoidal rhs
-      if(IsLower && (k2<cols) && (actual_k2+actual_kc>cols))
-      {
-        actual_kc = cols-k2;
-        k2 = actual_k2 + actual_kc - kc;
-      }
-
-      // remaining size
-      Index rs = IsLower ? (std::min)(cols,actual_k2) : cols - k2;
-      // size of the triangular part
-      Index ts = (IsLower && actual_k2>=cols) ? 0 : actual_kc;
-
-      Scalar* geb = blockB+ts*ts;
-
-      pack_rhs(geb, &rhs(actual_k2,IsLower ? 0 : k2), rhsStride, actual_kc, rs);
-
-      // pack the triangular part of the rhs padding the unrolled blocks with zeros
-      if(ts>0)
-      {
-        for (Index j2=0; j2<actual_kc; j2+=SmallPanelWidth)
-        {
-          Index actualPanelWidth = std::min<Index>(actual_kc-j2, SmallPanelWidth);
-          Index actual_j2 = actual_k2 + j2;
-          Index panelOffset = IsLower ? j2+actualPanelWidth : 0;
-          Index panelLength = IsLower ? actual_kc-j2-actualPanelWidth : j2;
-          // general part
-          pack_rhs_panel(blockB+j2*actual_kc,
-                         &rhs(actual_k2+panelOffset, actual_j2), rhsStride,
-                         panelLength, actualPanelWidth,
-                         actual_kc, panelOffset);
-
-          // append the triangular part via a temporary buffer
-          for (Index j=0;j<actualPanelWidth;++j)
-          {
-            if (SetDiag)
-              triangularBuffer.coeffRef(j,j) = rhs(actual_j2+j,actual_j2+j);
-            for (Index k=IsLower ? j+1 : 0; IsLower ? k<actualPanelWidth : k<j; ++k)
-              triangularBuffer.coeffRef(k,j) = rhs(actual_j2+k,actual_j2+j);
-          }
-
-          pack_rhs_panel(blockB+j2*actual_kc,
-                         triangularBuffer.data(), triangularBuffer.outerStride(),
-                         actualPanelWidth, actualPanelWidth,
-                         actual_kc, j2);
-        }
-      }
-
-      for (Index i2=0; i2<rows; i2+=mc)
-      {
-        const Index actual_mc = (std::min)(mc,rows-i2);
-        pack_lhs(blockA, &lhs(i2, actual_k2), lhsStride, actual_kc, actual_mc);
-
-        // triangular kernel
-        if(ts>0)
-        {
-          for (Index j2=0; j2<actual_kc; j2+=SmallPanelWidth)
-          {
-            Index actualPanelWidth = std::min<Index>(actual_kc-j2, SmallPanelWidth);
-            Index panelLength = IsLower ? actual_kc-j2 : j2+actualPanelWidth;
-            Index blockOffset = IsLower ? j2 : 0;
-
-            gebp_kernel(res+i2+(actual_k2+j2)*resStride, resStride,
-                        blockA, blockB+j2*actual_kc,
-                        actual_mc, panelLength, actualPanelWidth,
-                        alpha,
-                        actual_kc, actual_kc,  // strides
-                        blockOffset, blockOffset,// offsets
-                        blockW); // workspace
-          }
-        }
-        gebp_kernel(res+i2+(IsLower ? 0 : k2)*resStride, resStride,
-                    blockA, geb, actual_mc, actual_kc, rs,
-                    alpha,
-                    -1, -1, 0, 0, blockW);
-      }
-    }
-  }
-
-/***************************************************************************
-* Wrapper to product_triangular_matrix_matrix
-***************************************************************************/
-
-template<int Mode, bool LhsIsTriangular, typename Lhs, typename Rhs>
-struct traits<TriangularProduct<Mode,LhsIsTriangular,Lhs,false,Rhs,false> >
-  : traits<ProductBase<TriangularProduct<Mode,LhsIsTriangular,Lhs,false,Rhs,false>, Lhs, Rhs> >
-{};
-
-} // end namespace internal
-
-template<int Mode, bool LhsIsTriangular, typename Lhs, typename Rhs>
-struct TriangularProduct<Mode,LhsIsTriangular,Lhs,false,Rhs,false>
-  : public ProductBase<TriangularProduct<Mode,LhsIsTriangular,Lhs,false,Rhs,false>, Lhs, Rhs >
-{
-  EIGEN_PRODUCT_PUBLIC_INTERFACE(TriangularProduct)
-
-  TriangularProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs) {}
-
-  template<typename Dest> void scaleAndAddTo(Dest& dst, const Scalar& alpha) const
-  {
-    typename internal::add_const_on_value_type<ActualLhsType>::type lhs = LhsBlasTraits::extract(m_lhs);
-    typename internal::add_const_on_value_type<ActualRhsType>::type rhs = RhsBlasTraits::extract(m_rhs);
-
-    Scalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(m_lhs)
-                               * RhsBlasTraits::extractScalarFactor(m_rhs);
-
-    typedef internal::gemm_blocking_space<(Dest::Flags&RowMajorBit) ? RowMajor : ColMajor,Scalar,Scalar,
-              Lhs::MaxRowsAtCompileTime, Rhs::MaxColsAtCompileTime, Lhs::MaxColsAtCompileTime,4> BlockingType;
-
-    enum { IsLower = (Mode&Lower) == Lower };
-    Index stripedRows  = ((!LhsIsTriangular) || (IsLower))  ? lhs.rows() : (std::min)(lhs.rows(),lhs.cols());
-    Index stripedCols  = ((LhsIsTriangular)  || (!IsLower)) ? rhs.cols() : (std::min)(rhs.cols(),rhs.rows());
-    Index stripedDepth = LhsIsTriangular ? ((!IsLower) ? lhs.cols() : (std::min)(lhs.cols(),lhs.rows()))
-                                         : ((IsLower)  ? rhs.rows() : (std::min)(rhs.rows(),rhs.cols()));
-
-    BlockingType blocking(stripedRows, stripedCols, stripedDepth);
-
-    internal::product_triangular_matrix_matrix<Scalar, Index,
-      Mode, LhsIsTriangular,
-      (internal::traits<_ActualLhsType>::Flags&RowMajorBit) ? RowMajor : ColMajor, LhsBlasTraits::NeedToConjugate,
-      (internal::traits<_ActualRhsType>::Flags&RowMajorBit) ? RowMajor : ColMajor, RhsBlasTraits::NeedToConjugate,
-      (internal::traits<Dest          >::Flags&RowMajorBit) ? RowMajor : ColMajor>
-      ::run(
-        stripedRows, stripedCols, stripedDepth,   // sizes
-        &lhs.coeffRef(0,0),    lhs.outerStride(), // lhs info
-        &rhs.coeffRef(0,0),    rhs.outerStride(), // rhs info
-        &dst.coeffRef(0,0), dst.outerStride(),    // result info
-        actualAlpha, blocking
-      );
-  }
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRIANGULAR_MATRIX_MATRIX_H
diff --git a/lib/Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h b/lib/Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
deleted file mode 100644
index 4cc56a42..00000000
--- a/lib/Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   Triangular matrix * matrix product functionality based on ?TRMM.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_TRIANGULAR_MATRIX_MATRIX_MKL_H
-#define EIGEN_TRIANGULAR_MATRIX_MATRIX_MKL_H
-
-namespace Eigen { 
-
-namespace internal {
-
-
-template <typename Scalar, typename Index,
-          int Mode, bool LhsIsTriangular,
-          int LhsStorageOrder, bool ConjugateLhs,
-          int RhsStorageOrder, bool ConjugateRhs,
-          int ResStorageOrder>
-struct product_triangular_matrix_matrix_trmm :
-       product_triangular_matrix_matrix<Scalar,Index,Mode,
-          LhsIsTriangular,LhsStorageOrder,ConjugateLhs,
-          RhsStorageOrder, ConjugateRhs, ResStorageOrder, BuiltIn> {};
-
-
-// try to go to BLAS specialization
-#define EIGEN_MKL_TRMM_SPECIALIZE(Scalar, LhsIsTriangular) \
-template <typename Index, int Mode, \
-          int LhsStorageOrder, bool ConjugateLhs, \
-          int RhsStorageOrder, bool ConjugateRhs> \
-struct product_triangular_matrix_matrix<Scalar,Index, Mode, LhsIsTriangular, \
-           LhsStorageOrder,ConjugateLhs, RhsStorageOrder,ConjugateRhs,ColMajor,Specialized> { \
-  static inline void run(Index _rows, Index _cols, Index _depth, const Scalar* _lhs, Index lhsStride,\
-    const Scalar* _rhs, Index rhsStride, Scalar* res, Index resStride, Scalar alpha, level3_blocking<Scalar,Scalar>& blocking) { \
-      product_triangular_matrix_matrix_trmm<Scalar,Index,Mode, \
-        LhsIsTriangular,LhsStorageOrder,ConjugateLhs, \
-        RhsStorageOrder, ConjugateRhs, ColMajor>::run( \
-        _rows, _cols, _depth, _lhs, lhsStride, _rhs, rhsStride, res, resStride, alpha, blocking); \
-  } \
-};
-
-EIGEN_MKL_TRMM_SPECIALIZE(double, true)
-EIGEN_MKL_TRMM_SPECIALIZE(double, false)
-EIGEN_MKL_TRMM_SPECIALIZE(dcomplex, true)
-EIGEN_MKL_TRMM_SPECIALIZE(dcomplex, false)
-EIGEN_MKL_TRMM_SPECIALIZE(float, true)
-EIGEN_MKL_TRMM_SPECIALIZE(float, false)
-EIGEN_MKL_TRMM_SPECIALIZE(scomplex, true)
-EIGEN_MKL_TRMM_SPECIALIZE(scomplex, false)
-
-// implements col-major += alpha * op(triangular) * op(general)
-#define EIGEN_MKL_TRMM_L(EIGTYPE, MKLTYPE, EIGPREFIX, MKLPREFIX) \
-template <typename Index, int Mode, \
-          int LhsStorageOrder, bool ConjugateLhs, \
-          int RhsStorageOrder, bool ConjugateRhs> \
-struct product_triangular_matrix_matrix_trmm<EIGTYPE,Index,Mode,true, \
-         LhsStorageOrder,ConjugateLhs,RhsStorageOrder,ConjugateRhs,ColMajor> \
-{ \
-  enum { \
-    IsLower = (Mode&Lower) == Lower, \
-    SetDiag = (Mode&(ZeroDiag|UnitDiag)) ? 0 : 1, \
-    IsUnitDiag  = (Mode&UnitDiag) ? 1 : 0, \
-    IsZeroDiag  = (Mode&ZeroDiag) ? 1 : 0, \
-    LowUp = IsLower ? Lower : Upper, \
-    conjA = ((LhsStorageOrder==ColMajor) && ConjugateLhs) ? 1 : 0 \
-  }; \
-\
-  static void run( \
-    Index _rows, Index _cols, Index _depth, \
-    const EIGTYPE* _lhs, Index lhsStride, \
-    const EIGTYPE* _rhs, Index rhsStride, \
-    EIGTYPE* res,        Index resStride, \
-    EIGTYPE alpha, level3_blocking<EIGTYPE,EIGTYPE>& blocking) \
-  { \
-   Index diagSize  = (std::min)(_rows,_depth); \
-   Index rows      = IsLower ? _rows : diagSize; \
-   Index depth     = IsLower ? diagSize : _depth; \
-   Index cols      = _cols; \
-\
-   typedef Matrix<EIGTYPE, Dynamic, Dynamic, LhsStorageOrder> MatrixLhs; \
-   typedef Matrix<EIGTYPE, Dynamic, Dynamic, RhsStorageOrder> MatrixRhs; \
-\
-/* Non-square case - doesn't fit to MKL ?TRMM. Fall to default triangular product or call MKL ?GEMM*/ \
-   if (rows != depth) { \
-\
-     int nthr = mkl_domain_get_max_threads(EIGEN_MKL_DOMAIN_BLAS); \
-\
-     if (((nthr==1) && (((std::max)(rows,depth)-diagSize)/(double)diagSize < 0.5))) { \
-     /* Most likely no benefit to call TRMM or GEMM from MKL*/ \
-       product_triangular_matrix_matrix<EIGTYPE,Index,Mode,true, \
-       LhsStorageOrder,ConjugateLhs, RhsStorageOrder, ConjugateRhs, ColMajor, BuiltIn>::run( \
-           _rows, _cols, _depth, _lhs, lhsStride, _rhs, rhsStride, res, resStride, alpha, blocking); \
-     /*std::cout << "TRMM_L: A is not square! Go to Eigen TRMM implementation!\n";*/ \
-     } else { \
-     /* Make sense to call GEMM */ \
-       Map<const MatrixLhs, 0, OuterStride<> > lhsMap(_lhs,rows,depth,OuterStride<>(lhsStride)); \
-       MatrixLhs aa_tmp=lhsMap.template triangularView<Mode>(); \
-       MKL_INT aStride = aa_tmp.outerStride(); \
-       gemm_blocking_space<ColMajor,EIGTYPE,EIGTYPE,Dynamic,Dynamic,Dynamic> gemm_blocking(_rows,_cols,_depth); \
-       general_matrix_matrix_product<Index,EIGTYPE,LhsStorageOrder,ConjugateLhs,EIGTYPE,RhsStorageOrder,ConjugateRhs,ColMajor>::run( \
-       rows, cols, depth, aa_tmp.data(), aStride, _rhs, rhsStride, res, resStride, alpha, gemm_blocking, 0); \
-\
-     /*std::cout << "TRMM_L: A is not square! Go to MKL GEMM implementation! " << nthr<<" \n";*/ \
-     } \
-     return; \
-   } \
-   char side = 'L', transa, uplo, diag = 'N'; \
-   EIGTYPE *b; \
-   const EIGTYPE *a; \
-   MKL_INT m, n, lda, ldb; \
-   MKLTYPE alpha_; \
-\
-/* Set alpha_*/ \
-   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(alpha_, alpha); \
-\
-/* Set m, n */ \
-   m = (MKL_INT)diagSize; \
-   n = (MKL_INT)cols; \
-\
-/* Set trans */ \
-   transa = (LhsStorageOrder==RowMajor) ? ((ConjugateLhs) ? 'C' : 'T') : 'N'; \
-\
-/* Set b, ldb */ \
-   Map<const MatrixRhs, 0, OuterStride<> > rhs(_rhs,depth,cols,OuterStride<>(rhsStride)); \
-   MatrixX##EIGPREFIX b_tmp; \
-\
-   if (ConjugateRhs) b_tmp = rhs.conjugate(); else b_tmp = rhs; \
-   b = b_tmp.data(); \
-   ldb = b_tmp.outerStride(); \
-\
-/* Set uplo */ \
-   uplo = IsLower ? 'L' : 'U'; \
-   if (LhsStorageOrder==RowMajor) uplo = (uplo == 'L') ? 'U' : 'L'; \
-/* Set a, lda */ \
-   Map<const MatrixLhs, 0, OuterStride<> > lhs(_lhs,rows,depth,OuterStride<>(lhsStride)); \
-   MatrixLhs a_tmp; \
-\
-   if ((conjA!=0) || (SetDiag==0)) { \
-     if (conjA) a_tmp = lhs.conjugate(); else a_tmp = lhs; \
-     if (IsZeroDiag) \
-       a_tmp.diagonal().setZero(); \
-     else if (IsUnitDiag) \
-       a_tmp.diagonal().setOnes();\
-     a = a_tmp.data(); \
-     lda = a_tmp.outerStride(); \
-   } else { \
-     a = _lhs; \
-     lda = lhsStride; \
-   } \
-   /*std::cout << "TRMM_L: A is square! Go to MKL TRMM implementation! \n";*/ \
-/* call ?trmm*/ \
-   MKLPREFIX##trmm(&side, &uplo, &transa, &diag, &m, &n, &alpha_, (const MKLTYPE*)a, &lda, (MKLTYPE*)b, &ldb); \
-\
-/* Add op(a_triangular)*b into res*/ \
-   Map<MatrixX##EIGPREFIX, 0, OuterStride<> > res_tmp(res,rows,cols,OuterStride<>(resStride)); \
-   res_tmp=res_tmp+b_tmp; \
-  } \
-};
-
-EIGEN_MKL_TRMM_L(double, double, d, d)
-EIGEN_MKL_TRMM_L(dcomplex, MKL_Complex16, cd, z)
-EIGEN_MKL_TRMM_L(float, float, f, s)
-EIGEN_MKL_TRMM_L(scomplex, MKL_Complex8, cf, c)
-
-// implements col-major += alpha * op(general) * op(triangular)
-#define EIGEN_MKL_TRMM_R(EIGTYPE, MKLTYPE, EIGPREFIX, MKLPREFIX) \
-template <typename Index, int Mode, \
-          int LhsStorageOrder, bool ConjugateLhs, \
-          int RhsStorageOrder, bool ConjugateRhs> \
-struct product_triangular_matrix_matrix_trmm<EIGTYPE,Index,Mode,false, \
-         LhsStorageOrder,ConjugateLhs,RhsStorageOrder,ConjugateRhs,ColMajor> \
-{ \
-  enum { \
-    IsLower = (Mode&Lower) == Lower, \
-    SetDiag = (Mode&(ZeroDiag|UnitDiag)) ? 0 : 1, \
-    IsUnitDiag  = (Mode&UnitDiag) ? 1 : 0, \
-    IsZeroDiag  = (Mode&ZeroDiag) ? 1 : 0, \
-    LowUp = IsLower ? Lower : Upper, \
-    conjA = ((RhsStorageOrder==ColMajor) && ConjugateRhs) ? 1 : 0 \
-  }; \
-\
-  static void run( \
-    Index _rows, Index _cols, Index _depth, \
-    const EIGTYPE* _lhs, Index lhsStride, \
-    const EIGTYPE* _rhs, Index rhsStride, \
-    EIGTYPE* res,        Index resStride, \
-    EIGTYPE alpha, level3_blocking<EIGTYPE,EIGTYPE>& blocking) \
-  { \
-   Index diagSize  = (std::min)(_cols,_depth); \
-   Index rows      = _rows; \
-   Index depth     = IsLower ? _depth : diagSize; \
-   Index cols      = IsLower ? diagSize : _cols; \
-\
-   typedef Matrix<EIGTYPE, Dynamic, Dynamic, LhsStorageOrder> MatrixLhs; \
-   typedef Matrix<EIGTYPE, Dynamic, Dynamic, RhsStorageOrder> MatrixRhs; \
-\
-/* Non-square case - doesn't fit to MKL ?TRMM. Fall to default triangular product or call MKL ?GEMM*/ \
-   if (cols != depth) { \
-\
-     int nthr = mkl_domain_get_max_threads(EIGEN_MKL_DOMAIN_BLAS); \
-\
-     if ((nthr==1) && (((std::max)(cols,depth)-diagSize)/(double)diagSize < 0.5)) { \
-     /* Most likely no benefit to call TRMM or GEMM from MKL*/ \
-       product_triangular_matrix_matrix<EIGTYPE,Index,Mode,false, \
-       LhsStorageOrder,ConjugateLhs, RhsStorageOrder, ConjugateRhs, ColMajor, BuiltIn>::run( \
-           _rows, _cols, _depth, _lhs, lhsStride, _rhs, rhsStride, res, resStride, alpha, blocking); \
-       /*std::cout << "TRMM_R: A is not square! Go to Eigen TRMM implementation!\n";*/ \
-     } else { \
-     /* Make sense to call GEMM */ \
-       Map<const MatrixRhs, 0, OuterStride<> > rhsMap(_rhs,depth,cols, OuterStride<>(rhsStride)); \
-       MatrixRhs aa_tmp=rhsMap.template triangularView<Mode>(); \
-       MKL_INT aStride = aa_tmp.outerStride(); \
-       gemm_blocking_space<ColMajor,EIGTYPE,EIGTYPE,Dynamic,Dynamic,Dynamic> gemm_blocking(_rows,_cols,_depth); \
-       general_matrix_matrix_product<Index,EIGTYPE,LhsStorageOrder,ConjugateLhs,EIGTYPE,RhsStorageOrder,ConjugateRhs,ColMajor>::run( \
-       rows, cols, depth, _lhs, lhsStride, aa_tmp.data(), aStride, res, resStride, alpha, gemm_blocking, 0); \
-\
-     /*std::cout << "TRMM_R: A is not square! Go to MKL GEMM implementation! " << nthr<<" \n";*/ \
-     } \
-     return; \
-   } \
-   char side = 'R', transa, uplo, diag = 'N'; \
-   EIGTYPE *b; \
-   const EIGTYPE *a; \
-   MKL_INT m, n, lda, ldb; \
-   MKLTYPE alpha_; \
-\
-/* Set alpha_*/ \
-   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(alpha_, alpha); \
-\
-/* Set m, n */ \
-   m = (MKL_INT)rows; \
-   n = (MKL_INT)diagSize; \
-\
-/* Set trans */ \
-   transa = (RhsStorageOrder==RowMajor) ? ((ConjugateRhs) ? 'C' : 'T') : 'N'; \
-\
-/* Set b, ldb */ \
-   Map<const MatrixLhs, 0, OuterStride<> > lhs(_lhs,rows,depth,OuterStride<>(lhsStride)); \
-   MatrixX##EIGPREFIX b_tmp; \
-\
-   if (ConjugateLhs) b_tmp = lhs.conjugate(); else b_tmp = lhs; \
-   b = b_tmp.data(); \
-   ldb = b_tmp.outerStride(); \
-\
-/* Set uplo */ \
-   uplo = IsLower ? 'L' : 'U'; \
-   if (RhsStorageOrder==RowMajor) uplo = (uplo == 'L') ? 'U' : 'L'; \
-/* Set a, lda */ \
-   Map<const MatrixRhs, 0, OuterStride<> > rhs(_rhs,depth,cols, OuterStride<>(rhsStride)); \
-   MatrixRhs a_tmp; \
-\
-   if ((conjA!=0) || (SetDiag==0)) { \
-     if (conjA) a_tmp = rhs.conjugate(); else a_tmp = rhs; \
-     if (IsZeroDiag) \
-       a_tmp.diagonal().setZero(); \
-     else if (IsUnitDiag) \
-       a_tmp.diagonal().setOnes();\
-     a = a_tmp.data(); \
-     lda = a_tmp.outerStride(); \
-   } else { \
-     a = _rhs; \
-     lda = rhsStride; \
-   } \
-   /*std::cout << "TRMM_R: A is square! Go to MKL TRMM implementation! \n";*/ \
-/* call ?trmm*/ \
-   MKLPREFIX##trmm(&side, &uplo, &transa, &diag, &m, &n, &alpha_, (const MKLTYPE*)a, &lda, (MKLTYPE*)b, &ldb); \
-\
-/* Add op(a_triangular)*b into res*/ \
-   Map<MatrixX##EIGPREFIX, 0, OuterStride<> > res_tmp(res,rows,cols,OuterStride<>(resStride)); \
-   res_tmp=res_tmp+b_tmp; \
-  } \
-};
-
-EIGEN_MKL_TRMM_R(double, double, d, d)
-EIGEN_MKL_TRMM_R(dcomplex, MKL_Complex16, cd, z)
-EIGEN_MKL_TRMM_R(float, float, f, s)
-EIGEN_MKL_TRMM_R(scomplex, MKL_Complex8, cf, c)
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRIANGULAR_MATRIX_MATRIX_MKL_H
diff --git a/lib/Eigen/src/Core/products/TriangularMatrixVector.h b/lib/Eigen/src/Core/products/TriangularMatrixVector.h
deleted file mode 100644
index 6117d5a8..00000000
--- a/lib/Eigen/src/Core/products/TriangularMatrixVector.h
+++ /dev/null
@@ -1,348 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRIANGULARMATRIXVECTOR_H
-#define EIGEN_TRIANGULARMATRIXVECTOR_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Index, int Mode, typename LhsScalar, bool ConjLhs, typename RhsScalar, bool ConjRhs, int StorageOrder, int Version=Specialized>
-struct triangular_matrix_vector_product;
-
-template<typename Index, int Mode, typename LhsScalar, bool ConjLhs, typename RhsScalar, bool ConjRhs, int Version>
-struct triangular_matrix_vector_product<Index,Mode,LhsScalar,ConjLhs,RhsScalar,ConjRhs,ColMajor,Version>
-{
-  typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-  enum {
-    IsLower = ((Mode&Lower)==Lower),
-    HasUnitDiag = (Mode & UnitDiag)==UnitDiag,
-    HasZeroDiag = (Mode & ZeroDiag)==ZeroDiag
-  };
-  static EIGEN_DONT_INLINE  void run(Index _rows, Index _cols, const LhsScalar* _lhs, Index lhsStride,
-                                     const RhsScalar* _rhs, Index rhsIncr, ResScalar* _res, Index resIncr, const ResScalar& alpha);
-};
-
-template<typename Index, int Mode, typename LhsScalar, bool ConjLhs, typename RhsScalar, bool ConjRhs, int Version>
-EIGEN_DONT_INLINE void triangular_matrix_vector_product<Index,Mode,LhsScalar,ConjLhs,RhsScalar,ConjRhs,ColMajor,Version>
-  ::run(Index _rows, Index _cols, const LhsScalar* _lhs, Index lhsStride,
-        const RhsScalar* _rhs, Index rhsIncr, ResScalar* _res, Index resIncr, const ResScalar& alpha)
-  {
-    static const Index PanelWidth = EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH;
-    Index size = (std::min)(_rows,_cols);
-    Index rows = IsLower ? _rows : (std::min)(_rows,_cols);
-    Index cols = IsLower ? (std::min)(_rows,_cols) : _cols;
-
-    typedef Map<const Matrix<LhsScalar,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> > LhsMap;
-    const LhsMap lhs(_lhs,rows,cols,OuterStride<>(lhsStride));
-    typename conj_expr_if<ConjLhs,LhsMap>::type cjLhs(lhs);
-    
-    typedef Map<const Matrix<RhsScalar,Dynamic,1>, 0, InnerStride<> > RhsMap;
-    const RhsMap rhs(_rhs,cols,InnerStride<>(rhsIncr));
-    typename conj_expr_if<ConjRhs,RhsMap>::type cjRhs(rhs);
-
-    typedef Map<Matrix<ResScalar,Dynamic,1> > ResMap;
-    ResMap res(_res,rows);
-
-    for (Index pi=0; pi<size; pi+=PanelWidth)
-    {
-      Index actualPanelWidth = (std::min)(PanelWidth, size-pi);
-      for (Index k=0; k<actualPanelWidth; ++k)
-      {
-        Index i = pi + k;
-        Index s = IsLower ? ((HasUnitDiag||HasZeroDiag) ? i+1 : i ) : pi;
-        Index r = IsLower ? actualPanelWidth-k : k+1;
-        if ((!(HasUnitDiag||HasZeroDiag)) || (--r)>0)
-          res.segment(s,r) += (alpha * cjRhs.coeff(i)) * cjLhs.col(i).segment(s,r);
-        if (HasUnitDiag)
-          res.coeffRef(i) += alpha * cjRhs.coeff(i);
-      }
-      Index r = IsLower ? rows - pi - actualPanelWidth : pi;
-      if (r>0)
-      {
-        Index s = IsLower ? pi+actualPanelWidth : 0;
-        general_matrix_vector_product<Index,LhsScalar,ColMajor,ConjLhs,RhsScalar,ConjRhs,BuiltIn>::run(
-            r, actualPanelWidth,
-            &lhs.coeffRef(s,pi), lhsStride,
-            &rhs.coeffRef(pi), rhsIncr,
-            &res.coeffRef(s), resIncr, alpha);
-      }
-    }
-    if((!IsLower) && cols>size)
-    {
-      general_matrix_vector_product<Index,LhsScalar,ColMajor,ConjLhs,RhsScalar,ConjRhs>::run(
-          rows, cols-size,
-          &lhs.coeffRef(0,size), lhsStride,
-          &rhs.coeffRef(size), rhsIncr,
-          _res, resIncr, alpha);
-    }
-  }
-
-template<typename Index, int Mode, typename LhsScalar, bool ConjLhs, typename RhsScalar, bool ConjRhs,int Version>
-struct triangular_matrix_vector_product<Index,Mode,LhsScalar,ConjLhs,RhsScalar,ConjRhs,RowMajor,Version>
-{
-  typedef typename scalar_product_traits<LhsScalar, RhsScalar>::ReturnType ResScalar;
-  enum {
-    IsLower = ((Mode&Lower)==Lower),
-    HasUnitDiag = (Mode & UnitDiag)==UnitDiag,
-    HasZeroDiag = (Mode & ZeroDiag)==ZeroDiag
-  };
-  static EIGEN_DONT_INLINE void run(Index _rows, Index _cols, const LhsScalar* _lhs, Index lhsStride,
-                                    const RhsScalar* _rhs, Index rhsIncr, ResScalar* _res, Index resIncr, const ResScalar& alpha);
-};
-
-template<typename Index, int Mode, typename LhsScalar, bool ConjLhs, typename RhsScalar, bool ConjRhs,int Version>
-EIGEN_DONT_INLINE void triangular_matrix_vector_product<Index,Mode,LhsScalar,ConjLhs,RhsScalar,ConjRhs,RowMajor,Version>
-  ::run(Index _rows, Index _cols, const LhsScalar* _lhs, Index lhsStride,
-        const RhsScalar* _rhs, Index rhsIncr, ResScalar* _res, Index resIncr, const ResScalar& alpha)
-  {
-    static const Index PanelWidth = EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH;
-    Index diagSize = (std::min)(_rows,_cols);
-    Index rows = IsLower ? _rows : diagSize;
-    Index cols = IsLower ? diagSize : _cols;
-
-    typedef Map<const Matrix<LhsScalar,Dynamic,Dynamic,RowMajor>, 0, OuterStride<> > LhsMap;
-    const LhsMap lhs(_lhs,rows,cols,OuterStride<>(lhsStride));
-    typename conj_expr_if<ConjLhs,LhsMap>::type cjLhs(lhs);
-
-    typedef Map<const Matrix<RhsScalar,Dynamic,1> > RhsMap;
-    const RhsMap rhs(_rhs,cols);
-    typename conj_expr_if<ConjRhs,RhsMap>::type cjRhs(rhs);
-
-    typedef Map<Matrix<ResScalar,Dynamic,1>, 0, InnerStride<> > ResMap;
-    ResMap res(_res,rows,InnerStride<>(resIncr));
-    
-    for (Index pi=0; pi<diagSize; pi+=PanelWidth)
-    {
-      Index actualPanelWidth = (std::min)(PanelWidth, diagSize-pi);
-      for (Index k=0; k<actualPanelWidth; ++k)
-      {
-        Index i = pi + k;
-        Index s = IsLower ? pi  : ((HasUnitDiag||HasZeroDiag) ? i+1 : i);
-        Index r = IsLower ? k+1 : actualPanelWidth-k;
-        if ((!(HasUnitDiag||HasZeroDiag)) || (--r)>0)
-          res.coeffRef(i) += alpha * (cjLhs.row(i).segment(s,r).cwiseProduct(cjRhs.segment(s,r).transpose())).sum();
-        if (HasUnitDiag)
-          res.coeffRef(i) += alpha * cjRhs.coeff(i);
-      }
-      Index r = IsLower ? pi : cols - pi - actualPanelWidth;
-      if (r>0)
-      {
-        Index s = IsLower ? 0 : pi + actualPanelWidth;
-        general_matrix_vector_product<Index,LhsScalar,RowMajor,ConjLhs,RhsScalar,ConjRhs,BuiltIn>::run(
-            actualPanelWidth, r,
-            &lhs.coeffRef(pi,s), lhsStride,
-            &rhs.coeffRef(s), rhsIncr,
-            &res.coeffRef(pi), resIncr, alpha);
-      }
-    }
-    if(IsLower && rows>diagSize)
-    {
-      general_matrix_vector_product<Index,LhsScalar,RowMajor,ConjLhs,RhsScalar,ConjRhs>::run(
-            rows-diagSize, cols,
-            &lhs.coeffRef(diagSize,0), lhsStride,
-            &rhs.coeffRef(0), rhsIncr,
-            &res.coeffRef(diagSize), resIncr, alpha);
-    }
-  }
-
-/***************************************************************************
-* Wrapper to product_triangular_vector
-***************************************************************************/
-
-template<int Mode, bool LhsIsTriangular, typename Lhs, typename Rhs>
-struct traits<TriangularProduct<Mode,LhsIsTriangular,Lhs,false,Rhs,true> >
- : traits<ProductBase<TriangularProduct<Mode,LhsIsTriangular,Lhs,false,Rhs,true>, Lhs, Rhs> >
-{};
-
-template<int Mode, bool LhsIsTriangular, typename Lhs, typename Rhs>
-struct traits<TriangularProduct<Mode,LhsIsTriangular,Lhs,true,Rhs,false> >
- : traits<ProductBase<TriangularProduct<Mode,LhsIsTriangular,Lhs,true,Rhs,false>, Lhs, Rhs> >
-{};
-
-
-template<int StorageOrder>
-struct trmv_selector;
-
-} // end namespace internal
-
-template<int Mode, typename Lhs, typename Rhs>
-struct TriangularProduct<Mode,true,Lhs,false,Rhs,true>
-  : public ProductBase<TriangularProduct<Mode,true,Lhs,false,Rhs,true>, Lhs, Rhs >
-{
-  EIGEN_PRODUCT_PUBLIC_INTERFACE(TriangularProduct)
-
-  TriangularProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs) {}
-
-  template<typename Dest> void scaleAndAddTo(Dest& dst, const Scalar& alpha) const
-  {
-    eigen_assert(dst.rows()==m_lhs.rows() && dst.cols()==m_rhs.cols());
-  
-    internal::trmv_selector<(int(internal::traits<Lhs>::Flags)&RowMajorBit) ? RowMajor : ColMajor>::run(*this, dst, alpha);
-  }
-};
-
-template<int Mode, typename Lhs, typename Rhs>
-struct TriangularProduct<Mode,false,Lhs,true,Rhs,false>
-  : public ProductBase<TriangularProduct<Mode,false,Lhs,true,Rhs,false>, Lhs, Rhs >
-{
-  EIGEN_PRODUCT_PUBLIC_INTERFACE(TriangularProduct)
-
-  TriangularProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs) {}
-
-  template<typename Dest> void scaleAndAddTo(Dest& dst, const Scalar& alpha) const
-  {
-    eigen_assert(dst.rows()==m_lhs.rows() && dst.cols()==m_rhs.cols());
-
-    typedef TriangularProduct<(Mode & (UnitDiag|ZeroDiag)) | ((Mode & Lower) ? Upper : Lower),true,Transpose<const Rhs>,false,Transpose<const Lhs>,true> TriangularProductTranspose;
-    Transpose<Dest> dstT(dst);
-    internal::trmv_selector<(int(internal::traits<Rhs>::Flags)&RowMajorBit) ? ColMajor : RowMajor>::run(
-      TriangularProductTranspose(m_rhs.transpose(),m_lhs.transpose()), dstT, alpha);
-  }
-};
-
-namespace internal {
-
-// TODO: find a way to factorize this piece of code with gemv_selector since the logic is exactly the same.
-  
-template<> struct trmv_selector<ColMajor>
-{
-  template<int Mode, typename Lhs, typename Rhs, typename Dest>
-  static void run(const TriangularProduct<Mode,true,Lhs,false,Rhs,true>& prod, Dest& dest, const typename TriangularProduct<Mode,true,Lhs,false,Rhs,true>::Scalar& alpha)
-  {
-    typedef TriangularProduct<Mode,true,Lhs,false,Rhs,true> ProductType;
-    typedef typename ProductType::Index Index;
-    typedef typename ProductType::LhsScalar   LhsScalar;
-    typedef typename ProductType::RhsScalar   RhsScalar;
-    typedef typename ProductType::Scalar      ResScalar;
-    typedef typename ProductType::RealScalar  RealScalar;
-    typedef typename ProductType::ActualLhsType ActualLhsType;
-    typedef typename ProductType::ActualRhsType ActualRhsType;
-    typedef typename ProductType::LhsBlasTraits LhsBlasTraits;
-    typedef typename ProductType::RhsBlasTraits RhsBlasTraits;
-    typedef Map<Matrix<ResScalar,Dynamic,1>, Aligned> MappedDest;
-
-    typename internal::add_const_on_value_type<ActualLhsType>::type actualLhs = LhsBlasTraits::extract(prod.lhs());
-    typename internal::add_const_on_value_type<ActualRhsType>::type actualRhs = RhsBlasTraits::extract(prod.rhs());
-
-    ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(prod.lhs())
-                                  * RhsBlasTraits::extractScalarFactor(prod.rhs());
-
-    enum {
-      // FIXME find a way to allow an inner stride on the result if packet_traits<Scalar>::size==1
-      // on, the other hand it is good for the cache to pack the vector anyways...
-      EvalToDestAtCompileTime = Dest::InnerStrideAtCompileTime==1,
-      ComplexByReal = (NumTraits<LhsScalar>::IsComplex) && (!NumTraits<RhsScalar>::IsComplex),
-      MightCannotUseDest = (Dest::InnerStrideAtCompileTime!=1) || ComplexByReal
-    };
-
-    gemv_static_vector_if<ResScalar,Dest::SizeAtCompileTime,Dest::MaxSizeAtCompileTime,MightCannotUseDest> static_dest;
-
-    bool alphaIsCompatible = (!ComplexByReal) || (numext::imag(actualAlpha)==RealScalar(0));
-    bool evalToDest = EvalToDestAtCompileTime && alphaIsCompatible;
-    
-    RhsScalar compatibleAlpha = get_factor<ResScalar,RhsScalar>::run(actualAlpha);
-
-    ei_declare_aligned_stack_constructed_variable(ResScalar,actualDestPtr,dest.size(),
-                                                  evalToDest ? dest.data() : static_dest.data());
-
-    if(!evalToDest)
-    {
-      #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      Index size = dest.size();
-      EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      #endif
-      if(!alphaIsCompatible)
-      {
-        MappedDest(actualDestPtr, dest.size()).setZero();
-        compatibleAlpha = RhsScalar(1);
-      }
-      else
-        MappedDest(actualDestPtr, dest.size()) = dest;
-    }
-    
-    internal::triangular_matrix_vector_product
-      <Index,Mode,
-       LhsScalar, LhsBlasTraits::NeedToConjugate,
-       RhsScalar, RhsBlasTraits::NeedToConjugate,
-       ColMajor>
-      ::run(actualLhs.rows(),actualLhs.cols(),
-            actualLhs.data(),actualLhs.outerStride(),
-            actualRhs.data(),actualRhs.innerStride(),
-            actualDestPtr,1,compatibleAlpha);
-
-    if (!evalToDest)
-    {
-      if(!alphaIsCompatible)
-        dest += actualAlpha * MappedDest(actualDestPtr, dest.size());
-      else
-        dest = MappedDest(actualDestPtr, dest.size());
-    }
-  }
-};
-
-template<> struct trmv_selector<RowMajor>
-{
-  template<int Mode, typename Lhs, typename Rhs, typename Dest>
-  static void run(const TriangularProduct<Mode,true,Lhs,false,Rhs,true>& prod, Dest& dest, const typename TriangularProduct<Mode,true,Lhs,false,Rhs,true>::Scalar& alpha)
-  {
-    typedef TriangularProduct<Mode,true,Lhs,false,Rhs,true> ProductType;
-    typedef typename ProductType::LhsScalar LhsScalar;
-    typedef typename ProductType::RhsScalar RhsScalar;
-    typedef typename ProductType::Scalar    ResScalar;
-    typedef typename ProductType::Index Index;
-    typedef typename ProductType::ActualLhsType ActualLhsType;
-    typedef typename ProductType::ActualRhsType ActualRhsType;
-    typedef typename ProductType::_ActualRhsType _ActualRhsType;
-    typedef typename ProductType::LhsBlasTraits LhsBlasTraits;
-    typedef typename ProductType::RhsBlasTraits RhsBlasTraits;
-
-    typename add_const<ActualLhsType>::type actualLhs = LhsBlasTraits::extract(prod.lhs());
-    typename add_const<ActualRhsType>::type actualRhs = RhsBlasTraits::extract(prod.rhs());
-
-    ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(prod.lhs())
-                                  * RhsBlasTraits::extractScalarFactor(prod.rhs());
-
-    enum {
-      DirectlyUseRhs = _ActualRhsType::InnerStrideAtCompileTime==1
-    };
-
-    gemv_static_vector_if<RhsScalar,_ActualRhsType::SizeAtCompileTime,_ActualRhsType::MaxSizeAtCompileTime,!DirectlyUseRhs> static_rhs;
-
-    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
-        DirectlyUseRhs ? const_cast<RhsScalar*>(actualRhs.data()) : static_rhs.data());
-
-    if(!DirectlyUseRhs)
-    {
-      #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      int size = actualRhs.size();
-      EIGEN_DENSE_STORAGE_CTOR_PLUGIN
-      #endif
-      Map<typename _ActualRhsType::PlainObject>(actualRhsPtr, actualRhs.size()) = actualRhs;
-    }
-    
-    internal::triangular_matrix_vector_product
-      <Index,Mode,
-       LhsScalar, LhsBlasTraits::NeedToConjugate,
-       RhsScalar, RhsBlasTraits::NeedToConjugate,
-       RowMajor>
-      ::run(actualLhs.rows(),actualLhs.cols(),
-            actualLhs.data(),actualLhs.outerStride(),
-            actualRhsPtr,1,
-            dest.data(),dest.innerStride(),
-            actualAlpha);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRIANGULARMATRIXVECTOR_H
diff --git a/lib/Eigen/src/Core/products/TriangularMatrixVector_MKL.h b/lib/Eigen/src/Core/products/TriangularMatrixVector_MKL.h
deleted file mode 100644
index 09f110da..00000000
--- a/lib/Eigen/src/Core/products/TriangularMatrixVector_MKL.h
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   Triangular matrix-vector product functionality based on ?TRMV.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_TRIANGULAR_MATRIX_VECTOR_MKL_H
-#define EIGEN_TRIANGULAR_MATRIX_VECTOR_MKL_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/**********************************************************************
-* This file implements triangular matrix-vector multiplication using BLAS
-**********************************************************************/
-
-// trmv/hemv specialization
-
-template<typename Index, int Mode, typename LhsScalar, bool ConjLhs, typename RhsScalar, bool ConjRhs, int StorageOrder>
-struct triangular_matrix_vector_product_trmv :
-  triangular_matrix_vector_product<Index,Mode,LhsScalar,ConjLhs,RhsScalar,ConjRhs,StorageOrder,BuiltIn> {};
-
-#define EIGEN_MKL_TRMV_SPECIALIZE(Scalar) \
-template<typename Index, int Mode, bool ConjLhs, bool ConjRhs> \
-struct triangular_matrix_vector_product<Index,Mode,Scalar,ConjLhs,Scalar,ConjRhs,ColMajor,Specialized> { \
- static void run(Index _rows, Index _cols, const Scalar* _lhs, Index lhsStride, \
-                                     const Scalar* _rhs, Index rhsIncr, Scalar* _res, Index resIncr, Scalar alpha) { \
-      triangular_matrix_vector_product_trmv<Index,Mode,Scalar,ConjLhs,Scalar,ConjRhs,ColMajor>::run( \
-        _rows, _cols, _lhs, lhsStride, _rhs, rhsIncr, _res, resIncr, alpha); \
-  } \
-}; \
-template<typename Index, int Mode, bool ConjLhs, bool ConjRhs> \
-struct triangular_matrix_vector_product<Index,Mode,Scalar,ConjLhs,Scalar,ConjRhs,RowMajor,Specialized> { \
- static void run(Index _rows, Index _cols, const Scalar* _lhs, Index lhsStride, \
-                                     const Scalar* _rhs, Index rhsIncr, Scalar* _res, Index resIncr, Scalar alpha) { \
-      triangular_matrix_vector_product_trmv<Index,Mode,Scalar,ConjLhs,Scalar,ConjRhs,RowMajor>::run( \
-        _rows, _cols, _lhs, lhsStride, _rhs, rhsIncr, _res, resIncr, alpha); \
-  } \
-};
-
-EIGEN_MKL_TRMV_SPECIALIZE(double)
-EIGEN_MKL_TRMV_SPECIALIZE(float)
-EIGEN_MKL_TRMV_SPECIALIZE(dcomplex)
-EIGEN_MKL_TRMV_SPECIALIZE(scomplex)
-
-// implements col-major: res += alpha * op(triangular) * vector
-#define EIGEN_MKL_TRMV_CM(EIGTYPE, MKLTYPE, EIGPREFIX, MKLPREFIX) \
-template<typename Index, int Mode, bool ConjLhs, bool ConjRhs> \
-struct triangular_matrix_vector_product_trmv<Index,Mode,EIGTYPE,ConjLhs,EIGTYPE,ConjRhs,ColMajor> { \
-  enum { \
-    IsLower = (Mode&Lower) == Lower, \
-    SetDiag = (Mode&(ZeroDiag|UnitDiag)) ? 0 : 1, \
-    IsUnitDiag  = (Mode&UnitDiag) ? 1 : 0, \
-    IsZeroDiag  = (Mode&ZeroDiag) ? 1 : 0, \
-    LowUp = IsLower ? Lower : Upper \
-  }; \
- static void run(Index _rows, Index _cols, const EIGTYPE* _lhs, Index lhsStride, \
-                 const EIGTYPE* _rhs, Index rhsIncr, EIGTYPE* _res, Index resIncr, EIGTYPE alpha) \
- { \
-   if (ConjLhs || IsZeroDiag) { \
-     triangular_matrix_vector_product<Index,Mode,EIGTYPE,ConjLhs,EIGTYPE,ConjRhs,ColMajor,BuiltIn>::run( \
-       _rows, _cols, _lhs, lhsStride, _rhs, rhsIncr, _res, resIncr, alpha); \
-     return; \
-   }\
-   Index size = (std::min)(_rows,_cols); \
-   Index rows = IsLower ? _rows : size; \
-   Index cols = IsLower ? size : _cols; \
-\
-   typedef VectorX##EIGPREFIX VectorRhs; \
-   EIGTYPE *x, *y;\
-\
-/* Set x*/ \
-   Map<const VectorRhs, 0, InnerStride<> > rhs(_rhs,cols,InnerStride<>(rhsIncr)); \
-   VectorRhs x_tmp; \
-   if (ConjRhs) x_tmp = rhs.conjugate(); else x_tmp = rhs; \
-   x = x_tmp.data(); \
-\
-/* Square part handling */\
-\
-   char trans, uplo, diag; \
-   MKL_INT m, n, lda, incx, incy; \
-   EIGTYPE const *a; \
-   MKLTYPE alpha_, beta_; \
-   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(alpha_, alpha); \
-   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(beta_, EIGTYPE(1)); \
-\
-/* Set m, n */ \
-   n = (MKL_INT)size; \
-   lda = lhsStride; \
-   incx = 1; \
-   incy = resIncr; \
-\
-/* Set uplo, trans and diag*/ \
-   trans = 'N'; \
-   uplo = IsLower ? 'L' : 'U'; \
-   diag = IsUnitDiag ? 'U' : 'N'; \
-\
-/* call ?TRMV*/ \
-   MKLPREFIX##trmv(&uplo, &trans, &diag, &n, (const MKLTYPE*)_lhs, &lda, (MKLTYPE*)x, &incx); \
-\
-/* Add op(a_tr)rhs into res*/ \
-   MKLPREFIX##axpy(&n, &alpha_,(const MKLTYPE*)x, &incx, (MKLTYPE*)_res, &incy); \
-/* Non-square case - doesn't fit to MKL ?TRMV. Fall to default triangular product*/ \
-   if (size<(std::max)(rows,cols)) { \
-     typedef Matrix<EIGTYPE, Dynamic, Dynamic> MatrixLhs; \
-     if (ConjRhs) x_tmp = rhs.conjugate(); else x_tmp = rhs; \
-     x = x_tmp.data(); \
-     if (size<rows) { \
-       y = _res + size*resIncr; \
-       a = _lhs + size; \
-       m = rows-size; \
-       n = size; \
-     } \
-     else { \
-       x += size; \
-       y = _res; \
-       a = _lhs + size*lda; \
-       m = size; \
-       n = cols-size; \
-     } \
-     MKLPREFIX##gemv(&trans, &m, &n, &alpha_, (const MKLTYPE*)a, &lda, (const MKLTYPE*)x, &incx, &beta_, (MKLTYPE*)y, &incy); \
-   } \
-  } \
-};
-
-EIGEN_MKL_TRMV_CM(double, double, d, d)
-EIGEN_MKL_TRMV_CM(dcomplex, MKL_Complex16, cd, z)
-EIGEN_MKL_TRMV_CM(float, float, f, s)
-EIGEN_MKL_TRMV_CM(scomplex, MKL_Complex8, cf, c)
-
-// implements row-major: res += alpha * op(triangular) * vector
-#define EIGEN_MKL_TRMV_RM(EIGTYPE, MKLTYPE, EIGPREFIX, MKLPREFIX) \
-template<typename Index, int Mode, bool ConjLhs, bool ConjRhs> \
-struct triangular_matrix_vector_product_trmv<Index,Mode,EIGTYPE,ConjLhs,EIGTYPE,ConjRhs,RowMajor> { \
-  enum { \
-    IsLower = (Mode&Lower) == Lower, \
-    SetDiag = (Mode&(ZeroDiag|UnitDiag)) ? 0 : 1, \
-    IsUnitDiag  = (Mode&UnitDiag) ? 1 : 0, \
-    IsZeroDiag  = (Mode&ZeroDiag) ? 1 : 0, \
-    LowUp = IsLower ? Lower : Upper \
-  }; \
- static void run(Index _rows, Index _cols, const EIGTYPE* _lhs, Index lhsStride, \
-                 const EIGTYPE* _rhs, Index rhsIncr, EIGTYPE* _res, Index resIncr, EIGTYPE alpha) \
- { \
-   if (IsZeroDiag) { \
-     triangular_matrix_vector_product<Index,Mode,EIGTYPE,ConjLhs,EIGTYPE,ConjRhs,RowMajor,BuiltIn>::run( \
-       _rows, _cols, _lhs, lhsStride, _rhs, rhsIncr, _res, resIncr, alpha); \
-     return; \
-   }\
-   Index size = (std::min)(_rows,_cols); \
-   Index rows = IsLower ? _rows : size; \
-   Index cols = IsLower ? size : _cols; \
-\
-   typedef VectorX##EIGPREFIX VectorRhs; \
-   EIGTYPE *x, *y;\
-\
-/* Set x*/ \
-   Map<const VectorRhs, 0, InnerStride<> > rhs(_rhs,cols,InnerStride<>(rhsIncr)); \
-   VectorRhs x_tmp; \
-   if (ConjRhs) x_tmp = rhs.conjugate(); else x_tmp = rhs; \
-   x = x_tmp.data(); \
-\
-/* Square part handling */\
-\
-   char trans, uplo, diag; \
-   MKL_INT m, n, lda, incx, incy; \
-   EIGTYPE const *a; \
-   MKLTYPE alpha_, beta_; \
-   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(alpha_, alpha); \
-   assign_scalar_eig2mkl<MKLTYPE, EIGTYPE>(beta_, EIGTYPE(1)); \
-\
-/* Set m, n */ \
-   n = (MKL_INT)size; \
-   lda = lhsStride; \
-   incx = 1; \
-   incy = resIncr; \
-\
-/* Set uplo, trans and diag*/ \
-   trans = ConjLhs ? 'C' : 'T'; \
-   uplo = IsLower ? 'U' : 'L'; \
-   diag = IsUnitDiag ? 'U' : 'N'; \
-\
-/* call ?TRMV*/ \
-   MKLPREFIX##trmv(&uplo, &trans, &diag, &n, (const MKLTYPE*)_lhs, &lda, (MKLTYPE*)x, &incx); \
-\
-/* Add op(a_tr)rhs into res*/ \
-   MKLPREFIX##axpy(&n, &alpha_,(const MKLTYPE*)x, &incx, (MKLTYPE*)_res, &incy); \
-/* Non-square case - doesn't fit to MKL ?TRMV. Fall to default triangular product*/ \
-   if (size<(std::max)(rows,cols)) { \
-     typedef Matrix<EIGTYPE, Dynamic, Dynamic> MatrixLhs; \
-     if (ConjRhs) x_tmp = rhs.conjugate(); else x_tmp = rhs; \
-     x = x_tmp.data(); \
-     if (size<rows) { \
-       y = _res + size*resIncr; \
-       a = _lhs + size*lda; \
-       m = rows-size; \
-       n = size; \
-     } \
-     else { \
-       x += size; \
-       y = _res; \
-       a = _lhs + size; \
-       m = size; \
-       n = cols-size; \
-     } \
-     MKLPREFIX##gemv(&trans, &n, &m, &alpha_, (const MKLTYPE*)a, &lda, (const MKLTYPE*)x, &incx, &beta_, (MKLTYPE*)y, &incy); \
-   } \
-  } \
-};
-
-EIGEN_MKL_TRMV_RM(double, double, d, d)
-EIGEN_MKL_TRMV_RM(dcomplex, MKL_Complex16, cd, z)
-EIGEN_MKL_TRMV_RM(float, float, f, s)
-EIGEN_MKL_TRMV_RM(scomplex, MKL_Complex8, cf, c)
-
-} // end namespase internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRIANGULAR_MATRIX_VECTOR_MKL_H
diff --git a/lib/Eigen/src/Core/products/TriangularSolverMatrix.h b/lib/Eigen/src/Core/products/TriangularSolverMatrix.h
deleted file mode 100644
index 03a23abc..00000000
--- a/lib/Eigen/src/Core/products/TriangularSolverMatrix.h
+++ /dev/null
@@ -1,332 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRIANGULAR_SOLVER_MATRIX_H
-#define EIGEN_TRIANGULAR_SOLVER_MATRIX_H
-
-namespace Eigen { 
-
-namespace internal {
-
-// if the rhs is row major, let's transpose the product
-template <typename Scalar, typename Index, int Side, int Mode, bool Conjugate, int TriStorageOrder>
-struct triangular_solve_matrix<Scalar,Index,Side,Mode,Conjugate,TriStorageOrder,RowMajor>
-{
-  static void run(
-    Index size, Index cols,
-    const Scalar*  tri, Index triStride,
-    Scalar* _other, Index otherStride,
-    level3_blocking<Scalar,Scalar>& blocking)
-  {
-    triangular_solve_matrix<
-      Scalar, Index, Side==OnTheLeft?OnTheRight:OnTheLeft,
-      (Mode&UnitDiag) | ((Mode&Upper) ? Lower : Upper),
-      NumTraits<Scalar>::IsComplex && Conjugate,
-      TriStorageOrder==RowMajor ? ColMajor : RowMajor, ColMajor>
-      ::run(size, cols, tri, triStride, _other, otherStride, blocking);
-  }
-};
-
-/* Optimized triangular solver with multiple right hand side and the triangular matrix on the left
- */
-template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder>
-struct triangular_solve_matrix<Scalar,Index,OnTheLeft,Mode,Conjugate,TriStorageOrder,ColMajor>
-{
-  static EIGEN_DONT_INLINE void run(
-    Index size, Index otherSize,
-    const Scalar* _tri, Index triStride,
-    Scalar* _other, Index otherStride,
-    level3_blocking<Scalar,Scalar>& blocking);
-};
-template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder>
-EIGEN_DONT_INLINE void triangular_solve_matrix<Scalar,Index,OnTheLeft,Mode,Conjugate,TriStorageOrder,ColMajor>::run(
-    Index size, Index otherSize,
-    const Scalar* _tri, Index triStride,
-    Scalar* _other, Index otherStride,
-    level3_blocking<Scalar,Scalar>& blocking)
-  {
-    Index cols = otherSize;
-    const_blas_data_mapper<Scalar, Index, TriStorageOrder> tri(_tri,triStride);
-    blas_data_mapper<Scalar, Index, ColMajor> other(_other,otherStride);
-
-    typedef gebp_traits<Scalar,Scalar> Traits;
-    enum {
-      SmallPanelWidth   = EIGEN_PLAIN_ENUM_MAX(Traits::mr,Traits::nr),
-      IsLower = (Mode&Lower) == Lower
-    };
-
-    Index kc = blocking.kc();                   // cache block size along the K direction
-    Index mc = (std::min)(size,blocking.mc());  // cache block size along the M direction
-
-    std::size_t sizeA = kc*mc;
-    std::size_t sizeB = kc*cols;
-    std::size_t sizeW = kc*Traits::WorkSpaceFactor;
-
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockA, sizeA, blocking.blockA());
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockB, sizeB, blocking.blockB());
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockW, sizeW, blocking.blockW());
-
-    conj_if<Conjugate> conj;
-    gebp_kernel<Scalar, Scalar, Index, Traits::mr, Traits::nr, Conjugate, false> gebp_kernel;
-    gemm_pack_lhs<Scalar, Index, Traits::mr, Traits::LhsProgress, TriStorageOrder> pack_lhs;
-    gemm_pack_rhs<Scalar, Index, Traits::nr, ColMajor, false, true> pack_rhs;
-
-    // the goal here is to subdivise the Rhs panels such that we keep some cache
-    // coherence when accessing the rhs elements
-    std::ptrdiff_t l1, l2;
-    manage_caching_sizes(GetAction, &l1, &l2);
-    Index subcols = cols>0 ? l2/(4 * sizeof(Scalar) * otherStride) : 0;
-    subcols = std::max<Index>((subcols/Traits::nr)*Traits::nr, Traits::nr);
-
-    for(Index k2=IsLower ? 0 : size;
-        IsLower ? k2<size : k2>0;
-        IsLower ? k2+=kc : k2-=kc)
-    {
-      const Index actual_kc = (std::min)(IsLower ? size-k2 : k2, kc);
-
-      // We have selected and packed a big horizontal panel R1 of rhs. Let B be the packed copy of this panel,
-      // and R2 the remaining part of rhs. The corresponding vertical panel of lhs is split into
-      // A11 (the triangular part) and A21 the remaining rectangular part.
-      // Then the high level algorithm is:
-      //  - B = R1                    => general block copy (done during the next step)
-      //  - R1 = A11^-1 B             => tricky part
-      //  - update B from the new R1  => actually this has to be performed continuously during the above step
-      //  - R2 -= A21 * B             => GEPP
-
-      // The tricky part: compute R1 = A11^-1 B while updating B from R1
-      // The idea is to split A11 into multiple small vertical panels.
-      // Each panel can be split into a small triangular part T1k which is processed without optimization,
-      // and the remaining small part T2k which is processed using gebp with appropriate block strides
-      for(Index j2=0; j2<cols; j2+=subcols)
-      {
-        Index actual_cols = (std::min)(cols-j2,subcols);
-        // for each small vertical panels [T1k^T, T2k^T]^T of lhs
-        for (Index k1=0; k1<actual_kc; k1+=SmallPanelWidth)
-        {
-          Index actualPanelWidth = std::min<Index>(actual_kc-k1, SmallPanelWidth);
-          // tr solve
-          for (Index k=0; k<actualPanelWidth; ++k)
-          {
-            // TODO write a small kernel handling this (can be shared with trsv)
-            Index i  = IsLower ? k2+k1+k : k2-k1-k-1;
-            Index rs = actualPanelWidth - k - 1; // remaining size
-            Index s  = TriStorageOrder==RowMajor ? (IsLower ? k2+k1 : i+1)
-                                                 :  IsLower ? i+1 : i-rs;
-
-            Scalar a = (Mode & UnitDiag) ? Scalar(1) : Scalar(1)/conj(tri(i,i));
-            for (Index j=j2; j<j2+actual_cols; ++j)
-            {
-              if (TriStorageOrder==RowMajor)
-              {
-                Scalar b(0);
-                const Scalar* l = &tri(i,s);
-                Scalar* r = &other(s,j);
-                for (Index i3=0; i3<k; ++i3)
-                  b += conj(l[i3]) * r[i3];
-
-                other(i,j) = (other(i,j) - b)*a;
-              }
-              else
-              {
-                Scalar b = (other(i,j) *= a);
-                Scalar* r = &other(s,j);
-                const Scalar* l = &tri(s,i);
-                for (Index i3=0;i3<rs;++i3)
-                  r[i3] -= b * conj(l[i3]);
-              }
-            }
-          }
-
-          Index lengthTarget = actual_kc-k1-actualPanelWidth;
-          Index startBlock   = IsLower ? k2+k1 : k2-k1-actualPanelWidth;
-          Index blockBOffset = IsLower ? k1 : lengthTarget;
-
-          // update the respective rows of B from other
-          pack_rhs(blockB+actual_kc*j2, &other(startBlock,j2), otherStride, actualPanelWidth, actual_cols, actual_kc, blockBOffset);
-
-          // GEBP
-          if (lengthTarget>0)
-          {
-            Index startTarget  = IsLower ? k2+k1+actualPanelWidth : k2-actual_kc;
-
-            pack_lhs(blockA, &tri(startTarget,startBlock), triStride, actualPanelWidth, lengthTarget);
-
-            gebp_kernel(&other(startTarget,j2), otherStride, blockA, blockB+actual_kc*j2, lengthTarget, actualPanelWidth, actual_cols, Scalar(-1),
-                        actualPanelWidth, actual_kc, 0, blockBOffset, blockW);
-          }
-        }
-      }
-      
-      // R2 -= A21 * B => GEPP
-      {
-        Index start = IsLower ? k2+kc : 0;
-        Index end   = IsLower ? size : k2-kc;
-        for(Index i2=start; i2<end; i2+=mc)
-        {
-          const Index actual_mc = (std::min)(mc,end-i2);
-          if (actual_mc>0)
-          {
-            pack_lhs(blockA, &tri(i2, IsLower ? k2 : k2-kc), triStride, actual_kc, actual_mc);
-
-            gebp_kernel(_other+i2, otherStride, blockA, blockB, actual_mc, actual_kc, cols, Scalar(-1), -1, -1, 0, 0, blockW);
-          }
-        }
-      }
-    }
-  }
-
-/* Optimized triangular solver with multiple left hand sides and the trinagular matrix on the right
- */
-template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder>
-struct triangular_solve_matrix<Scalar,Index,OnTheRight,Mode,Conjugate,TriStorageOrder,ColMajor>
-{
-  static EIGEN_DONT_INLINE void run(
-    Index size, Index otherSize,
-    const Scalar* _tri, Index triStride,
-    Scalar* _other, Index otherStride,
-    level3_blocking<Scalar,Scalar>& blocking);
-};
-template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder>
-EIGEN_DONT_INLINE void triangular_solve_matrix<Scalar,Index,OnTheRight,Mode,Conjugate,TriStorageOrder,ColMajor>::run(
-    Index size, Index otherSize,
-    const Scalar* _tri, Index triStride,
-    Scalar* _other, Index otherStride,
-    level3_blocking<Scalar,Scalar>& blocking)
-  {
-    Index rows = otherSize;
-    const_blas_data_mapper<Scalar, Index, TriStorageOrder> rhs(_tri,triStride);
-    blas_data_mapper<Scalar, Index, ColMajor> lhs(_other,otherStride);
-
-    typedef gebp_traits<Scalar,Scalar> Traits;
-    enum {
-      RhsStorageOrder   = TriStorageOrder,
-      SmallPanelWidth   = EIGEN_PLAIN_ENUM_MAX(Traits::mr,Traits::nr),
-      IsLower = (Mode&Lower) == Lower
-    };
-
-    Index kc = blocking.kc();                   // cache block size along the K direction
-    Index mc = (std::min)(rows,blocking.mc());  // cache block size along the M direction
-
-    std::size_t sizeA = kc*mc;
-    std::size_t sizeB = kc*size;
-    std::size_t sizeW = kc*Traits::WorkSpaceFactor;
-
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockA, sizeA, blocking.blockA());
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockB, sizeB, blocking.blockB());
-    ei_declare_aligned_stack_constructed_variable(Scalar, blockW, sizeW, blocking.blockW());
-
-    conj_if<Conjugate> conj;
-    gebp_kernel<Scalar,Scalar, Index, Traits::mr, Traits::nr, false, Conjugate> gebp_kernel;
-    gemm_pack_rhs<Scalar, Index, Traits::nr,RhsStorageOrder> pack_rhs;
-    gemm_pack_rhs<Scalar, Index, Traits::nr,RhsStorageOrder,false,true> pack_rhs_panel;
-    gemm_pack_lhs<Scalar, Index, Traits::mr, Traits::LhsProgress, ColMajor, false, true> pack_lhs_panel;
-
-    for(Index k2=IsLower ? size : 0;
-        IsLower ? k2>0 : k2<size;
-        IsLower ? k2-=kc : k2+=kc)
-    {
-      const Index actual_kc = (std::min)(IsLower ? k2 : size-k2, kc);
-      Index actual_k2 = IsLower ? k2-actual_kc : k2 ;
-
-      Index startPanel = IsLower ? 0 : k2+actual_kc;
-      Index rs = IsLower ? actual_k2 : size - actual_k2 - actual_kc;
-      Scalar* geb = blockB+actual_kc*actual_kc;
-
-      if (rs>0) pack_rhs(geb, &rhs(actual_k2,startPanel), triStride, actual_kc, rs);
-
-      // triangular packing (we only pack the panels off the diagonal,
-      // neglecting the blocks overlapping the diagonal
-      {
-        for (Index j2=0; j2<actual_kc; j2+=SmallPanelWidth)
-        {
-          Index actualPanelWidth = std::min<Index>(actual_kc-j2, SmallPanelWidth);
-          Index actual_j2 = actual_k2 + j2;
-          Index panelOffset = IsLower ? j2+actualPanelWidth : 0;
-          Index panelLength = IsLower ? actual_kc-j2-actualPanelWidth : j2;
-
-          if (panelLength>0)
-          pack_rhs_panel(blockB+j2*actual_kc,
-                         &rhs(actual_k2+panelOffset, actual_j2), triStride,
-                         panelLength, actualPanelWidth,
-                         actual_kc, panelOffset);
-        }
-      }
-
-      for(Index i2=0; i2<rows; i2+=mc)
-      {
-        const Index actual_mc = (std::min)(mc,rows-i2);
-
-        // triangular solver kernel
-        {
-          // for each small block of the diagonal (=> vertical panels of rhs)
-          for (Index j2 = IsLower
-                      ? (actual_kc - ((actual_kc%SmallPanelWidth) ? Index(actual_kc%SmallPanelWidth)
-                                                                  : Index(SmallPanelWidth)))
-                      : 0;
-               IsLower ? j2>=0 : j2<actual_kc;
-               IsLower ? j2-=SmallPanelWidth : j2+=SmallPanelWidth)
-          {
-            Index actualPanelWidth = std::min<Index>(actual_kc-j2, SmallPanelWidth);
-            Index absolute_j2 = actual_k2 + j2;
-            Index panelOffset = IsLower ? j2+actualPanelWidth : 0;
-            Index panelLength = IsLower ? actual_kc - j2 - actualPanelWidth : j2;
-
-            // GEBP
-            if(panelLength>0)
-            {
-              gebp_kernel(&lhs(i2,absolute_j2), otherStride,
-                          blockA, blockB+j2*actual_kc,
-                          actual_mc, panelLength, actualPanelWidth,
-                          Scalar(-1),
-                          actual_kc, actual_kc, // strides
-                          panelOffset, panelOffset, // offsets
-                          blockW);  // workspace
-            }
-
-            // unblocked triangular solve
-            for (Index k=0; k<actualPanelWidth; ++k)
-            {
-              Index j = IsLower ? absolute_j2+actualPanelWidth-k-1 : absolute_j2+k;
-
-              Scalar* r = &lhs(i2,j);
-              for (Index k3=0; k3<k; ++k3)
-              {
-                Scalar b = conj(rhs(IsLower ? j+1+k3 : absolute_j2+k3,j));
-                Scalar* a = &lhs(i2,IsLower ? j+1+k3 : absolute_j2+k3);
-                for (Index i=0; i<actual_mc; ++i)
-                  r[i] -= a[i] * b;
-              }
-              if((Mode & UnitDiag)==0)
-              {
-                Scalar b = conj(rhs(j,j));
-                for (Index i=0; i<actual_mc; ++i)
-                  r[i] /= b;
-              }
-            }
-
-            // pack the just computed part of lhs to A
-            pack_lhs_panel(blockA, _other+absolute_j2*otherStride+i2, otherStride,
-                           actualPanelWidth, actual_mc,
-                           actual_kc, j2);
-          }
-        }
-
-        if (rs>0)
-          gebp_kernel(_other+i2+startPanel*otherStride, otherStride, blockA, geb,
-                      actual_mc, actual_kc, rs, Scalar(-1),
-                      -1, -1, 0, 0, blockW);
-      }
-    }
-  }
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRIANGULAR_SOLVER_MATRIX_H
diff --git a/lib/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h b/lib/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
deleted file mode 100644
index 6a0bb833..00000000
--- a/lib/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   Triangular matrix * matrix product functionality based on ?TRMM.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_TRIANGULAR_SOLVER_MATRIX_MKL_H
-#define EIGEN_TRIANGULAR_SOLVER_MATRIX_MKL_H
-
-namespace Eigen {
-
-namespace internal {
-
-// implements LeftSide op(triangular)^-1 * general
-#define EIGEN_MKL_TRSM_L(EIGTYPE, MKLTYPE, MKLPREFIX) \
-template <typename Index, int Mode, bool Conjugate, int TriStorageOrder> \
-struct triangular_solve_matrix<EIGTYPE,Index,OnTheLeft,Mode,Conjugate,TriStorageOrder,ColMajor> \
-{ \
-  enum { \
-    IsLower = (Mode&Lower) == Lower, \
-    IsUnitDiag  = (Mode&UnitDiag) ? 1 : 0, \
-    IsZeroDiag  = (Mode&ZeroDiag) ? 1 : 0, \
-    conjA = ((TriStorageOrder==ColMajor) && Conjugate) ? 1 : 0 \
-  }; \
-  static void run( \
-      Index size, Index otherSize, \
-      const EIGTYPE* _tri, Index triStride, \
-      EIGTYPE* _other, Index otherStride, level3_blocking<EIGTYPE,EIGTYPE>& /*blocking*/) \
-  { \
-   MKL_INT m = size, n = otherSize, lda, ldb; \
-   char side = 'L', uplo, diag='N', transa; \
-   /* Set alpha_ */ \
-   MKLTYPE alpha; \
-   EIGTYPE myone(1); \
-   assign_scalar_eig2mkl(alpha, myone); \
-   ldb = otherStride;\
-\
-   const EIGTYPE *a; \
-/* Set trans */ \
-   transa = (TriStorageOrder==RowMajor) ? ((Conjugate) ? 'C' : 'T') : 'N'; \
-/* Set uplo */ \
-   uplo = IsLower ? 'L' : 'U'; \
-   if (TriStorageOrder==RowMajor) uplo = (uplo == 'L') ? 'U' : 'L'; \
-/* Set a, lda */ \
-   typedef Matrix<EIGTYPE, Dynamic, Dynamic, TriStorageOrder> MatrixTri; \
-   Map<const MatrixTri, 0, OuterStride<> > tri(_tri,size,size,OuterStride<>(triStride)); \
-   MatrixTri a_tmp; \
-\
-   if (conjA) { \
-     a_tmp = tri.conjugate(); \
-     a = a_tmp.data(); \
-     lda = a_tmp.outerStride(); \
-   } else { \
-     a = _tri; \
-     lda = triStride; \
-   } \
-   if (IsUnitDiag) diag='U'; \
-/* call ?trsm*/ \
-   MKLPREFIX##trsm(&side, &uplo, &transa, &diag, &m, &n, &alpha, (const MKLTYPE*)a, &lda, (MKLTYPE*)_other, &ldb); \
- } \
-};
-
-EIGEN_MKL_TRSM_L(double, double, d)
-EIGEN_MKL_TRSM_L(dcomplex, MKL_Complex16, z)
-EIGEN_MKL_TRSM_L(float, float, s)
-EIGEN_MKL_TRSM_L(scomplex, MKL_Complex8, c)
-
-
-// implements RightSide general * op(triangular)^-1
-#define EIGEN_MKL_TRSM_R(EIGTYPE, MKLTYPE, MKLPREFIX) \
-template <typename Index, int Mode, bool Conjugate, int TriStorageOrder> \
-struct triangular_solve_matrix<EIGTYPE,Index,OnTheRight,Mode,Conjugate,TriStorageOrder,ColMajor> \
-{ \
-  enum { \
-    IsLower = (Mode&Lower) == Lower, \
-    IsUnitDiag  = (Mode&UnitDiag) ? 1 : 0, \
-    IsZeroDiag  = (Mode&ZeroDiag) ? 1 : 0, \
-    conjA = ((TriStorageOrder==ColMajor) && Conjugate) ? 1 : 0 \
-  }; \
-  static void run( \
-      Index size, Index otherSize, \
-      const EIGTYPE* _tri, Index triStride, \
-      EIGTYPE* _other, Index otherStride, level3_blocking<EIGTYPE,EIGTYPE>& /*blocking*/) \
-  { \
-   MKL_INT m = otherSize, n = size, lda, ldb; \
-   char side = 'R', uplo, diag='N', transa; \
-   /* Set alpha_ */ \
-   MKLTYPE alpha; \
-   EIGTYPE myone(1); \
-   assign_scalar_eig2mkl(alpha, myone); \
-   ldb = otherStride;\
-\
-   const EIGTYPE *a; \
-/* Set trans */ \
-   transa = (TriStorageOrder==RowMajor) ? ((Conjugate) ? 'C' : 'T') : 'N'; \
-/* Set uplo */ \
-   uplo = IsLower ? 'L' : 'U'; \
-   if (TriStorageOrder==RowMajor) uplo = (uplo == 'L') ? 'U' : 'L'; \
-/* Set a, lda */ \
-   typedef Matrix<EIGTYPE, Dynamic, Dynamic, TriStorageOrder> MatrixTri; \
-   Map<const MatrixTri, 0, OuterStride<> > tri(_tri,size,size,OuterStride<>(triStride)); \
-   MatrixTri a_tmp; \
-\
-   if (conjA) { \
-     a_tmp = tri.conjugate(); \
-     a = a_tmp.data(); \
-     lda = a_tmp.outerStride(); \
-   } else { \
-     a = _tri; \
-     lda = triStride; \
-   } \
-   if (IsUnitDiag) diag='U'; \
-/* call ?trsm*/ \
-   MKLPREFIX##trsm(&side, &uplo, &transa, &diag, &m, &n, &alpha, (const MKLTYPE*)a, &lda, (MKLTYPE*)_other, &ldb); \
-   /*std::cout << "TRMS_L specialization!\n";*/ \
- } \
-};
-
-EIGEN_MKL_TRSM_R(double, double, d)
-EIGEN_MKL_TRSM_R(dcomplex, MKL_Complex16, z)
-EIGEN_MKL_TRSM_R(float, float, s)
-EIGEN_MKL_TRSM_R(scomplex, MKL_Complex8, c)
-
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRIANGULAR_SOLVER_MATRIX_MKL_H
diff --git a/lib/Eigen/src/Core/products/TriangularSolverVector.h b/lib/Eigen/src/Core/products/TriangularSolverVector.h
deleted file mode 100644
index ce4d1008..00000000
--- a/lib/Eigen/src/Core/products/TriangularSolverVector.h
+++ /dev/null
@@ -1,139 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRIANGULAR_SOLVER_VECTOR_H
-#define EIGEN_TRIANGULAR_SOLVER_VECTOR_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename LhsScalar, typename RhsScalar, typename Index, int Mode, bool Conjugate, int StorageOrder>
-struct triangular_solve_vector<LhsScalar, RhsScalar, Index, OnTheRight, Mode, Conjugate, StorageOrder>
-{
-  static void run(Index size, const LhsScalar* _lhs, Index lhsStride, RhsScalar* rhs)
-  {
-    triangular_solve_vector<LhsScalar,RhsScalar,Index,OnTheLeft,
-        ((Mode&Upper)==Upper ? Lower : Upper) | (Mode&UnitDiag),
-        Conjugate,StorageOrder==RowMajor?ColMajor:RowMajor
-      >::run(size, _lhs, lhsStride, rhs);
-  }
-};
-    
-// forward and backward substitution, row-major, rhs is a vector
-template<typename LhsScalar, typename RhsScalar, typename Index, int Mode, bool Conjugate>
-struct triangular_solve_vector<LhsScalar, RhsScalar, Index, OnTheLeft, Mode, Conjugate, RowMajor>
-{
-  enum {
-    IsLower = ((Mode&Lower)==Lower)
-  };
-  static void run(Index size, const LhsScalar* _lhs, Index lhsStride, RhsScalar* rhs)
-  {
-    typedef Map<const Matrix<LhsScalar,Dynamic,Dynamic,RowMajor>, 0, OuterStride<> > LhsMap;
-    const LhsMap lhs(_lhs,size,size,OuterStride<>(lhsStride));
-    typename internal::conditional<
-                          Conjugate,
-                          const CwiseUnaryOp<typename internal::scalar_conjugate_op<LhsScalar>,LhsMap>,
-                          const LhsMap&>
-                        ::type cjLhs(lhs);
-    static const Index PanelWidth = EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH;
-    for(Index pi=IsLower ? 0 : size;
-        IsLower ? pi<size : pi>0;
-        IsLower ? pi+=PanelWidth : pi-=PanelWidth)
-    {
-      Index actualPanelWidth = (std::min)(IsLower ? size - pi : pi, PanelWidth);
-
-      Index r = IsLower ? pi : size - pi; // remaining size
-      if (r > 0)
-      {
-        // let's directly call the low level product function because:
-        // 1 - it is faster to compile
-        // 2 - it is slighlty faster at runtime
-        Index startRow = IsLower ? pi : pi-actualPanelWidth;
-        Index startCol = IsLower ? 0 : pi;
-
-        general_matrix_vector_product<Index,LhsScalar,RowMajor,Conjugate,RhsScalar,false>::run(
-          actualPanelWidth, r,
-          &lhs.coeffRef(startRow,startCol), lhsStride,
-          rhs + startCol, 1,
-          rhs + startRow, 1,
-          RhsScalar(-1));
-      }
-
-      for(Index k=0; k<actualPanelWidth; ++k)
-      {
-        Index i = IsLower ? pi+k : pi-k-1;
-        Index s = IsLower ? pi   : i+1;
-        if (k>0)
-          rhs[i] -= (cjLhs.row(i).segment(s,k).transpose().cwiseProduct(Map<const Matrix<RhsScalar,Dynamic,1> >(rhs+s,k))).sum();
-        
-        if(!(Mode & UnitDiag))
-          rhs[i] /= cjLhs(i,i);
-      }
-    }
-  }
-};
-
-// forward and backward substitution, column-major, rhs is a vector
-template<typename LhsScalar, typename RhsScalar, typename Index, int Mode, bool Conjugate>
-struct triangular_solve_vector<LhsScalar, RhsScalar, Index, OnTheLeft, Mode, Conjugate, ColMajor>
-{
-  enum {
-    IsLower = ((Mode&Lower)==Lower)
-  };
-  static void run(Index size, const LhsScalar* _lhs, Index lhsStride, RhsScalar* rhs)
-  {
-    typedef Map<const Matrix<LhsScalar,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> > LhsMap;
-    const LhsMap lhs(_lhs,size,size,OuterStride<>(lhsStride));
-    typename internal::conditional<Conjugate,
-                                   const CwiseUnaryOp<typename internal::scalar_conjugate_op<LhsScalar>,LhsMap>,
-                                   const LhsMap&
-                                  >::type cjLhs(lhs);
-    static const Index PanelWidth = EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH;
-
-    for(Index pi=IsLower ? 0 : size;
-        IsLower ? pi<size : pi>0;
-        IsLower ? pi+=PanelWidth : pi-=PanelWidth)
-    {
-      Index actualPanelWidth = (std::min)(IsLower ? size - pi : pi, PanelWidth);
-      Index startBlock = IsLower ? pi : pi-actualPanelWidth;
-      Index endBlock = IsLower ? pi + actualPanelWidth : 0;
-
-      for(Index k=0; k<actualPanelWidth; ++k)
-      {
-        Index i = IsLower ? pi+k : pi-k-1;
-        if(!(Mode & UnitDiag))
-          rhs[i] /= cjLhs.coeff(i,i);
-
-        Index r = actualPanelWidth - k - 1; // remaining size
-        Index s = IsLower ? i+1 : i-r;
-        if (r>0)
-          Map<Matrix<RhsScalar,Dynamic,1> >(rhs+s,r) -= rhs[i] * cjLhs.col(i).segment(s,r);
-      }
-      Index r = IsLower ? size - endBlock : startBlock; // remaining size
-      if (r > 0)
-      {
-        // let's directly call the low level product function because:
-        // 1 - it is faster to compile
-        // 2 - it is slighlty faster at runtime
-        general_matrix_vector_product<Index,LhsScalar,ColMajor,Conjugate,RhsScalar,false>::run(
-            r, actualPanelWidth,
-            &lhs.coeffRef(endBlock,startBlock), lhsStride,
-            rhs+startBlock, 1,
-            rhs+endBlock, 1, RhsScalar(-1));
-      }
-    }
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRIANGULAR_SOLVER_VECTOR_H
diff --git a/lib/Eigen/src/Core/util/BlasUtil.h b/lib/Eigen/src/Core/util/BlasUtil.h
deleted file mode 100644
index a28f16fa..00000000
--- a/lib/Eigen/src/Core/util/BlasUtil.h
+++ /dev/null
@@ -1,264 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_BLASUTIL_H
-#define EIGEN_BLASUTIL_H
-
-// This file contains many lightweight helper classes used to
-// implement and control fast level 2 and level 3 BLAS-like routines.
-
-namespace Eigen {
-
-namespace internal {
-
-// forward declarations
-template<typename LhsScalar, typename RhsScalar, typename Index, int mr, int nr, bool ConjugateLhs=false, bool ConjugateRhs=false>
-struct gebp_kernel;
-
-template<typename Scalar, typename Index, int nr, int StorageOrder, bool Conjugate = false, bool PanelMode=false>
-struct gemm_pack_rhs;
-
-template<typename Scalar, typename Index, int Pack1, int Pack2, int StorageOrder, bool Conjugate = false, bool PanelMode = false>
-struct gemm_pack_lhs;
-
-template<
-  typename Index,
-  typename LhsScalar, int LhsStorageOrder, bool ConjugateLhs,
-  typename RhsScalar, int RhsStorageOrder, bool ConjugateRhs,
-  int ResStorageOrder>
-struct general_matrix_matrix_product;
-
-template<typename Index, typename LhsScalar, int LhsStorageOrder, bool ConjugateLhs, typename RhsScalar, bool ConjugateRhs, int Version=Specialized>
-struct general_matrix_vector_product;
-
-
-template<bool Conjugate> struct conj_if;
-
-template<> struct conj_if<true> {
-  template<typename T>
-  inline T operator()(const T& x) { return numext::conj(x); }
-  template<typename T>
-  inline T pconj(const T& x) { return internal::pconj(x); }
-};
-
-template<> struct conj_if<false> {
-  template<typename T>
-  inline const T& operator()(const T& x) { return x; }
-  template<typename T>
-  inline const T& pconj(const T& x) { return x; }
-};
-
-template<typename Scalar> struct conj_helper<Scalar,Scalar,false,false>
-{
-  EIGEN_STRONG_INLINE Scalar pmadd(const Scalar& x, const Scalar& y, const Scalar& c) const { return internal::pmadd(x,y,c); }
-  EIGEN_STRONG_INLINE Scalar pmul(const Scalar& x, const Scalar& y) const { return internal::pmul(x,y); }
-};
-
-template<typename RealScalar> struct conj_helper<std::complex<RealScalar>, std::complex<RealScalar>, false,true>
-{
-  typedef std::complex<RealScalar> Scalar;
-  EIGEN_STRONG_INLINE Scalar pmadd(const Scalar& x, const Scalar& y, const Scalar& c) const
-  { return c + pmul(x,y); }
-
-  EIGEN_STRONG_INLINE Scalar pmul(const Scalar& x, const Scalar& y) const
-  { return Scalar(numext::real(x)*numext::real(y) + numext::imag(x)*numext::imag(y), numext::imag(x)*numext::real(y) - numext::real(x)*numext::imag(y)); }
-};
-
-template<typename RealScalar> struct conj_helper<std::complex<RealScalar>, std::complex<RealScalar>, true,false>
-{
-  typedef std::complex<RealScalar> Scalar;
-  EIGEN_STRONG_INLINE Scalar pmadd(const Scalar& x, const Scalar& y, const Scalar& c) const
-  { return c + pmul(x,y); }
-
-  EIGEN_STRONG_INLINE Scalar pmul(const Scalar& x, const Scalar& y) const
-  { return Scalar(numext::real(x)*numext::real(y) + numext::imag(x)*numext::imag(y), numext::real(x)*numext::imag(y) - numext::imag(x)*numext::real(y)); }
-};
-
-template<typename RealScalar> struct conj_helper<std::complex<RealScalar>, std::complex<RealScalar>, true,true>
-{
-  typedef std::complex<RealScalar> Scalar;
-  EIGEN_STRONG_INLINE Scalar pmadd(const Scalar& x, const Scalar& y, const Scalar& c) const
-  { return c + pmul(x,y); }
-
-  EIGEN_STRONG_INLINE Scalar pmul(const Scalar& x, const Scalar& y) const
-  { return Scalar(numext::real(x)*numext::real(y) - numext::imag(x)*numext::imag(y), - numext::real(x)*numext::imag(y) - numext::imag(x)*numext::real(y)); }
-};
-
-template<typename RealScalar,bool Conj> struct conj_helper<std::complex<RealScalar>, RealScalar, Conj,false>
-{
-  typedef std::complex<RealScalar> Scalar;
-  EIGEN_STRONG_INLINE Scalar pmadd(const Scalar& x, const RealScalar& y, const Scalar& c) const
-  { return padd(c, pmul(x,y)); }
-  EIGEN_STRONG_INLINE Scalar pmul(const Scalar& x, const RealScalar& y) const
-  { return conj_if<Conj>()(x)*y; }
-};
-
-template<typename RealScalar,bool Conj> struct conj_helper<RealScalar, std::complex<RealScalar>, false,Conj>
-{
-  typedef std::complex<RealScalar> Scalar;
-  EIGEN_STRONG_INLINE Scalar pmadd(const RealScalar& x, const Scalar& y, const Scalar& c) const
-  { return padd(c, pmul(x,y)); }
-  EIGEN_STRONG_INLINE Scalar pmul(const RealScalar& x, const Scalar& y) const
-  { return x*conj_if<Conj>()(y); }
-};
-
-template<typename From,typename To> struct get_factor {
-  static EIGEN_STRONG_INLINE To run(const From& x) { return x; }
-};
-
-template<typename Scalar> struct get_factor<Scalar,typename NumTraits<Scalar>::Real> {
-  static EIGEN_STRONG_INLINE typename NumTraits<Scalar>::Real run(const Scalar& x) { return numext::real(x); }
-};
-
-// Lightweight helper class to access matrix coefficients.
-// Yes, this is somehow redundant with Map<>, but this version is much much lighter,
-// and so I hope better compilation performance (time and code quality).
-template<typename Scalar, typename Index, int StorageOrder>
-class blas_data_mapper
-{
-  public:
-    blas_data_mapper(Scalar* data, Index stride) : m_data(data), m_stride(stride) {}
-    EIGEN_STRONG_INLINE Scalar& operator()(Index i, Index j)
-    { return m_data[StorageOrder==RowMajor ? j + i*m_stride : i + j*m_stride]; }
-  protected:
-    Scalar* EIGEN_RESTRICT m_data;
-    Index m_stride;
-};
-
-// lightweight helper class to access matrix coefficients (const version)
-template<typename Scalar, typename Index, int StorageOrder>
-class const_blas_data_mapper
-{
-  public:
-    const_blas_data_mapper(const Scalar* data, Index stride) : m_data(data), m_stride(stride) {}
-    EIGEN_STRONG_INLINE const Scalar& operator()(Index i, Index j) const
-    { return m_data[StorageOrder==RowMajor ? j + i*m_stride : i + j*m_stride]; }
-  protected:
-    const Scalar* EIGEN_RESTRICT m_data;
-    Index m_stride;
-};
-
-
-/* Helper class to analyze the factors of a Product expression.
- * In particular it allows to pop out operator-, scalar multiples,
- * and conjugate */
-template<typename XprType> struct blas_traits
-{
-  typedef typename traits<XprType>::Scalar Scalar;
-  typedef const XprType& ExtractType;
-  typedef XprType _ExtractType;
-  enum {
-    IsComplex = NumTraits<Scalar>::IsComplex,
-    IsTransposed = false,
-    NeedToConjugate = false,
-    HasUsableDirectAccess = (    (int(XprType::Flags)&DirectAccessBit)
-                              && (   bool(XprType::IsVectorAtCompileTime)
-                                  || int(inner_stride_at_compile_time<XprType>::ret) == 1)
-                             ) ?  1 : 0
-  };
-  typedef typename conditional<bool(HasUsableDirectAccess),
-    ExtractType,
-    typename _ExtractType::PlainObject
-    >::type DirectLinearAccessType;
-  static inline ExtractType extract(const XprType& x) { return x; }
-  static inline const Scalar extractScalarFactor(const XprType&) { return Scalar(1); }
-};
-
-// pop conjugate
-template<typename Scalar, typename NestedXpr>
-struct blas_traits<CwiseUnaryOp<scalar_conjugate_op<Scalar>, NestedXpr> >
- : blas_traits<NestedXpr>
-{
-  typedef blas_traits<NestedXpr> Base;
-  typedef CwiseUnaryOp<scalar_conjugate_op<Scalar>, NestedXpr> XprType;
-  typedef typename Base::ExtractType ExtractType;
-
-  enum {
-    IsComplex = NumTraits<Scalar>::IsComplex,
-    NeedToConjugate = Base::NeedToConjugate ? 0 : IsComplex
-  };
-  static inline ExtractType extract(const XprType& x) { return Base::extract(x.nestedExpression()); }
-  static inline Scalar extractScalarFactor(const XprType& x) { return conj(Base::extractScalarFactor(x.nestedExpression())); }
-};
-
-// pop scalar multiple
-template<typename Scalar, typename NestedXpr>
-struct blas_traits<CwiseUnaryOp<scalar_multiple_op<Scalar>, NestedXpr> >
- : blas_traits<NestedXpr>
-{
-  typedef blas_traits<NestedXpr> Base;
-  typedef CwiseUnaryOp<scalar_multiple_op<Scalar>, NestedXpr> XprType;
-  typedef typename Base::ExtractType ExtractType;
-  static inline ExtractType extract(const XprType& x) { return Base::extract(x.nestedExpression()); }
-  static inline Scalar extractScalarFactor(const XprType& x)
-  { return x.functor().m_other * Base::extractScalarFactor(x.nestedExpression()); }
-};
-
-// pop opposite
-template<typename Scalar, typename NestedXpr>
-struct blas_traits<CwiseUnaryOp<scalar_opposite_op<Scalar>, NestedXpr> >
- : blas_traits<NestedXpr>
-{
-  typedef blas_traits<NestedXpr> Base;
-  typedef CwiseUnaryOp<scalar_opposite_op<Scalar>, NestedXpr> XprType;
-  typedef typename Base::ExtractType ExtractType;
-  static inline ExtractType extract(const XprType& x) { return Base::extract(x.nestedExpression()); }
-  static inline Scalar extractScalarFactor(const XprType& x)
-  { return - Base::extractScalarFactor(x.nestedExpression()); }
-};
-
-// pop/push transpose
-template<typename NestedXpr>
-struct blas_traits<Transpose<NestedXpr> >
- : blas_traits<NestedXpr>
-{
-  typedef typename NestedXpr::Scalar Scalar;
-  typedef blas_traits<NestedXpr> Base;
-  typedef Transpose<NestedXpr> XprType;
-  typedef Transpose<const typename Base::_ExtractType>  ExtractType; // const to get rid of a compile error; anyway blas traits are only used on the RHS
-  typedef Transpose<const typename Base::_ExtractType> _ExtractType;
-  typedef typename conditional<bool(Base::HasUsableDirectAccess),
-    ExtractType,
-    typename ExtractType::PlainObject
-    >::type DirectLinearAccessType;
-  enum {
-    IsTransposed = Base::IsTransposed ? 0 : 1
-  };
-  static inline ExtractType extract(const XprType& x) { return Base::extract(x.nestedExpression()); }
-  static inline Scalar extractScalarFactor(const XprType& x) { return Base::extractScalarFactor(x.nestedExpression()); }
-};
-
-template<typename T>
-struct blas_traits<const T>
-     : blas_traits<T>
-{};
-
-template<typename T, bool HasUsableDirectAccess=blas_traits<T>::HasUsableDirectAccess>
-struct extract_data_selector {
-  static const typename T::Scalar* run(const T& m)
-  {
-    return blas_traits<T>::extract(m).data();
-  }
-};
-
-template<typename T>
-struct extract_data_selector<T,false> {
-  static typename T::Scalar* run(const T&) { return 0; }
-};
-
-template<typename T> const typename T::Scalar* extract_data(const T& m)
-{
-  return extract_data_selector<T>::run(m);
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_BLASUTIL_H
diff --git a/lib/Eigen/src/Core/util/CMakeLists.txt b/lib/Eigen/src/Core/util/CMakeLists.txt
deleted file mode 100644
index a1e2e521..00000000
--- a/lib/Eigen/src/Core/util/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Core_util_SRCS "*.h")
-
-INSTALL(FILES 
-  ${Eigen_Core_util_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/util COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/Core/util/Constants.h b/lib/Eigen/src/Core/util/Constants.h
deleted file mode 100644
index 1e6277c4..00000000
--- a/lib/Eigen/src/Core/util/Constants.h
+++ /dev/null
@@ -1,451 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CONSTANTS_H
-#define EIGEN_CONSTANTS_H
-
-namespace Eigen {
-
-/** This value means that a positive quantity (e.g., a size) is not known at compile-time, and that instead the value is
-  * stored in some runtime variable.
-  *
-  * Changing the value of Dynamic breaks the ABI, as Dynamic is often used as a template parameter for Matrix.
-  */
-const int Dynamic = -1;
-
-/** This value means that a signed quantity (e.g., a signed index) is not known at compile-time, and that instead its value
-  * has to be specified at runtime.
-  */
-const int DynamicIndex = 0xffffff;
-
-/** This value means +Infinity; it is currently used only as the p parameter to MatrixBase::lpNorm<int>().
-  * The value Infinity there means the L-infinity norm.
-  */
-const int Infinity = -1;
-
-/** \defgroup flags Flags
-  * \ingroup Core_Module
-  *
-  * These are the possible bits which can be OR'ed to constitute the flags of a matrix or
-  * expression.
-  *
-  * It is important to note that these flags are a purely compile-time notion. They are a compile-time property of
-  * an expression type, implemented as enum's. They are not stored in memory at runtime, and they do not incur any
-  * runtime overhead.
-  *
-  * \sa MatrixBase::Flags
-  */
-
-/** \ingroup flags
-  *
-  * for a matrix, this means that the storage order is row-major.
-  * If this bit is not set, the storage order is column-major.
-  * For an expression, this determines the storage order of
-  * the matrix created by evaluation of that expression. 
-  * \sa \ref TopicStorageOrders */
-const unsigned int RowMajorBit = 0x1;
-
-/** \ingroup flags
-  *
-  * means the expression should be evaluated by the calling expression */
-const unsigned int EvalBeforeNestingBit = 0x2;
-
-/** \ingroup flags
-  *
-  * means the expression should be evaluated before any assignment */
-const unsigned int EvalBeforeAssigningBit = 0x4;
-
-/** \ingroup flags
-  *
-  * Short version: means the expression might be vectorized
-  *
-  * Long version: means that the coefficients can be handled by packets
-  * and start at a memory location whose alignment meets the requirements
-  * of the present CPU architecture for optimized packet access. In the fixed-size
-  * case, there is the additional condition that it be possible to access all the
-  * coefficients by packets (this implies the requirement that the size be a multiple of 16 bytes,
-  * and that any nontrivial strides don't break the alignment). In the dynamic-size case,
-  * there is no such condition on the total size and strides, so it might not be possible to access
-  * all coeffs by packets.
-  *
-  * \note This bit can be set regardless of whether vectorization is actually enabled.
-  *       To check for actual vectorizability, see \a ActualPacketAccessBit.
-  */
-const unsigned int PacketAccessBit = 0x8;
-
-#ifdef EIGEN_VECTORIZE
-/** \ingroup flags
-  *
-  * If vectorization is enabled (EIGEN_VECTORIZE is defined) this constant
-  * is set to the value \a PacketAccessBit.
-  *
-  * If vectorization is not enabled (EIGEN_VECTORIZE is not defined) this constant
-  * is set to the value 0.
-  */
-const unsigned int ActualPacketAccessBit = PacketAccessBit;
-#else
-const unsigned int ActualPacketAccessBit = 0x0;
-#endif
-
-/** \ingroup flags
-  *
-  * Short version: means the expression can be seen as 1D vector.
-  *
-  * Long version: means that one can access the coefficients
-  * of this expression by coeff(int), and coeffRef(int) in the case of a lvalue expression. These
-  * index-based access methods are guaranteed
-  * to not have to do any runtime computation of a (row, col)-pair from the index, so that it
-  * is guaranteed that whenever it is available, index-based access is at least as fast as
-  * (row,col)-based access. Expressions for which that isn't possible don't have the LinearAccessBit.
-  *
-  * If both PacketAccessBit and LinearAccessBit are set, then the
-  * packets of this expression can be accessed by packet(int), and writePacket(int) in the case of a
-  * lvalue expression.
-  *
-  * Typically, all vector expressions have the LinearAccessBit, but there is one exception:
-  * Product expressions don't have it, because it would be troublesome for vectorization, even when the
-  * Product is a vector expression. Thus, vector Product expressions allow index-based coefficient access but
-  * not index-based packet access, so they don't have the LinearAccessBit.
-  */
-const unsigned int LinearAccessBit = 0x10;
-
-/** \ingroup flags
-  *
-  * Means the expression has a coeffRef() method, i.e. is writable as its individual coefficients are directly addressable.
-  * This rules out read-only expressions.
-  *
-  * Note that DirectAccessBit and LvalueBit are mutually orthogonal, as there are examples of expression having one but note
-  * the other:
-  *   \li writable expressions that don't have a very simple memory layout as a strided array, have LvalueBit but not DirectAccessBit
-  *   \li Map-to-const expressions, for example Map<const Matrix>, have DirectAccessBit but not LvalueBit
-  *
-  * Expressions having LvalueBit also have their coeff() method returning a const reference instead of returning a new value.
-  */
-const unsigned int LvalueBit = 0x20;
-
-/** \ingroup flags
-  *
-  * Means that the underlying array of coefficients can be directly accessed as a plain strided array. The memory layout
-  * of the array of coefficients must be exactly the natural one suggested by rows(), cols(),
-  * outerStride(), innerStride(), and the RowMajorBit. This rules out expressions such as Diagonal, whose coefficients,
-  * though referencable, do not have such a regular memory layout.
-  *
-  * See the comment on LvalueBit for an explanation of how LvalueBit and DirectAccessBit are mutually orthogonal.
-  */
-const unsigned int DirectAccessBit = 0x40;
-
-/** \ingroup flags
-  *
-  * means the first coefficient packet is guaranteed to be aligned */
-const unsigned int AlignedBit = 0x80;
-
-const unsigned int NestByRefBit = 0x100;
-
-// list of flags that are inherited by default
-const unsigned int HereditaryBits = RowMajorBit
-                                  | EvalBeforeNestingBit
-                                  | EvalBeforeAssigningBit;
-
-/** \defgroup enums Enumerations
-  * \ingroup Core_Module
-  *
-  * Various enumerations used in %Eigen. Many of these are used as template parameters.
-  */
-
-/** \ingroup enums
-  * Enum containing possible values for the \p Mode parameter of 
-  * MatrixBase::selfadjointView() and MatrixBase::triangularView(). */
-enum {
-  /** View matrix as a lower triangular matrix. */
-  Lower=0x1,                      
-  /** View matrix as an upper triangular matrix. */
-  Upper=0x2,                      
-  /** %Matrix has ones on the diagonal; to be used in combination with #Lower or #Upper. */
-  UnitDiag=0x4, 
-  /** %Matrix has zeros on the diagonal; to be used in combination with #Lower or #Upper. */
-  ZeroDiag=0x8,
-  /** View matrix as a lower triangular matrix with ones on the diagonal. */
-  UnitLower=UnitDiag|Lower, 
-  /** View matrix as an upper triangular matrix with ones on the diagonal. */
-  UnitUpper=UnitDiag|Upper,
-  /** View matrix as a lower triangular matrix with zeros on the diagonal. */
-  StrictlyLower=ZeroDiag|Lower, 
-  /** View matrix as an upper triangular matrix with zeros on the diagonal. */
-  StrictlyUpper=ZeroDiag|Upper,
-  /** Used in BandMatrix and SelfAdjointView to indicate that the matrix is self-adjoint. */
-  SelfAdjoint=0x10,
-  /** Used to support symmetric, non-selfadjoint, complex matrices. */
-  Symmetric=0x20
-};
-
-/** \ingroup enums
-  * Enum for indicating whether an object is aligned or not. */
-enum { 
-  /** Object is not correctly aligned for vectorization. */
-  Unaligned=0, 
-  /** Object is aligned for vectorization. */
-  Aligned=1 
-};
-
-/** \ingroup enums
- * Enum used by DenseBase::corner() in Eigen2 compatibility mode. */
-// FIXME after the corner() API change, this was not needed anymore, except by AlignedBox
-// TODO: find out what to do with that. Adapt the AlignedBox API ?
-enum CornerType { TopLeft, TopRight, BottomLeft, BottomRight };
-
-/** \ingroup enums
-  * Enum containing possible values for the \p Direction parameter of
-  * Reverse, PartialReduxExpr and VectorwiseOp. */
-enum DirectionType { 
-  /** For Reverse, all columns are reversed; 
-    * for PartialReduxExpr and VectorwiseOp, act on columns. */
-  Vertical, 
-  /** For Reverse, all rows are reversed; 
-    * for PartialReduxExpr and VectorwiseOp, act on rows. */
-  Horizontal, 
-  /** For Reverse, both rows and columns are reversed; 
-    * not used for PartialReduxExpr and VectorwiseOp. */
-  BothDirections 
-};
-
-/** \internal \ingroup enums
-  * Enum to specify how to traverse the entries of a matrix. */
-enum {
-  /** \internal Default traversal, no vectorization, no index-based access */
-  DefaultTraversal,
-  /** \internal No vectorization, use index-based access to have only one for loop instead of 2 nested loops */
-  LinearTraversal,
-  /** \internal Equivalent to a slice vectorization for fixed-size matrices having good alignment
-    * and good size */
-  InnerVectorizedTraversal,
-  /** \internal Vectorization path using a single loop plus scalar loops for the
-    * unaligned boundaries */
-  LinearVectorizedTraversal,
-  /** \internal Generic vectorization path using one vectorized loop per row/column with some
-    * scalar loops to handle the unaligned boundaries */
-  SliceVectorizedTraversal,
-  /** \internal Special case to properly handle incompatible scalar types or other defecting cases*/
-  InvalidTraversal,
-  /** \internal Evaluate all entries at once */
-  AllAtOnceTraversal
-};
-
-/** \internal \ingroup enums
-  * Enum to specify whether to unroll loops when traversing over the entries of a matrix. */
-enum {
-  /** \internal Do not unroll loops. */
-  NoUnrolling,
-  /** \internal Unroll only the inner loop, but not the outer loop. */
-  InnerUnrolling,
-  /** \internal Unroll both the inner and the outer loop. If there is only one loop, 
-    * because linear traversal is used, then unroll that loop. */
-  CompleteUnrolling
-};
-
-/** \internal \ingroup enums
-  * Enum to specify whether to use the default (built-in) implementation or the specialization. */
-enum {
-  Specialized,
-  BuiltIn
-};
-
-/** \ingroup enums
-  * Enum containing possible values for the \p _Options template parameter of
-  * Matrix, Array and BandMatrix. */
-enum {
-  /** Storage order is column major (see \ref TopicStorageOrders). */
-  ColMajor = 0,
-  /** Storage order is row major (see \ref TopicStorageOrders). */
-  RowMajor = 0x1,  // it is only a coincidence that this is equal to RowMajorBit -- don't rely on that
-  /** Align the matrix itself if it is vectorizable fixed-size */
-  AutoAlign = 0,
-  /** Don't require alignment for the matrix itself (the array of coefficients, if dynamically allocated, may still be requested to be aligned) */ // FIXME --- clarify the situation
-  DontAlign = 0x2
-};
-
-/** \ingroup enums
-  * Enum for specifying whether to apply or solve on the left or right. */
-enum {
-  /** Apply transformation on the left. */
-  OnTheLeft = 1,  
-  /** Apply transformation on the right. */
-  OnTheRight = 2  
-};
-
-/* the following used to be written as:
- *
- *   struct NoChange_t {};
- *   namespace {
- *     EIGEN_UNUSED NoChange_t NoChange;
- *   }
- *
- * on the ground that it feels dangerous to disambiguate overloaded functions on enum/integer types.  
- * However, this leads to "variable declared but never referenced" warnings on Intel Composer XE,
- * and we do not know how to get rid of them (bug 450).
- */
-
-enum NoChange_t   { NoChange };
-enum Sequential_t { Sequential };
-enum Default_t    { Default };
-
-/** \internal \ingroup enums
-  * Used in AmbiVector. */
-enum {
-  IsDense         = 0,
-  IsSparse
-};
-
-/** \ingroup enums
-  * Used as template parameter in DenseCoeffBase and MapBase to indicate 
-  * which accessors should be provided. */
-enum AccessorLevels {
-  /** Read-only access via a member function. */
-  ReadOnlyAccessors, 
-  /** Read/write access via member functions. */
-  WriteAccessors, 
-  /** Direct read-only access to the coefficients. */
-  DirectAccessors, 
-  /** Direct read/write access to the coefficients. */
-  DirectWriteAccessors
-};
-
-/** \ingroup enums
-  * Enum with options to give to various decompositions. */
-enum DecompositionOptions {
-  /** \internal Not used (meant for LDLT?). */
-  Pivoting            = 0x01, 
-  /** \internal Not used (meant for LDLT?). */
-  NoPivoting          = 0x02, 
-  /** Used in JacobiSVD to indicate that the square matrix U is to be computed. */
-  ComputeFullU        = 0x04,
-  /** Used in JacobiSVD to indicate that the thin matrix U is to be computed. */
-  ComputeThinU        = 0x08,
-  /** Used in JacobiSVD to indicate that the square matrix V is to be computed. */
-  ComputeFullV        = 0x10,
-  /** Used in JacobiSVD to indicate that the thin matrix V is to be computed. */
-  ComputeThinV        = 0x20,
-  /** Used in SelfAdjointEigenSolver and GeneralizedSelfAdjointEigenSolver to specify
-    * that only the eigenvalues are to be computed and not the eigenvectors. */
-  EigenvaluesOnly     = 0x40,
-  /** Used in SelfAdjointEigenSolver and GeneralizedSelfAdjointEigenSolver to specify
-    * that both the eigenvalues and the eigenvectors are to be computed. */
-  ComputeEigenvectors = 0x80,
-  /** \internal */
-  EigVecMask = EigenvaluesOnly | ComputeEigenvectors,
-  /** Used in GeneralizedSelfAdjointEigenSolver to indicate that it should
-    * solve the generalized eigenproblem \f$ Ax = \lambda B x \f$. */
-  Ax_lBx              = 0x100,
-  /** Used in GeneralizedSelfAdjointEigenSolver to indicate that it should
-    * solve the generalized eigenproblem \f$ ABx = \lambda x \f$. */
-  ABx_lx              = 0x200,
-  /** Used in GeneralizedSelfAdjointEigenSolver to indicate that it should
-    * solve the generalized eigenproblem \f$ BAx = \lambda x \f$. */
-  BAx_lx              = 0x400,
-  /** \internal */
-  GenEigMask = Ax_lBx | ABx_lx | BAx_lx
-};
-
-/** \ingroup enums
-  * Possible values for the \p QRPreconditioner template parameter of JacobiSVD. */
-enum QRPreconditioners {
-  /** Do not specify what is to be done if the SVD of a non-square matrix is asked for. */
-  NoQRPreconditioner,
-  /** Use a QR decomposition without pivoting as the first step. */
-  HouseholderQRPreconditioner,
-  /** Use a QR decomposition with column pivoting as the first step. */
-  ColPivHouseholderQRPreconditioner,
-  /** Use a QR decomposition with full pivoting as the first step. */
-  FullPivHouseholderQRPreconditioner
-};
-
-#ifdef Success
-#error The preprocessor symbol 'Success' is defined, possibly by the X11 header file X.h
-#endif
-
-/** \ingroup enums
-  * Enum for reporting the status of a computation. */
-enum ComputationInfo {
-  /** Computation was successful. */
-  Success = 0,        
-  /** The provided data did not satisfy the prerequisites. */
-  NumericalIssue = 1, 
-  /** Iterative procedure did not converge. */
-  NoConvergence = 2,
-  /** The inputs are invalid, or the algorithm has been improperly called.
-    * When assertions are enabled, such errors trigger an assert. */
-  InvalidInput = 3
-};
-
-/** \ingroup enums
-  * Enum used to specify how a particular transformation is stored in a matrix.
-  * \sa Transform, Hyperplane::transform(). */
-enum TransformTraits {
-  /** Transformation is an isometry. */
-  Isometry      = 0x1,
-  /** Transformation is an affine transformation stored as a (Dim+1)^2 matrix whose last row is 
-    * assumed to be [0 ... 0 1]. */
-  Affine        = 0x2,
-  /** Transformation is an affine transformation stored as a (Dim) x (Dim+1) matrix. */
-  AffineCompact = 0x10 | Affine,
-  /** Transformation is a general projective transformation stored as a (Dim+1)^2 matrix. */
-  Projective    = 0x20
-};
-
-/** \internal \ingroup enums
-  * Enum used to choose between implementation depending on the computer architecture. */
-namespace Architecture
-{
-  enum Type {
-    Generic = 0x0,
-    SSE = 0x1,
-    AltiVec = 0x2,
-#if defined EIGEN_VECTORIZE_SSE
-    Target = SSE
-#elif defined EIGEN_VECTORIZE_ALTIVEC
-    Target = AltiVec
-#else
-    Target = Generic
-#endif
-  };
-}
-
-/** \internal \ingroup enums
-  * Enum used as template parameter in GeneralProduct. */
-enum { CoeffBasedProductMode, LazyCoeffBasedProductMode, OuterProduct, InnerProduct, GemvProduct, GemmProduct };
-
-/** \internal \ingroup enums
-  * Enum used in experimental parallel implementation. */
-enum Action {GetAction, SetAction};
-
-/** The type used to identify a dense storage. */
-struct Dense {};
-
-/** The type used to identify a matrix expression */
-struct MatrixXpr {};
-
-/** The type used to identify an array expression */
-struct ArrayXpr {};
-
-namespace internal {
-  /** \internal
-  * Constants for comparison functors
-  */
-  enum ComparisonName {
-    cmp_EQ = 0,
-    cmp_LT = 1,
-    cmp_LE = 2,
-    cmp_UNORD = 3,
-    cmp_NEQ = 4
-  };
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_CONSTANTS_H
diff --git a/lib/Eigen/src/Core/util/DisableStupidWarnings.h b/lib/Eigen/src/Core/util/DisableStupidWarnings.h
deleted file mode 100644
index 6a0bf062..00000000
--- a/lib/Eigen/src/Core/util/DisableStupidWarnings.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef EIGEN_WARNINGS_DISABLED
-#define EIGEN_WARNINGS_DISABLED
-
-#ifdef _MSC_VER
-  // 4100 - unreferenced formal parameter (occurred e.g. in aligned_allocator::destroy(pointer p))
-  // 4101 - unreferenced local variable
-  // 4127 - conditional expression is constant
-  // 4181 - qualifier applied to reference type ignored
-  // 4211 - nonstandard extension used : redefined extern to static
-  // 4244 - 'argument' : conversion from 'type1' to 'type2', possible loss of data
-  // 4273 - QtAlignedMalloc, inconsistent DLL linkage
-  // 4324 - structure was padded due to declspec(align())
-  // 4512 - assignment operator could not be generated
-  // 4522 - 'class' : multiple assignment operators specified
-  // 4700 - uninitialized local variable 'xyz' used
-  // 4717 - 'function' : recursive on all control paths, function will cause runtime stack overflow
-  #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
-    #pragma warning( push )
-  #endif
-  #pragma warning( disable : 4100 4101 4127 4181 4211 4244 4273 4324 4512 4522 4700 4717 )
-#elif defined __INTEL_COMPILER
-  // 2196 - routine is both "inline" and "noinline" ("noinline" assumed)
-  //        ICC 12 generates this warning even without any inline keyword, when defining class methods 'inline' i.e. inside of class body
-  //        typedef that may be a reference type.
-  // 279  - controlling expression is constant
-  //        ICC 12 generates this warning on assert(constant_expression_depending_on_template_params) and frankly this is a legitimate use case.
-  #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
-    #pragma warning push
-  #endif
-  #pragma warning disable 2196 279
-#elif defined __clang__
-  // -Wconstant-logical-operand - warning: use of logical && with constant operand; switch to bitwise & or remove constant
-  //     this is really a stupid warning as it warns on compile-time expressions involving enums
-  #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
-    #pragma clang diagnostic push
-  #endif
-  #pragma clang diagnostic ignored "-Wconstant-logical-operand"
-#endif
-
-#endif // not EIGEN_WARNINGS_DISABLED
diff --git a/lib/Eigen/src/Core/util/ForwardDeclarations.h b/lib/Eigen/src/Core/util/ForwardDeclarations.h
deleted file mode 100644
index f2777200..00000000
--- a/lib/Eigen/src/Core/util/ForwardDeclarations.h
+++ /dev/null
@@ -1,302 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_FORWARDDECLARATIONS_H
-#define EIGEN_FORWARDDECLARATIONS_H
-
-namespace Eigen {
-namespace internal {
-
-template<typename T> struct traits;
-
-// here we say once and for all that traits<const T> == traits<T>
-// When constness must affect traits, it has to be constness on template parameters on which T itself depends.
-// For example, traits<Map<const T> > != traits<Map<T> >, but
-//              traits<const Map<T> > == traits<Map<T> >
-template<typename T> struct traits<const T> : traits<T> {};
-
-template<typename Derived> struct has_direct_access
-{
-  enum { ret = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0 };
-};
-
-template<typename Derived> struct accessors_level
-{
-  enum { has_direct_access = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0,
-         has_write_access = (traits<Derived>::Flags & LvalueBit) ? 1 : 0,
-         value = has_direct_access ? (has_write_access ? DirectWriteAccessors : DirectAccessors)
-                                   : (has_write_access ? WriteAccessors       : ReadOnlyAccessors)
-  };
-};
-
-} // end namespace internal
-
-template<typename T> struct NumTraits;
-
-template<typename Derived> struct EigenBase;
-template<typename Derived> class DenseBase;
-template<typename Derived> class PlainObjectBase;
-
-
-template<typename Derived,
-         int Level = internal::accessors_level<Derived>::value >
-class DenseCoeffsBase;
-
-template<typename _Scalar, int _Rows, int _Cols,
-         int _Options = AutoAlign |
-#if defined(__GNUC__) && __GNUC__==3 && __GNUC_MINOR__==4
-    // workaround a bug in at least gcc 3.4.6
-    // the innermost ?: ternary operator is misparsed. We write it slightly
-    // differently and this makes gcc 3.4.6 happy, but it's ugly.
-    // The error would only show up with EIGEN_DEFAULT_TO_ROW_MAJOR is defined
-    // (when EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION is RowMajor)
-                          ( (_Rows==1 && _Cols!=1) ? RowMajor
-                          : !(_Cols==1 && _Rows!=1) ?  EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION
-                          : ColMajor ),
-#else
-                          ( (_Rows==1 && _Cols!=1) ? RowMajor
-                          : (_Cols==1 && _Rows!=1) ? ColMajor
-                          : EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION ),
-#endif
-         int _MaxRows = _Rows,
-         int _MaxCols = _Cols
-> class Matrix;
-
-template<typename Derived> class MatrixBase;
-template<typename Derived> class ArrayBase;
-
-template<typename ExpressionType, unsigned int Added, unsigned int Removed> class Flagged;
-template<typename ExpressionType, template <typename> class StorageBase > class NoAlias;
-template<typename ExpressionType> class NestByValue;
-template<typename ExpressionType> class ForceAlignedAccess;
-template<typename ExpressionType> class SwapWrapper;
-
-template<typename XprType, int BlockRows=Dynamic, int BlockCols=Dynamic, bool InnerPanel = false> class Block;
-
-template<typename MatrixType, int Size=Dynamic> class VectorBlock;
-template<typename MatrixType> class Transpose;
-template<typename MatrixType> class Conjugate;
-template<typename NullaryOp, typename MatrixType>         class CwiseNullaryOp;
-template<typename UnaryOp,   typename MatrixType>         class CwiseUnaryOp;
-template<typename ViewOp,    typename MatrixType>         class CwiseUnaryView;
-template<typename BinaryOp,  typename Lhs, typename Rhs>  class CwiseBinaryOp;
-template<typename BinOp,     typename Lhs, typename Rhs>  class SelfCwiseBinaryOp;
-template<typename Derived,   typename Lhs, typename Rhs>  class ProductBase;
-template<typename Lhs, typename Rhs, int Mode>            class GeneralProduct;
-template<typename Lhs, typename Rhs, int NestingFlags>    class CoeffBasedProduct;
-
-template<typename Derived> class DiagonalBase;
-template<typename _DiagonalVectorType> class DiagonalWrapper;
-template<typename _Scalar, int SizeAtCompileTime, int MaxSizeAtCompileTime=SizeAtCompileTime> class DiagonalMatrix;
-template<typename MatrixType, typename DiagonalType, int ProductOrder> class DiagonalProduct;
-template<typename MatrixType, int Index = 0> class Diagonal;
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime = SizeAtCompileTime, typename IndexType=int> class PermutationMatrix;
-template<int SizeAtCompileTime, int MaxSizeAtCompileTime = SizeAtCompileTime, typename IndexType=int> class Transpositions;
-template<typename Derived> class PermutationBase;
-template<typename Derived> class TranspositionsBase;
-template<typename _IndicesType> class PermutationWrapper;
-template<typename _IndicesType> class TranspositionsWrapper;
-
-template<typename Derived,
-         int Level = internal::accessors_level<Derived>::has_write_access ? WriteAccessors : ReadOnlyAccessors
-> class MapBase;
-template<int InnerStrideAtCompileTime, int OuterStrideAtCompileTime> class Stride;
-template<typename MatrixType, int MapOptions=Unaligned, typename StrideType = Stride<0,0> > class Map;
-
-template<typename Derived> class TriangularBase;
-template<typename MatrixType, unsigned int Mode> class TriangularView;
-template<typename MatrixType, unsigned int Mode> class SelfAdjointView;
-template<typename MatrixType> class SparseView;
-template<typename ExpressionType> class WithFormat;
-template<typename MatrixType> struct CommaInitializer;
-template<typename Derived> class ReturnByValue;
-template<typename ExpressionType> class ArrayWrapper;
-template<typename ExpressionType> class MatrixWrapper;
-
-namespace internal {
-template<typename DecompositionType, typename Rhs> struct solve_retval_base;
-template<typename DecompositionType, typename Rhs> struct solve_retval;
-template<typename DecompositionType> struct kernel_retval_base;
-template<typename DecompositionType> struct kernel_retval;
-template<typename DecompositionType> struct image_retval_base;
-template<typename DecompositionType> struct image_retval;
-} // end namespace internal
-
-namespace internal {
-template<typename _Scalar, int Rows=Dynamic, int Cols=Dynamic, int Supers=Dynamic, int Subs=Dynamic, int Options=0> class BandMatrix;
-}
-
-namespace internal {
-template<typename Lhs, typename Rhs> struct product_type;
-}
-
-template<typename Lhs, typename Rhs,
-         int ProductType = internal::product_type<Lhs,Rhs>::value>
-struct ProductReturnType;
-
-// this is a workaround for sun CC
-template<typename Lhs, typename Rhs> struct LazyProductReturnType;
-
-namespace internal {
-
-// Provides scalar/packet-wise product and product with accumulation
-// with optional conjugation of the arguments.
-template<typename LhsScalar, typename RhsScalar, bool ConjLhs=false, bool ConjRhs=false> struct conj_helper;
-
-template<typename Scalar> struct scalar_sum_op;
-template<typename Scalar> struct scalar_difference_op;
-template<typename LhsScalar,typename RhsScalar> struct scalar_conj_product_op;
-template<typename Scalar> struct scalar_opposite_op;
-template<typename Scalar> struct scalar_conjugate_op;
-template<typename Scalar> struct scalar_real_op;
-template<typename Scalar> struct scalar_imag_op;
-template<typename Scalar> struct scalar_abs_op;
-template<typename Scalar> struct scalar_abs2_op;
-template<typename Scalar> struct scalar_sqrt_op;
-template<typename Scalar> struct scalar_exp_op;
-template<typename Scalar> struct scalar_log_op;
-template<typename Scalar> struct scalar_cos_op;
-template<typename Scalar> struct scalar_sin_op;
-template<typename Scalar> struct scalar_acos_op;
-template<typename Scalar> struct scalar_asin_op;
-template<typename Scalar> struct scalar_tan_op;
-template<typename Scalar> struct scalar_pow_op;
-template<typename Scalar> struct scalar_inverse_op;
-template<typename Scalar> struct scalar_square_op;
-template<typename Scalar> struct scalar_cube_op;
-template<typename Scalar, typename NewType> struct scalar_cast_op;
-template<typename Scalar> struct scalar_multiple_op;
-template<typename Scalar> struct scalar_quotient1_op;
-template<typename Scalar> struct scalar_min_op;
-template<typename Scalar> struct scalar_max_op;
-template<typename Scalar> struct scalar_random_op;
-template<typename Scalar> struct scalar_add_op;
-template<typename Scalar> struct scalar_constant_op;
-template<typename Scalar> struct scalar_identity_op;
-
-template<typename LhsScalar,typename RhsScalar=LhsScalar> struct scalar_product_op;
-template<typename LhsScalar,typename RhsScalar> struct scalar_multiple2_op;
-template<typename LhsScalar,typename RhsScalar=LhsScalar> struct scalar_quotient_op;
-
-} // end namespace internal
-
-struct IOFormat;
-
-// Array module
-template<typename _Scalar, int _Rows, int _Cols,
-         int _Options = AutoAlign |
-#if defined(__GNUC__) && __GNUC__==3 && __GNUC_MINOR__==4
-    // workaround a bug in at least gcc 3.4.6
-    // the innermost ?: ternary operator is misparsed. We write it slightly
-    // differently and this makes gcc 3.4.6 happy, but it's ugly.
-    // The error would only show up with EIGEN_DEFAULT_TO_ROW_MAJOR is defined
-    // (when EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION is RowMajor)
-                          ( (_Rows==1 && _Cols!=1) ? RowMajor
-                          : !(_Cols==1 && _Rows!=1) ?  EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION
-                          : ColMajor ),
-#else
-                          ( (_Rows==1 && _Cols!=1) ? RowMajor
-                          : (_Cols==1 && _Rows!=1) ? ColMajor
-                          : EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION ),
-#endif
-         int _MaxRows = _Rows, int _MaxCols = _Cols> class Array;
-template<typename ConditionMatrixType, typename ThenMatrixType, typename ElseMatrixType> class Select;
-template<typename MatrixType, typename BinaryOp, int Direction> class PartialReduxExpr;
-template<typename ExpressionType, int Direction> class VectorwiseOp;
-template<typename MatrixType,int RowFactor,int ColFactor> class Replicate;
-template<typename MatrixType, int Direction = BothDirections> class Reverse;
-
-template<typename MatrixType> class FullPivLU;
-template<typename MatrixType> class PartialPivLU;
-namespace internal {
-template<typename MatrixType> struct inverse_impl;
-}
-template<typename MatrixType> class HouseholderQR;
-template<typename MatrixType> class ColPivHouseholderQR;
-template<typename MatrixType> class FullPivHouseholderQR;
-template<typename MatrixType, int QRPreconditioner = ColPivHouseholderQRPreconditioner> class JacobiSVD;
-template<typename MatrixType, int UpLo = Lower> class LLT;
-template<typename MatrixType, int UpLo = Lower> class LDLT;
-template<typename VectorsType, typename CoeffsType, int Side=OnTheLeft> class HouseholderSequence;
-template<typename Scalar>     class JacobiRotation;
-
-// Geometry module:
-template<typename Derived, int _Dim> class RotationBase;
-template<typename Lhs, typename Rhs> class Cross;
-template<typename Derived> class QuaternionBase;
-template<typename Scalar> class Rotation2D;
-template<typename Scalar> class AngleAxis;
-template<typename Scalar,int Dim> class Translation;
-
-// Sparse module:
-template<typename Derived> class SparseMatrixBase;
-
-#ifdef EIGEN2_SUPPORT
-template<typename Derived, int _Dim> class eigen2_RotationBase;
-template<typename Lhs, typename Rhs> class eigen2_Cross;
-template<typename Scalar> class eigen2_Quaternion;
-template<typename Scalar> class eigen2_Rotation2D;
-template<typename Scalar> class eigen2_AngleAxis;
-template<typename Scalar,int Dim> class eigen2_Transform;
-template <typename _Scalar, int _AmbientDim> class eigen2_ParametrizedLine;
-template <typename _Scalar, int _AmbientDim> class eigen2_Hyperplane;
-template<typename Scalar,int Dim> class eigen2_Translation;
-template<typename Scalar,int Dim> class eigen2_Scaling;
-#endif
-
-#if EIGEN2_SUPPORT_STAGE < STAGE20_RESOLVE_API_CONFLICTS
-template<typename Scalar> class Quaternion;
-template<typename Scalar,int Dim> class Transform;
-template <typename _Scalar, int _AmbientDim> class ParametrizedLine;
-template <typename _Scalar, int _AmbientDim> class Hyperplane;
-template<typename Scalar,int Dim> class Scaling;
-#endif
-
-#if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
-template<typename Scalar, int Options = AutoAlign> class Quaternion;
-template<typename Scalar,int Dim,int Mode,int _Options=AutoAlign> class Transform;
-template <typename _Scalar, int _AmbientDim, int Options=AutoAlign> class ParametrizedLine;
-template <typename _Scalar, int _AmbientDim, int Options=AutoAlign> class Hyperplane;
-template<typename Scalar> class UniformScaling;
-template<typename MatrixType,int Direction> class Homogeneous;
-#endif
-
-// MatrixFunctions module
-template<typename Derived> struct MatrixExponentialReturnValue;
-template<typename Derived> class MatrixFunctionReturnValue;
-template<typename Derived> class MatrixSquareRootReturnValue;
-template<typename Derived> class MatrixLogarithmReturnValue;
-template<typename Derived> class MatrixPowerReturnValue;
-template<typename Derived, typename Lhs, typename Rhs> class MatrixPowerProduct;
-
-namespace internal {
-template <typename Scalar>
-struct stem_function
-{
-  typedef std::complex<typename NumTraits<Scalar>::Real> ComplexScalar;
-  typedef ComplexScalar type(ComplexScalar, int);
-};
-}
-
-
-#ifdef EIGEN2_SUPPORT
-template<typename ExpressionType> class Cwise;
-template<typename MatrixType> class Minor;
-template<typename MatrixType> class LU;
-template<typename MatrixType> class QR;
-template<typename MatrixType> class SVD;
-namespace internal {
-template<typename MatrixType, unsigned int Mode> struct eigen2_part_return_type;
-}
-#endif
-
-} // end namespace Eigen
-
-#endif // EIGEN_FORWARDDECLARATIONS_H
diff --git a/lib/Eigen/src/Core/util/MKL_support.h b/lib/Eigen/src/Core/util/MKL_support.h
deleted file mode 100644
index 1ef3b61d..00000000
--- a/lib/Eigen/src/Core/util/MKL_support.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *   Include file with common MKL declarations
- ********************************************************************************
-*/
-
-#ifndef EIGEN_MKL_SUPPORT_H
-#define EIGEN_MKL_SUPPORT_H
-
-#ifdef EIGEN_USE_MKL_ALL
-  #ifndef EIGEN_USE_BLAS
-    #define EIGEN_USE_BLAS
-  #endif
-  #ifndef EIGEN_USE_LAPACKE
-    #define EIGEN_USE_LAPACKE
-  #endif
-  #ifndef EIGEN_USE_MKL_VML
-    #define EIGEN_USE_MKL_VML
-  #endif
-#endif
-
-#ifdef EIGEN_USE_LAPACKE_STRICT
-  #define EIGEN_USE_LAPACKE
-#endif
-
-#if defined(EIGEN_USE_BLAS) || defined(EIGEN_USE_LAPACKE) || defined(EIGEN_USE_MKL_VML)
-  #define EIGEN_USE_MKL
-#endif
-
-#if defined EIGEN_USE_MKL
-#   include <mkl.h> 
-/*Check IMKL version for compatibility: < 10.3 is not usable with Eigen*/
-#   ifndef INTEL_MKL_VERSION
-#       undef EIGEN_USE_MKL /* INTEL_MKL_VERSION is not even defined on older versions */
-#   elif INTEL_MKL_VERSION < 100305    /* the intel-mkl-103-release-notes say this was when the lapacke.h interface was added*/
-#       undef EIGEN_USE_MKL
-#   endif
-#   ifndef EIGEN_USE_MKL
-    /*If the MKL version is too old, undef everything*/
-#       undef   EIGEN_USE_MKL_ALL
-#       undef   EIGEN_USE_BLAS
-#       undef   EIGEN_USE_LAPACKE
-#       undef   EIGEN_USE_MKL_VML
-#       undef   EIGEN_USE_LAPACKE_STRICT
-#       undef   EIGEN_USE_LAPACKE
-#   endif
-#endif
-
-#if defined EIGEN_USE_MKL
-#include <mkl_lapacke.h>
-#define EIGEN_MKL_VML_THRESHOLD 128
-
-/* MKL_DOMAIN_BLAS, etc are defined only in 10.3 update 7 */
-/* MKL_BLAS, etc are not defined in 11.2 */
-#ifdef MKL_DOMAIN_ALL
-#define EIGEN_MKL_DOMAIN_ALL MKL_DOMAIN_ALL
-#else
-#define EIGEN_MKL_DOMAIN_ALL MKL_ALL
-#endif
-
-#ifdef MKL_DOMAIN_BLAS
-#define EIGEN_MKL_DOMAIN_BLAS MKL_DOMAIN_BLAS
-#else
-#define EIGEN_MKL_DOMAIN_BLAS MKL_BLAS
-#endif
-
-#ifdef MKL_DOMAIN_FFT
-#define EIGEN_MKL_DOMAIN_FFT MKL_DOMAIN_FFT
-#else
-#define EIGEN_MKL_DOMAIN_FFT MKL_FFT
-#endif
-
-#ifdef MKL_DOMAIN_VML
-#define EIGEN_MKL_DOMAIN_VML MKL_DOMAIN_VML
-#else
-#define EIGEN_MKL_DOMAIN_VML MKL_VML
-#endif
-
-#ifdef MKL_DOMAIN_PARDISO
-#define EIGEN_MKL_DOMAIN_PARDISO MKL_DOMAIN_PARDISO
-#else
-#define EIGEN_MKL_DOMAIN_PARDISO MKL_PARDISO
-#endif
-
-namespace Eigen {
-
-typedef std::complex<double> dcomplex;
-typedef std::complex<float>  scomplex;
-
-namespace internal {
-
-template<typename MKLType, typename EigenType>
-static inline void assign_scalar_eig2mkl(MKLType& mklScalar, const EigenType& eigenScalar) {
-  mklScalar=eigenScalar;
-}
-
-template<typename MKLType, typename EigenType>
-static inline void assign_conj_scalar_eig2mkl(MKLType& mklScalar, const EigenType& eigenScalar) {
-  mklScalar=eigenScalar;
-}
-
-template <>
-inline void assign_scalar_eig2mkl<MKL_Complex16,dcomplex>(MKL_Complex16& mklScalar, const dcomplex& eigenScalar) {
-  mklScalar.real=eigenScalar.real();
-  mklScalar.imag=eigenScalar.imag();
-}
-
-template <>
-inline void assign_scalar_eig2mkl<MKL_Complex8,scomplex>(MKL_Complex8& mklScalar, const scomplex& eigenScalar) {
-  mklScalar.real=eigenScalar.real();
-  mklScalar.imag=eigenScalar.imag();
-}
-
-template <>
-inline void assign_conj_scalar_eig2mkl<MKL_Complex16,dcomplex>(MKL_Complex16& mklScalar, const dcomplex& eigenScalar) {
-  mklScalar.real=eigenScalar.real();
-  mklScalar.imag=-eigenScalar.imag();
-}
-
-template <>
-inline void assign_conj_scalar_eig2mkl<MKL_Complex8,scomplex>(MKL_Complex8& mklScalar, const scomplex& eigenScalar) {
-  mklScalar.real=eigenScalar.real();
-  mklScalar.imag=-eigenScalar.imag();
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif
-
-#endif // EIGEN_MKL_SUPPORT_H
diff --git a/lib/Eigen/src/Core/util/Macros.h b/lib/Eigen/src/Core/util/Macros.h
deleted file mode 100644
index e0d90eb8..00000000
--- a/lib/Eigen/src/Core/util/Macros.h
+++ /dev/null
@@ -1,714 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MACROS_H
-#define EIGEN_MACROS_H
-
-#define EIGEN_WORLD_VERSION 3
-#define EIGEN_MAJOR_VERSION 2
-#define EIGEN_MINOR_VERSION 8
-
-#define EIGEN_VERSION_AT_LEAST(x,y,z) (EIGEN_WORLD_VERSION>x || (EIGEN_WORLD_VERSION>=x && \
-                                      (EIGEN_MAJOR_VERSION>y || (EIGEN_MAJOR_VERSION>=y && \
-                                                                 EIGEN_MINOR_VERSION>=z))))
-
-
-// Compiler identification, EIGEN_COMP_*
-
-/// \internal EIGEN_COMP_GNUC set to 1 for all compilers compatible with GCC
-#ifdef __GNUC__
-  #define EIGEN_COMP_GNUC 1
-#else
-  #define EIGEN_COMP_GNUC 0
-#endif
-
-/// \internal EIGEN_COMP_CLANG set to 1 if the compiler is clang (alias for __clang__)
-#if defined(__clang__)
-  #define EIGEN_COMP_CLANG 1
-#else
-  #define EIGEN_COMP_CLANG 0
-#endif
-
-
-/// \internal EIGEN_COMP_LLVM set to 1 if the compiler backend is llvm
-#if defined(__llvm__)
-  #define EIGEN_COMP_LLVM 1
-#else
-  #define EIGEN_COMP_LLVM 0
-#endif
-
-/// \internal EIGEN_COMP_ICC set to __INTEL_COMPILER if the compiler is Intel compiler, 0 otherwise
-#if defined(__INTEL_COMPILER)
-  #define EIGEN_COMP_ICC __INTEL_COMPILER
-#else
-  #define EIGEN_COMP_ICC 0
-#endif
-
-/// \internal EIGEN_COMP_MINGW set to 1 if the compiler is mingw
-#if defined(__MINGW32__)
-  #define EIGEN_COMP_MINGW 1
-#else
-  #define EIGEN_COMP_MINGW 0
-#endif
-
-/// \internal EIGEN_COMP_SUNCC set to 1 if the compiler is Solaris Studio
-#if defined(__SUNPRO_CC)
-  #define EIGEN_COMP_SUNCC 1
-#else
-  #define EIGEN_COMP_SUNCC 0
-#endif
-
-/// \internal EIGEN_COMP_MSVC set to _MSC_VER if the compiler is Microsoft Visual C++, 0 otherwise.
-#if defined(_MSC_VER)
-  #define EIGEN_COMP_MSVC _MSC_VER
-#else
-  #define EIGEN_COMP_MSVC 0
-#endif
-
-/// \internal EIGEN_COMP_MSVC_STRICT set to 1 if the compiler is really Microsoft Visual C++ and not ,e.g., ICC
-#if EIGEN_COMP_MSVC && !(EIGEN_COMP_ICC)
-  #define EIGEN_COMP_MSVC_STRICT _MSC_VER
-#else
-  #define EIGEN_COMP_MSVC_STRICT 0
-#endif
-
-/// \internal EIGEN_COMP_IBM set to 1 if the compiler is IBM XL C++
-#if defined(__IBMCPP__) || defined(__xlc__)
-  #define EIGEN_COMP_IBM 1
-#else
-  #define EIGEN_COMP_IBM 0
-#endif
-
-/// \internal EIGEN_COMP_PGI set to 1 if the compiler is Portland Group Compiler
-#if defined(__PGI)
-  #define EIGEN_COMP_PGI 1
-#else
-  #define EIGEN_COMP_PGI 0
-#endif
-
-/// \internal EIGEN_COMP_ARM set to 1 if the compiler is ARM Compiler
-#if defined(__CC_ARM) || defined(__ARMCC_VERSION)
-  #define EIGEN_COMP_ARM 1
-#else
-  #define EIGEN_COMP_ARM 0
-#endif
-
-
-/// \internal EIGEN_GNUC_STRICT set to 1 if the compiler is really GCC and not a compatible compiler (e.g., ICC, clang, mingw, etc.)
-#if EIGEN_COMP_GNUC && !(EIGEN_COMP_CLANG || EIGEN_COMP_ICC || EIGEN_COMP_MINGW || EIGEN_COMP_PGI || EIGEN_COMP_IBM || EIGEN_COMP_ARM )
-  #define EIGEN_COMP_GNUC_STRICT 1
-#else
-  #define EIGEN_COMP_GNUC_STRICT 0
-#endif
-
-
-#if EIGEN_COMP_GNUC
-  #define EIGEN_GNUC_AT_LEAST(x,y) ((__GNUC__==x && __GNUC_MINOR__>=y) || __GNUC__>x)
-  #define EIGEN_GNUC_AT_MOST(x,y)  ((__GNUC__==x && __GNUC_MINOR__<=y) || __GNUC__<x)
-  #define EIGEN_GNUC_AT(x,y)       ( __GNUC__==x && __GNUC_MINOR__==y )
-#else
-  #define EIGEN_GNUC_AT_LEAST(x,y) 0
-  #define EIGEN_GNUC_AT_MOST(x,y)  0
-  #define EIGEN_GNUC_AT(x,y)       0
-#endif
-
-// FIXME: could probably be removed as we do not support gcc 3.x anymore
-#if EIGEN_COMP_GNUC && (__GNUC__ <= 3)
-#define EIGEN_GCC3_OR_OLDER 1
-#else
-#define EIGEN_GCC3_OR_OLDER 0
-#endif
-
-
-// Architecture identification, EIGEN_ARCH_*
-
-#if defined(__x86_64__) || defined(_M_X64) || defined(__amd64)
-  #define EIGEN_ARCH_x86_64 1
-#else
-  #define EIGEN_ARCH_x86_64 0
-#endif
-
-#if defined(__i386__) || defined(_M_IX86) || defined(_X86_) || defined(__i386)
-  #define EIGEN_ARCH_i386 1
-#else
-  #define EIGEN_ARCH_i386 0
-#endif
-
-#if EIGEN_ARCH_x86_64 || EIGEN_ARCH_i386
-  #define EIGEN_ARCH_i386_OR_x86_64 1
-#else
-  #define EIGEN_ARCH_i386_OR_x86_64 0
-#endif
-
-/// \internal EIGEN_ARCH_ARM set to 1 if the architecture is ARM
-#if defined(__arm__)
-  #define EIGEN_ARCH_ARM 1
-#else
-  #define EIGEN_ARCH_ARM 0
-#endif
-
-/// \internal EIGEN_ARCH_ARM64 set to 1 if the architecture is ARM64
-#if defined(__aarch64__)
-  #define EIGEN_ARCH_ARM64 1
-#else
-  #define EIGEN_ARCH_ARM64 0
-#endif
-
-#if EIGEN_ARCH_ARM || EIGEN_ARCH_ARM64
-  #define EIGEN_ARCH_ARM_OR_ARM64 1
-#else
-  #define EIGEN_ARCH_ARM_OR_ARM64 0
-#endif
-
-/// \internal EIGEN_ARCH_MIPS set to 1 if the architecture is MIPS
-#if defined(__mips__) || defined(__mips)
-  #define EIGEN_ARCH_MIPS 1
-#else
-  #define EIGEN_ARCH_MIPS 0
-#endif
-
-/// \internal EIGEN_ARCH_SPARC set to 1 if the architecture is SPARC
-#if defined(__sparc__) || defined(__sparc)
-  #define EIGEN_ARCH_SPARC 1
-#else
-  #define EIGEN_ARCH_SPARC 0
-#endif
-
-/// \internal EIGEN_ARCH_IA64 set to 1 if the architecture is Intel Itanium
-#if defined(__ia64__)
-  #define EIGEN_ARCH_IA64 1
-#else
-  #define EIGEN_ARCH_IA64 0
-#endif
-
-/// \internal EIGEN_ARCH_PPC set to 1 if the architecture is PowerPC
-#if defined(__powerpc__) || defined(__ppc__) || defined(_M_PPC)
-  #define EIGEN_ARCH_PPC 1
-#else
-  #define EIGEN_ARCH_PPC 0
-#endif
-
-
-
-// Operating system identification, EIGEN_OS_*
-
-/// \internal EIGEN_OS_UNIX set to 1 if the OS is a unix variant
-#if defined(__unix__) || defined(__unix)
-  #define EIGEN_OS_UNIX 1
-#else
-  #define EIGEN_OS_UNIX 0
-#endif
-
-/// \internal EIGEN_OS_LINUX set to 1 if the OS is based on Linux kernel
-#if defined(__linux__)
-  #define EIGEN_OS_LINUX 1
-#else
-  #define EIGEN_OS_LINUX 0
-#endif
-
-/// \internal EIGEN_OS_ANDROID set to 1 if the OS is Android
-// note: ANDROID is defined when using ndk_build, __ANDROID__ is defined when using a standalone toolchain.
-#if defined(__ANDROID__) || defined(ANDROID)
-  #define EIGEN_OS_ANDROID 1
-#else
-  #define EIGEN_OS_ANDROID 0
-#endif
-
-/// \internal EIGEN_OS_GNULINUX set to 1 if the OS is GNU Linux and not Linux-based OS (e.g., not android)
-#if defined(__gnu_linux__) && !(EIGEN_OS_ANDROID)
-  #define EIGEN_OS_GNULINUX 1
-#else
-  #define EIGEN_OS_GNULINUX 0
-#endif
-
-/// \internal EIGEN_OS_BSD set to 1 if the OS is a BSD variant
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__DragonFly__)
-  #define EIGEN_OS_BSD 1
-#else
-  #define EIGEN_OS_BSD 0
-#endif
-
-/// \internal EIGEN_OS_MAC set to 1 if the OS is MacOS
-#if defined(__APPLE__)
-  #define EIGEN_OS_MAC 1
-#else
-  #define EIGEN_OS_MAC 0
-#endif
-
-/// \internal EIGEN_OS_QNX set to 1 if the OS is QNX
-#if defined(__QNX__)
-  #define EIGEN_OS_QNX 1
-#else
-  #define EIGEN_OS_QNX 0
-#endif
-
-/// \internal EIGEN_OS_WIN set to 1 if the OS is Windows based
-#if defined(_WIN32)
-  #define EIGEN_OS_WIN 1
-#else
-  #define EIGEN_OS_WIN 0
-#endif
-
-/// \internal EIGEN_OS_WIN64 set to 1 if the OS is Windows 64bits
-#if defined(_WIN64)
-  #define EIGEN_OS_WIN64 1
-#else
-  #define EIGEN_OS_WIN64 0
-#endif
-
-/// \internal EIGEN_OS_WINCE set to 1 if the OS is Windows CE
-#if defined(_WIN32_WCE)
-  #define EIGEN_OS_WINCE 1
-#else
-  #define EIGEN_OS_WINCE 0
-#endif
-
-/// \internal EIGEN_OS_CYGWIN set to 1 if the OS is Windows/Cygwin
-#if defined(__CYGWIN__)
-  #define EIGEN_OS_CYGWIN 1
-#else
-  #define EIGEN_OS_CYGWIN 0
-#endif
-
-/// \internal EIGEN_OS_WIN_STRICT set to 1 if the OS is really Windows and not some variants
-#if EIGEN_OS_WIN && !( EIGEN_OS_WINCE || EIGEN_OS_CYGWIN )
-  #define EIGEN_OS_WIN_STRICT 1
-#else
-  #define EIGEN_OS_WIN_STRICT 0
-#endif
-
-/// \internal EIGEN_OS_SUN set to 1 if the OS is SUN
-#if (defined(sun) || defined(__sun)) && !(defined(__SVR4) || defined(__svr4__))
-  #define EIGEN_OS_SUN 1
-#else
-  #define EIGEN_OS_SUN 0
-#endif
-
-/// \internal EIGEN_OS_SOLARIS set to 1 if the OS is Solaris
-#if (defined(sun) || defined(__sun)) && (defined(__SVR4) || defined(__svr4__))
-  #define EIGEN_OS_SOLARIS 1
-#else
-  #define EIGEN_OS_SOLARIS 0
-#endif
-
-
-#if EIGEN_GNUC_AT_MOST(4,3) && !defined(__clang__)
-  // see bug 89
-  #define EIGEN_SAFE_TO_USE_STANDARD_ASSERT_MACRO 0
-#else
-  #define EIGEN_SAFE_TO_USE_STANDARD_ASSERT_MACRO 1
-#endif
-
-// 16 byte alignment is only useful for vectorization. Since it affects the ABI, we need to enable
-// 16 byte alignment on all platforms where vectorization might be enabled. In theory we could always
-// enable alignment, but it can be a cause of problems on some platforms, so we just disable it in
-// certain common platform (compiler+architecture combinations) to avoid these problems.
-// Only static alignment is really problematic (relies on nonstandard compiler extensions that don't
-// work everywhere, for example don't work on GCC/ARM), try to keep heap alignment even
-// when we have to disable static alignment.
-#if defined(__GNUC__) && !(defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(__ppc__) || defined(__ia64__))
-#define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 1
-#else
-#define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 0
-#endif
-
-// static alignment is completely disabled with GCC 3, Sun Studio, and QCC/QNX
-#if !EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT \
- && !EIGEN_GCC3_OR_OLDER \
- && !defined(__SUNPRO_CC) \
- && !defined(__QNXNTO__)
-  #define EIGEN_ARCH_WANTS_STACK_ALIGNMENT 1
-#else
-  #define EIGEN_ARCH_WANTS_STACK_ALIGNMENT 0
-#endif
-
-#ifdef EIGEN_DONT_ALIGN
-  #ifndef EIGEN_DONT_ALIGN_STATICALLY
-    #define EIGEN_DONT_ALIGN_STATICALLY
-  #endif
-  #define EIGEN_ALIGN 0
-#else
-  #define EIGEN_ALIGN 1
-#endif
-
-// EIGEN_ALIGN_STATICALLY is the true test whether we want to align arrays on the stack or not. It takes into account both the user choice to explicitly disable
-// alignment (EIGEN_DONT_ALIGN_STATICALLY) and the architecture config (EIGEN_ARCH_WANTS_STACK_ALIGNMENT). Henceforth, only EIGEN_ALIGN_STATICALLY should be used.
-#if EIGEN_ARCH_WANTS_STACK_ALIGNMENT && !defined(EIGEN_DONT_ALIGN_STATICALLY)
-  #define EIGEN_ALIGN_STATICALLY 1
-#else
-  #define EIGEN_ALIGN_STATICALLY 0
-  #ifndef EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT
-    #define EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT
-  #endif
-#endif
-
-#ifdef EIGEN_DEFAULT_TO_ROW_MAJOR
-#define EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION RowMajor
-#else
-#define EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION ColMajor
-#endif
-
-#ifndef EIGEN_DEFAULT_DENSE_INDEX_TYPE
-#define EIGEN_DEFAULT_DENSE_INDEX_TYPE std::ptrdiff_t
-#endif
-
-// A Clang feature extension to determine compiler features.
-// We use it to determine 'cxx_rvalue_references'
-#ifndef __has_feature
-# define __has_feature(x) 0
-#endif
-
-// Do we support r-value references?
-#if (__has_feature(cxx_rvalue_references) || \
-     (defined(__cplusplus) && __cplusplus >= 201103L) || \
-     (defined(_MSC_VER) && _MSC_VER >= 1600))
-  #define EIGEN_HAVE_RVALUE_REFERENCES
-#endif
-
-
-// Cross compiler wrapper around LLVM's __has_builtin
-#ifdef __has_builtin
-#  define EIGEN_HAS_BUILTIN(x) __has_builtin(x)
-#else
-#  define EIGEN_HAS_BUILTIN(x) 0
-#endif
-
-/** Allows to disable some optimizations which might affect the accuracy of the result.
-  * Such optimization are enabled by default, and set EIGEN_FAST_MATH to 0 to disable them.
-  * They currently include:
-  *   - single precision Cwise::sin() and Cwise::cos() when SSE vectorization is enabled.
-  */
-#ifndef EIGEN_FAST_MATH
-#define EIGEN_FAST_MATH 1
-#endif
-
-#define EIGEN_DEBUG_VAR(x) std::cerr << #x << " = " << x << std::endl;
-
-// concatenate two tokens
-#define EIGEN_CAT2(a,b) a ## b
-#define EIGEN_CAT(a,b) EIGEN_CAT2(a,b)
-
-// convert a token to a string
-#define EIGEN_MAKESTRING2(a) #a
-#define EIGEN_MAKESTRING(a) EIGEN_MAKESTRING2(a)
-
-// EIGEN_STRONG_INLINE is a stronger version of the inline, using __forceinline on MSVC,
-// but it still doesn't use GCC's always_inline. This is useful in (common) situations where MSVC needs forceinline
-// but GCC is still doing fine with just inline.
-#if (defined _MSC_VER) || (defined __INTEL_COMPILER)
-#define EIGEN_STRONG_INLINE __forceinline
-#else
-#define EIGEN_STRONG_INLINE inline
-#endif
-
-// EIGEN_ALWAYS_INLINE is the stronget, it has the effect of making the function inline and adding every possible
-// attribute to maximize inlining. This should only be used when really necessary: in particular,
-// it uses __attribute__((always_inline)) on GCC, which most of the time is useless and can severely harm compile times.
-// FIXME with the always_inline attribute,
-// gcc 3.4.x reports the following compilation error:
-//   Eval.h:91: sorry, unimplemented: inlining failed in call to 'const Eigen::Eval<Derived> Eigen::MatrixBase<Scalar, Derived>::eval() const'
-//    : function body not available
-#if EIGEN_GNUC_AT_LEAST(4,0)
-#define EIGEN_ALWAYS_INLINE __attribute__((always_inline)) inline
-#else
-#define EIGEN_ALWAYS_INLINE EIGEN_STRONG_INLINE
-#endif
-
-#if (defined __GNUC__)
-#define EIGEN_DONT_INLINE __attribute__((noinline))
-#elif (defined _MSC_VER)
-#define EIGEN_DONT_INLINE __declspec(noinline)
-#else
-#define EIGEN_DONT_INLINE
-#endif
-
-#if (defined __GNUC__)
-#define EIGEN_PERMISSIVE_EXPR __extension__
-#else
-#define EIGEN_PERMISSIVE_EXPR
-#endif
-
-// this macro allows to get rid of linking errors about multiply defined functions.
-//  - static is not very good because it prevents definitions from different object files to be merged.
-//           So static causes the resulting linked executable to be bloated with multiple copies of the same function.
-//  - inline is not perfect either as it unwantedly hints the compiler toward inlining the function.
-#define EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-#define EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS inline
-
-#ifdef NDEBUG
-# ifndef EIGEN_NO_DEBUG
-#  define EIGEN_NO_DEBUG
-# endif
-#endif
-
-// eigen_plain_assert is where we implement the workaround for the assert() bug in GCC <= 4.3, see bug 89
-#ifdef EIGEN_NO_DEBUG
-  #define eigen_plain_assert(x)
-#else
-  #if EIGEN_SAFE_TO_USE_STANDARD_ASSERT_MACRO
-    namespace Eigen {
-    namespace internal {
-    inline bool copy_bool(bool b) { return b; }
-    }
-    }
-    #define eigen_plain_assert(x) assert(x)
-  #else
-    // work around bug 89
-    #include <cstdlib>   // for abort
-    #include <iostream>  // for std::cerr
-
-    namespace Eigen {
-    namespace internal {
-    // trivial function copying a bool. Must be EIGEN_DONT_INLINE, so we implement it after including Eigen headers.
-    // see bug 89.
-    namespace {
-    EIGEN_DONT_INLINE bool copy_bool(bool b) { return b; }
-    }
-    inline void assert_fail(const char *condition, const char *function, const char *file, int line)
-    {
-      std::cerr << "assertion failed: " << condition << " in function " << function << " at " << file << ":" << line << std::endl;
-      abort();
-    }
-    }
-    }
-    #define eigen_plain_assert(x) \
-      do { \
-        if(!Eigen::internal::copy_bool(x)) \
-          Eigen::internal::assert_fail(EIGEN_MAKESTRING(x), __PRETTY_FUNCTION__, __FILE__, __LINE__); \
-      } while(false)
-  #endif
-#endif
-
-// eigen_assert can be overridden
-#ifndef eigen_assert
-#define eigen_assert(x) eigen_plain_assert(x)
-#endif
-
-#ifdef EIGEN_INTERNAL_DEBUGGING
-#define eigen_internal_assert(x) eigen_assert(x)
-#else
-#define eigen_internal_assert(x)
-#endif
-
-#ifdef EIGEN_NO_DEBUG
-#define EIGEN_ONLY_USED_FOR_DEBUG(x) (void)x
-#else
-#define EIGEN_ONLY_USED_FOR_DEBUG(x)
-#endif
-
-#ifndef EIGEN_NO_DEPRECATED_WARNING
-  #if (defined __GNUC__)
-    #define EIGEN_DEPRECATED __attribute__((deprecated))
-  #elif (defined _MSC_VER)
-    #define EIGEN_DEPRECATED __declspec(deprecated)
-  #else
-    #define EIGEN_DEPRECATED
-  #endif
-#else
-  #define EIGEN_DEPRECATED
-#endif
-
-#if (defined __GNUC__)
-#define EIGEN_UNUSED __attribute__((unused))
-#else
-#define EIGEN_UNUSED
-#endif
-
-// Suppresses 'unused variable' warnings.
-namespace Eigen {
-  namespace internal {
-    template<typename T> void ignore_unused_variable(const T&) {}
-  }
-}
-#define EIGEN_UNUSED_VARIABLE(var) Eigen::internal::ignore_unused_variable(var);
-
-#if !defined(EIGEN_ASM_COMMENT)
-  #if (defined __GNUC__) && ( defined(__i386__) || defined(__x86_64__) )
-    #define EIGEN_ASM_COMMENT(X)  __asm__("#" X)
-  #else
-    #define EIGEN_ASM_COMMENT(X)
-  #endif
-#endif
-
-/* EIGEN_ALIGN_TO_BOUNDARY(n) forces data to be n-byte aligned. This is used to satisfy SIMD requirements.
- * However, we do that EVEN if vectorization (EIGEN_VECTORIZE) is disabled,
- * so that vectorization doesn't affect binary compatibility.
- *
- * If we made alignment depend on whether or not EIGEN_VECTORIZE is defined, it would be impossible to link
- * vectorized and non-vectorized code.
- */
-#if (defined __GNUC__) || (defined __PGI) || (defined __IBMCPP__) || (defined __ARMCC_VERSION)
-  #define EIGEN_ALIGN_TO_BOUNDARY(n) __attribute__((aligned(n)))
-#elif (defined _MSC_VER)
-  #define EIGEN_ALIGN_TO_BOUNDARY(n) __declspec(align(n))
-#elif (defined __SUNPRO_CC)
-  // FIXME not sure about this one:
-  #define EIGEN_ALIGN_TO_BOUNDARY(n) __attribute__((aligned(n)))
-#else
-  #error Please tell me what is the equivalent of __attribute__((aligned(n))) for your compiler
-#endif
-
-#define EIGEN_ALIGN8  EIGEN_ALIGN_TO_BOUNDARY(8)
-#define EIGEN_ALIGN16 EIGEN_ALIGN_TO_BOUNDARY(16)
-
-#if EIGEN_ALIGN_STATICALLY
-#define EIGEN_USER_ALIGN_TO_BOUNDARY(n) EIGEN_ALIGN_TO_BOUNDARY(n)
-#define EIGEN_USER_ALIGN16 EIGEN_ALIGN16
-#else
-#define EIGEN_USER_ALIGN_TO_BOUNDARY(n)
-#define EIGEN_USER_ALIGN16
-#endif
-
-#ifdef EIGEN_DONT_USE_RESTRICT_KEYWORD
-  #define EIGEN_RESTRICT
-#endif
-#ifndef EIGEN_RESTRICT
-  #define EIGEN_RESTRICT __restrict
-#endif
-
-#ifndef EIGEN_STACK_ALLOCATION_LIMIT
-// 131072 == 128 KB
-#define EIGEN_STACK_ALLOCATION_LIMIT 131072
-#endif
-
-#ifndef EIGEN_DEFAULT_IO_FORMAT
-#ifdef EIGEN_MAKING_DOCS
-// format used in Eigen's documentation
-// needed to define it here as escaping characters in CMake add_definition's argument seems very problematic.
-#define EIGEN_DEFAULT_IO_FORMAT Eigen::IOFormat(3, 0, " ", "\n", "", "")
-#else
-#define EIGEN_DEFAULT_IO_FORMAT Eigen::IOFormat()
-#endif
-#endif
-
-// just an empty macro !
-#define EIGEN_EMPTY
-
-#if defined(_MSC_VER) && (_MSC_VER < 1900) && (!defined(__INTEL_COMPILER))
-#define EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \
-  using Base::operator =;
-#elif defined(__clang__) // workaround clang bug (see http://forum.kde.org/viewtopic.php?f=74&t=102653)
-#define EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \
-  using Base::operator =; \
-  EIGEN_STRONG_INLINE Derived& operator=(const Derived& other) { Base::operator=(other); return *this; } \
-  template <typename OtherDerived> \
-  EIGEN_STRONG_INLINE Derived& operator=(const DenseBase<OtherDerived>& other) { Base::operator=(other.derived()); return *this; }
-#else
-#define EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \
-  using Base::operator =; \
-  EIGEN_STRONG_INLINE Derived& operator=(const Derived& other) \
-  { \
-    Base::operator=(other); \
-    return *this; \
-  }
-#endif
-
-/** \internal
- * \brief Macro to manually inherit assignment operators.
- * This is necessary, because the implicitly defined assignment operator gets deleted when a custom operator= is defined.
- */
-#define EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Derived) EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived)
-
-/**
-* Just a side note. Commenting within defines works only by documenting
-* behind the object (via '!<'). Comments cannot be multi-line and thus
-* we have these extra long lines. What is confusing doxygen over here is
-* that we use '\' and basically have a bunch of typedefs with their
-* documentation in a single line.
-**/
-
-#define EIGEN_GENERIC_PUBLIC_INTERFACE(Derived) \
-  typedef typename Eigen::internal::traits<Derived>::Scalar Scalar; /*!< \brief Numeric type, e.g. float, double, int or std::complex<float>. */ \
-  typedef typename Eigen::NumTraits<Scalar>::Real RealScalar; /*!< \brief The underlying numeric type for composed scalar types. \details In cases where Scalar is e.g. std::complex<T>, T were corresponding to RealScalar. */ \
-  typedef typename Base::CoeffReturnType CoeffReturnType; /*!< \brief The return type for coefficient access. \details Depending on whether the object allows direct coefficient access (e.g. for a MatrixXd), this type is either 'const Scalar&' or simply 'Scalar' for objects that do not allow direct coefficient access. */ \
-  typedef typename Eigen::internal::nested<Derived>::type Nested; \
-  typedef typename Eigen::internal::traits<Derived>::StorageKind StorageKind; \
-  typedef typename Eigen::internal::traits<Derived>::Index Index; \
-  enum { RowsAtCompileTime = Eigen::internal::traits<Derived>::RowsAtCompileTime, \
-        ColsAtCompileTime = Eigen::internal::traits<Derived>::ColsAtCompileTime, \
-        Flags = Eigen::internal::traits<Derived>::Flags, \
-        CoeffReadCost = Eigen::internal::traits<Derived>::CoeffReadCost, \
-        SizeAtCompileTime = Base::SizeAtCompileTime, \
-        MaxSizeAtCompileTime = Base::MaxSizeAtCompileTime, \
-        IsVectorAtCompileTime = Base::IsVectorAtCompileTime };
-
-
-#define EIGEN_DENSE_PUBLIC_INTERFACE(Derived) \
-  typedef typename Eigen::internal::traits<Derived>::Scalar Scalar; /*!< \brief Numeric type, e.g. float, double, int or std::complex<float>. */ \
-  typedef typename Eigen::NumTraits<Scalar>::Real RealScalar; /*!< \brief The underlying numeric type for composed scalar types. \details In cases where Scalar is e.g. std::complex<T>, T were corresponding to RealScalar. */ \
-  typedef typename Base::PacketScalar PacketScalar; \
-  typedef typename Base::CoeffReturnType CoeffReturnType; /*!< \brief The return type for coefficient access. \details Depending on whether the object allows direct coefficient access (e.g. for a MatrixXd), this type is either 'const Scalar&' or simply 'Scalar' for objects that do not allow direct coefficient access. */ \
-  typedef typename Eigen::internal::nested<Derived>::type Nested; \
-  typedef typename Eigen::internal::traits<Derived>::StorageKind StorageKind; \
-  typedef typename Eigen::internal::traits<Derived>::Index Index; \
-  enum { RowsAtCompileTime = Eigen::internal::traits<Derived>::RowsAtCompileTime, \
-        ColsAtCompileTime = Eigen::internal::traits<Derived>::ColsAtCompileTime, \
-        MaxRowsAtCompileTime = Eigen::internal::traits<Derived>::MaxRowsAtCompileTime, \
-        MaxColsAtCompileTime = Eigen::internal::traits<Derived>::MaxColsAtCompileTime, \
-        Flags = Eigen::internal::traits<Derived>::Flags, \
-        CoeffReadCost = Eigen::internal::traits<Derived>::CoeffReadCost, \
-        SizeAtCompileTime = Base::SizeAtCompileTime, \
-        MaxSizeAtCompileTime = Base::MaxSizeAtCompileTime, \
-        IsVectorAtCompileTime = Base::IsVectorAtCompileTime }; \
-  using Base::derived; \
-  using Base::const_cast_derived;
-
-
-#define EIGEN_PLAIN_ENUM_MIN(a,b) (((int)a <= (int)b) ? (int)a : (int)b)
-#define EIGEN_PLAIN_ENUM_MAX(a,b) (((int)a >= (int)b) ? (int)a : (int)b)
-
-// EIGEN_SIZE_MIN_PREFER_DYNAMIC gives the min between compile-time sizes. 0 has absolute priority, followed by 1,
-// followed by Dynamic, followed by other finite values. The reason for giving Dynamic the priority over
-// finite values is that min(3, Dynamic) should be Dynamic, since that could be anything between 0 and 3.
-#define EIGEN_SIZE_MIN_PREFER_DYNAMIC(a,b) (((int)a == 0 || (int)b == 0) ? 0 \
-                           : ((int)a == 1 || (int)b == 1) ? 1 \
-                           : ((int)a == Dynamic || (int)b == Dynamic) ? Dynamic \
-                           : ((int)a <= (int)b) ? (int)a : (int)b)
-
-// EIGEN_SIZE_MIN_PREFER_FIXED is a variant of EIGEN_SIZE_MIN_PREFER_DYNAMIC comparing MaxSizes. The difference is that finite values
-// now have priority over Dynamic, so that min(3, Dynamic) gives 3. Indeed, whatever the actual value is
-// (between 0 and 3), it is not more than 3.
-#define EIGEN_SIZE_MIN_PREFER_FIXED(a,b)  (((int)a == 0 || (int)b == 0) ? 0 \
-                           : ((int)a == 1 || (int)b == 1) ? 1 \
-                           : ((int)a == Dynamic && (int)b == Dynamic) ? Dynamic \
-                           : ((int)a == Dynamic) ? (int)b \
-                           : ((int)b == Dynamic) ? (int)a \
-                           : ((int)a <= (int)b) ? (int)a : (int)b)
-
-// see EIGEN_SIZE_MIN_PREFER_DYNAMIC. No need for a separate variant for MaxSizes here.
-#define EIGEN_SIZE_MAX(a,b) (((int)a == Dynamic || (int)b == Dynamic) ? Dynamic \
-                           : ((int)a >= (int)b) ? (int)a : (int)b)
-
-#define EIGEN_ADD_COST(a,b) int(a)==Dynamic || int(b)==Dynamic ? Dynamic : int(a)+int(b)
-
-#define EIGEN_LOGICAL_XOR(a,b) (((a) || (b)) && !((a) && (b)))
-
-#define EIGEN_IMPLIES(a,b) (!(a) || (b))
-
-#define EIGEN_MAKE_CWISE_BINARY_OP(METHOD,FUNCTOR) \
-  template<typename OtherDerived> \
-  EIGEN_STRONG_INLINE const CwiseBinaryOp<FUNCTOR<Scalar>, const Derived, const OtherDerived> \
-  (METHOD)(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const \
-  { \
-    return CwiseBinaryOp<FUNCTOR<Scalar>, const Derived, const OtherDerived>(derived(), other.derived()); \
-  }
-
-// the expression type of a cwise product
-#define EIGEN_CWISE_PRODUCT_RETURN_TYPE(LHS,RHS) \
-    CwiseBinaryOp< \
-      internal::scalar_product_op< \
-          typename internal::traits<LHS>::Scalar, \
-          typename internal::traits<RHS>::Scalar \
-      >, \
-      const LHS, \
-      const RHS \
-    >
-
-#endif // EIGEN_MACROS_H
diff --git a/lib/Eigen/src/Core/util/Memory.h b/lib/Eigen/src/Core/util/Memory.h
deleted file mode 100644
index bc1ea69e..00000000
--- a/lib/Eigen/src/Core/util/Memory.h
+++ /dev/null
@@ -1,979 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2008-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2009 Kenneth Riddile <kfriddile@yahoo.com>
-// Copyright (C) 2010 Hauke Heibel <hauke.heibel@gmail.com>
-// Copyright (C) 2010 Thomas Capricelli <orzel@freehackers.org>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-
-/*****************************************************************************
-*** Platform checks for aligned malloc functions                           ***
-*****************************************************************************/
-
-#ifndef EIGEN_MEMORY_H
-#define EIGEN_MEMORY_H
-
-#ifndef EIGEN_MALLOC_ALREADY_ALIGNED
-
-// Try to determine automatically if malloc is already aligned.
-
-// On 64-bit systems, glibc's malloc returns 16-byte-aligned pointers, see:
-//   http://www.gnu.org/s/libc/manual/html_node/Aligned-Memory-Blocks.html
-// This is true at least since glibc 2.8.
-// This leaves the question how to detect 64-bit. According to this document,
-//   http://gcc.fyxm.net/summit/2003/Porting%20to%2064%20bit.pdf
-// page 114, "[The] LP64 model [...] is used by all 64-bit UNIX ports" so it's indeed
-// quite safe, at least within the context of glibc, to equate 64-bit with LP64.
-#if defined(__GLIBC__) && ((__GLIBC__>=2 && __GLIBC_MINOR__ >= 8) || __GLIBC__>2) \
- && defined(__LP64__) && ! defined( __SANITIZE_ADDRESS__ )
-  #define EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED 1
-#else
-  #define EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED 0
-#endif
-
-// FreeBSD 6 seems to have 16-byte aligned malloc
-//   See http://svn.freebsd.org/viewvc/base/stable/6/lib/libc/stdlib/malloc.c?view=markup
-// FreeBSD 7 seems to have 16-byte aligned malloc except on ARM and MIPS architectures
-//   See http://svn.freebsd.org/viewvc/base/stable/7/lib/libc/stdlib/malloc.c?view=markup
-#if defined(__FreeBSD__) && !defined(__arm__) && !defined(__mips__)
-  #define EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED 1
-#else
-  #define EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED 0
-#endif
-
-#if defined(__APPLE__) \
- || defined(_WIN64) \
- || EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED \
- || EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED
-  #define EIGEN_MALLOC_ALREADY_ALIGNED 1
-#else
-  #define EIGEN_MALLOC_ALREADY_ALIGNED 0
-#endif
-
-#endif
-
-// See bug 554 (http://eigen.tuxfamily.org/bz/show_bug.cgi?id=554)
-// It seems to be unsafe to check _POSIX_ADVISORY_INFO without including unistd.h first.
-// Currently, let's include it only on unix systems:
-#if defined(__unix__) || defined(__unix)
-  #include <unistd.h>
-  #if ((defined __QNXNTO__) || (defined _GNU_SOURCE) || (defined __PGI) || ((defined _XOPEN_SOURCE) && (_XOPEN_SOURCE >= 600))) && (defined _POSIX_ADVISORY_INFO) && (_POSIX_ADVISORY_INFO > 0)
-    #define EIGEN_HAS_POSIX_MEMALIGN 1
-  #endif
-#endif
-
-#ifndef EIGEN_HAS_POSIX_MEMALIGN
-  #define EIGEN_HAS_POSIX_MEMALIGN 0
-#endif
-
-#ifdef EIGEN_VECTORIZE_SSE
-  #define EIGEN_HAS_MM_MALLOC 1
-#else
-  #define EIGEN_HAS_MM_MALLOC 0
-#endif
-
-namespace Eigen {
-
-namespace internal {
-
-inline void throw_std_bad_alloc()
-{
-  #ifdef EIGEN_EXCEPTIONS
-    throw std::bad_alloc();
-  #else
-    std::size_t huge = -1;
-    new int[huge];
-  #endif
-}
-
-/*****************************************************************************
-*** Implementation of handmade aligned functions                           ***
-*****************************************************************************/
-
-/* ----- Hand made implementations of aligned malloc/free and realloc ----- */
-
-/** \internal Like malloc, but the returned pointer is guaranteed to be 16-byte aligned.
-  * Fast, but wastes 16 additional bytes of memory. Does not throw any exception.
-  */
-inline void* handmade_aligned_malloc(std::size_t size)
-{
-  void *original = std::malloc(size+16);
-  if (original == 0) return 0;
-  void *aligned = reinterpret_cast<void*>((reinterpret_cast<std::size_t>(original) & ~(std::size_t(15))) + 16);
-  *(reinterpret_cast<void**>(aligned) - 1) = original;
-  return aligned;
-}
-
-/** \internal Frees memory allocated with handmade_aligned_malloc */
-inline void handmade_aligned_free(void *ptr)
-{
-  if (ptr) std::free(*(reinterpret_cast<void**>(ptr) - 1));
-}
-
-/** \internal
-  * \brief Reallocates aligned memory.
-  * Since we know that our handmade version is based on std::realloc
-  * we can use std::realloc to implement efficient reallocation.
-  */
-inline void* handmade_aligned_realloc(void* ptr, std::size_t size, std::size_t = 0)
-{
-  if (ptr == 0) return handmade_aligned_malloc(size);
-  void *original = *(reinterpret_cast<void**>(ptr) - 1);
-  std::ptrdiff_t previous_offset = static_cast<char *>(ptr)-static_cast<char *>(original);
-  original = std::realloc(original,size+16);
-  if (original == 0) return 0;
-  void *aligned = reinterpret_cast<void*>((reinterpret_cast<std::size_t>(original) & ~(std::size_t(15))) + 16);
-  void *previous_aligned = static_cast<char *>(original)+previous_offset;
-  if(aligned!=previous_aligned)
-    std::memmove(aligned, previous_aligned, size);
-  
-  *(reinterpret_cast<void**>(aligned) - 1) = original;
-  return aligned;
-}
-
-/*****************************************************************************
-*** Implementation of generic aligned realloc (when no realloc can be used)***
-*****************************************************************************/
-
-void* aligned_malloc(std::size_t size);
-void  aligned_free(void *ptr);
-
-/** \internal
-  * \brief Reallocates aligned memory.
-  * Allows reallocation with aligned ptr types. This implementation will
-  * always create a new memory chunk and copy the old data.
-  */
-inline void* generic_aligned_realloc(void* ptr, size_t size, size_t old_size)
-{
-  if (ptr==0)
-    return aligned_malloc(size);
-
-  if (size==0)
-  {
-    aligned_free(ptr);
-    return 0;
-  }
-
-  void* newptr = aligned_malloc(size);
-  if (newptr == 0)
-  {
-    #ifdef EIGEN_HAS_ERRNO
-    errno = ENOMEM; // according to the standard
-    #endif
-    return 0;
-  }
-
-  if (ptr != 0)
-  {
-    std::memcpy(newptr, ptr, (std::min)(size,old_size));
-    aligned_free(ptr);
-  }
-
-  return newptr;
-}
-
-/*****************************************************************************
-*** Implementation of portable aligned versions of malloc/free/realloc     ***
-*****************************************************************************/
-
-#ifdef EIGEN_NO_MALLOC
-inline void check_that_malloc_is_allowed()
-{
-  eigen_assert(false && "heap allocation is forbidden (EIGEN_NO_MALLOC is defined)");
-}
-#elif defined EIGEN_RUNTIME_NO_MALLOC
-inline bool is_malloc_allowed_impl(bool update, bool new_value = false)
-{
-  static bool value = true;
-  if (update == 1)
-    value = new_value;
-  return value;
-}
-inline bool is_malloc_allowed() { return is_malloc_allowed_impl(false); }
-inline bool set_is_malloc_allowed(bool new_value) { return is_malloc_allowed_impl(true, new_value); }
-inline void check_that_malloc_is_allowed()
-{
-  eigen_assert(is_malloc_allowed() && "heap allocation is forbidden (EIGEN_RUNTIME_NO_MALLOC is defined and g_is_malloc_allowed is false)");
-}
-#else 
-inline void check_that_malloc_is_allowed()
-{}
-#endif
-
-/** \internal Allocates \a size bytes. The returned pointer is guaranteed to have 16 bytes alignment.
-  * On allocation error, the returned pointer is null, and std::bad_alloc is thrown.
-  */
-inline void* aligned_malloc(size_t size)
-{
-  check_that_malloc_is_allowed();
-
-  void *result;
-  #if !EIGEN_ALIGN
-    result = std::malloc(size);
-  #elif EIGEN_MALLOC_ALREADY_ALIGNED
-    result = std::malloc(size);
-  #elif EIGEN_HAS_POSIX_MEMALIGN
-    if(posix_memalign(&result, 16, size)) result = 0;
-  #elif EIGEN_HAS_MM_MALLOC
-    result = _mm_malloc(size, 16);
-  #elif defined(_MSC_VER) && (!defined(_WIN32_WCE))
-    result = _aligned_malloc(size, 16);
-  #else
-    result = handmade_aligned_malloc(size);
-  #endif
-
-  if(!result && size)
-    throw_std_bad_alloc();
-
-  return result;
-}
-
-/** \internal Frees memory allocated with aligned_malloc. */
-inline void aligned_free(void *ptr)
-{
-  #if !EIGEN_ALIGN
-    std::free(ptr);
-  #elif EIGEN_MALLOC_ALREADY_ALIGNED
-    std::free(ptr);
-  #elif EIGEN_HAS_POSIX_MEMALIGN
-    std::free(ptr);
-  #elif EIGEN_HAS_MM_MALLOC
-    _mm_free(ptr);
-  #elif defined(_MSC_VER) && (!defined(_WIN32_WCE))
-    _aligned_free(ptr);
-  #else
-    handmade_aligned_free(ptr);
-  #endif
-}
-
-/**
-* \internal
-* \brief Reallocates an aligned block of memory.
-* \throws std::bad_alloc on allocation failure
-**/
-inline void* aligned_realloc(void *ptr, size_t new_size, size_t old_size)
-{
-  EIGEN_UNUSED_VARIABLE(old_size);
-
-  void *result;
-#if !EIGEN_ALIGN
-  result = std::realloc(ptr,new_size);
-#elif EIGEN_MALLOC_ALREADY_ALIGNED
-  result = std::realloc(ptr,new_size);
-#elif EIGEN_HAS_POSIX_MEMALIGN
-  result = generic_aligned_realloc(ptr,new_size,old_size);
-#elif EIGEN_HAS_MM_MALLOC
-  // The defined(_mm_free) is just here to verify that this MSVC version
-  // implements _mm_malloc/_mm_free based on the corresponding _aligned_
-  // functions. This may not always be the case and we just try to be safe.
-  #if defined(_MSC_VER) && (!defined(_WIN32_WCE)) && defined(_mm_free)
-    result = _aligned_realloc(ptr,new_size,16);
-  #else
-    result = generic_aligned_realloc(ptr,new_size,old_size);
-  #endif
-#elif defined(_MSC_VER) && (!defined(_WIN32_WCE))
-  result = _aligned_realloc(ptr,new_size,16);
-#else
-  result = handmade_aligned_realloc(ptr,new_size,old_size);
-#endif
-
-  if (!result && new_size)
-    throw_std_bad_alloc();
-
-  return result;
-}
-
-/*****************************************************************************
-*** Implementation of conditionally aligned functions                      ***
-*****************************************************************************/
-
-/** \internal Allocates \a size bytes. If Align is true, then the returned ptr is 16-byte-aligned.
-  * On allocation error, the returned pointer is null, and a std::bad_alloc is thrown.
-  */
-template<bool Align> inline void* conditional_aligned_malloc(size_t size)
-{
-  return aligned_malloc(size);
-}
-
-template<> inline void* conditional_aligned_malloc<false>(size_t size)
-{
-  check_that_malloc_is_allowed();
-
-  void *result = std::malloc(size);
-  if(!result && size)
-    throw_std_bad_alloc();
-  return result;
-}
-
-/** \internal Frees memory allocated with conditional_aligned_malloc */
-template<bool Align> inline void conditional_aligned_free(void *ptr)
-{
-  aligned_free(ptr);
-}
-
-template<> inline void conditional_aligned_free<false>(void *ptr)
-{
-  std::free(ptr);
-}
-
-template<bool Align> inline void* conditional_aligned_realloc(void* ptr, size_t new_size, size_t old_size)
-{
-  return aligned_realloc(ptr, new_size, old_size);
-}
-
-template<> inline void* conditional_aligned_realloc<false>(void* ptr, size_t new_size, size_t)
-{
-  return std::realloc(ptr, new_size);
-}
-
-/*****************************************************************************
-*** Construction/destruction of array elements                             ***
-*****************************************************************************/
-
-/** \internal Constructs the elements of an array.
-  * The \a size parameter tells on how many objects to call the constructor of T.
-  */
-template<typename T> inline T* construct_elements_of_array(T *ptr, size_t size)
-{
-  for (size_t i=0; i < size; ++i) ::new (ptr + i) T;
-  return ptr;
-}
-
-/** \internal Destructs the elements of an array.
-  * The \a size parameters tells on how many objects to call the destructor of T.
-  */
-template<typename T> inline void destruct_elements_of_array(T *ptr, size_t size)
-{
-  // always destruct an array starting from the end.
-  if(ptr)
-    while(size) ptr[--size].~T();
-}
-
-/*****************************************************************************
-*** Implementation of aligned new/delete-like functions                    ***
-*****************************************************************************/
-
-template<typename T>
-EIGEN_ALWAYS_INLINE void check_size_for_overflow(size_t size)
-{
-  if(size > size_t(-1) / sizeof(T))
-    throw_std_bad_alloc();
-}
-
-/** \internal Allocates \a size objects of type T. The returned pointer is guaranteed to have 16 bytes alignment.
-  * On allocation error, the returned pointer is undefined, but a std::bad_alloc is thrown.
-  * The default constructor of T is called.
-  */
-template<typename T> inline T* aligned_new(size_t size)
-{
-  check_size_for_overflow<T>(size);
-  T *result = reinterpret_cast<T*>(aligned_malloc(sizeof(T)*size));
-  return construct_elements_of_array(result, size);
-}
-
-template<typename T, bool Align> inline T* conditional_aligned_new(size_t size)
-{
-  check_size_for_overflow<T>(size);
-  T *result = reinterpret_cast<T*>(conditional_aligned_malloc<Align>(sizeof(T)*size));
-  return construct_elements_of_array(result, size);
-}
-
-/** \internal Deletes objects constructed with aligned_new
-  * The \a size parameters tells on how many objects to call the destructor of T.
-  */
-template<typename T> inline void aligned_delete(T *ptr, size_t size)
-{
-  destruct_elements_of_array<T>(ptr, size);
-  aligned_free(ptr);
-}
-
-/** \internal Deletes objects constructed with conditional_aligned_new
-  * The \a size parameters tells on how many objects to call the destructor of T.
-  */
-template<typename T, bool Align> inline void conditional_aligned_delete(T *ptr, size_t size)
-{
-  destruct_elements_of_array<T>(ptr, size);
-  conditional_aligned_free<Align>(ptr);
-}
-
-template<typename T, bool Align> inline T* conditional_aligned_realloc_new(T* pts, size_t new_size, size_t old_size)
-{
-  check_size_for_overflow<T>(new_size);
-  check_size_for_overflow<T>(old_size);
-  if(new_size < old_size)
-    destruct_elements_of_array(pts+new_size, old_size-new_size);
-  T *result = reinterpret_cast<T*>(conditional_aligned_realloc<Align>(reinterpret_cast<void*>(pts), sizeof(T)*new_size, sizeof(T)*old_size));
-  if(new_size > old_size)
-    construct_elements_of_array(result+old_size, new_size-old_size);
-  return result;
-}
-
-
-template<typename T, bool Align> inline T* conditional_aligned_new_auto(size_t size)
-{
-  if(size==0)
-    return 0; // short-cut. Also fixes Bug 884
-  check_size_for_overflow<T>(size);
-  T *result = reinterpret_cast<T*>(conditional_aligned_malloc<Align>(sizeof(T)*size));
-  if(NumTraits<T>::RequireInitialization)
-    construct_elements_of_array(result, size);
-  return result;
-}
-
-template<typename T, bool Align> inline T* conditional_aligned_realloc_new_auto(T* pts, size_t new_size, size_t old_size)
-{
-  check_size_for_overflow<T>(new_size);
-  check_size_for_overflow<T>(old_size);
-  if(NumTraits<T>::RequireInitialization && (new_size < old_size))
-    destruct_elements_of_array(pts+new_size, old_size-new_size);
-  T *result = reinterpret_cast<T*>(conditional_aligned_realloc<Align>(reinterpret_cast<void*>(pts), sizeof(T)*new_size, sizeof(T)*old_size));
-  if(NumTraits<T>::RequireInitialization && (new_size > old_size))
-    construct_elements_of_array(result+old_size, new_size-old_size);
-  return result;
-}
-
-template<typename T, bool Align> inline void conditional_aligned_delete_auto(T *ptr, size_t size)
-{
-  if(NumTraits<T>::RequireInitialization)
-    destruct_elements_of_array<T>(ptr, size);
-  conditional_aligned_free<Align>(ptr);
-}
-
-/****************************************************************************/
-
-/** \internal Returns the index of the first element of the array that is well aligned for vectorization.
-  *
-  * \param array the address of the start of the array
-  * \param size the size of the array
-  *
-  * \note If no element of the array is well aligned, the size of the array is returned. Typically,
-  * for example with SSE, "well aligned" means 16-byte-aligned. If vectorization is disabled or if the
-  * packet size for the given scalar type is 1, then everything is considered well-aligned.
-  *
-  * \note If the scalar type is vectorizable, we rely on the following assumptions: sizeof(Scalar) is a
-  * power of 2, the packet size in bytes is also a power of 2, and is a multiple of sizeof(Scalar). On the
-  * other hand, we do not assume that the array address is a multiple of sizeof(Scalar), as that fails for
-  * example with Scalar=double on certain 32-bit platforms, see bug #79.
-  *
-  * There is also the variant first_aligned(const MatrixBase&) defined in DenseCoeffsBase.h.
-  */
-template<typename Scalar, typename Index>
-static inline Index first_aligned(const Scalar* array, Index size)
-{
-  static const Index PacketSize = packet_traits<Scalar>::size;
-  static const Index PacketAlignedMask = PacketSize-1;
-
-  if(PacketSize==1)
-  {
-    // Either there is no vectorization, or a packet consists of exactly 1 scalar so that all elements
-    // of the array have the same alignment.
-    return 0;
-  }
-  else if(size_t(array) & (sizeof(Scalar)-1))
-  {
-    // There is vectorization for this scalar type, but the array is not aligned to the size of a single scalar.
-    // Consequently, no element of the array is well aligned.
-    return size;
-  }
-  else
-  {
-    return std::min<Index>( (PacketSize - (Index((size_t(array)/sizeof(Scalar))) & PacketAlignedMask))
-                           & PacketAlignedMask, size);
-  }
-}
-
-/** \internal Returns the smallest integer multiple of \a base and greater or equal to \a size
-  */ 
-template<typename Index> 
-inline static Index first_multiple(Index size, Index base)
-{
-  return ((size+base-1)/base)*base;
-}
-
-// std::copy is much slower than memcpy, so let's introduce a smart_copy which
-// use memcpy on trivial types, i.e., on types that does not require an initialization ctor.
-template<typename T, bool UseMemcpy> struct smart_copy_helper;
-
-template<typename T> void smart_copy(const T* start, const T* end, T* target)
-{
-  smart_copy_helper<T,!NumTraits<T>::RequireInitialization>::run(start, end, target);
-}
-
-template<typename T> struct smart_copy_helper<T,true> {
-  static inline void run(const T* start, const T* end, T* target)
-  { memcpy(target, start, std::ptrdiff_t(end)-std::ptrdiff_t(start)); }
-};
-
-template<typename T> struct smart_copy_helper<T,false> {
-  static inline void run(const T* start, const T* end, T* target)
-  { std::copy(start, end, target); }
-};
-
-
-/*****************************************************************************
-*** Implementation of runtime stack allocation (falling back to malloc)    ***
-*****************************************************************************/
-
-// you can overwrite Eigen's default behavior regarding alloca by defining EIGEN_ALLOCA
-// to the appropriate stack allocation function
-#ifndef EIGEN_ALLOCA
-  #if (defined __linux__) || (defined __APPLE__) || (defined alloca)
-    #define EIGEN_ALLOCA alloca
-  #elif defined(_MSC_VER)
-    #define EIGEN_ALLOCA _alloca
-  #endif
-#endif
-
-// This helper class construct the allocated memory, and takes care of destructing and freeing the handled data
-// at destruction time. In practice this helper class is mainly useful to avoid memory leak in case of exceptions.
-template<typename T> class aligned_stack_memory_handler
-{
-  public:
-    /* Creates a stack_memory_handler responsible for the buffer \a ptr of size \a size.
-     * Note that \a ptr can be 0 regardless of the other parameters.
-     * This constructor takes care of constructing/initializing the elements of the buffer if required by the scalar type T (see NumTraits<T>::RequireInitialization).
-     * In this case, the buffer elements will also be destructed when this handler will be destructed.
-     * Finally, if \a dealloc is true, then the pointer \a ptr is freed.
-     **/
-    aligned_stack_memory_handler(T* ptr, size_t size, bool dealloc)
-      : m_ptr(ptr), m_size(size), m_deallocate(dealloc)
-    {
-      if(NumTraits<T>::RequireInitialization && m_ptr)
-        Eigen::internal::construct_elements_of_array(m_ptr, size);
-    }
-    ~aligned_stack_memory_handler()
-    {
-      if(NumTraits<T>::RequireInitialization && m_ptr)
-        Eigen::internal::destruct_elements_of_array<T>(m_ptr, m_size);
-      if(m_deallocate)
-        Eigen::internal::aligned_free(m_ptr);
-    }
-  protected:
-    T* m_ptr;
-    size_t m_size;
-    bool m_deallocate;
-};
-
-} // end namespace internal
-
-/** \internal
-  * Declares, allocates and construct an aligned buffer named NAME of SIZE elements of type TYPE on the stack
-  * if SIZE is smaller than EIGEN_STACK_ALLOCATION_LIMIT, and if stack allocation is supported by the platform
-  * (currently, this is Linux and Visual Studio only). Otherwise the memory is allocated on the heap.
-  * The allocated buffer is automatically deleted when exiting the scope of this declaration.
-  * If BUFFER is non null, then the declared variable is simply an alias for BUFFER, and no allocation/deletion occurs.
-  * Here is an example:
-  * \code
-  * {
-  *   ei_declare_aligned_stack_constructed_variable(float,data,size,0);
-  *   // use data[0] to data[size-1]
-  * }
-  * \endcode
-  * The underlying stack allocation function can controlled with the EIGEN_ALLOCA preprocessor token.
-  */
-#ifdef EIGEN_ALLOCA
-
-  #if defined(__arm__) || defined(_WIN32)
-    #define EIGEN_ALIGNED_ALLOCA(SIZE) reinterpret_cast<void*>((reinterpret_cast<size_t>(EIGEN_ALLOCA(SIZE+16)) & ~(size_t(15))) + 16)
-  #else
-    #define EIGEN_ALIGNED_ALLOCA EIGEN_ALLOCA
-  #endif
-
-  #define ei_declare_aligned_stack_constructed_variable(TYPE,NAME,SIZE,BUFFER) \
-    Eigen::internal::check_size_for_overflow<TYPE>(SIZE); \
-    TYPE* NAME = (BUFFER)!=0 ? (BUFFER) \
-               : reinterpret_cast<TYPE*>( \
-                      (sizeof(TYPE)*SIZE<=EIGEN_STACK_ALLOCATION_LIMIT) ? EIGEN_ALIGNED_ALLOCA(sizeof(TYPE)*SIZE) \
-                    : Eigen::internal::aligned_malloc(sizeof(TYPE)*SIZE) );  \
-    Eigen::internal::aligned_stack_memory_handler<TYPE> EIGEN_CAT(NAME,_stack_memory_destructor)((BUFFER)==0 ? NAME : 0,SIZE,sizeof(TYPE)*SIZE>EIGEN_STACK_ALLOCATION_LIMIT)
-
-#else
-
-  #define ei_declare_aligned_stack_constructed_variable(TYPE,NAME,SIZE,BUFFER) \
-    Eigen::internal::check_size_for_overflow<TYPE>(SIZE); \
-    TYPE* NAME = (BUFFER)!=0 ? BUFFER : reinterpret_cast<TYPE*>(Eigen::internal::aligned_malloc(sizeof(TYPE)*SIZE));    \
-    Eigen::internal::aligned_stack_memory_handler<TYPE> EIGEN_CAT(NAME,_stack_memory_destructor)((BUFFER)==0 ? NAME : 0,SIZE,true)
-    
-#endif
-
-
-/*****************************************************************************
-*** Implementation of EIGEN_MAKE_ALIGNED_OPERATOR_NEW [_IF]                ***
-*****************************************************************************/
-
-#if EIGEN_ALIGN
-  #ifdef EIGEN_EXCEPTIONS
-    #define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_NOTHROW(NeedsToAlign) \
-      void* operator new(size_t size, const std::nothrow_t&) throw() { \
-        try { return Eigen::internal::conditional_aligned_malloc<NeedsToAlign>(size); } \
-        catch (...) { return 0; } \
-      }
-  #else
-    #define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_NOTHROW(NeedsToAlign) \
-      void* operator new(size_t size, const std::nothrow_t&) throw() { \
-        return Eigen::internal::conditional_aligned_malloc<NeedsToAlign>(size); \
-      }
-  #endif
-
-  #define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign) \
-      void *operator new(size_t size) { \
-        return Eigen::internal::conditional_aligned_malloc<NeedsToAlign>(size); \
-      } \
-      void *operator new[](size_t size) { \
-        return Eigen::internal::conditional_aligned_malloc<NeedsToAlign>(size); \
-      } \
-      void operator delete(void * ptr) throw() { Eigen::internal::conditional_aligned_free<NeedsToAlign>(ptr); } \
-      void operator delete[](void * ptr) throw() { Eigen::internal::conditional_aligned_free<NeedsToAlign>(ptr); } \
-      void operator delete(void * ptr, std::size_t /* sz */) throw() { Eigen::internal::conditional_aligned_free<NeedsToAlign>(ptr); } \
-      void operator delete[](void * ptr, std::size_t /* sz */) throw() { Eigen::internal::conditional_aligned_free<NeedsToAlign>(ptr); } \
-      /* in-place new and delete. since (at least afaik) there is no actual   */ \
-      /* memory allocated we can safely let the default implementation handle */ \
-      /* this particular case. */ \
-      static void *operator new(size_t size, void *ptr) { return ::operator new(size,ptr); } \
-      static void *operator new[](size_t size, void* ptr) { return ::operator new[](size,ptr); } \
-      void operator delete(void * memory, void *ptr) throw() { return ::operator delete(memory,ptr); } \
-      void operator delete[](void * memory, void *ptr) throw() { return ::operator delete[](memory,ptr); } \
-      /* nothrow-new (returns zero instead of std::bad_alloc) */ \
-      EIGEN_MAKE_ALIGNED_OPERATOR_NEW_NOTHROW(NeedsToAlign) \
-      void operator delete(void *ptr, const std::nothrow_t&) throw() { \
-        Eigen::internal::conditional_aligned_free<NeedsToAlign>(ptr); \
-      } \
-      typedef void eigen_aligned_operator_new_marker_type;
-#else
-  #define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign)
-#endif
-
-#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(true)
-#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(Scalar,Size) \
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(bool(((Size)!=Eigen::Dynamic) && ((sizeof(Scalar)*(Size))%16==0)))
-
-/****************************************************************************/
-
-/** \class aligned_allocator
-* \ingroup Core_Module
-*
-* \brief STL compatible allocator to use with with 16 byte aligned types
-*
-* Example:
-* \code
-* // Matrix4f requires 16 bytes alignment:
-* std::map< int, Matrix4f, std::less<int>, 
-*           aligned_allocator<std::pair<const int, Matrix4f> > > my_map_mat4;
-* // Vector3f does not require 16 bytes alignment, no need to use Eigen's allocator:
-* std::map< int, Vector3f > my_map_vec3;
-* \endcode
-*
-* \sa \ref TopicStlContainers.
-*/
-template<class T>
-class aligned_allocator
-{
-public:
-    typedef size_t    size_type;
-    typedef std::ptrdiff_t difference_type;
-    typedef T*        pointer;
-    typedef const T*  const_pointer;
-    typedef T&        reference;
-    typedef const T&  const_reference;
-    typedef T         value_type;
-
-    template<class U>
-    struct rebind
-    {
-        typedef aligned_allocator<U> other;
-    };
-
-    pointer address( reference value ) const
-    {
-        return &value;
-    }
-
-    const_pointer address( const_reference value ) const
-    {
-        return &value;
-    }
-
-    aligned_allocator()
-    {
-    }
-
-    aligned_allocator( const aligned_allocator& )
-    {
-    }
-
-    template<class U>
-    aligned_allocator( const aligned_allocator<U>& )
-    {
-    }
-
-    ~aligned_allocator()
-    {
-    }
-
-    size_type max_size() const
-    {
-        return (std::numeric_limits<size_type>::max)();
-    }
-
-    pointer allocate( size_type num, const void* hint = 0 )
-    {
-        EIGEN_UNUSED_VARIABLE(hint);
-        internal::check_size_for_overflow<T>(num);
-        return static_cast<pointer>( internal::aligned_malloc( num * sizeof(T) ) );
-    }
-
-    void construct( pointer p, const T& value )
-    {
-        ::new( p ) T( value );
-    }
-
-    void destroy( pointer p )
-    {
-        p->~T();
-    }
-
-    void deallocate( pointer p, size_type /*num*/ )
-    {
-        internal::aligned_free( p );
-    }
-
-    bool operator!=(const aligned_allocator<T>& ) const
-    { return false; }
-
-    bool operator==(const aligned_allocator<T>& ) const
-    { return true; }
-};
-
-//---------- Cache sizes ----------
-
-#if !defined(EIGEN_NO_CPUID)
-#  if defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) )
-#    if defined(__PIC__) && defined(__i386__)
-       // Case for x86 with PIC
-#      define EIGEN_CPUID(abcd,func,id) \
-         __asm__ __volatile__ ("xchgl %%ebx, %k1;cpuid; xchgl %%ebx,%k1": "=a" (abcd[0]), "=&r" (abcd[1]), "=c" (abcd[2]), "=d" (abcd[3]) : "a" (func), "c" (id));
-#    elif defined(__PIC__) && defined(__x86_64__)
-       // Case for x64 with PIC. In theory this is only a problem with recent gcc and with medium or large code model, not with the default small code model.
-       // However, we cannot detect which code model is used, and the xchg overhead is negligible anyway.
-#      define EIGEN_CPUID(abcd,func,id) \
-        __asm__ __volatile__ ("xchg{q}\t{%%}rbx, %q1; cpuid; xchg{q}\t{%%}rbx, %q1": "=a" (abcd[0]), "=&r" (abcd[1]), "=c" (abcd[2]), "=d" (abcd[3]) : "0" (func), "2" (id));
-#    else
-       // Case for x86_64 or x86 w/o PIC
-#      define EIGEN_CPUID(abcd,func,id) \
-         __asm__ __volatile__ ("cpuid": "=a" (abcd[0]), "=b" (abcd[1]), "=c" (abcd[2]), "=d" (abcd[3]) : "0" (func), "2" (id) );
-#    endif
-#  elif defined(_MSC_VER)
-#    if (_MSC_VER > 1500) && ( defined(_M_IX86) || defined(_M_X64) )
-#      define EIGEN_CPUID(abcd,func,id) __cpuidex((int*)abcd,func,id)
-#    endif
-#  endif
-#endif
-
-namespace internal {
-
-#ifdef EIGEN_CPUID
-
-inline bool cpuid_is_vendor(int abcd[4], const int vendor[3])
-{
-  return abcd[1]==vendor[0] && abcd[3]==vendor[1] && abcd[2]==vendor[2];
-}
-
-inline void queryCacheSizes_intel_direct(int& l1, int& l2, int& l3)
-{
-  int abcd[4];
-  l1 = l2 = l3 = 0;
-  int cache_id = 0;
-  int cache_type = 0;
-  do {
-    abcd[0] = abcd[1] = abcd[2] = abcd[3] = 0;
-    EIGEN_CPUID(abcd,0x4,cache_id);
-    cache_type  = (abcd[0] & 0x0F) >> 0;
-    if(cache_type==1||cache_type==3) // data or unified cache
-    {
-      int cache_level = (abcd[0] & 0xE0) >> 5;  // A[7:5]
-      int ways        = (abcd[1] & 0xFFC00000) >> 22; // B[31:22]
-      int partitions  = (abcd[1] & 0x003FF000) >> 12; // B[21:12]
-      int line_size   = (abcd[1] & 0x00000FFF) >>  0; // B[11:0]
-      int sets        = (abcd[2]);                    // C[31:0]
-
-      int cache_size = (ways+1) * (partitions+1) * (line_size+1) * (sets+1);
-
-      switch(cache_level)
-      {
-        case 1: l1 = cache_size; break;
-        case 2: l2 = cache_size; break;
-        case 3: l3 = cache_size; break;
-        default: break;
-      }
-    }
-    cache_id++;
-  } while(cache_type>0 && cache_id<16);
-}
-
-inline void queryCacheSizes_intel_codes(int& l1, int& l2, int& l3)
-{
-  int abcd[4];
-  abcd[0] = abcd[1] = abcd[2] = abcd[3] = 0;
-  l1 = l2 = l3 = 0;
-  EIGEN_CPUID(abcd,0x00000002,0);
-  unsigned char * bytes = reinterpret_cast<unsigned char *>(abcd)+2;
-  bool check_for_p2_core2 = false;
-  for(int i=0; i<14; ++i)
-  {
-    switch(bytes[i])
-    {
-      case 0x0A: l1 = 8; break;   // 0Ah   data L1 cache, 8 KB, 2 ways, 32 byte lines
-      case 0x0C: l1 = 16; break;  // 0Ch   data L1 cache, 16 KB, 4 ways, 32 byte lines
-      case 0x0E: l1 = 24; break;  // 0Eh   data L1 cache, 24 KB, 6 ways, 64 byte lines
-      case 0x10: l1 = 16; break;  // 10h   data L1 cache, 16 KB, 4 ways, 32 byte lines (IA-64)
-      case 0x15: l1 = 16; break;  // 15h   code L1 cache, 16 KB, 4 ways, 32 byte lines (IA-64)
-      case 0x2C: l1 = 32; break;  // 2Ch   data L1 cache, 32 KB, 8 ways, 64 byte lines
-      case 0x30: l1 = 32; break;  // 30h   code L1 cache, 32 KB, 8 ways, 64 byte lines
-      case 0x60: l1 = 16; break;  // 60h   data L1 cache, 16 KB, 8 ways, 64 byte lines, sectored
-      case 0x66: l1 = 8; break;   // 66h   data L1 cache, 8 KB, 4 ways, 64 byte lines, sectored
-      case 0x67: l1 = 16; break;  // 67h   data L1 cache, 16 KB, 4 ways, 64 byte lines, sectored
-      case 0x68: l1 = 32; break;  // 68h   data L1 cache, 32 KB, 4 ways, 64 byte lines, sectored
-      case 0x1A: l2 = 96; break;   // code and data L2 cache, 96 KB, 6 ways, 64 byte lines (IA-64)
-      case 0x22: l3 = 512; break;   // code and data L3 cache, 512 KB, 4 ways (!), 64 byte lines, dual-sectored
-      case 0x23: l3 = 1024; break;   // code and data L3 cache, 1024 KB, 8 ways, 64 byte lines, dual-sectored
-      case 0x25: l3 = 2048; break;   // code and data L3 cache, 2048 KB, 8 ways, 64 byte lines, dual-sectored
-      case 0x29: l3 = 4096; break;   // code and data L3 cache, 4096 KB, 8 ways, 64 byte lines, dual-sectored
-      case 0x39: l2 = 128; break;   // code and data L2 cache, 128 KB, 4 ways, 64 byte lines, sectored
-      case 0x3A: l2 = 192; break;   // code and data L2 cache, 192 KB, 6 ways, 64 byte lines, sectored
-      case 0x3B: l2 = 128; break;   // code and data L2 cache, 128 KB, 2 ways, 64 byte lines, sectored
-      case 0x3C: l2 = 256; break;   // code and data L2 cache, 256 KB, 4 ways, 64 byte lines, sectored
-      case 0x3D: l2 = 384; break;   // code and data L2 cache, 384 KB, 6 ways, 64 byte lines, sectored
-      case 0x3E: l2 = 512; break;   // code and data L2 cache, 512 KB, 4 ways, 64 byte lines, sectored
-      case 0x40: l2 = 0; break;   // no integrated L2 cache (P6 core) or L3 cache (P4 core)
-      case 0x41: l2 = 128; break;   // code and data L2 cache, 128 KB, 4 ways, 32 byte lines
-      case 0x42: l2 = 256; break;   // code and data L2 cache, 256 KB, 4 ways, 32 byte lines
-      case 0x43: l2 = 512; break;   // code and data L2 cache, 512 KB, 4 ways, 32 byte lines
-      case 0x44: l2 = 1024; break;   // code and data L2 cache, 1024 KB, 4 ways, 32 byte lines
-      case 0x45: l2 = 2048; break;   // code and data L2 cache, 2048 KB, 4 ways, 32 byte lines
-      case 0x46: l3 = 4096; break;   // code and data L3 cache, 4096 KB, 4 ways, 64 byte lines
-      case 0x47: l3 = 8192; break;   // code and data L3 cache, 8192 KB, 8 ways, 64 byte lines
-      case 0x48: l2 = 3072; break;   // code and data L2 cache, 3072 KB, 12 ways, 64 byte lines
-      case 0x49: if(l2!=0) l3 = 4096; else {check_for_p2_core2=true; l3 = l2 = 4096;} break;// code and data L3 cache, 4096 KB, 16 ways, 64 byte lines (P4) or L2 for core2
-      case 0x4A: l3 = 6144; break;   // code and data L3 cache, 6144 KB, 12 ways, 64 byte lines
-      case 0x4B: l3 = 8192; break;   // code and data L3 cache, 8192 KB, 16 ways, 64 byte lines
-      case 0x4C: l3 = 12288; break;   // code and data L3 cache, 12288 KB, 12 ways, 64 byte lines
-      case 0x4D: l3 = 16384; break;   // code and data L3 cache, 16384 KB, 16 ways, 64 byte lines
-      case 0x4E: l2 = 6144; break;   // code and data L2 cache, 6144 KB, 24 ways, 64 byte lines
-      case 0x78: l2 = 1024; break;   // code and data L2 cache, 1024 KB, 4 ways, 64 byte lines
-      case 0x79: l2 = 128; break;   // code and data L2 cache, 128 KB, 8 ways, 64 byte lines, dual-sectored
-      case 0x7A: l2 = 256; break;   // code and data L2 cache, 256 KB, 8 ways, 64 byte lines, dual-sectored
-      case 0x7B: l2 = 512; break;   // code and data L2 cache, 512 KB, 8 ways, 64 byte lines, dual-sectored
-      case 0x7C: l2 = 1024; break;   // code and data L2 cache, 1024 KB, 8 ways, 64 byte lines, dual-sectored
-      case 0x7D: l2 = 2048; break;   // code and data L2 cache, 2048 KB, 8 ways, 64 byte lines
-      case 0x7E: l2 = 256; break;   // code and data L2 cache, 256 KB, 8 ways, 128 byte lines, sect. (IA-64)
-      case 0x7F: l2 = 512; break;   // code and data L2 cache, 512 KB, 2 ways, 64 byte lines
-      case 0x80: l2 = 512; break;   // code and data L2 cache, 512 KB, 8 ways, 64 byte lines
-      case 0x81: l2 = 128; break;   // code and data L2 cache, 128 KB, 8 ways, 32 byte lines
-      case 0x82: l2 = 256; break;   // code and data L2 cache, 256 KB, 8 ways, 32 byte lines
-      case 0x83: l2 = 512; break;   // code and data L2 cache, 512 KB, 8 ways, 32 byte lines
-      case 0x84: l2 = 1024; break;   // code and data L2 cache, 1024 KB, 8 ways, 32 byte lines
-      case 0x85: l2 = 2048; break;   // code and data L2 cache, 2048 KB, 8 ways, 32 byte lines
-      case 0x86: l2 = 512; break;   // code and data L2 cache, 512 KB, 4 ways, 64 byte lines
-      case 0x87: l2 = 1024; break;   // code and data L2 cache, 1024 KB, 8 ways, 64 byte lines
-      case 0x88: l3 = 2048; break;   // code and data L3 cache, 2048 KB, 4 ways, 64 byte lines (IA-64)
-      case 0x89: l3 = 4096; break;   // code and data L3 cache, 4096 KB, 4 ways, 64 byte lines (IA-64)
-      case 0x8A: l3 = 8192; break;   // code and data L3 cache, 8192 KB, 4 ways, 64 byte lines (IA-64)
-      case 0x8D: l3 = 3072; break;   // code and data L3 cache, 3072 KB, 12 ways, 128 byte lines (IA-64)
-
-      default: break;
-    }
-  }
-  if(check_for_p2_core2 && l2 == l3)
-    l3 = 0;
-  l1 *= 1024;
-  l2 *= 1024;
-  l3 *= 1024;
-}
-
-inline void queryCacheSizes_intel(int& l1, int& l2, int& l3, int max_std_funcs)
-{
-  if(max_std_funcs>=4)
-    queryCacheSizes_intel_direct(l1,l2,l3);
-  else
-    queryCacheSizes_intel_codes(l1,l2,l3);
-}
-
-inline void queryCacheSizes_amd(int& l1, int& l2, int& l3)
-{
-  int abcd[4];
-  abcd[0] = abcd[1] = abcd[2] = abcd[3] = 0;
-  EIGEN_CPUID(abcd,0x80000005,0);
-  l1 = (abcd[2] >> 24) * 1024; // C[31:24] = L1 size in KB
-  abcd[0] = abcd[1] = abcd[2] = abcd[3] = 0;
-  EIGEN_CPUID(abcd,0x80000006,0);
-  l2 = (abcd[2] >> 16) * 1024; // C[31;16] = l2 cache size in KB
-  l3 = ((abcd[3] & 0xFFFC000) >> 18) * 512 * 1024; // D[31;18] = l3 cache size in 512KB
-}
-#endif
-
-/** \internal
- * Queries and returns the cache sizes in Bytes of the L1, L2, and L3 data caches respectively */
-inline void queryCacheSizes(int& l1, int& l2, int& l3)
-{
-  #ifdef EIGEN_CPUID
-  int abcd[4];
-  const int GenuineIntel[] = {0x756e6547, 0x49656e69, 0x6c65746e};
-  const int AuthenticAMD[] = {0x68747541, 0x69746e65, 0x444d4163};
-  const int AMDisbetter_[] = {0x69444d41, 0x74656273, 0x21726574}; // "AMDisbetter!"
-
-  // identify the CPU vendor
-  EIGEN_CPUID(abcd,0x0,0);
-  int max_std_funcs = abcd[1];
-  if(cpuid_is_vendor(abcd,GenuineIntel))
-    queryCacheSizes_intel(l1,l2,l3,max_std_funcs);
-  else if(cpuid_is_vendor(abcd,AuthenticAMD) || cpuid_is_vendor(abcd,AMDisbetter_))
-    queryCacheSizes_amd(l1,l2,l3);
-  else
-    // by default let's use Intel's API
-    queryCacheSizes_intel(l1,l2,l3,max_std_funcs);
-
-  // here is the list of other vendors:
-//   ||cpuid_is_vendor(abcd,"VIA VIA VIA ")
-//   ||cpuid_is_vendor(abcd,"CyrixInstead")
-//   ||cpuid_is_vendor(abcd,"CentaurHauls")
-//   ||cpuid_is_vendor(abcd,"GenuineTMx86")
-//   ||cpuid_is_vendor(abcd,"TransmetaCPU")
-//   ||cpuid_is_vendor(abcd,"RiseRiseRise")
-//   ||cpuid_is_vendor(abcd,"Geode by NSC")
-//   ||cpuid_is_vendor(abcd,"SiS SiS SiS ")
-//   ||cpuid_is_vendor(abcd,"UMC UMC UMC ")
-//   ||cpuid_is_vendor(abcd,"NexGenDriven")
-  #else
-  l1 = l2 = l3 = -1;
-  #endif
-}
-
-/** \internal
- * \returns the size in Bytes of the L1 data cache */
-inline int queryL1CacheSize()
-{
-  int l1(-1), l2, l3;
-  queryCacheSizes(l1,l2,l3);
-  return l1;
-}
-
-/** \internal
- * \returns the size in Bytes of the L2 or L3 cache if this later is present */
-inline int queryTopLevelCacheSize()
-{
-  int l1, l2(-1), l3(-1);
-  queryCacheSizes(l1,l2,l3);
-  return (std::max)(l2,l3);
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_MEMORY_H
diff --git a/lib/Eigen/src/Core/util/Meta.h b/lib/Eigen/src/Core/util/Meta.h
deleted file mode 100644
index 71d58710..00000000
--- a/lib/Eigen/src/Core/util/Meta.h
+++ /dev/null
@@ -1,243 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_META_H
-#define EIGEN_META_H
-
-namespace Eigen {
-
-namespace internal {
-
-/** \internal
-  * \file Meta.h
-  * This file contains generic metaprogramming classes which are not specifically related to Eigen.
-  * \note In case you wonder, yes we're aware that Boost already provides all these features,
-  * we however don't want to add a dependency to Boost.
-  */
-
-struct true_type {  enum { value = 1 }; };
-struct false_type { enum { value = 0 }; };
-
-template<bool Condition, typename Then, typename Else>
-struct conditional { typedef Then type; };
-
-template<typename Then, typename Else>
-struct conditional <false, Then, Else> { typedef Else type; };
-
-template<typename T, typename U> struct is_same { enum { value = 0 }; };
-template<typename T> struct is_same<T,T> { enum { value = 1 }; };
-
-template<typename T> struct remove_reference { typedef T type; };
-template<typename T> struct remove_reference<T&> { typedef T type; };
-
-template<typename T> struct remove_pointer { typedef T type; };
-template<typename T> struct remove_pointer<T*> { typedef T type; };
-template<typename T> struct remove_pointer<T*const> { typedef T type; };
-
-template <class T> struct remove_const { typedef T type; };
-template <class T> struct remove_const<const T> { typedef T type; };
-template <class T> struct remove_const<const T[]> { typedef T type[]; };
-template <class T, unsigned int Size> struct remove_const<const T[Size]> { typedef T type[Size]; };
-
-template<typename T> struct remove_all { typedef T type; };
-template<typename T> struct remove_all<const T>   { typedef typename remove_all<T>::type type; };
-template<typename T> struct remove_all<T const&>  { typedef typename remove_all<T>::type type; };
-template<typename T> struct remove_all<T&>        { typedef typename remove_all<T>::type type; };
-template<typename T> struct remove_all<T const*>  { typedef typename remove_all<T>::type type; };
-template<typename T> struct remove_all<T*>        { typedef typename remove_all<T>::type type; };
-
-template<typename T> struct is_arithmetic      { enum { value = false }; };
-template<> struct is_arithmetic<float>         { enum { value = true }; };
-template<> struct is_arithmetic<double>        { enum { value = true }; };
-template<> struct is_arithmetic<long double>   { enum { value = true }; };
-template<> struct is_arithmetic<bool>          { enum { value = true }; };
-template<> struct is_arithmetic<char>          { enum { value = true }; };
-template<> struct is_arithmetic<signed char>   { enum { value = true }; };
-template<> struct is_arithmetic<unsigned char> { enum { value = true }; };
-template<> struct is_arithmetic<signed short>  { enum { value = true }; };
-template<> struct is_arithmetic<unsigned short>{ enum { value = true }; };
-template<> struct is_arithmetic<signed int>    { enum { value = true }; };
-template<> struct is_arithmetic<unsigned int>  { enum { value = true }; };
-template<> struct is_arithmetic<signed long>   { enum { value = true }; };
-template<> struct is_arithmetic<unsigned long> { enum { value = true }; };
-
-template <typename T> struct add_const { typedef const T type; };
-template <typename T> struct add_const<T&> { typedef T& type; };
-
-template <typename T> struct is_const { enum { value = 0 }; };
-template <typename T> struct is_const<T const> { enum { value = 1 }; };
-
-template<typename T> struct add_const_on_value_type            { typedef const T type;  };
-template<typename T> struct add_const_on_value_type<T&>        { typedef T const& type; };
-template<typename T> struct add_const_on_value_type<T*>        { typedef T const* type; };
-template<typename T> struct add_const_on_value_type<T* const>  { typedef T const* const type; };
-template<typename T> struct add_const_on_value_type<T const* const>  { typedef T const* const type; };
-
-/** \internal Allows to enable/disable an overload
-  * according to a compile time condition.
-  */
-template<bool Condition, typename T> struct enable_if;
-
-template<typename T> struct enable_if<true,T>
-{ typedef T type; };
-
-
-
-/** \internal
-  * A base class do disable default copy ctor and copy assignement operator.
-  */
-class noncopyable
-{
-  noncopyable(const noncopyable&);
-  const noncopyable& operator=(const noncopyable&);
-protected:
-  noncopyable() {}
-  ~noncopyable() {}
-};
-
-
-/** \internal
-  * Convenient struct to get the result type of a unary or binary functor.
-  *
-  * It supports both the current STL mechanism (using the result_type member) as well as
-  * upcoming next STL generation (using a templated result member).
-  * If none of these members is provided, then the type of the first argument is returned. FIXME, that behavior is a pretty bad hack.
-  */
-template<typename T> struct result_of {};
-
-struct has_none {int a[1];};
-struct has_std_result_type {int a[2];};
-struct has_tr1_result {int a[3];};
-
-template<typename Func, typename ArgType, int SizeOf=sizeof(has_none)>
-struct unary_result_of_select {typedef ArgType type;};
-
-template<typename Func, typename ArgType>
-struct unary_result_of_select<Func, ArgType, sizeof(has_std_result_type)> {typedef typename Func::result_type type;};
-
-template<typename Func, typename ArgType>
-struct unary_result_of_select<Func, ArgType, sizeof(has_tr1_result)> {typedef typename Func::template result<Func(ArgType)>::type type;};
-
-template<typename Func, typename ArgType>
-struct result_of<Func(ArgType)> {
-    template<typename T>
-    static has_std_result_type testFunctor(T const *, typename T::result_type const * = 0);
-    template<typename T>
-    static has_tr1_result      testFunctor(T const *, typename T::template result<T(ArgType)>::type const * = 0);
-    static has_none            testFunctor(...);
-
-    // note that the following indirection is needed for gcc-3.3
-    enum {FunctorType = sizeof(testFunctor(static_cast<Func*>(0)))};
-    typedef typename unary_result_of_select<Func, ArgType, FunctorType>::type type;
-};
-
-template<typename Func, typename ArgType0, typename ArgType1, int SizeOf=sizeof(has_none)>
-struct binary_result_of_select {typedef ArgType0 type;};
-
-template<typename Func, typename ArgType0, typename ArgType1>
-struct binary_result_of_select<Func, ArgType0, ArgType1, sizeof(has_std_result_type)>
-{typedef typename Func::result_type type;};
-
-template<typename Func, typename ArgType0, typename ArgType1>
-struct binary_result_of_select<Func, ArgType0, ArgType1, sizeof(has_tr1_result)>
-{typedef typename Func::template result<Func(ArgType0,ArgType1)>::type type;};
-
-template<typename Func, typename ArgType0, typename ArgType1>
-struct result_of<Func(ArgType0,ArgType1)> {
-    template<typename T>
-    static has_std_result_type testFunctor(T const *, typename T::result_type const * = 0);
-    template<typename T>
-    static has_tr1_result      testFunctor(T const *, typename T::template result<T(ArgType0,ArgType1)>::type const * = 0);
-    static has_none            testFunctor(...);
-
-    // note that the following indirection is needed for gcc-3.3
-    enum {FunctorType = sizeof(testFunctor(static_cast<Func*>(0)))};
-    typedef typename binary_result_of_select<Func, ArgType0, ArgType1, FunctorType>::type type;
-};
-
-/** \internal In short, it computes int(sqrt(\a Y)) with \a Y an integer.
-  * Usage example: \code meta_sqrt<1023>::ret \endcode
-  */
-template<int Y,
-         int InfX = 0,
-         int SupX = ((Y==1) ? 1 : Y/2),
-         bool Done = ((SupX-InfX)<=1 ? true : ((SupX*SupX <= Y) && ((SupX+1)*(SupX+1) > Y))) >
-                                // use ?: instead of || just to shut up a stupid gcc 4.3 warning
-class meta_sqrt
-{
-    enum {
-      MidX = (InfX+SupX)/2,
-      TakeInf = MidX*MidX > Y ? 1 : 0,
-      NewInf = int(TakeInf) ? InfX : int(MidX),
-      NewSup = int(TakeInf) ? int(MidX) : SupX
-    };
-  public:
-    enum { ret = meta_sqrt<Y,NewInf,NewSup>::ret };
-};
-
-template<int Y, int InfX, int SupX>
-class meta_sqrt<Y, InfX, SupX, true> { public:  enum { ret = (SupX*SupX <= Y) ? SupX : InfX }; };
-
-/** \internal determines whether the product of two numeric types is allowed and what the return type is */
-template<typename T, typename U> struct scalar_product_traits
-{
-  enum { Defined = 0 };
-};
-
-template<typename T> struct scalar_product_traits<T,T>
-{
-  enum {
-    // Cost = NumTraits<T>::MulCost,
-    Defined = 1
-  };
-  typedef T ReturnType;
-};
-
-template<typename T> struct scalar_product_traits<T,std::complex<T> >
-{
-  enum {
-    // Cost = 2*NumTraits<T>::MulCost,
-    Defined = 1
-  };
-  typedef std::complex<T> ReturnType;
-};
-
-template<typename T> struct scalar_product_traits<std::complex<T>, T>
-{
-  enum {
-    // Cost = 2*NumTraits<T>::MulCost,
-    Defined = 1
-  };
-  typedef std::complex<T> ReturnType;
-};
-
-// FIXME quick workaround around current limitation of result_of
-// template<typename Scalar, typename ArgType0, typename ArgType1>
-// struct result_of<scalar_product_op<Scalar>(ArgType0,ArgType1)> {
-// typedef typename scalar_product_traits<typename remove_all<ArgType0>::type, typename remove_all<ArgType1>::type>::ReturnType type;
-// };
-
-template<typename T> struct is_diagonal
-{ enum { ret = false }; };
-
-template<typename T> struct is_diagonal<DiagonalBase<T> >
-{ enum { ret = true }; };
-
-template<typename T> struct is_diagonal<DiagonalWrapper<T> >
-{ enum { ret = true }; };
-
-template<typename T, int S> struct is_diagonal<DiagonalMatrix<T,S> >
-{ enum { ret = true }; };
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_META_H
diff --git a/lib/Eigen/src/Core/util/NonMPL2.h b/lib/Eigen/src/Core/util/NonMPL2.h
deleted file mode 100644
index 1af67cf1..00000000
--- a/lib/Eigen/src/Core/util/NonMPL2.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#ifdef EIGEN_MPL2_ONLY
-#error Including non-MPL2 code in EIGEN_MPL2_ONLY mode
-#endif
diff --git a/lib/Eigen/src/Core/util/ReenableStupidWarnings.h b/lib/Eigen/src/Core/util/ReenableStupidWarnings.h
deleted file mode 100644
index 5ddfbd4a..00000000
--- a/lib/Eigen/src/Core/util/ReenableStupidWarnings.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifdef EIGEN_WARNINGS_DISABLED
-#undef EIGEN_WARNINGS_DISABLED
-
-#ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
-  #ifdef _MSC_VER
-    #pragma warning( pop )
-  #elif defined __INTEL_COMPILER
-    #pragma warning pop
-  #elif defined __clang__
-    #pragma clang diagnostic pop
-  #endif
-#endif
-
-#endif // EIGEN_WARNINGS_DISABLED
diff --git a/lib/Eigen/src/Core/util/StaticAssert.h b/lib/Eigen/src/Core/util/StaticAssert.h
deleted file mode 100644
index e53d2b87..00000000
--- a/lib/Eigen/src/Core/util/StaticAssert.h
+++ /dev/null
@@ -1,208 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STATIC_ASSERT_H
-#define EIGEN_STATIC_ASSERT_H
-
-/* Some notes on Eigen's static assertion mechanism:
- *
- *  - in EIGEN_STATIC_ASSERT(CONDITION,MSG) the parameter CONDITION must be a compile time boolean
- *    expression, and MSG an enum listed in struct internal::static_assertion<true>
- *
- *  - define EIGEN_NO_STATIC_ASSERT to disable them (and save compilation time)
- *    in that case, the static assertion is converted to the following runtime assert:
- *      eigen_assert(CONDITION && "MSG")
- *
- *  - currently EIGEN_STATIC_ASSERT can only be used in function scope
- *
- */
-
-#ifndef EIGEN_NO_STATIC_ASSERT
-
-  #if __has_feature(cxx_static_assert) || (defined(__cplusplus) && __cplusplus >= 201103L) || (EIGEN_COMP_MSVC >= 1600)
-
-    // if native static_assert is enabled, let's use it
-    #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
-
-  #else // not CXX0X
-
-    namespace Eigen {
-
-    namespace internal {
-
-    template<bool condition>
-    struct static_assertion {};
-
-    template<>
-    struct static_assertion<true>
-    {
-      enum {
-        YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX,
-        YOU_MIXED_VECTORS_OF_DIFFERENT_SIZES,
-        YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES,
-        THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE,
-        THIS_METHOD_IS_ONLY_FOR_MATRICES_OF_A_SPECIFIC_SIZE,
-        THIS_METHOD_IS_ONLY_FOR_OBJECTS_OF_A_SPECIFIC_SIZE,
-        YOU_MADE_A_PROGRAMMING_MISTAKE,
-        EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT,
-        EIGEN_INTERNAL_COMPILATION_ERROR_OR_YOU_MADE_A_PROGRAMMING_MISTAKE,
-        YOU_CALLED_A_FIXED_SIZE_METHOD_ON_A_DYNAMIC_SIZE_MATRIX_OR_VECTOR,
-        YOU_CALLED_A_DYNAMIC_SIZE_METHOD_ON_A_FIXED_SIZE_MATRIX_OR_VECTOR,
-        UNALIGNED_LOAD_AND_STORE_OPERATIONS_UNIMPLEMENTED_ON_ALTIVEC,
-        THIS_FUNCTION_IS_NOT_FOR_INTEGER_NUMERIC_TYPES,
-        FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED,
-        NUMERIC_TYPE_MUST_BE_REAL,
-        COEFFICIENT_WRITE_ACCESS_TO_SELFADJOINT_NOT_SUPPORTED,
-        WRITING_TO_TRIANGULAR_PART_WITH_UNIT_DIAGONAL_IS_NOT_SUPPORTED,
-        THIS_METHOD_IS_ONLY_FOR_FIXED_SIZE,
-        INVALID_MATRIX_PRODUCT,
-        INVALID_VECTOR_VECTOR_PRODUCT__IF_YOU_WANTED_A_DOT_OR_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTIONS,
-        INVALID_MATRIX_PRODUCT__IF_YOU_WANTED_A_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTION,
-        YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY,
-        THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES,
-        THIS_METHOD_IS_ONLY_FOR_ROW_MAJOR_MATRICES,
-        INVALID_MATRIX_TEMPLATE_PARAMETERS,
-        INVALID_MATRIXBASE_TEMPLATE_PARAMETERS,
-        BOTH_MATRICES_MUST_HAVE_THE_SAME_STORAGE_ORDER,
-        THIS_METHOD_IS_ONLY_FOR_DIAGONAL_MATRIX,
-        THE_MATRIX_OR_EXPRESSION_THAT_YOU_PASSED_DOES_NOT_HAVE_THE_EXPECTED_TYPE,
-        THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_WITH_DIRECT_MEMORY_ACCESS_SUCH_AS_MAP_OR_PLAIN_MATRICES,
-        YOU_ALREADY_SPECIFIED_THIS_STRIDE,
-        INVALID_STORAGE_ORDER_FOR_THIS_VECTOR_EXPRESSION,
-        THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD,
-        PACKET_ACCESS_REQUIRES_TO_HAVE_INNER_STRIDE_FIXED_TO_1,
-        THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS,
-        YOU_CANNOT_MIX_ARRAYS_AND_MATRICES,
-        YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION,
-        THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY,
-        YOU_ARE_TRYING_TO_USE_AN_INDEX_BASED_ACCESSOR_ON_AN_EXPRESSION_THAT_DOES_NOT_SUPPORT_THAT,
-        THIS_METHOD_IS_ONLY_FOR_1x1_EXPRESSIONS,
-        THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL,
-        THIS_METHOD_IS_ONLY_FOR_ARRAYS_NOT_MATRICES,
-        YOU_PASSED_A_ROW_VECTOR_BUT_A_COLUMN_VECTOR_WAS_EXPECTED,
-        YOU_PASSED_A_COLUMN_VECTOR_BUT_A_ROW_VECTOR_WAS_EXPECTED,
-        THE_INDEX_TYPE_MUST_BE_A_SIGNED_TYPE,
-        THE_STORAGE_ORDER_OF_BOTH_SIDES_MUST_MATCH,
-        OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG,
-        IMPLICIT_CONVERSION_TO_SCALAR_IS_FOR_INNER_PRODUCT_ONLY,
-        STORAGE_LAYOUT_DOES_NOT_MATCH
-      };
-    };
-
-    } // end namespace internal
-
-    } // end namespace Eigen
-
-    // Specialized implementation for MSVC to avoid "conditional
-    // expression is constant" warnings.  This implementation doesn't
-    // appear to work under GCC, hence the multiple implementations.
-    #ifdef _MSC_VER
-
-      #define EIGEN_STATIC_ASSERT(CONDITION,MSG) \
-        {Eigen::internal::static_assertion<bool(CONDITION)>::MSG;}
-
-    #else
-
-      #define EIGEN_STATIC_ASSERT(CONDITION,MSG) \
-        if (Eigen::internal::static_assertion<bool(CONDITION)>::MSG) {}
-
-    #endif
-
-  #endif // not CXX0X
-
-#else // EIGEN_NO_STATIC_ASSERT
-
-  #define EIGEN_STATIC_ASSERT(CONDITION,MSG) eigen_assert((CONDITION) && #MSG);
-
-#endif // EIGEN_NO_STATIC_ASSERT
-
-
-// static assertion failing if the type \a TYPE is not a vector type
-#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE) \
-  EIGEN_STATIC_ASSERT(TYPE::IsVectorAtCompileTime, \
-                      YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX)
-
-// static assertion failing if the type \a TYPE is not fixed-size
-#define EIGEN_STATIC_ASSERT_FIXED_SIZE(TYPE) \
-  EIGEN_STATIC_ASSERT(TYPE::SizeAtCompileTime!=Eigen::Dynamic, \
-                      YOU_CALLED_A_FIXED_SIZE_METHOD_ON_A_DYNAMIC_SIZE_MATRIX_OR_VECTOR)
-
-// static assertion failing if the type \a TYPE is not dynamic-size
-#define EIGEN_STATIC_ASSERT_DYNAMIC_SIZE(TYPE) \
-  EIGEN_STATIC_ASSERT(TYPE::SizeAtCompileTime==Eigen::Dynamic, \
-                      YOU_CALLED_A_DYNAMIC_SIZE_METHOD_ON_A_FIXED_SIZE_MATRIX_OR_VECTOR)
-
-// static assertion failing if the type \a TYPE is not a vector type of the given size
-#define EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(TYPE, SIZE) \
-  EIGEN_STATIC_ASSERT(TYPE::IsVectorAtCompileTime && TYPE::SizeAtCompileTime==SIZE, \
-                      THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE)
-
-// static assertion failing if the type \a TYPE is not a vector type of the given size
-#define EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(TYPE, ROWS, COLS) \
-  EIGEN_STATIC_ASSERT(TYPE::RowsAtCompileTime==ROWS && TYPE::ColsAtCompileTime==COLS, \
-                      THIS_METHOD_IS_ONLY_FOR_MATRICES_OF_A_SPECIFIC_SIZE)
-
-// static assertion failing if the two vector expression types are not compatible (same fixed-size or dynamic size)
-#define EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(TYPE0,TYPE1) \
-  EIGEN_STATIC_ASSERT( \
-      (int(TYPE0::SizeAtCompileTime)==Eigen::Dynamic \
-    || int(TYPE1::SizeAtCompileTime)==Eigen::Dynamic \
-    || int(TYPE0::SizeAtCompileTime)==int(TYPE1::SizeAtCompileTime)),\
-    YOU_MIXED_VECTORS_OF_DIFFERENT_SIZES)
-
-#define EIGEN_PREDICATE_SAME_MATRIX_SIZE(TYPE0,TYPE1) \
-     ( \
-        (int(TYPE0::SizeAtCompileTime)==0 && int(TYPE1::SizeAtCompileTime)==0) \
-    || (\
-          (int(TYPE0::RowsAtCompileTime)==Eigen::Dynamic \
-        || int(TYPE1::RowsAtCompileTime)==Eigen::Dynamic \
-        || int(TYPE0::RowsAtCompileTime)==int(TYPE1::RowsAtCompileTime)) \
-      &&  (int(TYPE0::ColsAtCompileTime)==Eigen::Dynamic \
-        || int(TYPE1::ColsAtCompileTime)==Eigen::Dynamic \
-        || int(TYPE0::ColsAtCompileTime)==int(TYPE1::ColsAtCompileTime))\
-       ) \
-     )
-
-#ifdef EIGEN2_SUPPORT
-  #define EIGEN_STATIC_ASSERT_NON_INTEGER(TYPE) \
-    eigen_assert(!NumTraits<Scalar>::IsInteger);
-#else
-  #define EIGEN_STATIC_ASSERT_NON_INTEGER(TYPE) \
-    EIGEN_STATIC_ASSERT(!NumTraits<TYPE>::IsInteger, THIS_FUNCTION_IS_NOT_FOR_INTEGER_NUMERIC_TYPES)
-#endif
-
-
-// static assertion failing if it is guaranteed at compile-time that the two matrix expression types have different sizes
-#define EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(TYPE0,TYPE1) \
-  EIGEN_STATIC_ASSERT( \
-     EIGEN_PREDICATE_SAME_MATRIX_SIZE(TYPE0,TYPE1),\
-    YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES)
-
-#define EIGEN_STATIC_ASSERT_SIZE_1x1(TYPE) \
-      EIGEN_STATIC_ASSERT((TYPE::RowsAtCompileTime == 1 || TYPE::RowsAtCompileTime == Dynamic) && \
-                          (TYPE::ColsAtCompileTime == 1 || TYPE::ColsAtCompileTime == Dynamic), \
-                          THIS_METHOD_IS_ONLY_FOR_1x1_EXPRESSIONS)
-
-#define EIGEN_STATIC_ASSERT_LVALUE(Derived) \
-      EIGEN_STATIC_ASSERT(internal::is_lvalue<Derived>::value, \
-                          THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY)
-
-#define EIGEN_STATIC_ASSERT_ARRAYXPR(Derived) \
-      EIGEN_STATIC_ASSERT((internal::is_same<typename internal::traits<Derived>::XprKind, ArrayXpr>::value), \
-                          THIS_METHOD_IS_ONLY_FOR_ARRAYS_NOT_MATRICES)
-
-#define EIGEN_STATIC_ASSERT_SAME_XPR_KIND(Derived1, Derived2) \
-      EIGEN_STATIC_ASSERT((internal::is_same<typename internal::traits<Derived1>::XprKind, \
-                                             typename internal::traits<Derived2>::XprKind \
-                                            >::value), \
-                          YOU_CANNOT_MIX_ARRAYS_AND_MATRICES)
-
-
-#endif // EIGEN_STATIC_ASSERT_H
diff --git a/lib/Eigen/src/Core/util/XprHelper.h b/lib/Eigen/src/Core/util/XprHelper.h
deleted file mode 100644
index d05f8e5f..00000000
--- a/lib/Eigen/src/Core/util/XprHelper.h
+++ /dev/null
@@ -1,469 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_XPRHELPER_H
-#define EIGEN_XPRHELPER_H
-
-// just a workaround because GCC seems to not really like empty structs
-// FIXME: gcc 4.3 generates bad code when strict-aliasing is enabled
-// so currently we simply disable this optimization for gcc 4.3
-#if (defined __GNUG__) && !((__GNUC__==4) && (__GNUC_MINOR__==3))
-  #define EIGEN_EMPTY_STRUCT_CTOR(X) \
-    EIGEN_STRONG_INLINE X() {} \
-    EIGEN_STRONG_INLINE X(const X& ) {}
-#else
-  #define EIGEN_EMPTY_STRUCT_CTOR(X)
-#endif
-
-namespace Eigen {
-
-typedef EIGEN_DEFAULT_DENSE_INDEX_TYPE DenseIndex;
-
-namespace internal {
-
-//classes inheriting no_assignment_operator don't generate a default operator=.
-class no_assignment_operator
-{
-  private:
-    no_assignment_operator& operator=(const no_assignment_operator&);
-};
-
-/** \internal return the index type with the largest number of bits */
-template<typename I1, typename I2>
-struct promote_index_type
-{
-  typedef typename conditional<(sizeof(I1)<sizeof(I2)), I2, I1>::type type;
-};
-
-/** \internal If the template parameter Value is Dynamic, this class is just a wrapper around a T variable that
-  * can be accessed using value() and setValue().
-  * Otherwise, this class is an empty structure and value() just returns the template parameter Value.
-  */
-template<typename T, int Value> class variable_if_dynamic
-{
-  public:
-    EIGEN_EMPTY_STRUCT_CTOR(variable_if_dynamic)
-    explicit variable_if_dynamic(T v) { EIGEN_ONLY_USED_FOR_DEBUG(v); assert(v == T(Value)); }
-    static T value() { return T(Value); }
-    void setValue(T) {}
-};
-
-template<typename T> class variable_if_dynamic<T, Dynamic>
-{
-    T m_value;
-    variable_if_dynamic() { assert(false); }
-  public:
-    explicit variable_if_dynamic(T value) : m_value(value) {}
-    T value() const { return m_value; }
-    void setValue(T value) { m_value = value; }
-};
-
-/** \internal like variable_if_dynamic but for DynamicIndex
-  */
-template<typename T, int Value> class variable_if_dynamicindex
-{
-  public:
-    EIGEN_EMPTY_STRUCT_CTOR(variable_if_dynamicindex)
-    explicit variable_if_dynamicindex(T v) { EIGEN_ONLY_USED_FOR_DEBUG(v); assert(v == T(Value)); }
-    static T value() { return T(Value); }
-    void setValue(T) {}
-};
-
-template<typename T> class variable_if_dynamicindex<T, DynamicIndex>
-{
-    T m_value;
-    variable_if_dynamicindex() { assert(false); }
-  public:
-    explicit variable_if_dynamicindex(T value) : m_value(value) {}
-    T value() const { return m_value; }
-    void setValue(T value) { m_value = value; }
-};
-
-template<typename T> struct functor_traits
-{
-  enum
-  {
-    Cost = 10,
-    PacketAccess = false,
-    IsRepeatable = false
-  };
-};
-
-template<typename T> struct packet_traits;
-
-template<typename T> struct unpacket_traits
-{
-  typedef T type;
-  enum {size=1};
-};
-
-template<typename _Scalar, int _Rows, int _Cols,
-         int _Options = AutoAlign |
-                          ( (_Rows==1 && _Cols!=1) ? RowMajor
-                          : (_Cols==1 && _Rows!=1) ? ColMajor
-                          : EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION ),
-         int _MaxRows = _Rows,
-         int _MaxCols = _Cols
-> class make_proper_matrix_type
-{
-    enum {
-      IsColVector = _Cols==1 && _Rows!=1,
-      IsRowVector = _Rows==1 && _Cols!=1,
-      Options = IsColVector ? (_Options | ColMajor) & ~RowMajor
-              : IsRowVector ? (_Options | RowMajor) & ~ColMajor
-              : _Options
-    };
-  public:
-    typedef Matrix<_Scalar, _Rows, _Cols, Options, _MaxRows, _MaxCols> type;
-};
-
-template<typename Scalar, int Rows, int Cols, int Options, int MaxRows, int MaxCols>
-class compute_matrix_flags
-{
-    enum {
-      row_major_bit = Options&RowMajor ? RowMajorBit : 0,
-      is_dynamic_size_storage = MaxRows==Dynamic || MaxCols==Dynamic,
-
-      aligned_bit =
-      (
-            ((Options&DontAlign)==0)
-        && (
-#if EIGEN_ALIGN_STATICALLY
-             ((!is_dynamic_size_storage) && (((MaxCols*MaxRows*int(sizeof(Scalar))) % 16) == 0))
-#else
-             0
-#endif
-
-          ||
-
-#if EIGEN_ALIGN
-             is_dynamic_size_storage
-#else
-             0
-#endif
-
-          )
-      ) ? AlignedBit : 0,
-      packet_access_bit = packet_traits<Scalar>::Vectorizable && aligned_bit ? PacketAccessBit : 0
-    };
-
-  public:
-    enum { ret = LinearAccessBit | LvalueBit | DirectAccessBit | NestByRefBit | packet_access_bit | row_major_bit | aligned_bit };
-};
-
-template<int _Rows, int _Cols> struct size_at_compile_time
-{
-  enum { ret = (_Rows==Dynamic || _Cols==Dynamic) ? Dynamic : _Rows * _Cols };
-};
-
-/* plain_matrix_type : the difference from eval is that plain_matrix_type is always a plain matrix type,
- * whereas eval is a const reference in the case of a matrix
- */
-
-template<typename T, typename StorageKind = typename traits<T>::StorageKind> struct plain_matrix_type;
-template<typename T, typename BaseClassType> struct plain_matrix_type_dense;
-template<typename T> struct plain_matrix_type<T,Dense>
-{
-  typedef typename plain_matrix_type_dense<T,typename traits<T>::XprKind>::type type;
-};
-
-template<typename T> struct plain_matrix_type_dense<T,MatrixXpr>
-{
-  typedef Matrix<typename traits<T>::Scalar,
-                traits<T>::RowsAtCompileTime,
-                traits<T>::ColsAtCompileTime,
-                AutoAlign | (traits<T>::Flags&RowMajorBit ? RowMajor : ColMajor),
-                traits<T>::MaxRowsAtCompileTime,
-                traits<T>::MaxColsAtCompileTime
-          > type;
-};
-
-template<typename T> struct plain_matrix_type_dense<T,ArrayXpr>
-{
-  typedef Array<typename traits<T>::Scalar,
-                traits<T>::RowsAtCompileTime,
-                traits<T>::ColsAtCompileTime,
-                AutoAlign | (traits<T>::Flags&RowMajorBit ? RowMajor : ColMajor),
-                traits<T>::MaxRowsAtCompileTime,
-                traits<T>::MaxColsAtCompileTime
-          > type;
-};
-
-/* eval : the return type of eval(). For matrices, this is just a const reference
- * in order to avoid a useless copy
- */
-
-template<typename T, typename StorageKind = typename traits<T>::StorageKind> struct eval;
-
-template<typename T> struct eval<T,Dense>
-{
-  typedef typename plain_matrix_type<T>::type type;
-//   typedef typename T::PlainObject type;
-//   typedef T::Matrix<typename traits<T>::Scalar,
-//                 traits<T>::RowsAtCompileTime,
-//                 traits<T>::ColsAtCompileTime,
-//                 AutoAlign | (traits<T>::Flags&RowMajorBit ? RowMajor : ColMajor),
-//                 traits<T>::MaxRowsAtCompileTime,
-//                 traits<T>::MaxColsAtCompileTime
-//           > type;
-};
-
-// for matrices, no need to evaluate, just use a const reference to avoid a useless copy
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-struct eval<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>, Dense>
-{
-  typedef const Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& type;
-};
-
-template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
-struct eval<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>, Dense>
-{
-  typedef const Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& type;
-};
-
-
-
-/* plain_matrix_type_column_major : same as plain_matrix_type but guaranteed to be column-major
- */
-template<typename T> struct plain_matrix_type_column_major
-{
-  enum { Rows = traits<T>::RowsAtCompileTime,
-         Cols = traits<T>::ColsAtCompileTime,
-         MaxRows = traits<T>::MaxRowsAtCompileTime,
-         MaxCols = traits<T>::MaxColsAtCompileTime
-  };
-  typedef Matrix<typename traits<T>::Scalar,
-                Rows,
-                Cols,
-                (MaxRows==1&&MaxCols!=1) ? RowMajor : ColMajor,
-                MaxRows,
-                MaxCols
-          > type;
-};
-
-/* plain_matrix_type_row_major : same as plain_matrix_type but guaranteed to be row-major
- */
-template<typename T> struct plain_matrix_type_row_major
-{
-  enum { Rows = traits<T>::RowsAtCompileTime,
-         Cols = traits<T>::ColsAtCompileTime,
-         MaxRows = traits<T>::MaxRowsAtCompileTime,
-         MaxCols = traits<T>::MaxColsAtCompileTime
-  };
-  typedef Matrix<typename traits<T>::Scalar,
-                Rows,
-                Cols,
-                (MaxCols==1&&MaxRows!=1) ? RowMajor : ColMajor,
-                MaxRows,
-                MaxCols
-          > type;
-};
-
-// we should be able to get rid of this one too
-template<typename T> struct must_nest_by_value { enum { ret = false }; };
-
-/** \internal The reference selector for template expressions. The idea is that we don't
-  * need to use references for expressions since they are light weight proxy
-  * objects which should generate no copying overhead. */
-template <typename T>
-struct ref_selector
-{
-  typedef typename conditional<
-    bool(traits<T>::Flags & NestByRefBit),
-    T const&,
-    const T
-  >::type type;
-};
-
-/** \internal Adds the const qualifier on the value-type of T2 if and only if T1 is a const type */
-template<typename T1, typename T2>
-struct transfer_constness
-{
-  typedef typename conditional<
-    bool(internal::is_const<T1>::value),
-    typename internal::add_const_on_value_type<T2>::type,
-    T2
-  >::type type;
-};
-
-/** \internal Determines how a given expression should be nested into another one.
-  * For example, when you do a * (b+c), Eigen will determine how the expression b+c should be
-  * nested into the bigger product expression. The choice is between nesting the expression b+c as-is, or
-  * evaluating that expression b+c into a temporary variable d, and nest d so that the resulting expression is
-  * a*d. Evaluating can be beneficial for example if every coefficient access in the resulting expression causes
-  * many coefficient accesses in the nested expressions -- as is the case with matrix product for example.
-  *
-  * \param T the type of the expression being nested
-  * \param n the number of coefficient accesses in the nested expression for each coefficient access in the bigger expression.
-  *
-  * Note that if no evaluation occur, then the constness of T is preserved.
-  *
-  * Example. Suppose that a, b, and c are of type Matrix3d. The user forms the expression a*(b+c).
-  * b+c is an expression "sum of matrices", which we will denote by S. In order to determine how to nest it,
-  * the Product expression uses: nested<S, 3>::ret, which turns out to be Matrix3d because the internal logic of
-  * nested determined that in this case it was better to evaluate the expression b+c into a temporary. On the other hand,
-  * since a is of type Matrix3d, the Product expression nests it as nested<Matrix3d, 3>::ret, which turns out to be
-  * const Matrix3d&, because the internal logic of nested determined that since a was already a matrix, there was no point
-  * in copying it into another matrix.
-  */
-template<typename T, int n=1, typename PlainObject = typename eval<T>::type> struct nested
-{
-  enum {
-    // for the purpose of this test, to keep it reasonably simple, we arbitrarily choose a value of Dynamic values.
-    // the choice of 10000 makes it larger than any practical fixed value and even most dynamic values.
-    // in extreme cases where these assumptions would be wrong, we would still at worst suffer performance issues
-    // (poor choice of temporaries).
-    // it's important that this value can still be squared without integer overflowing.
-    DynamicAsInteger = 10000,
-    ScalarReadCost = NumTraits<typename traits<T>::Scalar>::ReadCost,
-    ScalarReadCostAsInteger = ScalarReadCost == Dynamic ? int(DynamicAsInteger) : int(ScalarReadCost),
-    CoeffReadCost = traits<T>::CoeffReadCost,
-    CoeffReadCostAsInteger = CoeffReadCost == Dynamic ? int(DynamicAsInteger) : int(CoeffReadCost),
-    NAsInteger = n == Dynamic ? int(DynamicAsInteger) : n,
-    CostEvalAsInteger   = (NAsInteger+1) * ScalarReadCostAsInteger + CoeffReadCostAsInteger,
-    CostNoEvalAsInteger = NAsInteger * CoeffReadCostAsInteger
-  };
-
-  typedef typename conditional<
-      ( (int(traits<T>::Flags) & EvalBeforeNestingBit) ||
-        int(CostEvalAsInteger) < int(CostNoEvalAsInteger)
-      ),
-      PlainObject,
-      typename ref_selector<T>::type
-  >::type type;
-};
-
-template<typename T>
-inline T* const_cast_ptr(const T* ptr)
-{
-  return const_cast<T*>(ptr);
-}
-
-template<typename Derived, typename XprKind = typename traits<Derived>::XprKind>
-struct dense_xpr_base
-{
-  /* dense_xpr_base should only ever be used on dense expressions, thus falling either into the MatrixXpr or into the ArrayXpr cases */
-};
-
-template<typename Derived>
-struct dense_xpr_base<Derived, MatrixXpr>
-{
-  typedef MatrixBase<Derived> type;
-};
-
-template<typename Derived>
-struct dense_xpr_base<Derived, ArrayXpr>
-{
-  typedef ArrayBase<Derived> type;
-};
-
-/** \internal Helper base class to add a scalar multiple operator
-  * overloads for complex types */
-template<typename Derived, typename Scalar, typename OtherScalar, typename BaseType,
-         bool EnableIt = !is_same<Scalar,OtherScalar>::value >
-struct special_scalar_op_base : public BaseType
-{
-  // dummy operator* so that the
-  // "using special_scalar_op_base::operator*" compiles
-  void operator*() const;
-};
-
-template<typename Derived,typename Scalar,typename OtherScalar, typename BaseType>
-struct special_scalar_op_base<Derived,Scalar,OtherScalar,BaseType,true>  : public BaseType
-{
-  const CwiseUnaryOp<scalar_multiple2_op<Scalar,OtherScalar>, Derived>
-  operator*(const OtherScalar& scalar) const
-  {
-    return CwiseUnaryOp<scalar_multiple2_op<Scalar,OtherScalar>, Derived>
-      (*static_cast<const Derived*>(this), scalar_multiple2_op<Scalar,OtherScalar>(scalar));
-  }
-
-  inline friend const CwiseUnaryOp<scalar_multiple2_op<Scalar,OtherScalar>, Derived>
-  operator*(const OtherScalar& scalar, const Derived& matrix)
-  { return static_cast<const special_scalar_op_base&>(matrix).operator*(scalar); }
-};
-
-template<typename XprType, typename CastType> struct cast_return_type
-{
-  typedef typename XprType::Scalar CurrentScalarType;
-  typedef typename remove_all<CastType>::type _CastType;
-  typedef typename _CastType::Scalar NewScalarType;
-  typedef typename conditional<is_same<CurrentScalarType,NewScalarType>::value,
-                              const XprType&,CastType>::type type;
-};
-
-template <typename A, typename B> struct promote_storage_type;
-
-template <typename A> struct promote_storage_type<A,A>
-{
-  typedef A ret;
-};
-
-/** \internal gives the plain matrix or array type to store a row/column/diagonal of a matrix type.
-  * \param Scalar optional parameter allowing to pass a different scalar type than the one of the MatrixType.
-  */
-template<typename ExpressionType, typename Scalar = typename ExpressionType::Scalar>
-struct plain_row_type
-{
-  typedef Matrix<Scalar, 1, ExpressionType::ColsAtCompileTime,
-                 ExpressionType::PlainObject::Options | RowMajor, 1, ExpressionType::MaxColsAtCompileTime> MatrixRowType;
-  typedef Array<Scalar, 1, ExpressionType::ColsAtCompileTime,
-                 ExpressionType::PlainObject::Options | RowMajor, 1, ExpressionType::MaxColsAtCompileTime> ArrayRowType;
-
-  typedef typename conditional<
-    is_same< typename traits<ExpressionType>::XprKind, MatrixXpr >::value,
-    MatrixRowType,
-    ArrayRowType 
-  >::type type;
-};
-
-template<typename ExpressionType, typename Scalar = typename ExpressionType::Scalar>
-struct plain_col_type
-{
-  typedef Matrix<Scalar, ExpressionType::RowsAtCompileTime, 1,
-                 ExpressionType::PlainObject::Options & ~RowMajor, ExpressionType::MaxRowsAtCompileTime, 1> MatrixColType;
-  typedef Array<Scalar, ExpressionType::RowsAtCompileTime, 1,
-                 ExpressionType::PlainObject::Options & ~RowMajor, ExpressionType::MaxRowsAtCompileTime, 1> ArrayColType;
-
-  typedef typename conditional<
-    is_same< typename traits<ExpressionType>::XprKind, MatrixXpr >::value,
-    MatrixColType,
-    ArrayColType 
-  >::type type;
-};
-
-template<typename ExpressionType, typename Scalar = typename ExpressionType::Scalar>
-struct plain_diag_type
-{
-  enum { diag_size = EIGEN_SIZE_MIN_PREFER_DYNAMIC(ExpressionType::RowsAtCompileTime, ExpressionType::ColsAtCompileTime),
-         max_diag_size = EIGEN_SIZE_MIN_PREFER_FIXED(ExpressionType::MaxRowsAtCompileTime, ExpressionType::MaxColsAtCompileTime)
-  };
-  typedef Matrix<Scalar, diag_size, 1, ExpressionType::PlainObject::Options & ~RowMajor, max_diag_size, 1> MatrixDiagType;
-  typedef Array<Scalar, diag_size, 1, ExpressionType::PlainObject::Options & ~RowMajor, max_diag_size, 1> ArrayDiagType;
-
-  typedef typename conditional<
-    is_same< typename traits<ExpressionType>::XprKind, MatrixXpr >::value,
-    MatrixDiagType,
-    ArrayDiagType 
-  >::type type;
-};
-
-template<typename ExpressionType>
-struct is_lvalue
-{
-  enum { value = !bool(is_const<ExpressionType>::value) &&
-                 bool(traits<ExpressionType>::Flags & LvalueBit) };
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_XPRHELPER_H
diff --git a/lib/Eigen/src/Eigen2Support/Block.h b/lib/Eigen/src/Eigen2Support/Block.h
deleted file mode 100644
index 604456f4..00000000
--- a/lib/Eigen/src/Eigen2Support/Block.h
+++ /dev/null
@@ -1,126 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_BLOCK2_H
-#define EIGEN_BLOCK2_H
-
-namespace Eigen { 
-
-/** \returns a dynamic-size expression of a corner of *this.
-  *
-  * \param type the type of corner. Can be \a Eigen::TopLeft, \a Eigen::TopRight,
-  * \a Eigen::BottomLeft, \a Eigen::BottomRight.
-  * \param cRows the number of rows in the corner
-  * \param cCols the number of columns in the corner
-  *
-  * Example: \include MatrixBase_corner_enum_int_int.cpp
-  * Output: \verbinclude MatrixBase_corner_enum_int_int.out
-  *
-  * \note Even though the returned expression has dynamic size, in the case
-  * when it is applied to a fixed-size matrix, it inherits a fixed maximal size,
-  * which means that evaluating it does not cause a dynamic memory allocation.
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<typename Derived>
-inline Block<Derived> DenseBase<Derived>
-  ::corner(CornerType type, Index cRows, Index cCols)
-{
-  switch(type)
-  {
-    default:
-      eigen_assert(false && "Bad corner type.");
-    case TopLeft:
-      return Block<Derived>(derived(), 0, 0, cRows, cCols);
-    case TopRight:
-      return Block<Derived>(derived(), 0, cols() - cCols, cRows, cCols);
-    case BottomLeft:
-      return Block<Derived>(derived(), rows() - cRows, 0, cRows, cCols);
-    case BottomRight:
-      return Block<Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
-  }
-}
-
-/** This is the const version of corner(CornerType, Index, Index).*/
-template<typename Derived>
-inline const Block<Derived>
-DenseBase<Derived>::corner(CornerType type, Index cRows, Index cCols) const
-{
-  switch(type)
-  {
-    default:
-      eigen_assert(false && "Bad corner type.");
-    case TopLeft:
-      return Block<Derived>(derived(), 0, 0, cRows, cCols);
-    case TopRight:
-      return Block<Derived>(derived(), 0, cols() - cCols, cRows, cCols);
-    case BottomLeft:
-      return Block<Derived>(derived(), rows() - cRows, 0, cRows, cCols);
-    case BottomRight:
-      return Block<Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
-  }
-}
-
-/** \returns a fixed-size expression of a corner of *this.
-  *
-  * \param type the type of corner. Can be \a Eigen::TopLeft, \a Eigen::TopRight,
-  * \a Eigen::BottomLeft, \a Eigen::BottomRight.
-  *
-  * The template parameters CRows and CCols arethe number of rows and columns in the corner.
-  *
-  * Example: \include MatrixBase_template_int_int_corner_enum.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_corner_enum.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<typename Derived>
-template<int CRows, int CCols>
-inline Block<Derived, CRows, CCols>
-DenseBase<Derived>::corner(CornerType type)
-{
-  switch(type)
-  {
-    default:
-      eigen_assert(false && "Bad corner type.");
-    case TopLeft:
-      return Block<Derived, CRows, CCols>(derived(), 0, 0);
-    case TopRight:
-      return Block<Derived, CRows, CCols>(derived(), 0, cols() - CCols);
-    case BottomLeft:
-      return Block<Derived, CRows, CCols>(derived(), rows() - CRows, 0);
-    case BottomRight:
-      return Block<Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
-  }
-}
-
-/** This is the const version of corner<int, int>(CornerType).*/
-template<typename Derived>
-template<int CRows, int CCols>
-inline const Block<Derived, CRows, CCols>
-DenseBase<Derived>::corner(CornerType type) const
-{
-  switch(type)
-  {
-    default:
-      eigen_assert(false && "Bad corner type.");
-    case TopLeft:
-      return Block<Derived, CRows, CCols>(derived(), 0, 0);
-    case TopRight:
-      return Block<Derived, CRows, CCols>(derived(), 0, cols() - CCols);
-    case BottomLeft:
-      return Block<Derived, CRows, CCols>(derived(), rows() - CRows, 0);
-    case BottomRight:
-      return Block<Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
-  }
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_BLOCK2_H
diff --git a/lib/Eigen/src/Eigen2Support/CMakeLists.txt b/lib/Eigen/src/Eigen2Support/CMakeLists.txt
deleted file mode 100644
index 7ae41b3c..00000000
--- a/lib/Eigen/src/Eigen2Support/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-FILE(GLOB Eigen_Eigen2Support_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Eigen2Support_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support COMPONENT Devel
-  )
-
-ADD_SUBDIRECTORY(Geometry)
\ No newline at end of file
diff --git a/lib/Eigen/src/Eigen2Support/Cwise.h b/lib/Eigen/src/Eigen2Support/Cwise.h
deleted file mode 100644
index d95009b6..00000000
--- a/lib/Eigen/src/Eigen2Support/Cwise.h
+++ /dev/null
@@ -1,192 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CWISE_H
-#define EIGEN_CWISE_H
-
-namespace Eigen { 
-
-/** \internal
-  * convenient macro to defined the return type of a cwise binary operation */
-#define EIGEN_CWISE_BINOP_RETURN_TYPE(OP) \
-    CwiseBinaryOp<OP<typename internal::traits<ExpressionType>::Scalar>, ExpressionType, OtherDerived>
-
-/** \internal
-  * convenient macro to defined the return type of a cwise unary operation */
-#define EIGEN_CWISE_UNOP_RETURN_TYPE(OP) \
-    CwiseUnaryOp<OP<typename internal::traits<ExpressionType>::Scalar>, ExpressionType>
-
-/** \internal
-  * convenient macro to defined the return type of a cwise comparison to a scalar */
-#define EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(OP) \
-    CwiseBinaryOp<OP<typename internal::traits<ExpressionType>::Scalar>, ExpressionType, \
-        typename ExpressionType::ConstantReturnType >
-
-/** \class Cwise
-  *
-  * \brief Pseudo expression providing additional coefficient-wise operations
-  *
-  * \param ExpressionType the type of the object on which to do coefficient-wise operations
-  *
-  * This class represents an expression with additional coefficient-wise features.
-  * It is the return type of MatrixBase::cwise()
-  * and most of the time this is the only way it is used.
-  *
-  * Example: \include MatrixBase_cwise_const.cpp
-  * Output: \verbinclude MatrixBase_cwise_const.out
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_CWISE_PLUGIN.
-  *
-  * \sa MatrixBase::cwise() const, MatrixBase::cwise()
-  */
-template<typename ExpressionType> class Cwise
-{
-  public:
-
-    typedef typename internal::traits<ExpressionType>::Scalar Scalar;
-    typedef typename internal::conditional<internal::must_nest_by_value<ExpressionType>::ret,
-        ExpressionType, const ExpressionType&>::type ExpressionTypeNested;
-    typedef CwiseUnaryOp<internal::scalar_add_op<Scalar>, ExpressionType> ScalarAddReturnType;
-
-    inline Cwise(const ExpressionType& matrix) : m_matrix(matrix) {}
-
-    /** \internal */
-    inline const ExpressionType& _expression() const { return m_matrix; }
-
-    template<typename OtherDerived>
-    const EIGEN_CWISE_PRODUCT_RETURN_TYPE(ExpressionType,OtherDerived)
-    operator*(const MatrixBase<OtherDerived> &other) const;
-
-    template<typename OtherDerived>
-    const EIGEN_CWISE_BINOP_RETURN_TYPE(internal::scalar_quotient_op)
-    operator/(const MatrixBase<OtherDerived> &other) const;
-
-    /** \deprecated ArrayBase::min() */
-    template<typename OtherDerived>
-    const EIGEN_CWISE_BINOP_RETURN_TYPE(internal::scalar_min_op)
-    (min)(const MatrixBase<OtherDerived> &other) const
-    { return EIGEN_CWISE_BINOP_RETURN_TYPE(internal::scalar_min_op)(_expression(), other.derived()); }
-
-    /** \deprecated ArrayBase::max() */
-    template<typename OtherDerived>
-    const EIGEN_CWISE_BINOP_RETURN_TYPE(internal::scalar_max_op)
-    (max)(const MatrixBase<OtherDerived> &other) const
-    { return EIGEN_CWISE_BINOP_RETURN_TYPE(internal::scalar_max_op)(_expression(), other.derived()); }
-
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_abs_op)      abs() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_abs2_op)     abs2() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_square_op)   square() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_cube_op)     cube() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_inverse_op)  inverse() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_sqrt_op)     sqrt() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_exp_op)      exp() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_log_op)      log() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_cos_op)      cos() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_sin_op)      sin() const;
-    const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_pow_op)      pow(const Scalar& exponent) const;
-
-    const ScalarAddReturnType
-    operator+(const Scalar& scalar) const;
-
-    /** \relates Cwise */
-    friend const ScalarAddReturnType
-    operator+(const Scalar& scalar, const Cwise& mat)
-    { return mat + scalar; }
-
-    ExpressionType& operator+=(const Scalar& scalar);
-
-    const ScalarAddReturnType
-    operator-(const Scalar& scalar) const;
-
-    ExpressionType& operator-=(const Scalar& scalar);
-
-    template<typename OtherDerived>
-    inline ExpressionType& operator*=(const MatrixBase<OtherDerived> &other);
-
-    template<typename OtherDerived>
-    inline ExpressionType& operator/=(const MatrixBase<OtherDerived> &other);
-
-    template<typename OtherDerived> const EIGEN_CWISE_BINOP_RETURN_TYPE(std::less)
-    operator<(const MatrixBase<OtherDerived>& other) const;
-
-    template<typename OtherDerived> const EIGEN_CWISE_BINOP_RETURN_TYPE(std::less_equal)
-    operator<=(const MatrixBase<OtherDerived>& other) const;
-
-    template<typename OtherDerived> const EIGEN_CWISE_BINOP_RETURN_TYPE(std::greater)
-    operator>(const MatrixBase<OtherDerived>& other) const;
-
-    template<typename OtherDerived> const EIGEN_CWISE_BINOP_RETURN_TYPE(std::greater_equal)
-    operator>=(const MatrixBase<OtherDerived>& other) const;
-
-    template<typename OtherDerived> const EIGEN_CWISE_BINOP_RETURN_TYPE(std::equal_to)
-    operator==(const MatrixBase<OtherDerived>& other) const;
-
-    template<typename OtherDerived> const EIGEN_CWISE_BINOP_RETURN_TYPE(std::not_equal_to)
-    operator!=(const MatrixBase<OtherDerived>& other) const;
-
-    // comparisons to a scalar value
-    const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::less)
-    operator<(Scalar s) const;
-
-    const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::less_equal)
-    operator<=(Scalar s) const;
-
-    const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::greater)
-    operator>(Scalar s) const;
-
-    const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::greater_equal)
-    operator>=(Scalar s) const;
-
-    const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::equal_to)
-    operator==(Scalar s) const;
-
-    const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::not_equal_to)
-    operator!=(Scalar s) const;
-
-    // allow to extend Cwise outside Eigen
-    #ifdef EIGEN_CWISE_PLUGIN
-    #include EIGEN_CWISE_PLUGIN
-    #endif
-
-  protected:
-    ExpressionTypeNested m_matrix;
-};
-
-
-/** \returns a Cwise wrapper of *this providing additional coefficient-wise operations
-  *
-  * Example: \include MatrixBase_cwise_const.cpp
-  * Output: \verbinclude MatrixBase_cwise_const.out
-  *
-  * \sa class Cwise, cwise()
-  */
-template<typename Derived>
-inline const Cwise<Derived> MatrixBase<Derived>::cwise() const
-{
-  return derived();
-}
-
-/** \returns a Cwise wrapper of *this providing additional coefficient-wise operations
-  *
-  * Example: \include MatrixBase_cwise.cpp
-  * Output: \verbinclude MatrixBase_cwise.out
-  *
-  * \sa class Cwise, cwise() const
-  */
-template<typename Derived>
-inline Cwise<Derived> MatrixBase<Derived>::cwise()
-{
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_CWISE_H
diff --git a/lib/Eigen/src/Eigen2Support/CwiseOperators.h b/lib/Eigen/src/Eigen2Support/CwiseOperators.h
deleted file mode 100644
index 482f3064..00000000
--- a/lib/Eigen/src/Eigen2Support/CwiseOperators.h
+++ /dev/null
@@ -1,298 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ARRAY_CWISE_OPERATORS_H
-#define EIGEN_ARRAY_CWISE_OPERATORS_H
-
-namespace Eigen { 
-
-/***************************************************************************
-* The following functions were defined in Core
-***************************************************************************/
-
-
-/** \deprecated ArrayBase::abs() */
-template<typename ExpressionType>
-EIGEN_STRONG_INLINE const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_abs_op)
-Cwise<ExpressionType>::abs() const
-{
-  return _expression();
-}
-
-/** \deprecated ArrayBase::abs2() */
-template<typename ExpressionType>
-EIGEN_STRONG_INLINE const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_abs2_op)
-Cwise<ExpressionType>::abs2() const
-{
-  return _expression();
-}
-
-/** \deprecated ArrayBase::exp() */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_exp_op)
-Cwise<ExpressionType>::exp() const
-{
-  return _expression();
-}
-
-/** \deprecated ArrayBase::log() */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_log_op)
-Cwise<ExpressionType>::log() const
-{
-  return _expression();
-}
-
-/** \deprecated ArrayBase::operator*() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE const EIGEN_CWISE_PRODUCT_RETURN_TYPE(ExpressionType,OtherDerived)
-Cwise<ExpressionType>::operator*(const MatrixBase<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_PRODUCT_RETURN_TYPE(ExpressionType,OtherDerived)(_expression(), other.derived());
-}
-
-/** \deprecated ArrayBase::operator/() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE const EIGEN_CWISE_BINOP_RETURN_TYPE(internal::scalar_quotient_op)
-Cwise<ExpressionType>::operator/(const MatrixBase<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_BINOP_RETURN_TYPE(internal::scalar_quotient_op)(_expression(), other.derived());
-}
-
-/** \deprecated ArrayBase::operator*=() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-inline ExpressionType& Cwise<ExpressionType>::operator*=(const MatrixBase<OtherDerived> &other)
-{
-  return m_matrix.const_cast_derived() = *this * other;
-}
-
-/** \deprecated ArrayBase::operator/=() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-inline ExpressionType& Cwise<ExpressionType>::operator/=(const MatrixBase<OtherDerived> &other)
-{
-  return m_matrix.const_cast_derived() = *this / other;
-}
-
-/***************************************************************************
-* The following functions were defined in Array
-***************************************************************************/
-
-// -- unary operators --
-
-/** \deprecated ArrayBase::sqrt() */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_sqrt_op)
-Cwise<ExpressionType>::sqrt() const
-{
-  return _expression();
-}
-
-/** \deprecated ArrayBase::cos() */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_cos_op)
-Cwise<ExpressionType>::cos() const
-{
-  return _expression();
-}
-
-
-/** \deprecated ArrayBase::sin() */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_sin_op)
-Cwise<ExpressionType>::sin() const
-{
-  return _expression();
-}
-
-
-/** \deprecated ArrayBase::log() */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_pow_op)
-Cwise<ExpressionType>::pow(const Scalar& exponent) const
-{
-  return EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_pow_op)(_expression(), internal::scalar_pow_op<Scalar>(exponent));
-}
-
-
-/** \deprecated ArrayBase::inverse() */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_inverse_op)
-Cwise<ExpressionType>::inverse() const
-{
-  return _expression();
-}
-
-/** \deprecated ArrayBase::square() */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_square_op)
-Cwise<ExpressionType>::square() const
-{
-  return _expression();
-}
-
-/** \deprecated ArrayBase::cube() */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_UNOP_RETURN_TYPE(internal::scalar_cube_op)
-Cwise<ExpressionType>::cube() const
-{
-  return _expression();
-}
-
-
-// -- binary operators --
-
-/** \deprecated ArrayBase::operator<() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-inline const EIGEN_CWISE_BINOP_RETURN_TYPE(std::less)
-Cwise<ExpressionType>::operator<(const MatrixBase<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_BINOP_RETURN_TYPE(std::less)(_expression(), other.derived());
-}
-
-/** \deprecated ArrayBase::<=() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-inline const EIGEN_CWISE_BINOP_RETURN_TYPE(std::less_equal)
-Cwise<ExpressionType>::operator<=(const MatrixBase<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_BINOP_RETURN_TYPE(std::less_equal)(_expression(), other.derived());
-}
-
-/** \deprecated ArrayBase::operator>() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-inline const EIGEN_CWISE_BINOP_RETURN_TYPE(std::greater)
-Cwise<ExpressionType>::operator>(const MatrixBase<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_BINOP_RETURN_TYPE(std::greater)(_expression(), other.derived());
-}
-
-/** \deprecated ArrayBase::operator>=() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-inline const EIGEN_CWISE_BINOP_RETURN_TYPE(std::greater_equal)
-Cwise<ExpressionType>::operator>=(const MatrixBase<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_BINOP_RETURN_TYPE(std::greater_equal)(_expression(), other.derived());
-}
-
-/** \deprecated ArrayBase::operator==() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-inline const EIGEN_CWISE_BINOP_RETURN_TYPE(std::equal_to)
-Cwise<ExpressionType>::operator==(const MatrixBase<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_BINOP_RETURN_TYPE(std::equal_to)(_expression(), other.derived());
-}
-
-/** \deprecated ArrayBase::operator!=() */
-template<typename ExpressionType>
-template<typename OtherDerived>
-inline const EIGEN_CWISE_BINOP_RETURN_TYPE(std::not_equal_to)
-Cwise<ExpressionType>::operator!=(const MatrixBase<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_BINOP_RETURN_TYPE(std::not_equal_to)(_expression(), other.derived());
-}
-
-// comparisons to scalar value
-
-/** \deprecated ArrayBase::operator<(Scalar) */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::less)
-Cwise<ExpressionType>::operator<(Scalar s) const
-{
-  return EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::less)(_expression(),
-            typename ExpressionType::ConstantReturnType(_expression().rows(), _expression().cols(), s));
-}
-
-/** \deprecated ArrayBase::operator<=(Scalar) */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::less_equal)
-Cwise<ExpressionType>::operator<=(Scalar s) const
-{
-  return EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::less_equal)(_expression(),
-            typename ExpressionType::ConstantReturnType(_expression().rows(), _expression().cols(), s));
-}
-
-/** \deprecated ArrayBase::operator>(Scalar) */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::greater)
-Cwise<ExpressionType>::operator>(Scalar s) const
-{
-  return EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::greater)(_expression(),
-            typename ExpressionType::ConstantReturnType(_expression().rows(), _expression().cols(), s));
-}
-
-/** \deprecated ArrayBase::operator>=(Scalar) */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::greater_equal)
-Cwise<ExpressionType>::operator>=(Scalar s) const
-{
-  return EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::greater_equal)(_expression(),
-            typename ExpressionType::ConstantReturnType(_expression().rows(), _expression().cols(), s));
-}
-
-/** \deprecated ArrayBase::operator==(Scalar) */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::equal_to)
-Cwise<ExpressionType>::operator==(Scalar s) const
-{
-  return EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::equal_to)(_expression(),
-            typename ExpressionType::ConstantReturnType(_expression().rows(), _expression().cols(), s));
-}
-
-/** \deprecated ArrayBase::operator!=(Scalar) */
-template<typename ExpressionType>
-inline const EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::not_equal_to)
-Cwise<ExpressionType>::operator!=(Scalar s) const
-{
-  return EIGEN_CWISE_COMP_TO_SCALAR_RETURN_TYPE(std::not_equal_to)(_expression(),
-            typename ExpressionType::ConstantReturnType(_expression().rows(), _expression().cols(), s));
-}
-
-// scalar addition
-
-/** \deprecated ArrayBase::operator+(Scalar) */
-template<typename ExpressionType>
-inline const typename Cwise<ExpressionType>::ScalarAddReturnType
-Cwise<ExpressionType>::operator+(const Scalar& scalar) const
-{
-  return typename Cwise<ExpressionType>::ScalarAddReturnType(m_matrix, internal::scalar_add_op<Scalar>(scalar));
-}
-
-/** \deprecated ArrayBase::operator+=(Scalar) */
-template<typename ExpressionType>
-inline ExpressionType& Cwise<ExpressionType>::operator+=(const Scalar& scalar)
-{
-  return m_matrix.const_cast_derived() = *this + scalar;
-}
-
-/** \deprecated ArrayBase::operator-(Scalar) */
-template<typename ExpressionType>
-inline const typename Cwise<ExpressionType>::ScalarAddReturnType
-Cwise<ExpressionType>::operator-(const Scalar& scalar) const
-{
-  return *this + (-scalar);
-}
-
-/** \deprecated ArrayBase::operator-=(Scalar) */
-template<typename ExpressionType>
-inline ExpressionType& Cwise<ExpressionType>::operator-=(const Scalar& scalar)
-{
-  return m_matrix.const_cast_derived() = *this - scalar;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_ARRAY_CWISE_OPERATORS_H
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/AlignedBox.h b/lib/Eigen/src/Eigen2Support/Geometry/AlignedBox.h
deleted file mode 100644
index 2e4309dd..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/AlignedBox.h
+++ /dev/null
@@ -1,159 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  * \nonstableyet
-  *
-  * \class AlignedBox
-  *
-  * \brief An axis aligned box
-  *
-  * \param _Scalar the type of the scalar coefficients
-  * \param _AmbientDim the dimension of the ambient space, can be a compile time value or Dynamic.
-  *
-  * This class represents an axis aligned box as a pair of the minimal and maximal corners.
-  */
-template <typename _Scalar, int _AmbientDim>
-class AlignedBox
-{
-public:
-EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim==Dynamic ? Dynamic : _AmbientDim+1)
-  enum { AmbientDimAtCompileTime = _AmbientDim };
-  typedef _Scalar Scalar;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  typedef Matrix<Scalar,AmbientDimAtCompileTime,1> VectorType;
-
-  /** Default constructor initializing a null box. */
-  inline AlignedBox()
-  { if (AmbientDimAtCompileTime!=Dynamic) setNull(); }
-
-  /** Constructs a null box with \a _dim the dimension of the ambient space. */
-  inline explicit AlignedBox(int _dim) : m_min(_dim), m_max(_dim)
-  { setNull(); }
-
-  /** Constructs a box with extremities \a _min and \a _max. */
-  inline AlignedBox(const VectorType& _min, const VectorType& _max) : m_min(_min), m_max(_max) {}
-
-  /** Constructs a box containing a single point \a p. */
-  inline explicit AlignedBox(const VectorType& p) : m_min(p), m_max(p) {}
-
-  ~AlignedBox() {}
-
-  /** \returns the dimension in which the box holds */
-  inline int dim() const { return AmbientDimAtCompileTime==Dynamic ? m_min.size()-1 : AmbientDimAtCompileTime; }
-
-  /** \returns true if the box is null, i.e, empty. */
-  inline bool isNull() const { return (m_min.cwise() > m_max).any(); }
-
-  /** Makes \c *this a null/empty box. */
-  inline void setNull()
-  {
-    m_min.setConstant( (std::numeric_limits<Scalar>::max)());
-    m_max.setConstant(-(std::numeric_limits<Scalar>::max)());
-  }
-
-  /** \returns the minimal corner */
-  inline const VectorType& (min)() const { return m_min; }
-  /** \returns a non const reference to the minimal corner */
-  inline VectorType& (min)() { return m_min; }
-  /** \returns the maximal corner */
-  inline const VectorType& (max)() const { return m_max; }
-  /** \returns a non const reference to the maximal corner */
-  inline VectorType& (max)() { return m_max; }
-
-  /** \returns true if the point \a p is inside the box \c *this. */
-  inline bool contains(const VectorType& p) const
-  { return (m_min.cwise()<=p).all() && (p.cwise()<=m_max).all(); }
-
-  /** \returns true if the box \a b is entirely inside the box \c *this. */
-  inline bool contains(const AlignedBox& b) const
-  { return (m_min.cwise()<=(b.min)()).all() && ((b.max)().cwise()<=m_max).all(); }
-
-  /** Extends \c *this such that it contains the point \a p and returns a reference to \c *this. */
-  inline AlignedBox& extend(const VectorType& p)
-  { m_min = (m_min.cwise().min)(p); m_max = (m_max.cwise().max)(p); return *this; }
-
-  /** Extends \c *this such that it contains the box \a b and returns a reference to \c *this. */
-  inline AlignedBox& extend(const AlignedBox& b)
-  { m_min = (m_min.cwise().min)(b.m_min); m_max = (m_max.cwise().max)(b.m_max); return *this; }
-
-  /** Clamps \c *this by the box \a b and returns a reference to \c *this. */
-  inline AlignedBox& clamp(const AlignedBox& b)
-  { m_min = (m_min.cwise().max)(b.m_min); m_max = (m_max.cwise().min)(b.m_max); return *this; }
-
-  /** Translate \c *this by the vector \a t and returns a reference to \c *this. */
-  inline AlignedBox& translate(const VectorType& t)
-  { m_min += t; m_max += t; return *this; }
-
-  /** \returns the squared distance between the point \a p and the box \c *this,
-    * and zero if \a p is inside the box.
-    * \sa exteriorDistance()
-    */
-  inline Scalar squaredExteriorDistance(const VectorType& p) const;
-
-  /** \returns the distance between the point \a p and the box \c *this,
-    * and zero if \a p is inside the box.
-    * \sa squaredExteriorDistance()
-    */
-  inline Scalar exteriorDistance(const VectorType& p) const
-  { return ei_sqrt(squaredExteriorDistance(p)); }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<AlignedBox,
-           AlignedBox<NewScalarType,AmbientDimAtCompileTime> >::type cast() const
-  {
-    return typename internal::cast_return_type<AlignedBox,
-                    AlignedBox<NewScalarType,AmbientDimAtCompileTime> >::type(*this);
-  }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit AlignedBox(const AlignedBox<OtherScalarType,AmbientDimAtCompileTime>& other)
-  {
-    m_min = (other.min)().template cast<Scalar>();
-    m_max = (other.max)().template cast<Scalar>();
-  }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const AlignedBox& other, typename NumTraits<Scalar>::Real prec = precision<Scalar>()) const
-  { return m_min.isApprox(other.m_min, prec) && m_max.isApprox(other.m_max, prec); }
-
-protected:
-
-  VectorType m_min, m_max;
-};
-
-template<typename Scalar,int AmbiantDim>
-inline Scalar AlignedBox<Scalar,AmbiantDim>::squaredExteriorDistance(const VectorType& p) const
-{
-  Scalar dist2(0);
-  Scalar aux;
-  for (int k=0; k<dim(); ++k)
-  {
-    if ((aux = (p[k]-m_min[k]))<Scalar(0))
-      dist2 += aux*aux;
-    else if ( (aux = (m_max[k]-p[k]))<Scalar(0))
-      dist2 += aux*aux;
-  }
-  return dist2;
-}
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/All.h b/lib/Eigen/src/Eigen2Support/Geometry/All.h
deleted file mode 100644
index e0b00fcc..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/All.h
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef EIGEN2_GEOMETRY_MODULE_H
-#define EIGEN2_GEOMETRY_MODULE_H
-
-#include <limits>
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-#if EIGEN2_SUPPORT_STAGE < STAGE20_RESOLVE_API_CONFLICTS
-#include "RotationBase.h"
-#include "Rotation2D.h"
-#include "Quaternion.h"
-#include "AngleAxis.h"
-#include "Transform.h"
-#include "Translation.h"
-#include "Scaling.h"
-#include "AlignedBox.h"
-#include "Hyperplane.h"
-#include "ParametrizedLine.h"
-#endif
-
-
-#define RotationBase eigen2_RotationBase
-#define Rotation2D eigen2_Rotation2D
-#define Rotation2Df eigen2_Rotation2Df
-#define Rotation2Dd eigen2_Rotation2Dd
-
-#define Quaternion  eigen2_Quaternion
-#define Quaternionf eigen2_Quaternionf
-#define Quaterniond eigen2_Quaterniond
-
-#define AngleAxis eigen2_AngleAxis
-#define AngleAxisf eigen2_AngleAxisf
-#define AngleAxisd eigen2_AngleAxisd
-
-#define Transform   eigen2_Transform
-#define Transform2f eigen2_Transform2f
-#define Transform2d eigen2_Transform2d
-#define Transform3f eigen2_Transform3f
-#define Transform3d eigen2_Transform3d
-
-#define Translation eigen2_Translation
-#define Translation2f eigen2_Translation2f
-#define Translation2d eigen2_Translation2d
-#define Translation3f eigen2_Translation3f
-#define Translation3d eigen2_Translation3d
-
-#define Scaling eigen2_Scaling
-#define Scaling2f eigen2_Scaling2f
-#define Scaling2d eigen2_Scaling2d
-#define Scaling3f eigen2_Scaling3f
-#define Scaling3d eigen2_Scaling3d
-
-#define AlignedBox eigen2_AlignedBox
-
-#define Hyperplane eigen2_Hyperplane
-#define ParametrizedLine eigen2_ParametrizedLine
-
-#define ei_toRotationMatrix eigen2_ei_toRotationMatrix
-#define ei_quaternion_assign_impl eigen2_ei_quaternion_assign_impl
-#define ei_transform_product_impl eigen2_ei_transform_product_impl
-
-#include "RotationBase.h"
-#include "Rotation2D.h"
-#include "Quaternion.h"
-#include "AngleAxis.h"
-#include "Transform.h"
-#include "Translation.h"
-#include "Scaling.h"
-#include "AlignedBox.h"
-#include "Hyperplane.h"
-#include "ParametrizedLine.h"
-
-#undef ei_toRotationMatrix
-#undef ei_quaternion_assign_impl
-#undef ei_transform_product_impl
-
-#undef RotationBase
-#undef Rotation2D
-#undef Rotation2Df
-#undef Rotation2Dd
-
-#undef Quaternion
-#undef Quaternionf
-#undef Quaterniond
-
-#undef AngleAxis
-#undef AngleAxisf
-#undef AngleAxisd
-
-#undef Transform
-#undef Transform2f
-#undef Transform2d
-#undef Transform3f
-#undef Transform3d
-
-#undef Translation
-#undef Translation2f
-#undef Translation2d
-#undef Translation3f
-#undef Translation3d
-
-#undef Scaling
-#undef Scaling2f
-#undef Scaling2d
-#undef Scaling3f
-#undef Scaling3d
-
-#undef AlignedBox
-
-#undef Hyperplane
-#undef ParametrizedLine
-
-#endif // EIGEN2_GEOMETRY_MODULE_H
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/AngleAxis.h b/lib/Eigen/src/Eigen2Support/Geometry/AngleAxis.h
deleted file mode 100644
index af598a40..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/AngleAxis.h
+++ /dev/null
@@ -1,214 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class AngleAxis
-  *
-  * \brief Represents a 3D rotation as a rotation angle around an arbitrary 3D axis
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients.
-  *
-  * The following two typedefs are provided for convenience:
-  * \li \c AngleAxisf for \c float
-  * \li \c AngleAxisd for \c double
-  *
-  * \addexample AngleAxisForEuler \label How to define a rotation from Euler-angles
-  *
-  * Combined with MatrixBase::Unit{X,Y,Z}, AngleAxis can be used to easily
-  * mimic Euler-angles. Here is an example:
-  * \include AngleAxis_mimic_euler.cpp
-  * Output: \verbinclude AngleAxis_mimic_euler.out
-  *
-  * \note This class is not aimed to be used to store a rotation transformation,
-  * but rather to make easier the creation of other rotation (Quaternion, rotation Matrix)
-  * and transformation objects.
-  *
-  * \sa class Quaternion, class Transform, MatrixBase::UnitX()
-  */
-
-template<typename _Scalar> struct ei_traits<AngleAxis<_Scalar> >
-{
-  typedef _Scalar Scalar;
-};
-
-template<typename _Scalar>
-class AngleAxis : public RotationBase<AngleAxis<_Scalar>,3>
-{
-  typedef RotationBase<AngleAxis<_Scalar>,3> Base;
-
-public:
-
-  using Base::operator*;
-
-  enum { Dim = 3 };
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-  typedef Matrix<Scalar,3,3> Matrix3;
-  typedef Matrix<Scalar,3,1> Vector3;
-  typedef Quaternion<Scalar> QuaternionType;
-
-protected:
-
-  Vector3 m_axis;
-  Scalar m_angle;
-
-public:
-
-  /** Default constructor without initialization. */
-  AngleAxis() {}
-  /** Constructs and initialize the angle-axis rotation from an \a angle in radian
-    * and an \a axis which must be normalized. */
-  template<typename Derived>
-  inline AngleAxis(Scalar angle, const MatrixBase<Derived>& axis) : m_axis(axis), m_angle(angle) {}
-  /** Constructs and initialize the angle-axis rotation from a quaternion \a q. */
-  inline AngleAxis(const QuaternionType& q) { *this = q; }
-  /** Constructs and initialize the angle-axis rotation from a 3x3 rotation matrix. */
-  template<typename Derived>
-  inline explicit AngleAxis(const MatrixBase<Derived>& m) { *this = m; }
-
-  Scalar angle() const { return m_angle; }
-  Scalar& angle() { return m_angle; }
-
-  const Vector3& axis() const { return m_axis; }
-  Vector3& axis() { return m_axis; }
-
-  /** Concatenates two rotations */
-  inline QuaternionType operator* (const AngleAxis& other) const
-  { return QuaternionType(*this) * QuaternionType(other); }
-
-  /** Concatenates two rotations */
-  inline QuaternionType operator* (const QuaternionType& other) const
-  { return QuaternionType(*this) * other; }
-
-  /** Concatenates two rotations */
-  friend inline QuaternionType operator* (const QuaternionType& a, const AngleAxis& b)
-  { return a * QuaternionType(b); }
-
-  /** Concatenates two rotations */
-  inline Matrix3 operator* (const Matrix3& other) const
-  { return toRotationMatrix() * other; }
-
-  /** Concatenates two rotations */
-  inline friend Matrix3 operator* (const Matrix3& a, const AngleAxis& b)
-  { return a * b.toRotationMatrix(); }
-
-  /** Applies rotation to vector */
-  inline Vector3 operator* (const Vector3& other) const
-  { return toRotationMatrix() * other; }
-
-  /** \returns the inverse rotation, i.e., an angle-axis with opposite rotation angle */
-  AngleAxis inverse() const
-  { return AngleAxis(-m_angle, m_axis); }
-
-  AngleAxis& operator=(const QuaternionType& q);
-  template<typename Derived>
-  AngleAxis& operator=(const MatrixBase<Derived>& m);
-
-  template<typename Derived>
-  AngleAxis& fromRotationMatrix(const MatrixBase<Derived>& m);
-  Matrix3 toRotationMatrix(void) const;
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<AngleAxis,AngleAxis<NewScalarType> >::type cast() const
-  { return typename internal::cast_return_type<AngleAxis,AngleAxis<NewScalarType> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit AngleAxis(const AngleAxis<OtherScalarType>& other)
-  {
-    m_axis = other.axis().template cast<Scalar>();
-    m_angle = Scalar(other.angle());
-  }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const AngleAxis& other, typename NumTraits<Scalar>::Real prec = precision<Scalar>()) const
-  { return m_axis.isApprox(other.m_axis, prec) && ei_isApprox(m_angle,other.m_angle, prec); }
-};
-
-/** \ingroup Geometry_Module
-  * single precision angle-axis type */
-typedef AngleAxis<float> AngleAxisf;
-/** \ingroup Geometry_Module
-  * double precision angle-axis type */
-typedef AngleAxis<double> AngleAxisd;
-
-/** Set \c *this from a quaternion.
-  * The axis is normalized.
-  */
-template<typename Scalar>
-AngleAxis<Scalar>& AngleAxis<Scalar>::operator=(const QuaternionType& q)
-{
-  Scalar n2 = q.vec().squaredNorm();
-  if (n2 < precision<Scalar>()*precision<Scalar>())
-  {
-    m_angle = 0;
-    m_axis << 1, 0, 0;
-  }
-  else
-  {
-    m_angle = 2*std::acos(q.w());
-    m_axis = q.vec() / ei_sqrt(n2);
-  }
-  return *this;
-}
-
-/** Set \c *this from a 3x3 rotation matrix \a mat.
-  */
-template<typename Scalar>
-template<typename Derived>
-AngleAxis<Scalar>& AngleAxis<Scalar>::operator=(const MatrixBase<Derived>& mat)
-{
-  // Since a direct conversion would not be really faster,
-  // let's use the robust Quaternion implementation:
-  return *this = QuaternionType(mat);
-}
-
-/** Constructs and \returns an equivalent 3x3 rotation matrix.
-  */
-template<typename Scalar>
-typename AngleAxis<Scalar>::Matrix3
-AngleAxis<Scalar>::toRotationMatrix(void) const
-{
-  Matrix3 res;
-  Vector3 sin_axis  = ei_sin(m_angle) * m_axis;
-  Scalar c = ei_cos(m_angle);
-  Vector3 cos1_axis = (Scalar(1)-c) * m_axis;
-
-  Scalar tmp;
-  tmp = cos1_axis.x() * m_axis.y();
-  res.coeffRef(0,1) = tmp - sin_axis.z();
-  res.coeffRef(1,0) = tmp + sin_axis.z();
-
-  tmp = cos1_axis.x() * m_axis.z();
-  res.coeffRef(0,2) = tmp + sin_axis.y();
-  res.coeffRef(2,0) = tmp - sin_axis.y();
-
-  tmp = cos1_axis.y() * m_axis.z();
-  res.coeffRef(1,2) = tmp - sin_axis.x();
-  res.coeffRef(2,1) = tmp + sin_axis.x();
-
-  res.diagonal() = (cos1_axis.cwise() * m_axis).cwise() + c;
-
-  return res;
-}
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/CMakeLists.txt b/lib/Eigen/src/Eigen2Support/Geometry/CMakeLists.txt
deleted file mode 100644
index c347a8f2..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Eigen2Support_Geometry_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Eigen2Support_Geometry_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support/Geometry
-  )
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/Hyperplane.h b/lib/Eigen/src/Eigen2Support/Geometry/Hyperplane.h
deleted file mode 100644
index b95bf00e..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/Hyperplane.h
+++ /dev/null
@@ -1,254 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Hyperplane
-  *
-  * \brief A hyperplane
-  *
-  * A hyperplane is an affine subspace of dimension n-1 in a space of dimension n.
-  * For example, a hyperplane in a plane is a line; a hyperplane in 3-space is a plane.
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients
-  * \param _AmbientDim the dimension of the ambient space, can be a compile time value or Dynamic.
-  *             Notice that the dimension of the hyperplane is _AmbientDim-1.
-  *
-  * This class represents an hyperplane as the zero set of the implicit equation
-  * \f$ n \cdot x + d = 0 \f$ where \f$ n \f$ is a unit normal vector of the plane (linear part)
-  * and \f$ d \f$ is the distance (offset) to the origin.
-  */
-template <typename _Scalar, int _AmbientDim>
-class Hyperplane
-{
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim==Dynamic ? Dynamic : _AmbientDim+1)
-  enum { AmbientDimAtCompileTime = _AmbientDim };
-  typedef _Scalar Scalar;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  typedef Matrix<Scalar,AmbientDimAtCompileTime,1> VectorType;
-  typedef Matrix<Scalar,int(AmbientDimAtCompileTime)==Dynamic
-                        ? Dynamic
-                        : int(AmbientDimAtCompileTime)+1,1> Coefficients;
-  typedef Block<Coefficients,AmbientDimAtCompileTime,1> NormalReturnType;
-
-  /** Default constructor without initialization */
-  inline Hyperplane() {}
-
-  /** Constructs a dynamic-size hyperplane with \a _dim the dimension
-    * of the ambient space */
-  inline explicit Hyperplane(int _dim) : m_coeffs(_dim+1) {}
-
-  /** Construct a plane from its normal \a n and a point \a e onto the plane.
-    * \warning the vector normal is assumed to be normalized.
-    */
-  inline Hyperplane(const VectorType& n, const VectorType& e)
-    : m_coeffs(n.size()+1)
-  {
-    normal() = n;
-    offset() = -e.eigen2_dot(n);
-  }
-
-  /** Constructs a plane from its normal \a n and distance to the origin \a d
-    * such that the algebraic equation of the plane is \f$ n \cdot x + d = 0 \f$.
-    * \warning the vector normal is assumed to be normalized.
-    */
-  inline Hyperplane(const VectorType& n, Scalar d)
-    : m_coeffs(n.size()+1)
-  {
-    normal() = n;
-    offset() = d;
-  }
-
-  /** Constructs a hyperplane passing through the two points. If the dimension of the ambient space
-    * is greater than 2, then there isn't uniqueness, so an arbitrary choice is made.
-    */
-  static inline Hyperplane Through(const VectorType& p0, const VectorType& p1)
-  {
-    Hyperplane result(p0.size());
-    result.normal() = (p1 - p0).unitOrthogonal();
-    result.offset() = -result.normal().eigen2_dot(p0);
-    return result;
-  }
-
-  /** Constructs a hyperplane passing through the three points. The dimension of the ambient space
-    * is required to be exactly 3.
-    */
-  static inline Hyperplane Through(const VectorType& p0, const VectorType& p1, const VectorType& p2)
-  {
-    EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(VectorType, 3)
-    Hyperplane result(p0.size());
-    result.normal() = (p2 - p0).cross(p1 - p0).normalized();
-    result.offset() = -result.normal().eigen2_dot(p0);
-    return result;
-  }
-
-  /** Constructs a hyperplane passing through the parametrized line \a parametrized.
-    * If the dimension of the ambient space is greater than 2, then there isn't uniqueness,
-    * so an arbitrary choice is made.
-    */
-  // FIXME to be consitent with the rest this could be implemented as a static Through function ??
-  explicit Hyperplane(const ParametrizedLine<Scalar, AmbientDimAtCompileTime>& parametrized)
-  {
-    normal() = parametrized.direction().unitOrthogonal();
-    offset() = -normal().eigen2_dot(parametrized.origin());
-  }
-
-  ~Hyperplane() {}
-
-  /** \returns the dimension in which the plane holds */
-  inline int dim() const { return int(AmbientDimAtCompileTime)==Dynamic ? m_coeffs.size()-1 : int(AmbientDimAtCompileTime); }
-
-  /** normalizes \c *this */
-  void normalize(void)
-  {
-    m_coeffs /= normal().norm();
-  }
-
-  /** \returns the signed distance between the plane \c *this and a point \a p.
-    * \sa absDistance()
-    */
-  inline Scalar signedDistance(const VectorType& p) const { return p.eigen2_dot(normal()) + offset(); }
-
-  /** \returns the absolute distance between the plane \c *this and a point \a p.
-    * \sa signedDistance()
-    */
-  inline Scalar absDistance(const VectorType& p) const { return ei_abs(signedDistance(p)); }
-
-  /** \returns the projection of a point \a p onto the plane \c *this.
-    */
-  inline VectorType projection(const VectorType& p) const { return p - signedDistance(p) * normal(); }
-
-  /** \returns a constant reference to the unit normal vector of the plane, which corresponds
-    * to the linear part of the implicit equation.
-    */
-  inline const NormalReturnType normal() const { return NormalReturnType(*const_cast<Coefficients*>(&m_coeffs),0,0,dim(),1); }
-
-  /** \returns a non-constant reference to the unit normal vector of the plane, which corresponds
-    * to the linear part of the implicit equation.
-    */
-  inline NormalReturnType normal() { return NormalReturnType(m_coeffs,0,0,dim(),1); }
-
-  /** \returns the distance to the origin, which is also the "constant term" of the implicit equation
-    * \warning the vector normal is assumed to be normalized.
-    */
-  inline const Scalar& offset() const { return m_coeffs.coeff(dim()); }
-
-  /** \returns a non-constant reference to the distance to the origin, which is also the constant part
-    * of the implicit equation */
-  inline Scalar& offset() { return m_coeffs(dim()); }
-
-  /** \returns a constant reference to the coefficients c_i of the plane equation:
-    * \f$ c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 \f$
-    */
-  inline const Coefficients& coeffs() const { return m_coeffs; }
-
-  /** \returns a non-constant reference to the coefficients c_i of the plane equation:
-    * \f$ c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 \f$
-    */
-  inline Coefficients& coeffs() { return m_coeffs; }
-
-  /** \returns the intersection of *this with \a other.
-    *
-    * \warning The ambient space must be a plane, i.e. have dimension 2, so that \c *this and \a other are lines.
-    *
-    * \note If \a other is approximately parallel to *this, this method will return any point on *this.
-    */
-  VectorType intersection(const Hyperplane& other)
-  {
-    EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(VectorType, 2)
-    Scalar det = coeffs().coeff(0) * other.coeffs().coeff(1) - coeffs().coeff(1) * other.coeffs().coeff(0);
-    // since the line equations ax+by=c are normalized with a^2+b^2=1, the following tests
-    // whether the two lines are approximately parallel.
-    if(ei_isMuchSmallerThan(det, Scalar(1)))
-    {   // special case where the two lines are approximately parallel. Pick any point on the first line.
-        if(ei_abs(coeffs().coeff(1))>ei_abs(coeffs().coeff(0)))
-            return VectorType(coeffs().coeff(1), -coeffs().coeff(2)/coeffs().coeff(1)-coeffs().coeff(0));
-        else
-            return VectorType(-coeffs().coeff(2)/coeffs().coeff(0)-coeffs().coeff(1), coeffs().coeff(0));
-    }
-    else
-    {   // general case
-        Scalar invdet = Scalar(1) / det;
-        return VectorType(invdet*(coeffs().coeff(1)*other.coeffs().coeff(2)-other.coeffs().coeff(1)*coeffs().coeff(2)),
-                          invdet*(other.coeffs().coeff(0)*coeffs().coeff(2)-coeffs().coeff(0)*other.coeffs().coeff(2)));
-    }
-  }
-
-  /** Applies the transformation matrix \a mat to \c *this and returns a reference to \c *this.
-    *
-    * \param mat the Dim x Dim transformation matrix
-    * \param traits specifies whether the matrix \a mat represents an Isometry
-    *               or a more generic Affine transformation. The default is Affine.
-    */
-  template<typename XprType>
-  inline Hyperplane& transform(const MatrixBase<XprType>& mat, TransformTraits traits = Affine)
-  {
-    if (traits==Affine)
-      normal() = mat.inverse().transpose() * normal();
-    else if (traits==Isometry)
-      normal() = mat * normal();
-    else
-    {
-      ei_assert("invalid traits value in Hyperplane::transform()");
-    }
-    return *this;
-  }
-
-  /** Applies the transformation \a t to \c *this and returns a reference to \c *this.
-    *
-    * \param t the transformation of dimension Dim
-    * \param traits specifies whether the transformation \a t represents an Isometry
-    *               or a more generic Affine transformation. The default is Affine.
-    *               Other kind of transformations are not supported.
-    */
-  inline Hyperplane& transform(const Transform<Scalar,AmbientDimAtCompileTime>& t,
-                                TransformTraits traits = Affine)
-  {
-    transform(t.linear(), traits);
-    offset() -= t.translation().eigen2_dot(normal());
-    return *this;
-  }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Hyperplane,
-           Hyperplane<NewScalarType,AmbientDimAtCompileTime> >::type cast() const
-  {
-    return typename internal::cast_return_type<Hyperplane,
-                    Hyperplane<NewScalarType,AmbientDimAtCompileTime> >::type(*this);
-  }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit Hyperplane(const Hyperplane<OtherScalarType,AmbientDimAtCompileTime>& other)
-  { m_coeffs = other.coeffs().template cast<Scalar>(); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const Hyperplane& other, typename NumTraits<Scalar>::Real prec = precision<Scalar>()) const
-  { return m_coeffs.isApprox(other.m_coeffs, prec); }
-
-protected:
-
-  Coefficients m_coeffs;
-};
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h b/lib/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h
deleted file mode 100644
index 9b57b7e0..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h
+++ /dev/null
@@ -1,141 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class ParametrizedLine
-  *
-  * \brief A parametrized line
-  *
-  * A parametrized line is defined by an origin point \f$ \mathbf{o} \f$ and a unit
-  * direction vector \f$ \mathbf{d} \f$ such that the line corresponds to
-  * the set \f$ l(t) = \mathbf{o} + t \mathbf{d} \f$, \f$ l \in \mathbf{R} \f$.
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients
-  * \param _AmbientDim the dimension of the ambient space, can be a compile time value or Dynamic.
-  */
-template <typename _Scalar, int _AmbientDim>
-class ParametrizedLine
-{
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
-  enum { AmbientDimAtCompileTime = _AmbientDim };
-  typedef _Scalar Scalar;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  typedef Matrix<Scalar,AmbientDimAtCompileTime,1> VectorType;
-
-  /** Default constructor without initialization */
-  inline ParametrizedLine() {}
-
-  /** Constructs a dynamic-size line with \a _dim the dimension
-    * of the ambient space */
-  inline explicit ParametrizedLine(int _dim) : m_origin(_dim), m_direction(_dim) {}
-
-  /** Initializes a parametrized line of direction \a direction and origin \a origin.
-    * \warning the vector direction is assumed to be normalized.
-    */
-  ParametrizedLine(const VectorType& origin, const VectorType& direction)
-    : m_origin(origin), m_direction(direction) {}
-
-  explicit ParametrizedLine(const Hyperplane<_Scalar, _AmbientDim>& hyperplane);
-
-  /** Constructs a parametrized line going from \a p0 to \a p1. */
-  static inline ParametrizedLine Through(const VectorType& p0, const VectorType& p1)
-  { return ParametrizedLine(p0, (p1-p0).normalized()); }
-
-  ~ParametrizedLine() {}
-
-  /** \returns the dimension in which the line holds */
-  inline int dim() const { return m_direction.size(); }
-
-  const VectorType& origin() const { return m_origin; }
-  VectorType& origin() { return m_origin; }
-
-  const VectorType& direction() const { return m_direction; }
-  VectorType& direction() { return m_direction; }
-
-  /** \returns the squared distance of a point \a p to its projection onto the line \c *this.
-    * \sa distance()
-    */
-  RealScalar squaredDistance(const VectorType& p) const
-  {
-    VectorType diff = p-origin();
-    return (diff - diff.eigen2_dot(direction())* direction()).squaredNorm();
-  }
-  /** \returns the distance of a point \a p to its projection onto the line \c *this.
-    * \sa squaredDistance()
-    */
-  RealScalar distance(const VectorType& p) const { return ei_sqrt(squaredDistance(p)); }
-
-  /** \returns the projection of a point \a p onto the line \c *this. */
-  VectorType projection(const VectorType& p) const
-  { return origin() + (p-origin()).eigen2_dot(direction()) * direction(); }
-
-  Scalar intersection(const Hyperplane<_Scalar, _AmbientDim>& hyperplane);
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<ParametrizedLine,
-           ParametrizedLine<NewScalarType,AmbientDimAtCompileTime> >::type cast() const
-  {
-    return typename internal::cast_return_type<ParametrizedLine,
-                    ParametrizedLine<NewScalarType,AmbientDimAtCompileTime> >::type(*this);
-  }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit ParametrizedLine(const ParametrizedLine<OtherScalarType,AmbientDimAtCompileTime>& other)
-  {
-    m_origin = other.origin().template cast<Scalar>();
-    m_direction = other.direction().template cast<Scalar>();
-  }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const ParametrizedLine& other, typename NumTraits<Scalar>::Real prec = precision<Scalar>()) const
-  { return m_origin.isApprox(other.m_origin, prec) && m_direction.isApprox(other.m_direction, prec); }
-
-protected:
-
-  VectorType m_origin, m_direction;
-};
-
-/** Constructs a parametrized line from a 2D hyperplane
-  *
-  * \warning the ambient space must have dimension 2 such that the hyperplane actually describes a line
-  */
-template <typename _Scalar, int _AmbientDim>
-inline ParametrizedLine<_Scalar, _AmbientDim>::ParametrizedLine(const Hyperplane<_Scalar, _AmbientDim>& hyperplane)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(VectorType, 2)
-  direction() = hyperplane.normal().unitOrthogonal();
-  origin() = -hyperplane.normal()*hyperplane.offset();
-}
-
-/** \returns the parameter value of the intersection between \c *this and the given hyperplane
-  */
-template <typename _Scalar, int _AmbientDim>
-inline _Scalar ParametrizedLine<_Scalar, _AmbientDim>::intersection(const Hyperplane<_Scalar, _AmbientDim>& hyperplane)
-{
-  return -(hyperplane.offset()+origin().eigen2_dot(hyperplane.normal()))
-          /(direction().eigen2_dot(hyperplane.normal()));
-}
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/Quaternion.h b/lib/Eigen/src/Eigen2Support/Geometry/Quaternion.h
deleted file mode 100644
index 4b6390cf..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/Quaternion.h
+++ /dev/null
@@ -1,495 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-template<typename Other,
-         int OtherRows=Other::RowsAtCompileTime,
-         int OtherCols=Other::ColsAtCompileTime>
-struct ei_quaternion_assign_impl;
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Quaternion
-  *
-  * \brief The quaternion class used to represent 3D orientations and rotations
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients
-  *
-  * This class represents a quaternion \f$ w+xi+yj+zk \f$ that is a convenient representation of
-  * orientations and rotations of objects in three dimensions. Compared to other representations
-  * like Euler angles or 3x3 matrices, quatertions offer the following advantages:
-  * \li \b compact storage (4 scalars)
-  * \li \b efficient to compose (28 flops),
-  * \li \b stable spherical interpolation
-  *
-  * The following two typedefs are provided for convenience:
-  * \li \c Quaternionf for \c float
-  * \li \c Quaterniond for \c double
-  *
-  * \sa  class AngleAxis, class Transform
-  */
-
-template<typename _Scalar> struct ei_traits<Quaternion<_Scalar> >
-{
-  typedef _Scalar Scalar;
-};
-
-template<typename _Scalar>
-class Quaternion : public RotationBase<Quaternion<_Scalar>,3>
-{
-  typedef RotationBase<Quaternion<_Scalar>,3> Base;
-
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,4)
-
-  using Base::operator*;
-
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-
-  /** the type of the Coefficients 4-vector */
-  typedef Matrix<Scalar, 4, 1> Coefficients;
-  /** the type of a 3D vector */
-  typedef Matrix<Scalar,3,1> Vector3;
-  /** the equivalent rotation matrix type */
-  typedef Matrix<Scalar,3,3> Matrix3;
-  /** the equivalent angle-axis type */
-  typedef AngleAxis<Scalar> AngleAxisType;
-
-  /** \returns the \c x coefficient */
-  inline Scalar x() const { return m_coeffs.coeff(0); }
-  /** \returns the \c y coefficient */
-  inline Scalar y() const { return m_coeffs.coeff(1); }
-  /** \returns the \c z coefficient */
-  inline Scalar z() const { return m_coeffs.coeff(2); }
-  /** \returns the \c w coefficient */
-  inline Scalar w() const { return m_coeffs.coeff(3); }
-
-  /** \returns a reference to the \c x coefficient */
-  inline Scalar& x() { return m_coeffs.coeffRef(0); }
-  /** \returns a reference to the \c y coefficient */
-  inline Scalar& y() { return m_coeffs.coeffRef(1); }
-  /** \returns a reference to the \c z coefficient */
-  inline Scalar& z() { return m_coeffs.coeffRef(2); }
-  /** \returns a reference to the \c w coefficient */
-  inline Scalar& w() { return m_coeffs.coeffRef(3); }
-
-  /** \returns a read-only vector expression of the imaginary part (x,y,z) */
-  inline const Block<const Coefficients,3,1> vec() const { return m_coeffs.template start<3>(); }
-
-  /** \returns a vector expression of the imaginary part (x,y,z) */
-  inline Block<Coefficients,3,1> vec() { return m_coeffs.template start<3>(); }
-
-  /** \returns a read-only vector expression of the coefficients (x,y,z,w) */
-  inline const Coefficients& coeffs() const { return m_coeffs; }
-
-  /** \returns a vector expression of the coefficients (x,y,z,w) */
-  inline Coefficients& coeffs() { return m_coeffs; }
-
-  /** Default constructor leaving the quaternion uninitialized. */
-  inline Quaternion() {}
-
-  /** Constructs and initializes the quaternion \f$ w+xi+yj+zk \f$ from
-    * its four coefficients \a w, \a x, \a y and \a z.
-    *
-    * \warning Note the order of the arguments: the real \a w coefficient first,
-    * while internally the coefficients are stored in the following order:
-    * [\c x, \c y, \c z, \c w]
-    */
-  inline Quaternion(Scalar w, Scalar x, Scalar y, Scalar z)
-  { m_coeffs << x, y, z, w; }
-
-  /** Copy constructor */
-  inline Quaternion(const Quaternion& other) { m_coeffs = other.m_coeffs; }
-
-  /** Constructs and initializes a quaternion from the angle-axis \a aa */
-  explicit inline Quaternion(const AngleAxisType& aa) { *this = aa; }
-
-  /** Constructs and initializes a quaternion from either:
-    *  - a rotation matrix expression,
-    *  - a 4D vector expression representing quaternion coefficients.
-    * \sa operator=(MatrixBase<Derived>)
-    */
-  template<typename Derived>
-  explicit inline Quaternion(const MatrixBase<Derived>& other) { *this = other; }
-
-  Quaternion& operator=(const Quaternion& other);
-  Quaternion& operator=(const AngleAxisType& aa);
-  template<typename Derived>
-  Quaternion& operator=(const MatrixBase<Derived>& m);
-
-  /** \returns a quaternion representing an identity rotation
-    * \sa MatrixBase::Identity()
-    */
-  static inline Quaternion Identity() { return Quaternion(1, 0, 0, 0); }
-
-  /** \sa Quaternion::Identity(), MatrixBase::setIdentity()
-    */
-  inline Quaternion& setIdentity() { m_coeffs << 0, 0, 0, 1; return *this; }
-
-  /** \returns the squared norm of the quaternion's coefficients
-    * \sa Quaternion::norm(), MatrixBase::squaredNorm()
-    */
-  inline Scalar squaredNorm() const { return m_coeffs.squaredNorm(); }
-
-  /** \returns the norm of the quaternion's coefficients
-    * \sa Quaternion::squaredNorm(), MatrixBase::norm()
-    */
-  inline Scalar norm() const { return m_coeffs.norm(); }
-
-  /** Normalizes the quaternion \c *this
-    * \sa normalized(), MatrixBase::normalize() */
-  inline void normalize() { m_coeffs.normalize(); }
-  /** \returns a normalized version of \c *this
-    * \sa normalize(), MatrixBase::normalized() */
-  inline Quaternion normalized() const { return Quaternion(m_coeffs.normalized()); }
-
-  /** \returns the dot product of \c *this and \a other
-    * Geometrically speaking, the dot product of two unit quaternions
-    * corresponds to the cosine of half the angle between the two rotations.
-    * \sa angularDistance()
-    */
-  inline Scalar eigen2_dot(const Quaternion& other) const { return m_coeffs.eigen2_dot(other.m_coeffs); }
-
-  inline Scalar angularDistance(const Quaternion& other) const;
-
-  Matrix3 toRotationMatrix(void) const;
-
-  template<typename Derived1, typename Derived2>
-  Quaternion& setFromTwoVectors(const MatrixBase<Derived1>& a, const MatrixBase<Derived2>& b);
-
-  inline Quaternion operator* (const Quaternion& q) const;
-  inline Quaternion& operator*= (const Quaternion& q);
-
-  Quaternion inverse(void) const;
-  Quaternion conjugate(void) const;
-
-  Quaternion slerp(Scalar t, const Quaternion& other) const;
-
-  template<typename Derived>
-  Vector3 operator* (const MatrixBase<Derived>& vec) const;
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Quaternion,Quaternion<NewScalarType> >::type cast() const
-  { return typename internal::cast_return_type<Quaternion,Quaternion<NewScalarType> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit Quaternion(const Quaternion<OtherScalarType>& other)
-  { m_coeffs = other.coeffs().template cast<Scalar>(); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const Quaternion& other, typename NumTraits<Scalar>::Real prec = precision<Scalar>()) const
-  { return m_coeffs.isApprox(other.m_coeffs, prec); }
-
-protected:
-  Coefficients m_coeffs;
-};
-
-/** \ingroup Geometry_Module
-  * single precision quaternion type */
-typedef Quaternion<float> Quaternionf;
-/** \ingroup Geometry_Module
-  * double precision quaternion type */
-typedef Quaternion<double> Quaterniond;
-
-// Generic Quaternion * Quaternion product
-template<typename Scalar> inline Quaternion<Scalar>
-ei_quaternion_product(const Quaternion<Scalar>& a, const Quaternion<Scalar>& b)
-{
-  return Quaternion<Scalar>
-  (
-    a.w() * b.w() - a.x() * b.x() - a.y() * b.y() - a.z() * b.z(),
-    a.w() * b.x() + a.x() * b.w() + a.y() * b.z() - a.z() * b.y(),
-    a.w() * b.y() + a.y() * b.w() + a.z() * b.x() - a.x() * b.z(),
-    a.w() * b.z() + a.z() * b.w() + a.x() * b.y() - a.y() * b.x()
-  );
-}
-
-/** \returns the concatenation of two rotations as a quaternion-quaternion product */
-template <typename Scalar>
-inline Quaternion<Scalar> Quaternion<Scalar>::operator* (const Quaternion& other) const
-{
-  return ei_quaternion_product(*this,other);
-}
-
-/** \sa operator*(Quaternion) */
-template <typename Scalar>
-inline Quaternion<Scalar>& Quaternion<Scalar>::operator*= (const Quaternion& other)
-{
-  return (*this = *this * other);
-}
-
-/** Rotation of a vector by a quaternion.
-  * \remarks If the quaternion is used to rotate several points (>1)
-  * then it is much more efficient to first convert it to a 3x3 Matrix.
-  * Comparison of the operation cost for n transformations:
-  *   - Quaternion:    30n
-  *   - Via a Matrix3: 24 + 15n
-  */
-template <typename Scalar>
-template<typename Derived>
-inline typename Quaternion<Scalar>::Vector3
-Quaternion<Scalar>::operator* (const MatrixBase<Derived>& v) const
-{
-    // Note that this algorithm comes from the optimization by hand
-    // of the conversion to a Matrix followed by a Matrix/Vector product.
-    // It appears to be much faster than the common algorithm found
-    // in the litterature (30 versus 39 flops). It also requires two
-    // Vector3 as temporaries.
-    Vector3 uv;
-    uv = 2 * this->vec().cross(v);
-    return v + this->w() * uv + this->vec().cross(uv);
-}
-
-template<typename Scalar>
-inline Quaternion<Scalar>& Quaternion<Scalar>::operator=(const Quaternion& other)
-{
-  m_coeffs = other.m_coeffs;
-  return *this;
-}
-
-/** Set \c *this from an angle-axis \a aa and returns a reference to \c *this
-  */
-template<typename Scalar>
-inline Quaternion<Scalar>& Quaternion<Scalar>::operator=(const AngleAxisType& aa)
-{
-  Scalar ha = Scalar(0.5)*aa.angle(); // Scalar(0.5) to suppress precision loss warnings
-  this->w() = ei_cos(ha);
-  this->vec() = ei_sin(ha) * aa.axis();
-  return *this;
-}
-
-/** Set \c *this from the expression \a xpr:
-  *   - if \a xpr is a 4x1 vector, then \a xpr is assumed to be a quaternion
-  *   - if \a xpr is a 3x3 matrix, then \a xpr is assumed to be rotation matrix
-  *     and \a xpr is converted to a quaternion
-  */
-template<typename Scalar>
-template<typename Derived>
-inline Quaternion<Scalar>& Quaternion<Scalar>::operator=(const MatrixBase<Derived>& xpr)
-{
-  ei_quaternion_assign_impl<Derived>::run(*this, xpr.derived());
-  return *this;
-}
-
-/** Convert the quaternion to a 3x3 rotation matrix */
-template<typename Scalar>
-inline typename Quaternion<Scalar>::Matrix3
-Quaternion<Scalar>::toRotationMatrix(void) const
-{
-  // NOTE if inlined, then gcc 4.2 and 4.4 get rid of the temporary (not gcc 4.3 !!)
-  // if not inlined then the cost of the return by value is huge ~ +35%,
-  // however, not inlining this function is an order of magnitude slower, so
-  // it has to be inlined, and so the return by value is not an issue
-  Matrix3 res;
-
-  const Scalar tx  = Scalar(2)*this->x();
-  const Scalar ty  = Scalar(2)*this->y();
-  const Scalar tz  = Scalar(2)*this->z();
-  const Scalar twx = tx*this->w();
-  const Scalar twy = ty*this->w();
-  const Scalar twz = tz*this->w();
-  const Scalar txx = tx*this->x();
-  const Scalar txy = ty*this->x();
-  const Scalar txz = tz*this->x();
-  const Scalar tyy = ty*this->y();
-  const Scalar tyz = tz*this->y();
-  const Scalar tzz = tz*this->z();
-
-  res.coeffRef(0,0) = Scalar(1)-(tyy+tzz);
-  res.coeffRef(0,1) = txy-twz;
-  res.coeffRef(0,2) = txz+twy;
-  res.coeffRef(1,0) = txy+twz;
-  res.coeffRef(1,1) = Scalar(1)-(txx+tzz);
-  res.coeffRef(1,2) = tyz-twx;
-  res.coeffRef(2,0) = txz-twy;
-  res.coeffRef(2,1) = tyz+twx;
-  res.coeffRef(2,2) = Scalar(1)-(txx+tyy);
-
-  return res;
-}
-
-/** Sets *this to be a quaternion representing a rotation sending the vector \a a to the vector \a b.
-  *
-  * \returns a reference to *this.
-  *
-  * Note that the two input vectors do \b not have to be normalized.
-  */
-template<typename Scalar>
-template<typename Derived1, typename Derived2>
-inline Quaternion<Scalar>& Quaternion<Scalar>::setFromTwoVectors(const MatrixBase<Derived1>& a, const MatrixBase<Derived2>& b)
-{
-  Vector3 v0 = a.normalized();
-  Vector3 v1 = b.normalized();
-  Scalar c = v0.eigen2_dot(v1);
-
-  // if dot == 1, vectors are the same
-  if (ei_isApprox(c,Scalar(1)))
-  {
-    // set to identity
-    this->w() = 1; this->vec().setZero();
-    return *this;
-  }
-  // if dot == -1, vectors are opposites
-  if (ei_isApprox(c,Scalar(-1)))
-  {
-    this->vec() = v0.unitOrthogonal();
-    this->w() = 0;
-    return *this;
-  }
-
-  Vector3 axis = v0.cross(v1);
-  Scalar s = ei_sqrt((Scalar(1)+c)*Scalar(2));
-  Scalar invs = Scalar(1)/s;
-  this->vec() = axis * invs;
-  this->w() = s * Scalar(0.5);
-
-  return *this;
-}
-
-/** \returns the multiplicative inverse of \c *this
-  * Note that in most cases, i.e., if you simply want the opposite rotation,
-  * and/or the quaternion is normalized, then it is enough to use the conjugate.
-  *
-  * \sa Quaternion::conjugate()
-  */
-template <typename Scalar>
-inline Quaternion<Scalar> Quaternion<Scalar>::inverse() const
-{
-  // FIXME should this function be called multiplicativeInverse and conjugate() be called inverse() or opposite()  ??
-  Scalar n2 = this->squaredNorm();
-  if (n2 > 0)
-    return Quaternion(conjugate().coeffs() / n2);
-  else
-  {
-    // return an invalid result to flag the error
-    return Quaternion(Coefficients::Zero());
-  }
-}
-
-/** \returns the conjugate of the \c *this which is equal to the multiplicative inverse
-  * if the quaternion is normalized.
-  * The conjugate of a quaternion represents the opposite rotation.
-  *
-  * \sa Quaternion::inverse()
-  */
-template <typename Scalar>
-inline Quaternion<Scalar> Quaternion<Scalar>::conjugate() const
-{
-  return Quaternion(this->w(),-this->x(),-this->y(),-this->z());
-}
-
-/** \returns the angle (in radian) between two rotations
-  * \sa eigen2_dot()
-  */
-template <typename Scalar>
-inline Scalar Quaternion<Scalar>::angularDistance(const Quaternion& other) const
-{
-  double d = ei_abs(this->eigen2_dot(other));
-  if (d>=1.0)
-    return 0;
-  return Scalar(2) * std::acos(d);
-}
-
-/** \returns the spherical linear interpolation between the two quaternions
-  * \c *this and \a other at the parameter \a t
-  */
-template <typename Scalar>
-Quaternion<Scalar> Quaternion<Scalar>::slerp(Scalar t, const Quaternion& other) const
-{
-  static const Scalar one = Scalar(1) - machine_epsilon<Scalar>();
-  Scalar d = this->eigen2_dot(other);
-  Scalar absD = ei_abs(d);
-
-  Scalar scale0;
-  Scalar scale1;
-
-  if (absD>=one)
-  {
-    scale0 = Scalar(1) - t;
-    scale1 = t;
-  }
-  else
-  {
-    // theta is the angle between the 2 quaternions
-    Scalar theta = std::acos(absD);
-    Scalar sinTheta = ei_sin(theta);
-
-    scale0 = ei_sin( ( Scalar(1) - t ) * theta) / sinTheta;
-    scale1 = ei_sin( ( t * theta) ) / sinTheta;
-    if (d<0)
-      scale1 = -scale1;
-  }
-
-  return Quaternion<Scalar>(scale0 * coeffs() + scale1 * other.coeffs());
-}
-
-// set from a rotation matrix
-template<typename Other>
-struct ei_quaternion_assign_impl<Other,3,3>
-{
-  typedef typename Other::Scalar Scalar;
-  static inline void run(Quaternion<Scalar>& q, const Other& mat)
-  {
-    // This algorithm comes from  "Quaternion Calculus and Fast Animation",
-    // Ken Shoemake, 1987 SIGGRAPH course notes
-    Scalar t = mat.trace();
-    if (t > 0)
-    {
-      t = ei_sqrt(t + Scalar(1.0));
-      q.w() = Scalar(0.5)*t;
-      t = Scalar(0.5)/t;
-      q.x() = (mat.coeff(2,1) - mat.coeff(1,2)) * t;
-      q.y() = (mat.coeff(0,2) - mat.coeff(2,0)) * t;
-      q.z() = (mat.coeff(1,0) - mat.coeff(0,1)) * t;
-    }
-    else
-    {
-      int i = 0;
-      if (mat.coeff(1,1) > mat.coeff(0,0))
-        i = 1;
-      if (mat.coeff(2,2) > mat.coeff(i,i))
-        i = 2;
-      int j = (i+1)%3;
-      int k = (j+1)%3;
-
-      t = ei_sqrt(mat.coeff(i,i)-mat.coeff(j,j)-mat.coeff(k,k) + Scalar(1.0));
-      q.coeffs().coeffRef(i) = Scalar(0.5) * t;
-      t = Scalar(0.5)/t;
-      q.w() = (mat.coeff(k,j)-mat.coeff(j,k))*t;
-      q.coeffs().coeffRef(j) = (mat.coeff(j,i)+mat.coeff(i,j))*t;
-      q.coeffs().coeffRef(k) = (mat.coeff(k,i)+mat.coeff(i,k))*t;
-    }
-  }
-};
-
-// set from a vector of coefficients assumed to be a quaternion
-template<typename Other>
-struct ei_quaternion_assign_impl<Other,4,1>
-{
-  typedef typename Other::Scalar Scalar;
-  static inline void run(Quaternion<Scalar>& q, const Other& vec)
-  {
-    q.coeffs() = vec;
-  }
-};
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/Rotation2D.h b/lib/Eigen/src/Eigen2Support/Geometry/Rotation2D.h
deleted file mode 100644
index 19b8582a..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/Rotation2D.h
+++ /dev/null
@@ -1,145 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Rotation2D
-  *
-  * \brief Represents a rotation/orientation in a 2 dimensional space.
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients
-  *
-  * This class is equivalent to a single scalar representing a counter clock wise rotation
-  * as a single angle in radian. It provides some additional features such as the automatic
-  * conversion from/to a 2x2 rotation matrix. Moreover this class aims to provide a similar
-  * interface to Quaternion in order to facilitate the writing of generic algorithms
-  * dealing with rotations.
-  *
-  * \sa class Quaternion, class Transform
-  */
-template<typename _Scalar> struct ei_traits<Rotation2D<_Scalar> >
-{
-  typedef _Scalar Scalar;
-};
-
-template<typename _Scalar>
-class Rotation2D : public RotationBase<Rotation2D<_Scalar>,2>
-{
-  typedef RotationBase<Rotation2D<_Scalar>,2> Base;
-
-public:
-
-  using Base::operator*;
-
-  enum { Dim = 2 };
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-  typedef Matrix<Scalar,2,1> Vector2;
-  typedef Matrix<Scalar,2,2> Matrix2;
-
-protected:
-
-  Scalar m_angle;
-
-public:
-
-  /** Construct a 2D counter clock wise rotation from the angle \a a in radian. */
-  inline Rotation2D(Scalar a) : m_angle(a) {}
-
-  /** \returns the rotation angle */
-  inline Scalar angle() const { return m_angle; }
-
-  /** \returns a read-write reference to the rotation angle */
-  inline Scalar& angle() { return m_angle; }
-
-  /** \returns the inverse rotation */
-  inline Rotation2D inverse() const { return -m_angle; }
-
-  /** Concatenates two rotations */
-  inline Rotation2D operator*(const Rotation2D& other) const
-  { return m_angle + other.m_angle; }
-
-  /** Concatenates two rotations */
-  inline Rotation2D& operator*=(const Rotation2D& other)
-  { return m_angle += other.m_angle; return *this; }
-
-  /** Applies the rotation to a 2D vector */
-  Vector2 operator* (const Vector2& vec) const
-  { return toRotationMatrix() * vec; }
-
-  template<typename Derived>
-  Rotation2D& fromRotationMatrix(const MatrixBase<Derived>& m);
-  Matrix2 toRotationMatrix(void) const;
-
-  /** \returns the spherical interpolation between \c *this and \a other using
-    * parameter \a t. It is in fact equivalent to a linear interpolation.
-    */
-  inline Rotation2D slerp(Scalar t, const Rotation2D& other) const
-  { return m_angle * (1-t) + other.angle() * t; }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type cast() const
-  { return typename internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit Rotation2D(const Rotation2D<OtherScalarType>& other)
-  {
-    m_angle = Scalar(other.angle());
-  }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const Rotation2D& other, typename NumTraits<Scalar>::Real prec = precision<Scalar>()) const
-  { return ei_isApprox(m_angle,other.m_angle, prec); }
-};
-
-/** \ingroup Geometry_Module
-  * single precision 2D rotation type */
-typedef Rotation2D<float> Rotation2Df;
-/** \ingroup Geometry_Module
-  * double precision 2D rotation type */
-typedef Rotation2D<double> Rotation2Dd;
-
-/** Set \c *this from a 2x2 rotation matrix \a mat.
-  * In other words, this function extract the rotation angle
-  * from the rotation matrix.
-  */
-template<typename Scalar>
-template<typename Derived>
-Rotation2D<Scalar>& Rotation2D<Scalar>::fromRotationMatrix(const MatrixBase<Derived>& mat)
-{
-  EIGEN_STATIC_ASSERT(Derived::RowsAtCompileTime==2 && Derived::ColsAtCompileTime==2,YOU_MADE_A_PROGRAMMING_MISTAKE)
-  m_angle = ei_atan2(mat.coeff(1,0), mat.coeff(0,0));
-  return *this;
-}
-
-/** Constructs and \returns an equivalent 2x2 rotation matrix.
-  */
-template<typename Scalar>
-typename Rotation2D<Scalar>::Matrix2
-Rotation2D<Scalar>::toRotationMatrix(void) const
-{
-  Scalar sinA = ei_sin(m_angle);
-  Scalar cosA = ei_cos(m_angle);
-  return (Matrix2() << cosA, -sinA, sinA, cosA).finished();
-}
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/RotationBase.h b/lib/Eigen/src/Eigen2Support/Geometry/RotationBase.h
deleted file mode 100644
index b1c8f38d..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/RotationBase.h
+++ /dev/null
@@ -1,123 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-// this file aims to contains the various representations of rotation/orientation
-// in 2D and 3D space excepted Matrix and Quaternion.
-
-/** \class RotationBase
-  *
-  * \brief Common base class for compact rotation representations
-  *
-  * \param Derived is the derived type, i.e., a rotation type
-  * \param _Dim the dimension of the space
-  */
-template<typename Derived, int _Dim>
-class RotationBase
-{
-  public:
-    enum { Dim = _Dim };
-    /** the scalar type of the coefficients */
-    typedef typename ei_traits<Derived>::Scalar Scalar;
-    
-    /** corresponding linear transformation matrix type */
-    typedef Matrix<Scalar,Dim,Dim> RotationMatrixType;
-
-    inline const Derived& derived() const { return *static_cast<const Derived*>(this); }
-    inline Derived& derived() { return *static_cast<Derived*>(this); }
-
-    /** \returns an equivalent rotation matrix */
-    inline RotationMatrixType toRotationMatrix() const { return derived().toRotationMatrix(); }
-
-    /** \returns the inverse rotation */
-    inline Derived inverse() const { return derived().inverse(); }
-
-    /** \returns the concatenation of the rotation \c *this with a translation \a t */
-    inline Transform<Scalar,Dim> operator*(const Translation<Scalar,Dim>& t) const
-    { return toRotationMatrix() * t; }
-
-    /** \returns the concatenation of the rotation \c *this with a scaling \a s */
-    inline RotationMatrixType operator*(const Scaling<Scalar,Dim>& s) const
-    { return toRotationMatrix() * s; }
-
-    /** \returns the concatenation of the rotation \c *this with an affine transformation \a t */
-    inline Transform<Scalar,Dim> operator*(const Transform<Scalar,Dim>& t) const
-    { return toRotationMatrix() * t; }
-};
-
-/** \geometry_module
-  *
-  * Constructs a Dim x Dim rotation matrix from the rotation \a r
-  */
-template<typename _Scalar, int _Rows, int _Cols, int _Storage, int _MaxRows, int _MaxCols>
-template<typename OtherDerived>
-Matrix<_Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols>
-::Matrix(const RotationBase<OtherDerived,ColsAtCompileTime>& r)
-{
-  EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(Matrix,int(OtherDerived::Dim),int(OtherDerived::Dim))
-  *this = r.toRotationMatrix();
-}
-
-/** \geometry_module
-  *
-  * Set a Dim x Dim rotation matrix from the rotation \a r
-  */
-template<typename _Scalar, int _Rows, int _Cols, int _Storage, int _MaxRows, int _MaxCols>
-template<typename OtherDerived>
-Matrix<_Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols>&
-Matrix<_Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols>
-::operator=(const RotationBase<OtherDerived,ColsAtCompileTime>& r)
-{
-  EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(Matrix,int(OtherDerived::Dim),int(OtherDerived::Dim))
-  return *this = r.toRotationMatrix();
-}
-
-/** \internal
-  *
-  * Helper function to return an arbitrary rotation object to a rotation matrix.
-  *
-  * \param Scalar the numeric type of the matrix coefficients
-  * \param Dim the dimension of the current space
-  *
-  * It returns a Dim x Dim fixed size matrix.
-  *
-  * Default specializations are provided for:
-  *   - any scalar type (2D),
-  *   - any matrix expression,
-  *   - any type based on RotationBase (e.g., Quaternion, AngleAxis, Rotation2D)
-  *
-  * Currently ei_toRotationMatrix is only used by Transform.
-  *
-  * \sa class Transform, class Rotation2D, class Quaternion, class AngleAxis
-  */
-template<typename Scalar, int Dim>
-static inline Matrix<Scalar,2,2> ei_toRotationMatrix(const Scalar& s)
-{
-  EIGEN_STATIC_ASSERT(Dim==2,YOU_MADE_A_PROGRAMMING_MISTAKE)
-  return Rotation2D<Scalar>(s).toRotationMatrix();
-}
-
-template<typename Scalar, int Dim, typename OtherDerived>
-static inline Matrix<Scalar,Dim,Dim> ei_toRotationMatrix(const RotationBase<OtherDerived,Dim>& r)
-{
-  return r.toRotationMatrix();
-}
-
-template<typename Scalar, int Dim, typename OtherDerived>
-static inline const MatrixBase<OtherDerived>& ei_toRotationMatrix(const MatrixBase<OtherDerived>& mat)
-{
-  EIGEN_STATIC_ASSERT(OtherDerived::RowsAtCompileTime==Dim && OtherDerived::ColsAtCompileTime==Dim,
-    YOU_MADE_A_PROGRAMMING_MISTAKE)
-  return mat;
-}
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/Scaling.h b/lib/Eigen/src/Eigen2Support/Geometry/Scaling.h
deleted file mode 100644
index b8fa6cd3..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/Scaling.h
+++ /dev/null
@@ -1,167 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Scaling
-  *
-  * \brief Represents a possibly non uniform scaling transformation
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients.
-  * \param _Dim the  dimension of the space, can be a compile time value or Dynamic
-  *
-  * \note This class is not aimed to be used to store a scaling transformation,
-  * but rather to make easier the constructions and updates of Transform objects.
-  *
-  * \sa class Translation, class Transform
-  */
-template<typename _Scalar, int _Dim>
-class Scaling
-{
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_Dim)
-  /** dimension of the space */
-  enum { Dim = _Dim };
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-  /** corresponding vector type */
-  typedef Matrix<Scalar,Dim,1> VectorType;
-  /** corresponding linear transformation matrix type */
-  typedef Matrix<Scalar,Dim,Dim> LinearMatrixType;
-  /** corresponding translation type */
-  typedef Translation<Scalar,Dim> TranslationType;
-  /** corresponding affine transformation type */
-  typedef Transform<Scalar,Dim> TransformType;
-
-protected:
-
-  VectorType m_coeffs;
-
-public:
-
-  /** Default constructor without initialization. */
-  Scaling() {}
-  /** Constructs and initialize a uniform scaling transformation */
-  explicit inline Scaling(const Scalar& s) { m_coeffs.setConstant(s); }
-  /** 2D only */
-  inline Scaling(const Scalar& sx, const Scalar& sy)
-  {
-    ei_assert(Dim==2);
-    m_coeffs.x() = sx;
-    m_coeffs.y() = sy;
-  }
-  /** 3D only */
-  inline Scaling(const Scalar& sx, const Scalar& sy, const Scalar& sz)
-  {
-    ei_assert(Dim==3);
-    m_coeffs.x() = sx;
-    m_coeffs.y() = sy;
-    m_coeffs.z() = sz;
-  }
-  /** Constructs and initialize the scaling transformation from a vector of scaling coefficients */
-  explicit inline Scaling(const VectorType& coeffs) : m_coeffs(coeffs) {}
-
-  const VectorType& coeffs() const { return m_coeffs; }
-  VectorType& coeffs() { return m_coeffs; }
-
-  /** Concatenates two scaling */
-  inline Scaling operator* (const Scaling& other) const
-  { return Scaling(coeffs().cwise() * other.coeffs()); }
-
-  /** Concatenates a scaling and a translation */
-  inline TransformType operator* (const TranslationType& t) const;
-
-  /** Concatenates a scaling and an affine transformation */
-  inline TransformType operator* (const TransformType& t) const;
-
-  /** Concatenates a scaling and a linear transformation matrix */
-  // TODO returns an expression
-  inline LinearMatrixType operator* (const LinearMatrixType& other) const
-  { return coeffs().asDiagonal() * other; }
-
-  /** Concatenates a linear transformation matrix and a scaling */
-  // TODO returns an expression
-  friend inline LinearMatrixType operator* (const LinearMatrixType& other, const Scaling& s)
-  { return other * s.coeffs().asDiagonal(); }
-
-  template<typename Derived>
-  inline LinearMatrixType operator*(const RotationBase<Derived,Dim>& r) const
-  { return *this * r.toRotationMatrix(); }
-
-  /** Applies scaling to vector */
-  inline VectorType operator* (const VectorType& other) const
-  { return coeffs().asDiagonal() * other; }
-
-  /** \returns the inverse scaling */
-  inline Scaling inverse() const
-  { return Scaling(coeffs().cwise().inverse()); }
-
-  inline Scaling& operator=(const Scaling& other)
-  {
-    m_coeffs = other.m_coeffs;
-    return *this;
-  }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Scaling,Scaling<NewScalarType,Dim> >::type cast() const
-  { return typename internal::cast_return_type<Scaling,Scaling<NewScalarType,Dim> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit Scaling(const Scaling<OtherScalarType,Dim>& other)
-  { m_coeffs = other.coeffs().template cast<Scalar>(); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const Scaling& other, typename NumTraits<Scalar>::Real prec = precision<Scalar>()) const
-  { return m_coeffs.isApprox(other.m_coeffs, prec); }
-
-};
-
-/** \addtogroup Geometry_Module */
-//@{
-typedef Scaling<float, 2> Scaling2f;
-typedef Scaling<double,2> Scaling2d;
-typedef Scaling<float, 3> Scaling3f;
-typedef Scaling<double,3> Scaling3d;
-//@}
-
-template<typename Scalar, int Dim>
-inline typename Scaling<Scalar,Dim>::TransformType
-Scaling<Scalar,Dim>::operator* (const TranslationType& t) const
-{
-  TransformType res;
-  res.matrix().setZero();
-  res.linear().diagonal() = coeffs();
-  res.translation() = m_coeffs.cwise() * t.vector();
-  res(Dim,Dim) = Scalar(1);
-  return res;
-}
-
-template<typename Scalar, int Dim>
-inline typename Scaling<Scalar,Dim>::TransformType
-Scaling<Scalar,Dim>::operator* (const TransformType& t) const
-{
-  TransformType res = t;
-  res.prescale(m_coeffs);
-  return res;
-}
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/Transform.h b/lib/Eigen/src/Eigen2Support/Geometry/Transform.h
deleted file mode 100644
index fab60b25..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/Transform.h
+++ /dev/null
@@ -1,786 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-// Note that we have to pass Dim and HDim because it is not allowed to use a template
-// parameter to define a template specialization. To be more precise, in the following
-// specializations, it is not allowed to use Dim+1 instead of HDim.
-template< typename Other,
-          int Dim,
-          int HDim,
-          int OtherRows=Other::RowsAtCompileTime,
-          int OtherCols=Other::ColsAtCompileTime>
-struct ei_transform_product_impl;
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Transform
-  *
-  * \brief Represents an homogeneous transformation in a N dimensional space
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients
-  * \param _Dim the dimension of the space
-  *
-  * The homography is internally represented and stored as a (Dim+1)^2 matrix which
-  * is available through the matrix() method.
-  *
-  * Conversion methods from/to Qt's QMatrix and QTransform are available if the
-  * preprocessor token EIGEN_QT_SUPPORT is defined.
-  *
-  * \sa class Matrix, class Quaternion
-  */
-template<typename _Scalar, int _Dim>
-class Transform
-{
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_Dim==Dynamic ? Dynamic : (_Dim+1)*(_Dim+1))
-  enum {
-    Dim = _Dim,     ///< space dimension in which the transformation holds
-    HDim = _Dim+1   ///< size of a respective homogeneous vector
-  };
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-  /** type of the matrix used to represent the transformation */
-  typedef Matrix<Scalar,HDim,HDim> MatrixType;
-  /** type of the matrix used to represent the linear part of the transformation */
-  typedef Matrix<Scalar,Dim,Dim> LinearMatrixType;
-  /** type of read/write reference to the linear part of the transformation */
-  typedef Block<MatrixType,Dim,Dim> LinearPart;
-  /** type of read/write reference to the linear part of the transformation */
-  typedef const Block<const MatrixType,Dim,Dim> ConstLinearPart;
-  /** type of a vector */
-  typedef Matrix<Scalar,Dim,1> VectorType;
-  /** type of a read/write reference to the translation part of the rotation */
-  typedef Block<MatrixType,Dim,1> TranslationPart;
-  /** type of a read/write reference to the translation part of the rotation */
-  typedef const Block<const MatrixType,Dim,1> ConstTranslationPart;
-  /** corresponding translation type */
-  typedef Translation<Scalar,Dim> TranslationType;
-  /** corresponding scaling transformation type */
-  typedef Scaling<Scalar,Dim> ScalingType;
-
-protected:
-
-  MatrixType m_matrix;
-
-public:
-
-  /** Default constructor without initialization of the coefficients. */
-  inline Transform() { }
-
-  inline Transform(const Transform& other)
-  {
-    m_matrix = other.m_matrix;
-  }
-
-  inline explicit Transform(const TranslationType& t) { *this = t; }
-  inline explicit Transform(const ScalingType& s) { *this = s; }
-  template<typename Derived>
-  inline explicit Transform(const RotationBase<Derived, Dim>& r) { *this = r; }
-
-  inline Transform& operator=(const Transform& other)
-  { m_matrix = other.m_matrix; return *this; }
-
-  template<typename OtherDerived, bool BigMatrix> // MSVC 2005 will commit suicide if BigMatrix has a default value
-  struct construct_from_matrix
-  {
-    static inline void run(Transform *transform, const MatrixBase<OtherDerived>& other)
-    {
-      transform->matrix() = other;
-    }
-  };
-
-  template<typename OtherDerived> struct construct_from_matrix<OtherDerived, true>
-  {
-    static inline void run(Transform *transform, const MatrixBase<OtherDerived>& other)
-    {
-      transform->linear() = other;
-      transform->translation().setZero();
-      transform->matrix()(Dim,Dim) = Scalar(1);
-      transform->matrix().template block<1,Dim>(Dim,0).setZero();
-    }
-  };
-
-  /** Constructs and initializes a transformation from a Dim^2 or a (Dim+1)^2 matrix. */
-  template<typename OtherDerived>
-  inline explicit Transform(const MatrixBase<OtherDerived>& other)
-  {
-    construct_from_matrix<OtherDerived, int(OtherDerived::RowsAtCompileTime) == Dim>::run(this, other);
-  }
-
-  /** Set \c *this from a (Dim+1)^2 matrix. */
-  template<typename OtherDerived>
-  inline Transform& operator=(const MatrixBase<OtherDerived>& other)
-  { m_matrix = other; return *this; }
-
-  #ifdef EIGEN_QT_SUPPORT
-  inline Transform(const QMatrix& other);
-  inline Transform& operator=(const QMatrix& other);
-  inline QMatrix toQMatrix(void) const;
-  inline Transform(const QTransform& other);
-  inline Transform& operator=(const QTransform& other);
-  inline QTransform toQTransform(void) const;
-  #endif
-
-  /** shortcut for m_matrix(row,col);
-    * \sa MatrixBase::operaror(int,int) const */
-  inline Scalar operator() (int row, int col) const { return m_matrix(row,col); }
-  /** shortcut for m_matrix(row,col);
-    * \sa MatrixBase::operaror(int,int) */
-  inline Scalar& operator() (int row, int col) { return m_matrix(row,col); }
-
-  /** \returns a read-only expression of the transformation matrix */
-  inline const MatrixType& matrix() const { return m_matrix; }
-  /** \returns a writable expression of the transformation matrix */
-  inline MatrixType& matrix() { return m_matrix; }
-
-  /** \returns a read-only expression of the linear (linear) part of the transformation */
-  inline ConstLinearPart linear() const { return m_matrix.template block<Dim,Dim>(0,0); }
-  /** \returns a writable expression of the linear (linear) part of the transformation */
-  inline LinearPart linear() { return m_matrix.template block<Dim,Dim>(0,0); }
-
-  /** \returns a read-only expression of the translation vector of the transformation */
-  inline ConstTranslationPart translation() const { return m_matrix.template block<Dim,1>(0,Dim); }
-  /** \returns a writable expression of the translation vector of the transformation */
-  inline TranslationPart translation() { return m_matrix.template block<Dim,1>(0,Dim); }
-
-  /** \returns an expression of the product between the transform \c *this and a matrix expression \a other
-  *
-  * The right hand side \a other might be either:
-  * \li a vector of size Dim,
-  * \li an homogeneous vector of size Dim+1,
-  * \li a transformation matrix of size Dim+1 x Dim+1.
-  */
-  // note: this function is defined here because some compilers cannot find the respective declaration
-  template<typename OtherDerived>
-  inline const typename ei_transform_product_impl<OtherDerived,_Dim,_Dim+1>::ResultType
-  operator * (const MatrixBase<OtherDerived> &other) const
-  { return ei_transform_product_impl<OtherDerived,Dim,HDim>::run(*this,other.derived()); }
-
-  /** \returns the product expression of a transformation matrix \a a times a transform \a b
-    * The transformation matrix \a a must have a Dim+1 x Dim+1 sizes. */
-  template<typename OtherDerived>
-  friend inline const typename ProductReturnType<OtherDerived,MatrixType>::Type
-  operator * (const MatrixBase<OtherDerived> &a, const Transform &b)
-  { return a.derived() * b.matrix(); }
-
-  /** Contatenates two transformations */
-  inline const Transform
-  operator * (const Transform& other) const
-  { return Transform(m_matrix * other.matrix()); }
-
-  /** \sa MatrixBase::setIdentity() */
-  void setIdentity() { m_matrix.setIdentity(); }
-  static const typename MatrixType::IdentityReturnType Identity()
-  {
-    return MatrixType::Identity();
-  }
-
-  template<typename OtherDerived>
-  inline Transform& scale(const MatrixBase<OtherDerived> &other);
-
-  template<typename OtherDerived>
-  inline Transform& prescale(const MatrixBase<OtherDerived> &other);
-
-  inline Transform& scale(Scalar s);
-  inline Transform& prescale(Scalar s);
-
-  template<typename OtherDerived>
-  inline Transform& translate(const MatrixBase<OtherDerived> &other);
-
-  template<typename OtherDerived>
-  inline Transform& pretranslate(const MatrixBase<OtherDerived> &other);
-
-  template<typename RotationType>
-  inline Transform& rotate(const RotationType& rotation);
-
-  template<typename RotationType>
-  inline Transform& prerotate(const RotationType& rotation);
-
-  Transform& shear(Scalar sx, Scalar sy);
-  Transform& preshear(Scalar sx, Scalar sy);
-
-  inline Transform& operator=(const TranslationType& t);
-  inline Transform& operator*=(const TranslationType& t) { return translate(t.vector()); }
-  inline Transform operator*(const TranslationType& t) const;
-
-  inline Transform& operator=(const ScalingType& t);
-  inline Transform& operator*=(const ScalingType& s) { return scale(s.coeffs()); }
-  inline Transform operator*(const ScalingType& s) const;
-  friend inline Transform operator*(const LinearMatrixType& mat, const Transform& t)
-  {
-    Transform res = t;
-    res.matrix().row(Dim) = t.matrix().row(Dim);
-    res.matrix().template block<Dim,HDim>(0,0) = (mat * t.matrix().template block<Dim,HDim>(0,0)).lazy();
-    return res;
-  }
-
-  template<typename Derived>
-  inline Transform& operator=(const RotationBase<Derived,Dim>& r);
-  template<typename Derived>
-  inline Transform& operator*=(const RotationBase<Derived,Dim>& r) { return rotate(r.toRotationMatrix()); }
-  template<typename Derived>
-  inline Transform operator*(const RotationBase<Derived,Dim>& r) const;
-
-  LinearMatrixType rotation() const;
-  template<typename RotationMatrixType, typename ScalingMatrixType>
-  void computeRotationScaling(RotationMatrixType *rotation, ScalingMatrixType *scaling) const;
-  template<typename ScalingMatrixType, typename RotationMatrixType>
-  void computeScalingRotation(ScalingMatrixType *scaling, RotationMatrixType *rotation) const;
-
-  template<typename PositionDerived, typename OrientationType, typename ScaleDerived>
-  Transform& fromPositionOrientationScale(const MatrixBase<PositionDerived> &position,
-    const OrientationType& orientation, const MatrixBase<ScaleDerived> &scale);
-
-  inline const MatrixType inverse(TransformTraits traits = Affine) const;
-
-  /** \returns a const pointer to the column major internal matrix */
-  const Scalar* data() const { return m_matrix.data(); }
-  /** \returns a non-const pointer to the column major internal matrix */
-  Scalar* data() { return m_matrix.data(); }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Transform,Transform<NewScalarType,Dim> >::type cast() const
-  { return typename internal::cast_return_type<Transform,Transform<NewScalarType,Dim> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit Transform(const Transform<OtherScalarType,Dim>& other)
-  { m_matrix = other.matrix().template cast<Scalar>(); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const Transform& other, typename NumTraits<Scalar>::Real prec = precision<Scalar>()) const
-  { return m_matrix.isApprox(other.m_matrix, prec); }
-
-  #ifdef EIGEN_TRANSFORM_PLUGIN
-  #include EIGEN_TRANSFORM_PLUGIN
-  #endif
-
-protected:
-
-};
-
-/** \ingroup Geometry_Module */
-typedef Transform<float,2> Transform2f;
-/** \ingroup Geometry_Module */
-typedef Transform<float,3> Transform3f;
-/** \ingroup Geometry_Module */
-typedef Transform<double,2> Transform2d;
-/** \ingroup Geometry_Module */
-typedef Transform<double,3> Transform3d;
-
-/**************************
-*** Optional QT support ***
-**************************/
-
-#ifdef EIGEN_QT_SUPPORT
-/** Initialises \c *this from a QMatrix assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim>
-Transform<Scalar,Dim>::Transform(const QMatrix& other)
-{
-  *this = other;
-}
-
-/** Set \c *this from a QMatrix assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim>
-Transform<Scalar,Dim>& Transform<Scalar,Dim>::operator=(const QMatrix& other)
-{
-  EIGEN_STATIC_ASSERT(Dim==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  m_matrix << other.m11(), other.m21(), other.dx(),
-              other.m12(), other.m22(), other.dy(),
-              0, 0, 1;
-   return *this;
-}
-
-/** \returns a QMatrix from \c *this assuming the dimension is 2.
-  *
-  * \warning this convertion might loss data if \c *this is not affine
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim>
-QMatrix Transform<Scalar,Dim>::toQMatrix(void) const
-{
-  EIGEN_STATIC_ASSERT(Dim==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  return QMatrix(m_matrix.coeff(0,0), m_matrix.coeff(1,0),
-                 m_matrix.coeff(0,1), m_matrix.coeff(1,1),
-                 m_matrix.coeff(0,2), m_matrix.coeff(1,2));
-}
-
-/** Initialises \c *this from a QTransform assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim>
-Transform<Scalar,Dim>::Transform(const QTransform& other)
-{
-  *this = other;
-}
-
-/** Set \c *this from a QTransform assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim>
-Transform<Scalar,Dim>& Transform<Scalar,Dim>::operator=(const QTransform& other)
-{
-  EIGEN_STATIC_ASSERT(Dim==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  m_matrix << other.m11(), other.m21(), other.dx(),
-              other.m12(), other.m22(), other.dy(),
-              other.m13(), other.m23(), other.m33();
-   return *this;
-}
-
-/** \returns a QTransform from \c *this assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim>
-QTransform Transform<Scalar,Dim>::toQTransform(void) const
-{
-  EIGEN_STATIC_ASSERT(Dim==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  return QTransform(m_matrix.coeff(0,0), m_matrix.coeff(1,0), m_matrix.coeff(2,0),
-                    m_matrix.coeff(0,1), m_matrix.coeff(1,1), m_matrix.coeff(2,1),
-                    m_matrix.coeff(0,2), m_matrix.coeff(1,2), m_matrix.coeff(2,2));
-}
-#endif
-
-/*********************
-*** Procedural API ***
-*********************/
-
-/** Applies on the right the non uniform scale transformation represented
-  * by the vector \a other to \c *this and returns a reference to \c *this.
-  * \sa prescale()
-  */
-template<typename Scalar, int Dim>
-template<typename OtherDerived>
-Transform<Scalar,Dim>&
-Transform<Scalar,Dim>::scale(const MatrixBase<OtherDerived> &other)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,int(Dim))
-  linear() = (linear() * other.asDiagonal()).lazy();
-  return *this;
-}
-
-/** Applies on the right a uniform scale of a factor \a c to \c *this
-  * and returns a reference to \c *this.
-  * \sa prescale(Scalar)
-  */
-template<typename Scalar, int Dim>
-inline Transform<Scalar,Dim>& Transform<Scalar,Dim>::scale(Scalar s)
-{
-  linear() *= s;
-  return *this;
-}
-
-/** Applies on the left the non uniform scale transformation represented
-  * by the vector \a other to \c *this and returns a reference to \c *this.
-  * \sa scale()
-  */
-template<typename Scalar, int Dim>
-template<typename OtherDerived>
-Transform<Scalar,Dim>&
-Transform<Scalar,Dim>::prescale(const MatrixBase<OtherDerived> &other)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,int(Dim))
-  m_matrix.template block<Dim,HDim>(0,0) = (other.asDiagonal() * m_matrix.template block<Dim,HDim>(0,0)).lazy();
-  return *this;
-}
-
-/** Applies on the left a uniform scale of a factor \a c to \c *this
-  * and returns a reference to \c *this.
-  * \sa scale(Scalar)
-  */
-template<typename Scalar, int Dim>
-inline Transform<Scalar,Dim>& Transform<Scalar,Dim>::prescale(Scalar s)
-{
-  m_matrix.template corner<Dim,HDim>(TopLeft) *= s;
-  return *this;
-}
-
-/** Applies on the right the translation matrix represented by the vector \a other
-  * to \c *this and returns a reference to \c *this.
-  * \sa pretranslate()
-  */
-template<typename Scalar, int Dim>
-template<typename OtherDerived>
-Transform<Scalar,Dim>&
-Transform<Scalar,Dim>::translate(const MatrixBase<OtherDerived> &other)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,int(Dim))
-  translation() += linear() * other;
-  return *this;
-}
-
-/** Applies on the left the translation matrix represented by the vector \a other
-  * to \c *this and returns a reference to \c *this.
-  * \sa translate()
-  */
-template<typename Scalar, int Dim>
-template<typename OtherDerived>
-Transform<Scalar,Dim>&
-Transform<Scalar,Dim>::pretranslate(const MatrixBase<OtherDerived> &other)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,int(Dim))
-  translation() += other;
-  return *this;
-}
-
-/** Applies on the right the rotation represented by the rotation \a rotation
-  * to \c *this and returns a reference to \c *this.
-  *
-  * The template parameter \a RotationType is the type of the rotation which
-  * must be known by ei_toRotationMatrix<>.
-  *
-  * Natively supported types includes:
-  *   - any scalar (2D),
-  *   - a Dim x Dim matrix expression,
-  *   - a Quaternion (3D),
-  *   - a AngleAxis (3D)
-  *
-  * This mechanism is easily extendable to support user types such as Euler angles,
-  * or a pair of Quaternion for 4D rotations.
-  *
-  * \sa rotate(Scalar), class Quaternion, class AngleAxis, prerotate(RotationType)
-  */
-template<typename Scalar, int Dim>
-template<typename RotationType>
-Transform<Scalar,Dim>&
-Transform<Scalar,Dim>::rotate(const RotationType& rotation)
-{
-  linear() *= ei_toRotationMatrix<Scalar,Dim>(rotation);
-  return *this;
-}
-
-/** Applies on the left the rotation represented by the rotation \a rotation
-  * to \c *this and returns a reference to \c *this.
-  *
-  * See rotate() for further details.
-  *
-  * \sa rotate()
-  */
-template<typename Scalar, int Dim>
-template<typename RotationType>
-Transform<Scalar,Dim>&
-Transform<Scalar,Dim>::prerotate(const RotationType& rotation)
-{
-  m_matrix.template block<Dim,HDim>(0,0) = ei_toRotationMatrix<Scalar,Dim>(rotation)
-                                         * m_matrix.template block<Dim,HDim>(0,0);
-  return *this;
-}
-
-/** Applies on the right the shear transformation represented
-  * by the vector \a other to \c *this and returns a reference to \c *this.
-  * \warning 2D only.
-  * \sa preshear()
-  */
-template<typename Scalar, int Dim>
-Transform<Scalar,Dim>&
-Transform<Scalar,Dim>::shear(Scalar sx, Scalar sy)
-{
-  EIGEN_STATIC_ASSERT(int(Dim)==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  VectorType tmp = linear().col(0)*sy + linear().col(1);
-  linear() << linear().col(0) + linear().col(1)*sx, tmp;
-  return *this;
-}
-
-/** Applies on the left the shear transformation represented
-  * by the vector \a other to \c *this and returns a reference to \c *this.
-  * \warning 2D only.
-  * \sa shear()
-  */
-template<typename Scalar, int Dim>
-Transform<Scalar,Dim>&
-Transform<Scalar,Dim>::preshear(Scalar sx, Scalar sy)
-{
-  EIGEN_STATIC_ASSERT(int(Dim)==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  m_matrix.template block<Dim,HDim>(0,0) = LinearMatrixType(1, sx, sy, 1) * m_matrix.template block<Dim,HDim>(0,0);
-  return *this;
-}
-
-/******************************************************
-*** Scaling, Translation and Rotation compatibility ***
-******************************************************/
-
-template<typename Scalar, int Dim>
-inline Transform<Scalar,Dim>& Transform<Scalar,Dim>::operator=(const TranslationType& t)
-{
-  linear().setIdentity();
-  translation() = t.vector();
-  m_matrix.template block<1,Dim>(Dim,0).setZero();
-  m_matrix(Dim,Dim) = Scalar(1);
-  return *this;
-}
-
-template<typename Scalar, int Dim>
-inline Transform<Scalar,Dim> Transform<Scalar,Dim>::operator*(const TranslationType& t) const
-{
-  Transform res = *this;
-  res.translate(t.vector());
-  return res;
-}
-
-template<typename Scalar, int Dim>
-inline Transform<Scalar,Dim>& Transform<Scalar,Dim>::operator=(const ScalingType& s)
-{
-  m_matrix.setZero();
-  linear().diagonal() = s.coeffs();
-  m_matrix.coeffRef(Dim,Dim) = Scalar(1);
-  return *this;
-}
-
-template<typename Scalar, int Dim>
-inline Transform<Scalar,Dim> Transform<Scalar,Dim>::operator*(const ScalingType& s) const
-{
-  Transform res = *this;
-  res.scale(s.coeffs());
-  return res;
-}
-
-template<typename Scalar, int Dim>
-template<typename Derived>
-inline Transform<Scalar,Dim>& Transform<Scalar,Dim>::operator=(const RotationBase<Derived,Dim>& r)
-{
-  linear() = ei_toRotationMatrix<Scalar,Dim>(r);
-  translation().setZero();
-  m_matrix.template block<1,Dim>(Dim,0).setZero();
-  m_matrix.coeffRef(Dim,Dim) = Scalar(1);
-  return *this;
-}
-
-template<typename Scalar, int Dim>
-template<typename Derived>
-inline Transform<Scalar,Dim> Transform<Scalar,Dim>::operator*(const RotationBase<Derived,Dim>& r) const
-{
-  Transform res = *this;
-  res.rotate(r.derived());
-  return res;
-}
-
-/************************
-*** Special functions ***
-************************/
-
-/** \returns the rotation part of the transformation
-  * \nonstableyet
-  *
-  * \svd_module
-  *
-  * \sa computeRotationScaling(), computeScalingRotation(), class SVD
-  */
-template<typename Scalar, int Dim>
-typename Transform<Scalar,Dim>::LinearMatrixType
-Transform<Scalar,Dim>::rotation() const
-{
-  LinearMatrixType result;
-  computeRotationScaling(&result, (LinearMatrixType*)0);
-  return result;
-}
-
-
-/** decomposes the linear part of the transformation as a product rotation x scaling, the scaling being
-  * not necessarily positive.
-  *
-  * If either pointer is zero, the corresponding computation is skipped.
-  *
-  * \nonstableyet
-  *
-  * \svd_module
-  *
-  * \sa computeScalingRotation(), rotation(), class SVD
-  */
-template<typename Scalar, int Dim>
-template<typename RotationMatrixType, typename ScalingMatrixType>
-void Transform<Scalar,Dim>::computeRotationScaling(RotationMatrixType *rotation, ScalingMatrixType *scaling) const
-{
-  JacobiSVD<LinearMatrixType> svd(linear(), ComputeFullU|ComputeFullV);
-  Scalar x = (svd.matrixU() * svd.matrixV().adjoint()).determinant(); // so x has absolute value 1
-  Matrix<Scalar, Dim, 1> sv(svd.singularValues());
-  sv.coeffRef(0) *= x;
-  if(scaling)
-  {
-    scaling->noalias() = svd.matrixV() * sv.asDiagonal() * svd.matrixV().adjoint();
-  }
-  if(rotation)
-  {
-    LinearMatrixType m(svd.matrixU());
-    m.col(0) /= x;
-    rotation->noalias() = m * svd.matrixV().adjoint();
-  }
-}
-
-/** decomposes the linear part of the transformation as a product rotation x scaling, the scaling being
-  * not necessarily positive.
-  *
-  * If either pointer is zero, the corresponding computation is skipped.
-  *
-  * \nonstableyet
-  *
-  * \svd_module
-  *
-  * \sa computeRotationScaling(), rotation(), class SVD
-  */
-template<typename Scalar, int Dim>
-template<typename ScalingMatrixType, typename RotationMatrixType>
-void Transform<Scalar,Dim>::computeScalingRotation(ScalingMatrixType *scaling, RotationMatrixType *rotation) const
-{
-  JacobiSVD<LinearMatrixType> svd(linear(), ComputeFullU|ComputeFullV);
-  Scalar x = (svd.matrixU() * svd.matrixV().adjoint()).determinant(); // so x has absolute value 1
-  Matrix<Scalar, Dim, 1> sv(svd.singularValues());
-  sv.coeffRef(0) *= x;
-  if(scaling)
-  {
-    scaling->noalias() = svd.matrixU() * sv.asDiagonal() * svd.matrixU().adjoint();
-  }
-  if(rotation)
-  {
-    LinearMatrixType m(svd.matrixU());
-    m.col(0) /= x;
-    rotation->noalias() = m * svd.matrixV().adjoint();
-  }
-}
-
-/** Convenient method to set \c *this from a position, orientation and scale
-  * of a 3D object.
-  */
-template<typename Scalar, int Dim>
-template<typename PositionDerived, typename OrientationType, typename ScaleDerived>
-Transform<Scalar,Dim>&
-Transform<Scalar,Dim>::fromPositionOrientationScale(const MatrixBase<PositionDerived> &position,
-  const OrientationType& orientation, const MatrixBase<ScaleDerived> &scale)
-{
-  linear() = ei_toRotationMatrix<Scalar,Dim>(orientation);
-  linear() *= scale.asDiagonal();
-  translation() = position;
-  m_matrix.template block<1,Dim>(Dim,0).setZero();
-  m_matrix(Dim,Dim) = Scalar(1);
-  return *this;
-}
-
-/** \nonstableyet
-  *
-  * \returns the inverse transformation matrix according to some given knowledge
-  * on \c *this.
-  *
-  * \param traits allows to optimize the inversion process when the transformion
-  * is known to be not a general transformation. The possible values are:
-  *  - Projective if the transformation is not necessarily affine, i.e., if the
-  *    last row is not guaranteed to be [0 ... 0 1]
-  *  - Affine is the default, the last row is assumed to be [0 ... 0 1]
-  *  - Isometry if the transformation is only a concatenations of translations
-  *    and rotations.
-  *
-  * \warning unless \a traits is always set to NoShear or NoScaling, this function
-  * requires the generic inverse method of MatrixBase defined in the LU module. If
-  * you forget to include this module, then you will get hard to debug linking errors.
-  *
-  * \sa MatrixBase::inverse()
-  */
-template<typename Scalar, int Dim>
-inline const typename Transform<Scalar,Dim>::MatrixType
-Transform<Scalar,Dim>::inverse(TransformTraits traits) const
-{
-  if (traits == Projective)
-  {
-    return m_matrix.inverse();
-  }
-  else
-  {
-    MatrixType res;
-    if (traits == Affine)
-    {
-      res.template corner<Dim,Dim>(TopLeft) = linear().inverse();
-    }
-    else if (traits == Isometry)
-    {
-      res.template corner<Dim,Dim>(TopLeft) = linear().transpose();
-    }
-    else
-    {
-      ei_assert("invalid traits value in Transform::inverse()");
-    }
-    // translation and remaining parts
-    res.template corner<Dim,1>(TopRight) = - res.template corner<Dim,Dim>(TopLeft) * translation();
-    res.template corner<1,Dim>(BottomLeft).setZero();
-    res.coeffRef(Dim,Dim) = Scalar(1);
-    return res;
-  }
-}
-
-/*****************************************************
-*** Specializations of operator* with a MatrixBase ***
-*****************************************************/
-
-template<typename Other, int Dim, int HDim>
-struct ei_transform_product_impl<Other,Dim,HDim, HDim,HDim>
-{
-  typedef Transform<typename Other::Scalar,Dim> TransformType;
-  typedef typename TransformType::MatrixType MatrixType;
-  typedef typename ProductReturnType<MatrixType,Other>::Type ResultType;
-  static ResultType run(const TransformType& tr, const Other& other)
-  { return tr.matrix() * other; }
-};
-
-template<typename Other, int Dim, int HDim>
-struct ei_transform_product_impl<Other,Dim,HDim, Dim,Dim>
-{
-  typedef Transform<typename Other::Scalar,Dim> TransformType;
-  typedef typename TransformType::MatrixType MatrixType;
-  typedef TransformType ResultType;
-  static ResultType run(const TransformType& tr, const Other& other)
-  {
-    TransformType res;
-    res.translation() = tr.translation();
-    res.matrix().row(Dim) = tr.matrix().row(Dim);
-    res.linear() = (tr.linear() * other).lazy();
-    return res;
-  }
-};
-
-template<typename Other, int Dim, int HDim>
-struct ei_transform_product_impl<Other,Dim,HDim, HDim,1>
-{
-  typedef Transform<typename Other::Scalar,Dim> TransformType;
-  typedef typename TransformType::MatrixType MatrixType;
-  typedef typename ProductReturnType<MatrixType,Other>::Type ResultType;
-  static ResultType run(const TransformType& tr, const Other& other)
-  { return tr.matrix() * other; }
-};
-
-template<typename Other, int Dim, int HDim>
-struct ei_transform_product_impl<Other,Dim,HDim, Dim,1>
-{
-  typedef typename Other::Scalar Scalar;
-  typedef Transform<Scalar,Dim> TransformType;
-  typedef Matrix<Scalar,Dim,1> ResultType;
-  static ResultType run(const TransformType& tr, const Other& other)
-  { return ((tr.linear() * other) + tr.translation())
-          * (Scalar(1) / ( (tr.matrix().template block<1,Dim>(Dim,0) * other).coeff(0) + tr.matrix().coeff(Dim,Dim))); }
-};
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/Geometry/Translation.h b/lib/Eigen/src/Eigen2Support/Geometry/Translation.h
deleted file mode 100644
index 2b9859f6..00000000
--- a/lib/Eigen/src/Eigen2Support/Geometry/Translation.h
+++ /dev/null
@@ -1,184 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// no include guard, we'll include this twice from All.h from Eigen2Support, and it's internal anyway
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Translation
-  *
-  * \brief Represents a translation transformation
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients.
-  * \param _Dim the  dimension of the space, can be a compile time value or Dynamic
-  *
-  * \note This class is not aimed to be used to store a translation transformation,
-  * but rather to make easier the constructions and updates of Transform objects.
-  *
-  * \sa class Scaling, class Transform
-  */
-template<typename _Scalar, int _Dim>
-class Translation
-{
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_Dim)
-  /** dimension of the space */
-  enum { Dim = _Dim };
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-  /** corresponding vector type */
-  typedef Matrix<Scalar,Dim,1> VectorType;
-  /** corresponding linear transformation matrix type */
-  typedef Matrix<Scalar,Dim,Dim> LinearMatrixType;
-  /** corresponding scaling transformation type */
-  typedef Scaling<Scalar,Dim> ScalingType;
-  /** corresponding affine transformation type */
-  typedef Transform<Scalar,Dim> TransformType;
-
-protected:
-
-  VectorType m_coeffs;
-
-public:
-
-  /** Default constructor without initialization. */
-  Translation() {}
-  /**  */
-  inline Translation(const Scalar& sx, const Scalar& sy)
-  {
-    ei_assert(Dim==2);
-    m_coeffs.x() = sx;
-    m_coeffs.y() = sy;
-  }
-  /**  */
-  inline Translation(const Scalar& sx, const Scalar& sy, const Scalar& sz)
-  {
-    ei_assert(Dim==3);
-    m_coeffs.x() = sx;
-    m_coeffs.y() = sy;
-    m_coeffs.z() = sz;
-  }
-  /** Constructs and initialize the scaling transformation from a vector of scaling coefficients */
-  explicit inline Translation(const VectorType& vector) : m_coeffs(vector) {}
-
-  const VectorType& vector() const { return m_coeffs; }
-  VectorType& vector() { return m_coeffs; }
-
-  /** Concatenates two translation */
-  inline Translation operator* (const Translation& other) const
-  { return Translation(m_coeffs + other.m_coeffs); }
-
-  /** Concatenates a translation and a scaling */
-  inline TransformType operator* (const ScalingType& other) const;
-
-  /** Concatenates a translation and a linear transformation */
-  inline TransformType operator* (const LinearMatrixType& linear) const;
-
-  template<typename Derived>
-  inline TransformType operator*(const RotationBase<Derived,Dim>& r) const
-  { return *this * r.toRotationMatrix(); }
-
-  /** Concatenates a linear transformation and a translation */
-  // its a nightmare to define a templated friend function outside its declaration
-  friend inline TransformType operator* (const LinearMatrixType& linear, const Translation& t)
-  {
-    TransformType res;
-    res.matrix().setZero();
-    res.linear() = linear;
-    res.translation() = linear * t.m_coeffs;
-    res.matrix().row(Dim).setZero();
-    res(Dim,Dim) = Scalar(1);
-    return res;
-  }
-
-  /** Concatenates a translation and an affine transformation */
-  inline TransformType operator* (const TransformType& t) const;
-
-  /** Applies translation to vector */
-  inline VectorType operator* (const VectorType& other) const
-  { return m_coeffs + other; }
-
-  /** \returns the inverse translation (opposite) */
-  Translation inverse() const { return Translation(-m_coeffs); }
-
-  Translation& operator=(const Translation& other)
-  {
-    m_coeffs = other.m_coeffs;
-    return *this;
-  }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Translation,Translation<NewScalarType,Dim> >::type cast() const
-  { return typename internal::cast_return_type<Translation,Translation<NewScalarType,Dim> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit Translation(const Translation<OtherScalarType,Dim>& other)
-  { m_coeffs = other.vector().template cast<Scalar>(); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const Translation& other, typename NumTraits<Scalar>::Real prec = precision<Scalar>()) const
-  { return m_coeffs.isApprox(other.m_coeffs, prec); }
-
-};
-
-/** \addtogroup Geometry_Module */
-//@{
-typedef Translation<float, 2> Translation2f;
-typedef Translation<double,2> Translation2d;
-typedef Translation<float, 3> Translation3f;
-typedef Translation<double,3> Translation3d;
-//@}
-
-
-template<typename Scalar, int Dim>
-inline typename Translation<Scalar,Dim>::TransformType
-Translation<Scalar,Dim>::operator* (const ScalingType& other) const
-{
-  TransformType res;
-  res.matrix().setZero();
-  res.linear().diagonal() = other.coeffs();
-  res.translation() = m_coeffs;
-  res(Dim,Dim) = Scalar(1);
-  return res;
-}
-
-template<typename Scalar, int Dim>
-inline typename Translation<Scalar,Dim>::TransformType
-Translation<Scalar,Dim>::operator* (const LinearMatrixType& linear) const
-{
-  TransformType res;
-  res.matrix().setZero();
-  res.linear() = linear;
-  res.translation() = m_coeffs;
-  res.matrix().row(Dim).setZero();
-  res(Dim,Dim) = Scalar(1);
-  return res;
-}
-
-template<typename Scalar, int Dim>
-inline typename Translation<Scalar,Dim>::TransformType
-Translation<Scalar,Dim>::operator* (const TransformType& t) const
-{
-  TransformType res = t;
-  res.pretranslate(m_coeffs);
-  return res;
-}
-
-} // end namespace Eigen
diff --git a/lib/Eigen/src/Eigen2Support/LU.h b/lib/Eigen/src/Eigen2Support/LU.h
deleted file mode 100644
index 49f19ad7..00000000
--- a/lib/Eigen/src/Eigen2Support/LU.h
+++ /dev/null
@@ -1,120 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2011 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2_LU_H
-#define EIGEN2_LU_H
-
-namespace Eigen { 
-
-template<typename MatrixType>
-class LU : public FullPivLU<MatrixType>
-{
-  public:
-
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
-    typedef Matrix<int, 1, MatrixType::ColsAtCompileTime, MatrixType::Options, 1, MatrixType::MaxColsAtCompileTime> IntRowVectorType;
-    typedef Matrix<int, MatrixType::RowsAtCompileTime, 1, MatrixType::Options, MatrixType::MaxRowsAtCompileTime, 1> IntColVectorType;
-    typedef Matrix<Scalar, 1, MatrixType::ColsAtCompileTime, MatrixType::Options, 1, MatrixType::MaxColsAtCompileTime> RowVectorType;
-    typedef Matrix<Scalar, MatrixType::RowsAtCompileTime, 1, MatrixType::Options, MatrixType::MaxRowsAtCompileTime, 1> ColVectorType;
-
-    typedef Matrix<typename MatrixType::Scalar,
-                  MatrixType::ColsAtCompileTime, // the number of rows in the "kernel matrix" is the number of cols of the original matrix
-                                                 // so that the product "matrix * kernel = zero" makes sense
-                  Dynamic,                       // we don't know at compile-time the dimension of the kernel
-                  MatrixType::Options,
-                  MatrixType::MaxColsAtCompileTime, // see explanation for 2nd template parameter
-                  MatrixType::MaxColsAtCompileTime // the kernel is a subspace of the domain space, whose dimension is the number
-                                                   // of columns of the original matrix
-    > KernelResultType;
-
-    typedef Matrix<typename MatrixType::Scalar,
-                   MatrixType::RowsAtCompileTime, // the image is a subspace of the destination space, whose dimension is the number
-                                                  // of rows of the original matrix
-                   Dynamic,                       // we don't know at compile time the dimension of the image (the rank)
-                   MatrixType::Options,
-                   MatrixType::MaxRowsAtCompileTime, // the image matrix will consist of columns from the original matrix,
-                   MatrixType::MaxColsAtCompileTime  // so it has the same number of rows and at most as many columns.
-    > ImageResultType;
-
-    typedef FullPivLU<MatrixType> Base;
-
-    template<typename T>
-    explicit LU(const T& t) : Base(t), m_originalMatrix(t) {}
-
-    template<typename OtherDerived, typename ResultType>
-    bool solve(const MatrixBase<OtherDerived>& b, ResultType *result) const
-    {
-      *result = static_cast<const Base*>(this)->solve(b);
-      return true;
-    }
-
-    template<typename ResultType>
-    inline void computeInverse(ResultType *result) const
-    {
-      solve(MatrixType::Identity(this->rows(), this->cols()), result);
-    }
-    
-    template<typename KernelMatrixType>
-    void computeKernel(KernelMatrixType *result) const
-    {
-      *result = static_cast<const Base*>(this)->kernel();
-    }
-    
-    template<typename ImageMatrixType>
-    void computeImage(ImageMatrixType *result) const
-    {
-      *result = static_cast<const Base*>(this)->image(m_originalMatrix);
-    }
-    
-    const ImageResultType image() const
-    {
-      return static_cast<const Base*>(this)->image(m_originalMatrix);
-    }
-    
-    const MatrixType& m_originalMatrix;
-};
-
-#if EIGEN2_SUPPORT_STAGE < STAGE20_RESOLVE_API_CONFLICTS
-/** \lu_module
-  *
-  * Synonym of partialPivLu().
-  *
-  * \return the partial-pivoting LU decomposition of \c *this.
-  *
-  * \sa class PartialPivLU
-  */
-template<typename Derived>
-inline const LU<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::lu() const
-{
-  return LU<PlainObject>(eval());
-}
-#endif
-
-#ifdef EIGEN2_SUPPORT
-/** \lu_module
-  *
-  * Synonym of partialPivLu().
-  *
-  * \return the partial-pivoting LU decomposition of \c *this.
-  *
-  * \sa class PartialPivLU
-  */
-template<typename Derived>
-inline const LU<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::eigen2_lu() const
-{
-  return LU<PlainObject>(eval());
-}
-#endif
-
-} // end namespace Eigen
-
-#endif // EIGEN2_LU_H
diff --git a/lib/Eigen/src/Eigen2Support/Lazy.h b/lib/Eigen/src/Eigen2Support/Lazy.h
deleted file mode 100644
index 593fc78e..00000000
--- a/lib/Eigen/src/Eigen2Support/Lazy.h
+++ /dev/null
@@ -1,71 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_LAZY_H
-#define EIGEN_LAZY_H
-
-namespace Eigen { 
-
-/** \deprecated it is only used by lazy() which is deprecated
-  *
-  * \returns an expression of *this with added flags
-  *
-  * Example: \include MatrixBase_marked.cpp
-  * Output: \verbinclude MatrixBase_marked.out
-  *
-  * \sa class Flagged, extract(), part()
-  */
-template<typename Derived>
-template<unsigned int Added>
-inline const Flagged<Derived, Added, 0>
-MatrixBase<Derived>::marked() const
-{
-  return derived();
-}
-
-/** \deprecated use MatrixBase::noalias()
-  *
-  * \returns an expression of *this with the EvalBeforeAssigningBit flag removed.
-  *
-  * Example: \include MatrixBase_lazy.cpp
-  * Output: \verbinclude MatrixBase_lazy.out
-  *
-  * \sa class Flagged, marked()
-  */
-template<typename Derived>
-inline const Flagged<Derived, 0, EvalBeforeAssigningBit>
-MatrixBase<Derived>::lazy() const
-{
-  return derived();
-}
-
-
-/** \internal
-  * Overloaded to perform an efficient C += (A*B).lazy() */
-template<typename Derived>
-template<typename ProductDerived, typename Lhs, typename Rhs>
-Derived& MatrixBase<Derived>::operator+=(const Flagged<ProductBase<ProductDerived, Lhs,Rhs>, 0,
-                                                       EvalBeforeAssigningBit>& other)
-{
-  other._expression().derived().addTo(derived()); return derived();
-}
-
-/** \internal
-  * Overloaded to perform an efficient C -= (A*B).lazy() */
-template<typename Derived>
-template<typename ProductDerived, typename Lhs, typename Rhs>
-Derived& MatrixBase<Derived>::operator-=(const Flagged<ProductBase<ProductDerived, Lhs,Rhs>, 0,
-                                                       EvalBeforeAssigningBit>& other)
-{
-  other._expression().derived().subTo(derived()); return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_LAZY_H
diff --git a/lib/Eigen/src/Eigen2Support/LeastSquares.h b/lib/Eigen/src/Eigen2Support/LeastSquares.h
deleted file mode 100644
index 7992d494..00000000
--- a/lib/Eigen/src/Eigen2Support/LeastSquares.h
+++ /dev/null
@@ -1,169 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2_LEASTSQUARES_H
-#define EIGEN2_LEASTSQUARES_H
-
-namespace Eigen { 
-
-/** \ingroup LeastSquares_Module
-  *
-  * \leastsquares_module
-  *
-  * For a set of points, this function tries to express
-  * one of the coords as a linear (affine) function of the other coords.
-  *
-  * This is best explained by an example. This function works in full
-  * generality, for points in a space of arbitrary dimension, and also over
-  * the complex numbers, but for this example we will work in dimension 3
-  * over the real numbers (doubles).
-  *
-  * So let us work with the following set of 5 points given by their
-  * \f$(x,y,z)\f$ coordinates:
-  * @code
-    Vector3d points[5];
-    points[0] = Vector3d( 3.02, 6.89, -4.32 );
-    points[1] = Vector3d( 2.01, 5.39, -3.79 );
-    points[2] = Vector3d( 2.41, 6.01, -4.01 );
-    points[3] = Vector3d( 2.09, 5.55, -3.86 );
-    points[4] = Vector3d( 2.58, 6.32, -4.10 );
-  * @endcode
-  * Suppose that we want to express the second coordinate (\f$y\f$) as a linear
-  * expression in \f$x\f$ and \f$z\f$, that is,
-  * \f[ y=ax+bz+c \f]
-  * for some constants \f$a,b,c\f$. Thus, we want to find the best possible
-  * constants \f$a,b,c\f$ so that the plane of equation \f$y=ax+bz+c\f$ fits
-  * best the five above points. To do that, call this function as follows:
-  * @code
-    Vector3d coeffs; // will store the coefficients a, b, c
-    linearRegression(
-      5,
-      &points,
-      &coeffs,
-      1 // the coord to express as a function of
-        // the other ones. 0 means x, 1 means y, 2 means z.
-    );
-  * @endcode
-  * Now the vector \a coeffs is approximately
-  * \f$( 0.495 ,  -1.927 ,  -2.906 )\f$.
-  * Thus, we get \f$a=0.495, b = -1.927, c = -2.906\f$. Let us check for
-  * instance how near points[0] is from the plane of equation \f$y=ax+bz+c\f$.
-  * Looking at the coords of points[0], we see that:
-  * \f[ax+bz+c = 0.495 * 3.02 + (-1.927) * (-4.32) + (-2.906) = 6.91.\f]
-  * On the other hand, we have \f$y=6.89\f$. We see that the values
-  * \f$6.91\f$ and \f$6.89\f$
-  * are near, so points[0] is very near the plane of equation \f$y=ax+bz+c\f$.
-  *
-  * Let's now describe precisely the parameters:
-  * @param numPoints the number of points
-  * @param points the array of pointers to the points on which to perform the linear regression
-  * @param result pointer to the vector in which to store the result.
-                  This vector must be of the same type and size as the
-                  data points. The meaning of its coords is as follows.
-                  For brevity, let \f$n=Size\f$,
-                  \f$r_i=result[i]\f$,
-                  and \f$f=funcOfOthers\f$. Denote by
-                  \f$x_0,\ldots,x_{n-1}\f$
-                  the n coordinates in the n-dimensional space.
-                  Then the resulting equation is:
-                  \f[ x_f = r_0 x_0 + \cdots + r_{f-1}x_{f-1}
-                   + r_{f+1}x_{f+1} + \cdots + r_{n-1}x_{n-1} + r_n. \f]
-  * @param funcOfOthers Determines which coord to express as a function of the
-                        others. Coords are numbered starting from 0, so that a
-                        value of 0 means \f$x\f$, 1 means \f$y\f$,
-                        2 means \f$z\f$, ...
-  *
-  * \sa fitHyperplane()
-  */
-template<typename VectorType>
-void linearRegression(int numPoints,
-                      VectorType **points,
-                      VectorType *result,
-                      int funcOfOthers )
-{
-  typedef typename VectorType::Scalar Scalar;
-  typedef Hyperplane<Scalar, VectorType::SizeAtCompileTime> HyperplaneType;
-  const int size = points[0]->size();
-  result->resize(size);
-  HyperplaneType h(size);
-  fitHyperplane(numPoints, points, &h);
-  for(int i = 0; i < funcOfOthers; i++)
-    result->coeffRef(i) = - h.coeffs()[i] / h.coeffs()[funcOfOthers];
-  for(int i = funcOfOthers; i < size; i++)
-    result->coeffRef(i) = - h.coeffs()[i+1] / h.coeffs()[funcOfOthers];
-}
-
-/** \ingroup LeastSquares_Module
-  *
-  * \leastsquares_module
-  *
-  * This function is quite similar to linearRegression(), so we refer to the
-  * documentation of this function and only list here the differences.
-  *
-  * The main difference from linearRegression() is that this function doesn't
-  * take a \a funcOfOthers argument. Instead, it finds a general equation
-  * of the form
-  * \f[ r_0 x_0 + \cdots + r_{n-1}x_{n-1} + r_n = 0, \f]
-  * where \f$n=Size\f$, \f$r_i=retCoefficients[i]\f$, and we denote by
-  * \f$x_0,\ldots,x_{n-1}\f$ the n coordinates in the n-dimensional space.
-  *
-  * Thus, the vector \a retCoefficients has size \f$n+1\f$, which is another
-  * difference from linearRegression().
-  *
-  * In practice, this function performs an hyper-plane fit in a total least square sense
-  * via the following steps:
-  *  1 - center the data to the mean
-  *  2 - compute the covariance matrix
-  *  3 - pick the eigenvector corresponding to the smallest eigenvalue of the covariance matrix
-  * The ratio of the smallest eigenvalue and the second one gives us a hint about the relevance
-  * of the solution. This value is optionally returned in \a soundness.
-  *
-  * \sa linearRegression()
-  */
-template<typename VectorType, typename HyperplaneType>
-void fitHyperplane(int numPoints,
-                   VectorType **points,
-                   HyperplaneType *result,
-                   typename NumTraits<typename VectorType::Scalar>::Real* soundness = 0)
-{
-  typedef typename VectorType::Scalar Scalar;
-  typedef Matrix<Scalar,VectorType::SizeAtCompileTime,VectorType::SizeAtCompileTime> CovMatrixType;
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(VectorType)
-  ei_assert(numPoints >= 1);
-  int size = points[0]->size();
-  ei_assert(size+1 == result->coeffs().size());
-
-  // compute the mean of the data
-  VectorType mean = VectorType::Zero(size);
-  for(int i = 0; i < numPoints; ++i)
-    mean += *(points[i]);
-  mean /= numPoints;
-
-  // compute the covariance matrix
-  CovMatrixType covMat = CovMatrixType::Zero(size, size);
-  for(int i = 0; i < numPoints; ++i)
-  {
-    VectorType diff = (*(points[i]) - mean).conjugate();
-    covMat += diff * diff.adjoint();
-  }
-
-  // now we just have to pick the eigen vector with smallest eigen value
-  SelfAdjointEigenSolver<CovMatrixType> eig(covMat);
-  result->normal() = eig.eigenvectors().col(0);
-  if (soundness)
-    *soundness = eig.eigenvalues().coeff(0)/eig.eigenvalues().coeff(1);
-
-  // let's compute the constant coefficient such that the
-  // plane pass trough the mean point:
-  result->offset() = - (result->normal().cwise()* mean).sum();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN2_LEASTSQUARES_H
diff --git a/lib/Eigen/src/Eigen2Support/Macros.h b/lib/Eigen/src/Eigen2Support/Macros.h
deleted file mode 100644
index 351c32af..00000000
--- a/lib/Eigen/src/Eigen2Support/Macros.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2011 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2_MACROS_H
-#define EIGEN2_MACROS_H
-
-#define ei_assert eigen_assert
-#define ei_internal_assert eigen_internal_assert
-
-#define EIGEN_ALIGN_128 EIGEN_ALIGN16
-
-#define EIGEN_ARCH_WANTS_ALIGNMENT EIGEN_ALIGN_STATICALLY
-
-#endif // EIGEN2_MACROS_H
diff --git a/lib/Eigen/src/Eigen2Support/MathFunctions.h b/lib/Eigen/src/Eigen2Support/MathFunctions.h
deleted file mode 100644
index 3544af25..00000000
--- a/lib/Eigen/src/Eigen2Support/MathFunctions.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2_MATH_FUNCTIONS_H
-#define EIGEN2_MATH_FUNCTIONS_H
-
-namespace Eigen { 
-
-template<typename T> inline typename NumTraits<T>::Real ei_real(const T& x) { return numext::real(x); }
-template<typename T> inline typename NumTraits<T>::Real ei_imag(const T& x) { return numext::imag(x); }
-template<typename T> inline T ei_conj(const T& x) { return numext::conj(x); }
-template<typename T> inline typename NumTraits<T>::Real ei_abs (const T& x) { using std::abs; return abs(x); }
-template<typename T> inline typename NumTraits<T>::Real ei_abs2(const T& x) { return numext::abs2(x); }
-template<typename T> inline T ei_sqrt(const T& x) { using std::sqrt; return sqrt(x); }
-template<typename T> inline T ei_exp (const T& x) { using std::exp;  return exp(x); }
-template<typename T> inline T ei_log (const T& x) { using std::log;  return log(x); }
-template<typename T> inline T ei_sin (const T& x) { using std::sin;  return sin(x); }
-template<typename T> inline T ei_cos (const T& x) { using std::cos;  return cos(x); }
-template<typename T> inline T ei_atan2(const T& x,const T& y) { using std::atan2; return atan2(x,y); }
-template<typename T> inline T ei_pow (const T& x,const T& y) { return numext::pow(x,y); }
-template<typename T> inline T ei_random () { return internal::random<T>(); }
-template<typename T> inline T ei_random (const T& x, const T& y) { return internal::random(x, y); }
-
-template<typename T> inline T precision () { return NumTraits<T>::dummy_precision(); }
-template<typename T> inline T machine_epsilon () { return NumTraits<T>::epsilon(); }
-
-
-template<typename Scalar, typename OtherScalar>
-inline bool ei_isMuchSmallerThan(const Scalar& x, const OtherScalar& y,
-                                   typename NumTraits<Scalar>::Real precision = NumTraits<Scalar>::dummy_precision())
-{
-  return internal::isMuchSmallerThan(x, y, precision);
-}
-
-template<typename Scalar>
-inline bool ei_isApprox(const Scalar& x, const Scalar& y,
-                          typename NumTraits<Scalar>::Real precision = NumTraits<Scalar>::dummy_precision())
-{
-  return internal::isApprox(x, y, precision);
-}
-
-template<typename Scalar>
-inline bool ei_isApproxOrLessThan(const Scalar& x, const Scalar& y,
-                                    typename NumTraits<Scalar>::Real precision = NumTraits<Scalar>::dummy_precision())
-{
-  return internal::isApproxOrLessThan(x, y, precision);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN2_MATH_FUNCTIONS_H
diff --git a/lib/Eigen/src/Eigen2Support/Memory.h b/lib/Eigen/src/Eigen2Support/Memory.h
deleted file mode 100644
index f86372b6..00000000
--- a/lib/Eigen/src/Eigen2Support/Memory.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2011 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2_MEMORY_H
-#define EIGEN2_MEMORY_H
-
-namespace Eigen { 
-
-inline void* ei_aligned_malloc(size_t size) { return internal::aligned_malloc(size); }
-inline void  ei_aligned_free(void *ptr) { internal::aligned_free(ptr); }
-inline void* ei_aligned_realloc(void *ptr, size_t new_size, size_t old_size) { return internal::aligned_realloc(ptr, new_size, old_size); }
-inline void* ei_handmade_aligned_malloc(size_t size) { return internal::handmade_aligned_malloc(size); }
-inline void  ei_handmade_aligned_free(void *ptr) { internal::handmade_aligned_free(ptr); }
-
-template<bool Align> inline void* ei_conditional_aligned_malloc(size_t size)
-{
-  return internal::conditional_aligned_malloc<Align>(size);
-}
-template<bool Align> inline void ei_conditional_aligned_free(void *ptr)
-{
-  internal::conditional_aligned_free<Align>(ptr);
-}
-template<bool Align> inline void* ei_conditional_aligned_realloc(void* ptr, size_t new_size, size_t old_size)
-{
-  return internal::conditional_aligned_realloc<Align>(ptr, new_size, old_size);
-}
-
-template<typename T> inline T* ei_aligned_new(size_t size)
-{
-  return internal::aligned_new<T>(size);
-}
-template<typename T> inline void ei_aligned_delete(T *ptr, size_t size)
-{
-  return internal::aligned_delete(ptr, size);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN2_MACROS_H
diff --git a/lib/Eigen/src/Eigen2Support/Meta.h b/lib/Eigen/src/Eigen2Support/Meta.h
deleted file mode 100644
index fa37cfc9..00000000
--- a/lib/Eigen/src/Eigen2Support/Meta.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2011 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2_META_H
-#define EIGEN2_META_H
-
-namespace Eigen { 
-
-template<typename T>
-struct ei_traits : internal::traits<T>
-{};
-
-struct ei_meta_true {  enum { ret = 1 }; };
-struct ei_meta_false { enum { ret = 0 }; };
-
-template<bool Condition, typename Then, typename Else>
-struct ei_meta_if { typedef Then ret; };
-
-template<typename Then, typename Else>
-struct ei_meta_if <false, Then, Else> { typedef Else ret; };
-
-template<typename T, typename U> struct ei_is_same_type { enum { ret = 0 }; };
-template<typename T> struct ei_is_same_type<T,T> { enum { ret = 1 }; };
-
-template<typename T> struct ei_unref { typedef T type; };
-template<typename T> struct ei_unref<T&> { typedef T type; };
-
-template<typename T> struct ei_unpointer { typedef T type; };
-template<typename T> struct ei_unpointer<T*> { typedef T type; };
-template<typename T> struct ei_unpointer<T*const> { typedef T type; };
-
-template<typename T> struct ei_unconst { typedef T type; };
-template<typename T> struct ei_unconst<const T> { typedef T type; };
-template<typename T> struct ei_unconst<T const &> { typedef T & type; };
-template<typename T> struct ei_unconst<T const *> { typedef T * type; };
-
-template<typename T> struct ei_cleantype { typedef T type; };
-template<typename T> struct ei_cleantype<const T>   { typedef typename ei_cleantype<T>::type type; };
-template<typename T> struct ei_cleantype<const T&>  { typedef typename ei_cleantype<T>::type type; };
-template<typename T> struct ei_cleantype<T&>        { typedef typename ei_cleantype<T>::type type; };
-template<typename T> struct ei_cleantype<const T*>  { typedef typename ei_cleantype<T>::type type; };
-template<typename T> struct ei_cleantype<T*>        { typedef typename ei_cleantype<T>::type type; };
-
-/** \internal In short, it computes int(sqrt(\a Y)) with \a Y an integer.
-  * Usage example: \code ei_meta_sqrt<1023>::ret \endcode
-  */
-template<int Y,
-         int InfX = 0,
-         int SupX = ((Y==1) ? 1 : Y/2),
-         bool Done = ((SupX-InfX)<=1 ? true : ((SupX*SupX <= Y) && ((SupX+1)*(SupX+1) > Y))) >
-                                // use ?: instead of || just to shut up a stupid gcc 4.3 warning
-class ei_meta_sqrt
-{
-    enum {
-      MidX = (InfX+SupX)/2,
-      TakeInf = MidX*MidX > Y ? 1 : 0,
-      NewInf = int(TakeInf) ? InfX : int(MidX),
-      NewSup = int(TakeInf) ? int(MidX) : SupX
-    };
-  public:
-    enum { ret = ei_meta_sqrt<Y,NewInf,NewSup>::ret };
-};
-
-template<int Y, int InfX, int SupX>
-class ei_meta_sqrt<Y, InfX, SupX, true> { public:  enum { ret = (SupX*SupX <= Y) ? SupX : InfX }; };
-
-} // end namespace Eigen
-
-#endif // EIGEN2_META_H
diff --git a/lib/Eigen/src/Eigen2Support/Minor.h b/lib/Eigen/src/Eigen2Support/Minor.h
deleted file mode 100644
index 4cded573..00000000
--- a/lib/Eigen/src/Eigen2Support/Minor.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MINOR_H
-#define EIGEN_MINOR_H
-
-namespace Eigen { 
-
-/**
-  * \class Minor
-  *
-  * \brief Expression of a minor
-  *
-  * \param MatrixType the type of the object in which we are taking a minor
-  *
-  * This class represents an expression of a minor. It is the return
-  * type of MatrixBase::minor() and most of the time this is the only way it
-  * is used.
-  *
-  * \sa MatrixBase::minor()
-  */
-
-namespace internal {
-template<typename MatrixType>
-struct traits<Minor<MatrixType> >
- : traits<MatrixType>
-{
-  typedef typename nested<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_reference<MatrixTypeNested>::type _MatrixTypeNested;
-  typedef typename MatrixType::StorageKind StorageKind;
-  enum {
-    RowsAtCompileTime = (MatrixType::RowsAtCompileTime != Dynamic) ?
-                          int(MatrixType::RowsAtCompileTime) - 1 : Dynamic,
-    ColsAtCompileTime = (MatrixType::ColsAtCompileTime != Dynamic) ?
-                          int(MatrixType::ColsAtCompileTime) - 1 : Dynamic,
-    MaxRowsAtCompileTime = (MatrixType::MaxRowsAtCompileTime != Dynamic) ?
-                             int(MatrixType::MaxRowsAtCompileTime) - 1 : Dynamic,
-    MaxColsAtCompileTime = (MatrixType::MaxColsAtCompileTime != Dynamic) ?
-                             int(MatrixType::MaxColsAtCompileTime) - 1 : Dynamic,
-    Flags = _MatrixTypeNested::Flags & (HereditaryBits | LvalueBit),
-    CoeffReadCost = _MatrixTypeNested::CoeffReadCost // minor is used typically on tiny matrices,
-      // where loops are unrolled and the 'if' evaluates at compile time
-  };
-};
-}
-
-template<typename MatrixType> class Minor
-  : public MatrixBase<Minor<MatrixType> >
-{
-  public:
-
-    typedef MatrixBase<Minor> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Minor)
-
-    inline Minor(const MatrixType& matrix,
-                       Index row, Index col)
-      : m_matrix(matrix), m_row(row), m_col(col)
-    {
-      eigen_assert(row >= 0 && row < matrix.rows()
-          && col >= 0 && col < matrix.cols());
-    }
-
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Minor)
-
-    inline Index rows() const { return m_matrix.rows() - 1; }
-    inline Index cols() const { return m_matrix.cols() - 1; }
-
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      return m_matrix.const_cast_derived().coeffRef(row + (row >= m_row), col + (col >= m_col));
-    }
-
-    inline const Scalar coeff(Index row, Index col) const
-    {
-      return m_matrix.coeff(row + (row >= m_row), col + (col >= m_col));
-    }
-
-  protected:
-    const typename MatrixType::Nested m_matrix;
-    const Index m_row, m_col;
-};
-
-/**
-  * \return an expression of the (\a row, \a col)-minor of *this,
-  * i.e. an expression constructed from *this by removing the specified
-  * row and column.
-  *
-  * Example: \include MatrixBase_minor.cpp
-  * Output: \verbinclude MatrixBase_minor.out
-  *
-  * \sa class Minor
-  */
-template<typename Derived>
-inline Minor<Derived>
-MatrixBase<Derived>::minor(Index row, Index col)
-{
-  return Minor<Derived>(derived(), row, col);
-}
-
-/**
-  * This is the const version of minor(). */
-template<typename Derived>
-inline const Minor<Derived>
-MatrixBase<Derived>::minor(Index row, Index col) const
-{
-  return Minor<Derived>(derived(), row, col);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_MINOR_H
diff --git a/lib/Eigen/src/Eigen2Support/QR.h b/lib/Eigen/src/Eigen2Support/QR.h
deleted file mode 100644
index 2042c985..00000000
--- a/lib/Eigen/src/Eigen2Support/QR.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-// Copyright (C) 2011 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2_QR_H
-#define EIGEN2_QR_H
-
-namespace Eigen { 
-
-template<typename MatrixType>
-class QR : public HouseholderQR<MatrixType>
-{
-  public:
-
-    typedef HouseholderQR<MatrixType> Base;
-    typedef Block<const MatrixType, MatrixType::ColsAtCompileTime, MatrixType::ColsAtCompileTime> MatrixRBlockType;
-
-    QR() : Base() {}
-
-    template<typename T>
-    explicit QR(const T& t) : Base(t) {}
-
-    template<typename OtherDerived, typename ResultType>
-    bool solve(const MatrixBase<OtherDerived>& b, ResultType *result) const
-    {
-      *result = static_cast<const Base*>(this)->solve(b);
-      return true;
-    }
-
-    MatrixType matrixQ(void) const {
-      MatrixType ret = MatrixType::Identity(this->rows(), this->cols());
-      ret = this->householderQ() * ret;
-      return ret;
-    }
-
-    bool isFullRank() const {
-      return true;
-    }
-    
-    const TriangularView<MatrixRBlockType, UpperTriangular>
-    matrixR(void) const
-    {
-      int cols = this->cols();
-      return MatrixRBlockType(this->matrixQR(), 0, 0, cols, cols).template triangularView<UpperTriangular>();
-    }
-};
-
-/** \return the QR decomposition of \c *this.
-  *
-  * \sa class QR
-  */
-template<typename Derived>
-const QR<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::qr() const
-{
-  return QR<PlainObject>(eval());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN2_QR_H
diff --git a/lib/Eigen/src/Eigen2Support/SVD.h b/lib/Eigen/src/Eigen2Support/SVD.h
deleted file mode 100644
index 3d03d228..00000000
--- a/lib/Eigen/src/Eigen2Support/SVD.h
+++ /dev/null
@@ -1,637 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2_SVD_H
-#define EIGEN2_SVD_H
-
-namespace Eigen {
-
-/** \ingroup SVD_Module
-  * \nonstableyet
-  *
-  * \class SVD
-  *
-  * \brief Standard SVD decomposition of a matrix and associated features
-  *
-  * \param MatrixType the type of the matrix of which we are computing the SVD decomposition
-  *
-  * This class performs a standard SVD decomposition of a real matrix A of size \c M x \c N
-  * with \c M \>= \c N.
-  *
-  *
-  * \sa MatrixBase::SVD()
-  */
-template<typename MatrixType> class SVD
-{
-  private:
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
-
-    enum {
-      PacketSize = internal::packet_traits<Scalar>::size,
-      AlignmentMask = int(PacketSize)-1,
-      MinSize = EIGEN_SIZE_MIN_PREFER_DYNAMIC(MatrixType::RowsAtCompileTime, MatrixType::ColsAtCompileTime)
-    };
-
-    typedef Matrix<Scalar, MatrixType::RowsAtCompileTime, 1> ColVector;
-    typedef Matrix<Scalar, MatrixType::ColsAtCompileTime, 1> RowVector;
-
-    typedef Matrix<Scalar, MatrixType::RowsAtCompileTime, MinSize> MatrixUType;
-    typedef Matrix<Scalar, MatrixType::ColsAtCompileTime, MatrixType::ColsAtCompileTime> MatrixVType;
-    typedef Matrix<Scalar, MinSize, 1> SingularValuesType;
-
-  public:
-
-    SVD() {} // a user who relied on compiler-generated default compiler reported problems with MSVC in 2.0.7
-    
-    SVD(const MatrixType& matrix)
-      : m_matU(matrix.rows(), (std::min)(matrix.rows(), matrix.cols())),
-        m_matV(matrix.cols(),matrix.cols()),
-        m_sigma((std::min)(matrix.rows(),matrix.cols()))
-    {
-      compute(matrix);
-    }
-
-    template<typename OtherDerived, typename ResultType>
-    bool solve(const MatrixBase<OtherDerived> &b, ResultType* result) const;
-
-    const MatrixUType& matrixU() const { return m_matU; }
-    const SingularValuesType& singularValues() const { return m_sigma; }
-    const MatrixVType& matrixV() const { return m_matV; }
-
-    void compute(const MatrixType& matrix);
-    SVD& sort();
-
-    template<typename UnitaryType, typename PositiveType>
-    void computeUnitaryPositive(UnitaryType *unitary, PositiveType *positive) const;
-    template<typename PositiveType, typename UnitaryType>
-    void computePositiveUnitary(PositiveType *positive, UnitaryType *unitary) const;
-    template<typename RotationType, typename ScalingType>
-    void computeRotationScaling(RotationType *unitary, ScalingType *positive) const;
-    template<typename ScalingType, typename RotationType>
-    void computeScalingRotation(ScalingType *positive, RotationType *unitary) const;
-
-  protected:
-    /** \internal */
-    MatrixUType m_matU;
-    /** \internal */
-    MatrixVType m_matV;
-    /** \internal */
-    SingularValuesType m_sigma;
-};
-
-/** Computes / recomputes the SVD decomposition A = U S V^* of \a matrix
-  *
-  * \note this code has been adapted from JAMA (public domain)
-  */
-template<typename MatrixType>
-void SVD<MatrixType>::compute(const MatrixType& matrix)
-{
-  const int m = matrix.rows();
-  const int n = matrix.cols();
-  const int nu = (std::min)(m,n);
-  ei_assert(m>=n && "In Eigen 2.0, SVD only works for MxN matrices with M>=N. Sorry!");
-  ei_assert(m>1 && "In Eigen 2.0, SVD doesn't work on 1x1 matrices");
-
-  m_matU.resize(m, nu);
-  m_matU.setZero();
-  m_sigma.resize((std::min)(m,n));
-  m_matV.resize(n,n);
-
-  RowVector e(n);
-  ColVector work(m);
-  MatrixType matA(matrix);
-  const bool wantu = true;
-  const bool wantv = true;
-  int i=0, j=0, k=0;
-
-  // Reduce A to bidiagonal form, storing the diagonal elements
-  // in s and the super-diagonal elements in e.
-  int nct = (std::min)(m-1,n);
-  int nrt = (std::max)(0,(std::min)(n-2,m));
-  for (k = 0; k < (std::max)(nct,nrt); ++k)
-  {
-    if (k < nct)
-    {
-      // Compute the transformation for the k-th column and
-      // place the k-th diagonal in m_sigma[k].
-      m_sigma[k] = matA.col(k).end(m-k).norm();
-      if (m_sigma[k] != 0.0) // FIXME
-      {
-        if (matA(k,k) < 0.0)
-          m_sigma[k] = -m_sigma[k];
-        matA.col(k).end(m-k) /= m_sigma[k];
-        matA(k,k) += 1.0;
-      }
-      m_sigma[k] = -m_sigma[k];
-    }
-
-    for (j = k+1; j < n; ++j)
-    {
-      if ((k < nct) && (m_sigma[k] != 0.0))
-      {
-        // Apply the transformation.
-        Scalar t = matA.col(k).end(m-k).eigen2_dot(matA.col(j).end(m-k)); // FIXME dot product or cwise prod + .sum() ??
-        t = -t/matA(k,k);
-        matA.col(j).end(m-k) += t * matA.col(k).end(m-k);
-      }
-
-      // Place the k-th row of A into e for the
-      // subsequent calculation of the row transformation.
-      e[j] = matA(k,j);
-    }
-
-    // Place the transformation in U for subsequent back multiplication.
-    if (wantu & (k < nct))
-      m_matU.col(k).end(m-k) = matA.col(k).end(m-k);
-
-    if (k < nrt)
-    {
-      // Compute the k-th row transformation and place the
-      // k-th super-diagonal in e[k].
-      e[k] = e.end(n-k-1).norm();
-      if (e[k] != 0.0)
-      {
-          if (e[k+1] < 0.0)
-            e[k] = -e[k];
-          e.end(n-k-1) /= e[k];
-          e[k+1] += 1.0;
-      }
-      e[k] = -e[k];
-      if ((k+1 < m) & (e[k] != 0.0))
-      {
-        // Apply the transformation.
-        work.end(m-k-1) = matA.corner(BottomRight,m-k-1,n-k-1) * e.end(n-k-1);
-        for (j = k+1; j < n; ++j)
-          matA.col(j).end(m-k-1) += (-e[j]/e[k+1]) * work.end(m-k-1);
-      }
-
-      // Place the transformation in V for subsequent back multiplication.
-      if (wantv)
-        m_matV.col(k).end(n-k-1) = e.end(n-k-1);
-    }
-  }
-
-
-  // Set up the final bidiagonal matrix or order p.
-  int p = (std::min)(n,m+1);
-  if (nct < n)
-    m_sigma[nct] = matA(nct,nct);
-  if (m < p)
-    m_sigma[p-1] = 0.0;
-  if (nrt+1 < p)
-    e[nrt] = matA(nrt,p-1);
-  e[p-1] = 0.0;
-
-  // If required, generate U.
-  if (wantu)
-  {
-    for (j = nct; j < nu; ++j)
-    {
-      m_matU.col(j).setZero();
-      m_matU(j,j) = 1.0;
-    }
-    for (k = nct-1; k >= 0; k--)
-    {
-      if (m_sigma[k] != 0.0)
-      {
-        for (j = k+1; j < nu; ++j)
-        {
-          Scalar t = m_matU.col(k).end(m-k).eigen2_dot(m_matU.col(j).end(m-k)); // FIXME is it really a dot product we want ?
-          t = -t/m_matU(k,k);
-          m_matU.col(j).end(m-k) += t * m_matU.col(k).end(m-k);
-        }
-        m_matU.col(k).end(m-k) = - m_matU.col(k).end(m-k);
-        m_matU(k,k) = Scalar(1) + m_matU(k,k);
-        if (k-1>0)
-          m_matU.col(k).start(k-1).setZero();
-      }
-      else
-      {
-        m_matU.col(k).setZero();
-        m_matU(k,k) = 1.0;
-      }
-    }
-  }
-
-  // If required, generate V.
-  if (wantv)
-  {
-    for (k = n-1; k >= 0; k--)
-    {
-      if ((k < nrt) & (e[k] != 0.0))
-      {
-        for (j = k+1; j < nu; ++j)
-        {
-          Scalar t = m_matV.col(k).end(n-k-1).eigen2_dot(m_matV.col(j).end(n-k-1)); // FIXME is it really a dot product we want ?
-          t = -t/m_matV(k+1,k);
-          m_matV.col(j).end(n-k-1) += t * m_matV.col(k).end(n-k-1);
-        }
-      }
-      m_matV.col(k).setZero();
-      m_matV(k,k) = 1.0;
-    }
-  }
-
-  // Main iteration loop for the singular values.
-  int pp = p-1;
-  int iter = 0;
-  Scalar eps = ei_pow(Scalar(2),ei_is_same_type<Scalar,float>::ret ? Scalar(-23) : Scalar(-52));
-  while (p > 0)
-  {
-    int k=0;
-    int kase=0;
-
-    // Here is where a test for too many iterations would go.
-
-    // This section of the program inspects for
-    // negligible elements in the s and e arrays.  On
-    // completion the variables kase and k are set as follows.
-
-    // kase = 1     if s(p) and e[k-1] are negligible and k<p
-    // kase = 2     if s(k) is negligible and k<p
-    // kase = 3     if e[k-1] is negligible, k<p, and
-    //              s(k), ..., s(p) are not negligible (qr step).
-    // kase = 4     if e(p-1) is negligible (convergence).
-
-    for (k = p-2; k >= -1; --k)
-    {
-      if (k == -1)
-          break;
-      if (ei_abs(e[k]) <= eps*(ei_abs(m_sigma[k]) + ei_abs(m_sigma[k+1])))
-      {
-          e[k] = 0.0;
-          break;
-      }
-    }
-    if (k == p-2)
-    {
-      kase = 4;
-    }
-    else
-    {
-      int ks;
-      for (ks = p-1; ks >= k; --ks)
-      {
-        if (ks == k)
-          break;
-        Scalar t = (ks != p ? ei_abs(e[ks]) : Scalar(0)) + (ks != k+1 ? ei_abs(e[ks-1]) : Scalar(0));
-        if (ei_abs(m_sigma[ks]) <= eps*t)
-        {
-          m_sigma[ks] = 0.0;
-          break;
-        }
-      }
-      if (ks == k)
-      {
-        kase = 3;
-      }
-      else if (ks == p-1)
-      {
-        kase = 1;
-      }
-      else
-      {
-        kase = 2;
-        k = ks;
-      }
-    }
-    ++k;
-
-    // Perform the task indicated by kase.
-    switch (kase)
-    {
-
-      // Deflate negligible s(p).
-      case 1:
-      {
-        Scalar f(e[p-2]);
-        e[p-2] = 0.0;
-        for (j = p-2; j >= k; --j)
-        {
-          Scalar t(numext::hypot(m_sigma[j],f));
-          Scalar cs(m_sigma[j]/t);
-          Scalar sn(f/t);
-          m_sigma[j] = t;
-          if (j != k)
-          {
-            f = -sn*e[j-1];
-            e[j-1] = cs*e[j-1];
-          }
-          if (wantv)
-          {
-            for (i = 0; i < n; ++i)
-            {
-              t = cs*m_matV(i,j) + sn*m_matV(i,p-1);
-              m_matV(i,p-1) = -sn*m_matV(i,j) + cs*m_matV(i,p-1);
-              m_matV(i,j) = t;
-            }
-          }
-        }
-      }
-      break;
-
-      // Split at negligible s(k).
-      case 2:
-      {
-        Scalar f(e[k-1]);
-        e[k-1] = 0.0;
-        for (j = k; j < p; ++j)
-        {
-          Scalar t(numext::hypot(m_sigma[j],f));
-          Scalar cs( m_sigma[j]/t);
-          Scalar sn(f/t);
-          m_sigma[j] = t;
-          f = -sn*e[j];
-          e[j] = cs*e[j];
-          if (wantu)
-          {
-            for (i = 0; i < m; ++i)
-            {
-              t = cs*m_matU(i,j) + sn*m_matU(i,k-1);
-              m_matU(i,k-1) = -sn*m_matU(i,j) + cs*m_matU(i,k-1);
-              m_matU(i,j) = t;
-            }
-          }
-        }
-      }
-      break;
-
-      // Perform one qr step.
-      case 3:
-      {
-        // Calculate the shift.
-        Scalar scale = (std::max)((std::max)((std::max)((std::max)(
-                        ei_abs(m_sigma[p-1]),ei_abs(m_sigma[p-2])),ei_abs(e[p-2])),
-                        ei_abs(m_sigma[k])),ei_abs(e[k]));
-        Scalar sp = m_sigma[p-1]/scale;
-        Scalar spm1 = m_sigma[p-2]/scale;
-        Scalar epm1 = e[p-2]/scale;
-        Scalar sk = m_sigma[k]/scale;
-        Scalar ek = e[k]/scale;
-        Scalar b = ((spm1 + sp)*(spm1 - sp) + epm1*epm1)/Scalar(2);
-        Scalar c = (sp*epm1)*(sp*epm1);
-        Scalar shift(0);
-        if ((b != 0.0) || (c != 0.0))
-        {
-          shift = ei_sqrt(b*b + c);
-          if (b < 0.0)
-            shift = -shift;
-          shift = c/(b + shift);
-        }
-        Scalar f = (sk + sp)*(sk - sp) + shift;
-        Scalar g = sk*ek;
-
-        // Chase zeros.
-
-        for (j = k; j < p-1; ++j)
-        {
-          Scalar t = numext::hypot(f,g);
-          Scalar cs = f/t;
-          Scalar sn = g/t;
-          if (j != k)
-            e[j-1] = t;
-          f = cs*m_sigma[j] + sn*e[j];
-          e[j] = cs*e[j] - sn*m_sigma[j];
-          g = sn*m_sigma[j+1];
-          m_sigma[j+1] = cs*m_sigma[j+1];
-          if (wantv)
-          {
-            for (i = 0; i < n; ++i)
-            {
-              t = cs*m_matV(i,j) + sn*m_matV(i,j+1);
-              m_matV(i,j+1) = -sn*m_matV(i,j) + cs*m_matV(i,j+1);
-              m_matV(i,j) = t;
-            }
-          }
-          t = numext::hypot(f,g);
-          cs = f/t;
-          sn = g/t;
-          m_sigma[j] = t;
-          f = cs*e[j] + sn*m_sigma[j+1];
-          m_sigma[j+1] = -sn*e[j] + cs*m_sigma[j+1];
-          g = sn*e[j+1];
-          e[j+1] = cs*e[j+1];
-          if (wantu && (j < m-1))
-          {
-            for (i = 0; i < m; ++i)
-            {
-              t = cs*m_matU(i,j) + sn*m_matU(i,j+1);
-              m_matU(i,j+1) = -sn*m_matU(i,j) + cs*m_matU(i,j+1);
-              m_matU(i,j) = t;
-            }
-          }
-        }
-        e[p-2] = f;
-        iter = iter + 1;
-      }
-      break;
-
-      // Convergence.
-      case 4:
-      {
-        // Make the singular values positive.
-        if (m_sigma[k] <= 0.0)
-        {
-          m_sigma[k] = m_sigma[k] < Scalar(0) ? -m_sigma[k] : Scalar(0);
-          if (wantv)
-            m_matV.col(k).start(pp+1) = -m_matV.col(k).start(pp+1);
-        }
-
-        // Order the singular values.
-        while (k < pp)
-        {
-          if (m_sigma[k] >= m_sigma[k+1])
-            break;
-          Scalar t = m_sigma[k];
-          m_sigma[k] = m_sigma[k+1];
-          m_sigma[k+1] = t;
-          if (wantv && (k < n-1))
-            m_matV.col(k).swap(m_matV.col(k+1));
-          if (wantu && (k < m-1))
-            m_matU.col(k).swap(m_matU.col(k+1));
-          ++k;
-        }
-        iter = 0;
-        p--;
-      }
-      break;
-    } // end big switch
-  } // end iterations
-}
-
-template<typename MatrixType>
-SVD<MatrixType>& SVD<MatrixType>::sort()
-{
-  int mu = m_matU.rows();
-  int mv = m_matV.rows();
-  int n  = m_matU.cols();
-
-  for (int i=0; i<n; ++i)
-  {
-    int  k = i;
-    Scalar p = m_sigma.coeff(i);
-
-    for (int j=i+1; j<n; ++j)
-    {
-      if (m_sigma.coeff(j) > p)
-      {
-        k = j;
-        p = m_sigma.coeff(j);
-      }
-    }
-    if (k != i)
-    {
-      m_sigma.coeffRef(k) = m_sigma.coeff(i);  // i.e.
-      m_sigma.coeffRef(i) = p;                 // swaps the i-th and the k-th elements
-
-      int j = mu;
-      for(int s=0; j!=0; ++s, --j)
-        std::swap(m_matU.coeffRef(s,i), m_matU.coeffRef(s,k));
-
-      j = mv;
-      for (int s=0; j!=0; ++s, --j)
-        std::swap(m_matV.coeffRef(s,i), m_matV.coeffRef(s,k));
-    }
-  }
-  return *this;
-}
-
-/** \returns the solution of \f$ A x = b \f$ using the current SVD decomposition of A.
-  * The parts of the solution corresponding to zero singular values are ignored.
-  *
-  * \sa MatrixBase::svd(), LU::solve(), LLT::solve()
-  */
-template<typename MatrixType>
-template<typename OtherDerived, typename ResultType>
-bool SVD<MatrixType>::solve(const MatrixBase<OtherDerived> &b, ResultType* result) const
-{
-  ei_assert(b.rows() == m_matU.rows());
-
-  Scalar maxVal = m_sigma.cwise().abs().maxCoeff();
-  for (int j=0; j<b.cols(); ++j)
-  {
-    Matrix<Scalar,MatrixUType::RowsAtCompileTime,1> aux = m_matU.transpose() * b.col(j);
-
-    for (int i = 0; i <m_matU.cols(); ++i)
-    {
-      Scalar si = m_sigma.coeff(i);
-      if (ei_isMuchSmallerThan(ei_abs(si),maxVal))
-        aux.coeffRef(i) = 0;
-      else
-        aux.coeffRef(i) /= si;
-    }
-
-    result->col(j) = m_matV * aux;
-  }
-  return true;
-}
-
-/** Computes the polar decomposition of the matrix, as a product unitary x positive.
-  *
-  * If either pointer is zero, the corresponding computation is skipped.
-  *
-  * Only for square matrices.
-  *
-  * \sa computePositiveUnitary(), computeRotationScaling()
-  */
-template<typename MatrixType>
-template<typename UnitaryType, typename PositiveType>
-void SVD<MatrixType>::computeUnitaryPositive(UnitaryType *unitary,
-                                             PositiveType *positive) const
-{
-  ei_assert(m_matU.cols() == m_matV.cols() && "Polar decomposition is only for square matrices");
-  if(unitary) *unitary = m_matU * m_matV.adjoint();
-  if(positive) *positive = m_matV * m_sigma.asDiagonal() * m_matV.adjoint();
-}
-
-/** Computes the polar decomposition of the matrix, as a product positive x unitary.
-  *
-  * If either pointer is zero, the corresponding computation is skipped.
-  *
-  * Only for square matrices.
-  *
-  * \sa computeUnitaryPositive(), computeRotationScaling()
-  */
-template<typename MatrixType>
-template<typename UnitaryType, typename PositiveType>
-void SVD<MatrixType>::computePositiveUnitary(UnitaryType *positive,
-                                             PositiveType *unitary) const
-{
-  ei_assert(m_matU.rows() == m_matV.rows() && "Polar decomposition is only for square matrices");
-  if(unitary) *unitary = m_matU * m_matV.adjoint();
-  if(positive) *positive = m_matU * m_sigma.asDiagonal() * m_matU.adjoint();
-}
-
-/** decomposes the matrix as a product rotation x scaling, the scaling being
-  * not necessarily positive.
-  *
-  * If either pointer is zero, the corresponding computation is skipped.
-  *
-  * This method requires the Geometry module.
-  *
-  * \sa computeScalingRotation(), computeUnitaryPositive()
-  */
-template<typename MatrixType>
-template<typename RotationType, typename ScalingType>
-void SVD<MatrixType>::computeRotationScaling(RotationType *rotation, ScalingType *scaling) const
-{
-  ei_assert(m_matU.rows() == m_matV.rows() && "Polar decomposition is only for square matrices");
-  Scalar x = (m_matU * m_matV.adjoint()).determinant(); // so x has absolute value 1
-  Matrix<Scalar, MatrixType::RowsAtCompileTime, 1> sv(m_sigma);
-  sv.coeffRef(0) *= x;
-  if(scaling) scaling->lazyAssign(m_matV * sv.asDiagonal() * m_matV.adjoint());
-  if(rotation)
-  {
-    MatrixType m(m_matU);
-    m.col(0) /= x;
-    rotation->lazyAssign(m * m_matV.adjoint());
-  }
-}
-
-/** decomposes the matrix as a product scaling x rotation, the scaling being
-  * not necessarily positive.
-  *
-  * If either pointer is zero, the corresponding computation is skipped.
-  *
-  * This method requires the Geometry module.
-  *
-  * \sa computeRotationScaling(), computeUnitaryPositive()
-  */
-template<typename MatrixType>
-template<typename ScalingType, typename RotationType>
-void SVD<MatrixType>::computeScalingRotation(ScalingType *scaling, RotationType *rotation) const
-{
-  ei_assert(m_matU.rows() == m_matV.rows() && "Polar decomposition is only for square matrices");
-  Scalar x = (m_matU * m_matV.adjoint()).determinant(); // so x has absolute value 1
-  Matrix<Scalar, MatrixType::RowsAtCompileTime, 1> sv(m_sigma);
-  sv.coeffRef(0) *= x;
-  if(scaling) scaling->lazyAssign(m_matU * sv.asDiagonal() * m_matU.adjoint());
-  if(rotation)
-  {
-    MatrixType m(m_matU);
-    m.col(0) /= x;
-    rotation->lazyAssign(m * m_matV.adjoint());
-  }
-}
-
-
-/** \svd_module
-  * \returns the SVD decomposition of \c *this
-  */
-template<typename Derived>
-inline SVD<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::svd() const
-{
-  return SVD<PlainObject>(derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN2_SVD_H
diff --git a/lib/Eigen/src/Eigen2Support/TriangularSolver.h b/lib/Eigen/src/Eigen2Support/TriangularSolver.h
deleted file mode 100644
index ebbeb3b4..00000000
--- a/lib/Eigen/src/Eigen2Support/TriangularSolver.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRIANGULAR_SOLVER2_H
-#define EIGEN_TRIANGULAR_SOLVER2_H
-
-namespace Eigen { 
-
-const unsigned int UnitDiagBit = UnitDiag;
-const unsigned int SelfAdjointBit = SelfAdjoint;
-const unsigned int UpperTriangularBit = Upper;
-const unsigned int LowerTriangularBit = Lower;
-
-const unsigned int UpperTriangular = Upper;
-const unsigned int LowerTriangular = Lower;
-const unsigned int UnitUpperTriangular = UnitUpper;
-const unsigned int UnitLowerTriangular = UnitLower;
-
-template<typename ExpressionType, unsigned int Added, unsigned int Removed>
-template<typename OtherDerived>
-typename ExpressionType::PlainObject
-Flagged<ExpressionType,Added,Removed>::solveTriangular(const MatrixBase<OtherDerived>& other) const
-{
-  return m_matrix.template triangularView<Added>().solve(other.derived());
-}
-
-template<typename ExpressionType, unsigned int Added, unsigned int Removed>
-template<typename OtherDerived>
-void Flagged<ExpressionType,Added,Removed>::solveTriangularInPlace(const MatrixBase<OtherDerived>& other) const
-{
-  m_matrix.template triangularView<Added>().solveInPlace(other.derived());
-}
-
-} // end namespace Eigen
-    
-#endif // EIGEN_TRIANGULAR_SOLVER2_H
diff --git a/lib/Eigen/src/Eigen2Support/VectorBlock.h b/lib/Eigen/src/Eigen2Support/VectorBlock.h
deleted file mode 100644
index 71a8080a..00000000
--- a/lib/Eigen/src/Eigen2Support/VectorBlock.h
+++ /dev/null
@@ -1,94 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN2_VECTORBLOCK_H
-#define EIGEN2_VECTORBLOCK_H
-
-namespace Eigen { 
-
-/** \deprecated use DenseMase::head(Index) */
-template<typename Derived>
-inline VectorBlock<Derived>
-MatrixBase<Derived>::start(Index size)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return VectorBlock<Derived>(derived(), 0, size);
-}
-
-/** \deprecated use DenseMase::head(Index) */
-template<typename Derived>
-inline const VectorBlock<const Derived>
-MatrixBase<Derived>::start(Index size) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return VectorBlock<const Derived>(derived(), 0, size);
-}
-
-/** \deprecated use DenseMase::tail(Index) */
-template<typename Derived>
-inline VectorBlock<Derived>
-MatrixBase<Derived>::end(Index size)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return VectorBlock<Derived>(derived(), this->size() - size, size);
-}
-
-/** \deprecated use DenseMase::tail(Index) */
-template<typename Derived>
-inline const VectorBlock<const Derived>
-MatrixBase<Derived>::end(Index size) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return VectorBlock<const Derived>(derived(), this->size() - size, size);
-}
-
-/** \deprecated use DenseMase::head() */
-template<typename Derived>
-template<int Size>
-inline VectorBlock<Derived,Size>
-MatrixBase<Derived>::start()
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return VectorBlock<Derived,Size>(derived(), 0);
-}
-
-/** \deprecated use DenseMase::head() */
-template<typename Derived>
-template<int Size>
-inline const VectorBlock<const Derived,Size>
-MatrixBase<Derived>::start() const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return VectorBlock<const Derived,Size>(derived(), 0);
-}
-
-/** \deprecated use DenseMase::tail() */
-template<typename Derived>
-template<int Size>
-inline VectorBlock<Derived,Size>
-MatrixBase<Derived>::end()
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return VectorBlock<Derived, Size>(derived(), size() - Size);
-}
-
-/** \deprecated use DenseMase::tail() */
-template<typename Derived>
-template<int Size>
-inline const VectorBlock<const Derived,Size>
-MatrixBase<Derived>::end() const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return VectorBlock<const Derived, Size>(derived(), size() - Size);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN2_VECTORBLOCK_H
diff --git a/lib/Eigen/src/Eigenvalues/CMakeLists.txt b/lib/Eigen/src/Eigenvalues/CMakeLists.txt
deleted file mode 100644
index 193e0268..00000000
--- a/lib/Eigen/src/Eigenvalues/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_EIGENVALUES_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_EIGENVALUES_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigenvalues COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/Eigenvalues/ComplexEigenSolver.h b/lib/Eigen/src/Eigenvalues/ComplexEigenSolver.h
deleted file mode 100644
index 417c7294..00000000
--- a/lib/Eigen/src/Eigenvalues/ComplexEigenSolver.h
+++ /dev/null
@@ -1,341 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Claire Maurice
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010,2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COMPLEX_EIGEN_SOLVER_H
-#define EIGEN_COMPLEX_EIGEN_SOLVER_H
-
-#include "./ComplexSchur.h"
-
-namespace Eigen { 
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \class ComplexEigenSolver
-  *
-  * \brief Computes eigenvalues and eigenvectors of general complex matrices
-  *
-  * \tparam _MatrixType the type of the matrix of which we are
-  * computing the eigendecomposition; this is expected to be an
-  * instantiation of the Matrix class template.
-  *
-  * The eigenvalues and eigenvectors of a matrix \f$ A \f$ are scalars
-  * \f$ \lambda \f$ and vectors \f$ v \f$ such that \f$ Av = \lambda v
-  * \f$.  If \f$ D \f$ is a diagonal matrix with the eigenvalues on
-  * the diagonal, and \f$ V \f$ is a matrix with the eigenvectors as
-  * its columns, then \f$ A V = V D \f$. The matrix \f$ V \f$ is
-  * almost always invertible, in which case we have \f$ A = V D V^{-1}
-  * \f$. This is called the eigendecomposition.
-  *
-  * The main function in this class is compute(), which computes the
-  * eigenvalues and eigenvectors of a given function. The
-  * documentation for that function contains an example showing the
-  * main features of the class.
-  *
-  * \sa class EigenSolver, class SelfAdjointEigenSolver
-  */
-template<typename _MatrixType> class ComplexEigenSolver
-{
-  public:
-
-    /** \brief Synonym for the template parameter \p _MatrixType. */
-    typedef _MatrixType MatrixType;
-
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-
-    /** \brief Scalar type for matrices of type #MatrixType. */
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    typedef typename MatrixType::Index Index;
-
-    /** \brief Complex scalar type for #MatrixType.
-      *
-      * This is \c std::complex<Scalar> if #Scalar is real (e.g.,
-      * \c float or \c double) and just \c Scalar if #Scalar is
-      * complex.
-      */
-    typedef std::complex<RealScalar> ComplexScalar;
-
-    /** \brief Type for vector of eigenvalues as returned by eigenvalues().
-      *
-      * This is a column vector with entries of type #ComplexScalar.
-      * The length of the vector is the size of #MatrixType.
-      */
-    typedef Matrix<ComplexScalar, ColsAtCompileTime, 1, Options&(~RowMajor), MaxColsAtCompileTime, 1> EigenvalueType;
-
-    /** \brief Type for matrix of eigenvectors as returned by eigenvectors().
-      *
-      * This is a square matrix with entries of type #ComplexScalar.
-      * The size is the same as the size of #MatrixType.
-      */
-    typedef Matrix<ComplexScalar, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime> EigenvectorType;
-
-    /** \brief Default constructor.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via compute().
-      */
-    ComplexEigenSolver()
-            : m_eivec(),
-              m_eivalues(),
-              m_schur(),
-              m_isInitialized(false),
-              m_eigenvectorsOk(false),
-              m_matX()
-    {}
-
-    /** \brief Default Constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa ComplexEigenSolver()
-      */
-    ComplexEigenSolver(Index size)
-            : m_eivec(size, size),
-              m_eivalues(size),
-              m_schur(size),
-              m_isInitialized(false),
-              m_eigenvectorsOk(false),
-              m_matX(size, size)
-    {}
-
-    /** \brief Constructor; computes eigendecomposition of given matrix.
-      *
-      * \param[in]  matrix  Square matrix whose eigendecomposition is to be computed.
-      * \param[in]  computeEigenvectors  If true, both the eigenvectors and the
-      *    eigenvalues are computed; if false, only the eigenvalues are
-      *    computed.
-      *
-      * This constructor calls compute() to compute the eigendecomposition.
-      */
-      ComplexEigenSolver(const MatrixType& matrix, bool computeEigenvectors = true)
-            : m_eivec(matrix.rows(),matrix.cols()),
-              m_eivalues(matrix.cols()),
-              m_schur(matrix.rows()),
-              m_isInitialized(false),
-              m_eigenvectorsOk(false),
-              m_matX(matrix.rows(),matrix.cols())
-    {
-      compute(matrix, computeEigenvectors);
-    }
-
-    /** \brief Returns the eigenvectors of given matrix.
-      *
-      * \returns  A const reference to the matrix whose columns are the eigenvectors.
-      *
-      * \pre Either the constructor
-      * ComplexEigenSolver(const MatrixType& matrix, bool) or the member
-      * function compute(const MatrixType& matrix, bool) has been called before
-      * to compute the eigendecomposition of a matrix, and
-      * \p computeEigenvectors was set to true (the default).
-      *
-      * This function returns a matrix whose columns are the eigenvectors. Column
-      * \f$ k \f$ is an eigenvector corresponding to eigenvalue number \f$ k
-      * \f$ as returned by eigenvalues().  The eigenvectors are normalized to
-      * have (Euclidean) norm equal to one. The matrix returned by this
-      * function is the matrix \f$ V \f$ in the eigendecomposition \f$ A = V D
-      * V^{-1} \f$, if it exists.
-      *
-      * Example: \include ComplexEigenSolver_eigenvectors.cpp
-      * Output: \verbinclude ComplexEigenSolver_eigenvectors.out
-      */
-    const EigenvectorType& eigenvectors() const
-    {
-      eigen_assert(m_isInitialized && "ComplexEigenSolver is not initialized.");
-      eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
-      return m_eivec;
-    }
-
-    /** \brief Returns the eigenvalues of given matrix.
-      *
-      * \returns A const reference to the column vector containing the eigenvalues.
-      *
-      * \pre Either the constructor
-      * ComplexEigenSolver(const MatrixType& matrix, bool) or the member
-      * function compute(const MatrixType& matrix, bool) has been called before
-      * to compute the eigendecomposition of a matrix.
-      *
-      * This function returns a column vector containing the
-      * eigenvalues. Eigenvalues are repeated according to their
-      * algebraic multiplicity, so there are as many eigenvalues as
-      * rows in the matrix. The eigenvalues are not sorted in any particular
-      * order.
-      *
-      * Example: \include ComplexEigenSolver_eigenvalues.cpp
-      * Output: \verbinclude ComplexEigenSolver_eigenvalues.out
-      */
-    const EigenvalueType& eigenvalues() const
-    {
-      eigen_assert(m_isInitialized && "ComplexEigenSolver is not initialized.");
-      return m_eivalues;
-    }
-
-    /** \brief Computes eigendecomposition of given matrix.
-      *
-      * \param[in]  matrix  Square matrix whose eigendecomposition is to be computed.
-      * \param[in]  computeEigenvectors  If true, both the eigenvectors and the
-      *    eigenvalues are computed; if false, only the eigenvalues are
-      *    computed.
-      * \returns    Reference to \c *this
-      *
-      * This function computes the eigenvalues of the complex matrix \p matrix.
-      * The eigenvalues() function can be used to retrieve them.  If
-      * \p computeEigenvectors is true, then the eigenvectors are also computed
-      * and can be retrieved by calling eigenvectors().
-      *
-      * The matrix is first reduced to Schur form using the
-      * ComplexSchur class. The Schur decomposition is then used to
-      * compute the eigenvalues and eigenvectors.
-      *
-      * The cost of the computation is dominated by the cost of the
-      * Schur decomposition, which is \f$ O(n^3) \f$ where \f$ n \f$
-      * is the size of the matrix.
-      *
-      * Example: \include ComplexEigenSolver_compute.cpp
-      * Output: \verbinclude ComplexEigenSolver_compute.out
-      */
-    ComplexEigenSolver& compute(const MatrixType& matrix, bool computeEigenvectors = true);
-
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful, \c NoConvergence otherwise.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "ComplexEigenSolver is not initialized.");
-      return m_schur.info();
-    }
-
-    /** \brief Sets the maximum number of iterations allowed. */
-    ComplexEigenSolver& setMaxIterations(Index maxIters)
-    {
-      m_schur.setMaxIterations(maxIters);
-      return *this;
-    }
-
-    /** \brief Returns the maximum number of iterations. */
-    Index getMaxIterations()
-    {
-      return m_schur.getMaxIterations();
-    }
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-    
-    EigenvectorType m_eivec;
-    EigenvalueType m_eivalues;
-    ComplexSchur<MatrixType> m_schur;
-    bool m_isInitialized;
-    bool m_eigenvectorsOk;
-    EigenvectorType m_matX;
-
-  private:
-    void doComputeEigenvectors(const RealScalar& matrixnorm);
-    void sortEigenvalues(bool computeEigenvectors);
-};
-
-
-template<typename MatrixType>
-ComplexEigenSolver<MatrixType>& 
-ComplexEigenSolver<MatrixType>::compute(const MatrixType& matrix, bool computeEigenvectors)
-{
-  check_template_parameters();
-  
-  // this code is inspired from Jampack
-  eigen_assert(matrix.cols() == matrix.rows());
-
-  // Do a complex Schur decomposition, A = U T U^*
-  // The eigenvalues are on the diagonal of T.
-  m_schur.compute(matrix, computeEigenvectors);
-
-  if(m_schur.info() == Success)
-  {
-    m_eivalues = m_schur.matrixT().diagonal();
-    if(computeEigenvectors)
-      doComputeEigenvectors(matrix.norm());
-    sortEigenvalues(computeEigenvectors);
-  }
-
-  m_isInitialized = true;
-  m_eigenvectorsOk = computeEigenvectors;
-  return *this;
-}
-
-
-template<typename MatrixType>
-void ComplexEigenSolver<MatrixType>::doComputeEigenvectors(const RealScalar& matrixnorm)
-{
-  const Index n = m_eivalues.size();
-
-  // Compute X such that T = X D X^(-1), where D is the diagonal of T.
-  // The matrix X is unit triangular.
-  m_matX = EigenvectorType::Zero(n, n);
-  for(Index k=n-1 ; k>=0 ; k--)
-  {
-    m_matX.coeffRef(k,k) = ComplexScalar(1.0,0.0);
-    // Compute X(i,k) using the (i,k) entry of the equation X T = D X
-    for(Index i=k-1 ; i>=0 ; i--)
-    {
-      m_matX.coeffRef(i,k) = -m_schur.matrixT().coeff(i,k);
-      if(k-i-1>0)
-        m_matX.coeffRef(i,k) -= (m_schur.matrixT().row(i).segment(i+1,k-i-1) * m_matX.col(k).segment(i+1,k-i-1)).value();
-      ComplexScalar z = m_schur.matrixT().coeff(i,i) - m_schur.matrixT().coeff(k,k);
-      if(z==ComplexScalar(0))
-      {
-        // If the i-th and k-th eigenvalue are equal, then z equals 0.
-        // Use a small value instead, to prevent division by zero.
-        numext::real_ref(z) = NumTraits<RealScalar>::epsilon() * matrixnorm;
-      }
-      m_matX.coeffRef(i,k) = m_matX.coeff(i,k) / z;
-    }
-  }
-
-  // Compute V as V = U X; now A = U T U^* = U X D X^(-1) U^* = V D V^(-1)
-  m_eivec.noalias() = m_schur.matrixU() * m_matX;
-  // .. and normalize the eigenvectors
-  for(Index k=0 ; k<n ; k++)
-  {
-    m_eivec.col(k).normalize();
-  }
-}
-
-
-template<typename MatrixType>
-void ComplexEigenSolver<MatrixType>::sortEigenvalues(bool computeEigenvectors)
-{
-  const Index n =  m_eivalues.size();
-  for (Index i=0; i<n; i++)
-  {
-    Index k;
-    m_eivalues.cwiseAbs().tail(n-i).minCoeff(&k);
-    if (k != 0)
-    {
-      k += i;
-      std::swap(m_eivalues[k],m_eivalues[i]);
-      if(computeEigenvectors)
-	m_eivec.col(i).swap(m_eivec.col(k));
-    }
-  }
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_COMPLEX_EIGEN_SOLVER_H
diff --git a/lib/Eigen/src/Eigenvalues/ComplexSchur.h b/lib/Eigen/src/Eigenvalues/ComplexSchur.h
deleted file mode 100644
index 89e6cade..00000000
--- a/lib/Eigen/src/Eigenvalues/ComplexSchur.h
+++ /dev/null
@@ -1,456 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Claire Maurice
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010,2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COMPLEX_SCHUR_H
-#define EIGEN_COMPLEX_SCHUR_H
-
-#include "./HessenbergDecomposition.h"
-
-namespace Eigen { 
-
-namespace internal {
-template<typename MatrixType, bool IsComplex> struct complex_schur_reduce_to_hessenberg;
-}
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \class ComplexSchur
-  *
-  * \brief Performs a complex Schur decomposition of a real or complex square matrix
-  *
-  * \tparam _MatrixType the type of the matrix of which we are
-  * computing the Schur decomposition; this is expected to be an
-  * instantiation of the Matrix class template.
-  *
-  * Given a real or complex square matrix A, this class computes the
-  * Schur decomposition: \f$ A = U T U^*\f$ where U is a unitary
-  * complex matrix, and T is a complex upper triangular matrix.  The
-  * diagonal of the matrix T corresponds to the eigenvalues of the
-  * matrix A.
-  *
-  * Call the function compute() to compute the Schur decomposition of
-  * a given matrix. Alternatively, you can use the 
-  * ComplexSchur(const MatrixType&, bool) constructor which computes
-  * the Schur decomposition at construction time. Once the
-  * decomposition is computed, you can use the matrixU() and matrixT()
-  * functions to retrieve the matrices U and V in the decomposition.
-  *
-  * \note This code is inspired from Jampack
-  *
-  * \sa class RealSchur, class EigenSolver, class ComplexEigenSolver
-  */
-template<typename _MatrixType> class ComplexSchur
-{
-  public:
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-
-    /** \brief Scalar type for matrices of type \p _MatrixType. */
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    typedef typename MatrixType::Index Index;
-
-    /** \brief Complex scalar type for \p _MatrixType. 
-      *
-      * This is \c std::complex<Scalar> if #Scalar is real (e.g.,
-      * \c float or \c double) and just \c Scalar if #Scalar is
-      * complex.
-      */
-    typedef std::complex<RealScalar> ComplexScalar;
-
-    /** \brief Type for the matrices in the Schur decomposition.
-      *
-      * This is a square matrix with entries of type #ComplexScalar. 
-      * The size is the same as the size of \p _MatrixType.
-      */
-    typedef Matrix<ComplexScalar, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime> ComplexMatrixType;
-
-    /** \brief Default constructor.
-      *
-      * \param [in] size  Positive integer, size of the matrix whose Schur decomposition will be computed.
-      *
-      * The default constructor is useful in cases in which the user
-      * intends to perform decompositions via compute().  The \p size
-      * parameter is only used as a hint. It is not an error to give a
-      * wrong \p size, but it may impair performance.
-      *
-      * \sa compute() for an example.
-      */
-    ComplexSchur(Index size = RowsAtCompileTime==Dynamic ? 1 : RowsAtCompileTime)
-      : m_matT(size,size),
-        m_matU(size,size),
-        m_hess(size),
-        m_isInitialized(false),
-        m_matUisUptodate(false),
-        m_maxIters(-1)
-    {}
-
-    /** \brief Constructor; computes Schur decomposition of given matrix. 
-      * 
-      * \param[in]  matrix    Square matrix whose Schur decomposition is to be computed.
-      * \param[in]  computeU  If true, both T and U are computed; if false, only T is computed.
-      *
-      * This constructor calls compute() to compute the Schur decomposition.
-      *
-      * \sa matrixT() and matrixU() for examples.
-      */
-    ComplexSchur(const MatrixType& matrix, bool computeU = true)
-      : m_matT(matrix.rows(),matrix.cols()),
-        m_matU(matrix.rows(),matrix.cols()),
-        m_hess(matrix.rows()),
-        m_isInitialized(false),
-        m_matUisUptodate(false),
-        m_maxIters(-1)
-    {
-      compute(matrix, computeU);
-    }
-
-    /** \brief Returns the unitary matrix in the Schur decomposition. 
-      *
-      * \returns A const reference to the matrix U.
-      *
-      * It is assumed that either the constructor
-      * ComplexSchur(const MatrixType& matrix, bool computeU) or the
-      * member function compute(const MatrixType& matrix, bool computeU)
-      * has been called before to compute the Schur decomposition of a
-      * matrix, and that \p computeU was set to true (the default
-      * value).
-      *
-      * Example: \include ComplexSchur_matrixU.cpp
-      * Output: \verbinclude ComplexSchur_matrixU.out
-      */
-    const ComplexMatrixType& matrixU() const
-    {
-      eigen_assert(m_isInitialized && "ComplexSchur is not initialized.");
-      eigen_assert(m_matUisUptodate && "The matrix U has not been computed during the ComplexSchur decomposition.");
-      return m_matU;
-    }
-
-    /** \brief Returns the triangular matrix in the Schur decomposition. 
-      *
-      * \returns A const reference to the matrix T.
-      *
-      * It is assumed that either the constructor
-      * ComplexSchur(const MatrixType& matrix, bool computeU) or the
-      * member function compute(const MatrixType& matrix, bool computeU)
-      * has been called before to compute the Schur decomposition of a
-      * matrix.
-      *
-      * Note that this function returns a plain square matrix. If you want to reference
-      * only the upper triangular part, use:
-      * \code schur.matrixT().triangularView<Upper>() \endcode 
-      *
-      * Example: \include ComplexSchur_matrixT.cpp
-      * Output: \verbinclude ComplexSchur_matrixT.out
-      */
-    const ComplexMatrixType& matrixT() const
-    {
-      eigen_assert(m_isInitialized && "ComplexSchur is not initialized.");
-      return m_matT;
-    }
-
-    /** \brief Computes Schur decomposition of given matrix. 
-      * 
-      * \param[in]  matrix  Square matrix whose Schur decomposition is to be computed.
-      * \param[in]  computeU  If true, both T and U are computed; if false, only T is computed.
-
-      * \returns    Reference to \c *this
-      *
-      * The Schur decomposition is computed by first reducing the
-      * matrix to Hessenberg form using the class
-      * HessenbergDecomposition. The Hessenberg matrix is then reduced
-      * to triangular form by performing QR iterations with a single
-      * shift. The cost of computing the Schur decomposition depends
-      * on the number of iterations; as a rough guide, it may be taken
-      * on the number of iterations; as a rough guide, it may be taken
-      * to be \f$25n^3\f$ complex flops, or \f$10n^3\f$ complex flops
-      * if \a computeU is false.
-      *
-      * Example: \include ComplexSchur_compute.cpp
-      * Output: \verbinclude ComplexSchur_compute.out
-      *
-      * \sa compute(const MatrixType&, bool, Index)
-      */
-    ComplexSchur& compute(const MatrixType& matrix, bool computeU = true);
-    
-    /** \brief Compute Schur decomposition from a given Hessenberg matrix
-     *  \param[in] matrixH Matrix in Hessenberg form H
-     *  \param[in] matrixQ orthogonal matrix Q that transform a matrix A to H : A = Q H Q^T
-     *  \param computeU Computes the matriX U of the Schur vectors
-     * \return Reference to \c *this
-     * 
-     *  This routine assumes that the matrix is already reduced in Hessenberg form matrixH
-     *  using either the class HessenbergDecomposition or another mean. 
-     *  It computes the upper quasi-triangular matrix T of the Schur decomposition of H
-     *  When computeU is true, this routine computes the matrix U such that 
-     *  A = U T U^T =  (QZ) T (QZ)^T = Q H Q^T where A is the initial matrix
-     * 
-     * NOTE Q is referenced if computeU is true; so, if the initial orthogonal matrix
-     * is not available, the user should give an identity matrix (Q.setIdentity())
-     * 
-     * \sa compute(const MatrixType&, bool)
-     */
-    template<typename HessMatrixType, typename OrthMatrixType>
-    ComplexSchur& computeFromHessenberg(const HessMatrixType& matrixH, const OrthMatrixType& matrixQ,  bool computeU=true);
-
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful, \c NoConvergence otherwise.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "ComplexSchur is not initialized.");
-      return m_info;
-    }
-
-    /** \brief Sets the maximum number of iterations allowed. 
-      *
-      * If not specified by the user, the maximum number of iterations is m_maxIterationsPerRow times the size
-      * of the matrix.
-      */
-    ComplexSchur& setMaxIterations(Index maxIters)
-    {
-      m_maxIters = maxIters;
-      return *this;
-    }
-
-    /** \brief Returns the maximum number of iterations. */
-    Index getMaxIterations()
-    {
-      return m_maxIters;
-    }
-
-    /** \brief Maximum number of iterations per row.
-      *
-      * If not otherwise specified, the maximum number of iterations is this number times the size of the
-      * matrix. It is currently set to 30.
-      */
-    static const int m_maxIterationsPerRow = 30;
-
-  protected:
-    ComplexMatrixType m_matT, m_matU;
-    HessenbergDecomposition<MatrixType> m_hess;
-    ComputationInfo m_info;
-    bool m_isInitialized;
-    bool m_matUisUptodate;
-    Index m_maxIters;
-
-  private:  
-    bool subdiagonalEntryIsNeglegible(Index i);
-    ComplexScalar computeShift(Index iu, Index iter);
-    void reduceToTriangularForm(bool computeU);
-    friend struct internal::complex_schur_reduce_to_hessenberg<MatrixType, NumTraits<Scalar>::IsComplex>;
-};
-
-/** If m_matT(i+1,i) is neglegible in floating point arithmetic
-  * compared to m_matT(i,i) and m_matT(j,j), then set it to zero and
-  * return true, else return false. */
-template<typename MatrixType>
-inline bool ComplexSchur<MatrixType>::subdiagonalEntryIsNeglegible(Index i)
-{
-  RealScalar d = numext::norm1(m_matT.coeff(i,i)) + numext::norm1(m_matT.coeff(i+1,i+1));
-  RealScalar sd = numext::norm1(m_matT.coeff(i+1,i));
-  if (internal::isMuchSmallerThan(sd, d, NumTraits<RealScalar>::epsilon()))
-  {
-    m_matT.coeffRef(i+1,i) = ComplexScalar(0);
-    return true;
-  }
-  return false;
-}
-
-
-/** Compute the shift in the current QR iteration. */
-template<typename MatrixType>
-typename ComplexSchur<MatrixType>::ComplexScalar ComplexSchur<MatrixType>::computeShift(Index iu, Index iter)
-{
-  using std::abs;
-  if (iter == 10 || iter == 20) 
-  {
-    // exceptional shift, taken from http://www.netlib.org/eispack/comqr.f
-    return abs(numext::real(m_matT.coeff(iu,iu-1))) + abs(numext::real(m_matT.coeff(iu-1,iu-2)));
-  }
-
-  // compute the shift as one of the eigenvalues of t, the 2x2
-  // diagonal block on the bottom of the active submatrix
-  Matrix<ComplexScalar,2,2> t = m_matT.template block<2,2>(iu-1,iu-1);
-  RealScalar normt = t.cwiseAbs().sum();
-  t /= normt;     // the normalization by sf is to avoid under/overflow
-
-  ComplexScalar b = t.coeff(0,1) * t.coeff(1,0);
-  ComplexScalar c = t.coeff(0,0) - t.coeff(1,1);
-  ComplexScalar disc = sqrt(c*c + RealScalar(4)*b);
-  ComplexScalar det = t.coeff(0,0) * t.coeff(1,1) - b;
-  ComplexScalar trace = t.coeff(0,0) + t.coeff(1,1);
-  ComplexScalar eival1 = (trace + disc) / RealScalar(2);
-  ComplexScalar eival2 = (trace - disc) / RealScalar(2);
-
-  if(numext::norm1(eival1) > numext::norm1(eival2))
-    eival2 = det / eival1;
-  else
-    eival1 = det / eival2;
-
-  // choose the eigenvalue closest to the bottom entry of the diagonal
-  if(numext::norm1(eival1-t.coeff(1,1)) < numext::norm1(eival2-t.coeff(1,1)))
-    return normt * eival1;
-  else
-    return normt * eival2;
-}
-
-
-template<typename MatrixType>
-ComplexSchur<MatrixType>& ComplexSchur<MatrixType>::compute(const MatrixType& matrix, bool computeU)
-{
-  m_matUisUptodate = false;
-  eigen_assert(matrix.cols() == matrix.rows());
-
-  if(matrix.cols() == 1)
-  {
-    m_matT = matrix.template cast<ComplexScalar>();
-    if(computeU)  m_matU = ComplexMatrixType::Identity(1,1);
-    m_info = Success;
-    m_isInitialized = true;
-    m_matUisUptodate = computeU;
-    return *this;
-  }
-
-  internal::complex_schur_reduce_to_hessenberg<MatrixType, NumTraits<Scalar>::IsComplex>::run(*this, matrix, computeU);
-  computeFromHessenberg(m_matT, m_matU, computeU);
-  return *this;
-}
-
-template<typename MatrixType>
-template<typename HessMatrixType, typename OrthMatrixType>
-ComplexSchur<MatrixType>& ComplexSchur<MatrixType>::computeFromHessenberg(const HessMatrixType& matrixH, const OrthMatrixType& matrixQ, bool computeU)
-{
-  m_matT = matrixH;
-  if(computeU)
-    m_matU = matrixQ;
-  reduceToTriangularForm(computeU);
-  return *this;
-}
-namespace internal {
-
-/* Reduce given matrix to Hessenberg form */
-template<typename MatrixType, bool IsComplex>
-struct complex_schur_reduce_to_hessenberg
-{
-  // this is the implementation for the case IsComplex = true
-  static void run(ComplexSchur<MatrixType>& _this, const MatrixType& matrix, bool computeU)
-  {
-    _this.m_hess.compute(matrix);
-    _this.m_matT = _this.m_hess.matrixH();
-    if(computeU)  _this.m_matU = _this.m_hess.matrixQ();
-  }
-};
-
-template<typename MatrixType>
-struct complex_schur_reduce_to_hessenberg<MatrixType, false>
-{
-  static void run(ComplexSchur<MatrixType>& _this, const MatrixType& matrix, bool computeU)
-  {
-    typedef typename ComplexSchur<MatrixType>::ComplexScalar ComplexScalar;
-
-    // Note: m_hess is over RealScalar; m_matT and m_matU is over ComplexScalar
-    _this.m_hess.compute(matrix);
-    _this.m_matT = _this.m_hess.matrixH().template cast<ComplexScalar>();
-    if(computeU)  
-    {
-      // This may cause an allocation which seems to be avoidable
-      MatrixType Q = _this.m_hess.matrixQ(); 
-      _this.m_matU = Q.template cast<ComplexScalar>();
-    }
-  }
-};
-
-} // end namespace internal
-
-// Reduce the Hessenberg matrix m_matT to triangular form by QR iteration.
-template<typename MatrixType>
-void ComplexSchur<MatrixType>::reduceToTriangularForm(bool computeU)
-{  
-  Index maxIters = m_maxIters;
-  if (maxIters == -1)
-    maxIters = m_maxIterationsPerRow * m_matT.rows();
-
-  // The matrix m_matT is divided in three parts. 
-  // Rows 0,...,il-1 are decoupled from the rest because m_matT(il,il-1) is zero. 
-  // Rows il,...,iu is the part we are working on (the active submatrix).
-  // Rows iu+1,...,end are already brought in triangular form.
-  Index iu = m_matT.cols() - 1;
-  Index il;
-  Index iter = 0; // number of iterations we are working on the (iu,iu) element
-  Index totalIter = 0; // number of iterations for whole matrix
-
-  while(true)
-  {
-    // find iu, the bottom row of the active submatrix
-    while(iu > 0)
-    {
-      if(!subdiagonalEntryIsNeglegible(iu-1)) break;
-      iter = 0;
-      --iu;
-    }
-
-    // if iu is zero then we are done; the whole matrix is triangularized
-    if(iu==0) break;
-
-    // if we spent too many iterations, we give up
-    iter++;
-    totalIter++;
-    if(totalIter > maxIters) break;
-
-    // find il, the top row of the active submatrix
-    il = iu-1;
-    while(il > 0 && !subdiagonalEntryIsNeglegible(il-1))
-    {
-      --il;
-    }
-
-    /* perform the QR step using Givens rotations. The first rotation
-       creates a bulge; the (il+2,il) element becomes nonzero. This
-       bulge is chased down to the bottom of the active submatrix. */
-
-    ComplexScalar shift = computeShift(iu, iter);
-    JacobiRotation<ComplexScalar> rot;
-    rot.makeGivens(m_matT.coeff(il,il) - shift, m_matT.coeff(il+1,il));
-    m_matT.rightCols(m_matT.cols()-il).applyOnTheLeft(il, il+1, rot.adjoint());
-    m_matT.topRows((std::min)(il+2,iu)+1).applyOnTheRight(il, il+1, rot);
-    if(computeU) m_matU.applyOnTheRight(il, il+1, rot);
-
-    for(Index i=il+1 ; i<iu ; i++)
-    {
-      rot.makeGivens(m_matT.coeffRef(i,i-1), m_matT.coeffRef(i+1,i-1), &m_matT.coeffRef(i,i-1));
-      m_matT.coeffRef(i+1,i-1) = ComplexScalar(0);
-      m_matT.rightCols(m_matT.cols()-i).applyOnTheLeft(i, i+1, rot.adjoint());
-      m_matT.topRows((std::min)(i+2,iu)+1).applyOnTheRight(i, i+1, rot);
-      if(computeU) m_matU.applyOnTheRight(i, i+1, rot);
-    }
-  }
-
-  if(totalIter <= maxIters)
-    m_info = Success;
-  else
-    m_info = NoConvergence;
-
-  m_isInitialized = true;
-  m_matUisUptodate = computeU;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_COMPLEX_SCHUR_H
diff --git a/lib/Eigen/src/Eigenvalues/ComplexSchur_MKL.h b/lib/Eigen/src/Eigenvalues/ComplexSchur_MKL.h
deleted file mode 100644
index 27aed923..00000000
--- a/lib/Eigen/src/Eigenvalues/ComplexSchur_MKL.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *    Complex Schur needed to complex unsymmetrical eigenvalues/eigenvectors.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_COMPLEX_SCHUR_MKL_H
-#define EIGEN_COMPLEX_SCHUR_MKL_H
-
-#include "Eigen/src/Core/util/MKL_support.h"
-
-namespace Eigen { 
-
-/** \internal Specialization for the data types supported by MKL */
-
-#define EIGEN_MKL_SCHUR_COMPLEX(EIGTYPE, MKLTYPE, MKLPREFIX, MKLPREFIX_U, EIGCOLROW, MKLCOLROW) \
-template<> inline \
-ComplexSchur<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW> >& \
-ComplexSchur<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW> >::compute(const Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW>& matrix, bool computeU) \
-{ \
-  typedef Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW> MatrixType; \
-  typedef MatrixType::RealScalar RealScalar; \
-  typedef std::complex<RealScalar> ComplexScalar; \
-\
-  eigen_assert(matrix.cols() == matrix.rows()); \
-\
-  m_matUisUptodate = false; \
-  if(matrix.cols() == 1) \
-  { \
-    m_matT = matrix.cast<ComplexScalar>(); \
-    if(computeU)  m_matU = ComplexMatrixType::Identity(1,1); \
-      m_info = Success; \
-      m_isInitialized = true; \
-      m_matUisUptodate = computeU; \
-      return *this; \
-  } \
-  lapack_int n = matrix.cols(), sdim, info; \
-  lapack_int lda = matrix.outerStride(); \
-  lapack_int matrix_order = MKLCOLROW; \
-  char jobvs, sort='N'; \
-  LAPACK_##MKLPREFIX_U##_SELECT1 select = 0; \
-  jobvs = (computeU) ? 'V' : 'N'; \
-  m_matU.resize(n, n); \
-  lapack_int ldvs  = m_matU.outerStride(); \
-  m_matT = matrix; \
-  Matrix<EIGTYPE, Dynamic, Dynamic> w; \
-  w.resize(n, 1);\
-  info = LAPACKE_##MKLPREFIX##gees( matrix_order, jobvs, sort, select, n, (MKLTYPE*)m_matT.data(), lda, &sdim, (MKLTYPE*)w.data(), (MKLTYPE*)m_matU.data(), ldvs ); \
-  if(info == 0) \
-    m_info = Success; \
-  else \
-    m_info = NoConvergence; \
-\
-  m_isInitialized = true; \
-  m_matUisUptodate = computeU; \
-  return *this; \
-\
-}
-
-EIGEN_MKL_SCHUR_COMPLEX(dcomplex, MKL_Complex16, z, Z, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_SCHUR_COMPLEX(scomplex, MKL_Complex8,  c, C, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_SCHUR_COMPLEX(dcomplex, MKL_Complex16, z, Z, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_SCHUR_COMPLEX(scomplex, MKL_Complex8,  c, C, RowMajor, LAPACK_ROW_MAJOR)
-
-} // end namespace Eigen
-
-#endif // EIGEN_COMPLEX_SCHUR_MKL_H
diff --git a/lib/Eigen/src/Eigenvalues/EigenSolver.h b/lib/Eigen/src/Eigenvalues/EigenSolver.h
deleted file mode 100644
index 20c59a7a..00000000
--- a/lib/Eigen/src/Eigenvalues/EigenSolver.h
+++ /dev/null
@@ -1,607 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010,2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_EIGENSOLVER_H
-#define EIGEN_EIGENSOLVER_H
-
-#include "./RealSchur.h"
-
-namespace Eigen { 
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \class EigenSolver
-  *
-  * \brief Computes eigenvalues and eigenvectors of general matrices
-  *
-  * \tparam _MatrixType the type of the matrix of which we are computing the
-  * eigendecomposition; this is expected to be an instantiation of the Matrix
-  * class template. Currently, only real matrices are supported.
-  *
-  * The eigenvalues and eigenvectors of a matrix \f$ A \f$ are scalars
-  * \f$ \lambda \f$ and vectors \f$ v \f$ such that \f$ Av = \lambda v \f$.  If
-  * \f$ D \f$ is a diagonal matrix with the eigenvalues on the diagonal, and
-  * \f$ V \f$ is a matrix with the eigenvectors as its columns, then \f$ A V =
-  * V D \f$. The matrix \f$ V \f$ is almost always invertible, in which case we
-  * have \f$ A = V D V^{-1} \f$. This is called the eigendecomposition.
-  *
-  * The eigenvalues and eigenvectors of a matrix may be complex, even when the
-  * matrix is real. However, we can choose real matrices \f$ V \f$ and \f$ D
-  * \f$ satisfying \f$ A V = V D \f$, just like the eigendecomposition, if the
-  * matrix \f$ D \f$ is not required to be diagonal, but if it is allowed to
-  * have blocks of the form
-  * \f[ \begin{bmatrix} u & v \\ -v & u \end{bmatrix} \f]
-  * (where \f$ u \f$ and \f$ v \f$ are real numbers) on the diagonal.  These
-  * blocks correspond to complex eigenvalue pairs \f$ u \pm iv \f$. We call
-  * this variant of the eigendecomposition the pseudo-eigendecomposition.
-  *
-  * Call the function compute() to compute the eigenvalues and eigenvectors of
-  * a given matrix. Alternatively, you can use the 
-  * EigenSolver(const MatrixType&, bool) constructor which computes the
-  * eigenvalues and eigenvectors at construction time. Once the eigenvalue and
-  * eigenvectors are computed, they can be retrieved with the eigenvalues() and
-  * eigenvectors() functions. The pseudoEigenvalueMatrix() and
-  * pseudoEigenvectors() methods allow the construction of the
-  * pseudo-eigendecomposition.
-  *
-  * The documentation for EigenSolver(const MatrixType&, bool) contains an
-  * example of the typical use of this class.
-  *
-  * \note The implementation is adapted from
-  * <a href="http://math.nist.gov/javanumerics/jama/">JAMA</a> (public domain).
-  * Their code is based on EISPACK.
-  *
-  * \sa MatrixBase::eigenvalues(), class ComplexEigenSolver, class SelfAdjointEigenSolver
-  */
-template<typename _MatrixType> class EigenSolver
-{
-  public:
-
-    /** \brief Synonym for the template parameter \p _MatrixType. */
-    typedef _MatrixType MatrixType;
-
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-
-    /** \brief Scalar type for matrices of type #MatrixType. */
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    typedef typename MatrixType::Index Index;
-
-    /** \brief Complex scalar type for #MatrixType. 
-      *
-      * This is \c std::complex<Scalar> if #Scalar is real (e.g.,
-      * \c float or \c double) and just \c Scalar if #Scalar is
-      * complex.
-      */
-    typedef std::complex<RealScalar> ComplexScalar;
-
-    /** \brief Type for vector of eigenvalues as returned by eigenvalues(). 
-      *
-      * This is a column vector with entries of type #ComplexScalar.
-      * The length of the vector is the size of #MatrixType.
-      */
-    typedef Matrix<ComplexScalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> EigenvalueType;
-
-    /** \brief Type for matrix of eigenvectors as returned by eigenvectors(). 
-      *
-      * This is a square matrix with entries of type #ComplexScalar. 
-      * The size is the same as the size of #MatrixType.
-      */
-    typedef Matrix<ComplexScalar, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime> EigenvectorsType;
-
-    /** \brief Default constructor.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via EigenSolver::compute(const MatrixType&, bool).
-      *
-      * \sa compute() for an example.
-      */
- EigenSolver() : m_eivec(), m_eivalues(), m_isInitialized(false), m_realSchur(), m_matT(), m_tmp() {}
-
-    /** \brief Default constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa EigenSolver()
-      */
-    EigenSolver(Index size)
-      : m_eivec(size, size),
-        m_eivalues(size),
-        m_isInitialized(false),
-        m_eigenvectorsOk(false),
-        m_realSchur(size),
-        m_matT(size, size), 
-        m_tmp(size)
-    {}
-
-    /** \brief Constructor; computes eigendecomposition of given matrix. 
-      * 
-      * \param[in]  matrix  Square matrix whose eigendecomposition is to be computed.
-      * \param[in]  computeEigenvectors  If true, both the eigenvectors and the
-      *    eigenvalues are computed; if false, only the eigenvalues are
-      *    computed. 
-      *
-      * This constructor calls compute() to compute the eigenvalues
-      * and eigenvectors.
-      *
-      * Example: \include EigenSolver_EigenSolver_MatrixType.cpp
-      * Output: \verbinclude EigenSolver_EigenSolver_MatrixType.out
-      *
-      * \sa compute()
-      */
-    EigenSolver(const MatrixType& matrix, bool computeEigenvectors = true)
-      : m_eivec(matrix.rows(), matrix.cols()),
-        m_eivalues(matrix.cols()),
-        m_isInitialized(false),
-        m_eigenvectorsOk(false),
-        m_realSchur(matrix.cols()),
-        m_matT(matrix.rows(), matrix.cols()), 
-        m_tmp(matrix.cols())
-    {
-      compute(matrix, computeEigenvectors);
-    }
-
-    /** \brief Returns the eigenvectors of given matrix. 
-      *
-      * \returns  %Matrix whose columns are the (possibly complex) eigenvectors.
-      *
-      * \pre Either the constructor 
-      * EigenSolver(const MatrixType&,bool) or the member function
-      * compute(const MatrixType&, bool) has been called before, and
-      * \p computeEigenvectors was set to true (the default).
-      *
-      * Column \f$ k \f$ of the returned matrix is an eigenvector corresponding
-      * to eigenvalue number \f$ k \f$ as returned by eigenvalues().  The
-      * eigenvectors are normalized to have (Euclidean) norm equal to one. The
-      * matrix returned by this function is the matrix \f$ V \f$ in the
-      * eigendecomposition \f$ A = V D V^{-1} \f$, if it exists.
-      *
-      * Example: \include EigenSolver_eigenvectors.cpp
-      * Output: \verbinclude EigenSolver_eigenvectors.out
-      *
-      * \sa eigenvalues(), pseudoEigenvectors()
-      */
-    EigenvectorsType eigenvectors() const;
-
-    /** \brief Returns the pseudo-eigenvectors of given matrix. 
-      *
-      * \returns  Const reference to matrix whose columns are the pseudo-eigenvectors.
-      *
-      * \pre Either the constructor 
-      * EigenSolver(const MatrixType&,bool) or the member function
-      * compute(const MatrixType&, bool) has been called before, and
-      * \p computeEigenvectors was set to true (the default).
-      *
-      * The real matrix \f$ V \f$ returned by this function and the
-      * block-diagonal matrix \f$ D \f$ returned by pseudoEigenvalueMatrix()
-      * satisfy \f$ AV = VD \f$.
-      *
-      * Example: \include EigenSolver_pseudoEigenvectors.cpp
-      * Output: \verbinclude EigenSolver_pseudoEigenvectors.out
-      *
-      * \sa pseudoEigenvalueMatrix(), eigenvectors()
-      */
-    const MatrixType& pseudoEigenvectors() const
-    {
-      eigen_assert(m_isInitialized && "EigenSolver is not initialized.");
-      eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
-      return m_eivec;
-    }
-
-    /** \brief Returns the block-diagonal matrix in the pseudo-eigendecomposition.
-      *
-      * \returns  A block-diagonal matrix.
-      *
-      * \pre Either the constructor 
-      * EigenSolver(const MatrixType&,bool) or the member function
-      * compute(const MatrixType&, bool) has been called before.
-      *
-      * The matrix \f$ D \f$ returned by this function is real and
-      * block-diagonal. The blocks on the diagonal are either 1-by-1 or 2-by-2
-      * blocks of the form
-      * \f$ \begin{bmatrix} u & v \\ -v & u \end{bmatrix} \f$.
-      * These blocks are not sorted in any particular order.
-      * The matrix \f$ D \f$ and the matrix \f$ V \f$ returned by
-      * pseudoEigenvectors() satisfy \f$ AV = VD \f$.
-      *
-      * \sa pseudoEigenvectors() for an example, eigenvalues()
-      */
-    MatrixType pseudoEigenvalueMatrix() const;
-
-    /** \brief Returns the eigenvalues of given matrix. 
-      *
-      * \returns A const reference to the column vector containing the eigenvalues.
-      *
-      * \pre Either the constructor 
-      * EigenSolver(const MatrixType&,bool) or the member function
-      * compute(const MatrixType&, bool) has been called before.
-      *
-      * The eigenvalues are repeated according to their algebraic multiplicity,
-      * so there are as many eigenvalues as rows in the matrix. The eigenvalues 
-      * are not sorted in any particular order.
-      *
-      * Example: \include EigenSolver_eigenvalues.cpp
-      * Output: \verbinclude EigenSolver_eigenvalues.out
-      *
-      * \sa eigenvectors(), pseudoEigenvalueMatrix(),
-      *     MatrixBase::eigenvalues()
-      */
-    const EigenvalueType& eigenvalues() const
-    {
-      eigen_assert(m_isInitialized && "EigenSolver is not initialized.");
-      return m_eivalues;
-    }
-
-    /** \brief Computes eigendecomposition of given matrix. 
-      * 
-      * \param[in]  matrix  Square matrix whose eigendecomposition is to be computed.
-      * \param[in]  computeEigenvectors  If true, both the eigenvectors and the
-      *    eigenvalues are computed; if false, only the eigenvalues are
-      *    computed. 
-      * \returns    Reference to \c *this
-      *
-      * This function computes the eigenvalues of the real matrix \p matrix.
-      * The eigenvalues() function can be used to retrieve them.  If 
-      * \p computeEigenvectors is true, then the eigenvectors are also computed
-      * and can be retrieved by calling eigenvectors().
-      *
-      * The matrix is first reduced to real Schur form using the RealSchur
-      * class. The Schur decomposition is then used to compute the eigenvalues
-      * and eigenvectors.
-      *
-      * The cost of the computation is dominated by the cost of the
-      * Schur decomposition, which is very approximately \f$ 25n^3 \f$
-      * (where \f$ n \f$ is the size of the matrix) if \p computeEigenvectors 
-      * is true, and \f$ 10n^3 \f$ if \p computeEigenvectors is false.
-      *
-      * This method reuses of the allocated data in the EigenSolver object.
-      *
-      * Example: \include EigenSolver_compute.cpp
-      * Output: \verbinclude EigenSolver_compute.out
-      */
-    EigenSolver& compute(const MatrixType& matrix, bool computeEigenvectors = true);
-
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "EigenSolver is not initialized.");
-      return m_realSchur.info();
-    }
-
-    /** \brief Sets the maximum number of iterations allowed. */
-    EigenSolver& setMaxIterations(Index maxIters)
-    {
-      m_realSchur.setMaxIterations(maxIters);
-      return *this;
-    }
-
-    /** \brief Returns the maximum number of iterations. */
-    Index getMaxIterations()
-    {
-      return m_realSchur.getMaxIterations();
-    }
-
-  private:
-    void doComputeEigenvectors();
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-      EIGEN_STATIC_ASSERT(!NumTraits<Scalar>::IsComplex, NUMERIC_TYPE_MUST_BE_REAL);
-    }
-    
-    MatrixType m_eivec;
-    EigenvalueType m_eivalues;
-    bool m_isInitialized;
-    bool m_eigenvectorsOk;
-    RealSchur<MatrixType> m_realSchur;
-    MatrixType m_matT;
-
-    typedef Matrix<Scalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> ColumnVectorType;
-    ColumnVectorType m_tmp;
-};
-
-template<typename MatrixType>
-MatrixType EigenSolver<MatrixType>::pseudoEigenvalueMatrix() const
-{
-  eigen_assert(m_isInitialized && "EigenSolver is not initialized.");
-  Index n = m_eivalues.rows();
-  MatrixType matD = MatrixType::Zero(n,n);
-  for (Index i=0; i<n; ++i)
-  {
-    if (internal::isMuchSmallerThan(numext::imag(m_eivalues.coeff(i)), numext::real(m_eivalues.coeff(i))))
-      matD.coeffRef(i,i) = numext::real(m_eivalues.coeff(i));
-    else
-    {
-      matD.template block<2,2>(i,i) <<  numext::real(m_eivalues.coeff(i)), numext::imag(m_eivalues.coeff(i)),
-                                       -numext::imag(m_eivalues.coeff(i)), numext::real(m_eivalues.coeff(i));
-      ++i;
-    }
-  }
-  return matD;
-}
-
-template<typename MatrixType>
-typename EigenSolver<MatrixType>::EigenvectorsType EigenSolver<MatrixType>::eigenvectors() const
-{
-  eigen_assert(m_isInitialized && "EigenSolver is not initialized.");
-  eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
-  Index n = m_eivec.cols();
-  EigenvectorsType matV(n,n);
-  for (Index j=0; j<n; ++j)
-  {
-    if (internal::isMuchSmallerThan(numext::imag(m_eivalues.coeff(j)), numext::real(m_eivalues.coeff(j))) || j+1==n)
-    {
-      // we have a real eigen value
-      matV.col(j) = m_eivec.col(j).template cast<ComplexScalar>();
-      matV.col(j).normalize();
-    }
-    else
-    {
-      // we have a pair of complex eigen values
-      for (Index i=0; i<n; ++i)
-      {
-        matV.coeffRef(i,j)   = ComplexScalar(m_eivec.coeff(i,j),  m_eivec.coeff(i,j+1));
-        matV.coeffRef(i,j+1) = ComplexScalar(m_eivec.coeff(i,j), -m_eivec.coeff(i,j+1));
-      }
-      matV.col(j).normalize();
-      matV.col(j+1).normalize();
-      ++j;
-    }
-  }
-  return matV;
-}
-
-template<typename MatrixType>
-EigenSolver<MatrixType>& 
-EigenSolver<MatrixType>::compute(const MatrixType& matrix, bool computeEigenvectors)
-{
-  check_template_parameters();
-  
-  using std::sqrt;
-  using std::abs;
-  eigen_assert(matrix.cols() == matrix.rows());
-
-  // Reduce to real Schur form.
-  m_realSchur.compute(matrix, computeEigenvectors);
-
-  if (m_realSchur.info() == Success)
-  {
-    m_matT = m_realSchur.matrixT();
-    if (computeEigenvectors)
-      m_eivec = m_realSchur.matrixU();
-  
-    // Compute eigenvalues from matT
-    m_eivalues.resize(matrix.cols());
-    Index i = 0;
-    while (i < matrix.cols()) 
-    {
-      if (i == matrix.cols() - 1 || m_matT.coeff(i+1, i) == Scalar(0)) 
-      {
-        m_eivalues.coeffRef(i) = m_matT.coeff(i, i);
-        ++i;
-      }
-      else
-      {
-        Scalar p = Scalar(0.5) * (m_matT.coeff(i, i) - m_matT.coeff(i+1, i+1));
-        Scalar z = sqrt(abs(p * p + m_matT.coeff(i+1, i) * m_matT.coeff(i, i+1)));
-        m_eivalues.coeffRef(i)   = ComplexScalar(m_matT.coeff(i+1, i+1) + p, z);
-        m_eivalues.coeffRef(i+1) = ComplexScalar(m_matT.coeff(i+1, i+1) + p, -z);
-        i += 2;
-      }
-    }
-    
-    // Compute eigenvectors.
-    if (computeEigenvectors)
-      doComputeEigenvectors();
-  }
-
-  m_isInitialized = true;
-  m_eigenvectorsOk = computeEigenvectors;
-
-  return *this;
-}
-
-// Complex scalar division.
-template<typename Scalar>
-std::complex<Scalar> cdiv(const Scalar& xr, const Scalar& xi, const Scalar& yr, const Scalar& yi)
-{
-  using std::abs;
-  Scalar r,d;
-  if (abs(yr) > abs(yi))
-  {
-      r = yi/yr;
-      d = yr + r*yi;
-      return std::complex<Scalar>((xr + r*xi)/d, (xi - r*xr)/d);
-  }
-  else
-  {
-      r = yr/yi;
-      d = yi + r*yr;
-      return std::complex<Scalar>((r*xr + xi)/d, (r*xi - xr)/d);
-  }
-}
-
-
-template<typename MatrixType>
-void EigenSolver<MatrixType>::doComputeEigenvectors()
-{
-  using std::abs;
-  const Index size = m_eivec.cols();
-  const Scalar eps = NumTraits<Scalar>::epsilon();
-
-  // inefficient! this is already computed in RealSchur
-  Scalar norm(0);
-  for (Index j = 0; j < size; ++j)
-  {
-    norm += m_matT.row(j).segment((std::max)(j-1,Index(0)), size-(std::max)(j-1,Index(0))).cwiseAbs().sum();
-  }
-  
-  // Backsubstitute to find vectors of upper triangular form
-  if (norm == 0.0)
-  {
-    return;
-  }
-
-  for (Index n = size-1; n >= 0; n--)
-  {
-    Scalar p = m_eivalues.coeff(n).real();
-    Scalar q = m_eivalues.coeff(n).imag();
-
-    // Scalar vector
-    if (q == Scalar(0))
-    {
-      Scalar lastr(0), lastw(0);
-      Index l = n;
-
-      m_matT.coeffRef(n,n) = 1.0;
-      for (Index i = n-1; i >= 0; i--)
-      {
-        Scalar w = m_matT.coeff(i,i) - p;
-        Scalar r = m_matT.row(i).segment(l,n-l+1).dot(m_matT.col(n).segment(l, n-l+1));
-
-        if (m_eivalues.coeff(i).imag() < 0.0)
-        {
-          lastw = w;
-          lastr = r;
-        }
-        else
-        {
-          l = i;
-          if (m_eivalues.coeff(i).imag() == 0.0)
-          {
-            if (w != 0.0)
-              m_matT.coeffRef(i,n) = -r / w;
-            else
-              m_matT.coeffRef(i,n) = -r / (eps * norm);
-          }
-          else // Solve real equations
-          {
-            Scalar x = m_matT.coeff(i,i+1);
-            Scalar y = m_matT.coeff(i+1,i);
-            Scalar denom = (m_eivalues.coeff(i).real() - p) * (m_eivalues.coeff(i).real() - p) + m_eivalues.coeff(i).imag() * m_eivalues.coeff(i).imag();
-            Scalar t = (x * lastr - lastw * r) / denom;
-            m_matT.coeffRef(i,n) = t;
-            if (abs(x) > abs(lastw))
-              m_matT.coeffRef(i+1,n) = (-r - w * t) / x;
-            else
-              m_matT.coeffRef(i+1,n) = (-lastr - y * t) / lastw;
-          }
-
-          // Overflow control
-          Scalar t = abs(m_matT.coeff(i,n));
-          if ((eps * t) * t > Scalar(1))
-            m_matT.col(n).tail(size-i) /= t;
-        }
-      }
-    }
-    else if (q < Scalar(0) && n > 0) // Complex vector
-    {
-      Scalar lastra(0), lastsa(0), lastw(0);
-      Index l = n-1;
-
-      // Last vector component imaginary so matrix is triangular
-      if (abs(m_matT.coeff(n,n-1)) > abs(m_matT.coeff(n-1,n)))
-      {
-        m_matT.coeffRef(n-1,n-1) = q / m_matT.coeff(n,n-1);
-        m_matT.coeffRef(n-1,n) = -(m_matT.coeff(n,n) - p) / m_matT.coeff(n,n-1);
-      }
-      else
-      {
-        std::complex<Scalar> cc = cdiv<Scalar>(0.0,-m_matT.coeff(n-1,n),m_matT.coeff(n-1,n-1)-p,q);
-        m_matT.coeffRef(n-1,n-1) = numext::real(cc);
-        m_matT.coeffRef(n-1,n) = numext::imag(cc);
-      }
-      m_matT.coeffRef(n,n-1) = 0.0;
-      m_matT.coeffRef(n,n) = 1.0;
-      for (Index i = n-2; i >= 0; i--)
-      {
-        Scalar ra = m_matT.row(i).segment(l, n-l+1).dot(m_matT.col(n-1).segment(l, n-l+1));
-        Scalar sa = m_matT.row(i).segment(l, n-l+1).dot(m_matT.col(n).segment(l, n-l+1));
-        Scalar w = m_matT.coeff(i,i) - p;
-
-        if (m_eivalues.coeff(i).imag() < 0.0)
-        {
-          lastw = w;
-          lastra = ra;
-          lastsa = sa;
-        }
-        else
-        {
-          l = i;
-          if (m_eivalues.coeff(i).imag() == RealScalar(0))
-          {
-            std::complex<Scalar> cc = cdiv(-ra,-sa,w,q);
-            m_matT.coeffRef(i,n-1) = numext::real(cc);
-            m_matT.coeffRef(i,n) = numext::imag(cc);
-          }
-          else
-          {
-            // Solve complex equations
-            Scalar x = m_matT.coeff(i,i+1);
-            Scalar y = m_matT.coeff(i+1,i);
-            Scalar vr = (m_eivalues.coeff(i).real() - p) * (m_eivalues.coeff(i).real() - p) + m_eivalues.coeff(i).imag() * m_eivalues.coeff(i).imag() - q * q;
-            Scalar vi = (m_eivalues.coeff(i).real() - p) * Scalar(2) * q;
-            if ((vr == 0.0) && (vi == 0.0))
-              vr = eps * norm * (abs(w) + abs(q) + abs(x) + abs(y) + abs(lastw));
-
-            std::complex<Scalar> cc = cdiv(x*lastra-lastw*ra+q*sa,x*lastsa-lastw*sa-q*ra,vr,vi);
-            m_matT.coeffRef(i,n-1) = numext::real(cc);
-            m_matT.coeffRef(i,n) = numext::imag(cc);
-            if (abs(x) > (abs(lastw) + abs(q)))
-            {
-              m_matT.coeffRef(i+1,n-1) = (-ra - w * m_matT.coeff(i,n-1) + q * m_matT.coeff(i,n)) / x;
-              m_matT.coeffRef(i+1,n) = (-sa - w * m_matT.coeff(i,n) - q * m_matT.coeff(i,n-1)) / x;
-            }
-            else
-            {
-              cc = cdiv(-lastra-y*m_matT.coeff(i,n-1),-lastsa-y*m_matT.coeff(i,n),lastw,q);
-              m_matT.coeffRef(i+1,n-1) = numext::real(cc);
-              m_matT.coeffRef(i+1,n) = numext::imag(cc);
-            }
-          }
-
-          // Overflow control
-          using std::max;
-          Scalar t = (max)(abs(m_matT.coeff(i,n-1)),abs(m_matT.coeff(i,n)));
-          if ((eps * t) * t > Scalar(1))
-            m_matT.block(i, n-1, size-i, 2) /= t;
-
-        }
-      }
-      
-      // We handled a pair of complex conjugate eigenvalues, so need to skip them both
-      n--;
-    }
-    else
-    {
-      eigen_assert(0 && "Internal bug in EigenSolver"); // this should not happen
-    }
-  }
-
-  // Back transformation to get eigenvectors of original matrix
-  for (Index j = size-1; j >= 0; j--)
-  {
-    m_tmp.noalias() = m_eivec.leftCols(j+1) * m_matT.col(j).segment(0, j+1);
-    m_eivec.col(j) = m_tmp;
-  }
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_EIGENSOLVER_H
diff --git a/lib/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h b/lib/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
deleted file mode 100644
index 956e80d9..00000000
--- a/lib/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
+++ /dev/null
@@ -1,350 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010,2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GENERALIZEDEIGENSOLVER_H
-#define EIGEN_GENERALIZEDEIGENSOLVER_H
-
-#include "./RealQZ.h"
-
-namespace Eigen { 
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \class GeneralizedEigenSolver
-  *
-  * \brief Computes the generalized eigenvalues and eigenvectors of a pair of general matrices
-  *
-  * \tparam _MatrixType the type of the matrices of which we are computing the
-  * eigen-decomposition; this is expected to be an instantiation of the Matrix
-  * class template. Currently, only real matrices are supported.
-  *
-  * The generalized eigenvalues and eigenvectors of a matrix pair \f$ A \f$ and \f$ B \f$ are scalars
-  * \f$ \lambda \f$ and vectors \f$ v \f$ such that \f$ Av = \lambda Bv \f$.  If
-  * \f$ D \f$ is a diagonal matrix with the eigenvalues on the diagonal, and
-  * \f$ V \f$ is a matrix with the eigenvectors as its columns, then \f$ A V =
-  * B V D \f$. The matrix \f$ V \f$ is almost always invertible, in which case we
-  * have \f$ A = B V D V^{-1} \f$. This is called the generalized eigen-decomposition.
-  *
-  * The generalized eigenvalues and eigenvectors of a matrix pair may be complex, even when the
-  * matrices are real. Moreover, the generalized eigenvalue might be infinite if the matrix B is
-  * singular. To workaround this difficulty, the eigenvalues are provided as a pair of complex \f$ \alpha \f$
-  * and real \f$ \beta \f$ such that: \f$ \lambda_i = \alpha_i / \beta_i \f$. If \f$ \beta_i \f$ is (nearly) zero,
-  * then one can consider the well defined left eigenvalue \f$ \mu = \beta_i / \alpha_i\f$ such that:
-  * \f$ \mu_i A v_i = B v_i \f$, or even \f$ \mu_i u_i^T A  = u_i^T B \f$ where \f$ u_i \f$ is
-  * called the left eigenvector.
-  *
-  * Call the function compute() to compute the generalized eigenvalues and eigenvectors of
-  * a given matrix pair. Alternatively, you can use the
-  * GeneralizedEigenSolver(const MatrixType&, const MatrixType&, bool) constructor which computes the
-  * eigenvalues and eigenvectors at construction time. Once the eigenvalue and
-  * eigenvectors are computed, they can be retrieved with the eigenvalues() and
-  * eigenvectors() functions.
-  *
-  * Here is an usage example of this class:
-  * Example: \include GeneralizedEigenSolver.cpp
-  * Output: \verbinclude GeneralizedEigenSolver.out
-  *
-  * \sa MatrixBase::eigenvalues(), class ComplexEigenSolver, class SelfAdjointEigenSolver
-  */
-template<typename _MatrixType> class GeneralizedEigenSolver
-{
-  public:
-
-    /** \brief Synonym for the template parameter \p _MatrixType. */
-    typedef _MatrixType MatrixType;
-
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-
-    /** \brief Scalar type for matrices of type #MatrixType. */
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    typedef typename MatrixType::Index Index;
-
-    /** \brief Complex scalar type for #MatrixType. 
-      *
-      * This is \c std::complex<Scalar> if #Scalar is real (e.g.,
-      * \c float or \c double) and just \c Scalar if #Scalar is
-      * complex.
-      */
-    typedef std::complex<RealScalar> ComplexScalar;
-
-    /** \brief Type for vector of real scalar values eigenvalues as returned by betas().
-      *
-      * This is a column vector with entries of type #Scalar.
-      * The length of the vector is the size of #MatrixType.
-      */
-    typedef Matrix<Scalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> VectorType;
-
-    /** \brief Type for vector of complex scalar values eigenvalues as returned by betas().
-      *
-      * This is a column vector with entries of type #ComplexScalar.
-      * The length of the vector is the size of #MatrixType.
-      */
-    typedef Matrix<ComplexScalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> ComplexVectorType;
-
-    /** \brief Expression type for the eigenvalues as returned by eigenvalues().
-      */
-    typedef CwiseBinaryOp<internal::scalar_quotient_op<ComplexScalar,Scalar>,ComplexVectorType,VectorType> EigenvalueType;
-
-    /** \brief Type for matrix of eigenvectors as returned by eigenvectors(). 
-      *
-      * This is a square matrix with entries of type #ComplexScalar. 
-      * The size is the same as the size of #MatrixType.
-      */
-    typedef Matrix<ComplexScalar, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime> EigenvectorsType;
-
-    /** \brief Default constructor.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via EigenSolver::compute(const MatrixType&, bool).
-      *
-      * \sa compute() for an example.
-      */
-    GeneralizedEigenSolver() : m_eivec(), m_alphas(), m_betas(), m_isInitialized(false), m_realQZ(), m_matS(), m_tmp() {}
-
-    /** \brief Default constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa GeneralizedEigenSolver()
-      */
-    GeneralizedEigenSolver(Index size)
-      : m_eivec(size, size),
-        m_alphas(size),
-        m_betas(size),
-        m_isInitialized(false),
-        m_eigenvectorsOk(false),
-        m_realQZ(size),
-        m_matS(size, size),
-        m_tmp(size)
-    {}
-
-    /** \brief Constructor; computes the generalized eigendecomposition of given matrix pair.
-      * 
-      * \param[in]  A  Square matrix whose eigendecomposition is to be computed.
-      * \param[in]  B  Square matrix whose eigendecomposition is to be computed.
-      * \param[in]  computeEigenvectors  If true, both the eigenvectors and the
-      *    eigenvalues are computed; if false, only the eigenvalues are computed.
-      *
-      * This constructor calls compute() to compute the generalized eigenvalues
-      * and eigenvectors.
-      *
-      * \sa compute()
-      */
-    GeneralizedEigenSolver(const MatrixType& A, const MatrixType& B, bool computeEigenvectors = true)
-      : m_eivec(A.rows(), A.cols()),
-        m_alphas(A.cols()),
-        m_betas(A.cols()),
-        m_isInitialized(false),
-        m_eigenvectorsOk(false),
-        m_realQZ(A.cols()),
-        m_matS(A.rows(), A.cols()),
-        m_tmp(A.cols())
-    {
-      compute(A, B, computeEigenvectors);
-    }
-
-    /* \brief Returns the computed generalized eigenvectors.
-      *
-      * \returns  %Matrix whose columns are the (possibly complex) eigenvectors.
-      *
-      * \pre Either the constructor 
-      * GeneralizedEigenSolver(const MatrixType&,const MatrixType&, bool) or the member function
-      * compute(const MatrixType&, const MatrixType& bool) has been called before, and
-      * \p computeEigenvectors was set to true (the default).
-      *
-      * Column \f$ k \f$ of the returned matrix is an eigenvector corresponding
-      * to eigenvalue number \f$ k \f$ as returned by eigenvalues().  The
-      * eigenvectors are normalized to have (Euclidean) norm equal to one. The
-      * matrix returned by this function is the matrix \f$ V \f$ in the
-      * generalized eigendecomposition \f$ A = B V D V^{-1} \f$, if it exists.
-      *
-      * \sa eigenvalues()
-      */
-//    EigenvectorsType eigenvectors() const;
-
-    /** \brief Returns an expression of the computed generalized eigenvalues.
-      *
-      * \returns An expression of the column vector containing the eigenvalues.
-      *
-      * It is a shortcut for \code this->alphas().cwiseQuotient(this->betas()); \endcode
-      * Not that betas might contain zeros. It is therefore not recommended to use this function,
-      * but rather directly deal with the alphas and betas vectors.
-      *
-      * \pre Either the constructor 
-      * GeneralizedEigenSolver(const MatrixType&,const MatrixType&,bool) or the member function
-      * compute(const MatrixType&,const MatrixType&,bool) has been called before.
-      *
-      * The eigenvalues are repeated according to their algebraic multiplicity,
-      * so there are as many eigenvalues as rows in the matrix. The eigenvalues 
-      * are not sorted in any particular order.
-      *
-      * \sa alphas(), betas(), eigenvectors()
-      */
-    EigenvalueType eigenvalues() const
-    {
-      eigen_assert(m_isInitialized && "GeneralizedEigenSolver is not initialized.");
-      return EigenvalueType(m_alphas,m_betas);
-    }
-
-    /** \returns A const reference to the vectors containing the alpha values
-      *
-      * This vector permits to reconstruct the j-th eigenvalues as alphas(i)/betas(j).
-      *
-      * \sa betas(), eigenvalues() */
-    ComplexVectorType alphas() const
-    {
-      eigen_assert(m_isInitialized && "GeneralizedEigenSolver is not initialized.");
-      return m_alphas;
-    }
-
-    /** \returns A const reference to the vectors containing the beta values
-      *
-      * This vector permits to reconstruct the j-th eigenvalues as alphas(i)/betas(j).
-      *
-      * \sa alphas(), eigenvalues() */
-    VectorType betas() const
-    {
-      eigen_assert(m_isInitialized && "GeneralizedEigenSolver is not initialized.");
-      return m_betas;
-    }
-
-    /** \brief Computes generalized eigendecomposition of given matrix.
-      * 
-      * \param[in]  A  Square matrix whose eigendecomposition is to be computed.
-      * \param[in]  B  Square matrix whose eigendecomposition is to be computed.
-      * \param[in]  computeEigenvectors  If true, both the eigenvectors and the
-      *    eigenvalues are computed; if false, only the eigenvalues are
-      *    computed. 
-      * \returns    Reference to \c *this
-      *
-      * This function computes the eigenvalues of the real matrix \p matrix.
-      * The eigenvalues() function can be used to retrieve them.  If 
-      * \p computeEigenvectors is true, then the eigenvectors are also computed
-      * and can be retrieved by calling eigenvectors().
-      *
-      * The matrix is first reduced to real generalized Schur form using the RealQZ
-      * class. The generalized Schur decomposition is then used to compute the eigenvalues
-      * and eigenvectors.
-      *
-      * The cost of the computation is dominated by the cost of the
-      * generalized Schur decomposition.
-      *
-      * This method reuses of the allocated data in the GeneralizedEigenSolver object.
-      */
-    GeneralizedEigenSolver& compute(const MatrixType& A, const MatrixType& B, bool computeEigenvectors = true);
-
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "EigenSolver is not initialized.");
-      return m_realQZ.info();
-    }
-
-    /** Sets the maximal number of iterations allowed.
-    */
-    GeneralizedEigenSolver& setMaxIterations(Index maxIters)
-    {
-      m_realQZ.setMaxIterations(maxIters);
-      return *this;
-    }
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-      EIGEN_STATIC_ASSERT(!NumTraits<Scalar>::IsComplex, NUMERIC_TYPE_MUST_BE_REAL);
-    }
-    
-    MatrixType m_eivec;
-    ComplexVectorType m_alphas;
-    VectorType m_betas;
-    bool m_isInitialized;
-    bool m_eigenvectorsOk;
-    RealQZ<MatrixType> m_realQZ;
-    MatrixType m_matS;
-
-    typedef Matrix<Scalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> ColumnVectorType;
-    ColumnVectorType m_tmp;
-};
-
-//template<typename MatrixType>
-//typename GeneralizedEigenSolver<MatrixType>::EigenvectorsType GeneralizedEigenSolver<MatrixType>::eigenvectors() const
-//{
-//  eigen_assert(m_isInitialized && "EigenSolver is not initialized.");
-//  eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
-//  Index n = m_eivec.cols();
-//  EigenvectorsType matV(n,n);
-//  // TODO
-//  return matV;
-//}
-
-template<typename MatrixType>
-GeneralizedEigenSolver<MatrixType>&
-GeneralizedEigenSolver<MatrixType>::compute(const MatrixType& A, const MatrixType& B, bool computeEigenvectors)
-{
-  check_template_parameters();
-  
-  using std::sqrt;
-  using std::abs;
-  eigen_assert(A.cols() == A.rows() && B.cols() == A.rows() && B.cols() == B.rows());
-
-  // Reduce to generalized real Schur form:
-  // A = Q S Z and B = Q T Z
-  m_realQZ.compute(A, B, computeEigenvectors);
-
-  if (m_realQZ.info() == Success)
-  {
-    m_matS = m_realQZ.matrixS();
-    if (computeEigenvectors)
-      m_eivec = m_realQZ.matrixZ().transpose();
-  
-    // Compute eigenvalues from matS
-    m_alphas.resize(A.cols());
-    m_betas.resize(A.cols());
-    Index i = 0;
-    while (i < A.cols())
-    {
-      if (i == A.cols() - 1 || m_matS.coeff(i+1, i) == Scalar(0))
-      {
-        m_alphas.coeffRef(i) = m_matS.coeff(i, i);
-        m_betas.coeffRef(i)  = m_realQZ.matrixT().coeff(i,i);
-        ++i;
-      }
-      else
-      {
-        Scalar p = Scalar(0.5) * (m_matS.coeff(i, i) - m_matS.coeff(i+1, i+1));
-        Scalar z = sqrt(abs(p * p + m_matS.coeff(i+1, i) * m_matS.coeff(i, i+1)));
-        m_alphas.coeffRef(i)   = ComplexScalar(m_matS.coeff(i+1, i+1) + p, z);
-        m_alphas.coeffRef(i+1) = ComplexScalar(m_matS.coeff(i+1, i+1) + p, -z);
-
-        m_betas.coeffRef(i)   = m_realQZ.matrixT().coeff(i,i);
-        m_betas.coeffRef(i+1) = m_realQZ.matrixT().coeff(i,i);
-        i += 2;
-      }
-    }
-  }
-
-  m_isInitialized = true;
-  m_eigenvectorsOk = false;//computeEigenvectors;
-
-  return *this;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERALIZEDEIGENSOLVER_H
diff --git a/lib/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h b/lib/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
deleted file mode 100644
index 07bf1ea0..00000000
--- a/lib/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
+++ /dev/null
@@ -1,227 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GENERALIZEDSELFADJOINTEIGENSOLVER_H
-#define EIGEN_GENERALIZEDSELFADJOINTEIGENSOLVER_H
-
-#include "./Tridiagonalization.h"
-
-namespace Eigen { 
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \class GeneralizedSelfAdjointEigenSolver
-  *
-  * \brief Computes eigenvalues and eigenvectors of the generalized selfadjoint eigen problem
-  *
-  * \tparam _MatrixType the type of the matrix of which we are computing the
-  * eigendecomposition; this is expected to be an instantiation of the Matrix
-  * class template.
-  *
-  * This class solves the generalized eigenvalue problem
-  * \f$ Av = \lambda Bv \f$. In this case, the matrix \f$ A \f$ should be
-  * selfadjoint and the matrix \f$ B \f$ should be positive definite.
-  *
-  * Only the \b lower \b triangular \b part of the input matrix is referenced.
-  *
-  * Call the function compute() to compute the eigenvalues and eigenvectors of
-  * a given matrix. Alternatively, you can use the
-  * GeneralizedSelfAdjointEigenSolver(const MatrixType&, const MatrixType&, int)
-  * constructor which computes the eigenvalues and eigenvectors at construction time.
-  * Once the eigenvalue and eigenvectors are computed, they can be retrieved with the eigenvalues()
-  * and eigenvectors() functions.
-  *
-  * The documentation for GeneralizedSelfAdjointEigenSolver(const MatrixType&, const MatrixType&, int)
-  * contains an example of the typical use of this class.
-  *
-  * \sa class SelfAdjointEigenSolver, class EigenSolver, class ComplexEigenSolver
-  */
-template<typename _MatrixType>
-class GeneralizedSelfAdjointEigenSolver : public SelfAdjointEigenSolver<_MatrixType>
-{
-    typedef SelfAdjointEigenSolver<_MatrixType> Base;
-  public:
-
-    typedef typename Base::Index Index;
-    typedef _MatrixType MatrixType;
-
-    /** \brief Default constructor for fixed-size matrices.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via compute(). This constructor
-      * can only be used if \p _MatrixType is a fixed-size matrix; use
-      * GeneralizedSelfAdjointEigenSolver(Index) for dynamic-size matrices.
-      */
-    GeneralizedSelfAdjointEigenSolver() : Base() {}
-
-    /** \brief Constructor, pre-allocates memory for dynamic-size matrices.
-      *
-      * \param [in]  size  Positive integer, size of the matrix whose
-      * eigenvalues and eigenvectors will be computed.
-      *
-      * This constructor is useful for dynamic-size matrices, when the user
-      * intends to perform decompositions via compute(). The \p size
-      * parameter is only used as a hint. It is not an error to give a wrong
-      * \p size, but it may impair performance.
-      *
-      * \sa compute() for an example
-      */
-    GeneralizedSelfAdjointEigenSolver(Index size)
-        : Base(size)
-    {}
-
-    /** \brief Constructor; computes generalized eigendecomposition of given matrix pencil.
-      *
-      * \param[in]  matA  Selfadjoint matrix in matrix pencil.
-      *                   Only the lower triangular part of the matrix is referenced.
-      * \param[in]  matB  Positive-definite matrix in matrix pencil.
-      *                   Only the lower triangular part of the matrix is referenced.
-      * \param[in]  options A or-ed set of flags {#ComputeEigenvectors,#EigenvaluesOnly} | {#Ax_lBx,#ABx_lx,#BAx_lx}.
-      *                     Default is #ComputeEigenvectors|#Ax_lBx.
-      *
-      * This constructor calls compute(const MatrixType&, const MatrixType&, int)
-      * to compute the eigenvalues and (if requested) the eigenvectors of the
-      * generalized eigenproblem \f$ Ax = \lambda B x \f$ with \a matA the
-      * selfadjoint matrix \f$ A \f$ and \a matB the positive definite matrix
-      * \f$ B \f$. Each eigenvector \f$ x \f$ satisfies the property
-      * \f$ x^* B x = 1 \f$. The eigenvectors are computed if
-      * \a options contains ComputeEigenvectors.
-      *
-      * In addition, the two following variants can be solved via \p options:
-      * - \c ABx_lx: \f$ ABx = \lambda x \f$
-      * - \c BAx_lx: \f$ BAx = \lambda x \f$
-      *
-      * Example: \include SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType2.cpp
-      * Output: \verbinclude SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType2.out
-      *
-      * \sa compute(const MatrixType&, const MatrixType&, int)
-      */
-    GeneralizedSelfAdjointEigenSolver(const MatrixType& matA, const MatrixType& matB,
-                                      int options = ComputeEigenvectors|Ax_lBx)
-      : Base(matA.cols())
-    {
-      compute(matA, matB, options);
-    }
-
-    /** \brief Computes generalized eigendecomposition of given matrix pencil.
-      *
-      * \param[in]  matA  Selfadjoint matrix in matrix pencil.
-      *                   Only the lower triangular part of the matrix is referenced.
-      * \param[in]  matB  Positive-definite matrix in matrix pencil.
-      *                   Only the lower triangular part of the matrix is referenced.
-      * \param[in]  options A or-ed set of flags {#ComputeEigenvectors,#EigenvaluesOnly} | {#Ax_lBx,#ABx_lx,#BAx_lx}.
-      *                     Default is #ComputeEigenvectors|#Ax_lBx.
-      *
-      * \returns    Reference to \c *this
-      *
-      * Accoring to \p options, this function computes eigenvalues and (if requested)
-      * the eigenvectors of one of the following three generalized eigenproblems:
-      * - \c Ax_lBx: \f$ Ax = \lambda B x \f$
-      * - \c ABx_lx: \f$ ABx = \lambda x \f$
-      * - \c BAx_lx: \f$ BAx = \lambda x \f$
-      * with \a matA the selfadjoint matrix \f$ A \f$ and \a matB the positive definite
-      * matrix \f$ B \f$.
-      * In addition, each eigenvector \f$ x \f$ satisfies the property \f$ x^* B x = 1 \f$.
-      *
-      * The eigenvalues() function can be used to retrieve
-      * the eigenvalues. If \p options contains ComputeEigenvectors, then the
-      * eigenvectors are also computed and can be retrieved by calling
-      * eigenvectors().
-      *
-      * The implementation uses LLT to compute the Cholesky decomposition
-      * \f$ B = LL^* \f$ and computes the classical eigendecomposition
-      * of the selfadjoint matrix \f$ L^{-1} A (L^*)^{-1} \f$ if \p options contains Ax_lBx
-      * and of \f$ L^{*} A L \f$ otherwise. This solves the
-      * generalized eigenproblem, because any solution of the generalized
-      * eigenproblem \f$ Ax = \lambda B x \f$ corresponds to a solution
-      * \f$ L^{-1} A (L^*)^{-1} (L^* x) = \lambda (L^* x) \f$ of the
-      * eigenproblem for \f$ L^{-1} A (L^*)^{-1} \f$. Similar statements
-      * can be made for the two other variants.
-      *
-      * Example: \include SelfAdjointEigenSolver_compute_MatrixType2.cpp
-      * Output: \verbinclude SelfAdjointEigenSolver_compute_MatrixType2.out
-      *
-      * \sa GeneralizedSelfAdjointEigenSolver(const MatrixType&, const MatrixType&, int)
-      */
-    GeneralizedSelfAdjointEigenSolver& compute(const MatrixType& matA, const MatrixType& matB,
-                                               int options = ComputeEigenvectors|Ax_lBx);
-
-  protected:
-
-};
-
-
-template<typename MatrixType>
-GeneralizedSelfAdjointEigenSolver<MatrixType>& GeneralizedSelfAdjointEigenSolver<MatrixType>::
-compute(const MatrixType& matA, const MatrixType& matB, int options)
-{
-  eigen_assert(matA.cols()==matA.rows() && matB.rows()==matA.rows() && matB.cols()==matB.rows());
-  eigen_assert((options&~(EigVecMask|GenEigMask))==0
-          && (options&EigVecMask)!=EigVecMask
-          && ((options&GenEigMask)==0 || (options&GenEigMask)==Ax_lBx
-           || (options&GenEigMask)==ABx_lx || (options&GenEigMask)==BAx_lx)
-          && "invalid option parameter");
-
-  bool computeEigVecs = ((options&EigVecMask)==0) || ((options&EigVecMask)==ComputeEigenvectors);
-
-  // Compute the cholesky decomposition of matB = L L' = U'U
-  LLT<MatrixType> cholB(matB);
-
-  int type = (options&GenEigMask);
-  if(type==0)
-    type = Ax_lBx;
-
-  if(type==Ax_lBx)
-  {
-    // compute C = inv(L) A inv(L')
-    MatrixType matC = matA.template selfadjointView<Lower>();
-    cholB.matrixL().template solveInPlace<OnTheLeft>(matC);
-    cholB.matrixU().template solveInPlace<OnTheRight>(matC);
-
-    Base::compute(matC, computeEigVecs ? ComputeEigenvectors : EigenvaluesOnly );
-
-    // transform back the eigen vectors: evecs = inv(U) * evecs
-    if(computeEigVecs)
-      cholB.matrixU().solveInPlace(Base::m_eivec);
-  }
-  else if(type==ABx_lx)
-  {
-    // compute C = L' A L
-    MatrixType matC = matA.template selfadjointView<Lower>();
-    matC = matC * cholB.matrixL();
-    matC = cholB.matrixU() * matC;
-
-    Base::compute(matC, computeEigVecs ? ComputeEigenvectors : EigenvaluesOnly);
-
-    // transform back the eigen vectors: evecs = inv(U) * evecs
-    if(computeEigVecs)
-      cholB.matrixU().solveInPlace(Base::m_eivec);
-  }
-  else if(type==BAx_lx)
-  {
-    // compute C = L' A L
-    MatrixType matC = matA.template selfadjointView<Lower>();
-    matC = matC * cholB.matrixL();
-    matC = cholB.matrixU() * matC;
-
-    Base::compute(matC, computeEigVecs ? ComputeEigenvectors : EigenvaluesOnly);
-
-    // transform back the eigen vectors: evecs = L * evecs
-    if(computeEigVecs)
-      Base::m_eivec = cholB.matrixL() * Base::m_eivec;
-  }
-
-  return *this;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_GENERALIZEDSELFADJOINTEIGENSOLVER_H
diff --git a/lib/Eigen/src/Eigenvalues/HessenbergDecomposition.h b/lib/Eigen/src/Eigenvalues/HessenbergDecomposition.h
deleted file mode 100644
index 3db0c010..00000000
--- a/lib/Eigen/src/Eigenvalues/HessenbergDecomposition.h
+++ /dev/null
@@ -1,373 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_HESSENBERGDECOMPOSITION_H
-#define EIGEN_HESSENBERGDECOMPOSITION_H
-
-namespace Eigen { 
-
-namespace internal {
-  
-template<typename MatrixType> struct HessenbergDecompositionMatrixHReturnType;
-template<typename MatrixType>
-struct traits<HessenbergDecompositionMatrixHReturnType<MatrixType> >
-{
-  typedef MatrixType ReturnType;
-};
-
-}
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \class HessenbergDecomposition
-  *
-  * \brief Reduces a square matrix to Hessenberg form by an orthogonal similarity transformation
-  *
-  * \tparam _MatrixType the type of the matrix of which we are computing the Hessenberg decomposition
-  *
-  * This class performs an Hessenberg decomposition of a matrix \f$ A \f$. In
-  * the real case, the Hessenberg decomposition consists of an orthogonal
-  * matrix \f$ Q \f$ and a Hessenberg matrix \f$ H \f$ such that \f$ A = Q H
-  * Q^T \f$. An orthogonal matrix is a matrix whose inverse equals its
-  * transpose (\f$ Q^{-1} = Q^T \f$). A Hessenberg matrix has zeros below the
-  * subdiagonal, so it is almost upper triangular. The Hessenberg decomposition
-  * of a complex matrix is \f$ A = Q H Q^* \f$ with \f$ Q \f$ unitary (that is,
-  * \f$ Q^{-1} = Q^* \f$).
-  *
-  * Call the function compute() to compute the Hessenberg decomposition of a
-  * given matrix. Alternatively, you can use the
-  * HessenbergDecomposition(const MatrixType&) constructor which computes the
-  * Hessenberg decomposition at construction time. Once the decomposition is
-  * computed, you can use the matrixH() and matrixQ() functions to construct
-  * the matrices H and Q in the decomposition.
-  *
-  * The documentation for matrixH() contains an example of the typical use of
-  * this class.
-  *
-  * \sa class ComplexSchur, class Tridiagonalization, \ref QR_Module "QR Module"
-  */
-template<typename _MatrixType> class HessenbergDecomposition
-{
-  public:
-
-    /** \brief Synonym for the template parameter \p _MatrixType. */
-    typedef _MatrixType MatrixType;
-
-    enum {
-      Size = MatrixType::RowsAtCompileTime,
-      SizeMinusOne = Size == Dynamic ? Dynamic : Size - 1,
-      Options = MatrixType::Options,
-      MaxSize = MatrixType::MaxRowsAtCompileTime,
-      MaxSizeMinusOne = MaxSize == Dynamic ? Dynamic : MaxSize - 1
-    };
-
-    /** \brief Scalar type for matrices of type #MatrixType. */
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::Index Index;
-
-    /** \brief Type for vector of Householder coefficients.
-      *
-      * This is column vector with entries of type #Scalar. The length of the
-      * vector is one less than the size of #MatrixType, if it is a fixed-side
-      * type.
-      */
-    typedef Matrix<Scalar, SizeMinusOne, 1, Options & ~RowMajor, MaxSizeMinusOne, 1> CoeffVectorType;
-
-    /** \brief Return type of matrixQ() */
-    typedef HouseholderSequence<MatrixType,typename internal::remove_all<typename CoeffVectorType::ConjugateReturnType>::type> HouseholderSequenceType;
-    
-    typedef internal::HessenbergDecompositionMatrixHReturnType<MatrixType> MatrixHReturnType;
-
-    /** \brief Default constructor; the decomposition will be computed later.
-      *
-      * \param [in] size  The size of the matrix whose Hessenberg decomposition will be computed.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via compute().  The \p size parameter is only
-      * used as a hint. It is not an error to give a wrong \p size, but it may
-      * impair performance.
-      *
-      * \sa compute() for an example.
-      */
-    HessenbergDecomposition(Index size = Size==Dynamic ? 2 : Size)
-      : m_matrix(size,size),
-        m_temp(size),
-        m_isInitialized(false)
-    {
-      if(size>1)
-        m_hCoeffs.resize(size-1);
-    }
-
-    /** \brief Constructor; computes Hessenberg decomposition of given matrix.
-      *
-      * \param[in]  matrix  Square matrix whose Hessenberg decomposition is to be computed.
-      *
-      * This constructor calls compute() to compute the Hessenberg
-      * decomposition.
-      *
-      * \sa matrixH() for an example.
-      */
-    HessenbergDecomposition(const MatrixType& matrix)
-      : m_matrix(matrix),
-        m_temp(matrix.rows()),
-        m_isInitialized(false)
-    {
-      if(matrix.rows()<2)
-      {
-        m_isInitialized = true;
-        return;
-      }
-      m_hCoeffs.resize(matrix.rows()-1,1);
-      _compute(m_matrix, m_hCoeffs, m_temp);
-      m_isInitialized = true;
-    }
-
-    /** \brief Computes Hessenberg decomposition of given matrix.
-      *
-      * \param[in]  matrix  Square matrix whose Hessenberg decomposition is to be computed.
-      * \returns    Reference to \c *this
-      *
-      * The Hessenberg decomposition is computed by bringing the columns of the
-      * matrix successively in the required form using Householder reflections
-      * (see, e.g., Algorithm 7.4.2 in Golub \& Van Loan, <i>%Matrix
-      * Computations</i>). The cost is \f$ 10n^3/3 \f$ flops, where \f$ n \f$
-      * denotes the size of the given matrix.
-      *
-      * This method reuses of the allocated data in the HessenbergDecomposition
-      * object.
-      *
-      * Example: \include HessenbergDecomposition_compute.cpp
-      * Output: \verbinclude HessenbergDecomposition_compute.out
-      */
-    HessenbergDecomposition& compute(const MatrixType& matrix)
-    {
-      m_matrix = matrix;
-      if(matrix.rows()<2)
-      {
-        m_isInitialized = true;
-        return *this;
-      }
-      m_hCoeffs.resize(matrix.rows()-1,1);
-      _compute(m_matrix, m_hCoeffs, m_temp);
-      m_isInitialized = true;
-      return *this;
-    }
-
-    /** \brief Returns the Householder coefficients.
-      *
-      * \returns a const reference to the vector of Householder coefficients
-      *
-      * \pre Either the constructor HessenbergDecomposition(const MatrixType&)
-      * or the member function compute(const MatrixType&) has been called
-      * before to compute the Hessenberg decomposition of a matrix.
-      *
-      * The Householder coefficients allow the reconstruction of the matrix
-      * \f$ Q \f$ in the Hessenberg decomposition from the packed data.
-      *
-      * \sa packedMatrix(), \ref Householder_Module "Householder module"
-      */
-    const CoeffVectorType& householderCoefficients() const
-    {
-      eigen_assert(m_isInitialized && "HessenbergDecomposition is not initialized.");
-      return m_hCoeffs;
-    }
-
-    /** \brief Returns the internal representation of the decomposition
-      *
-      *	\returns a const reference to a matrix with the internal representation
-      *	         of the decomposition.
-      *
-      * \pre Either the constructor HessenbergDecomposition(const MatrixType&)
-      * or the member function compute(const MatrixType&) has been called
-      * before to compute the Hessenberg decomposition of a matrix.
-      *
-      * The returned matrix contains the following information:
-      *  - the upper part and lower sub-diagonal represent the Hessenberg matrix H
-      *  - the rest of the lower part contains the Householder vectors that, combined with
-      *    Householder coefficients returned by householderCoefficients(),
-      *    allows to reconstruct the matrix Q as
-      *       \f$ Q = H_{N-1} \ldots H_1 H_0 \f$.
-      *    Here, the matrices \f$ H_i \f$ are the Householder transformations
-      *       \f$ H_i = (I - h_i v_i v_i^T) \f$
-      *    where \f$ h_i \f$ is the \f$ i \f$th Householder coefficient and
-      *    \f$ v_i \f$ is the Householder vector defined by
-      *       \f$ v_i = [ 0, \ldots, 0, 1, M(i+2,i), \ldots, M(N-1,i) ]^T \f$
-      *    with M the matrix returned by this function.
-      *
-      * See LAPACK for further details on this packed storage.
-      *
-      * Example: \include HessenbergDecomposition_packedMatrix.cpp
-      * Output: \verbinclude HessenbergDecomposition_packedMatrix.out
-      *
-      * \sa householderCoefficients()
-      */
-    const MatrixType& packedMatrix() const
-    {
-      eigen_assert(m_isInitialized && "HessenbergDecomposition is not initialized.");
-      return m_matrix;
-    }
-
-    /** \brief Reconstructs the orthogonal matrix Q in the decomposition
-      *
-      * \returns object representing the matrix Q
-      *
-      * \pre Either the constructor HessenbergDecomposition(const MatrixType&)
-      * or the member function compute(const MatrixType&) has been called
-      * before to compute the Hessenberg decomposition of a matrix.
-      *
-      * This function returns a light-weight object of template class
-      * HouseholderSequence. You can either apply it directly to a matrix or
-      * you can convert it to a matrix of type #MatrixType.
-      *
-      * \sa matrixH() for an example, class HouseholderSequence
-      */
-    HouseholderSequenceType matrixQ() const
-    {
-      eigen_assert(m_isInitialized && "HessenbergDecomposition is not initialized.");
-      return HouseholderSequenceType(m_matrix, m_hCoeffs.conjugate())
-             .setLength(m_matrix.rows() - 1)
-             .setShift(1);
-    }
-
-    /** \brief Constructs the Hessenberg matrix H in the decomposition
-      *
-      * \returns expression object representing the matrix H
-      *
-      * \pre Either the constructor HessenbergDecomposition(const MatrixType&)
-      * or the member function compute(const MatrixType&) has been called
-      * before to compute the Hessenberg decomposition of a matrix.
-      *
-      * The object returned by this function constructs the Hessenberg matrix H
-      * when it is assigned to a matrix or otherwise evaluated. The matrix H is
-      * constructed from the packed matrix as returned by packedMatrix(): The
-      * upper part (including the subdiagonal) of the packed matrix contains
-      * the matrix H. It may sometimes be better to directly use the packed
-      * matrix instead of constructing the matrix H.
-      *
-      * Example: \include HessenbergDecomposition_matrixH.cpp
-      * Output: \verbinclude HessenbergDecomposition_matrixH.out
-      *
-      * \sa matrixQ(), packedMatrix()
-      */
-    MatrixHReturnType matrixH() const
-    {
-      eigen_assert(m_isInitialized && "HessenbergDecomposition is not initialized.");
-      return MatrixHReturnType(*this);
-    }
-
-  private:
-
-    typedef Matrix<Scalar, 1, Size, Options | RowMajor, 1, MaxSize> VectorType;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    static void _compute(MatrixType& matA, CoeffVectorType& hCoeffs, VectorType& temp);
-
-  protected:
-    MatrixType m_matrix;
-    CoeffVectorType m_hCoeffs;
-    VectorType m_temp;
-    bool m_isInitialized;
-};
-
-/** \internal
-  * Performs a tridiagonal decomposition of \a matA in place.
-  *
-  * \param matA the input selfadjoint matrix
-  * \param hCoeffs returned Householder coefficients
-  *
-  * The result is written in the lower triangular part of \a matA.
-  *
-  * Implemented from Golub's "%Matrix Computations", algorithm 8.3.1.
-  *
-  * \sa packedMatrix()
-  */
-template<typename MatrixType>
-void HessenbergDecomposition<MatrixType>::_compute(MatrixType& matA, CoeffVectorType& hCoeffs, VectorType& temp)
-{
-  eigen_assert(matA.rows()==matA.cols());
-  Index n = matA.rows();
-  temp.resize(n);
-  for (Index i = 0; i<n-1; ++i)
-  {
-    // let's consider the vector v = i-th column starting at position i+1
-    Index remainingSize = n-i-1;
-    RealScalar beta;
-    Scalar h;
-    matA.col(i).tail(remainingSize).makeHouseholderInPlace(h, beta);
-    matA.col(i).coeffRef(i+1) = beta;
-    hCoeffs.coeffRef(i) = h;
-
-    // Apply similarity transformation to remaining columns,
-    // i.e., compute A = H A H'
-
-    // A = H A
-    matA.bottomRightCorner(remainingSize, remainingSize)
-        .applyHouseholderOnTheLeft(matA.col(i).tail(remainingSize-1), h, &temp.coeffRef(0));
-
-    // A = A H'
-    matA.rightCols(remainingSize)
-        .applyHouseholderOnTheRight(matA.col(i).tail(remainingSize-1).conjugate(), numext::conj(h), &temp.coeffRef(0));
-  }
-}
-
-namespace internal {
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \brief Expression type for return value of HessenbergDecomposition::matrixH()
-  *
-  * \tparam MatrixType type of matrix in the Hessenberg decomposition
-  *
-  * Objects of this type represent the Hessenberg matrix in the Hessenberg
-  * decomposition of some matrix. The object holds a reference to the
-  * HessenbergDecomposition class until the it is assigned or evaluated for
-  * some other reason (the reference should remain valid during the life time
-  * of this object). This class is the return type of
-  * HessenbergDecomposition::matrixH(); there is probably no other use for this
-  * class.
-  */
-template<typename MatrixType> struct HessenbergDecompositionMatrixHReturnType
-: public ReturnByValue<HessenbergDecompositionMatrixHReturnType<MatrixType> >
-{
-    typedef typename MatrixType::Index Index;
-  public:
-    /** \brief Constructor.
-      *
-      * \param[in] hess  Hessenberg decomposition
-      */
-    HessenbergDecompositionMatrixHReturnType(const HessenbergDecomposition<MatrixType>& hess) : m_hess(hess) { }
-
-    /** \brief Hessenberg matrix in decomposition.
-      *
-      * \param[out] result  Hessenberg matrix in decomposition \p hess which
-      *                     was passed to the constructor
-      */
-    template <typename ResultType>
-    inline void evalTo(ResultType& result) const
-    {
-      result = m_hess.packedMatrix();
-      Index n = result.rows();
-      if (n>2)
-        result.bottomLeftCorner(n-2, n-2).template triangularView<Lower>().setZero();
-    }
-
-    Index rows() const { return m_hess.packedMatrix().rows(); }
-    Index cols() const { return m_hess.packedMatrix().cols(); }
-
-  protected:
-    const HessenbergDecomposition<MatrixType>& m_hess;
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_HESSENBERGDECOMPOSITION_H
diff --git a/lib/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h b/lib/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
deleted file mode 100644
index 4fec8af0..00000000
--- a/lib/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
+++ /dev/null
@@ -1,160 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MATRIXBASEEIGENVALUES_H
-#define EIGEN_MATRIXBASEEIGENVALUES_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Derived, bool IsComplex>
-struct eigenvalues_selector
-{
-  // this is the implementation for the case IsComplex = true
-  static inline typename MatrixBase<Derived>::EigenvaluesReturnType const
-  run(const MatrixBase<Derived>& m)
-  {
-    typedef typename Derived::PlainObject PlainObject;
-    PlainObject m_eval(m);
-    return ComplexEigenSolver<PlainObject>(m_eval, false).eigenvalues();
-  }
-};
-
-template<typename Derived>
-struct eigenvalues_selector<Derived, false>
-{
-  static inline typename MatrixBase<Derived>::EigenvaluesReturnType const
-  run(const MatrixBase<Derived>& m)
-  {
-    typedef typename Derived::PlainObject PlainObject;
-    PlainObject m_eval(m);
-    return EigenSolver<PlainObject>(m_eval, false).eigenvalues();
-  }
-};
-
-} // end namespace internal
-
-/** \brief Computes the eigenvalues of a matrix 
-  * \returns Column vector containing the eigenvalues.
-  *
-  * \eigenvalues_module
-  * This function computes the eigenvalues with the help of the EigenSolver
-  * class (for real matrices) or the ComplexEigenSolver class (for complex
-  * matrices). 
-  *
-  * The eigenvalues are repeated according to their algebraic multiplicity,
-  * so there are as many eigenvalues as rows in the matrix.
-  *
-  * The SelfAdjointView class provides a better algorithm for selfadjoint
-  * matrices.
-  *
-  * Example: \include MatrixBase_eigenvalues.cpp
-  * Output: \verbinclude MatrixBase_eigenvalues.out
-  *
-  * \sa EigenSolver::eigenvalues(), ComplexEigenSolver::eigenvalues(),
-  *     SelfAdjointView::eigenvalues()
-  */
-template<typename Derived>
-inline typename MatrixBase<Derived>::EigenvaluesReturnType
-MatrixBase<Derived>::eigenvalues() const
-{
-  typedef typename internal::traits<Derived>::Scalar Scalar;
-  return internal::eigenvalues_selector<Derived, NumTraits<Scalar>::IsComplex>::run(derived());
-}
-
-/** \brief Computes the eigenvalues of a matrix
-  * \returns Column vector containing the eigenvalues.
-  *
-  * \eigenvalues_module
-  * This function computes the eigenvalues with the help of the
-  * SelfAdjointEigenSolver class.  The eigenvalues are repeated according to
-  * their algebraic multiplicity, so there are as many eigenvalues as rows in
-  * the matrix.
-  *
-  * Example: \include SelfAdjointView_eigenvalues.cpp
-  * Output: \verbinclude SelfAdjointView_eigenvalues.out
-  *
-  * \sa SelfAdjointEigenSolver::eigenvalues(), MatrixBase::eigenvalues()
-  */
-template<typename MatrixType, unsigned int UpLo> 
-inline typename SelfAdjointView<MatrixType, UpLo>::EigenvaluesReturnType
-SelfAdjointView<MatrixType, UpLo>::eigenvalues() const
-{
-  typedef typename SelfAdjointView<MatrixType, UpLo>::PlainObject PlainObject;
-  PlainObject thisAsMatrix(*this);
-  return SelfAdjointEigenSolver<PlainObject>(thisAsMatrix, false).eigenvalues();
-}
-
-
-
-/** \brief Computes the L2 operator norm
-  * \returns Operator norm of the matrix.
-  *
-  * \eigenvalues_module
-  * This function computes the L2 operator norm of a matrix, which is also
-  * known as the spectral norm. The norm of a matrix \f$ A \f$ is defined to be
-  * \f[ \|A\|_2 = \max_x \frac{\|Ax\|_2}{\|x\|_2} \f]
-  * where the maximum is over all vectors and the norm on the right is the
-  * Euclidean vector norm. The norm equals the largest singular value, which is
-  * the square root of the largest eigenvalue of the positive semi-definite
-  * matrix \f$ A^*A \f$.
-  *
-  * The current implementation uses the eigenvalues of \f$ A^*A \f$, as computed
-  * by SelfAdjointView::eigenvalues(), to compute the operator norm of a
-  * matrix.  The SelfAdjointView class provides a better algorithm for
-  * selfadjoint matrices.
-  *
-  * Example: \include MatrixBase_operatorNorm.cpp
-  * Output: \verbinclude MatrixBase_operatorNorm.out
-  *
-  * \sa SelfAdjointView::eigenvalues(), SelfAdjointView::operatorNorm()
-  */
-template<typename Derived>
-inline typename MatrixBase<Derived>::RealScalar
-MatrixBase<Derived>::operatorNorm() const
-{
-  using std::sqrt;
-  typename Derived::PlainObject m_eval(derived());
-  // FIXME if it is really guaranteed that the eigenvalues are already sorted,
-  // then we don't need to compute a maxCoeff() here, comparing the 1st and last ones is enough.
-  return sqrt((m_eval*m_eval.adjoint())
-                 .eval()
-		 .template selfadjointView<Lower>()
-		 .eigenvalues()
-		 .maxCoeff()
-		 );
-}
-
-/** \brief Computes the L2 operator norm
-  * \returns Operator norm of the matrix.
-  *
-  * \eigenvalues_module
-  * This function computes the L2 operator norm of a self-adjoint matrix. For a
-  * self-adjoint matrix, the operator norm is the largest eigenvalue.
-  *
-  * The current implementation uses the eigenvalues of the matrix, as computed
-  * by eigenvalues(), to compute the operator norm of the matrix.
-  *
-  * Example: \include SelfAdjointView_operatorNorm.cpp
-  * Output: \verbinclude SelfAdjointView_operatorNorm.out
-  *
-  * \sa eigenvalues(), MatrixBase::operatorNorm()
-  */
-template<typename MatrixType, unsigned int UpLo>
-inline typename SelfAdjointView<MatrixType, UpLo>::RealScalar
-SelfAdjointView<MatrixType, UpLo>::operatorNorm() const
-{
-  return eigenvalues().cwiseAbs().maxCoeff();
-}
-
-} // end namespace Eigen
-
-#endif
diff --git a/lib/Eigen/src/Eigenvalues/RealQZ.h b/lib/Eigen/src/Eigenvalues/RealQZ.h
deleted file mode 100644
index aa3833eb..00000000
--- a/lib/Eigen/src/Eigenvalues/RealQZ.h
+++ /dev/null
@@ -1,624 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Alexey Korepanov <kaikaikai@yandex.ru>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_REAL_QZ_H
-#define EIGEN_REAL_QZ_H
-
-namespace Eigen {
-
-  /** \eigenvalues_module \ingroup Eigenvalues_Module
-   *
-   *
-   * \class RealQZ
-   *
-   * \brief Performs a real QZ decomposition of a pair of square matrices
-   *
-   * \tparam _MatrixType the type of the matrix of which we are computing the
-   * real QZ decomposition; this is expected to be an instantiation of the
-   * Matrix class template.
-   *
-   * Given a real square matrices A and B, this class computes the real QZ
-   * decomposition: \f$ A = Q S Z \f$, \f$ B = Q T Z \f$ where Q and Z are
-   * real orthogonal matrixes, T is upper-triangular matrix, and S is upper
-   * quasi-triangular matrix. An orthogonal matrix is a matrix whose
-   * inverse is equal to its transpose, \f$ U^{-1} = U^T \f$. A quasi-triangular
-   * matrix is a block-triangular matrix whose diagonal consists of 1-by-1
-   * blocks and 2-by-2 blocks where further reduction is impossible due to
-   * complex eigenvalues. 
-   *
-   * The eigenvalues of the pencil \f$ A - z B \f$ can be obtained from
-   * 1x1 and 2x2 blocks on the diagonals of S and T.
-   *
-   * Call the function compute() to compute the real QZ decomposition of a
-   * given pair of matrices. Alternatively, you can use the 
-   * RealQZ(const MatrixType& B, const MatrixType& B, bool computeQZ)
-   * constructor which computes the real QZ decomposition at construction
-   * time. Once the decomposition is computed, you can use the matrixS(),
-   * matrixT(), matrixQ() and matrixZ() functions to retrieve the matrices
-   * S, T, Q and Z in the decomposition. If computeQZ==false, some time
-   * is saved by not computing matrices Q and Z.
-   *
-   * Example: \include RealQZ_compute.cpp
-   * Output: \include RealQZ_compute.out
-   *
-   * \note The implementation is based on the algorithm in "Matrix Computations"
-   * by Gene H. Golub and Charles F. Van Loan, and a paper "An algorithm for
-   * generalized eigenvalue problems" by C.B.Moler and G.W.Stewart.
-   *
-   * \sa class RealSchur, class ComplexSchur, class EigenSolver, class ComplexEigenSolver
-   */
-
-  template<typename _MatrixType> class RealQZ
-  {
-    public:
-      typedef _MatrixType MatrixType;
-      enum {
-        RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-        ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-        Options = MatrixType::Options,
-        MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-        MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-      };
-      typedef typename MatrixType::Scalar Scalar;
-      typedef std::complex<typename NumTraits<Scalar>::Real> ComplexScalar;
-      typedef typename MatrixType::Index Index;
-
-      typedef Matrix<ComplexScalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> EigenvalueType;
-      typedef Matrix<Scalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> ColumnVectorType;
-
-      /** \brief Default constructor.
-       *
-       * \param [in] size  Positive integer, size of the matrix whose QZ decomposition will be computed.
-       *
-       * The default constructor is useful in cases in which the user intends to
-       * perform decompositions via compute().  The \p size parameter is only
-       * used as a hint. It is not an error to give a wrong \p size, but it may
-       * impair performance.
-       *
-       * \sa compute() for an example.
-       */
-      RealQZ(Index size = RowsAtCompileTime==Dynamic ? 1 : RowsAtCompileTime) : 
-        m_S(size, size),
-        m_T(size, size),
-        m_Q(size, size),
-        m_Z(size, size),
-        m_workspace(size*2),
-        m_maxIters(400),
-        m_isInitialized(false)
-        { }
-
-      /** \brief Constructor; computes real QZ decomposition of given matrices
-       * 
-       * \param[in]  A          Matrix A.
-       * \param[in]  B          Matrix B.
-       * \param[in]  computeQZ  If false, A and Z are not computed.
-       *
-       * This constructor calls compute() to compute the QZ decomposition.
-       */
-      RealQZ(const MatrixType& A, const MatrixType& B, bool computeQZ = true) :
-        m_S(A.rows(),A.cols()),
-        m_T(A.rows(),A.cols()),
-        m_Q(A.rows(),A.cols()),
-        m_Z(A.rows(),A.cols()),
-        m_workspace(A.rows()*2),
-        m_maxIters(400),
-        m_isInitialized(false) {
-          compute(A, B, computeQZ);
-        }
-
-      /** \brief Returns matrix Q in the QZ decomposition. 
-       *
-       * \returns A const reference to the matrix Q.
-       */
-      const MatrixType& matrixQ() const {
-        eigen_assert(m_isInitialized && "RealQZ is not initialized.");
-        eigen_assert(m_computeQZ && "The matrices Q and Z have not been computed during the QZ decomposition.");
-        return m_Q;
-      }
-
-      /** \brief Returns matrix Z in the QZ decomposition. 
-       *
-       * \returns A const reference to the matrix Z.
-       */
-      const MatrixType& matrixZ() const {
-        eigen_assert(m_isInitialized && "RealQZ is not initialized.");
-        eigen_assert(m_computeQZ && "The matrices Q and Z have not been computed during the QZ decomposition.");
-        return m_Z;
-      }
-
-      /** \brief Returns matrix S in the QZ decomposition. 
-       *
-       * \returns A const reference to the matrix S.
-       */
-      const MatrixType& matrixS() const {
-        eigen_assert(m_isInitialized && "RealQZ is not initialized.");
-        return m_S;
-      }
-
-      /** \brief Returns matrix S in the QZ decomposition. 
-       *
-       * \returns A const reference to the matrix S.
-       */
-      const MatrixType& matrixT() const {
-        eigen_assert(m_isInitialized && "RealQZ is not initialized.");
-        return m_T;
-      }
-
-      /** \brief Computes QZ decomposition of given matrix. 
-       * 
-       * \param[in]  A          Matrix A.
-       * \param[in]  B          Matrix B.
-       * \param[in]  computeQZ  If false, A and Z are not computed.
-       * \returns    Reference to \c *this
-       */
-      RealQZ& compute(const MatrixType& A, const MatrixType& B, bool computeQZ = true);
-
-      /** \brief Reports whether previous computation was successful.
-       *
-       * \returns \c Success if computation was succesful, \c NoConvergence otherwise.
-       */
-      ComputationInfo info() const
-      {
-        eigen_assert(m_isInitialized && "RealQZ is not initialized.");
-        return m_info;
-      }
-
-      /** \brief Returns number of performed QR-like iterations.
-      */
-      Index iterations() const
-      {
-        eigen_assert(m_isInitialized && "RealQZ is not initialized.");
-        return m_global_iter;
-      }
-
-      /** Sets the maximal number of iterations allowed to converge to one eigenvalue
-       * or decouple the problem.
-      */
-      RealQZ& setMaxIterations(Index maxIters)
-      {
-        m_maxIters = maxIters;
-        return *this;
-      }
-
-    private:
-
-      MatrixType m_S, m_T, m_Q, m_Z;
-      Matrix<Scalar,Dynamic,1> m_workspace;
-      ComputationInfo m_info;
-      Index m_maxIters;
-      bool m_isInitialized;
-      bool m_computeQZ;
-      Scalar m_normOfT, m_normOfS;
-      Index m_global_iter;
-
-      typedef Matrix<Scalar,3,1> Vector3s;
-      typedef Matrix<Scalar,2,1> Vector2s;
-      typedef Matrix<Scalar,2,2> Matrix2s;
-      typedef JacobiRotation<Scalar> JRs;
-
-      void hessenbergTriangular();
-      void computeNorms();
-      Index findSmallSubdiagEntry(Index iu);
-      Index findSmallDiagEntry(Index f, Index l);
-      void splitOffTwoRows(Index i);
-      void pushDownZero(Index z, Index f, Index l);
-      void step(Index f, Index l, Index iter);
-
-  }; // RealQZ
-
-  /** \internal Reduces S and T to upper Hessenberg - triangular form */
-  template<typename MatrixType>
-    void RealQZ<MatrixType>::hessenbergTriangular()
-    {
-
-      const Index dim = m_S.cols();
-
-      // perform QR decomposition of T, overwrite T with R, save Q
-      HouseholderQR<MatrixType> qrT(m_T);
-      m_T = qrT.matrixQR();
-      m_T.template triangularView<StrictlyLower>().setZero();
-      m_Q = qrT.householderQ();
-      // overwrite S with Q* S
-      m_S.applyOnTheLeft(m_Q.adjoint());
-      // init Z as Identity
-      if (m_computeQZ)
-        m_Z = MatrixType::Identity(dim,dim);
-      // reduce S to upper Hessenberg with Givens rotations
-      for (Index j=0; j<=dim-3; j++) {
-        for (Index i=dim-1; i>=j+2; i--) {
-          JRs G;
-          // kill S(i,j)
-          if(m_S.coeff(i,j) != 0)
-          {
-            G.makeGivens(m_S.coeff(i-1,j), m_S.coeff(i,j), &m_S.coeffRef(i-1, j));
-            m_S.coeffRef(i,j) = Scalar(0.0);
-            m_S.rightCols(dim-j-1).applyOnTheLeft(i-1,i,G.adjoint());
-            m_T.rightCols(dim-i+1).applyOnTheLeft(i-1,i,G.adjoint());
-            // update Q
-            if (m_computeQZ)
-              m_Q.applyOnTheRight(i-1,i,G);
-          }
-          // kill T(i,i-1)
-          if(m_T.coeff(i,i-1)!=Scalar(0))
-          {
-            G.makeGivens(m_T.coeff(i,i), m_T.coeff(i,i-1), &m_T.coeffRef(i,i));
-            m_T.coeffRef(i,i-1) = Scalar(0.0);
-            m_S.applyOnTheRight(i,i-1,G);
-            m_T.topRows(i).applyOnTheRight(i,i-1,G);
-            // update Z
-            if (m_computeQZ)
-              m_Z.applyOnTheLeft(i,i-1,G.adjoint());
-          }
-        }
-      }
-    }
-
-  /** \internal Computes vector L1 norms of S and T when in Hessenberg-Triangular form already */
-  template<typename MatrixType>
-    inline void RealQZ<MatrixType>::computeNorms()
-    {
-      const Index size = m_S.cols();
-      m_normOfS = Scalar(0.0);
-      m_normOfT = Scalar(0.0);
-      for (Index j = 0; j < size; ++j)
-      {
-        m_normOfS += m_S.col(j).segment(0, (std::min)(size,j+2)).cwiseAbs().sum();
-        m_normOfT += m_T.row(j).segment(j, size - j).cwiseAbs().sum();
-      }
-    }
-
-
-  /** \internal Look for single small sub-diagonal element S(res, res-1) and return res (or 0) */
-  template<typename MatrixType>
-    inline typename MatrixType::Index RealQZ<MatrixType>::findSmallSubdiagEntry(Index iu)
-    {
-      using std::abs;
-      Index res = iu;
-      while (res > 0)
-      {
-        Scalar s = abs(m_S.coeff(res-1,res-1)) + abs(m_S.coeff(res,res));
-        if (s == Scalar(0.0))
-          s = m_normOfS;
-        if (abs(m_S.coeff(res,res-1)) < NumTraits<Scalar>::epsilon() * s)
-          break;
-        res--;
-      }
-      return res;
-    }
-
-  /** \internal Look for single small diagonal element T(res, res) for res between f and l, and return res (or f-1)  */
-  template<typename MatrixType>
-    inline typename MatrixType::Index RealQZ<MatrixType>::findSmallDiagEntry(Index f, Index l)
-    {
-      using std::abs;
-      Index res = l;
-      while (res >= f) {
-        if (abs(m_T.coeff(res,res)) <= NumTraits<Scalar>::epsilon() * m_normOfT)
-          break;
-        res--;
-      }
-      return res;
-    }
-
-  /** \internal decouple 2x2 diagonal block in rows i, i+1 if eigenvalues are real */
-  template<typename MatrixType>
-    inline void RealQZ<MatrixType>::splitOffTwoRows(Index i)
-    {
-      using std::abs;
-      using std::sqrt;
-      const Index dim=m_S.cols();
-      if (abs(m_S.coeff(i+1,i))==Scalar(0))
-        return;
-      Index z = findSmallDiagEntry(i,i+1);
-      if (z==i-1)
-      {
-        // block of (S T^{-1})
-        Matrix2s STi = m_T.template block<2,2>(i,i).template triangularView<Upper>().
-          template solve<OnTheRight>(m_S.template block<2,2>(i,i));
-        Scalar p = Scalar(0.5)*(STi(0,0)-STi(1,1));
-        Scalar q = p*p + STi(1,0)*STi(0,1);
-        if (q>=0) {
-          Scalar z = sqrt(q);
-          // one QR-like iteration for ABi - lambda I
-          // is enough - when we know exact eigenvalue in advance,
-          // convergence is immediate
-          JRs G;
-          if (p>=0)
-            G.makeGivens(p + z, STi(1,0));
-          else
-            G.makeGivens(p - z, STi(1,0));
-          m_S.rightCols(dim-i).applyOnTheLeft(i,i+1,G.adjoint());
-          m_T.rightCols(dim-i).applyOnTheLeft(i,i+1,G.adjoint());
-          // update Q
-          if (m_computeQZ)
-            m_Q.applyOnTheRight(i,i+1,G);
-
-          G.makeGivens(m_T.coeff(i+1,i+1), m_T.coeff(i+1,i));
-          m_S.topRows(i+2).applyOnTheRight(i+1,i,G);
-          m_T.topRows(i+2).applyOnTheRight(i+1,i,G);
-          // update Z
-          if (m_computeQZ)
-            m_Z.applyOnTheLeft(i+1,i,G.adjoint());
-
-          m_S.coeffRef(i+1,i) = Scalar(0.0);
-          m_T.coeffRef(i+1,i) = Scalar(0.0);
-        }
-      }
-      else
-      {
-        pushDownZero(z,i,i+1);
-      }
-    }
-
-  /** \internal use zero in T(z,z) to zero S(l,l-1), working in block f..l */
-  template<typename MatrixType>
-    inline void RealQZ<MatrixType>::pushDownZero(Index z, Index f, Index l)
-    {
-      JRs G;
-      const Index dim = m_S.cols();
-      for (Index zz=z; zz<l; zz++)
-      {
-        // push 0 down
-        Index firstColS = zz>f ? (zz-1) : zz;
-        G.makeGivens(m_T.coeff(zz, zz+1), m_T.coeff(zz+1, zz+1));
-        m_S.rightCols(dim-firstColS).applyOnTheLeft(zz,zz+1,G.adjoint());
-        m_T.rightCols(dim-zz).applyOnTheLeft(zz,zz+1,G.adjoint());
-        m_T.coeffRef(zz+1,zz+1) = Scalar(0.0);
-        // update Q
-        if (m_computeQZ)
-          m_Q.applyOnTheRight(zz,zz+1,G);
-        // kill S(zz+1, zz-1)
-        if (zz>f)
-        {
-          G.makeGivens(m_S.coeff(zz+1, zz), m_S.coeff(zz+1,zz-1));
-          m_S.topRows(zz+2).applyOnTheRight(zz, zz-1,G);
-          m_T.topRows(zz+1).applyOnTheRight(zz, zz-1,G);
-          m_S.coeffRef(zz+1,zz-1) = Scalar(0.0);
-          // update Z
-          if (m_computeQZ)
-            m_Z.applyOnTheLeft(zz,zz-1,G.adjoint());
-        }
-      }
-      // finally kill S(l,l-1)
-      G.makeGivens(m_S.coeff(l,l), m_S.coeff(l,l-1));
-      m_S.applyOnTheRight(l,l-1,G);
-      m_T.applyOnTheRight(l,l-1,G);
-      m_S.coeffRef(l,l-1)=Scalar(0.0);
-      // update Z
-      if (m_computeQZ)
-        m_Z.applyOnTheLeft(l,l-1,G.adjoint());
-    }
-
-  /** \internal QR-like iterative step for block f..l */
-  template<typename MatrixType>
-    inline void RealQZ<MatrixType>::step(Index f, Index l, Index iter)
-    {
-      using std::abs;
-      const Index dim = m_S.cols();
-
-      // x, y, z
-      Scalar x, y, z;
-      if (iter==10)
-      {
-        // Wilkinson ad hoc shift
-        const Scalar
-          a11=m_S.coeff(f+0,f+0), a12=m_S.coeff(f+0,f+1),
-          a21=m_S.coeff(f+1,f+0), a22=m_S.coeff(f+1,f+1), a32=m_S.coeff(f+2,f+1),
-          b12=m_T.coeff(f+0,f+1),
-          b11i=Scalar(1.0)/m_T.coeff(f+0,f+0),
-          b22i=Scalar(1.0)/m_T.coeff(f+1,f+1),
-          a87=m_S.coeff(l-1,l-2),
-          a98=m_S.coeff(l-0,l-1),
-          b77i=Scalar(1.0)/m_T.coeff(l-2,l-2),
-          b88i=Scalar(1.0)/m_T.coeff(l-1,l-1);
-        Scalar ss = abs(a87*b77i) + abs(a98*b88i),
-               lpl = Scalar(1.5)*ss,
-               ll = ss*ss;
-        x = ll + a11*a11*b11i*b11i - lpl*a11*b11i + a12*a21*b11i*b22i
-          - a11*a21*b12*b11i*b11i*b22i;
-        y = a11*a21*b11i*b11i - lpl*a21*b11i + a21*a22*b11i*b22i 
-          - a21*a21*b12*b11i*b11i*b22i;
-        z = a21*a32*b11i*b22i;
-      }
-      else if (iter==16)
-      {
-        // another exceptional shift
-        x = m_S.coeff(f,f)/m_T.coeff(f,f)-m_S.coeff(l,l)/m_T.coeff(l,l) + m_S.coeff(l,l-1)*m_T.coeff(l-1,l) /
-          (m_T.coeff(l-1,l-1)*m_T.coeff(l,l));
-        y = m_S.coeff(f+1,f)/m_T.coeff(f,f);
-        z = 0;
-      }
-      else if (iter>23 && !(iter%8))
-      {
-        // extremely exceptional shift
-        x = internal::random<Scalar>(-1.0,1.0);
-        y = internal::random<Scalar>(-1.0,1.0);
-        z = internal::random<Scalar>(-1.0,1.0);
-      }
-      else
-      {
-        // Compute the shifts: (x,y,z,0...) = (AB^-1 - l1 I) (AB^-1 - l2 I) e1
-        // where l1 and l2 are the eigenvalues of the 2x2 matrix C = U V^-1 where
-        // U and V are 2x2 bottom right sub matrices of A and B. Thus:
-        //  = AB^-1AB^-1 + l1 l2 I - (l1+l2)(AB^-1)
-        //  = AB^-1AB^-1 + det(M) - tr(M)(AB^-1)
-        // Since we are only interested in having x, y, z with a correct ratio, we have:
-        const Scalar
-          a11 = m_S.coeff(f,f),     a12 = m_S.coeff(f,f+1),
-          a21 = m_S.coeff(f+1,f),   a22 = m_S.coeff(f+1,f+1),
-                                    a32 = m_S.coeff(f+2,f+1),
-
-          a88 = m_S.coeff(l-1,l-1), a89 = m_S.coeff(l-1,l),
-          a98 = m_S.coeff(l,l-1),   a99 = m_S.coeff(l,l),
-
-          b11 = m_T.coeff(f,f),     b12 = m_T.coeff(f,f+1),
-                                    b22 = m_T.coeff(f+1,f+1),
-
-          b88 = m_T.coeff(l-1,l-1), b89 = m_T.coeff(l-1,l),
-                                    b99 = m_T.coeff(l,l);
-
-        x = ( (a88/b88 - a11/b11)*(a99/b99 - a11/b11) - (a89/b99)*(a98/b88) + (a98/b88)*(b89/b99)*(a11/b11) ) * (b11/a21)
-          + a12/b22 - (a11/b11)*(b12/b22);
-        y = (a22/b22-a11/b11) - (a21/b11)*(b12/b22) - (a88/b88-a11/b11) - (a99/b99-a11/b11) + (a98/b88)*(b89/b99);
-        z = a32/b22;
-      }
-
-      JRs G;
-
-      for (Index k=f; k<=l-2; k++)
-      {
-        // variables for Householder reflections
-        Vector2s essential2;
-        Scalar tau, beta;
-
-        Vector3s hr(x,y,z);
-
-        // Q_k to annihilate S(k+1,k-1) and S(k+2,k-1)
-        hr.makeHouseholderInPlace(tau, beta);
-        essential2 = hr.template bottomRows<2>();
-        Index fc=(std::max)(k-1,Index(0));  // first col to update
-        m_S.template middleRows<3>(k).rightCols(dim-fc).applyHouseholderOnTheLeft(essential2, tau, m_workspace.data());
-        m_T.template middleRows<3>(k).rightCols(dim-fc).applyHouseholderOnTheLeft(essential2, tau, m_workspace.data());
-        if (m_computeQZ)
-          m_Q.template middleCols<3>(k).applyHouseholderOnTheRight(essential2, tau, m_workspace.data());
-        if (k>f)
-          m_S.coeffRef(k+2,k-1) = m_S.coeffRef(k+1,k-1) = Scalar(0.0);
-
-        // Z_{k1} to annihilate T(k+2,k+1) and T(k+2,k)
-        hr << m_T.coeff(k+2,k+2),m_T.coeff(k+2,k),m_T.coeff(k+2,k+1);
-        hr.makeHouseholderInPlace(tau, beta);
-        essential2 = hr.template bottomRows<2>();
-        {
-          Index lr = (std::min)(k+4,dim); // last row to update
-          Map<Matrix<Scalar,Dynamic,1> > tmp(m_workspace.data(),lr);
-          // S
-          tmp = m_S.template middleCols<2>(k).topRows(lr) * essential2;
-          tmp += m_S.col(k+2).head(lr);
-          m_S.col(k+2).head(lr) -= tau*tmp;
-          m_S.template middleCols<2>(k).topRows(lr) -= (tau*tmp) * essential2.adjoint();
-          // T
-          tmp = m_T.template middleCols<2>(k).topRows(lr) * essential2;
-          tmp += m_T.col(k+2).head(lr);
-          m_T.col(k+2).head(lr) -= tau*tmp;
-          m_T.template middleCols<2>(k).topRows(lr) -= (tau*tmp) * essential2.adjoint();
-        }
-        if (m_computeQZ)
-        {
-          // Z
-          Map<Matrix<Scalar,1,Dynamic> > tmp(m_workspace.data(),dim);
-          tmp = essential2.adjoint()*(m_Z.template middleRows<2>(k));
-          tmp += m_Z.row(k+2);
-          m_Z.row(k+2) -= tau*tmp;
-          m_Z.template middleRows<2>(k) -= essential2 * (tau*tmp);
-        }
-        m_T.coeffRef(k+2,k) = m_T.coeffRef(k+2,k+1) = Scalar(0.0);
-
-        // Z_{k2} to annihilate T(k+1,k)
-        G.makeGivens(m_T.coeff(k+1,k+1), m_T.coeff(k+1,k));
-        m_S.applyOnTheRight(k+1,k,G);
-        m_T.applyOnTheRight(k+1,k,G);
-        // update Z
-        if (m_computeQZ)
-          m_Z.applyOnTheLeft(k+1,k,G.adjoint());
-        m_T.coeffRef(k+1,k) = Scalar(0.0);
-
-        // update x,y,z
-        x = m_S.coeff(k+1,k);
-        y = m_S.coeff(k+2,k);
-        if (k < l-2)
-          z = m_S.coeff(k+3,k);
-      } // loop over k
-
-      // Q_{n-1} to annihilate y = S(l,l-2)
-      G.makeGivens(x,y);
-      m_S.applyOnTheLeft(l-1,l,G.adjoint());
-      m_T.applyOnTheLeft(l-1,l,G.adjoint());
-      if (m_computeQZ)
-        m_Q.applyOnTheRight(l-1,l,G);
-      m_S.coeffRef(l,l-2) = Scalar(0.0);
-
-      // Z_{n-1} to annihilate T(l,l-1)
-      G.makeGivens(m_T.coeff(l,l),m_T.coeff(l,l-1));
-      m_S.applyOnTheRight(l,l-1,G);
-      m_T.applyOnTheRight(l,l-1,G);
-      if (m_computeQZ)
-        m_Z.applyOnTheLeft(l,l-1,G.adjoint());
-      m_T.coeffRef(l,l-1) = Scalar(0.0);
-    }
-
-
-  template<typename MatrixType>
-    RealQZ<MatrixType>& RealQZ<MatrixType>::compute(const MatrixType& A_in, const MatrixType& B_in, bool computeQZ)
-    {
-
-      const Index dim = A_in.cols();
-
-      eigen_assert (A_in.rows()==dim && A_in.cols()==dim 
-          && B_in.rows()==dim && B_in.cols()==dim 
-          && "Need square matrices of the same dimension");
-
-      m_isInitialized = true;
-      m_computeQZ = computeQZ;
-      m_S = A_in; m_T = B_in;
-      m_workspace.resize(dim*2);
-      m_global_iter = 0;
-
-      // entrance point: hessenberg triangular decomposition
-      hessenbergTriangular();
-      // compute L1 vector norms of T, S into m_normOfS, m_normOfT
-      computeNorms();
-
-      Index l = dim-1, 
-            f, 
-            local_iter = 0;
-
-      while (l>0 && local_iter<m_maxIters)
-      {
-        f = findSmallSubdiagEntry(l);
-        // now rows and columns f..l (including) decouple from the rest of the problem
-        if (f>0) m_S.coeffRef(f,f-1) = Scalar(0.0);
-        if (f == l) // One root found
-        {
-          l--;
-          local_iter = 0;
-        }
-        else if (f == l-1) // Two roots found
-        {
-          splitOffTwoRows(f);
-          l -= 2;
-          local_iter = 0;
-        }
-        else // No convergence yet
-        {
-          // if there's zero on diagonal of T, we can isolate an eigenvalue with Givens rotations
-          Index z = findSmallDiagEntry(f,l);
-          if (z>=f)
-          {
-            // zero found
-            pushDownZero(z,f,l);
-          }
-          else
-          {
-            // We are sure now that S.block(f,f, l-f+1,l-f+1) is underuced upper-Hessenberg 
-            // and T.block(f,f, l-f+1,l-f+1) is invertible uper-triangular, which allows to
-            // apply a QR-like iteration to rows and columns f..l.
-            step(f,l, local_iter);
-            local_iter++;
-            m_global_iter++;
-          }
-        }
-      }
-      // check if we converged before reaching iterations limit
-      m_info = (local_iter<m_maxIters) ? Success : NoConvergence;
-      return *this;
-    } // end compute
-
-} // end namespace Eigen
-
-#endif //EIGEN_REAL_QZ
diff --git a/lib/Eigen/src/Eigenvalues/RealSchur.h b/lib/Eigen/src/Eigenvalues/RealSchur.h
deleted file mode 100644
index 16d38753..00000000
--- a/lib/Eigen/src/Eigenvalues/RealSchur.h
+++ /dev/null
@@ -1,525 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010,2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_REAL_SCHUR_H
-#define EIGEN_REAL_SCHUR_H
-
-#include "./HessenbergDecomposition.h"
-
-namespace Eigen { 
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \class RealSchur
-  *
-  * \brief Performs a real Schur decomposition of a square matrix
-  *
-  * \tparam _MatrixType the type of the matrix of which we are computing the
-  * real Schur decomposition; this is expected to be an instantiation of the
-  * Matrix class template.
-  *
-  * Given a real square matrix A, this class computes the real Schur
-  * decomposition: \f$ A = U T U^T \f$ where U is a real orthogonal matrix and
-  * T is a real quasi-triangular matrix. An orthogonal matrix is a matrix whose
-  * inverse is equal to its transpose, \f$ U^{-1} = U^T \f$. A quasi-triangular
-  * matrix is a block-triangular matrix whose diagonal consists of 1-by-1
-  * blocks and 2-by-2 blocks with complex eigenvalues. The eigenvalues of the
-  * blocks on the diagonal of T are the same as the eigenvalues of the matrix
-  * A, and thus the real Schur decomposition is used in EigenSolver to compute
-  * the eigendecomposition of a matrix.
-  *
-  * Call the function compute() to compute the real Schur decomposition of a
-  * given matrix. Alternatively, you can use the RealSchur(const MatrixType&, bool)
-  * constructor which computes the real Schur decomposition at construction
-  * time. Once the decomposition is computed, you can use the matrixU() and
-  * matrixT() functions to retrieve the matrices U and T in the decomposition.
-  *
-  * The documentation of RealSchur(const MatrixType&, bool) contains an example
-  * of the typical use of this class.
-  *
-  * \note The implementation is adapted from
-  * <a href="http://math.nist.gov/javanumerics/jama/">JAMA</a> (public domain).
-  * Their code is based on EISPACK.
-  *
-  * \sa class ComplexSchur, class EigenSolver, class ComplexEigenSolver
-  */
-template<typename _MatrixType> class RealSchur
-{
-  public:
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef std::complex<typename NumTraits<Scalar>::Real> ComplexScalar;
-    typedef typename MatrixType::Index Index;
-
-    typedef Matrix<ComplexScalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> EigenvalueType;
-    typedef Matrix<Scalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> ColumnVectorType;
-
-    /** \brief Default constructor.
-      *
-      * \param [in] size  Positive integer, size of the matrix whose Schur decomposition will be computed.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via compute().  The \p size parameter is only
-      * used as a hint. It is not an error to give a wrong \p size, but it may
-      * impair performance.
-      *
-      * \sa compute() for an example.
-      */
-    RealSchur(Index size = RowsAtCompileTime==Dynamic ? 1 : RowsAtCompileTime)
-            : m_matT(size, size),
-              m_matU(size, size),
-              m_workspaceVector(size),
-              m_hess(size),
-              m_isInitialized(false),
-              m_matUisUptodate(false),
-              m_maxIters(-1)
-    { }
-
-    /** \brief Constructor; computes real Schur decomposition of given matrix. 
-      * 
-      * \param[in]  matrix    Square matrix whose Schur decomposition is to be computed.
-      * \param[in]  computeU  If true, both T and U are computed; if false, only T is computed.
-      *
-      * This constructor calls compute() to compute the Schur decomposition.
-      *
-      * Example: \include RealSchur_RealSchur_MatrixType.cpp
-      * Output: \verbinclude RealSchur_RealSchur_MatrixType.out
-      */
-    RealSchur(const MatrixType& matrix, bool computeU = true)
-            : m_matT(matrix.rows(),matrix.cols()),
-              m_matU(matrix.rows(),matrix.cols()),
-              m_workspaceVector(matrix.rows()),
-              m_hess(matrix.rows()),
-              m_isInitialized(false),
-              m_matUisUptodate(false),
-              m_maxIters(-1)
-    {
-      compute(matrix, computeU);
-    }
-
-    /** \brief Returns the orthogonal matrix in the Schur decomposition. 
-      *
-      * \returns A const reference to the matrix U.
-      *
-      * \pre Either the constructor RealSchur(const MatrixType&, bool) or the
-      * member function compute(const MatrixType&, bool) has been called before
-      * to compute the Schur decomposition of a matrix, and \p computeU was set
-      * to true (the default value).
-      *
-      * \sa RealSchur(const MatrixType&, bool) for an example
-      */
-    const MatrixType& matrixU() const
-    {
-      eigen_assert(m_isInitialized && "RealSchur is not initialized.");
-      eigen_assert(m_matUisUptodate && "The matrix U has not been computed during the RealSchur decomposition.");
-      return m_matU;
-    }
-
-    /** \brief Returns the quasi-triangular matrix in the Schur decomposition. 
-      *
-      * \returns A const reference to the matrix T.
-      *
-      * \pre Either the constructor RealSchur(const MatrixType&, bool) or the
-      * member function compute(const MatrixType&, bool) has been called before
-      * to compute the Schur decomposition of a matrix.
-      *
-      * \sa RealSchur(const MatrixType&, bool) for an example
-      */
-    const MatrixType& matrixT() const
-    {
-      eigen_assert(m_isInitialized && "RealSchur is not initialized.");
-      return m_matT;
-    }
-  
-    /** \brief Computes Schur decomposition of given matrix. 
-      * 
-      * \param[in]  matrix    Square matrix whose Schur decomposition is to be computed.
-      * \param[in]  computeU  If true, both T and U are computed; if false, only T is computed.
-      * \returns    Reference to \c *this
-      *
-      * The Schur decomposition is computed by first reducing the matrix to
-      * Hessenberg form using the class HessenbergDecomposition. The Hessenberg
-      * matrix is then reduced to triangular form by performing Francis QR
-      * iterations with implicit double shift. The cost of computing the Schur
-      * decomposition depends on the number of iterations; as a rough guide, it
-      * may be taken to be \f$25n^3\f$ flops if \a computeU is true and
-      * \f$10n^3\f$ flops if \a computeU is false.
-      *
-      * Example: \include RealSchur_compute.cpp
-      * Output: \verbinclude RealSchur_compute.out
-      *
-      * \sa compute(const MatrixType&, bool, Index)
-      */
-    RealSchur& compute(const MatrixType& matrix, bool computeU = true);
-
-    /** \brief Computes Schur decomposition of a Hessenberg matrix H = Z T Z^T
-     *  \param[in] matrixH Matrix in Hessenberg form H
-     *  \param[in] matrixQ orthogonal matrix Q that transform a matrix A to H : A = Q H Q^T
-     *  \param computeU Computes the matriX U of the Schur vectors
-     * \return Reference to \c *this
-     * 
-     *  This routine assumes that the matrix is already reduced in Hessenberg form matrixH
-     *  using either the class HessenbergDecomposition or another mean. 
-     *  It computes the upper quasi-triangular matrix T of the Schur decomposition of H
-     *  When computeU is true, this routine computes the matrix U such that 
-     *  A = U T U^T =  (QZ) T (QZ)^T = Q H Q^T where A is the initial matrix
-     * 
-     * NOTE Q is referenced if computeU is true; so, if the initial orthogonal matrix
-     * is not available, the user should give an identity matrix (Q.setIdentity())
-     * 
-     * \sa compute(const MatrixType&, bool)
-     */
-    template<typename HessMatrixType, typename OrthMatrixType>
-    RealSchur& computeFromHessenberg(const HessMatrixType& matrixH, const OrthMatrixType& matrixQ,  bool computeU);
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful, \c NoConvergence otherwise.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "RealSchur is not initialized.");
-      return m_info;
-    }
-
-    /** \brief Sets the maximum number of iterations allowed. 
-      *
-      * If not specified by the user, the maximum number of iterations is m_maxIterationsPerRow times the size
-      * of the matrix.
-      */
-    RealSchur& setMaxIterations(Index maxIters)
-    {
-      m_maxIters = maxIters;
-      return *this;
-    }
-
-    /** \brief Returns the maximum number of iterations. */
-    Index getMaxIterations()
-    {
-      return m_maxIters;
-    }
-
-    /** \brief Maximum number of iterations per row.
-      *
-      * If not otherwise specified, the maximum number of iterations is this number times the size of the
-      * matrix. It is currently set to 40.
-      */
-    static const int m_maxIterationsPerRow = 40;
-
-  private:
-    
-    MatrixType m_matT;
-    MatrixType m_matU;
-    ColumnVectorType m_workspaceVector;
-    HessenbergDecomposition<MatrixType> m_hess;
-    ComputationInfo m_info;
-    bool m_isInitialized;
-    bool m_matUisUptodate;
-    Index m_maxIters;
-
-    typedef Matrix<Scalar,3,1> Vector3s;
-
-    Scalar computeNormOfT();
-    Index findSmallSubdiagEntry(Index iu);
-    void splitOffTwoRows(Index iu, bool computeU, const Scalar& exshift);
-    void computeShift(Index iu, Index iter, Scalar& exshift, Vector3s& shiftInfo);
-    void initFrancisQRStep(Index il, Index iu, const Vector3s& shiftInfo, Index& im, Vector3s& firstHouseholderVector);
-    void performFrancisQRStep(Index il, Index im, Index iu, bool computeU, const Vector3s& firstHouseholderVector, Scalar* workspace);
-};
-
-
-template<typename MatrixType>
-RealSchur<MatrixType>& RealSchur<MatrixType>::compute(const MatrixType& matrix, bool computeU)
-{
-  eigen_assert(matrix.cols() == matrix.rows());
-  Index maxIters = m_maxIters;
-  if (maxIters == -1)
-    maxIters = m_maxIterationsPerRow * matrix.rows();
-
-  // Step 1. Reduce to Hessenberg form
-  m_hess.compute(matrix);
-
-  // Step 2. Reduce to real Schur form  
-  computeFromHessenberg(m_hess.matrixH(), m_hess.matrixQ(), computeU);
-  
-  return *this;
-}
-template<typename MatrixType>
-template<typename HessMatrixType, typename OrthMatrixType>
-RealSchur<MatrixType>& RealSchur<MatrixType>::computeFromHessenberg(const HessMatrixType& matrixH, const OrthMatrixType& matrixQ,  bool computeU)
-{  
-  m_matT = matrixH; 
-  if(computeU)
-    m_matU = matrixQ;
-  
-  Index maxIters = m_maxIters;
-  if (maxIters == -1)
-    maxIters = m_maxIterationsPerRow * matrixH.rows();
-  m_workspaceVector.resize(m_matT.cols());
-  Scalar* workspace = &m_workspaceVector.coeffRef(0);
-
-  // The matrix m_matT is divided in three parts. 
-  // Rows 0,...,il-1 are decoupled from the rest because m_matT(il,il-1) is zero. 
-  // Rows il,...,iu is the part we are working on (the active window).
-  // Rows iu+1,...,end are already brought in triangular form.
-  Index iu = m_matT.cols() - 1;
-  Index iter = 0;      // iteration count for current eigenvalue
-  Index totalIter = 0; // iteration count for whole matrix
-  Scalar exshift(0);   // sum of exceptional shifts
-  Scalar norm = computeNormOfT();
-
-  if(norm!=0)
-  {
-    while (iu >= 0)
-    {
-      Index il = findSmallSubdiagEntry(iu);
-
-      // Check for convergence
-      if (il == iu) // One root found
-      {
-        m_matT.coeffRef(iu,iu) = m_matT.coeff(iu,iu) + exshift;
-        if (iu > 0)
-          m_matT.coeffRef(iu, iu-1) = Scalar(0);
-        iu--;
-        iter = 0;
-      }
-      else if (il == iu-1) // Two roots found
-      {
-        splitOffTwoRows(iu, computeU, exshift);
-        iu -= 2;
-        iter = 0;
-      }
-      else // No convergence yet
-      {
-        // The firstHouseholderVector vector has to be initialized to something to get rid of a silly GCC warning (-O1 -Wall -DNDEBUG )
-        Vector3s firstHouseholderVector(0,0,0), shiftInfo;
-        computeShift(iu, iter, exshift, shiftInfo);
-        iter = iter + 1;
-        totalIter = totalIter + 1;
-        if (totalIter > maxIters) break;
-        Index im;
-        initFrancisQRStep(il, iu, shiftInfo, im, firstHouseholderVector);
-        performFrancisQRStep(il, im, iu, computeU, firstHouseholderVector, workspace);
-      }
-    }
-  }
-  if(totalIter <= maxIters)
-    m_info = Success;
-  else
-    m_info = NoConvergence;
-
-  m_isInitialized = true;
-  m_matUisUptodate = computeU;
-  return *this;
-}
-
-/** \internal Computes and returns vector L1 norm of T */
-template<typename MatrixType>
-inline typename MatrixType::Scalar RealSchur<MatrixType>::computeNormOfT()
-{
-  const Index size = m_matT.cols();
-  // FIXME to be efficient the following would requires a triangular reduxion code
-  // Scalar norm = m_matT.upper().cwiseAbs().sum() 
-  //               + m_matT.bottomLeftCorner(size-1,size-1).diagonal().cwiseAbs().sum();
-  Scalar norm(0);
-  for (Index j = 0; j < size; ++j)
-    norm += m_matT.col(j).segment(0, (std::min)(size,j+2)).cwiseAbs().sum();
-  return norm;
-}
-
-/** \internal Look for single small sub-diagonal element and returns its index */
-template<typename MatrixType>
-inline typename MatrixType::Index RealSchur<MatrixType>::findSmallSubdiagEntry(Index iu)
-{
-  using std::abs;
-  Index res = iu;
-  while (res > 0)
-  {
-    Scalar s = abs(m_matT.coeff(res-1,res-1)) + abs(m_matT.coeff(res,res));
-    if (abs(m_matT.coeff(res,res-1)) <= NumTraits<Scalar>::epsilon() * s)
-      break;
-    res--;
-  }
-  return res;
-}
-
-/** \internal Update T given that rows iu-1 and iu decouple from the rest. */
-template<typename MatrixType>
-inline void RealSchur<MatrixType>::splitOffTwoRows(Index iu, bool computeU, const Scalar& exshift)
-{
-  using std::sqrt;
-  using std::abs;
-  const Index size = m_matT.cols();
-
-  // The eigenvalues of the 2x2 matrix [a b; c d] are 
-  // trace +/- sqrt(discr/4) where discr = tr^2 - 4*det, tr = a + d, det = ad - bc
-  Scalar p = Scalar(0.5) * (m_matT.coeff(iu-1,iu-1) - m_matT.coeff(iu,iu));
-  Scalar q = p * p + m_matT.coeff(iu,iu-1) * m_matT.coeff(iu-1,iu);   // q = tr^2 / 4 - det = discr/4
-  m_matT.coeffRef(iu,iu) += exshift;
-  m_matT.coeffRef(iu-1,iu-1) += exshift;
-
-  if (q >= Scalar(0)) // Two real eigenvalues
-  {
-    Scalar z = sqrt(abs(q));
-    JacobiRotation<Scalar> rot;
-    if (p >= Scalar(0))
-      rot.makeGivens(p + z, m_matT.coeff(iu, iu-1));
-    else
-      rot.makeGivens(p - z, m_matT.coeff(iu, iu-1));
-
-    m_matT.rightCols(size-iu+1).applyOnTheLeft(iu-1, iu, rot.adjoint());
-    m_matT.topRows(iu+1).applyOnTheRight(iu-1, iu, rot);
-    m_matT.coeffRef(iu, iu-1) = Scalar(0); 
-    if (computeU)
-      m_matU.applyOnTheRight(iu-1, iu, rot);
-  }
-
-  if (iu > 1) 
-    m_matT.coeffRef(iu-1, iu-2) = Scalar(0);
-}
-
-/** \internal Form shift in shiftInfo, and update exshift if an exceptional shift is performed. */
-template<typename MatrixType>
-inline void RealSchur<MatrixType>::computeShift(Index iu, Index iter, Scalar& exshift, Vector3s& shiftInfo)
-{
-  using std::sqrt;
-  using std::abs;
-  shiftInfo.coeffRef(0) = m_matT.coeff(iu,iu);
-  shiftInfo.coeffRef(1) = m_matT.coeff(iu-1,iu-1);
-  shiftInfo.coeffRef(2) = m_matT.coeff(iu,iu-1) * m_matT.coeff(iu-1,iu);
-
-  // Wilkinson's original ad hoc shift
-  if (iter == 10)
-  {
-    exshift += shiftInfo.coeff(0);
-    for (Index i = 0; i <= iu; ++i)
-      m_matT.coeffRef(i,i) -= shiftInfo.coeff(0);
-    Scalar s = abs(m_matT.coeff(iu,iu-1)) + abs(m_matT.coeff(iu-1,iu-2));
-    shiftInfo.coeffRef(0) = Scalar(0.75) * s;
-    shiftInfo.coeffRef(1) = Scalar(0.75) * s;
-    shiftInfo.coeffRef(2) = Scalar(-0.4375) * s * s;
-  }
-
-  // MATLAB's new ad hoc shift
-  if (iter == 30)
-  {
-    Scalar s = (shiftInfo.coeff(1) - shiftInfo.coeff(0)) / Scalar(2.0);
-    s = s * s + shiftInfo.coeff(2);
-    if (s > Scalar(0))
-    {
-      s = sqrt(s);
-      if (shiftInfo.coeff(1) < shiftInfo.coeff(0))
-        s = -s;
-      s = s + (shiftInfo.coeff(1) - shiftInfo.coeff(0)) / Scalar(2.0);
-      s = shiftInfo.coeff(0) - shiftInfo.coeff(2) / s;
-      exshift += s;
-      for (Index i = 0; i <= iu; ++i)
-        m_matT.coeffRef(i,i) -= s;
-      shiftInfo.setConstant(Scalar(0.964));
-    }
-  }
-}
-
-/** \internal Compute index im at which Francis QR step starts and the first Householder vector. */
-template<typename MatrixType>
-inline void RealSchur<MatrixType>::initFrancisQRStep(Index il, Index iu, const Vector3s& shiftInfo, Index& im, Vector3s& firstHouseholderVector)
-{
-  using std::abs;
-  Vector3s& v = firstHouseholderVector; // alias to save typing
-
-  for (im = iu-2; im >= il; --im)
-  {
-    const Scalar Tmm = m_matT.coeff(im,im);
-    const Scalar r = shiftInfo.coeff(0) - Tmm;
-    const Scalar s = shiftInfo.coeff(1) - Tmm;
-    v.coeffRef(0) = (r * s - shiftInfo.coeff(2)) / m_matT.coeff(im+1,im) + m_matT.coeff(im,im+1);
-    v.coeffRef(1) = m_matT.coeff(im+1,im+1) - Tmm - r - s;
-    v.coeffRef(2) = m_matT.coeff(im+2,im+1);
-    if (im == il) {
-      break;
-    }
-    const Scalar lhs = m_matT.coeff(im,im-1) * (abs(v.coeff(1)) + abs(v.coeff(2)));
-    const Scalar rhs = v.coeff(0) * (abs(m_matT.coeff(im-1,im-1)) + abs(Tmm) + abs(m_matT.coeff(im+1,im+1)));
-    if (abs(lhs) < NumTraits<Scalar>::epsilon() * rhs)
-      break;
-  }
-}
-
-/** \internal Perform a Francis QR step involving rows il:iu and columns im:iu. */
-template<typename MatrixType>
-inline void RealSchur<MatrixType>::performFrancisQRStep(Index il, Index im, Index iu, bool computeU, const Vector3s& firstHouseholderVector, Scalar* workspace)
-{
-  eigen_assert(im >= il);
-  eigen_assert(im <= iu-2);
-
-  const Index size = m_matT.cols();
-
-  for (Index k = im; k <= iu-2; ++k)
-  {
-    bool firstIteration = (k == im);
-
-    Vector3s v;
-    if (firstIteration)
-      v = firstHouseholderVector;
-    else
-      v = m_matT.template block<3,1>(k,k-1);
-
-    Scalar tau, beta;
-    Matrix<Scalar, 2, 1> ess;
-    v.makeHouseholder(ess, tau, beta);
-    
-    if (beta != Scalar(0)) // if v is not zero
-    {
-      if (firstIteration && k > il)
-        m_matT.coeffRef(k,k-1) = -m_matT.coeff(k,k-1);
-      else if (!firstIteration)
-        m_matT.coeffRef(k,k-1) = beta;
-
-      // These Householder transformations form the O(n^3) part of the algorithm
-      m_matT.block(k, k, 3, size-k).applyHouseholderOnTheLeft(ess, tau, workspace);
-      m_matT.block(0, k, (std::min)(iu,k+3) + 1, 3).applyHouseholderOnTheRight(ess, tau, workspace);
-      if (computeU)
-        m_matU.block(0, k, size, 3).applyHouseholderOnTheRight(ess, tau, workspace);
-    }
-  }
-
-  Matrix<Scalar, 2, 1> v = m_matT.template block<2,1>(iu-1, iu-2);
-  Scalar tau, beta;
-  Matrix<Scalar, 1, 1> ess;
-  v.makeHouseholder(ess, tau, beta);
-
-  if (beta != Scalar(0)) // if v is not zero
-  {
-    m_matT.coeffRef(iu-1, iu-2) = beta;
-    m_matT.block(iu-1, iu-1, 2, size-iu+1).applyHouseholderOnTheLeft(ess, tau, workspace);
-    m_matT.block(0, iu-1, iu+1, 2).applyHouseholderOnTheRight(ess, tau, workspace);
-    if (computeU)
-      m_matU.block(0, iu-1, size, 2).applyHouseholderOnTheRight(ess, tau, workspace);
-  }
-
-  // clean up pollution due to round-off errors
-  for (Index i = im+2; i <= iu; ++i)
-  {
-    m_matT.coeffRef(i,i-2) = Scalar(0);
-    if (i > im+2)
-      m_matT.coeffRef(i,i-3) = Scalar(0);
-  }
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_REAL_SCHUR_H
diff --git a/lib/Eigen/src/Eigenvalues/RealSchur_MKL.h b/lib/Eigen/src/Eigenvalues/RealSchur_MKL.h
deleted file mode 100644
index c3089b46..00000000
--- a/lib/Eigen/src/Eigenvalues/RealSchur_MKL.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *    Real Schur needed to real unsymmetrical eigenvalues/eigenvectors.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_REAL_SCHUR_MKL_H
-#define EIGEN_REAL_SCHUR_MKL_H
-
-#include "Eigen/src/Core/util/MKL_support.h"
-
-namespace Eigen { 
-
-/** \internal Specialization for the data types supported by MKL */
-
-#define EIGEN_MKL_SCHUR_REAL(EIGTYPE, MKLTYPE, MKLPREFIX, MKLPREFIX_U, EIGCOLROW, MKLCOLROW) \
-template<> inline \
-RealSchur<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW> >& \
-RealSchur<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW> >::compute(const Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW>& matrix, bool computeU) \
-{ \
-  eigen_assert(matrix.cols() == matrix.rows()); \
-\
-  lapack_int n = matrix.cols(), sdim, info; \
-  lapack_int lda = matrix.outerStride(); \
-  lapack_int matrix_order = MKLCOLROW; \
-  char jobvs, sort='N'; \
-  LAPACK_##MKLPREFIX_U##_SELECT2 select = 0; \
-  jobvs = (computeU) ? 'V' : 'N'; \
-  m_matU.resize(n, n); \
-  lapack_int ldvs  = m_matU.outerStride(); \
-  m_matT = matrix; \
-  Matrix<EIGTYPE, Dynamic, Dynamic> wr, wi; \
-  wr.resize(n, 1); wi.resize(n, 1); \
-  info = LAPACKE_##MKLPREFIX##gees( matrix_order, jobvs, sort, select, n, (MKLTYPE*)m_matT.data(), lda, &sdim, (MKLTYPE*)wr.data(), (MKLTYPE*)wi.data(), (MKLTYPE*)m_matU.data(), ldvs ); \
-  if(info == 0) \
-    m_info = Success; \
-  else \
-    m_info = NoConvergence; \
-\
-  m_isInitialized = true; \
-  m_matUisUptodate = computeU; \
-  return *this; \
-\
-}
-
-EIGEN_MKL_SCHUR_REAL(double,   double, d, D, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_SCHUR_REAL(float,    float,  s, S, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_SCHUR_REAL(double,   double, d, D, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_SCHUR_REAL(float,    float,  s, S, RowMajor, LAPACK_ROW_MAJOR)
-
-} // end namespace Eigen
-
-#endif // EIGEN_REAL_SCHUR_MKL_H
diff --git a/lib/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h b/lib/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
deleted file mode 100644
index 1131c8af..00000000
--- a/lib/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
+++ /dev/null
@@ -1,801 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SELFADJOINTEIGENSOLVER_H
-#define EIGEN_SELFADJOINTEIGENSOLVER_H
-
-#include "./Tridiagonalization.h"
-
-namespace Eigen { 
-
-template<typename _MatrixType>
-class GeneralizedSelfAdjointEigenSolver;
-
-namespace internal {
-template<typename SolverType,int Size,bool IsComplex> struct direct_selfadjoint_eigenvalues;
-}
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \class SelfAdjointEigenSolver
-  *
-  * \brief Computes eigenvalues and eigenvectors of selfadjoint matrices
-  *
-  * \tparam _MatrixType the type of the matrix of which we are computing the
-  * eigendecomposition; this is expected to be an instantiation of the Matrix
-  * class template.
-  *
-  * A matrix \f$ A \f$ is selfadjoint if it equals its adjoint. For real
-  * matrices, this means that the matrix is symmetric: it equals its
-  * transpose. This class computes the eigenvalues and eigenvectors of a
-  * selfadjoint matrix. These are the scalars \f$ \lambda \f$ and vectors
-  * \f$ v \f$ such that \f$ Av = \lambda v \f$.  The eigenvalues of a
-  * selfadjoint matrix are always real. If \f$ D \f$ is a diagonal matrix with
-  * the eigenvalues on the diagonal, and \f$ V \f$ is a matrix with the
-  * eigenvectors as its columns, then \f$ A = V D V^{-1} \f$ (for selfadjoint
-  * matrices, the matrix \f$ V \f$ is always invertible). This is called the
-  * eigendecomposition.
-  *
-  * The algorithm exploits the fact that the matrix is selfadjoint, making it
-  * faster and more accurate than the general purpose eigenvalue algorithms
-  * implemented in EigenSolver and ComplexEigenSolver.
-  *
-  * Only the \b lower \b triangular \b part of the input matrix is referenced.
-  *
-  * Call the function compute() to compute the eigenvalues and eigenvectors of
-  * a given matrix. Alternatively, you can use the
-  * SelfAdjointEigenSolver(const MatrixType&, int) constructor which computes
-  * the eigenvalues and eigenvectors at construction time. Once the eigenvalue
-  * and eigenvectors are computed, they can be retrieved with the eigenvalues()
-  * and eigenvectors() functions.
-  *
-  * The documentation for SelfAdjointEigenSolver(const MatrixType&, int)
-  * contains an example of the typical use of this class.
-  *
-  * To solve the \em generalized eigenvalue problem \f$ Av = \lambda Bv \f$ and
-  * the likes, see the class GeneralizedSelfAdjointEigenSolver.
-  *
-  * \sa MatrixBase::eigenvalues(), class EigenSolver, class ComplexEigenSolver
-  */
-template<typename _MatrixType> class SelfAdjointEigenSolver
-{
-  public:
-
-    typedef _MatrixType MatrixType;
-    enum {
-      Size = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-    
-    /** \brief Scalar type for matrices of type \p _MatrixType. */
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::Index Index;
-    
-    typedef Matrix<Scalar,Size,Size,ColMajor,MaxColsAtCompileTime,MaxColsAtCompileTime> EigenvectorsType;
-
-    /** \brief Real scalar type for \p _MatrixType.
-      *
-      * This is just \c Scalar if #Scalar is real (e.g., \c float or
-      * \c double), and the type of the real part of \c Scalar if #Scalar is
-      * complex.
-      */
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    
-    friend struct internal::direct_selfadjoint_eigenvalues<SelfAdjointEigenSolver,Size,NumTraits<Scalar>::IsComplex>;
-
-    /** \brief Type for vector of eigenvalues as returned by eigenvalues().
-      *
-      * This is a column vector with entries of type #RealScalar.
-      * The length of the vector is the size of \p _MatrixType.
-      */
-    typedef typename internal::plain_col_type<MatrixType, RealScalar>::type RealVectorType;
-    typedef Tridiagonalization<MatrixType> TridiagonalizationType;
-
-    /** \brief Default constructor for fixed-size matrices.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via compute(). This constructor
-      * can only be used if \p _MatrixType is a fixed-size matrix; use
-      * SelfAdjointEigenSolver(Index) for dynamic-size matrices.
-      *
-      * Example: \include SelfAdjointEigenSolver_SelfAdjointEigenSolver.cpp
-      * Output: \verbinclude SelfAdjointEigenSolver_SelfAdjointEigenSolver.out
-      */
-    SelfAdjointEigenSolver()
-        : m_eivec(),
-          m_eivalues(),
-          m_subdiag(),
-          m_isInitialized(false)
-    { }
-
-    /** \brief Constructor, pre-allocates memory for dynamic-size matrices.
-      *
-      * \param [in]  size  Positive integer, size of the matrix whose
-      * eigenvalues and eigenvectors will be computed.
-      *
-      * This constructor is useful for dynamic-size matrices, when the user
-      * intends to perform decompositions via compute(). The \p size
-      * parameter is only used as a hint. It is not an error to give a wrong
-      * \p size, but it may impair performance.
-      *
-      * \sa compute() for an example
-      */
-    SelfAdjointEigenSolver(Index size)
-        : m_eivec(size, size),
-          m_eivalues(size),
-          m_subdiag(size > 1 ? size - 1 : 1),
-          m_isInitialized(false)
-    {}
-
-    /** \brief Constructor; computes eigendecomposition of given matrix.
-      *
-      * \param[in]  matrix  Selfadjoint matrix whose eigendecomposition is to
-      *    be computed. Only the lower triangular part of the matrix is referenced.
-      * \param[in]  options Can be #ComputeEigenvectors (default) or #EigenvaluesOnly.
-      *
-      * This constructor calls compute(const MatrixType&, int) to compute the
-      * eigenvalues of the matrix \p matrix. The eigenvectors are computed if
-      * \p options equals #ComputeEigenvectors.
-      *
-      * Example: \include SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType.cpp
-      * Output: \verbinclude SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType.out
-      *
-      * \sa compute(const MatrixType&, int)
-      */
-    SelfAdjointEigenSolver(const MatrixType& matrix, int options = ComputeEigenvectors)
-      : m_eivec(matrix.rows(), matrix.cols()),
-        m_eivalues(matrix.cols()),
-        m_subdiag(matrix.rows() > 1 ? matrix.rows() - 1 : 1),
-        m_isInitialized(false)
-    {
-      compute(matrix, options);
-    }
-
-    /** \brief Computes eigendecomposition of given matrix.
-      *
-      * \param[in]  matrix  Selfadjoint matrix whose eigendecomposition is to
-      *    be computed. Only the lower triangular part of the matrix is referenced.
-      * \param[in]  options Can be #ComputeEigenvectors (default) or #EigenvaluesOnly.
-      * \returns    Reference to \c *this
-      *
-      * This function computes the eigenvalues of \p matrix.  The eigenvalues()
-      * function can be used to retrieve them.  If \p options equals #ComputeEigenvectors,
-      * then the eigenvectors are also computed and can be retrieved by
-      * calling eigenvectors().
-      *
-      * This implementation uses a symmetric QR algorithm. The matrix is first
-      * reduced to tridiagonal form using the Tridiagonalization class. The
-      * tridiagonal matrix is then brought to diagonal form with implicit
-      * symmetric QR steps with Wilkinson shift. Details can be found in
-      * Section 8.3 of Golub \& Van Loan, <i>%Matrix Computations</i>.
-      *
-      * The cost of the computation is about \f$ 9n^3 \f$ if the eigenvectors
-      * are required and \f$ 4n^3/3 \f$ if they are not required.
-      *
-      * This method reuses the memory in the SelfAdjointEigenSolver object that
-      * was allocated when the object was constructed, if the size of the
-      * matrix does not change.
-      *
-      * Example: \include SelfAdjointEigenSolver_compute_MatrixType.cpp
-      * Output: \verbinclude SelfAdjointEigenSolver_compute_MatrixType.out
-      *
-      * \sa SelfAdjointEigenSolver(const MatrixType&, int)
-      */
-    SelfAdjointEigenSolver& compute(const MatrixType& matrix, int options = ComputeEigenvectors);
-    
-    /** \brief Computes eigendecomposition of given matrix using a direct algorithm
-      *
-      * This is a variant of compute(const MatrixType&, int options) which
-      * directly solves the underlying polynomial equation.
-      * 
-      * Currently only 3x3 matrices for which the sizes are known at compile time are supported (e.g., Matrix3d).
-      * 
-      * This method is usually significantly faster than the QR algorithm
-      * but it might also be less accurate. It is also worth noting that
-      * for 3x3 matrices it involves trigonometric operations which are
-      * not necessarily available for all scalar types.
-      *
-      * \sa compute(const MatrixType&, int options)
-      */
-    SelfAdjointEigenSolver& computeDirect(const MatrixType& matrix, int options = ComputeEigenvectors);
-
-    /** \brief Returns the eigenvectors of given matrix.
-      *
-      * \returns  A const reference to the matrix whose columns are the eigenvectors.
-      *
-      * \pre The eigenvectors have been computed before.
-      *
-      * Column \f$ k \f$ of the returned matrix is an eigenvector corresponding
-      * to eigenvalue number \f$ k \f$ as returned by eigenvalues().  The
-      * eigenvectors are normalized to have (Euclidean) norm equal to one. If
-      * this object was used to solve the eigenproblem for the selfadjoint
-      * matrix \f$ A \f$, then the matrix returned by this function is the
-      * matrix \f$ V \f$ in the eigendecomposition \f$ A = V D V^{-1} \f$.
-      *
-      * Example: \include SelfAdjointEigenSolver_eigenvectors.cpp
-      * Output: \verbinclude SelfAdjointEigenSolver_eigenvectors.out
-      *
-      * \sa eigenvalues()
-      */
-    const EigenvectorsType& eigenvectors() const
-    {
-      eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
-      eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
-      return m_eivec;
-    }
-
-    /** \brief Returns the eigenvalues of given matrix.
-      *
-      * \returns A const reference to the column vector containing the eigenvalues.
-      *
-      * \pre The eigenvalues have been computed before.
-      *
-      * The eigenvalues are repeated according to their algebraic multiplicity,
-      * so there are as many eigenvalues as rows in the matrix. The eigenvalues
-      * are sorted in increasing order.
-      *
-      * Example: \include SelfAdjointEigenSolver_eigenvalues.cpp
-      * Output: \verbinclude SelfAdjointEigenSolver_eigenvalues.out
-      *
-      * \sa eigenvectors(), MatrixBase::eigenvalues()
-      */
-    const RealVectorType& eigenvalues() const
-    {
-      eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
-      return m_eivalues;
-    }
-
-    /** \brief Computes the positive-definite square root of the matrix.
-      *
-      * \returns the positive-definite square root of the matrix
-      *
-      * \pre The eigenvalues and eigenvectors of a positive-definite matrix
-      * have been computed before.
-      *
-      * The square root of a positive-definite matrix \f$ A \f$ is the
-      * positive-definite matrix whose square equals \f$ A \f$. This function
-      * uses the eigendecomposition \f$ A = V D V^{-1} \f$ to compute the
-      * square root as \f$ A^{1/2} = V D^{1/2} V^{-1} \f$.
-      *
-      * Example: \include SelfAdjointEigenSolver_operatorSqrt.cpp
-      * Output: \verbinclude SelfAdjointEigenSolver_operatorSqrt.out
-      *
-      * \sa operatorInverseSqrt(),
-      *     \ref MatrixFunctions_Module "MatrixFunctions Module"
-      */
-    MatrixType operatorSqrt() const
-    {
-      eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
-      eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
-      return m_eivec * m_eivalues.cwiseSqrt().asDiagonal() * m_eivec.adjoint();
-    }
-
-    /** \brief Computes the inverse square root of the matrix.
-      *
-      * \returns the inverse positive-definite square root of the matrix
-      *
-      * \pre The eigenvalues and eigenvectors of a positive-definite matrix
-      * have been computed before.
-      *
-      * This function uses the eigendecomposition \f$ A = V D V^{-1} \f$ to
-      * compute the inverse square root as \f$ V D^{-1/2} V^{-1} \f$. This is
-      * cheaper than first computing the square root with operatorSqrt() and
-      * then its inverse with MatrixBase::inverse().
-      *
-      * Example: \include SelfAdjointEigenSolver_operatorInverseSqrt.cpp
-      * Output: \verbinclude SelfAdjointEigenSolver_operatorInverseSqrt.out
-      *
-      * \sa operatorSqrt(), MatrixBase::inverse(),
-      *     \ref MatrixFunctions_Module "MatrixFunctions Module"
-      */
-    MatrixType operatorInverseSqrt() const
-    {
-      eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
-      eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
-      return m_eivec * m_eivalues.cwiseInverse().cwiseSqrt().asDiagonal() * m_eivec.adjoint();
-    }
-
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful, \c NoConvergence otherwise.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
-      return m_info;
-    }
-
-    /** \brief Maximum number of iterations.
-      *
-      * The algorithm terminates if it does not converge within m_maxIterations * n iterations, where n
-      * denotes the size of the matrix. This value is currently set to 30 (copied from LAPACK).
-      */
-    static const int m_maxIterations = 30;
-
-    #ifdef EIGEN2_SUPPORT
-    SelfAdjointEigenSolver(const MatrixType& matrix, bool computeEigenvectors)
-      : m_eivec(matrix.rows(), matrix.cols()),
-        m_eivalues(matrix.cols()),
-        m_subdiag(matrix.rows() > 1 ? matrix.rows() - 1 : 1),
-        m_isInitialized(false)
-    {
-      compute(matrix, computeEigenvectors);
-    }
-    
-    SelfAdjointEigenSolver(const MatrixType& matA, const MatrixType& matB, bool computeEigenvectors = true)
-        : m_eivec(matA.cols(), matA.cols()),
-          m_eivalues(matA.cols()),
-          m_subdiag(matA.cols() > 1 ? matA.cols() - 1 : 1),
-          m_isInitialized(false)
-    {
-      static_cast<GeneralizedSelfAdjointEigenSolver<MatrixType>*>(this)->compute(matA, matB, computeEigenvectors ? ComputeEigenvectors : EigenvaluesOnly);
-    }
-    
-    void compute(const MatrixType& matrix, bool computeEigenvectors)
-    {
-      compute(matrix, computeEigenvectors ? ComputeEigenvectors : EigenvaluesOnly);
-    }
-
-    void compute(const MatrixType& matA, const MatrixType& matB, bool computeEigenvectors = true)
-    {
-      compute(matA, matB, computeEigenvectors ? ComputeEigenvectors : EigenvaluesOnly);
-    }
-    #endif // EIGEN2_SUPPORT
-
-  protected:
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-    
-    EigenvectorsType m_eivec;
-    RealVectorType m_eivalues;
-    typename TridiagonalizationType::SubDiagonalType m_subdiag;
-    ComputationInfo m_info;
-    bool m_isInitialized;
-    bool m_eigenvectorsOk;
-};
-
-/** \internal
-  *
-  * \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  * Performs a QR step on a tridiagonal symmetric matrix represented as a
-  * pair of two vectors \a diag and \a subdiag.
-  *
-  * \param matA the input selfadjoint matrix
-  * \param hCoeffs returned Householder coefficients
-  *
-  * For compilation efficiency reasons, this procedure does not use eigen expression
-  * for its arguments.
-  *
-  * Implemented from Golub's "Matrix Computations", algorithm 8.3.2:
-  * "implicit symmetric QR step with Wilkinson shift"
-  */
-namespace internal {
-template<typename RealScalar, typename Scalar, typename Index>
-static void tridiagonal_qr_step(RealScalar* diag, RealScalar* subdiag, Index start, Index end, Scalar* matrixQ, Index n);
-}
-
-template<typename MatrixType>
-SelfAdjointEigenSolver<MatrixType>& SelfAdjointEigenSolver<MatrixType>
-::compute(const MatrixType& matrix, int options)
-{
-  check_template_parameters();
-  
-  using std::abs;
-  eigen_assert(matrix.cols() == matrix.rows());
-  eigen_assert((options&~(EigVecMask|GenEigMask))==0
-          && (options&EigVecMask)!=EigVecMask
-          && "invalid option parameter");
-  bool computeEigenvectors = (options&ComputeEigenvectors)==ComputeEigenvectors;
-  Index n = matrix.cols();
-  m_eivalues.resize(n,1);
-
-  if(n==1)
-  {
-    m_eivalues.coeffRef(0,0) = numext::real(matrix.coeff(0,0));
-    if(computeEigenvectors)
-      m_eivec.setOnes(n,n);
-    m_info = Success;
-    m_isInitialized = true;
-    m_eigenvectorsOk = computeEigenvectors;
-    return *this;
-  }
-
-  // declare some aliases
-  RealVectorType& diag = m_eivalues;
-  EigenvectorsType& mat = m_eivec;
-
-  // map the matrix coefficients to [-1:1] to avoid over- and underflow.
-  mat = matrix.template triangularView<Lower>();
-  RealScalar scale = mat.cwiseAbs().maxCoeff();
-  if(scale==RealScalar(0)) scale = RealScalar(1);
-  mat.template triangularView<Lower>() /= scale;
-  m_subdiag.resize(n-1);
-  internal::tridiagonalization_inplace(mat, diag, m_subdiag, computeEigenvectors);
-  
-  Index end = n-1;
-  Index start = 0;
-  Index iter = 0; // total number of iterations
-
-  while (end>0)
-  {
-    for (Index i = start; i<end; ++i)
-      if (internal::isMuchSmallerThan(abs(m_subdiag[i]),(abs(diag[i])+abs(diag[i+1]))))
-        m_subdiag[i] = 0;
-
-    // find the largest unreduced block
-    while (end>0 && m_subdiag[end-1]==0)
-    {
-      end--;
-    }
-    if (end<=0)
-      break;
-
-    // if we spent too many iterations, we give up
-    iter++;
-    if(iter > m_maxIterations * n) break;
-
-    start = end - 1;
-    while (start>0 && m_subdiag[start-1]!=0)
-      start--;
-
-    internal::tridiagonal_qr_step(diag.data(), m_subdiag.data(), start, end, computeEigenvectors ? m_eivec.data() : (Scalar*)0, n);
-  }
-
-  if (iter <= m_maxIterations * n)
-    m_info = Success;
-  else
-    m_info = NoConvergence;
-
-  // Sort eigenvalues and corresponding vectors.
-  // TODO make the sort optional ?
-  // TODO use a better sort algorithm !!
-  if (m_info == Success)
-  {
-    for (Index i = 0; i < n-1; ++i)
-    {
-      Index k;
-      m_eivalues.segment(i,n-i).minCoeff(&k);
-      if (k > 0)
-      {
-        std::swap(m_eivalues[i], m_eivalues[k+i]);
-        if(computeEigenvectors)
-          m_eivec.col(i).swap(m_eivec.col(k+i));
-      }
-    }
-  }
-  
-  // scale back the eigen values
-  m_eivalues *= scale;
-
-  m_isInitialized = true;
-  m_eigenvectorsOk = computeEigenvectors;
-  return *this;
-}
-
-
-namespace internal {
-  
-template<typename SolverType,int Size,bool IsComplex> struct direct_selfadjoint_eigenvalues
-{
-  static inline void run(SolverType& eig, const typename SolverType::MatrixType& A, int options)
-  { eig.compute(A,options); }
-};
-
-template<typename SolverType> struct direct_selfadjoint_eigenvalues<SolverType,3,false>
-{
-  typedef typename SolverType::MatrixType MatrixType;
-  typedef typename SolverType::RealVectorType VectorType;
-  typedef typename SolverType::Scalar Scalar;
-  typedef typename MatrixType::Index Index;
-  typedef typename SolverType::EigenvectorsType EigenvectorsType;
-  
-  /** \internal
-   * Computes the roots of the characteristic polynomial of \a m.
-   * For numerical stability m.trace() should be near zero and to avoid over- or underflow m should be normalized.
-   */
-  static inline void computeRoots(const MatrixType& m, VectorType& roots)
-  {
-    using std::sqrt;
-    using std::atan2;
-    using std::cos;
-    using std::sin;
-    const Scalar s_inv3 = Scalar(1.0)/Scalar(3.0);
-    const Scalar s_sqrt3 = sqrt(Scalar(3.0));
-
-    // The characteristic equation is x^3 - c2*x^2 + c1*x - c0 = 0.  The
-    // eigenvalues are the roots to this equation, all guaranteed to be
-    // real-valued, because the matrix is symmetric.
-    Scalar c0 = m(0,0)*m(1,1)*m(2,2) + Scalar(2)*m(1,0)*m(2,0)*m(2,1) - m(0,0)*m(2,1)*m(2,1) - m(1,1)*m(2,0)*m(2,0) - m(2,2)*m(1,0)*m(1,0);
-    Scalar c1 = m(0,0)*m(1,1) - m(1,0)*m(1,0) + m(0,0)*m(2,2) - m(2,0)*m(2,0) + m(1,1)*m(2,2) - m(2,1)*m(2,1);
-    Scalar c2 = m(0,0) + m(1,1) + m(2,2);
-
-    // Construct the parameters used in classifying the roots of the equation
-    // and in solving the equation for the roots in closed form.
-    Scalar c2_over_3 = c2*s_inv3;
-    Scalar a_over_3 = (c2*c2_over_3 - c1)*s_inv3;
-    if(a_over_3<Scalar(0))
-      a_over_3 = Scalar(0);
-
-    Scalar half_b = Scalar(0.5)*(c0 + c2_over_3*(Scalar(2)*c2_over_3*c2_over_3 - c1));
-
-    Scalar q = a_over_3*a_over_3*a_over_3 - half_b*half_b;
-    if(q<Scalar(0))
-      q = Scalar(0);
-
-    // Compute the eigenvalues by solving for the roots of the polynomial.
-    Scalar rho = sqrt(a_over_3);
-    Scalar theta = atan2(sqrt(q),half_b)*s_inv3;  // since sqrt(q) > 0, atan2 is in [0, pi] and theta is in [0, pi/3]
-    Scalar cos_theta = cos(theta);
-    Scalar sin_theta = sin(theta);
-    // roots are already sorted, since cos is monotonically decreasing on [0, pi]
-    roots(0) = c2_over_3 - rho*(cos_theta + s_sqrt3*sin_theta); // == 2*rho*cos(theta+2pi/3)
-    roots(1) = c2_over_3 - rho*(cos_theta - s_sqrt3*sin_theta); // == 2*rho*cos(theta+ pi/3)
-    roots(2) = c2_over_3 + Scalar(2)*rho*cos_theta;
-  }
-
-  static inline bool extract_kernel(MatrixType& mat, Ref<VectorType> res, Ref<VectorType> representative)
-  {
-    using std::abs;
-    Index i0;
-    // Find non-zero column i0 (by construction, there must exist a non zero coefficient on the diagonal):
-    mat.diagonal().cwiseAbs().maxCoeff(&i0);
-    // mat.col(i0) is a good candidate for an orthogonal vector to the current eigenvector,
-    // so let's save it:
-    representative = mat.col(i0);
-    Scalar n0, n1;
-    VectorType c0, c1;
-    n0 = (c0 = representative.cross(mat.col((i0+1)%3))).squaredNorm();
-    n1 = (c1 = representative.cross(mat.col((i0+2)%3))).squaredNorm();
-    if(n0>n1) res = c0/std::sqrt(n0);
-    else      res = c1/std::sqrt(n1);
-
-    return true;
-  }
-
-  static inline void run(SolverType& solver, const MatrixType& mat, int options)
-  {
-    eigen_assert(mat.cols() == 3 && mat.cols() == mat.rows());
-    eigen_assert((options&~(EigVecMask|GenEigMask))==0
-            && (options&EigVecMask)!=EigVecMask
-            && "invalid option parameter");
-    bool computeEigenvectors = (options&ComputeEigenvectors)==ComputeEigenvectors;
-    
-    EigenvectorsType& eivecs = solver.m_eivec;
-    VectorType& eivals = solver.m_eivalues;
-  
-    // Shift the matrix to the mean eigenvalue and map the matrix coefficients to [-1:1] to avoid over- and underflow.
-    Scalar shift = mat.trace() / Scalar(3);
-    // TODO Avoid this copy. Currently it is necessary to suppress bogus values when determining maxCoeff and for computing the eigenvectors later
-    MatrixType scaledMat = mat.template selfadjointView<Lower>();
-    scaledMat.diagonal().array() -= shift;
-    Scalar scale = scaledMat.cwiseAbs().maxCoeff();
-    if(scale > 0) scaledMat /= scale;   // TODO for scale==0 we could save the remaining operations
-
-    // compute the eigenvalues
-    computeRoots(scaledMat,eivals);
-
-    // compute the eigenvectors
-    if(computeEigenvectors)
-    {
-      if((eivals(2)-eivals(0))<=Eigen::NumTraits<Scalar>::epsilon())
-      {
-        // All three eigenvalues are numerically the same
-        eivecs.setIdentity();
-      }
-      else
-      {
-        MatrixType tmp;
-        tmp = scaledMat;
-
-        // Compute the eigenvector of the most distinct eigenvalue
-        Scalar d0 = eivals(2) - eivals(1);
-        Scalar d1 = eivals(1) - eivals(0);
-        Index k(0), l(2);
-        if(d0 > d1)
-        {
-          std::swap(k,l);
-          d0 = d1;
-        }
-
-        // Compute the eigenvector of index k
-        {
-          tmp.diagonal().array () -= eivals(k);
-          // By construction, 'tmp' is of rank 2, and its kernel corresponds to the respective eigenvector.
-          extract_kernel(tmp, eivecs.col(k), eivecs.col(l));
-        }
-
-        // Compute eigenvector of index l
-        if(d0<=2*Eigen::NumTraits<Scalar>::epsilon()*d1)
-        {
-          // If d0 is too small, then the two other eigenvalues are numerically the same,
-          // and thus we only have to ortho-normalize the near orthogonal vector we saved above.
-          eivecs.col(l) -= eivecs.col(k).dot(eivecs.col(l))*eivecs.col(l);
-          eivecs.col(l).normalize();
-        }
-        else
-        {
-          tmp = scaledMat;
-          tmp.diagonal().array () -= eivals(l);
-
-          VectorType dummy;
-          extract_kernel(tmp, eivecs.col(l), dummy);
-        }
-
-        // Compute last eigenvector from the other two
-        eivecs.col(1) = eivecs.col(2).cross(eivecs.col(0)).normalized();
-      }
-    }
-
-    // Rescale back to the original size.
-    eivals *= scale;
-    eivals.array() += shift;
-    
-    solver.m_info = Success;
-    solver.m_isInitialized = true;
-    solver.m_eigenvectorsOk = computeEigenvectors;
-  }
-};
-
-// 2x2 direct eigenvalues decomposition, code from Hauke Heibel
-template<typename SolverType> struct direct_selfadjoint_eigenvalues<SolverType,2,false>
-{
-  typedef typename SolverType::MatrixType MatrixType;
-  typedef typename SolverType::RealVectorType VectorType;
-  typedef typename SolverType::Scalar Scalar;
-  typedef typename SolverType::EigenvectorsType EigenvectorsType;
-  
-  static inline void computeRoots(const MatrixType& m, VectorType& roots)
-  {
-    using std::sqrt;
-    const Scalar t0 = Scalar(0.5) * sqrt( numext::abs2(m(0,0)-m(1,1)) + Scalar(4)*numext::abs2(m(1,0)));
-    const Scalar t1 = Scalar(0.5) * (m(0,0) + m(1,1));
-    roots(0) = t1 - t0;
-    roots(1) = t1 + t0;
-  }
-  
-  static inline void run(SolverType& solver, const MatrixType& mat, int options)
-  {
-    using std::sqrt;
-    using std::abs;
-
-    eigen_assert(mat.cols() == 2 && mat.cols() == mat.rows());
-    eigen_assert((options&~(EigVecMask|GenEigMask))==0
-            && (options&EigVecMask)!=EigVecMask
-            && "invalid option parameter");
-    bool computeEigenvectors = (options&ComputeEigenvectors)==ComputeEigenvectors;
-    
-    EigenvectorsType& eivecs = solver.m_eivec;
-    VectorType& eivals = solver.m_eivalues;
-  
-    // map the matrix coefficients to [-1:1] to avoid over- and underflow.
-    Scalar scale = mat.cwiseAbs().maxCoeff();
-    scale = (std::max)(scale,Scalar(1));
-    MatrixType scaledMat = mat / scale;
-    
-    // Compute the eigenvalues
-    computeRoots(scaledMat,eivals);
-    
-    // compute the eigen vectors
-    if(computeEigenvectors)
-    {
-      if((eivals(1)-eivals(0))<=abs(eivals(1))*Eigen::NumTraits<Scalar>::epsilon())
-      {
-        eivecs.setIdentity();
-      }
-      else
-      {
-        scaledMat.diagonal().array () -= eivals(1);
-        Scalar a2 = numext::abs2(scaledMat(0,0));
-        Scalar c2 = numext::abs2(scaledMat(1,1));
-        Scalar b2 = numext::abs2(scaledMat(1,0));
-        if(a2>c2)
-        {
-          eivecs.col(1) << -scaledMat(1,0), scaledMat(0,0);
-          eivecs.col(1) /= sqrt(a2+b2);
-        }
-        else
-        {
-          eivecs.col(1) << -scaledMat(1,1), scaledMat(1,0);
-          eivecs.col(1) /= sqrt(c2+b2);
-        }
-
-        eivecs.col(0) << eivecs.col(1).unitOrthogonal();
-      }
-    }
-    
-    // Rescale back to the original size.
-    eivals *= scale;
-    
-    solver.m_info = Success;
-    solver.m_isInitialized = true;
-    solver.m_eigenvectorsOk = computeEigenvectors;
-  }
-};
-
-}
-
-template<typename MatrixType>
-SelfAdjointEigenSolver<MatrixType>& SelfAdjointEigenSolver<MatrixType>
-::computeDirect(const MatrixType& matrix, int options)
-{
-  internal::direct_selfadjoint_eigenvalues<SelfAdjointEigenSolver,Size,NumTraits<Scalar>::IsComplex>::run(*this,matrix,options);
-  return *this;
-}
-
-namespace internal {
-template<typename RealScalar, typename Scalar, typename Index>
-static void tridiagonal_qr_step(RealScalar* diag, RealScalar* subdiag, Index start, Index end, Scalar* matrixQ, Index n)
-{
-  using std::abs;
-  RealScalar td = (diag[end-1] - diag[end])*RealScalar(0.5);
-  RealScalar e = subdiag[end-1];
-  // Note that thanks to scaling, e^2 or td^2 cannot overflow, however they can still
-  // underflow thus leading to inf/NaN values when using the following commented code:
-//   RealScalar e2 = numext::abs2(subdiag[end-1]);
-//   RealScalar mu = diag[end] - e2 / (td + (td>0 ? 1 : -1) * sqrt(td*td + e2));
-  // This explain the following, somewhat more complicated, version:
-  RealScalar mu = diag[end];
-  if(td==0)
-    mu -= abs(e);
-  else
-  {
-    RealScalar e2 = numext::abs2(subdiag[end-1]);
-    RealScalar h = numext::hypot(td,e);
-    if(e2==0)  mu -= (e / (td + (td>0 ? 1 : -1))) * (e / h);
-    else       mu -= e2 / (td + (td>0 ? h : -h));
-  }
-  
-  RealScalar x = diag[start] - mu;
-  RealScalar z = subdiag[start];
-  for (Index k = start; k < end; ++k)
-  {
-    JacobiRotation<RealScalar> rot;
-    rot.makeGivens(x, z);
-
-    // do T = G' T G
-    RealScalar sdk = rot.s() * diag[k] + rot.c() * subdiag[k];
-    RealScalar dkp1 = rot.s() * subdiag[k] + rot.c() * diag[k+1];
-
-    diag[k] = rot.c() * (rot.c() * diag[k] - rot.s() * subdiag[k]) - rot.s() * (rot.c() * subdiag[k] - rot.s() * diag[k+1]);
-    diag[k+1] = rot.s() * sdk + rot.c() * dkp1;
-    subdiag[k] = rot.c() * sdk - rot.s() * dkp1;
-    
-
-    if (k > start)
-      subdiag[k - 1] = rot.c() * subdiag[k-1] - rot.s() * z;
-
-    x = subdiag[k];
-
-    if (k < end - 1)
-    {
-      z = -rot.s() * subdiag[k+1];
-      subdiag[k + 1] = rot.c() * subdiag[k+1];
-    }
-    
-    // apply the givens rotation to the unit matrix Q = Q * G
-    if (matrixQ)
-    {
-      Map<Matrix<Scalar,Dynamic,Dynamic,ColMajor> > q(matrixQ,n,n);
-      q.applyOnTheRight(k,k+1,rot);
-    }
-  }
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SELFADJOINTEIGENSOLVER_H
diff --git a/lib/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h b/lib/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
deleted file mode 100644
index 17c0dadd..00000000
--- a/lib/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *    Self-adjoint eigenvalues/eigenvectors.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_SAEIGENSOLVER_MKL_H
-#define EIGEN_SAEIGENSOLVER_MKL_H
-
-#include "Eigen/src/Core/util/MKL_support.h"
-
-namespace Eigen { 
-
-/** \internal Specialization for the data types supported by MKL */
-
-#define EIGEN_MKL_EIG_SELFADJ(EIGTYPE, MKLTYPE, MKLRTYPE, MKLNAME, EIGCOLROW, MKLCOLROW ) \
-template<> inline \
-SelfAdjointEigenSolver<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW> >& \
-SelfAdjointEigenSolver<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW> >::compute(const Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW>& matrix, int options) \
-{ \
-  eigen_assert(matrix.cols() == matrix.rows()); \
-  eigen_assert((options&~(EigVecMask|GenEigMask))==0 \
-          && (options&EigVecMask)!=EigVecMask \
-          && "invalid option parameter"); \
-  bool computeEigenvectors = (options&ComputeEigenvectors)==ComputeEigenvectors; \
-  lapack_int n = matrix.cols(), lda, matrix_order, info; \
-  m_eivalues.resize(n,1); \
-  m_subdiag.resize(n-1); \
-  m_eivec = matrix; \
-\
-  if(n==1) \
-  { \
-    m_eivalues.coeffRef(0,0) = numext::real(matrix.coeff(0,0)); \
-    if(computeEigenvectors) m_eivec.setOnes(n,n); \
-    m_info = Success; \
-    m_isInitialized = true; \
-    m_eigenvectorsOk = computeEigenvectors; \
-    return *this; \
-  } \
-\
-  lda = matrix.outerStride(); \
-  matrix_order=MKLCOLROW; \
-  char jobz, uplo='L'/*, range='A'*/; \
-  jobz = computeEigenvectors ? 'V' : 'N'; \
-\
-  info = LAPACKE_##MKLNAME( matrix_order, jobz, uplo, n, (MKLTYPE*)m_eivec.data(), lda, (MKLRTYPE*)m_eivalues.data() ); \
-  m_info = (info==0) ? Success : NoConvergence; \
-  m_isInitialized = true; \
-  m_eigenvectorsOk = computeEigenvectors; \
-  return *this; \
-}
-
-
-EIGEN_MKL_EIG_SELFADJ(double,   double,        double, dsyev, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_EIG_SELFADJ(float,    float,         float,  ssyev, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_EIG_SELFADJ(dcomplex, MKL_Complex16, double, zheev, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_EIG_SELFADJ(scomplex, MKL_Complex8,  float,  cheev, ColMajor, LAPACK_COL_MAJOR)
-
-EIGEN_MKL_EIG_SELFADJ(double,   double,        double, dsyev, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_EIG_SELFADJ(float,    float,         float,  ssyev, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_EIG_SELFADJ(dcomplex, MKL_Complex16, double, zheev, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_EIG_SELFADJ(scomplex, MKL_Complex8,  float,  cheev, RowMajor, LAPACK_ROW_MAJOR)
-
-} // end namespace Eigen
-
-#endif // EIGEN_SAEIGENSOLVER_H
diff --git a/lib/Eigen/src/Eigenvalues/Tridiagonalization.h b/lib/Eigen/src/Eigenvalues/Tridiagonalization.h
deleted file mode 100644
index 192278d6..00000000
--- a/lib/Eigen/src/Eigenvalues/Tridiagonalization.h
+++ /dev/null
@@ -1,557 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010 Jitse Niesen <jitse@maths.leeds.ac.uk>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRIDIAGONALIZATION_H
-#define EIGEN_TRIDIAGONALIZATION_H
-
-namespace Eigen { 
-
-namespace internal {
-  
-template<typename MatrixType> struct TridiagonalizationMatrixTReturnType;
-template<typename MatrixType>
-struct traits<TridiagonalizationMatrixTReturnType<MatrixType> >
-{
-  typedef typename MatrixType::PlainObject ReturnType;
-};
-
-template<typename MatrixType, typename CoeffVectorType>
-void tridiagonalization_inplace(MatrixType& matA, CoeffVectorType& hCoeffs);
-}
-
-/** \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  *
-  * \class Tridiagonalization
-  *
-  * \brief Tridiagonal decomposition of a selfadjoint matrix
-  *
-  * \tparam _MatrixType the type of the matrix of which we are computing the
-  * tridiagonal decomposition; this is expected to be an instantiation of the
-  * Matrix class template.
-  *
-  * This class performs a tridiagonal decomposition of a selfadjoint matrix \f$ A \f$ such that:
-  * \f$ A = Q T Q^* \f$ where \f$ Q \f$ is unitary and \f$ T \f$ a real symmetric tridiagonal matrix.
-  *
-  * A tridiagonal matrix is a matrix which has nonzero elements only on the
-  * main diagonal and the first diagonal below and above it. The Hessenberg
-  * decomposition of a selfadjoint matrix is in fact a tridiagonal
-  * decomposition. This class is used in SelfAdjointEigenSolver to compute the
-  * eigenvalues and eigenvectors of a selfadjoint matrix.
-  *
-  * Call the function compute() to compute the tridiagonal decomposition of a
-  * given matrix. Alternatively, you can use the Tridiagonalization(const MatrixType&)
-  * constructor which computes the tridiagonal Schur decomposition at
-  * construction time. Once the decomposition is computed, you can use the
-  * matrixQ() and matrixT() functions to retrieve the matrices Q and T in the
-  * decomposition.
-  *
-  * The documentation of Tridiagonalization(const MatrixType&) contains an
-  * example of the typical use of this class.
-  *
-  * \sa class HessenbergDecomposition, class SelfAdjointEigenSolver
-  */
-template<typename _MatrixType> class Tridiagonalization
-{
-  public:
-
-    /** \brief Synonym for the template parameter \p _MatrixType. */
-    typedef _MatrixType MatrixType;
-
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    typedef typename MatrixType::Index Index;
-
-    enum {
-      Size = MatrixType::RowsAtCompileTime,
-      SizeMinusOne = Size == Dynamic ? Dynamic : (Size > 1 ? Size - 1 : 1),
-      Options = MatrixType::Options,
-      MaxSize = MatrixType::MaxRowsAtCompileTime,
-      MaxSizeMinusOne = MaxSize == Dynamic ? Dynamic : (MaxSize > 1 ? MaxSize - 1 : 1)
-    };
-
-    typedef Matrix<Scalar, SizeMinusOne, 1, Options & ~RowMajor, MaxSizeMinusOne, 1> CoeffVectorType;
-    typedef typename internal::plain_col_type<MatrixType, RealScalar>::type DiagonalType;
-    typedef Matrix<RealScalar, SizeMinusOne, 1, Options & ~RowMajor, MaxSizeMinusOne, 1> SubDiagonalType;
-    typedef typename internal::remove_all<typename MatrixType::RealReturnType>::type MatrixTypeRealView;
-    typedef internal::TridiagonalizationMatrixTReturnType<MatrixTypeRealView> MatrixTReturnType;
-
-    typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
-              typename internal::add_const_on_value_type<typename Diagonal<const MatrixType>::RealReturnType>::type,
-              const Diagonal<const MatrixType>
-            >::type DiagonalReturnType;
-
-    typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
-              typename internal::add_const_on_value_type<typename Diagonal<
-                Block<const MatrixType,SizeMinusOne,SizeMinusOne> >::RealReturnType>::type,
-              const Diagonal<
-                Block<const MatrixType,SizeMinusOne,SizeMinusOne> >
-            >::type SubDiagonalReturnType;
-
-    /** \brief Return type of matrixQ() */
-    typedef HouseholderSequence<MatrixType,typename internal::remove_all<typename CoeffVectorType::ConjugateReturnType>::type> HouseholderSequenceType;
-
-    /** \brief Default constructor.
-      *
-      * \param [in]  size  Positive integer, size of the matrix whose tridiagonal
-      * decomposition will be computed.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via compute().  The \p size parameter is only
-      * used as a hint. It is not an error to give a wrong \p size, but it may
-      * impair performance.
-      *
-      * \sa compute() for an example.
-      */
-    Tridiagonalization(Index size = Size==Dynamic ? 2 : Size)
-      : m_matrix(size,size),
-        m_hCoeffs(size > 1 ? size-1 : 1),
-        m_isInitialized(false)
-    {}
-
-    /** \brief Constructor; computes tridiagonal decomposition of given matrix.
-      *
-      * \param[in]  matrix  Selfadjoint matrix whose tridiagonal decomposition
-      * is to be computed.
-      *
-      * This constructor calls compute() to compute the tridiagonal decomposition.
-      *
-      * Example: \include Tridiagonalization_Tridiagonalization_MatrixType.cpp
-      * Output: \verbinclude Tridiagonalization_Tridiagonalization_MatrixType.out
-      */
-    Tridiagonalization(const MatrixType& matrix)
-      : m_matrix(matrix),
-        m_hCoeffs(matrix.cols() > 1 ? matrix.cols()-1 : 1),
-        m_isInitialized(false)
-    {
-      internal::tridiagonalization_inplace(m_matrix, m_hCoeffs);
-      m_isInitialized = true;
-    }
-
-    /** \brief Computes tridiagonal decomposition of given matrix.
-      *
-      * \param[in]  matrix  Selfadjoint matrix whose tridiagonal decomposition
-      * is to be computed.
-      * \returns    Reference to \c *this
-      *
-      * The tridiagonal decomposition is computed by bringing the columns of
-      * the matrix successively in the required form using Householder
-      * reflections. The cost is \f$ 4n^3/3 \f$ flops, where \f$ n \f$ denotes
-      * the size of the given matrix.
-      *
-      * This method reuses of the allocated data in the Tridiagonalization
-      * object, if the size of the matrix does not change.
-      *
-      * Example: \include Tridiagonalization_compute.cpp
-      * Output: \verbinclude Tridiagonalization_compute.out
-      */
-    Tridiagonalization& compute(const MatrixType& matrix)
-    {
-      m_matrix = matrix;
-      m_hCoeffs.resize(matrix.rows()-1, 1);
-      internal::tridiagonalization_inplace(m_matrix, m_hCoeffs);
-      m_isInitialized = true;
-      return *this;
-    }
-
-    /** \brief Returns the Householder coefficients.
-      *
-      * \returns a const reference to the vector of Householder coefficients
-      *
-      * \pre Either the constructor Tridiagonalization(const MatrixType&) or
-      * the member function compute(const MatrixType&) has been called before
-      * to compute the tridiagonal decomposition of a matrix.
-      *
-      * The Householder coefficients allow the reconstruction of the matrix
-      * \f$ Q \f$ in the tridiagonal decomposition from the packed data.
-      *
-      * Example: \include Tridiagonalization_householderCoefficients.cpp
-      * Output: \verbinclude Tridiagonalization_householderCoefficients.out
-      *
-      * \sa packedMatrix(), \ref Householder_Module "Householder module"
-      */
-    inline CoeffVectorType householderCoefficients() const
-    {
-      eigen_assert(m_isInitialized && "Tridiagonalization is not initialized.");
-      return m_hCoeffs;
-    }
-
-    /** \brief Returns the internal representation of the decomposition
-      *
-      *	\returns a const reference to a matrix with the internal representation
-      *	         of the decomposition.
-      *
-      * \pre Either the constructor Tridiagonalization(const MatrixType&) or
-      * the member function compute(const MatrixType&) has been called before
-      * to compute the tridiagonal decomposition of a matrix.
-      *
-      * The returned matrix contains the following information:
-      *  - the strict upper triangular part is equal to the input matrix A.
-      *  - the diagonal and lower sub-diagonal represent the real tridiagonal
-      *    symmetric matrix T.
-      *  - the rest of the lower part contains the Householder vectors that,
-      *    combined with Householder coefficients returned by
-      *    householderCoefficients(), allows to reconstruct the matrix Q as
-      *       \f$ Q = H_{N-1} \ldots H_1 H_0 \f$.
-      *    Here, the matrices \f$ H_i \f$ are the Householder transformations
-      *       \f$ H_i = (I - h_i v_i v_i^T) \f$
-      *    where \f$ h_i \f$ is the \f$ i \f$th Householder coefficient and
-      *    \f$ v_i \f$ is the Householder vector defined by
-      *       \f$ v_i = [ 0, \ldots, 0, 1, M(i+2,i), \ldots, M(N-1,i) ]^T \f$
-      *    with M the matrix returned by this function.
-      *
-      * See LAPACK for further details on this packed storage.
-      *
-      * Example: \include Tridiagonalization_packedMatrix.cpp
-      * Output: \verbinclude Tridiagonalization_packedMatrix.out
-      *
-      * \sa householderCoefficients()
-      */
-    inline const MatrixType& packedMatrix() const
-    {
-      eigen_assert(m_isInitialized && "Tridiagonalization is not initialized.");
-      return m_matrix;
-    }
-
-    /** \brief Returns the unitary matrix Q in the decomposition
-      *
-      * \returns object representing the matrix Q
-      *
-      * \pre Either the constructor Tridiagonalization(const MatrixType&) or
-      * the member function compute(const MatrixType&) has been called before
-      * to compute the tridiagonal decomposition of a matrix.
-      *
-      * This function returns a light-weight object of template class
-      * HouseholderSequence. You can either apply it directly to a matrix or
-      * you can convert it to a matrix of type #MatrixType.
-      *
-      * \sa Tridiagonalization(const MatrixType&) for an example,
-      *     matrixT(), class HouseholderSequence
-      */
-    HouseholderSequenceType matrixQ() const
-    {
-      eigen_assert(m_isInitialized && "Tridiagonalization is not initialized.");
-      return HouseholderSequenceType(m_matrix, m_hCoeffs.conjugate())
-             .setLength(m_matrix.rows() - 1)
-             .setShift(1);
-    }
-
-    /** \brief Returns an expression of the tridiagonal matrix T in the decomposition
-      *
-      * \returns expression object representing the matrix T
-      *
-      * \pre Either the constructor Tridiagonalization(const MatrixType&) or
-      * the member function compute(const MatrixType&) has been called before
-      * to compute the tridiagonal decomposition of a matrix.
-      *
-      * Currently, this function can be used to extract the matrix T from internal
-      * data and copy it to a dense matrix object. In most cases, it may be
-      * sufficient to directly use the packed matrix or the vector expressions
-      * returned by diagonal() and subDiagonal() instead of creating a new
-      * dense copy matrix with this function.
-      *
-      * \sa Tridiagonalization(const MatrixType&) for an example,
-      * matrixQ(), packedMatrix(), diagonal(), subDiagonal()
-      */
-    MatrixTReturnType matrixT() const
-    {
-      eigen_assert(m_isInitialized && "Tridiagonalization is not initialized.");
-      return MatrixTReturnType(m_matrix.real());
-    }
-
-    /** \brief Returns the diagonal of the tridiagonal matrix T in the decomposition.
-      *
-      * \returns expression representing the diagonal of T
-      *
-      * \pre Either the constructor Tridiagonalization(const MatrixType&) or
-      * the member function compute(const MatrixType&) has been called before
-      * to compute the tridiagonal decomposition of a matrix.
-      *
-      * Example: \include Tridiagonalization_diagonal.cpp
-      * Output: \verbinclude Tridiagonalization_diagonal.out
-      *
-      * \sa matrixT(), subDiagonal()
-      */
-    DiagonalReturnType diagonal() const;
-
-    /** \brief Returns the subdiagonal of the tridiagonal matrix T in the decomposition.
-      *
-      * \returns expression representing the subdiagonal of T
-      *
-      * \pre Either the constructor Tridiagonalization(const MatrixType&) or
-      * the member function compute(const MatrixType&) has been called before
-      * to compute the tridiagonal decomposition of a matrix.
-      *
-      * \sa diagonal() for an example, matrixT()
-      */
-    SubDiagonalReturnType subDiagonal() const;
-
-  protected:
-
-    MatrixType m_matrix;
-    CoeffVectorType m_hCoeffs;
-    bool m_isInitialized;
-};
-
-template<typename MatrixType>
-typename Tridiagonalization<MatrixType>::DiagonalReturnType
-Tridiagonalization<MatrixType>::diagonal() const
-{
-  eigen_assert(m_isInitialized && "Tridiagonalization is not initialized.");
-  return m_matrix.diagonal();
-}
-
-template<typename MatrixType>
-typename Tridiagonalization<MatrixType>::SubDiagonalReturnType
-Tridiagonalization<MatrixType>::subDiagonal() const
-{
-  eigen_assert(m_isInitialized && "Tridiagonalization is not initialized.");
-  Index n = m_matrix.rows();
-  return Block<const MatrixType,SizeMinusOne,SizeMinusOne>(m_matrix, 1, 0, n-1,n-1).diagonal();
-}
-
-namespace internal {
-
-/** \internal
-  * Performs a tridiagonal decomposition of the selfadjoint matrix \a matA in-place.
-  *
-  * \param[in,out] matA On input the selfadjoint matrix. Only the \b lower triangular part is referenced.
-  *                     On output, the strict upper part is left unchanged, and the lower triangular part
-  *                     represents the T and Q matrices in packed format has detailed below.
-  * \param[out]    hCoeffs returned Householder coefficients (see below)
-  *
-  * On output, the tridiagonal selfadjoint matrix T is stored in the diagonal
-  * and lower sub-diagonal of the matrix \a matA.
-  * The unitary matrix Q is represented in a compact way as a product of
-  * Householder reflectors \f$ H_i \f$ such that:
-  *       \f$ Q = H_{N-1} \ldots H_1 H_0 \f$.
-  * The Householder reflectors are defined as
-  *       \f$ H_i = (I - h_i v_i v_i^T) \f$
-  * where \f$ h_i = hCoeffs[i]\f$ is the \f$ i \f$th Householder coefficient and
-  * \f$ v_i \f$ is the Householder vector defined by
-  *       \f$ v_i = [ 0, \ldots, 0, 1, matA(i+2,i), \ldots, matA(N-1,i) ]^T \f$.
-  *
-  * Implemented from Golub's "Matrix Computations", algorithm 8.3.1.
-  *
-  * \sa Tridiagonalization::packedMatrix()
-  */
-template<typename MatrixType, typename CoeffVectorType>
-void tridiagonalization_inplace(MatrixType& matA, CoeffVectorType& hCoeffs)
-{
-  using numext::conj;
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename MatrixType::RealScalar RealScalar;
-  Index n = matA.rows();
-  eigen_assert(n==matA.cols());
-  eigen_assert(n==hCoeffs.size()+1 || n==1);
-  
-  for (Index i = 0; i<n-1; ++i)
-  {
-    Index remainingSize = n-i-1;
-    RealScalar beta;
-    Scalar h;
-    matA.col(i).tail(remainingSize).makeHouseholderInPlace(h, beta);
-
-    // Apply similarity transformation to remaining columns,
-    // i.e., A = H A H' where H = I - h v v' and v = matA.col(i).tail(n-i-1)
-    matA.col(i).coeffRef(i+1) = 1;
-
-    hCoeffs.tail(n-i-1).noalias() = (matA.bottomRightCorner(remainingSize,remainingSize).template selfadjointView<Lower>()
-                                  * (conj(h) * matA.col(i).tail(remainingSize)));
-
-    hCoeffs.tail(n-i-1) += (conj(h)*Scalar(-0.5)*(hCoeffs.tail(remainingSize).dot(matA.col(i).tail(remainingSize)))) * matA.col(i).tail(n-i-1);
-
-    matA.bottomRightCorner(remainingSize, remainingSize).template selfadjointView<Lower>()
-      .rankUpdate(matA.col(i).tail(remainingSize), hCoeffs.tail(remainingSize), -1);
-
-    matA.col(i).coeffRef(i+1) = beta;
-    hCoeffs.coeffRef(i) = h;
-  }
-}
-
-// forward declaration, implementation at the end of this file
-template<typename MatrixType,
-         int Size=MatrixType::ColsAtCompileTime,
-         bool IsComplex=NumTraits<typename MatrixType::Scalar>::IsComplex>
-struct tridiagonalization_inplace_selector;
-
-/** \brief Performs a full tridiagonalization in place
-  *
-  * \param[in,out]  mat  On input, the selfadjoint matrix whose tridiagonal
-  *    decomposition is to be computed. Only the lower triangular part referenced.
-  *    The rest is left unchanged. On output, the orthogonal matrix Q
-  *    in the decomposition if \p extractQ is true.
-  * \param[out]  diag  The diagonal of the tridiagonal matrix T in the
-  *    decomposition.
-  * \param[out]  subdiag  The subdiagonal of the tridiagonal matrix T in
-  *    the decomposition.
-  * \param[in]  extractQ  If true, the orthogonal matrix Q in the
-  *    decomposition is computed and stored in \p mat.
-  *
-  * Computes the tridiagonal decomposition of the selfadjoint matrix \p mat in place
-  * such that \f$ mat = Q T Q^* \f$ where \f$ Q \f$ is unitary and \f$ T \f$ a real
-  * symmetric tridiagonal matrix.
-  *
-  * The tridiagonal matrix T is passed to the output parameters \p diag and \p subdiag. If
-  * \p extractQ is true, then the orthogonal matrix Q is passed to \p mat. Otherwise the lower
-  * part of the matrix \p mat is destroyed.
-  *
-  * The vectors \p diag and \p subdiag are not resized. The function
-  * assumes that they are already of the correct size. The length of the
-  * vector \p diag should equal the number of rows in \p mat, and the
-  * length of the vector \p subdiag should be one left.
-  *
-  * This implementation contains an optimized path for 3-by-3 matrices
-  * which is especially useful for plane fitting.
-  *
-  * \note Currently, it requires two temporary vectors to hold the intermediate
-  * Householder coefficients, and to reconstruct the matrix Q from the Householder
-  * reflectors.
-  *
-  * Example (this uses the same matrix as the example in
-  *    Tridiagonalization::Tridiagonalization(const MatrixType&)):
-  *    \include Tridiagonalization_decomposeInPlace.cpp
-  * Output: \verbinclude Tridiagonalization_decomposeInPlace.out
-  *
-  * \sa class Tridiagonalization
-  */
-template<typename MatrixType, typename DiagonalType, typename SubDiagonalType>
-void tridiagonalization_inplace(MatrixType& mat, DiagonalType& diag, SubDiagonalType& subdiag, bool extractQ)
-{
-  eigen_assert(mat.cols()==mat.rows() && diag.size()==mat.rows() && subdiag.size()==mat.rows()-1);
-  tridiagonalization_inplace_selector<MatrixType>::run(mat, diag, subdiag, extractQ);
-}
-
-/** \internal
-  * General full tridiagonalization
-  */
-template<typename MatrixType, int Size, bool IsComplex>
-struct tridiagonalization_inplace_selector
-{
-  typedef typename Tridiagonalization<MatrixType>::CoeffVectorType CoeffVectorType;
-  typedef typename Tridiagonalization<MatrixType>::HouseholderSequenceType HouseholderSequenceType;
-  typedef typename MatrixType::Index Index;
-  template<typename DiagonalType, typename SubDiagonalType>
-  static void run(MatrixType& mat, DiagonalType& diag, SubDiagonalType& subdiag, bool extractQ)
-  {
-    CoeffVectorType hCoeffs(mat.cols()-1);
-    tridiagonalization_inplace(mat,hCoeffs);
-    diag = mat.diagonal().real();
-    subdiag = mat.template diagonal<-1>().real();
-    if(extractQ)
-      mat = HouseholderSequenceType(mat, hCoeffs.conjugate())
-            .setLength(mat.rows() - 1)
-            .setShift(1);
-  }
-};
-
-/** \internal
-  * Specialization for 3x3 real matrices.
-  * Especially useful for plane fitting.
-  */
-template<typename MatrixType>
-struct tridiagonalization_inplace_selector<MatrixType,3,false>
-{
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename MatrixType::RealScalar RealScalar;
-
-  template<typename DiagonalType, typename SubDiagonalType>
-  static void run(MatrixType& mat, DiagonalType& diag, SubDiagonalType& subdiag, bool extractQ)
-  {
-    using std::sqrt;
-    diag[0] = mat(0,0);
-    RealScalar v1norm2 = numext::abs2(mat(2,0));
-    if(v1norm2 == RealScalar(0))
-    {
-      diag[1] = mat(1,1);
-      diag[2] = mat(2,2);
-      subdiag[0] = mat(1,0);
-      subdiag[1] = mat(2,1);
-      if (extractQ)
-        mat.setIdentity();
-    }
-    else
-    {
-      RealScalar beta = sqrt(numext::abs2(mat(1,0)) + v1norm2);
-      RealScalar invBeta = RealScalar(1)/beta;
-      Scalar m01 = mat(1,0) * invBeta;
-      Scalar m02 = mat(2,0) * invBeta;
-      Scalar q = RealScalar(2)*m01*mat(2,1) + m02*(mat(2,2) - mat(1,1));
-      diag[1] = mat(1,1) + m02*q;
-      diag[2] = mat(2,2) - m02*q;
-      subdiag[0] = beta;
-      subdiag[1] = mat(2,1) - m01 * q;
-      if (extractQ)
-      {
-        mat << 1,   0,    0,
-               0, m01,  m02,
-               0, m02, -m01;
-      }
-    }
-  }
-};
-
-/** \internal
-  * Trivial specialization for 1x1 matrices
-  */
-template<typename MatrixType, bool IsComplex>
-struct tridiagonalization_inplace_selector<MatrixType,1,IsComplex>
-{
-  typedef typename MatrixType::Scalar Scalar;
-
-  template<typename DiagonalType, typename SubDiagonalType>
-  static void run(MatrixType& mat, DiagonalType& diag, SubDiagonalType&, bool extractQ)
-  {
-    diag(0,0) = numext::real(mat(0,0));
-    if(extractQ)
-      mat(0,0) = Scalar(1);
-  }
-};
-
-/** \internal
-  * \eigenvalues_module \ingroup Eigenvalues_Module
-  *
-  * \brief Expression type for return value of Tridiagonalization::matrixT()
-  *
-  * \tparam MatrixType type of underlying dense matrix
-  */
-template<typename MatrixType> struct TridiagonalizationMatrixTReturnType
-: public ReturnByValue<TridiagonalizationMatrixTReturnType<MatrixType> >
-{
-    typedef typename MatrixType::Index Index;
-  public:
-    /** \brief Constructor.
-      *
-      * \param[in] mat The underlying dense matrix
-      */
-    TridiagonalizationMatrixTReturnType(const MatrixType& mat) : m_matrix(mat) { }
-
-    template <typename ResultType>
-    inline void evalTo(ResultType& result) const
-    {
-      result.setZero();
-      result.template diagonal<1>() = m_matrix.template diagonal<-1>().conjugate();
-      result.diagonal() = m_matrix.diagonal();
-      result.template diagonal<-1>() = m_matrix.template diagonal<-1>();
-    }
-
-    Index rows() const { return m_matrix.rows(); }
-    Index cols() const { return m_matrix.cols(); }
-
-  protected:
-    typename MatrixType::Nested m_matrix;
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRIDIAGONALIZATION_H
diff --git a/lib/Eigen/src/Geometry/AlignedBox.h b/lib/Eigen/src/Geometry/AlignedBox.h
deleted file mode 100644
index 7e1cd9eb..00000000
--- a/lib/Eigen/src/Geometry/AlignedBox.h
+++ /dev/null
@@ -1,392 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ALIGNEDBOX_H
-#define EIGEN_ALIGNEDBOX_H
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  *
-  * \class AlignedBox
-  *
-  * \brief An axis aligned box
-  *
-  * \tparam _Scalar the type of the scalar coefficients
-  * \tparam _AmbientDim the dimension of the ambient space, can be a compile time value or Dynamic.
-  *
-  * This class represents an axis aligned box as a pair of the minimal and maximal corners.
-  * \warning The result of most methods is undefined when applied to an empty box. You can check for empty boxes using isEmpty().
-  * \sa alignedboxtypedefs
-  */
-template <typename _Scalar, int _AmbientDim>
-class AlignedBox
-{
-public:
-EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
-  enum { AmbientDimAtCompileTime = _AmbientDim };
-  typedef _Scalar                                   Scalar;
-  typedef NumTraits<Scalar>                         ScalarTraits;
-  typedef DenseIndex                                Index;
-  typedef typename ScalarTraits::Real               RealScalar;
-  typedef typename ScalarTraits::NonInteger      NonInteger;
-  typedef Matrix<Scalar,AmbientDimAtCompileTime,1>  VectorType;
-
-  /** Define constants to name the corners of a 1D, 2D or 3D axis aligned bounding box */
-  enum CornerType
-  {
-    /** 1D names @{ */
-    Min=0, Max=1,
-    /** @} */
-
-    /** Identifier for 2D corner @{ */
-    BottomLeft=0, BottomRight=1,
-    TopLeft=2, TopRight=3,
-    /** @} */
-
-    /** Identifier for 3D corner  @{ */
-    BottomLeftFloor=0, BottomRightFloor=1,
-    TopLeftFloor=2, TopRightFloor=3,
-    BottomLeftCeil=4, BottomRightCeil=5,
-    TopLeftCeil=6, TopRightCeil=7
-    /** @} */
-  };
-
-
-  /** Default constructor initializing a null box. */
-  inline AlignedBox()
-  { if (AmbientDimAtCompileTime!=Dynamic) setEmpty(); }
-
-  /** Constructs a null box with \a _dim the dimension of the ambient space. */
-  inline explicit AlignedBox(Index _dim) : m_min(_dim), m_max(_dim)
-  { setEmpty(); }
-
-  /** Constructs a box with extremities \a _min and \a _max.
-   * \warning If either component of \a _min is larger than the same component of \a _max, the constructed box is empty. */
-  template<typename OtherVectorType1, typename OtherVectorType2>
-  inline AlignedBox(const OtherVectorType1& _min, const OtherVectorType2& _max) : m_min(_min), m_max(_max) {}
-
-  /** Constructs a box containing a single point \a p. */
-  template<typename Derived>
-  inline explicit AlignedBox(const MatrixBase<Derived>& p) : m_min(p), m_max(m_min)
-  { }
-
-  ~AlignedBox() {}
-
-  /** \returns the dimension in which the box holds */
-  inline Index dim() const { return AmbientDimAtCompileTime==Dynamic ? m_min.size() : Index(AmbientDimAtCompileTime); }
-
-  /** \deprecated use isEmpty() */
-  inline bool isNull() const { return isEmpty(); }
-
-  /** \deprecated use setEmpty() */
-  inline void setNull() { setEmpty(); }
-
-  /** \returns true if the box is empty.
-   * \sa setEmpty */
-  inline bool isEmpty() const { return (m_min.array() > m_max.array()).any(); }
-
-  /** Makes \c *this an empty box.
-   * \sa isEmpty */
-  inline void setEmpty()
-  {
-    m_min.setConstant( ScalarTraits::highest() );
-    m_max.setConstant( ScalarTraits::lowest() );
-  }
-
-  /** \returns the minimal corner */
-  inline const VectorType& (min)() const { return m_min; }
-  /** \returns a non const reference to the minimal corner */
-  inline VectorType& (min)() { return m_min; }
-  /** \returns the maximal corner */
-  inline const VectorType& (max)() const { return m_max; }
-  /** \returns a non const reference to the maximal corner */
-  inline VectorType& (max)() { return m_max; }
-
-  /** \returns the center of the box */
-  inline const CwiseUnaryOp<internal::scalar_quotient1_op<Scalar>,
-                            const CwiseBinaryOp<internal::scalar_sum_op<Scalar>, const VectorType, const VectorType> >
-  center() const
-  { return (m_min+m_max)/2; }
-
-  /** \returns the lengths of the sides of the bounding box.
-    * Note that this function does not get the same
-    * result for integral or floating scalar types: see
-    */
-  inline const CwiseBinaryOp< internal::scalar_difference_op<Scalar>, const VectorType, const VectorType> sizes() const
-  { return m_max - m_min; }
-
-  /** \returns the volume of the bounding box */
-  inline Scalar volume() const
-  { return sizes().prod(); }
-
-  /** \returns an expression for the bounding box diagonal vector
-    * if the length of the diagonal is needed: diagonal().norm()
-    * will provide it.
-    */
-  inline CwiseBinaryOp< internal::scalar_difference_op<Scalar>, const VectorType, const VectorType> diagonal() const
-  { return sizes(); }
-
-  /** \returns the vertex of the bounding box at the corner defined by
-    * the corner-id corner. It works only for a 1D, 2D or 3D bounding box.
-    * For 1D bounding boxes corners are named by 2 enum constants:
-    * BottomLeft and BottomRight.
-    * For 2D bounding boxes, corners are named by 4 enum constants:
-    * BottomLeft, BottomRight, TopLeft, TopRight.
-    * For 3D bounding boxes, the following names are added:
-    * BottomLeftCeil, BottomRightCeil, TopLeftCeil, TopRightCeil.
-    */
-  inline VectorType corner(CornerType corner) const
-  {
-    EIGEN_STATIC_ASSERT(_AmbientDim <= 3, THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE);
-
-    VectorType res;
-
-    Index mult = 1;
-    for(Index d=0; d<dim(); ++d)
-    {
-      if( mult & corner ) res[d] = m_max[d];
-      else                res[d] = m_min[d];
-      mult *= 2;
-    }
-    return res;
-  }
-
-  /** \returns a random point inside the bounding box sampled with
-   * a uniform distribution */
-  inline VectorType sample() const
-  {
-    VectorType r(dim());
-    for(Index d=0; d<dim(); ++d)
-    {
-      if(!ScalarTraits::IsInteger)
-      {
-        r[d] = m_min[d] + (m_max[d]-m_min[d])
-             * internal::random<Scalar>(Scalar(0), Scalar(1));
-      }
-      else
-        r[d] = internal::random(m_min[d], m_max[d]);
-    }
-    return r;
-  }
-
-  /** \returns true if the point \a p is inside the box \c *this. */
-  template<typename Derived>
-  inline bool contains(const MatrixBase<Derived>& p) const
-  {
-    typename internal::nested<Derived,2>::type p_n(p.derived());
-    return (m_min.array()<=p_n.array()).all() && (p_n.array()<=m_max.array()).all();
-  }
-
-  /** \returns true if the box \a b is entirely inside the box \c *this. */
-  inline bool contains(const AlignedBox& b) const
-  { return (m_min.array()<=(b.min)().array()).all() && ((b.max)().array()<=m_max.array()).all(); }
-
-  /** \returns true if the box \a b is intersecting the box \c *this.
-   * \sa intersection, clamp */
-  inline bool intersects(const AlignedBox& b) const
-  { return (m_min.array()<=(b.max)().array()).all() && ((b.min)().array()<=m_max.array()).all(); }
-
-  /** Extends \c *this such that it contains the point \a p and returns a reference to \c *this.
-   * \sa extend(const AlignedBox&) */
-  template<typename Derived>
-  inline AlignedBox& extend(const MatrixBase<Derived>& p)
-  {
-    typename internal::nested<Derived,2>::type p_n(p.derived());
-    m_min = m_min.cwiseMin(p_n);
-    m_max = m_max.cwiseMax(p_n);
-    return *this;
-  }
-
-  /** Extends \c *this such that it contains the box \a b and returns a reference to \c *this.
-   * \sa merged, extend(const MatrixBase&) */
-  inline AlignedBox& extend(const AlignedBox& b)
-  {
-    m_min = m_min.cwiseMin(b.m_min);
-    m_max = m_max.cwiseMax(b.m_max);
-    return *this;
-  }
-
-  /** Clamps \c *this by the box \a b and returns a reference to \c *this.
-   * \note If the boxes don't intersect, the resulting box is empty.
-   * \sa intersection(), intersects() */
-  inline AlignedBox& clamp(const AlignedBox& b)
-  {
-    m_min = m_min.cwiseMax(b.m_min);
-    m_max = m_max.cwiseMin(b.m_max);
-    return *this;
-  }
-
-  /** Returns an AlignedBox that is the intersection of \a b and \c *this
-   * \note If the boxes don't intersect, the resulting box is empty.
-   * \sa intersects(), clamp, contains()  */
-  inline AlignedBox intersection(const AlignedBox& b) const
-  {return AlignedBox(m_min.cwiseMax(b.m_min), m_max.cwiseMin(b.m_max)); }
-
-  /** Returns an AlignedBox that is the union of \a b and \c *this.
-   * \note Merging with an empty box may result in a box bigger than \c *this. 
-   * \sa extend(const AlignedBox&) */
-  inline AlignedBox merged(const AlignedBox& b) const
-  { return AlignedBox(m_min.cwiseMin(b.m_min), m_max.cwiseMax(b.m_max)); }
-
-  /** Translate \c *this by the vector \a t and returns a reference to \c *this. */
-  template<typename Derived>
-  inline AlignedBox& translate(const MatrixBase<Derived>& a_t)
-  {
-    const typename internal::nested<Derived,2>::type t(a_t.derived());
-    m_min += t;
-    m_max += t;
-    return *this;
-  }
-
-  /** \returns the squared distance between the point \a p and the box \c *this,
-    * and zero if \a p is inside the box.
-    * \sa exteriorDistance(const MatrixBase&), squaredExteriorDistance(const AlignedBox&)
-    */
-  template<typename Derived>
-  inline Scalar squaredExteriorDistance(const MatrixBase<Derived>& p) const;
-
-  /** \returns the squared distance between the boxes \a b and \c *this,
-    * and zero if the boxes intersect.
-    * \sa exteriorDistance(const AlignedBox&), squaredExteriorDistance(const MatrixBase&)
-    */
-  inline Scalar squaredExteriorDistance(const AlignedBox& b) const;
-
-  /** \returns the distance between the point \a p and the box \c *this,
-    * and zero if \a p is inside the box.
-    * \sa squaredExteriorDistance(const MatrixBase&), exteriorDistance(const AlignedBox&)
-    */
-  template<typename Derived>
-  inline NonInteger exteriorDistance(const MatrixBase<Derived>& p) const
-  { using std::sqrt; return sqrt(NonInteger(squaredExteriorDistance(p))); }
-
-  /** \returns the distance between the boxes \a b and \c *this,
-    * and zero if the boxes intersect.
-    * \sa squaredExteriorDistance(const AlignedBox&), exteriorDistance(const MatrixBase&)
-    */
-  inline NonInteger exteriorDistance(const AlignedBox& b) const
-  { using std::sqrt; return sqrt(NonInteger(squaredExteriorDistance(b))); }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<AlignedBox,
-           AlignedBox<NewScalarType,AmbientDimAtCompileTime> >::type cast() const
-  {
-    return typename internal::cast_return_type<AlignedBox,
-                    AlignedBox<NewScalarType,AmbientDimAtCompileTime> >::type(*this);
-  }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit AlignedBox(const AlignedBox<OtherScalarType,AmbientDimAtCompileTime>& other)
-  {
-    m_min = (other.min)().template cast<Scalar>();
-    m_max = (other.max)().template cast<Scalar>();
-  }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const AlignedBox& other, const RealScalar& prec = ScalarTraits::dummy_precision()) const
-  { return m_min.isApprox(other.m_min, prec) && m_max.isApprox(other.m_max, prec); }
-
-protected:
-
-  VectorType m_min, m_max;
-};
-
-
-
-template<typename Scalar,int AmbientDim>
-template<typename Derived>
-inline Scalar AlignedBox<Scalar,AmbientDim>::squaredExteriorDistance(const MatrixBase<Derived>& a_p) const
-{
-  typename internal::nested<Derived,2*AmbientDim>::type p(a_p.derived());
-  Scalar dist2(0);
-  Scalar aux;
-  for (Index k=0; k<dim(); ++k)
-  {
-    if( m_min[k] > p[k] )
-    {
-      aux = m_min[k] - p[k];
-      dist2 += aux*aux;
-    }
-    else if( p[k] > m_max[k] )
-    {
-      aux = p[k] - m_max[k];
-      dist2 += aux*aux;
-    }
-  }
-  return dist2;
-}
-
-template<typename Scalar,int AmbientDim>
-inline Scalar AlignedBox<Scalar,AmbientDim>::squaredExteriorDistance(const AlignedBox& b) const
-{
-  Scalar dist2(0);
-  Scalar aux;
-  for (Index k=0; k<dim(); ++k)
-  {
-    if( m_min[k] > b.m_max[k] )
-    {
-      aux = m_min[k] - b.m_max[k];
-      dist2 += aux*aux;
-    }
-    else if( b.m_min[k] > m_max[k] )
-    {
-      aux = b.m_min[k] - m_max[k];
-      dist2 += aux*aux;
-    }
-  }
-  return dist2;
-}
-
-/** \defgroup alignedboxtypedefs Global aligned box typedefs
-  *
-  * \ingroup Geometry_Module
-  *
-  * Eigen defines several typedef shortcuts for most common aligned box types.
-  *
-  * The general patterns are the following:
-  *
-  * \c AlignedBoxSizeType where \c Size can be \c 1, \c 2,\c 3,\c 4 for fixed size boxes or \c X for dynamic size,
-  * and where \c Type can be \c i for integer, \c f for float, \c d for double.
-  *
-  * For example, \c AlignedBox3d is a fixed-size 3x3 aligned box type of doubles, and \c AlignedBoxXf is a dynamic-size aligned box of floats.
-  *
-  * \sa class AlignedBox
-  */
-
-#define EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix)    \
-/** \ingroup alignedboxtypedefs */                                 \
-typedef AlignedBox<Type, Size>   AlignedBox##SizeSuffix##TypeSuffix;
-
-#define EIGEN_MAKE_TYPEDEFS_ALL_SIZES(Type, TypeSuffix) \
-EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 1, 1) \
-EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 2, 2) \
-EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 3, 3) \
-EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 4, 4) \
-EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Dynamic, X)
-
-EIGEN_MAKE_TYPEDEFS_ALL_SIZES(int,                  i)
-EIGEN_MAKE_TYPEDEFS_ALL_SIZES(float,                f)
-EIGEN_MAKE_TYPEDEFS_ALL_SIZES(double,               d)
-
-#undef EIGEN_MAKE_TYPEDEFS_ALL_SIZES
-#undef EIGEN_MAKE_TYPEDEFS
-
-} // end namespace Eigen
-
-#endif // EIGEN_ALIGNEDBOX_H
diff --git a/lib/Eigen/src/Geometry/AngleAxis.h b/lib/Eigen/src/Geometry/AngleAxis.h
deleted file mode 100644
index a8d3cdcf..00000000
--- a/lib/Eigen/src/Geometry/AngleAxis.h
+++ /dev/null
@@ -1,240 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ANGLEAXIS_H
-#define EIGEN_ANGLEAXIS_H
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class AngleAxis
-  *
-  * \brief Represents a 3D rotation as a rotation angle around an arbitrary 3D axis
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients.
-  *
-  * \warning When setting up an AngleAxis object, the axis vector \b must \b be \b normalized.
-  *
-  * The following two typedefs are provided for convenience:
-  * \li \c AngleAxisf for \c float
-  * \li \c AngleAxisd for \c double
-  *
-  * Combined with MatrixBase::Unit{X,Y,Z}, AngleAxis can be used to easily
-  * mimic Euler-angles. Here is an example:
-  * \include AngleAxis_mimic_euler.cpp
-  * Output: \verbinclude AngleAxis_mimic_euler.out
-  *
-  * \note This class is not aimed to be used to store a rotation transformation,
-  * but rather to make easier the creation of other rotation (Quaternion, rotation Matrix)
-  * and transformation objects.
-  *
-  * \sa class Quaternion, class Transform, MatrixBase::UnitX()
-  */
-
-namespace internal {
-template<typename _Scalar> struct traits<AngleAxis<_Scalar> >
-{
-  typedef _Scalar Scalar;
-};
-}
-
-template<typename _Scalar>
-class AngleAxis : public RotationBase<AngleAxis<_Scalar>,3>
-{
-  typedef RotationBase<AngleAxis<_Scalar>,3> Base;
-
-public:
-
-  using Base::operator*;
-
-  enum { Dim = 3 };
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-  typedef Matrix<Scalar,3,3> Matrix3;
-  typedef Matrix<Scalar,3,1> Vector3;
-  typedef Quaternion<Scalar> QuaternionType;
-
-protected:
-
-  Vector3 m_axis;
-  Scalar m_angle;
-
-public:
-
-  /** Default constructor without initialization. */
-  AngleAxis() {}
-  /** Constructs and initialize the angle-axis rotation from an \a angle in radian
-    * and an \a axis which \b must \b be \b normalized.
-    *
-    * \warning If the \a axis vector is not normalized, then the angle-axis object
-    *          represents an invalid rotation. */
-  template<typename Derived>
-  inline AngleAxis(const Scalar& angle, const MatrixBase<Derived>& axis) : m_axis(axis), m_angle(angle) {}
-  /** Constructs and initialize the angle-axis rotation from a quaternion \a q. */
-  template<typename QuatDerived> inline explicit AngleAxis(const QuaternionBase<QuatDerived>& q) { *this = q; }
-  /** Constructs and initialize the angle-axis rotation from a 3x3 rotation matrix. */
-  template<typename Derived>
-  inline explicit AngleAxis(const MatrixBase<Derived>& m) { *this = m; }
-
-  /** \returns the value of the rotation angle in radian */
-  Scalar angle() const { return m_angle; }
-  /** \returns a read-write reference to the stored angle in radian */
-  Scalar& angle() { return m_angle; }
-
-  /** \returns the rotation axis */
-  const Vector3& axis() const { return m_axis; }
-  /** \returns a read-write reference to the stored rotation axis.
-    *
-    * \warning The rotation axis must remain a \b unit vector.
-    */
-  Vector3& axis() { return m_axis; }
-
-  /** Concatenates two rotations */
-  inline QuaternionType operator* (const AngleAxis& other) const
-  { return QuaternionType(*this) * QuaternionType(other); }
-
-  /** Concatenates two rotations */
-  inline QuaternionType operator* (const QuaternionType& other) const
-  { return QuaternionType(*this) * other; }
-
-  /** Concatenates two rotations */
-  friend inline QuaternionType operator* (const QuaternionType& a, const AngleAxis& b)
-  { return a * QuaternionType(b); }
-
-  /** \returns the inverse rotation, i.e., an angle-axis with opposite rotation angle */
-  AngleAxis inverse() const
-  { return AngleAxis(-m_angle, m_axis); }
-
-  template<class QuatDerived>
-  AngleAxis& operator=(const QuaternionBase<QuatDerived>& q);
-  template<typename Derived>
-  AngleAxis& operator=(const MatrixBase<Derived>& m);
-
-  template<typename Derived>
-  AngleAxis& fromRotationMatrix(const MatrixBase<Derived>& m);
-  Matrix3 toRotationMatrix(void) const;
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<AngleAxis,AngleAxis<NewScalarType> >::type cast() const
-  { return typename internal::cast_return_type<AngleAxis,AngleAxis<NewScalarType> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit AngleAxis(const AngleAxis<OtherScalarType>& other)
-  {
-    m_axis = other.axis().template cast<Scalar>();
-    m_angle = Scalar(other.angle());
-  }
-
-  static inline const AngleAxis Identity() { return AngleAxis(Scalar(0), Vector3::UnitX()); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const AngleAxis& other, const typename NumTraits<Scalar>::Real& prec = NumTraits<Scalar>::dummy_precision()) const
-  { return m_axis.isApprox(other.m_axis, prec) && internal::isApprox(m_angle,other.m_angle, prec); }
-};
-
-/** \ingroup Geometry_Module
-  * single precision angle-axis type */
-typedef AngleAxis<float> AngleAxisf;
-/** \ingroup Geometry_Module
-  * double precision angle-axis type */
-typedef AngleAxis<double> AngleAxisd;
-
-/** Set \c *this from a \b unit quaternion.
-  * The axis is normalized.
-  * 
-  * \warning As any other method dealing with quaternion, if the input quaternion
-  *          is not normalized then the result is undefined.
-  */
-template<typename Scalar>
-template<typename QuatDerived>
-AngleAxis<Scalar>& AngleAxis<Scalar>::operator=(const QuaternionBase<QuatDerived>& q)
-{
-  using std::acos;
-  using std::min;
-  using std::max;
-  using std::sqrt;
-  Scalar n2 = q.vec().squaredNorm();
-  if (n2 < NumTraits<Scalar>::dummy_precision()*NumTraits<Scalar>::dummy_precision())
-  {
-    m_angle = Scalar(0);
-    m_axis << Scalar(1), Scalar(0), Scalar(0);
-  }
-  else
-  {
-    m_angle = Scalar(2)*acos((min)((max)(Scalar(-1),q.w()),Scalar(1)));
-    m_axis = q.vec() / sqrt(n2);
-  }
-  return *this;
-}
-
-/** Set \c *this from a 3x3 rotation matrix \a mat.
-  */
-template<typename Scalar>
-template<typename Derived>
-AngleAxis<Scalar>& AngleAxis<Scalar>::operator=(const MatrixBase<Derived>& mat)
-{
-  // Since a direct conversion would not be really faster,
-  // let's use the robust Quaternion implementation:
-  return *this = QuaternionType(mat);
-}
-
-/**
-* \brief Sets \c *this from a 3x3 rotation matrix.
-**/
-template<typename Scalar>
-template<typename Derived>
-AngleAxis<Scalar>& AngleAxis<Scalar>::fromRotationMatrix(const MatrixBase<Derived>& mat)
-{
-  return *this = QuaternionType(mat);
-}
-
-/** Constructs and \returns an equivalent 3x3 rotation matrix.
-  */
-template<typename Scalar>
-typename AngleAxis<Scalar>::Matrix3
-AngleAxis<Scalar>::toRotationMatrix(void) const
-{
-  using std::sin;
-  using std::cos;
-  Matrix3 res;
-  Vector3 sin_axis  = sin(m_angle) * m_axis;
-  Scalar c = cos(m_angle);
-  Vector3 cos1_axis = (Scalar(1)-c) * m_axis;
-
-  Scalar tmp;
-  tmp = cos1_axis.x() * m_axis.y();
-  res.coeffRef(0,1) = tmp - sin_axis.z();
-  res.coeffRef(1,0) = tmp + sin_axis.z();
-
-  tmp = cos1_axis.x() * m_axis.z();
-  res.coeffRef(0,2) = tmp + sin_axis.y();
-  res.coeffRef(2,0) = tmp - sin_axis.y();
-
-  tmp = cos1_axis.y() * m_axis.z();
-  res.coeffRef(1,2) = tmp - sin_axis.x();
-  res.coeffRef(2,1) = tmp + sin_axis.x();
-
-  res.diagonal() = (cos1_axis.cwiseProduct(m_axis)).array() + c;
-
-  return res;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_ANGLEAXIS_H
diff --git a/lib/Eigen/src/Geometry/CMakeLists.txt b/lib/Eigen/src/Geometry/CMakeLists.txt
deleted file mode 100644
index f8f728b8..00000000
--- a/lib/Eigen/src/Geometry/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-FILE(GLOB Eigen_Geometry_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Geometry_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry COMPONENT Devel
-  )
-
-ADD_SUBDIRECTORY(arch)
diff --git a/lib/Eigen/src/Geometry/EulerAngles.h b/lib/Eigen/src/Geometry/EulerAngles.h
deleted file mode 100644
index 82802fb4..00000000
--- a/lib/Eigen/src/Geometry/EulerAngles.h
+++ /dev/null
@@ -1,104 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_EULERANGLES_H
-#define EIGEN_EULERANGLES_H
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  *
-  * \returns the Euler-angles of the rotation matrix \c *this using the convention defined by the triplet (\a a0,\a a1,\a a2)
-  *
-  * Each of the three parameters \a a0,\a a1,\a a2 represents the respective rotation axis as an integer in {0,1,2}.
-  * For instance, in:
-  * \code Vector3f ea = mat.eulerAngles(2, 0, 2); \endcode
-  * "2" represents the z axis and "0" the x axis, etc. The returned angles are such that
-  * we have the following equality:
-  * \code
-  * mat == AngleAxisf(ea[0], Vector3f::UnitZ())
-  *      * AngleAxisf(ea[1], Vector3f::UnitX())
-  *      * AngleAxisf(ea[2], Vector3f::UnitZ()); \endcode
-  * This corresponds to the right-multiply conventions (with right hand side frames).
-  * 
-  * The returned angles are in the ranges [0:pi]x[-pi:pi]x[-pi:pi].
-  * 
-  * \sa class AngleAxis
-  */
-template<typename Derived>
-inline Matrix<typename MatrixBase<Derived>::Scalar,3,1>
-MatrixBase<Derived>::eulerAngles(Index a0, Index a1, Index a2) const
-{
-  using std::atan2;
-  using std::sin;
-  using std::cos;
-  /* Implemented from Graphics Gems IV */
-  EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(Derived,3,3)
-
-  Matrix<Scalar,3,1> res;
-  typedef Matrix<typename Derived::Scalar,2,1> Vector2;
-
-  const Index odd = ((a0+1)%3 == a1) ? 0 : 1;
-  const Index i = a0;
-  const Index j = (a0 + 1 + odd)%3;
-  const Index k = (a0 + 2 - odd)%3;
-  
-  if (a0==a2)
-  {
-    res[0] = atan2(coeff(j,i), coeff(k,i));
-    if((odd && res[0]<Scalar(0)) || ((!odd) && res[0]>Scalar(0)))
-    {
-      res[0] = (res[0] > Scalar(0)) ? res[0] - Scalar(M_PI) : res[0] + Scalar(M_PI);
-      Scalar s2 = Vector2(coeff(j,i), coeff(k,i)).norm();
-      res[1] = -atan2(s2, coeff(i,i));
-    }
-    else
-    {
-      Scalar s2 = Vector2(coeff(j,i), coeff(k,i)).norm();
-      res[1] = atan2(s2, coeff(i,i));
-    }
-    
-    // With a=(0,1,0), we have i=0; j=1; k=2, and after computing the first two angles,
-    // we can compute their respective rotation, and apply its inverse to M. Since the result must
-    // be a rotation around x, we have:
-    //
-    //  c2  s1.s2 c1.s2                   1  0   0 
-    //  0   c1    -s1       *    M    =   0  c3  s3
-    //  -s2 s1.c2 c1.c2                   0 -s3  c3
-    //
-    //  Thus:  m11.c1 - m21.s1 = c3  &   m12.c1 - m22.s1 = s3
-    
-    Scalar s1 = sin(res[0]);
-    Scalar c1 = cos(res[0]);
-    res[2] = atan2(c1*coeff(j,k)-s1*coeff(k,k), c1*coeff(j,j) - s1 * coeff(k,j));
-  } 
-  else
-  {
-    res[0] = atan2(coeff(j,k), coeff(k,k));
-    Scalar c2 = Vector2(coeff(i,i), coeff(i,j)).norm();
-    if((odd && res[0]<Scalar(0)) || ((!odd) && res[0]>Scalar(0))) {
-      res[0] = (res[0] > Scalar(0)) ? res[0] - Scalar(M_PI) : res[0] + Scalar(M_PI);
-      res[1] = atan2(-coeff(i,k), -c2);
-    }
-    else
-      res[1] = atan2(-coeff(i,k), c2);
-    Scalar s1 = sin(res[0]);
-    Scalar c1 = cos(res[0]);
-    res[2] = atan2(s1*coeff(k,i)-c1*coeff(j,i), c1*coeff(j,j) - s1 * coeff(k,j));
-  }
-  if (!odd)
-    res = -res;
-  
-  return res;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_EULERANGLES_H
diff --git a/lib/Eigen/src/Geometry/Homogeneous.h b/lib/Eigen/src/Geometry/Homogeneous.h
deleted file mode 100644
index 372e422b..00000000
--- a/lib/Eigen/src/Geometry/Homogeneous.h
+++ /dev/null
@@ -1,307 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_HOMOGENEOUS_H
-#define EIGEN_HOMOGENEOUS_H
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Homogeneous
-  *
-  * \brief Expression of one (or a set of) homogeneous vector(s)
-  *
-  * \param MatrixType the type of the object in which we are making homogeneous
-  *
-  * This class represents an expression of one (or a set of) homogeneous vector(s).
-  * It is the return type of MatrixBase::homogeneous() and most of the time
-  * this is the only way it is used.
-  *
-  * \sa MatrixBase::homogeneous()
-  */
-
-namespace internal {
-
-template<typename MatrixType,int Direction>
-struct traits<Homogeneous<MatrixType,Direction> >
- : traits<MatrixType>
-{
-  typedef typename traits<MatrixType>::StorageKind StorageKind;
-  typedef typename nested<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_reference<MatrixTypeNested>::type _MatrixTypeNested;
-  enum {
-    RowsPlusOne = (MatrixType::RowsAtCompileTime != Dynamic) ?
-                  int(MatrixType::RowsAtCompileTime) + 1 : Dynamic,
-    ColsPlusOne = (MatrixType::ColsAtCompileTime != Dynamic) ?
-                  int(MatrixType::ColsAtCompileTime) + 1 : Dynamic,
-    RowsAtCompileTime = Direction==Vertical  ?  RowsPlusOne : MatrixType::RowsAtCompileTime,
-    ColsAtCompileTime = Direction==Horizontal ? ColsPlusOne : MatrixType::ColsAtCompileTime,
-    MaxRowsAtCompileTime = RowsAtCompileTime,
-    MaxColsAtCompileTime = ColsAtCompileTime,
-    TmpFlags = _MatrixTypeNested::Flags & HereditaryBits,
-    Flags = ColsAtCompileTime==1 ? (TmpFlags & ~RowMajorBit)
-          : RowsAtCompileTime==1 ? (TmpFlags | RowMajorBit)
-          : TmpFlags,
-    CoeffReadCost = _MatrixTypeNested::CoeffReadCost
-  };
-};
-
-template<typename MatrixType,typename Lhs> struct homogeneous_left_product_impl;
-template<typename MatrixType,typename Rhs> struct homogeneous_right_product_impl;
-
-} // end namespace internal
-
-template<typename MatrixType,int _Direction> class Homogeneous
-  : internal::no_assignment_operator, public MatrixBase<Homogeneous<MatrixType,_Direction> >
-{
-  public:
-
-    enum { Direction = _Direction };
-
-    typedef MatrixBase<Homogeneous> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(Homogeneous)
-
-    inline Homogeneous(const MatrixType& matrix)
-      : m_matrix(matrix)
-    {}
-
-    inline Index rows() const { return m_matrix.rows() + (int(Direction)==Vertical   ? 1 : 0); }
-    inline Index cols() const { return m_matrix.cols() + (int(Direction)==Horizontal ? 1 : 0); }
-
-    inline Scalar coeff(Index row, Index col) const
-    {
-      if(  (int(Direction)==Vertical   && row==m_matrix.rows())
-        || (int(Direction)==Horizontal && col==m_matrix.cols()))
-        return Scalar(1);
-      return m_matrix.coeff(row, col);
-    }
-
-    template<typename Rhs>
-    inline const internal::homogeneous_right_product_impl<Homogeneous,Rhs>
-    operator* (const MatrixBase<Rhs>& rhs) const
-    {
-      eigen_assert(int(Direction)==Horizontal);
-      return internal::homogeneous_right_product_impl<Homogeneous,Rhs>(m_matrix,rhs.derived());
-    }
-
-    template<typename Lhs> friend
-    inline const internal::homogeneous_left_product_impl<Homogeneous,Lhs>
-    operator* (const MatrixBase<Lhs>& lhs, const Homogeneous& rhs)
-    {
-      eigen_assert(int(Direction)==Vertical);
-      return internal::homogeneous_left_product_impl<Homogeneous,Lhs>(lhs.derived(),rhs.m_matrix);
-    }
-
-    template<typename Scalar, int Dim, int Mode, int Options> friend
-    inline const internal::homogeneous_left_product_impl<Homogeneous,Transform<Scalar,Dim,Mode,Options> >
-    operator* (const Transform<Scalar,Dim,Mode,Options>& lhs, const Homogeneous& rhs)
-    {
-      eigen_assert(int(Direction)==Vertical);
-      return internal::homogeneous_left_product_impl<Homogeneous,Transform<Scalar,Dim,Mode,Options> >(lhs,rhs.m_matrix);
-    }
-
-  protected:
-    typename MatrixType::Nested m_matrix;
-};
-
-/** \geometry_module
-  *
-  * \return an expression of the equivalent homogeneous vector
-  *
-  * \only_for_vectors
-  *
-  * Example: \include MatrixBase_homogeneous.cpp
-  * Output: \verbinclude MatrixBase_homogeneous.out
-  *
-  * \sa class Homogeneous
-  */
-template<typename Derived>
-inline typename MatrixBase<Derived>::HomogeneousReturnType
-MatrixBase<Derived>::homogeneous() const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived);
-  return derived();
-}
-
-/** \geometry_module
-  *
-  * \returns a matrix expression of homogeneous column (or row) vectors
-  *
-  * Example: \include VectorwiseOp_homogeneous.cpp
-  * Output: \verbinclude VectorwiseOp_homogeneous.out
-  *
-  * \sa MatrixBase::homogeneous() */
-template<typename ExpressionType, int Direction>
-inline Homogeneous<ExpressionType,Direction>
-VectorwiseOp<ExpressionType,Direction>::homogeneous() const
-{
-  return _expression();
-}
-
-/** \geometry_module
-  *
-  * \returns an expression of the homogeneous normalized vector of \c *this
-  *
-  * Example: \include MatrixBase_hnormalized.cpp
-  * Output: \verbinclude MatrixBase_hnormalized.out
-  *
-  * \sa VectorwiseOp::hnormalized() */
-template<typename Derived>
-inline const typename MatrixBase<Derived>::HNormalizedReturnType
-MatrixBase<Derived>::hnormalized() const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived);
-  return ConstStartMinusOne(derived(),0,0,
-    ColsAtCompileTime==1?size()-1:1,
-    ColsAtCompileTime==1?1:size()-1) / coeff(size()-1);
-}
-
-/** \geometry_module
-  *
-  * \returns an expression of the homogeneous normalized vector of \c *this
-  *
-  * Example: \include DirectionWise_hnormalized.cpp
-  * Output: \verbinclude DirectionWise_hnormalized.out
-  *
-  * \sa MatrixBase::hnormalized() */
-template<typename ExpressionType, int Direction>
-inline const typename VectorwiseOp<ExpressionType,Direction>::HNormalizedReturnType
-VectorwiseOp<ExpressionType,Direction>::hnormalized() const
-{
-  return HNormalized_Block(_expression(),0,0,
-      Direction==Vertical   ? _expression().rows()-1 : _expression().rows(),
-      Direction==Horizontal ? _expression().cols()-1 : _expression().cols()).cwiseQuotient(
-      Replicate<HNormalized_Factors,
-                Direction==Vertical   ? HNormalized_SizeMinusOne : 1,
-                Direction==Horizontal ? HNormalized_SizeMinusOne : 1>
-        (HNormalized_Factors(_expression(),
-          Direction==Vertical    ? _expression().rows()-1:0,
-          Direction==Horizontal  ? _expression().cols()-1:0,
-          Direction==Vertical    ? 1 : _expression().rows(),
-          Direction==Horizontal  ? 1 : _expression().cols()),
-         Direction==Vertical   ? _expression().rows()-1 : 1,
-         Direction==Horizontal ? _expression().cols()-1 : 1));
-}
-
-namespace internal {
-
-template<typename MatrixOrTransformType>
-struct take_matrix_for_product
-{
-  typedef MatrixOrTransformType type;
-  static const type& run(const type &x) { return x; }
-};
-
-template<typename Scalar, int Dim, int Mode,int Options>
-struct take_matrix_for_product<Transform<Scalar, Dim, Mode, Options> >
-{
-  typedef Transform<Scalar, Dim, Mode, Options> TransformType;
-  typedef typename internal::add_const<typename TransformType::ConstAffinePart>::type type;
-  static type run (const TransformType& x) { return x.affine(); }
-};
-
-template<typename Scalar, int Dim, int Options>
-struct take_matrix_for_product<Transform<Scalar, Dim, Projective, Options> >
-{
-  typedef Transform<Scalar, Dim, Projective, Options> TransformType;
-  typedef typename TransformType::MatrixType type;
-  static const type& run (const TransformType& x) { return x.matrix(); }
-};
-
-template<typename MatrixType,typename Lhs>
-struct traits<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> >
-{
-  typedef typename take_matrix_for_product<Lhs>::type LhsMatrixType;
-  typedef typename remove_all<MatrixType>::type MatrixTypeCleaned;
-  typedef typename remove_all<LhsMatrixType>::type LhsMatrixTypeCleaned;
-  typedef typename make_proper_matrix_type<
-                 typename traits<MatrixTypeCleaned>::Scalar,
-                 LhsMatrixTypeCleaned::RowsAtCompileTime,
-                 MatrixTypeCleaned::ColsAtCompileTime,
-                 MatrixTypeCleaned::PlainObject::Options,
-                 LhsMatrixTypeCleaned::MaxRowsAtCompileTime,
-                 MatrixTypeCleaned::MaxColsAtCompileTime>::type ReturnType;
-};
-
-template<typename MatrixType,typename Lhs>
-struct homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs>
-  : public ReturnByValue<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> >
-{
-  typedef typename traits<homogeneous_left_product_impl>::LhsMatrixType LhsMatrixType;
-  typedef typename remove_all<LhsMatrixType>::type LhsMatrixTypeCleaned;
-  typedef typename remove_all<typename LhsMatrixTypeCleaned::Nested>::type LhsMatrixTypeNested;
-  typedef typename MatrixType::Index Index;
-  homogeneous_left_product_impl(const Lhs& lhs, const MatrixType& rhs)
-    : m_lhs(take_matrix_for_product<Lhs>::run(lhs)),
-      m_rhs(rhs)
-  {}
-
-  inline Index rows() const { return m_lhs.rows(); }
-  inline Index cols() const { return m_rhs.cols(); }
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    // FIXME investigate how to allow lazy evaluation of this product when possible
-    dst = Block<const LhsMatrixTypeNested,
-              LhsMatrixTypeNested::RowsAtCompileTime,
-              LhsMatrixTypeNested::ColsAtCompileTime==Dynamic?Dynamic:LhsMatrixTypeNested::ColsAtCompileTime-1>
-            (m_lhs,0,0,m_lhs.rows(),m_lhs.cols()-1) * m_rhs;
-    dst += m_lhs.col(m_lhs.cols()-1).rowwise()
-            .template replicate<MatrixType::ColsAtCompileTime>(m_rhs.cols());
-  }
-
-  typename LhsMatrixTypeCleaned::Nested m_lhs;
-  typename MatrixType::Nested m_rhs;
-};
-
-template<typename MatrixType,typename Rhs>
-struct traits<homogeneous_right_product_impl<Homogeneous<MatrixType,Horizontal>,Rhs> >
-{
-  typedef typename make_proper_matrix_type<typename traits<MatrixType>::Scalar,
-                 MatrixType::RowsAtCompileTime,
-                 Rhs::ColsAtCompileTime,
-                 MatrixType::PlainObject::Options,
-                 MatrixType::MaxRowsAtCompileTime,
-                 Rhs::MaxColsAtCompileTime>::type ReturnType;
-};
-
-template<typename MatrixType,typename Rhs>
-struct homogeneous_right_product_impl<Homogeneous<MatrixType,Horizontal>,Rhs>
-  : public ReturnByValue<homogeneous_right_product_impl<Homogeneous<MatrixType,Horizontal>,Rhs> >
-{
-  typedef typename remove_all<typename Rhs::Nested>::type RhsNested;
-  typedef typename MatrixType::Index Index;
-  homogeneous_right_product_impl(const MatrixType& lhs, const Rhs& rhs)
-    : m_lhs(lhs), m_rhs(rhs)
-  {}
-
-  inline Index rows() const { return m_lhs.rows(); }
-  inline Index cols() const { return m_rhs.cols(); }
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    // FIXME investigate how to allow lazy evaluation of this product when possible
-    dst = m_lhs * Block<const RhsNested,
-                        RhsNested::RowsAtCompileTime==Dynamic?Dynamic:RhsNested::RowsAtCompileTime-1,
-                        RhsNested::ColsAtCompileTime>
-            (m_rhs,0,0,m_rhs.rows()-1,m_rhs.cols());
-    dst += m_rhs.row(m_rhs.rows()-1).colwise()
-            .template replicate<MatrixType::RowsAtCompileTime>(m_lhs.rows());
-  }
-
-  typename MatrixType::Nested m_lhs;
-  typename Rhs::Nested m_rhs;
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_HOMOGENEOUS_H
diff --git a/lib/Eigen/src/Geometry/Hyperplane.h b/lib/Eigen/src/Geometry/Hyperplane.h
deleted file mode 100644
index 00b7c430..00000000
--- a/lib/Eigen/src/Geometry/Hyperplane.h
+++ /dev/null
@@ -1,280 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_HYPERPLANE_H
-#define EIGEN_HYPERPLANE_H
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Hyperplane
-  *
-  * \brief A hyperplane
-  *
-  * A hyperplane is an affine subspace of dimension n-1 in a space of dimension n.
-  * For example, a hyperplane in a plane is a line; a hyperplane in 3-space is a plane.
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients
-  * \param _AmbientDim the dimension of the ambient space, can be a compile time value or Dynamic.
-  *             Notice that the dimension of the hyperplane is _AmbientDim-1.
-  *
-  * This class represents an hyperplane as the zero set of the implicit equation
-  * \f$ n \cdot x + d = 0 \f$ where \f$ n \f$ is a unit normal vector of the plane (linear part)
-  * and \f$ d \f$ is the distance (offset) to the origin.
-  */
-template <typename _Scalar, int _AmbientDim, int _Options>
-class Hyperplane
-{
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim==Dynamic ? Dynamic : _AmbientDim+1)
-  enum {
-    AmbientDimAtCompileTime = _AmbientDim,
-    Options = _Options
-  };
-  typedef _Scalar Scalar;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  typedef DenseIndex Index;
-  typedef Matrix<Scalar,AmbientDimAtCompileTime,1> VectorType;
-  typedef Matrix<Scalar,Index(AmbientDimAtCompileTime)==Dynamic
-                        ? Dynamic
-                        : Index(AmbientDimAtCompileTime)+1,1,Options> Coefficients;
-  typedef Block<Coefficients,AmbientDimAtCompileTime,1> NormalReturnType;
-  typedef const Block<const Coefficients,AmbientDimAtCompileTime,1> ConstNormalReturnType;
-
-  /** Default constructor without initialization */
-  inline Hyperplane() {}
-  
-  template<int OtherOptions>
-  Hyperplane(const Hyperplane<Scalar,AmbientDimAtCompileTime,OtherOptions>& other)
-   : m_coeffs(other.coeffs())
-  {}
-
-  /** Constructs a dynamic-size hyperplane with \a _dim the dimension
-    * of the ambient space */
-  inline explicit Hyperplane(Index _dim) : m_coeffs(_dim+1) {}
-
-  /** Construct a plane from its normal \a n and a point \a e onto the plane.
-    * \warning the vector normal is assumed to be normalized.
-    */
-  inline Hyperplane(const VectorType& n, const VectorType& e)
-    : m_coeffs(n.size()+1)
-  {
-    normal() = n;
-    offset() = -n.dot(e);
-  }
-
-  /** Constructs a plane from its normal \a n and distance to the origin \a d
-    * such that the algebraic equation of the plane is \f$ n \cdot x + d = 0 \f$.
-    * \warning the vector normal is assumed to be normalized.
-    */
-  inline Hyperplane(const VectorType& n, const Scalar& d)
-    : m_coeffs(n.size()+1)
-  {
-    normal() = n;
-    offset() = d;
-  }
-
-  /** Constructs a hyperplane passing through the two points. If the dimension of the ambient space
-    * is greater than 2, then there isn't uniqueness, so an arbitrary choice is made.
-    */
-  static inline Hyperplane Through(const VectorType& p0, const VectorType& p1)
-  {
-    Hyperplane result(p0.size());
-    result.normal() = (p1 - p0).unitOrthogonal();
-    result.offset() = -p0.dot(result.normal());
-    return result;
-  }
-
-  /** Constructs a hyperplane passing through the three points. The dimension of the ambient space
-    * is required to be exactly 3.
-    */
-  static inline Hyperplane Through(const VectorType& p0, const VectorType& p1, const VectorType& p2)
-  {
-    EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(VectorType, 3)
-    Hyperplane result(p0.size());
-    VectorType v0(p2 - p0), v1(p1 - p0);
-    result.normal() = v0.cross(v1);
-    RealScalar norm = result.normal().norm();
-    if(norm <= v0.norm() * v1.norm() * NumTraits<RealScalar>::epsilon())
-    {
-      Matrix<Scalar,2,3> m; m << v0.transpose(), v1.transpose();
-      JacobiSVD<Matrix<Scalar,2,3> > svd(m, ComputeFullV);
-      result.normal() = svd.matrixV().col(2);
-    }
-    else
-      result.normal() /= norm;
-    result.offset() = -p0.dot(result.normal());
-    return result;
-  }
-
-  /** Constructs a hyperplane passing through the parametrized line \a parametrized.
-    * If the dimension of the ambient space is greater than 2, then there isn't uniqueness,
-    * so an arbitrary choice is made.
-    */
-  // FIXME to be consitent with the rest this could be implemented as a static Through function ??
-  explicit Hyperplane(const ParametrizedLine<Scalar, AmbientDimAtCompileTime>& parametrized)
-  {
-    normal() = parametrized.direction().unitOrthogonal();
-    offset() = -parametrized.origin().dot(normal());
-  }
-
-  ~Hyperplane() {}
-
-  /** \returns the dimension in which the plane holds */
-  inline Index dim() const { return AmbientDimAtCompileTime==Dynamic ? m_coeffs.size()-1 : Index(AmbientDimAtCompileTime); }
-
-  /** normalizes \c *this */
-  void normalize(void)
-  {
-    m_coeffs /= normal().norm();
-  }
-
-  /** \returns the signed distance between the plane \c *this and a point \a p.
-    * \sa absDistance()
-    */
-  inline Scalar signedDistance(const VectorType& p) const { return normal().dot(p) + offset(); }
-
-  /** \returns the absolute distance between the plane \c *this and a point \a p.
-    * \sa signedDistance()
-    */
-  inline Scalar absDistance(const VectorType& p) const { using std::abs; return abs(signedDistance(p)); }
-
-  /** \returns the projection of a point \a p onto the plane \c *this.
-    */
-  inline VectorType projection(const VectorType& p) const { return p - signedDistance(p) * normal(); }
-
-  /** \returns a constant reference to the unit normal vector of the plane, which corresponds
-    * to the linear part of the implicit equation.
-    */
-  inline ConstNormalReturnType normal() const { return ConstNormalReturnType(m_coeffs,0,0,dim(),1); }
-
-  /** \returns a non-constant reference to the unit normal vector of the plane, which corresponds
-    * to the linear part of the implicit equation.
-    */
-  inline NormalReturnType normal() { return NormalReturnType(m_coeffs,0,0,dim(),1); }
-
-  /** \returns the distance to the origin, which is also the "constant term" of the implicit equation
-    * \warning the vector normal is assumed to be normalized.
-    */
-  inline const Scalar& offset() const { return m_coeffs.coeff(dim()); }
-
-  /** \returns a non-constant reference to the distance to the origin, which is also the constant part
-    * of the implicit equation */
-  inline Scalar& offset() { return m_coeffs(dim()); }
-
-  /** \returns a constant reference to the coefficients c_i of the plane equation:
-    * \f$ c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 \f$
-    */
-  inline const Coefficients& coeffs() const { return m_coeffs; }
-
-  /** \returns a non-constant reference to the coefficients c_i of the plane equation:
-    * \f$ c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 \f$
-    */
-  inline Coefficients& coeffs() { return m_coeffs; }
-
-  /** \returns the intersection of *this with \a other.
-    *
-    * \warning The ambient space must be a plane, i.e. have dimension 2, so that \c *this and \a other are lines.
-    *
-    * \note If \a other is approximately parallel to *this, this method will return any point on *this.
-    */
-  VectorType intersection(const Hyperplane& other) const
-  {
-    using std::abs;
-    EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(VectorType, 2)
-    Scalar det = coeffs().coeff(0) * other.coeffs().coeff(1) - coeffs().coeff(1) * other.coeffs().coeff(0);
-    // since the line equations ax+by=c are normalized with a^2+b^2=1, the following tests
-    // whether the two lines are approximately parallel.
-    if(internal::isMuchSmallerThan(det, Scalar(1)))
-    {   // special case where the two lines are approximately parallel. Pick any point on the first line.
-        if(abs(coeffs().coeff(1))>abs(coeffs().coeff(0)))
-            return VectorType(coeffs().coeff(1), -coeffs().coeff(2)/coeffs().coeff(1)-coeffs().coeff(0));
-        else
-            return VectorType(-coeffs().coeff(2)/coeffs().coeff(0)-coeffs().coeff(1), coeffs().coeff(0));
-    }
-    else
-    {   // general case
-        Scalar invdet = Scalar(1) / det;
-        return VectorType(invdet*(coeffs().coeff(1)*other.coeffs().coeff(2)-other.coeffs().coeff(1)*coeffs().coeff(2)),
-                          invdet*(other.coeffs().coeff(0)*coeffs().coeff(2)-coeffs().coeff(0)*other.coeffs().coeff(2)));
-    }
-  }
-
-  /** Applies the transformation matrix \a mat to \c *this and returns a reference to \c *this.
-    *
-    * \param mat the Dim x Dim transformation matrix
-    * \param traits specifies whether the matrix \a mat represents an #Isometry
-    *               or a more generic #Affine transformation. The default is #Affine.
-    */
-  template<typename XprType>
-  inline Hyperplane& transform(const MatrixBase<XprType>& mat, TransformTraits traits = Affine)
-  {
-    if (traits==Affine)
-      normal() = mat.inverse().transpose() * normal();
-    else if (traits==Isometry)
-      normal() = mat * normal();
-    else
-    {
-      eigen_assert(0 && "invalid traits value in Hyperplane::transform()");
-    }
-    return *this;
-  }
-
-  /** Applies the transformation \a t to \c *this and returns a reference to \c *this.
-    *
-    * \param t the transformation of dimension Dim
-    * \param traits specifies whether the transformation \a t represents an #Isometry
-    *               or a more generic #Affine transformation. The default is #Affine.
-    *               Other kind of transformations are not supported.
-    */
-  template<int TrOptions>
-  inline Hyperplane& transform(const Transform<Scalar,AmbientDimAtCompileTime,Affine,TrOptions>& t,
-                                TransformTraits traits = Affine)
-  {
-    transform(t.linear(), traits);
-    offset() -= normal().dot(t.translation());
-    return *this;
-  }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Hyperplane,
-           Hyperplane<NewScalarType,AmbientDimAtCompileTime,Options> >::type cast() const
-  {
-    return typename internal::cast_return_type<Hyperplane,
-                    Hyperplane<NewScalarType,AmbientDimAtCompileTime,Options> >::type(*this);
-  }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType,int OtherOptions>
-  inline explicit Hyperplane(const Hyperplane<OtherScalarType,AmbientDimAtCompileTime,OtherOptions>& other)
-  { m_coeffs = other.coeffs().template cast<Scalar>(); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  template<int OtherOptions>
-  bool isApprox(const Hyperplane<Scalar,AmbientDimAtCompileTime,OtherOptions>& other, const typename NumTraits<Scalar>::Real& prec = NumTraits<Scalar>::dummy_precision()) const
-  { return m_coeffs.isApprox(other.m_coeffs, prec); }
-
-protected:
-
-  Coefficients m_coeffs;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_HYPERPLANE_H
diff --git a/lib/Eigen/src/Geometry/OrthoMethods.h b/lib/Eigen/src/Geometry/OrthoMethods.h
deleted file mode 100644
index 556bc816..00000000
--- a/lib/Eigen/src/Geometry/OrthoMethods.h
+++ /dev/null
@@ -1,218 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ORTHOMETHODS_H
-#define EIGEN_ORTHOMETHODS_H
-
-namespace Eigen { 
-
-/** \geometry_module
-  *
-  * \returns the cross product of \c *this and \a other
-  *
-  * Here is a very good explanation of cross-product: http://xkcd.com/199/
-  * \sa MatrixBase::cross3()
-  */
-template<typename Derived>
-template<typename OtherDerived>
-inline typename MatrixBase<Derived>::template cross_product_return_type<OtherDerived>::type
-MatrixBase<Derived>::cross(const MatrixBase<OtherDerived>& other) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived,3)
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,3)
-
-  // Note that there is no need for an expression here since the compiler
-  // optimize such a small temporary very well (even within a complex expression)
-  typename internal::nested<Derived,2>::type lhs(derived());
-  typename internal::nested<OtherDerived,2>::type rhs(other.derived());
-  return typename cross_product_return_type<OtherDerived>::type(
-    numext::conj(lhs.coeff(1) * rhs.coeff(2) - lhs.coeff(2) * rhs.coeff(1)),
-    numext::conj(lhs.coeff(2) * rhs.coeff(0) - lhs.coeff(0) * rhs.coeff(2)),
-    numext::conj(lhs.coeff(0) * rhs.coeff(1) - lhs.coeff(1) * rhs.coeff(0))
-  );
-}
-
-namespace internal {
-
-template< int Arch,typename VectorLhs,typename VectorRhs,
-          typename Scalar = typename VectorLhs::Scalar,
-          bool Vectorizable = bool((VectorLhs::Flags&VectorRhs::Flags)&PacketAccessBit)>
-struct cross3_impl {
-  static inline typename internal::plain_matrix_type<VectorLhs>::type
-  run(const VectorLhs& lhs, const VectorRhs& rhs)
-  {
-    return typename internal::plain_matrix_type<VectorLhs>::type(
-      numext::conj(lhs.coeff(1) * rhs.coeff(2) - lhs.coeff(2) * rhs.coeff(1)),
-      numext::conj(lhs.coeff(2) * rhs.coeff(0) - lhs.coeff(0) * rhs.coeff(2)),
-      numext::conj(lhs.coeff(0) * rhs.coeff(1) - lhs.coeff(1) * rhs.coeff(0)),
-      0
-    );
-  }
-};
-
-}
-
-/** \geometry_module
-  *
-  * \returns the cross product of \c *this and \a other using only the x, y, and z coefficients
-  *
-  * The size of \c *this and \a other must be four. This function is especially useful
-  * when using 4D vectors instead of 3D ones to get advantage of SSE/AltiVec vectorization.
-  *
-  * \sa MatrixBase::cross()
-  */
-template<typename Derived>
-template<typename OtherDerived>
-inline typename MatrixBase<Derived>::PlainObject
-MatrixBase<Derived>::cross3(const MatrixBase<OtherDerived>& other) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived,4)
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,4)
-
-  typedef typename internal::nested<Derived,2>::type DerivedNested;
-  typedef typename internal::nested<OtherDerived,2>::type OtherDerivedNested;
-  DerivedNested lhs(derived());
-  OtherDerivedNested rhs(other.derived());
-
-  return internal::cross3_impl<Architecture::Target,
-                        typename internal::remove_all<DerivedNested>::type,
-                        typename internal::remove_all<OtherDerivedNested>::type>::run(lhs,rhs);
-}
-
-/** \returns a matrix expression of the cross product of each column or row
-  * of the referenced expression with the \a other vector.
-  *
-  * The referenced matrix must have one dimension equal to 3.
-  * The result matrix has the same dimensions than the referenced one.
-  *
-  * \geometry_module
-  *
-  * \sa MatrixBase::cross() */
-template<typename ExpressionType, int Direction>
-template<typename OtherDerived>
-const typename VectorwiseOp<ExpressionType,Direction>::CrossReturnType
-VectorwiseOp<ExpressionType,Direction>::cross(const MatrixBase<OtherDerived>& other) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,3)
-  EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename OtherDerived::Scalar>::value),
-    YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-
-  CrossReturnType res(_expression().rows(),_expression().cols());
-  if(Direction==Vertical)
-  {
-    eigen_assert(CrossReturnType::RowsAtCompileTime==3 && "the matrix must have exactly 3 rows");
-    res.row(0) = (_expression().row(1) * other.coeff(2) - _expression().row(2) * other.coeff(1)).conjugate();
-    res.row(1) = (_expression().row(2) * other.coeff(0) - _expression().row(0) * other.coeff(2)).conjugate();
-    res.row(2) = (_expression().row(0) * other.coeff(1) - _expression().row(1) * other.coeff(0)).conjugate();
-  }
-  else
-  {
-    eigen_assert(CrossReturnType::ColsAtCompileTime==3 && "the matrix must have exactly 3 columns");
-    res.col(0) = (_expression().col(1) * other.coeff(2) - _expression().col(2) * other.coeff(1)).conjugate();
-    res.col(1) = (_expression().col(2) * other.coeff(0) - _expression().col(0) * other.coeff(2)).conjugate();
-    res.col(2) = (_expression().col(0) * other.coeff(1) - _expression().col(1) * other.coeff(0)).conjugate();
-  }
-  return res;
-}
-
-namespace internal {
-
-template<typename Derived, int Size = Derived::SizeAtCompileTime>
-struct unitOrthogonal_selector
-{
-  typedef typename plain_matrix_type<Derived>::type VectorType;
-  typedef typename traits<Derived>::Scalar Scalar;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  typedef typename Derived::Index Index;
-  typedef Matrix<Scalar,2,1> Vector2;
-  static inline VectorType run(const Derived& src)
-  {
-    VectorType perp = VectorType::Zero(src.size());
-    Index maxi = 0;
-    Index sndi = 0;
-    src.cwiseAbs().maxCoeff(&maxi);
-    if (maxi==0)
-      sndi = 1;
-    RealScalar invnm = RealScalar(1)/(Vector2() << src.coeff(sndi),src.coeff(maxi)).finished().norm();
-    perp.coeffRef(maxi) = -numext::conj(src.coeff(sndi)) * invnm;
-    perp.coeffRef(sndi) =  numext::conj(src.coeff(maxi)) * invnm;
-
-    return perp;
-   }
-};
-
-template<typename Derived>
-struct unitOrthogonal_selector<Derived,3>
-{
-  typedef typename plain_matrix_type<Derived>::type VectorType;
-  typedef typename traits<Derived>::Scalar Scalar;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  static inline VectorType run(const Derived& src)
-  {
-    VectorType perp;
-    /* Let us compute the crossed product of *this with a vector
-     * that is not too close to being colinear to *this.
-     */
-
-    /* unless the x and y coords are both close to zero, we can
-     * simply take ( -y, x, 0 ) and normalize it.
-     */
-    if((!isMuchSmallerThan(src.x(), src.z()))
-    || (!isMuchSmallerThan(src.y(), src.z())))
-    {
-      RealScalar invnm = RealScalar(1)/src.template head<2>().norm();
-      perp.coeffRef(0) = -numext::conj(src.y())*invnm;
-      perp.coeffRef(1) = numext::conj(src.x())*invnm;
-      perp.coeffRef(2) = 0;
-    }
-    /* if both x and y are close to zero, then the vector is close
-     * to the z-axis, so it's far from colinear to the x-axis for instance.
-     * So we take the crossed product with (1,0,0) and normalize it.
-     */
-    else
-    {
-      RealScalar invnm = RealScalar(1)/src.template tail<2>().norm();
-      perp.coeffRef(0) = 0;
-      perp.coeffRef(1) = -numext::conj(src.z())*invnm;
-      perp.coeffRef(2) = numext::conj(src.y())*invnm;
-    }
-
-    return perp;
-   }
-};
-
-template<typename Derived>
-struct unitOrthogonal_selector<Derived,2>
-{
-  typedef typename plain_matrix_type<Derived>::type VectorType;
-  static inline VectorType run(const Derived& src)
-  { return VectorType(-numext::conj(src.y()), numext::conj(src.x())).normalized(); }
-};
-
-} // end namespace internal
-
-/** \returns a unit vector which is orthogonal to \c *this
-  *
-  * The size of \c *this must be at least 2. If the size is exactly 2,
-  * then the returned vector is a counter clock wise rotation of \c *this, i.e., (-y,x).normalized().
-  *
-  * \sa cross()
-  */
-template<typename Derived>
-typename MatrixBase<Derived>::PlainObject
-MatrixBase<Derived>::unitOrthogonal() const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return internal::unitOrthogonal_selector<Derived>::run(derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_ORTHOMETHODS_H
diff --git a/lib/Eigen/src/Geometry/ParametrizedLine.h b/lib/Eigen/src/Geometry/ParametrizedLine.h
deleted file mode 100644
index cf3252df..00000000
--- a/lib/Eigen/src/Geometry/ParametrizedLine.h
+++ /dev/null
@@ -1,195 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PARAMETRIZEDLINE_H
-#define EIGEN_PARAMETRIZEDLINE_H
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class ParametrizedLine
-  *
-  * \brief A parametrized line
-  *
-  * A parametrized line is defined by an origin point \f$ \mathbf{o} \f$ and a unit
-  * direction vector \f$ \mathbf{d} \f$ such that the line corresponds to
-  * the set \f$ l(t) = \mathbf{o} + t \mathbf{d} \f$, \f$ t \in \mathbf{R} \f$.
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients
-  * \param _AmbientDim the dimension of the ambient space, can be a compile time value or Dynamic.
-  */
-template <typename _Scalar, int _AmbientDim, int _Options>
-class ParametrizedLine
-{
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
-  enum {
-    AmbientDimAtCompileTime = _AmbientDim,
-    Options = _Options
-  };
-  typedef _Scalar Scalar;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  typedef DenseIndex Index;
-  typedef Matrix<Scalar,AmbientDimAtCompileTime,1,Options> VectorType;
-
-  /** Default constructor without initialization */
-  inline ParametrizedLine() {}
-  
-  template<int OtherOptions>
-  ParametrizedLine(const ParametrizedLine<Scalar,AmbientDimAtCompileTime,OtherOptions>& other)
-   : m_origin(other.origin()), m_direction(other.direction())
-  {}
-
-  /** Constructs a dynamic-size line with \a _dim the dimension
-    * of the ambient space */
-  inline explicit ParametrizedLine(Index _dim) : m_origin(_dim), m_direction(_dim) {}
-
-  /** Initializes a parametrized line of direction \a direction and origin \a origin.
-    * \warning the vector direction is assumed to be normalized.
-    */
-  ParametrizedLine(const VectorType& origin, const VectorType& direction)
-    : m_origin(origin), m_direction(direction) {}
-
-  template <int OtherOptions>
-  explicit ParametrizedLine(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane);
-
-  /** Constructs a parametrized line going from \a p0 to \a p1. */
-  static inline ParametrizedLine Through(const VectorType& p0, const VectorType& p1)
-  { return ParametrizedLine(p0, (p1-p0).normalized()); }
-
-  ~ParametrizedLine() {}
-
-  /** \returns the dimension in which the line holds */
-  inline Index dim() const { return m_direction.size(); }
-
-  const VectorType& origin() const { return m_origin; }
-  VectorType& origin() { return m_origin; }
-
-  const VectorType& direction() const { return m_direction; }
-  VectorType& direction() { return m_direction; }
-
-  /** \returns the squared distance of a point \a p to its projection onto the line \c *this.
-    * \sa distance()
-    */
-  RealScalar squaredDistance(const VectorType& p) const
-  {
-    VectorType diff = p - origin();
-    return (diff - direction().dot(diff) * direction()).squaredNorm();
-  }
-  /** \returns the distance of a point \a p to its projection onto the line \c *this.
-    * \sa squaredDistance()
-    */
-  RealScalar distance(const VectorType& p) const { using std::sqrt; return sqrt(squaredDistance(p)); }
-
-  /** \returns the projection of a point \a p onto the line \c *this. */
-  VectorType projection(const VectorType& p) const
-  { return origin() + direction().dot(p-origin()) * direction(); }
-
-  VectorType pointAt(const Scalar& t) const;
-  
-  template <int OtherOptions>
-  Scalar intersectionParameter(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane) const;
- 
-  template <int OtherOptions>
-  Scalar intersection(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane) const;
-  
-  template <int OtherOptions>
-  VectorType intersectionPoint(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane) const;
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<ParametrizedLine,
-           ParametrizedLine<NewScalarType,AmbientDimAtCompileTime,Options> >::type cast() const
-  {
-    return typename internal::cast_return_type<ParametrizedLine,
-                    ParametrizedLine<NewScalarType,AmbientDimAtCompileTime,Options> >::type(*this);
-  }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType,int OtherOptions>
-  inline explicit ParametrizedLine(const ParametrizedLine<OtherScalarType,AmbientDimAtCompileTime,OtherOptions>& other)
-  {
-    m_origin = other.origin().template cast<Scalar>();
-    m_direction = other.direction().template cast<Scalar>();
-  }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const ParametrizedLine& other, const typename NumTraits<Scalar>::Real& prec = NumTraits<Scalar>::dummy_precision()) const
-  { return m_origin.isApprox(other.m_origin, prec) && m_direction.isApprox(other.m_direction, prec); }
-
-protected:
-
-  VectorType m_origin, m_direction;
-};
-
-/** Constructs a parametrized line from a 2D hyperplane
-  *
-  * \warning the ambient space must have dimension 2 such that the hyperplane actually describes a line
-  */
-template <typename _Scalar, int _AmbientDim, int _Options>
-template <int OtherOptions>
-inline ParametrizedLine<_Scalar, _AmbientDim,_Options>::ParametrizedLine(const Hyperplane<_Scalar, _AmbientDim,OtherOptions>& hyperplane)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(VectorType, 2)
-  direction() = hyperplane.normal().unitOrthogonal();
-  origin() = -hyperplane.normal()*hyperplane.offset();
-}
-
-/** \returns the point at \a t along this line
-  */
-template <typename _Scalar, int _AmbientDim, int _Options>
-inline typename ParametrizedLine<_Scalar, _AmbientDim,_Options>::VectorType
-ParametrizedLine<_Scalar, _AmbientDim,_Options>::pointAt(const _Scalar& t) const
-{
-  return origin() + (direction()*t); 
-}
-
-/** \returns the parameter value of the intersection between \c *this and the given \a hyperplane
-  */
-template <typename _Scalar, int _AmbientDim, int _Options>
-template <int OtherOptions>
-inline _Scalar ParametrizedLine<_Scalar, _AmbientDim,_Options>::intersectionParameter(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane) const
-{
-  return -(hyperplane.offset()+hyperplane.normal().dot(origin()))
-          / hyperplane.normal().dot(direction());
-}
-
-
-/** \deprecated use intersectionParameter()
-  * \returns the parameter value of the intersection between \c *this and the given \a hyperplane
-  */
-template <typename _Scalar, int _AmbientDim, int _Options>
-template <int OtherOptions>
-inline _Scalar ParametrizedLine<_Scalar, _AmbientDim,_Options>::intersection(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane) const
-{
-  return intersectionParameter(hyperplane);
-}
-
-/** \returns the point of the intersection between \c *this and the given hyperplane
-  */
-template <typename _Scalar, int _AmbientDim, int _Options>
-template <int OtherOptions>
-inline typename ParametrizedLine<_Scalar, _AmbientDim,_Options>::VectorType
-ParametrizedLine<_Scalar, _AmbientDim,_Options>::intersectionPoint(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane) const
-{
-  return pointAt(intersectionParameter(hyperplane));
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_PARAMETRIZEDLINE_H
diff --git a/lib/Eigen/src/Geometry/Quaternion.h b/lib/Eigen/src/Geometry/Quaternion.h
deleted file mode 100644
index 25ed17bb..00000000
--- a/lib/Eigen/src/Geometry/Quaternion.h
+++ /dev/null
@@ -1,776 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Mathieu Gautier <mathieu.gautier@cea.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_QUATERNION_H
-#define EIGEN_QUATERNION_H
-namespace Eigen { 
-
-
-/***************************************************************************
-* Definition of QuaternionBase<Derived>
-* The implementation is at the end of the file
-***************************************************************************/
-
-namespace internal {
-template<typename Other,
-         int OtherRows=Other::RowsAtCompileTime,
-         int OtherCols=Other::ColsAtCompileTime>
-struct quaternionbase_assign_impl;
-}
-
-/** \geometry_module \ingroup Geometry_Module
-  * \class QuaternionBase
-  * \brief Base class for quaternion expressions
-  * \tparam Derived derived type (CRTP)
-  * \sa class Quaternion
-  */
-template<class Derived>
-class QuaternionBase : public RotationBase<Derived, 3>
-{
-  typedef RotationBase<Derived, 3> Base;
-public:
-  using Base::operator*;
-  using Base::derived;
-
-  typedef typename internal::traits<Derived>::Scalar Scalar;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  typedef typename internal::traits<Derived>::Coefficients Coefficients;
-  enum {
-    Flags = Eigen::internal::traits<Derived>::Flags
-  };
-
- // typedef typename Matrix<Scalar,4,1> Coefficients;
-  /** the type of a 3D vector */
-  typedef Matrix<Scalar,3,1> Vector3;
-  /** the equivalent rotation matrix type */
-  typedef Matrix<Scalar,3,3> Matrix3;
-  /** the equivalent angle-axis type */
-  typedef AngleAxis<Scalar> AngleAxisType;
-
-
-
-  /** \returns the \c x coefficient */
-  inline Scalar x() const { return this->derived().coeffs().coeff(0); }
-  /** \returns the \c y coefficient */
-  inline Scalar y() const { return this->derived().coeffs().coeff(1); }
-  /** \returns the \c z coefficient */
-  inline Scalar z() const { return this->derived().coeffs().coeff(2); }
-  /** \returns the \c w coefficient */
-  inline Scalar w() const { return this->derived().coeffs().coeff(3); }
-
-  /** \returns a reference to the \c x coefficient */
-  inline Scalar& x() { return this->derived().coeffs().coeffRef(0); }
-  /** \returns a reference to the \c y coefficient */
-  inline Scalar& y() { return this->derived().coeffs().coeffRef(1); }
-  /** \returns a reference to the \c z coefficient */
-  inline Scalar& z() { return this->derived().coeffs().coeffRef(2); }
-  /** \returns a reference to the \c w coefficient */
-  inline Scalar& w() { return this->derived().coeffs().coeffRef(3); }
-
-  /** \returns a read-only vector expression of the imaginary part (x,y,z) */
-  inline const VectorBlock<const Coefficients,3> vec() const { return coeffs().template head<3>(); }
-
-  /** \returns a vector expression of the imaginary part (x,y,z) */
-  inline VectorBlock<Coefficients,3> vec() { return coeffs().template head<3>(); }
-
-  /** \returns a read-only vector expression of the coefficients (x,y,z,w) */
-  inline const typename internal::traits<Derived>::Coefficients& coeffs() const { return derived().coeffs(); }
-
-  /** \returns a vector expression of the coefficients (x,y,z,w) */
-  inline typename internal::traits<Derived>::Coefficients& coeffs() { return derived().coeffs(); }
-
-  EIGEN_STRONG_INLINE QuaternionBase<Derived>& operator=(const QuaternionBase<Derived>& other);
-  template<class OtherDerived> EIGEN_STRONG_INLINE Derived& operator=(const QuaternionBase<OtherDerived>& other);
-
-// disabled this copy operator as it is giving very strange compilation errors when compiling
-// test_stdvector with GCC 4.4.2. This looks like a GCC bug though, so feel free to re-enable it if it's
-// useful; however notice that we already have the templated operator= above and e.g. in MatrixBase
-// we didn't have to add, in addition to templated operator=, such a non-templated copy operator.
-//  Derived& operator=(const QuaternionBase& other)
-//  { return operator=<Derived>(other); }
-
-  Derived& operator=(const AngleAxisType& aa);
-  template<class OtherDerived> Derived& operator=(const MatrixBase<OtherDerived>& m);
-
-  /** \returns a quaternion representing an identity rotation
-    * \sa MatrixBase::Identity()
-    */
-  static inline Quaternion<Scalar> Identity() { return Quaternion<Scalar>(Scalar(1), Scalar(0), Scalar(0), Scalar(0)); }
-
-  /** \sa QuaternionBase::Identity(), MatrixBase::setIdentity()
-    */
-  inline QuaternionBase& setIdentity() { coeffs() << Scalar(0), Scalar(0), Scalar(0), Scalar(1); return *this; }
-
-  /** \returns the squared norm of the quaternion's coefficients
-    * \sa QuaternionBase::norm(), MatrixBase::squaredNorm()
-    */
-  inline Scalar squaredNorm() const { return coeffs().squaredNorm(); }
-
-  /** \returns the norm of the quaternion's coefficients
-    * \sa QuaternionBase::squaredNorm(), MatrixBase::norm()
-    */
-  inline Scalar norm() const { return coeffs().norm(); }
-
-  /** Normalizes the quaternion \c *this
-    * \sa normalized(), MatrixBase::normalize() */
-  inline void normalize() { coeffs().normalize(); }
-  /** \returns a normalized copy of \c *this
-    * \sa normalize(), MatrixBase::normalized() */
-  inline Quaternion<Scalar> normalized() const { return Quaternion<Scalar>(coeffs().normalized()); }
-
-    /** \returns the dot product of \c *this and \a other
-    * Geometrically speaking, the dot product of two unit quaternions
-    * corresponds to the cosine of half the angle between the two rotations.
-    * \sa angularDistance()
-    */
-  template<class OtherDerived> inline Scalar dot(const QuaternionBase<OtherDerived>& other) const { return coeffs().dot(other.coeffs()); }
-
-  template<class OtherDerived> Scalar angularDistance(const QuaternionBase<OtherDerived>& other) const;
-
-  /** \returns an equivalent 3x3 rotation matrix */
-  Matrix3 toRotationMatrix() const;
-
-  /** \returns the quaternion which transform \a a into \a b through a rotation */
-  template<typename Derived1, typename Derived2>
-  Derived& setFromTwoVectors(const MatrixBase<Derived1>& a, const MatrixBase<Derived2>& b);
-
-  template<class OtherDerived> EIGEN_STRONG_INLINE Quaternion<Scalar> operator* (const QuaternionBase<OtherDerived>& q) const;
-  template<class OtherDerived> EIGEN_STRONG_INLINE Derived& operator*= (const QuaternionBase<OtherDerived>& q);
-
-  /** \returns the quaternion describing the inverse rotation */
-  Quaternion<Scalar> inverse() const;
-
-  /** \returns the conjugated quaternion */
-  Quaternion<Scalar> conjugate() const;
-
-  template<class OtherDerived> Quaternion<Scalar> slerp(const Scalar& t, const QuaternionBase<OtherDerived>& other) const;
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  template<class OtherDerived>
-  bool isApprox(const QuaternionBase<OtherDerived>& other, const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const
-  { return coeffs().isApprox(other.coeffs(), prec); }
-
-	/** return the result vector of \a v through the rotation*/
-  EIGEN_STRONG_INLINE Vector3 _transformVector(const Vector3& v) const;
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Derived,Quaternion<NewScalarType> >::type cast() const
-  {
-    return typename internal::cast_return_type<Derived,Quaternion<NewScalarType> >::type(derived());
-  }
-
-#ifdef EIGEN_QUATERNIONBASE_PLUGIN
-# include EIGEN_QUATERNIONBASE_PLUGIN
-#endif
-};
-
-/***************************************************************************
-* Definition/implementation of Quaternion<Scalar>
-***************************************************************************/
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Quaternion
-  *
-  * \brief The quaternion class used to represent 3D orientations and rotations
-  *
-  * \tparam _Scalar the scalar type, i.e., the type of the coefficients
-  * \tparam _Options controls the memory alignment of the coefficients. Can be \# AutoAlign or \# DontAlign. Default is AutoAlign.
-  *
-  * This class represents a quaternion \f$ w+xi+yj+zk \f$ that is a convenient representation of
-  * orientations and rotations of objects in three dimensions. Compared to other representations
-  * like Euler angles or 3x3 matrices, quaternions offer the following advantages:
-  * \li \b compact storage (4 scalars)
-  * \li \b efficient to compose (28 flops),
-  * \li \b stable spherical interpolation
-  *
-  * The following two typedefs are provided for convenience:
-  * \li \c Quaternionf for \c float
-  * \li \c Quaterniond for \c double
-  *
-  * \warning Operations interpreting the quaternion as rotation have undefined behavior if the quaternion is not normalized.
-  *
-  * \sa  class AngleAxis, class Transform
-  */
-
-namespace internal {
-template<typename _Scalar,int _Options>
-struct traits<Quaternion<_Scalar,_Options> >
-{
-  typedef Quaternion<_Scalar,_Options> PlainObject;
-  typedef _Scalar Scalar;
-  typedef Matrix<_Scalar,4,1,_Options> Coefficients;
-  enum{
-    IsAligned = internal::traits<Coefficients>::Flags & AlignedBit,
-    Flags = IsAligned ? (AlignedBit | LvalueBit) : LvalueBit
-  };
-};
-}
-
-template<typename _Scalar, int _Options>
-class Quaternion : public QuaternionBase<Quaternion<_Scalar,_Options> >
-{
-  typedef QuaternionBase<Quaternion<_Scalar,_Options> > Base;
-  enum { IsAligned = internal::traits<Quaternion>::IsAligned };
-
-public:
-  typedef _Scalar Scalar;
-
-  EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Quaternion)
-  using Base::operator*=;
-
-  typedef typename internal::traits<Quaternion>::Coefficients Coefficients;
-  typedef typename Base::AngleAxisType AngleAxisType;
-
-  /** Default constructor leaving the quaternion uninitialized. */
-  inline Quaternion() {}
-
-  /** Constructs and initializes the quaternion \f$ w+xi+yj+zk \f$ from
-    * its four coefficients \a w, \a x, \a y and \a z.
-    *
-    * \warning Note the order of the arguments: the real \a w coefficient first,
-    * while internally the coefficients are stored in the following order:
-    * [\c x, \c y, \c z, \c w]
-    */
-  inline Quaternion(const Scalar& w, const Scalar& x, const Scalar& y, const Scalar& z) : m_coeffs(x, y, z, w){}
-
-  /** Constructs and initialize a quaternion from the array data */
-  inline Quaternion(const Scalar* data) : m_coeffs(data) {}
-
-  /** Copy constructor */
-  template<class Derived> EIGEN_STRONG_INLINE Quaternion(const QuaternionBase<Derived>& other) { this->Base::operator=(other); }
-
-  /** Constructs and initializes a quaternion from the angle-axis \a aa */
-  explicit inline Quaternion(const AngleAxisType& aa) { *this = aa; }
-
-  /** Constructs and initializes a quaternion from either:
-    *  - a rotation matrix expression,
-    *  - a 4D vector expression representing quaternion coefficients.
-    */
-  template<typename Derived>
-  explicit inline Quaternion(const MatrixBase<Derived>& other) { *this = other; }
-
-  /** Explicit copy constructor with scalar conversion */
-  template<typename OtherScalar, int OtherOptions>
-  explicit inline Quaternion(const Quaternion<OtherScalar, OtherOptions>& other)
-  { m_coeffs = other.coeffs().template cast<Scalar>(); }
-
-  template<typename Derived1, typename Derived2>
-  static Quaternion FromTwoVectors(const MatrixBase<Derived1>& a, const MatrixBase<Derived2>& b);
-
-  inline Coefficients& coeffs() { return m_coeffs;}
-  inline const Coefficients& coeffs() const { return m_coeffs;}
-
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(IsAligned)
-
-protected:
-  Coefficients m_coeffs;
-  
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    static EIGEN_STRONG_INLINE void _check_template_params()
-    {
-      EIGEN_STATIC_ASSERT( (_Options & DontAlign) == _Options,
-        INVALID_MATRIX_TEMPLATE_PARAMETERS)
-    }
-#endif
-};
-
-/** \ingroup Geometry_Module
-  * single precision quaternion type */
-typedef Quaternion<float> Quaternionf;
-/** \ingroup Geometry_Module
-  * double precision quaternion type */
-typedef Quaternion<double> Quaterniond;
-
-/***************************************************************************
-* Specialization of Map<Quaternion<Scalar>>
-***************************************************************************/
-
-namespace internal {
-  template<typename _Scalar, int _Options>
-  struct traits<Map<Quaternion<_Scalar>, _Options> > : traits<Quaternion<_Scalar, (int(_Options)&Aligned)==Aligned ? AutoAlign : DontAlign> >
-  {
-    typedef Map<Matrix<_Scalar,4,1>, _Options> Coefficients;
-  };
-}
-
-namespace internal {
-  template<typename _Scalar, int _Options>
-  struct traits<Map<const Quaternion<_Scalar>, _Options> > : traits<Quaternion<_Scalar, (int(_Options)&Aligned)==Aligned ? AutoAlign : DontAlign> >
-  {
-    typedef Map<const Matrix<_Scalar,4,1>, _Options> Coefficients;
-    typedef traits<Quaternion<_Scalar, (int(_Options)&Aligned)==Aligned ? AutoAlign : DontAlign> > TraitsBase;
-    enum {
-      Flags = TraitsBase::Flags & ~LvalueBit
-    };
-  };
-}
-
-/** \ingroup Geometry_Module
-  * \brief Quaternion expression mapping a constant memory buffer
-  *
-  * \tparam _Scalar the type of the Quaternion coefficients
-  * \tparam _Options see class Map
-  *
-  * This is a specialization of class Map for Quaternion. This class allows to view
-  * a 4 scalar memory buffer as an Eigen's Quaternion object.
-  *
-  * \sa class Map, class Quaternion, class QuaternionBase
-  */
-template<typename _Scalar, int _Options>
-class Map<const Quaternion<_Scalar>, _Options >
-  : public QuaternionBase<Map<const Quaternion<_Scalar>, _Options> >
-{
-    typedef QuaternionBase<Map<const Quaternion<_Scalar>, _Options> > Base;
-
-  public:
-    typedef _Scalar Scalar;
-    typedef typename internal::traits<Map>::Coefficients Coefficients;
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Map)
-    using Base::operator*=;
-
-    /** Constructs a Mapped Quaternion object from the pointer \a coeffs
-      *
-      * The pointer \a coeffs must reference the four coefficients of Quaternion in the following order:
-      * \code *coeffs == {x, y, z, w} \endcode
-      *
-      * If the template parameter _Options is set to #Aligned, then the pointer coeffs must be aligned. */
-    EIGEN_STRONG_INLINE Map(const Scalar* coeffs) : m_coeffs(coeffs) {}
-
-    inline const Coefficients& coeffs() const { return m_coeffs;}
-
-  protected:
-    const Coefficients m_coeffs;
-};
-
-/** \ingroup Geometry_Module
-  * \brief Expression of a quaternion from a memory buffer
-  *
-  * \tparam _Scalar the type of the Quaternion coefficients
-  * \tparam _Options see class Map
-  *
-  * This is a specialization of class Map for Quaternion. This class allows to view
-  * a 4 scalar memory buffer as an Eigen's  Quaternion object.
-  *
-  * \sa class Map, class Quaternion, class QuaternionBase
-  */
-template<typename _Scalar, int _Options>
-class Map<Quaternion<_Scalar>, _Options >
-  : public QuaternionBase<Map<Quaternion<_Scalar>, _Options> >
-{
-    typedef QuaternionBase<Map<Quaternion<_Scalar>, _Options> > Base;
-
-  public:
-    typedef _Scalar Scalar;
-    typedef typename internal::traits<Map>::Coefficients Coefficients;
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Map)
-    using Base::operator*=;
-
-    /** Constructs a Mapped Quaternion object from the pointer \a coeffs
-      *
-      * The pointer \a coeffs must reference the four coefficients of Quaternion in the following order:
-      * \code *coeffs == {x, y, z, w} \endcode
-      *
-      * If the template parameter _Options is set to #Aligned, then the pointer coeffs must be aligned. */
-    EIGEN_STRONG_INLINE Map(Scalar* coeffs) : m_coeffs(coeffs) {}
-
-    inline Coefficients& coeffs() { return m_coeffs; }
-    inline const Coefficients& coeffs() const { return m_coeffs; }
-
-  protected:
-    Coefficients m_coeffs;
-};
-
-/** \ingroup Geometry_Module
-  * Map an unaligned array of single precision scalars as a quaternion */
-typedef Map<Quaternion<float>, 0>         QuaternionMapf;
-/** \ingroup Geometry_Module
-  * Map an unaligned array of double precision scalars as a quaternion */
-typedef Map<Quaternion<double>, 0>        QuaternionMapd;
-/** \ingroup Geometry_Module
-  * Map a 16-byte aligned array of single precision scalars as a quaternion */
-typedef Map<Quaternion<float>, Aligned>   QuaternionMapAlignedf;
-/** \ingroup Geometry_Module
-  * Map a 16-byte aligned array of double precision scalars as a quaternion */
-typedef Map<Quaternion<double>, Aligned>  QuaternionMapAlignedd;
-
-/***************************************************************************
-* Implementation of QuaternionBase methods
-***************************************************************************/
-
-// Generic Quaternion * Quaternion product
-// This product can be specialized for a given architecture via the Arch template argument.
-namespace internal {
-template<int Arch, class Derived1, class Derived2, typename Scalar, int _Options> struct quat_product
-{
-  static EIGEN_STRONG_INLINE Quaternion<Scalar> run(const QuaternionBase<Derived1>& a, const QuaternionBase<Derived2>& b){
-    return Quaternion<Scalar>
-    (
-      a.w() * b.w() - a.x() * b.x() - a.y() * b.y() - a.z() * b.z(),
-      a.w() * b.x() + a.x() * b.w() + a.y() * b.z() - a.z() * b.y(),
-      a.w() * b.y() + a.y() * b.w() + a.z() * b.x() - a.x() * b.z(),
-      a.w() * b.z() + a.z() * b.w() + a.x() * b.y() - a.y() * b.x()
-    );
-  }
-};
-}
-
-/** \returns the concatenation of two rotations as a quaternion-quaternion product */
-template <class Derived>
-template <class OtherDerived>
-EIGEN_STRONG_INLINE Quaternion<typename internal::traits<Derived>::Scalar>
-QuaternionBase<Derived>::operator* (const QuaternionBase<OtherDerived>& other) const
-{
-  EIGEN_STATIC_ASSERT((internal::is_same<typename Derived::Scalar, typename OtherDerived::Scalar>::value),
-   YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-  return internal::quat_product<Architecture::Target, Derived, OtherDerived,
-                         typename internal::traits<Derived>::Scalar,
-                         internal::traits<Derived>::IsAligned && internal::traits<OtherDerived>::IsAligned>::run(*this, other);
-}
-
-/** \sa operator*(Quaternion) */
-template <class Derived>
-template <class OtherDerived>
-EIGEN_STRONG_INLINE Derived& QuaternionBase<Derived>::operator*= (const QuaternionBase<OtherDerived>& other)
-{
-  derived() = derived() * other.derived();
-  return derived();
-}
-
-/** Rotation of a vector by a quaternion.
-  * \remarks If the quaternion is used to rotate several points (>1)
-  * then it is much more efficient to first convert it to a 3x3 Matrix.
-  * Comparison of the operation cost for n transformations:
-  *   - Quaternion2:    30n
-  *   - Via a Matrix3: 24 + 15n
-  */
-template <class Derived>
-EIGEN_STRONG_INLINE typename QuaternionBase<Derived>::Vector3
-QuaternionBase<Derived>::_transformVector(const Vector3& v) const
-{
-    // Note that this algorithm comes from the optimization by hand
-    // of the conversion to a Matrix followed by a Matrix/Vector product.
-    // It appears to be much faster than the common algorithm found
-    // in the literature (30 versus 39 flops). It also requires two
-    // Vector3 as temporaries.
-    Vector3 uv = this->vec().cross(v);
-    uv += uv;
-    return v + this->w() * uv + this->vec().cross(uv);
-}
-
-template<class Derived>
-EIGEN_STRONG_INLINE QuaternionBase<Derived>& QuaternionBase<Derived>::operator=(const QuaternionBase<Derived>& other)
-{
-  coeffs() = other.coeffs();
-  return derived();
-}
-
-template<class Derived>
-template<class OtherDerived>
-EIGEN_STRONG_INLINE Derived& QuaternionBase<Derived>::operator=(const QuaternionBase<OtherDerived>& other)
-{
-  coeffs() = other.coeffs();
-  return derived();
-}
-
-/** Set \c *this from an angle-axis \a aa and returns a reference to \c *this
-  */
-template<class Derived>
-EIGEN_STRONG_INLINE Derived& QuaternionBase<Derived>::operator=(const AngleAxisType& aa)
-{
-  using std::cos;
-  using std::sin;
-  Scalar ha = Scalar(0.5)*aa.angle(); // Scalar(0.5) to suppress precision loss warnings
-  this->w() = cos(ha);
-  this->vec() = sin(ha) * aa.axis();
-  return derived();
-}
-
-/** Set \c *this from the expression \a xpr:
-  *   - if \a xpr is a 4x1 vector, then \a xpr is assumed to be a quaternion
-  *   - if \a xpr is a 3x3 matrix, then \a xpr is assumed to be rotation matrix
-  *     and \a xpr is converted to a quaternion
-  */
-
-template<class Derived>
-template<class MatrixDerived>
-inline Derived& QuaternionBase<Derived>::operator=(const MatrixBase<MatrixDerived>& xpr)
-{
-  EIGEN_STATIC_ASSERT((internal::is_same<typename Derived::Scalar, typename MatrixDerived::Scalar>::value),
-   YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-  internal::quaternionbase_assign_impl<MatrixDerived>::run(*this, xpr.derived());
-  return derived();
-}
-
-/** Convert the quaternion to a 3x3 rotation matrix. The quaternion is required to
-  * be normalized, otherwise the result is undefined.
-  */
-template<class Derived>
-inline typename QuaternionBase<Derived>::Matrix3
-QuaternionBase<Derived>::toRotationMatrix(void) const
-{
-  // NOTE if inlined, then gcc 4.2 and 4.4 get rid of the temporary (not gcc 4.3 !!)
-  // if not inlined then the cost of the return by value is huge ~ +35%,
-  // however, not inlining this function is an order of magnitude slower, so
-  // it has to be inlined, and so the return by value is not an issue
-  Matrix3 res;
-
-  const Scalar tx  = Scalar(2)*this->x();
-  const Scalar ty  = Scalar(2)*this->y();
-  const Scalar tz  = Scalar(2)*this->z();
-  const Scalar twx = tx*this->w();
-  const Scalar twy = ty*this->w();
-  const Scalar twz = tz*this->w();
-  const Scalar txx = tx*this->x();
-  const Scalar txy = ty*this->x();
-  const Scalar txz = tz*this->x();
-  const Scalar tyy = ty*this->y();
-  const Scalar tyz = tz*this->y();
-  const Scalar tzz = tz*this->z();
-
-  res.coeffRef(0,0) = Scalar(1)-(tyy+tzz);
-  res.coeffRef(0,1) = txy-twz;
-  res.coeffRef(0,2) = txz+twy;
-  res.coeffRef(1,0) = txy+twz;
-  res.coeffRef(1,1) = Scalar(1)-(txx+tzz);
-  res.coeffRef(1,2) = tyz-twx;
-  res.coeffRef(2,0) = txz-twy;
-  res.coeffRef(2,1) = tyz+twx;
-  res.coeffRef(2,2) = Scalar(1)-(txx+tyy);
-
-  return res;
-}
-
-/** Sets \c *this to be a quaternion representing a rotation between
-  * the two arbitrary vectors \a a and \a b. In other words, the built
-  * rotation represent a rotation sending the line of direction \a a
-  * to the line of direction \a b, both lines passing through the origin.
-  *
-  * \returns a reference to \c *this.
-  *
-  * Note that the two input vectors do \b not have to be normalized, and
-  * do not need to have the same norm.
-  */
-template<class Derived>
-template<typename Derived1, typename Derived2>
-inline Derived& QuaternionBase<Derived>::setFromTwoVectors(const MatrixBase<Derived1>& a, const MatrixBase<Derived2>& b)
-{
-  using std::max;
-  using std::sqrt;
-  Vector3 v0 = a.normalized();
-  Vector3 v1 = b.normalized();
-  Scalar c = v1.dot(v0);
-
-  // if dot == -1, vectors are nearly opposites
-  // => accurately compute the rotation axis by computing the
-  //    intersection of the two planes. This is done by solving:
-  //       x^T v0 = 0
-  //       x^T v1 = 0
-  //    under the constraint:
-  //       ||x|| = 1
-  //    which yields a singular value problem
-  if (c < Scalar(-1)+NumTraits<Scalar>::dummy_precision())
-  {
-    c = (max)(c,Scalar(-1));
-    Matrix<Scalar,2,3> m; m << v0.transpose(), v1.transpose();
-    JacobiSVD<Matrix<Scalar,2,3> > svd(m, ComputeFullV);
-    Vector3 axis = svd.matrixV().col(2);
-
-    Scalar w2 = (Scalar(1)+c)*Scalar(0.5);
-    this->w() = sqrt(w2);
-    this->vec() = axis * sqrt(Scalar(1) - w2);
-    return derived();
-  }
-  Vector3 axis = v0.cross(v1);
-  Scalar s = sqrt((Scalar(1)+c)*Scalar(2));
-  Scalar invs = Scalar(1)/s;
-  this->vec() = axis * invs;
-  this->w() = s * Scalar(0.5);
-
-  return derived();
-}
-
-
-/** Returns a quaternion representing a rotation between
-  * the two arbitrary vectors \a a and \a b. In other words, the built
-  * rotation represent a rotation sending the line of direction \a a
-  * to the line of direction \a b, both lines passing through the origin.
-  *
-  * \returns resulting quaternion
-  *
-  * Note that the two input vectors do \b not have to be normalized, and
-  * do not need to have the same norm.
-  */
-template<typename Scalar, int Options>
-template<typename Derived1, typename Derived2>
-Quaternion<Scalar,Options> Quaternion<Scalar,Options>::FromTwoVectors(const MatrixBase<Derived1>& a, const MatrixBase<Derived2>& b)
-{
-    Quaternion quat;
-    quat.setFromTwoVectors(a, b);
-    return quat;
-}
-
-
-/** \returns the multiplicative inverse of \c *this
-  * Note that in most cases, i.e., if you simply want the opposite rotation,
-  * and/or the quaternion is normalized, then it is enough to use the conjugate.
-  *
-  * \sa QuaternionBase::conjugate()
-  */
-template <class Derived>
-inline Quaternion<typename internal::traits<Derived>::Scalar> QuaternionBase<Derived>::inverse() const
-{
-  // FIXME should this function be called multiplicativeInverse and conjugate() be called inverse() or opposite()  ??
-  Scalar n2 = this->squaredNorm();
-  if (n2 > Scalar(0))
-    return Quaternion<Scalar>(conjugate().coeffs() / n2);
-  else
-  {
-    // return an invalid result to flag the error
-    return Quaternion<Scalar>(Coefficients::Zero());
-  }
-}
-
-/** \returns the conjugate of the \c *this which is equal to the multiplicative inverse
-  * if the quaternion is normalized.
-  * The conjugate of a quaternion represents the opposite rotation.
-  *
-  * \sa Quaternion2::inverse()
-  */
-template <class Derived>
-inline Quaternion<typename internal::traits<Derived>::Scalar>
-QuaternionBase<Derived>::conjugate() const
-{
-  return Quaternion<Scalar>(this->w(),-this->x(),-this->y(),-this->z());
-}
-
-/** \returns the angle (in radian) between two rotations
-  * \sa dot()
-  */
-template <class Derived>
-template <class OtherDerived>
-inline typename internal::traits<Derived>::Scalar
-QuaternionBase<Derived>::angularDistance(const QuaternionBase<OtherDerived>& other) const
-{
-  using std::atan2;
-  using std::abs;
-  Quaternion<Scalar> d = (*this) * other.conjugate();
-  return Scalar(2) * atan2( d.vec().norm(), abs(d.w()) );
-}
-
- 
-    
-/** \returns the spherical linear interpolation between the two quaternions
-  * \c *this and \a other at the parameter \a t in [0;1].
-  * 
-  * This represents an interpolation for a constant motion between \c *this and \a other,
-  * see also http://en.wikipedia.org/wiki/Slerp.
-  */
-template <class Derived>
-template <class OtherDerived>
-Quaternion<typename internal::traits<Derived>::Scalar>
-QuaternionBase<Derived>::slerp(const Scalar& t, const QuaternionBase<OtherDerived>& other) const
-{
-  using std::acos;
-  using std::sin;
-  using std::abs;
-  static const Scalar one = Scalar(1) - NumTraits<Scalar>::epsilon();
-  Scalar d = this->dot(other);
-  Scalar absD = abs(d);
-
-  Scalar scale0;
-  Scalar scale1;
-
-  if(absD>=one)
-  {
-    scale0 = Scalar(1) - t;
-    scale1 = t;
-  }
-  else
-  {
-    // theta is the angle between the 2 quaternions
-    Scalar theta = acos(absD);
-    Scalar sinTheta = sin(theta);
-
-    scale0 = sin( ( Scalar(1) - t ) * theta) / sinTheta;
-    scale1 = sin( ( t * theta) ) / sinTheta;
-  }
-  if(d<Scalar(0)) scale1 = -scale1;
-
-  return Quaternion<Scalar>(scale0 * coeffs() + scale1 * other.coeffs());
-}
-
-namespace internal {
-
-// set from a rotation matrix
-template<typename Other>
-struct quaternionbase_assign_impl<Other,3,3>
-{
-  typedef typename Other::Scalar Scalar;
-  typedef DenseIndex Index;
-  template<class Derived> static inline void run(QuaternionBase<Derived>& q, const Other& mat)
-  {
-    using std::sqrt;
-    // This algorithm comes from  "Quaternion Calculus and Fast Animation",
-    // Ken Shoemake, 1987 SIGGRAPH course notes
-    Scalar t = mat.trace();
-    if (t > Scalar(0))
-    {
-      t = sqrt(t + Scalar(1.0));
-      q.w() = Scalar(0.5)*t;
-      t = Scalar(0.5)/t;
-      q.x() = (mat.coeff(2,1) - mat.coeff(1,2)) * t;
-      q.y() = (mat.coeff(0,2) - mat.coeff(2,0)) * t;
-      q.z() = (mat.coeff(1,0) - mat.coeff(0,1)) * t;
-    }
-    else
-    {
-      DenseIndex i = 0;
-      if (mat.coeff(1,1) > mat.coeff(0,0))
-        i = 1;
-      if (mat.coeff(2,2) > mat.coeff(i,i))
-        i = 2;
-      DenseIndex j = (i+1)%3;
-      DenseIndex k = (j+1)%3;
-
-      t = sqrt(mat.coeff(i,i)-mat.coeff(j,j)-mat.coeff(k,k) + Scalar(1.0));
-      q.coeffs().coeffRef(i) = Scalar(0.5) * t;
-      t = Scalar(0.5)/t;
-      q.w() = (mat.coeff(k,j)-mat.coeff(j,k))*t;
-      q.coeffs().coeffRef(j) = (mat.coeff(j,i)+mat.coeff(i,j))*t;
-      q.coeffs().coeffRef(k) = (mat.coeff(k,i)+mat.coeff(i,k))*t;
-    }
-  }
-};
-
-// set from a vector of coefficients assumed to be a quaternion
-template<typename Other>
-struct quaternionbase_assign_impl<Other,4,1>
-{
-  typedef typename Other::Scalar Scalar;
-  template<class Derived> static inline void run(QuaternionBase<Derived>& q, const Other& vec)
-  {
-    q.coeffs() = vec;
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_QUATERNION_H
diff --git a/lib/Eigen/src/Geometry/Rotation2D.h b/lib/Eigen/src/Geometry/Rotation2D.h
deleted file mode 100644
index a2d59fce..00000000
--- a/lib/Eigen/src/Geometry/Rotation2D.h
+++ /dev/null
@@ -1,160 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ROTATION2D_H
-#define EIGEN_ROTATION2D_H
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Rotation2D
-  *
-  * \brief Represents a rotation/orientation in a 2 dimensional space.
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients
-  *
-  * This class is equivalent to a single scalar representing a counter clock wise rotation
-  * as a single angle in radian. It provides some additional features such as the automatic
-  * conversion from/to a 2x2 rotation matrix. Moreover this class aims to provide a similar
-  * interface to Quaternion in order to facilitate the writing of generic algorithms
-  * dealing with rotations.
-  *
-  * \sa class Quaternion, class Transform
-  */
-
-namespace internal {
-
-template<typename _Scalar> struct traits<Rotation2D<_Scalar> >
-{
-  typedef _Scalar Scalar;
-};
-} // end namespace internal
-
-template<typename _Scalar>
-class Rotation2D : public RotationBase<Rotation2D<_Scalar>,2>
-{
-  typedef RotationBase<Rotation2D<_Scalar>,2> Base;
-
-public:
-
-  using Base::operator*;
-
-  enum { Dim = 2 };
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-  typedef Matrix<Scalar,2,1> Vector2;
-  typedef Matrix<Scalar,2,2> Matrix2;
-
-protected:
-
-  Scalar m_angle;
-
-public:
-
-  /** Construct a 2D counter clock wise rotation from the angle \a a in radian. */
-  inline Rotation2D(const Scalar& a) : m_angle(a) {}
-  
-  /** Default constructor wihtout initialization. The represented rotation is undefined. */
-  Rotation2D() {}
-
-  /** \returns the rotation angle */
-  inline Scalar angle() const { return m_angle; }
-
-  /** \returns a read-write reference to the rotation angle */
-  inline Scalar& angle() { return m_angle; }
-
-  /** \returns the inverse rotation */
-  inline Rotation2D inverse() const { return -m_angle; }
-
-  /** Concatenates two rotations */
-  inline Rotation2D operator*(const Rotation2D& other) const
-  { return m_angle + other.m_angle; }
-
-  /** Concatenates two rotations */
-  inline Rotation2D& operator*=(const Rotation2D& other)
-  { m_angle += other.m_angle; return *this; }
-
-  /** Applies the rotation to a 2D vector */
-  Vector2 operator* (const Vector2& vec) const
-  { return toRotationMatrix() * vec; }
-  
-  template<typename Derived>
-  Rotation2D& fromRotationMatrix(const MatrixBase<Derived>& m);
-  Matrix2 toRotationMatrix() const;
-
-  /** \returns the spherical interpolation between \c *this and \a other using
-    * parameter \a t. It is in fact equivalent to a linear interpolation.
-    */
-  inline Rotation2D slerp(const Scalar& t, const Rotation2D& other) const
-  { return m_angle * (1-t) + other.angle() * t; }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type cast() const
-  { return typename internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit Rotation2D(const Rotation2D<OtherScalarType>& other)
-  {
-    m_angle = Scalar(other.angle());
-  }
-
-  static inline Rotation2D Identity() { return Rotation2D(0); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const Rotation2D& other, const typename NumTraits<Scalar>::Real& prec = NumTraits<Scalar>::dummy_precision()) const
-  { return internal::isApprox(m_angle,other.m_angle, prec); }
-};
-
-/** \ingroup Geometry_Module
-  * single precision 2D rotation type */
-typedef Rotation2D<float> Rotation2Df;
-/** \ingroup Geometry_Module
-  * double precision 2D rotation type */
-typedef Rotation2D<double> Rotation2Dd;
-
-/** Set \c *this from a 2x2 rotation matrix \a mat.
-  * In other words, this function extract the rotation angle
-  * from the rotation matrix.
-  */
-template<typename Scalar>
-template<typename Derived>
-Rotation2D<Scalar>& Rotation2D<Scalar>::fromRotationMatrix(const MatrixBase<Derived>& mat)
-{
-  using std::atan2;
-  EIGEN_STATIC_ASSERT(Derived::RowsAtCompileTime==2 && Derived::ColsAtCompileTime==2,YOU_MADE_A_PROGRAMMING_MISTAKE)
-  m_angle = atan2(mat.coeff(1,0), mat.coeff(0,0));
-  return *this;
-}
-
-/** Constructs and \returns an equivalent 2x2 rotation matrix.
-  */
-template<typename Scalar>
-typename Rotation2D<Scalar>::Matrix2
-Rotation2D<Scalar>::toRotationMatrix(void) const
-{
-  using std::sin;
-  using std::cos;
-  Scalar sinA = sin(m_angle);
-  Scalar cosA = cos(m_angle);
-  return (Matrix2() << cosA, -sinA, sinA, cosA).finished();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_ROTATION2D_H
diff --git a/lib/Eigen/src/Geometry/RotationBase.h b/lib/Eigen/src/Geometry/RotationBase.h
deleted file mode 100644
index b88661de..00000000
--- a/lib/Eigen/src/Geometry/RotationBase.h
+++ /dev/null
@@ -1,206 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ROTATIONBASE_H
-#define EIGEN_ROTATIONBASE_H
-
-namespace Eigen { 
-
-// forward declaration
-namespace internal {
-template<typename RotationDerived, typename MatrixType, bool IsVector=MatrixType::IsVectorAtCompileTime>
-struct rotation_base_generic_product_selector;
-}
-
-/** \class RotationBase
-  *
-  * \brief Common base class for compact rotation representations
-  *
-  * \param Derived is the derived type, i.e., a rotation type
-  * \param _Dim the dimension of the space
-  */
-template<typename Derived, int _Dim>
-class RotationBase
-{
-  public:
-    enum { Dim = _Dim };
-    /** the scalar type of the coefficients */
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-
-    /** corresponding linear transformation matrix type */
-    typedef Matrix<Scalar,Dim,Dim> RotationMatrixType;
-    typedef Matrix<Scalar,Dim,1> VectorType;
-
-  public:
-    inline const Derived& derived() const { return *static_cast<const Derived*>(this); }
-    inline Derived& derived() { return *static_cast<Derived*>(this); }
-
-    /** \returns an equivalent rotation matrix */
-    inline RotationMatrixType toRotationMatrix() const { return derived().toRotationMatrix(); }
-
-    /** \returns an equivalent rotation matrix 
-      * This function is added to be conform with the Transform class' naming scheme.
-      */
-    inline RotationMatrixType matrix() const { return derived().toRotationMatrix(); }
-
-    /** \returns the inverse rotation */
-    inline Derived inverse() const { return derived().inverse(); }
-
-    /** \returns the concatenation of the rotation \c *this with a translation \a t */
-    inline Transform<Scalar,Dim,Isometry> operator*(const Translation<Scalar,Dim>& t) const
-    { return Transform<Scalar,Dim,Isometry>(*this) * t; }
-
-    /** \returns the concatenation of the rotation \c *this with a uniform scaling \a s */
-    inline RotationMatrixType operator*(const UniformScaling<Scalar>& s) const
-    { return toRotationMatrix() * s.factor(); }
-
-    /** \returns the concatenation of the rotation \c *this with a generic expression \a e
-      * \a e can be:
-      *  - a DimxDim linear transformation matrix
-      *  - a DimxDim diagonal matrix (axis aligned scaling)
-      *  - a vector of size Dim
-      */
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE typename internal::rotation_base_generic_product_selector<Derived,OtherDerived,OtherDerived::IsVectorAtCompileTime>::ReturnType
-    operator*(const EigenBase<OtherDerived>& e) const
-    { return internal::rotation_base_generic_product_selector<Derived,OtherDerived>::run(derived(), e.derived()); }
-
-    /** \returns the concatenation of a linear transformation \a l with the rotation \a r */
-    template<typename OtherDerived> friend
-    inline RotationMatrixType operator*(const EigenBase<OtherDerived>& l, const Derived& r)
-    { return l.derived() * r.toRotationMatrix(); }
-
-    /** \returns the concatenation of a scaling \a l with the rotation \a r */
-    friend inline Transform<Scalar,Dim,Affine> operator*(const DiagonalMatrix<Scalar,Dim>& l, const Derived& r)
-    { 
-      Transform<Scalar,Dim,Affine> res(r);
-      res.linear().applyOnTheLeft(l);
-      return res;
-    }
-
-    /** \returns the concatenation of the rotation \c *this with a transformation \a t */
-    template<int Mode, int Options>
-    inline Transform<Scalar,Dim,Mode> operator*(const Transform<Scalar,Dim,Mode,Options>& t) const
-    { return toRotationMatrix() * t; }
-
-    template<typename OtherVectorType>
-    inline VectorType _transformVector(const OtherVectorType& v) const
-    { return toRotationMatrix() * v; }
-};
-
-namespace internal {
-
-// implementation of the generic product rotation * matrix
-template<typename RotationDerived, typename MatrixType>
-struct rotation_base_generic_product_selector<RotationDerived,MatrixType,false>
-{
-  enum { Dim = RotationDerived::Dim };
-  typedef Matrix<typename RotationDerived::Scalar,Dim,Dim> ReturnType;
-  static inline ReturnType run(const RotationDerived& r, const MatrixType& m)
-  { return r.toRotationMatrix() * m; }
-};
-
-template<typename RotationDerived, typename Scalar, int Dim, int MaxDim>
-struct rotation_base_generic_product_selector< RotationDerived, DiagonalMatrix<Scalar,Dim,MaxDim>, false >
-{
-  typedef Transform<Scalar,Dim,Affine> ReturnType;
-  static inline ReturnType run(const RotationDerived& r, const DiagonalMatrix<Scalar,Dim,MaxDim>& m)
-  {
-    ReturnType res(r);
-    res.linear() *= m;
-    return res;
-  }
-};
-
-template<typename RotationDerived,typename OtherVectorType>
-struct rotation_base_generic_product_selector<RotationDerived,OtherVectorType,true>
-{
-  enum { Dim = RotationDerived::Dim };
-  typedef Matrix<typename RotationDerived::Scalar,Dim,1> ReturnType;
-  static EIGEN_STRONG_INLINE ReturnType run(const RotationDerived& r, const OtherVectorType& v)
-  {
-    return r._transformVector(v);
-  }
-};
-
-} // end namespace internal
-
-/** \geometry_module
-  *
-  * \brief Constructs a Dim x Dim rotation matrix from the rotation \a r
-  */
-template<typename _Scalar, int _Rows, int _Cols, int _Storage, int _MaxRows, int _MaxCols>
-template<typename OtherDerived>
-Matrix<_Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols>
-::Matrix(const RotationBase<OtherDerived,ColsAtCompileTime>& r)
-{
-  EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(Matrix,int(OtherDerived::Dim),int(OtherDerived::Dim))
-  *this = r.toRotationMatrix();
-}
-
-/** \geometry_module
-  *
-  * \brief Set a Dim x Dim rotation matrix from the rotation \a r
-  */
-template<typename _Scalar, int _Rows, int _Cols, int _Storage, int _MaxRows, int _MaxCols>
-template<typename OtherDerived>
-Matrix<_Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols>&
-Matrix<_Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols>
-::operator=(const RotationBase<OtherDerived,ColsAtCompileTime>& r)
-{
-  EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(Matrix,int(OtherDerived::Dim),int(OtherDerived::Dim))
-  return *this = r.toRotationMatrix();
-}
-
-namespace internal {
-
-/** \internal
-  *
-  * Helper function to return an arbitrary rotation object to a rotation matrix.
-  *
-  * \param Scalar the numeric type of the matrix coefficients
-  * \param Dim the dimension of the current space
-  *
-  * It returns a Dim x Dim fixed size matrix.
-  *
-  * Default specializations are provided for:
-  *   - any scalar type (2D),
-  *   - any matrix expression,
-  *   - any type based on RotationBase (e.g., Quaternion, AngleAxis, Rotation2D)
-  *
-  * Currently toRotationMatrix is only used by Transform.
-  *
-  * \sa class Transform, class Rotation2D, class Quaternion, class AngleAxis
-  */
-template<typename Scalar, int Dim>
-static inline Matrix<Scalar,2,2> toRotationMatrix(const Scalar& s)
-{
-  EIGEN_STATIC_ASSERT(Dim==2,YOU_MADE_A_PROGRAMMING_MISTAKE)
-  return Rotation2D<Scalar>(s).toRotationMatrix();
-}
-
-template<typename Scalar, int Dim, typename OtherDerived>
-static inline Matrix<Scalar,Dim,Dim> toRotationMatrix(const RotationBase<OtherDerived,Dim>& r)
-{
-  return r.toRotationMatrix();
-}
-
-template<typename Scalar, int Dim, typename OtherDerived>
-static inline const MatrixBase<OtherDerived>& toRotationMatrix(const MatrixBase<OtherDerived>& mat)
-{
-  EIGEN_STATIC_ASSERT(OtherDerived::RowsAtCompileTime==Dim && OtherDerived::ColsAtCompileTime==Dim,
-    YOU_MADE_A_PROGRAMMING_MISTAKE)
-  return mat;
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_ROTATIONBASE_H
diff --git a/lib/Eigen/src/Geometry/Scaling.h b/lib/Eigen/src/Geometry/Scaling.h
deleted file mode 100644
index 1c25f36f..00000000
--- a/lib/Eigen/src/Geometry/Scaling.h
+++ /dev/null
@@ -1,166 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SCALING_H
-#define EIGEN_SCALING_H
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Scaling
-  *
-  * \brief Represents a generic uniform scaling transformation
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients.
-  *
-  * This class represent a uniform scaling transformation. It is the return
-  * type of Scaling(Scalar), and most of the time this is the only way it
-  * is used. In particular, this class is not aimed to be used to store a scaling transformation,
-  * but rather to make easier the constructions and updates of Transform objects.
-  *
-  * To represent an axis aligned scaling, use the DiagonalMatrix class.
-  *
-  * \sa Scaling(), class DiagonalMatrix, MatrixBase::asDiagonal(), class Translation, class Transform
-  */
-template<typename _Scalar>
-class UniformScaling
-{
-public:
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-
-protected:
-
-  Scalar m_factor;
-
-public:
-
-  /** Default constructor without initialization. */
-  UniformScaling() {}
-  /** Constructs and initialize a uniform scaling transformation */
-  explicit inline UniformScaling(const Scalar& s) : m_factor(s) {}
-
-  inline const Scalar& factor() const { return m_factor; }
-  inline Scalar& factor() { return m_factor; }
-
-  /** Concatenates two uniform scaling */
-  inline UniformScaling operator* (const UniformScaling& other) const
-  { return UniformScaling(m_factor * other.factor()); }
-
-  /** Concatenates a uniform scaling and a translation */
-  template<int Dim>
-  inline Transform<Scalar,Dim,Affine> operator* (const Translation<Scalar,Dim>& t) const;
-
-  /** Concatenates a uniform scaling and an affine transformation */
-  template<int Dim, int Mode, int Options>
-  inline Transform<Scalar,Dim,(int(Mode)==int(Isometry)?Affine:Mode)> operator* (const Transform<Scalar,Dim, Mode, Options>& t) const
-  {
-   Transform<Scalar,Dim,(int(Mode)==int(Isometry)?Affine:Mode)> res = t;
-   res.prescale(factor());
-   return res;
-}
-
-  /** Concatenates a uniform scaling and a linear transformation matrix */
-  // TODO returns an expression
-  template<typename Derived>
-  inline typename internal::plain_matrix_type<Derived>::type operator* (const MatrixBase<Derived>& other) const
-  { return other * m_factor; }
-
-  template<typename Derived,int Dim>
-  inline Matrix<Scalar,Dim,Dim> operator*(const RotationBase<Derived,Dim>& r) const
-  { return r.toRotationMatrix() * m_factor; }
-
-  /** \returns the inverse scaling */
-  inline UniformScaling inverse() const
-  { return UniformScaling(Scalar(1)/m_factor); }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline UniformScaling<NewScalarType> cast() const
-  { return UniformScaling<NewScalarType>(NewScalarType(m_factor)); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit UniformScaling(const UniformScaling<OtherScalarType>& other)
-  { m_factor = Scalar(other.factor()); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const UniformScaling& other, const typename NumTraits<Scalar>::Real& prec = NumTraits<Scalar>::dummy_precision()) const
-  { return internal::isApprox(m_factor, other.factor(), prec); }
-
-};
-
-/** Concatenates a linear transformation matrix and a uniform scaling */
-// NOTE this operator is defiend in MatrixBase and not as a friend function
-// of UniformScaling to fix an internal crash of Intel's ICC
-template<typename Derived> typename MatrixBase<Derived>::ScalarMultipleReturnType
-MatrixBase<Derived>::operator*(const UniformScaling<Scalar>& s) const
-{ return derived() * s.factor(); }
-
-/** Constructs a uniform scaling from scale factor \a s */
-static inline UniformScaling<float> Scaling(float s) { return UniformScaling<float>(s); }
-/** Constructs a uniform scaling from scale factor \a s */
-static inline UniformScaling<double> Scaling(double s) { return UniformScaling<double>(s); }
-/** Constructs a uniform scaling from scale factor \a s */
-template<typename RealScalar>
-static inline UniformScaling<std::complex<RealScalar> > Scaling(const std::complex<RealScalar>& s)
-{ return UniformScaling<std::complex<RealScalar> >(s); }
-
-/** Constructs a 2D axis aligned scaling */
-template<typename Scalar>
-static inline DiagonalMatrix<Scalar,2> Scaling(const Scalar& sx, const Scalar& sy)
-{ return DiagonalMatrix<Scalar,2>(sx, sy); }
-/** Constructs a 3D axis aligned scaling */
-template<typename Scalar>
-static inline DiagonalMatrix<Scalar,3> Scaling(const Scalar& sx, const Scalar& sy, const Scalar& sz)
-{ return DiagonalMatrix<Scalar,3>(sx, sy, sz); }
-
-/** Constructs an axis aligned scaling expression from vector expression \a coeffs
-  * This is an alias for coeffs.asDiagonal()
-  */
-template<typename Derived>
-static inline const DiagonalWrapper<const Derived> Scaling(const MatrixBase<Derived>& coeffs)
-{ return coeffs.asDiagonal(); }
-
-/** \addtogroup Geometry_Module */
-//@{
-/** \deprecated */
-typedef DiagonalMatrix<float, 2> AlignedScaling2f;
-/** \deprecated */
-typedef DiagonalMatrix<double,2> AlignedScaling2d;
-/** \deprecated */
-typedef DiagonalMatrix<float, 3> AlignedScaling3f;
-/** \deprecated */
-typedef DiagonalMatrix<double,3> AlignedScaling3d;
-//@}
-
-template<typename Scalar>
-template<int Dim>
-inline Transform<Scalar,Dim,Affine>
-UniformScaling<Scalar>::operator* (const Translation<Scalar,Dim>& t) const
-{
-  Transform<Scalar,Dim,Affine> res;
-  res.matrix().setZero();
-  res.linear().diagonal().fill(factor());
-  res.translation() = factor() * t.vector();
-  res(Dim,Dim) = Scalar(1);
-  return res;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SCALING_H
diff --git a/lib/Eigen/src/Geometry/Transform.h b/lib/Eigen/src/Geometry/Transform.h
deleted file mode 100644
index 0186f3b8..00000000
--- a/lib/Eigen/src/Geometry/Transform.h
+++ /dev/null
@@ -1,1474 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2010 Hauke Heibel <hauke.heibel@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRANSFORM_H
-#define EIGEN_TRANSFORM_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Transform>
-struct transform_traits
-{
-  enum
-  {
-    Dim = Transform::Dim,
-    HDim = Transform::HDim,
-    Mode = Transform::Mode,
-    IsProjective = (int(Mode)==int(Projective))
-  };
-};
-
-template< typename TransformType,
-          typename MatrixType,
-          int Case = transform_traits<TransformType>::IsProjective ? 0
-                   : int(MatrixType::RowsAtCompileTime) == int(transform_traits<TransformType>::HDim) ? 1
-                   : 2>
-struct transform_right_product_impl;
-
-template< typename Other,
-          int Mode,
-          int Options,
-          int Dim,
-          int HDim,
-          int OtherRows=Other::RowsAtCompileTime,
-          int OtherCols=Other::ColsAtCompileTime>
-struct transform_left_product_impl;
-
-template< typename Lhs,
-          typename Rhs,
-          bool AnyProjective = 
-            transform_traits<Lhs>::IsProjective ||
-            transform_traits<Rhs>::IsProjective>
-struct transform_transform_product_impl;
-
-template< typename Other,
-          int Mode,
-          int Options,
-          int Dim,
-          int HDim,
-          int OtherRows=Other::RowsAtCompileTime,
-          int OtherCols=Other::ColsAtCompileTime>
-struct transform_construct_from_matrix;
-
-template<typename TransformType> struct transform_take_affine_part;
-
-template<int Mode> struct transform_make_affine;
-
-} // end namespace internal
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Transform
-  *
-  * \brief Represents an homogeneous transformation in a N dimensional space
-  *
-  * \tparam _Scalar the scalar type, i.e., the type of the coefficients
-  * \tparam _Dim the dimension of the space
-  * \tparam _Mode the type of the transformation. Can be:
-  *              - #Affine: the transformation is stored as a (Dim+1)^2 matrix,
-  *                         where the last row is assumed to be [0 ... 0 1].
-  *              - #AffineCompact: the transformation is stored as a (Dim)x(Dim+1) matrix.
-  *              - #Projective: the transformation is stored as a (Dim+1)^2 matrix
-  *                             without any assumption.
-  * \tparam _Options has the same meaning as in class Matrix. It allows to specify DontAlign and/or RowMajor.
-  *                  These Options are passed directly to the underlying matrix type.
-  *
-  * The homography is internally represented and stored by a matrix which
-  * is available through the matrix() method. To understand the behavior of
-  * this class you have to think a Transform object as its internal
-  * matrix representation. The chosen convention is right multiply:
-  *
-  * \code v' = T * v \endcode
-  *
-  * Therefore, an affine transformation matrix M is shaped like this:
-  *
-  * \f$ \left( \begin{array}{cc}
-  * linear & translation\\
-  * 0 ... 0 & 1
-  * \end{array} \right) \f$
-  *
-  * Note that for a projective transformation the last row can be anything,
-  * and then the interpretation of different parts might be sightly different.
-  *
-  * However, unlike a plain matrix, the Transform class provides many features
-  * simplifying both its assembly and usage. In particular, it can be composed
-  * with any other transformations (Transform,Translation,RotationBase,DiagonalMatrix)
-  * and can be directly used to transform implicit homogeneous vectors. All these
-  * operations are handled via the operator*. For the composition of transformations,
-  * its principle consists to first convert the right/left hand sides of the product
-  * to a compatible (Dim+1)^2 matrix and then perform a pure matrix product.
-  * Of course, internally, operator* tries to perform the minimal number of operations
-  * according to the nature of each terms. Likewise, when applying the transform
-  * to points, the latters are automatically promoted to homogeneous vectors
-  * before doing the matrix product. The conventions to homogeneous representations
-  * are performed as follow:
-  *
-  * \b Translation t (Dim)x(1):
-  * \f$ \left( \begin{array}{cc}
-  * I & t \\
-  * 0\,...\,0 & 1
-  * \end{array} \right) \f$
-  *
-  * \b Rotation R (Dim)x(Dim):
-  * \f$ \left( \begin{array}{cc}
-  * R & 0\\
-  * 0\,...\,0 & 1
-  * \end{array} \right) \f$
-  *<!--
-  * \b Linear \b Matrix L (Dim)x(Dim):
-  * \f$ \left( \begin{array}{cc}
-  * L & 0\\
-  * 0\,...\,0 & 1
-  * \end{array} \right) \f$
-  *
-  * \b Affine \b Matrix A (Dim)x(Dim+1):
-  * \f$ \left( \begin{array}{c}
-  * A\\
-  * 0\,...\,0\,1
-  * \end{array} \right) \f$
-  *-->
-  * \b Scaling \b DiagonalMatrix S (Dim)x(Dim):
-  * \f$ \left( \begin{array}{cc}
-  * S & 0\\
-  * 0\,...\,0 & 1
-  * \end{array} \right) \f$
-  *
-  * \b Column \b point v (Dim)x(1):
-  * \f$ \left( \begin{array}{c}
-  * v\\
-  * 1
-  * \end{array} \right) \f$
-  *
-  * \b Set \b of \b column \b points V1...Vn (Dim)x(n):
-  * \f$ \left( \begin{array}{ccc}
-  * v_1 & ... & v_n\\
-  * 1 & ... & 1
-  * \end{array} \right) \f$
-  *
-  * The concatenation of a Transform object with any kind of other transformation
-  * always returns a Transform object.
-  *
-  * A little exception to the "as pure matrix product" rule is the case of the
-  * transformation of non homogeneous vectors by an affine transformation. In
-  * that case the last matrix row can be ignored, and the product returns non
-  * homogeneous vectors.
-  *
-  * Since, for instance, a Dim x Dim matrix is interpreted as a linear transformation,
-  * it is not possible to directly transform Dim vectors stored in a Dim x Dim matrix.
-  * The solution is either to use a Dim x Dynamic matrix or explicitly request a
-  * vector transformation by making the vector homogeneous:
-  * \code
-  * m' = T * m.colwise().homogeneous();
-  * \endcode
-  * Note that there is zero overhead.
-  *
-  * Conversion methods from/to Qt's QMatrix and QTransform are available if the
-  * preprocessor token EIGEN_QT_SUPPORT is defined.
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_TRANSFORM_PLUGIN.
-  *
-  * \sa class Matrix, class Quaternion
-  */
-template<typename _Scalar, int _Dim, int _Mode, int _Options>
-class Transform
-{
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_Dim==Dynamic ? Dynamic : (_Dim+1)*(_Dim+1))
-  enum {
-    Mode = _Mode,
-    Options = _Options,
-    Dim = _Dim,     ///< space dimension in which the transformation holds
-    HDim = _Dim+1,  ///< size of a respective homogeneous vector
-    Rows = int(Mode)==(AffineCompact) ? Dim : HDim
-  };
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-  typedef DenseIndex Index;
-  /** type of the matrix used to represent the transformation */
-  typedef typename internal::make_proper_matrix_type<Scalar,Rows,HDim,Options>::type MatrixType;
-  /** constified MatrixType */
-  typedef const MatrixType ConstMatrixType;
-  /** type of the matrix used to represent the linear part of the transformation */
-  typedef Matrix<Scalar,Dim,Dim,Options> LinearMatrixType;
-  /** type of read/write reference to the linear part of the transformation */
-  typedef Block<MatrixType,Dim,Dim,int(Mode)==(AffineCompact) && (Options&RowMajor)==0> LinearPart;
-  /** type of read reference to the linear part of the transformation */
-  typedef const Block<ConstMatrixType,Dim,Dim,int(Mode)==(AffineCompact) && (Options&RowMajor)==0> ConstLinearPart;
-  /** type of read/write reference to the affine part of the transformation */
-  typedef typename internal::conditional<int(Mode)==int(AffineCompact),
-                              MatrixType&,
-                              Block<MatrixType,Dim,HDim> >::type AffinePart;
-  /** type of read reference to the affine part of the transformation */
-  typedef typename internal::conditional<int(Mode)==int(AffineCompact),
-                              const MatrixType&,
-                              const Block<const MatrixType,Dim,HDim> >::type ConstAffinePart;
-  /** type of a vector */
-  typedef Matrix<Scalar,Dim,1> VectorType;
-  /** type of a read/write reference to the translation part of the rotation */
-  typedef Block<MatrixType,Dim,1,int(Mode)==(AffineCompact)> TranslationPart;
-  /** type of a read reference to the translation part of the rotation */
-  typedef const Block<ConstMatrixType,Dim,1,int(Mode)==(AffineCompact)> ConstTranslationPart;
-  /** corresponding translation type */
-  typedef Translation<Scalar,Dim> TranslationType;
-  
-  // this intermediate enum is needed to avoid an ICE with gcc 3.4 and 4.0
-  enum { TransformTimeDiagonalMode = ((Mode==int(Isometry))?Affine:int(Mode)) };
-  /** The return type of the product between a diagonal matrix and a transform */
-  typedef Transform<Scalar,Dim,TransformTimeDiagonalMode> TransformTimeDiagonalReturnType;
-
-protected:
-
-  MatrixType m_matrix;
-
-public:
-
-  /** Default constructor without initialization of the meaningful coefficients.
-    * If Mode==Affine, then the last row is set to [0 ... 0 1] */
-  inline Transform()
-  {
-    check_template_params();
-    internal::transform_make_affine<(int(Mode)==Affine) ? Affine : AffineCompact>::run(m_matrix);
-  }
-
-  inline Transform(const Transform& other)
-  {
-    check_template_params();
-    m_matrix = other.m_matrix;
-  }
-
-  inline explicit Transform(const TranslationType& t)
-  {
-    check_template_params();
-    *this = t;
-  }
-  inline explicit Transform(const UniformScaling<Scalar>& s)
-  {
-    check_template_params();
-    *this = s;
-  }
-  template<typename Derived>
-  inline explicit Transform(const RotationBase<Derived, Dim>& r)
-  {
-    check_template_params();
-    *this = r;
-  }
-
-  inline Transform& operator=(const Transform& other)
-  { m_matrix = other.m_matrix; return *this; }
-
-  typedef internal::transform_take_affine_part<Transform> take_affine_part;
-
-  /** Constructs and initializes a transformation from a Dim^2 or a (Dim+1)^2 matrix. */
-  template<typename OtherDerived>
-  inline explicit Transform(const EigenBase<OtherDerived>& other)
-  {
-    EIGEN_STATIC_ASSERT((internal::is_same<Scalar,typename OtherDerived::Scalar>::value),
-      YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY);
-
-    check_template_params();
-    internal::transform_construct_from_matrix<OtherDerived,Mode,Options,Dim,HDim>::run(this, other.derived());
-  }
-
-  /** Set \c *this from a Dim^2 or (Dim+1)^2 matrix. */
-  template<typename OtherDerived>
-  inline Transform& operator=(const EigenBase<OtherDerived>& other)
-  {
-    EIGEN_STATIC_ASSERT((internal::is_same<Scalar,typename OtherDerived::Scalar>::value),
-      YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY);
-
-    internal::transform_construct_from_matrix<OtherDerived,Mode,Options,Dim,HDim>::run(this, other.derived());
-    return *this;
-  }
-  
-  template<int OtherOptions>
-  inline Transform(const Transform<Scalar,Dim,Mode,OtherOptions>& other)
-  {
-    check_template_params();
-    // only the options change, we can directly copy the matrices
-    m_matrix = other.matrix();
-  }
-
-  template<int OtherMode,int OtherOptions>
-  inline Transform(const Transform<Scalar,Dim,OtherMode,OtherOptions>& other)
-  {
-    check_template_params();
-    // prevent conversions as:
-    // Affine | AffineCompact | Isometry = Projective
-    EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(OtherMode==int(Projective), Mode==int(Projective)),
-                        YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION)
-
-    // prevent conversions as:
-    // Isometry = Affine | AffineCompact
-    EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(OtherMode==int(Affine)||OtherMode==int(AffineCompact), Mode!=int(Isometry)),
-                        YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION)
-
-    enum { ModeIsAffineCompact = Mode == int(AffineCompact),
-           OtherModeIsAffineCompact = OtherMode == int(AffineCompact)
-    };
-
-    if(ModeIsAffineCompact == OtherModeIsAffineCompact)
-    {
-      // We need the block expression because the code is compiled for all
-      // combinations of transformations and will trigger a compile time error
-      // if one tries to assign the matrices directly
-      m_matrix.template block<Dim,Dim+1>(0,0) = other.matrix().template block<Dim,Dim+1>(0,0);
-      makeAffine();
-    }
-    else if(OtherModeIsAffineCompact)
-    {
-      typedef typename Transform<Scalar,Dim,OtherMode,OtherOptions>::MatrixType OtherMatrixType;
-      internal::transform_construct_from_matrix<OtherMatrixType,Mode,Options,Dim,HDim>::run(this, other.matrix());
-    }
-    else
-    {
-      // here we know that Mode == AffineCompact and OtherMode != AffineCompact.
-      // if OtherMode were Projective, the static assert above would already have caught it.
-      // So the only possibility is that OtherMode == Affine
-      linear() = other.linear();
-      translation() = other.translation();
-    }
-  }
-
-  template<typename OtherDerived>
-  Transform(const ReturnByValue<OtherDerived>& other)
-  {
-    check_template_params();
-    other.evalTo(*this);
-  }
-
-  template<typename OtherDerived>
-  Transform& operator=(const ReturnByValue<OtherDerived>& other)
-  {
-    other.evalTo(*this);
-    return *this;
-  }
-
-  #ifdef EIGEN_QT_SUPPORT
-  inline Transform(const QMatrix& other);
-  inline Transform& operator=(const QMatrix& other);
-  inline QMatrix toQMatrix(void) const;
-  inline Transform(const QTransform& other);
-  inline Transform& operator=(const QTransform& other);
-  inline QTransform toQTransform(void) const;
-  #endif
-
-  /** shortcut for m_matrix(row,col);
-    * \sa MatrixBase::operator(Index,Index) const */
-  inline Scalar operator() (Index row, Index col) const { return m_matrix(row,col); }
-  /** shortcut for m_matrix(row,col);
-    * \sa MatrixBase::operator(Index,Index) */
-  inline Scalar& operator() (Index row, Index col) { return m_matrix(row,col); }
-
-  /** \returns a read-only expression of the transformation matrix */
-  inline const MatrixType& matrix() const { return m_matrix; }
-  /** \returns a writable expression of the transformation matrix */
-  inline MatrixType& matrix() { return m_matrix; }
-
-  /** \returns a read-only expression of the linear part of the transformation */
-  inline ConstLinearPart linear() const { return ConstLinearPart(m_matrix,0,0); }
-  /** \returns a writable expression of the linear part of the transformation */
-  inline LinearPart linear() { return LinearPart(m_matrix,0,0); }
-
-  /** \returns a read-only expression of the Dim x HDim affine part of the transformation */
-  inline ConstAffinePart affine() const { return take_affine_part::run(m_matrix); }
-  /** \returns a writable expression of the Dim x HDim affine part of the transformation */
-  inline AffinePart affine() { return take_affine_part::run(m_matrix); }
-
-  /** \returns a read-only expression of the translation vector of the transformation */
-  inline ConstTranslationPart translation() const { return ConstTranslationPart(m_matrix,0,Dim); }
-  /** \returns a writable expression of the translation vector of the transformation */
-  inline TranslationPart translation() { return TranslationPart(m_matrix,0,Dim); }
-
-  /** \returns an expression of the product between the transform \c *this and a matrix expression \a other.
-    *
-    * The right-hand-side \a other can be either:
-    * \li an homogeneous vector of size Dim+1,
-    * \li a set of homogeneous vectors of size Dim+1 x N,
-    * \li a transformation matrix of size Dim+1 x Dim+1.
-    *
-    * Moreover, if \c *this represents an affine transformation (i.e., Mode!=Projective), then \a other can also be:
-    * \li a point of size Dim (computes: \code this->linear() * other + this->translation()\endcode),
-    * \li a set of N points as a Dim x N matrix (computes: \code (this->linear() * other).colwise() + this->translation()\endcode),
-    *
-    * In all cases, the return type is a matrix or vector of same sizes as the right-hand-side \a other.
-    *
-    * If you want to interpret \a other as a linear or affine transformation, then first convert it to a Transform<> type,
-    * or do your own cooking.
-    *
-    * Finally, if you want to apply Affine transformations to vectors, then explicitly apply the linear part only:
-    * \code
-    * Affine3f A;
-    * Vector3f v1, v2;
-    * v2 = A.linear() * v1;
-    * \endcode
-    *
-    */
-  // note: this function is defined here because some compilers cannot find the respective declaration
-  template<typename OtherDerived>
-  EIGEN_STRONG_INLINE const typename OtherDerived::PlainObject
-  operator * (const EigenBase<OtherDerived> &other) const
-  { return internal::transform_right_product_impl<Transform, OtherDerived>::run(*this,other.derived()); }
-
-  /** \returns the product expression of a transformation matrix \a a times a transform \a b
-    *
-    * The left hand side \a other can be either:
-    * \li a linear transformation matrix of size Dim x Dim,
-    * \li an affine transformation matrix of size Dim x Dim+1,
-    * \li a general transformation matrix of size Dim+1 x Dim+1.
-    */
-  template<typename OtherDerived> friend
-  inline const typename internal::transform_left_product_impl<OtherDerived,Mode,Options,_Dim,_Dim+1>::ResultType
-    operator * (const EigenBase<OtherDerived> &a, const Transform &b)
-  { return internal::transform_left_product_impl<OtherDerived,Mode,Options,Dim,HDim>::run(a.derived(),b); }
-
-  /** \returns The product expression of a transform \a a times a diagonal matrix \a b
-    *
-    * The rhs diagonal matrix is interpreted as an affine scaling transformation. The
-    * product results in a Transform of the same type (mode) as the lhs only if the lhs 
-    * mode is no isometry. In that case, the returned transform is an affinity.
-    */
-  template<typename DiagonalDerived>
-  inline const TransformTimeDiagonalReturnType
-    operator * (const DiagonalBase<DiagonalDerived> &b) const
-  {
-    TransformTimeDiagonalReturnType res(*this);
-    res.linear() *= b;
-    return res;
-  }
-
-  /** \returns The product expression of a diagonal matrix \a a times a transform \a b
-    *
-    * The lhs diagonal matrix is interpreted as an affine scaling transformation. The
-    * product results in a Transform of the same type (mode) as the lhs only if the lhs 
-    * mode is no isometry. In that case, the returned transform is an affinity.
-    */
-  template<typename DiagonalDerived>
-  friend inline TransformTimeDiagonalReturnType
-    operator * (const DiagonalBase<DiagonalDerived> &a, const Transform &b)
-  {
-    TransformTimeDiagonalReturnType res;
-    res.linear().noalias() = a*b.linear();
-    res.translation().noalias() = a*b.translation();
-    if (Mode!=int(AffineCompact))
-      res.matrix().row(Dim) = b.matrix().row(Dim);
-    return res;
-  }
-
-  template<typename OtherDerived>
-  inline Transform& operator*=(const EigenBase<OtherDerived>& other) { return *this = *this * other; }
-
-  /** Concatenates two transformations */
-  inline const Transform operator * (const Transform& other) const
-  {
-    return internal::transform_transform_product_impl<Transform,Transform>::run(*this,other);
-  }
-  
-  #ifdef __INTEL_COMPILER
-private:
-  // this intermediate structure permits to workaround a bug in ICC 11:
-  //   error: template instantiation resulted in unexpected function type of "Eigen::Transform<double, 3, 32, 0>
-  //             (const Eigen::Transform<double, 3, 2, 0> &) const"
-  //  (the meaning of a name may have changed since the template declaration -- the type of the template is:
-  // "Eigen::internal::transform_transform_product_impl<Eigen::Transform<double, 3, 32, 0>,
-  //     Eigen::Transform<double, 3, Mode, Options>, <expression>>::ResultType (const Eigen::Transform<double, 3, Mode, Options> &) const")
-  // 
-  template<int OtherMode,int OtherOptions> struct icc_11_workaround
-  {
-    typedef internal::transform_transform_product_impl<Transform,Transform<Scalar,Dim,OtherMode,OtherOptions> > ProductType;
-    typedef typename ProductType::ResultType ResultType;
-  };
-  
-public:
-  /** Concatenates two different transformations */
-  template<int OtherMode,int OtherOptions>
-  inline typename icc_11_workaround<OtherMode,OtherOptions>::ResultType
-    operator * (const Transform<Scalar,Dim,OtherMode,OtherOptions>& other) const
-  {
-    typedef typename icc_11_workaround<OtherMode,OtherOptions>::ProductType ProductType;
-    return ProductType::run(*this,other);
-  }
-  #else
-  /** Concatenates two different transformations */
-  template<int OtherMode,int OtherOptions>
-  inline typename internal::transform_transform_product_impl<Transform,Transform<Scalar,Dim,OtherMode,OtherOptions> >::ResultType
-    operator * (const Transform<Scalar,Dim,OtherMode,OtherOptions>& other) const
-  {
-    return internal::transform_transform_product_impl<Transform,Transform<Scalar,Dim,OtherMode,OtherOptions> >::run(*this,other);
-  }
-  #endif
-
-  /** \sa MatrixBase::setIdentity() */
-  void setIdentity() { m_matrix.setIdentity(); }
-
-  /**
-   * \brief Returns an identity transformation.
-   * \todo In the future this function should be returning a Transform expression.
-   */
-  static const Transform Identity()
-  {
-    return Transform(MatrixType::Identity());
-  }
-
-  template<typename OtherDerived>
-  inline Transform& scale(const MatrixBase<OtherDerived> &other);
-
-  template<typename OtherDerived>
-  inline Transform& prescale(const MatrixBase<OtherDerived> &other);
-
-  inline Transform& scale(const Scalar& s);
-  inline Transform& prescale(const Scalar& s);
-
-  template<typename OtherDerived>
-  inline Transform& translate(const MatrixBase<OtherDerived> &other);
-
-  template<typename OtherDerived>
-  inline Transform& pretranslate(const MatrixBase<OtherDerived> &other);
-
-  template<typename RotationType>
-  inline Transform& rotate(const RotationType& rotation);
-
-  template<typename RotationType>
-  inline Transform& prerotate(const RotationType& rotation);
-
-  Transform& shear(const Scalar& sx, const Scalar& sy);
-  Transform& preshear(const Scalar& sx, const Scalar& sy);
-
-  inline Transform& operator=(const TranslationType& t);
-  inline Transform& operator*=(const TranslationType& t) { return translate(t.vector()); }
-  inline Transform operator*(const TranslationType& t) const;
-
-  inline Transform& operator=(const UniformScaling<Scalar>& t);
-  inline Transform& operator*=(const UniformScaling<Scalar>& s) { return scale(s.factor()); }
-  inline Transform<Scalar,Dim,(int(Mode)==int(Isometry)?int(Affine):int(Mode))> operator*(const UniformScaling<Scalar>& s) const
-  {
-    Transform<Scalar,Dim,(int(Mode)==int(Isometry)?int(Affine):int(Mode)),Options> res = *this;
-    res.scale(s.factor());
-    return res;
-  }
-
-  inline Transform& operator*=(const DiagonalMatrix<Scalar,Dim>& s) { linear() *= s; return *this; }
-
-  template<typename Derived>
-  inline Transform& operator=(const RotationBase<Derived,Dim>& r);
-  template<typename Derived>
-  inline Transform& operator*=(const RotationBase<Derived,Dim>& r) { return rotate(r.toRotationMatrix()); }
-  template<typename Derived>
-  inline Transform operator*(const RotationBase<Derived,Dim>& r) const;
-
-  const LinearMatrixType rotation() const;
-  template<typename RotationMatrixType, typename ScalingMatrixType>
-  void computeRotationScaling(RotationMatrixType *rotation, ScalingMatrixType *scaling) const;
-  template<typename ScalingMatrixType, typename RotationMatrixType>
-  void computeScalingRotation(ScalingMatrixType *scaling, RotationMatrixType *rotation) const;
-
-  template<typename PositionDerived, typename OrientationType, typename ScaleDerived>
-  Transform& fromPositionOrientationScale(const MatrixBase<PositionDerived> &position,
-    const OrientationType& orientation, const MatrixBase<ScaleDerived> &scale);
-
-  inline Transform inverse(TransformTraits traits = (TransformTraits)Mode) const;
-
-  /** \returns a const pointer to the column major internal matrix */
-  const Scalar* data() const { return m_matrix.data(); }
-  /** \returns a non-const pointer to the column major internal matrix */
-  Scalar* data() { return m_matrix.data(); }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Transform,Transform<NewScalarType,Dim,Mode,Options> >::type cast() const
-  { return typename internal::cast_return_type<Transform,Transform<NewScalarType,Dim,Mode,Options> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit Transform(const Transform<OtherScalarType,Dim,Mode,Options>& other)
-  {
-    check_template_params();
-    m_matrix = other.matrix().template cast<Scalar>();
-  }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const Transform& other, const typename NumTraits<Scalar>::Real& prec = NumTraits<Scalar>::dummy_precision()) const
-  { return m_matrix.isApprox(other.m_matrix, prec); }
-
-  /** Sets the last row to [0 ... 0 1]
-    */
-  void makeAffine()
-  {
-    internal::transform_make_affine<int(Mode)>::run(m_matrix);
-  }
-
-  /** \internal
-    * \returns the Dim x Dim linear part if the transformation is affine,
-    *          and the HDim x Dim part for projective transformations.
-    */
-  inline Block<MatrixType,int(Mode)==int(Projective)?HDim:Dim,Dim> linearExt()
-  { return m_matrix.template block<int(Mode)==int(Projective)?HDim:Dim,Dim>(0,0); }
-  /** \internal
-    * \returns the Dim x Dim linear part if the transformation is affine,
-    *          and the HDim x Dim part for projective transformations.
-    */
-  inline const Block<MatrixType,int(Mode)==int(Projective)?HDim:Dim,Dim> linearExt() const
-  { return m_matrix.template block<int(Mode)==int(Projective)?HDim:Dim,Dim>(0,0); }
-
-  /** \internal
-    * \returns the translation part if the transformation is affine,
-    *          and the last column for projective transformations.
-    */
-  inline Block<MatrixType,int(Mode)==int(Projective)?HDim:Dim,1> translationExt()
-  { return m_matrix.template block<int(Mode)==int(Projective)?HDim:Dim,1>(0,Dim); }
-  /** \internal
-    * \returns the translation part if the transformation is affine,
-    *          and the last column for projective transformations.
-    */
-  inline const Block<MatrixType,int(Mode)==int(Projective)?HDim:Dim,1> translationExt() const
-  { return m_matrix.template block<int(Mode)==int(Projective)?HDim:Dim,1>(0,Dim); }
-
-
-  #ifdef EIGEN_TRANSFORM_PLUGIN
-  #include EIGEN_TRANSFORM_PLUGIN
-  #endif
-  
-protected:
-  #ifndef EIGEN_PARSED_BY_DOXYGEN
-    static EIGEN_STRONG_INLINE void check_template_params()
-    {
-      EIGEN_STATIC_ASSERT((Options & (DontAlign|RowMajor)) == Options, INVALID_MATRIX_TEMPLATE_PARAMETERS)
-    }
-  #endif
-
-};
-
-/** \ingroup Geometry_Module */
-typedef Transform<float,2,Isometry> Isometry2f;
-/** \ingroup Geometry_Module */
-typedef Transform<float,3,Isometry> Isometry3f;
-/** \ingroup Geometry_Module */
-typedef Transform<double,2,Isometry> Isometry2d;
-/** \ingroup Geometry_Module */
-typedef Transform<double,3,Isometry> Isometry3d;
-
-/** \ingroup Geometry_Module */
-typedef Transform<float,2,Affine> Affine2f;
-/** \ingroup Geometry_Module */
-typedef Transform<float,3,Affine> Affine3f;
-/** \ingroup Geometry_Module */
-typedef Transform<double,2,Affine> Affine2d;
-/** \ingroup Geometry_Module */
-typedef Transform<double,3,Affine> Affine3d;
-
-/** \ingroup Geometry_Module */
-typedef Transform<float,2,AffineCompact> AffineCompact2f;
-/** \ingroup Geometry_Module */
-typedef Transform<float,3,AffineCompact> AffineCompact3f;
-/** \ingroup Geometry_Module */
-typedef Transform<double,2,AffineCompact> AffineCompact2d;
-/** \ingroup Geometry_Module */
-typedef Transform<double,3,AffineCompact> AffineCompact3d;
-
-/** \ingroup Geometry_Module */
-typedef Transform<float,2,Projective> Projective2f;
-/** \ingroup Geometry_Module */
-typedef Transform<float,3,Projective> Projective3f;
-/** \ingroup Geometry_Module */
-typedef Transform<double,2,Projective> Projective2d;
-/** \ingroup Geometry_Module */
-typedef Transform<double,3,Projective> Projective3d;
-
-/**************************
-*** Optional QT support ***
-**************************/
-
-#ifdef EIGEN_QT_SUPPORT
-/** Initializes \c *this from a QMatrix assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim, int Mode,int Options>
-Transform<Scalar,Dim,Mode,Options>::Transform(const QMatrix& other)
-{
-  check_template_params();
-  *this = other;
-}
-
-/** Set \c *this from a QMatrix assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim, int Mode,int Options>
-Transform<Scalar,Dim,Mode,Options>& Transform<Scalar,Dim,Mode,Options>::operator=(const QMatrix& other)
-{
-  EIGEN_STATIC_ASSERT(Dim==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  m_matrix << other.m11(), other.m21(), other.dx(),
-              other.m12(), other.m22(), other.dy(),
-              0, 0, 1;
-  return *this;
-}
-
-/** \returns a QMatrix from \c *this assuming the dimension is 2.
-  *
-  * \warning this conversion might loss data if \c *this is not affine
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-QMatrix Transform<Scalar,Dim,Mode,Options>::toQMatrix(void) const
-{
-  check_template_params();
-  EIGEN_STATIC_ASSERT(Dim==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  return QMatrix(m_matrix.coeff(0,0), m_matrix.coeff(1,0),
-                 m_matrix.coeff(0,1), m_matrix.coeff(1,1),
-                 m_matrix.coeff(0,2), m_matrix.coeff(1,2));
-}
-
-/** Initializes \c *this from a QTransform assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim, int Mode,int Options>
-Transform<Scalar,Dim,Mode,Options>::Transform(const QTransform& other)
-{
-  check_template_params();
-  *this = other;
-}
-
-/** Set \c *this from a QTransform assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-Transform<Scalar,Dim,Mode,Options>& Transform<Scalar,Dim,Mode,Options>::operator=(const QTransform& other)
-{
-  check_template_params();
-  EIGEN_STATIC_ASSERT(Dim==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  if (Mode == int(AffineCompact))
-    m_matrix << other.m11(), other.m21(), other.dx(),
-                other.m12(), other.m22(), other.dy();
-  else
-    m_matrix << other.m11(), other.m21(), other.dx(),
-                other.m12(), other.m22(), other.dy(),
-                other.m13(), other.m23(), other.m33();
-  return *this;
-}
-
-/** \returns a QTransform from \c *this assuming the dimension is 2.
-  *
-  * This function is available only if the token EIGEN_QT_SUPPORT is defined.
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-QTransform Transform<Scalar,Dim,Mode,Options>::toQTransform(void) const
-{
-  EIGEN_STATIC_ASSERT(Dim==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  if (Mode == int(AffineCompact))
-    return QTransform(m_matrix.coeff(0,0), m_matrix.coeff(1,0),
-                      m_matrix.coeff(0,1), m_matrix.coeff(1,1),
-                      m_matrix.coeff(0,2), m_matrix.coeff(1,2));
-  else
-    return QTransform(m_matrix.coeff(0,0), m_matrix.coeff(1,0), m_matrix.coeff(2,0),
-                      m_matrix.coeff(0,1), m_matrix.coeff(1,1), m_matrix.coeff(2,1),
-                      m_matrix.coeff(0,2), m_matrix.coeff(1,2), m_matrix.coeff(2,2));
-}
-#endif
-
-/*********************
-*** Procedural API ***
-*********************/
-
-/** Applies on the right the non uniform scale transformation represented
-  * by the vector \a other to \c *this and returns a reference to \c *this.
-  * \sa prescale()
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename OtherDerived>
-Transform<Scalar,Dim,Mode,Options>&
-Transform<Scalar,Dim,Mode,Options>::scale(const MatrixBase<OtherDerived> &other)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,int(Dim))
-  EIGEN_STATIC_ASSERT(Mode!=int(Isometry), THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS)
-  linearExt().noalias() = (linearExt() * other.asDiagonal());
-  return *this;
-}
-
-/** Applies on the right a uniform scale of a factor \a c to \c *this
-  * and returns a reference to \c *this.
-  * \sa prescale(Scalar)
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-inline Transform<Scalar,Dim,Mode,Options>& Transform<Scalar,Dim,Mode,Options>::scale(const Scalar& s)
-{
-  EIGEN_STATIC_ASSERT(Mode!=int(Isometry), THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS)
-  linearExt() *= s;
-  return *this;
-}
-
-/** Applies on the left the non uniform scale transformation represented
-  * by the vector \a other to \c *this and returns a reference to \c *this.
-  * \sa scale()
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename OtherDerived>
-Transform<Scalar,Dim,Mode,Options>&
-Transform<Scalar,Dim,Mode,Options>::prescale(const MatrixBase<OtherDerived> &other)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,int(Dim))
-  EIGEN_STATIC_ASSERT(Mode!=int(Isometry), THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS)
-  m_matrix.template block<Dim,HDim>(0,0).noalias() = (other.asDiagonal() * m_matrix.template block<Dim,HDim>(0,0));
-  return *this;
-}
-
-/** Applies on the left a uniform scale of a factor \a c to \c *this
-  * and returns a reference to \c *this.
-  * \sa scale(Scalar)
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-inline Transform<Scalar,Dim,Mode,Options>& Transform<Scalar,Dim,Mode,Options>::prescale(const Scalar& s)
-{
-  EIGEN_STATIC_ASSERT(Mode!=int(Isometry), THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS)
-  m_matrix.template topRows<Dim>() *= s;
-  return *this;
-}
-
-/** Applies on the right the translation matrix represented by the vector \a other
-  * to \c *this and returns a reference to \c *this.
-  * \sa pretranslate()
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename OtherDerived>
-Transform<Scalar,Dim,Mode,Options>&
-Transform<Scalar,Dim,Mode,Options>::translate(const MatrixBase<OtherDerived> &other)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,int(Dim))
-  translationExt() += linearExt() * other;
-  return *this;
-}
-
-/** Applies on the left the translation matrix represented by the vector \a other
-  * to \c *this and returns a reference to \c *this.
-  * \sa translate()
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename OtherDerived>
-Transform<Scalar,Dim,Mode,Options>&
-Transform<Scalar,Dim,Mode,Options>::pretranslate(const MatrixBase<OtherDerived> &other)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,int(Dim))
-  if(int(Mode)==int(Projective))
-    affine() += other * m_matrix.row(Dim);
-  else
-    translation() += other;
-  return *this;
-}
-
-/** Applies on the right the rotation represented by the rotation \a rotation
-  * to \c *this and returns a reference to \c *this.
-  *
-  * The template parameter \a RotationType is the type of the rotation which
-  * must be known by internal::toRotationMatrix<>.
-  *
-  * Natively supported types includes:
-  *   - any scalar (2D),
-  *   - a Dim x Dim matrix expression,
-  *   - a Quaternion (3D),
-  *   - a AngleAxis (3D)
-  *
-  * This mechanism is easily extendable to support user types such as Euler angles,
-  * or a pair of Quaternion for 4D rotations.
-  *
-  * \sa rotate(Scalar), class Quaternion, class AngleAxis, prerotate(RotationType)
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename RotationType>
-Transform<Scalar,Dim,Mode,Options>&
-Transform<Scalar,Dim,Mode,Options>::rotate(const RotationType& rotation)
-{
-  linearExt() *= internal::toRotationMatrix<Scalar,Dim>(rotation);
-  return *this;
-}
-
-/** Applies on the left the rotation represented by the rotation \a rotation
-  * to \c *this and returns a reference to \c *this.
-  *
-  * See rotate() for further details.
-  *
-  * \sa rotate()
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename RotationType>
-Transform<Scalar,Dim,Mode,Options>&
-Transform<Scalar,Dim,Mode,Options>::prerotate(const RotationType& rotation)
-{
-  m_matrix.template block<Dim,HDim>(0,0) = internal::toRotationMatrix<Scalar,Dim>(rotation)
-                                         * m_matrix.template block<Dim,HDim>(0,0);
-  return *this;
-}
-
-/** Applies on the right the shear transformation represented
-  * by the vector \a other to \c *this and returns a reference to \c *this.
-  * \warning 2D only.
-  * \sa preshear()
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-Transform<Scalar,Dim,Mode,Options>&
-Transform<Scalar,Dim,Mode,Options>::shear(const Scalar& sx, const Scalar& sy)
-{
-  EIGEN_STATIC_ASSERT(int(Dim)==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  EIGEN_STATIC_ASSERT(Mode!=int(Isometry), THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS)
-  VectorType tmp = linear().col(0)*sy + linear().col(1);
-  linear() << linear().col(0) + linear().col(1)*sx, tmp;
-  return *this;
-}
-
-/** Applies on the left the shear transformation represented
-  * by the vector \a other to \c *this and returns a reference to \c *this.
-  * \warning 2D only.
-  * \sa shear()
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-Transform<Scalar,Dim,Mode,Options>&
-Transform<Scalar,Dim,Mode,Options>::preshear(const Scalar& sx, const Scalar& sy)
-{
-  EIGEN_STATIC_ASSERT(int(Dim)==2, YOU_MADE_A_PROGRAMMING_MISTAKE)
-  EIGEN_STATIC_ASSERT(Mode!=int(Isometry), THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS)
-  m_matrix.template block<Dim,HDim>(0,0) = LinearMatrixType(1, sx, sy, 1) * m_matrix.template block<Dim,HDim>(0,0);
-  return *this;
-}
-
-/******************************************************
-*** Scaling, Translation and Rotation compatibility ***
-******************************************************/
-
-template<typename Scalar, int Dim, int Mode, int Options>
-inline Transform<Scalar,Dim,Mode,Options>& Transform<Scalar,Dim,Mode,Options>::operator=(const TranslationType& t)
-{
-  linear().setIdentity();
-  translation() = t.vector();
-  makeAffine();
-  return *this;
-}
-
-template<typename Scalar, int Dim, int Mode, int Options>
-inline Transform<Scalar,Dim,Mode,Options> Transform<Scalar,Dim,Mode,Options>::operator*(const TranslationType& t) const
-{
-  Transform res = *this;
-  res.translate(t.vector());
-  return res;
-}
-
-template<typename Scalar, int Dim, int Mode, int Options>
-inline Transform<Scalar,Dim,Mode,Options>& Transform<Scalar,Dim,Mode,Options>::operator=(const UniformScaling<Scalar>& s)
-{
-  m_matrix.setZero();
-  linear().diagonal().fill(s.factor());
-  makeAffine();
-  return *this;
-}
-
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename Derived>
-inline Transform<Scalar,Dim,Mode,Options>& Transform<Scalar,Dim,Mode,Options>::operator=(const RotationBase<Derived,Dim>& r)
-{
-  linear() = internal::toRotationMatrix<Scalar,Dim>(r);
-  translation().setZero();
-  makeAffine();
-  return *this;
-}
-
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename Derived>
-inline Transform<Scalar,Dim,Mode,Options> Transform<Scalar,Dim,Mode,Options>::operator*(const RotationBase<Derived,Dim>& r) const
-{
-  Transform res = *this;
-  res.rotate(r.derived());
-  return res;
-}
-
-/************************
-*** Special functions ***
-************************/
-
-/** \returns the rotation part of the transformation
-  *
-  *
-  * \svd_module
-  *
-  * \sa computeRotationScaling(), computeScalingRotation(), class SVD
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-const typename Transform<Scalar,Dim,Mode,Options>::LinearMatrixType
-Transform<Scalar,Dim,Mode,Options>::rotation() const
-{
-  LinearMatrixType result;
-  computeRotationScaling(&result, (LinearMatrixType*)0);
-  return result;
-}
-
-
-/** decomposes the linear part of the transformation as a product rotation x scaling, the scaling being
-  * not necessarily positive.
-  *
-  * If either pointer is zero, the corresponding computation is skipped.
-  *
-  *
-  *
-  * \svd_module
-  *
-  * \sa computeScalingRotation(), rotation(), class SVD
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename RotationMatrixType, typename ScalingMatrixType>
-void Transform<Scalar,Dim,Mode,Options>::computeRotationScaling(RotationMatrixType *rotation, ScalingMatrixType *scaling) const
-{
-  JacobiSVD<LinearMatrixType> svd(linear(), ComputeFullU | ComputeFullV);
-
-  Scalar x = (svd.matrixU() * svd.matrixV().adjoint()).determinant(); // so x has absolute value 1
-  VectorType sv(svd.singularValues());
-  sv.coeffRef(0) *= x;
-  if(scaling) scaling->lazyAssign(svd.matrixV() * sv.asDiagonal() * svd.matrixV().adjoint());
-  if(rotation)
-  {
-    LinearMatrixType m(svd.matrixU());
-    m.col(0) /= x;
-    rotation->lazyAssign(m * svd.matrixV().adjoint());
-  }
-}
-
-/** decomposes the linear part of the transformation as a product rotation x scaling, the scaling being
-  * not necessarily positive.
-  *
-  * If either pointer is zero, the corresponding computation is skipped.
-  *
-  *
-  *
-  * \svd_module
-  *
-  * \sa computeRotationScaling(), rotation(), class SVD
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename ScalingMatrixType, typename RotationMatrixType>
-void Transform<Scalar,Dim,Mode,Options>::computeScalingRotation(ScalingMatrixType *scaling, RotationMatrixType *rotation) const
-{
-  JacobiSVD<LinearMatrixType> svd(linear(), ComputeFullU | ComputeFullV);
-
-  Scalar x = (svd.matrixU() * svd.matrixV().adjoint()).determinant(); // so x has absolute value 1
-  VectorType sv(svd.singularValues());
-  sv.coeffRef(0) *= x;
-  if(scaling) scaling->lazyAssign(svd.matrixU() * sv.asDiagonal() * svd.matrixU().adjoint());
-  if(rotation)
-  {
-    LinearMatrixType m(svd.matrixU());
-    m.col(0) /= x;
-    rotation->lazyAssign(m * svd.matrixV().adjoint());
-  }
-}
-
-/** Convenient method to set \c *this from a position, orientation and scale
-  * of a 3D object.
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-template<typename PositionDerived, typename OrientationType, typename ScaleDerived>
-Transform<Scalar,Dim,Mode,Options>&
-Transform<Scalar,Dim,Mode,Options>::fromPositionOrientationScale(const MatrixBase<PositionDerived> &position,
-  const OrientationType& orientation, const MatrixBase<ScaleDerived> &scale)
-{
-  linear() = internal::toRotationMatrix<Scalar,Dim>(orientation);
-  linear() *= scale.asDiagonal();
-  translation() = position;
-  makeAffine();
-  return *this;
-}
-
-namespace internal {
-
-template<int Mode>
-struct transform_make_affine
-{
-  template<typename MatrixType>
-  static void run(MatrixType &mat)
-  {
-    static const int Dim = MatrixType::ColsAtCompileTime-1;
-    mat.template block<1,Dim>(Dim,0).setZero();
-    mat.coeffRef(Dim,Dim) = typename MatrixType::Scalar(1);
-  }
-};
-
-template<>
-struct transform_make_affine<AffineCompact>
-{
-  template<typename MatrixType> static void run(MatrixType &) { }
-};
-    
-// selector needed to avoid taking the inverse of a 3x4 matrix
-template<typename TransformType, int Mode=TransformType::Mode>
-struct projective_transform_inverse
-{
-  static inline void run(const TransformType&, TransformType&)
-  {}
-};
-
-template<typename TransformType>
-struct projective_transform_inverse<TransformType, Projective>
-{
-  static inline void run(const TransformType& m, TransformType& res)
-  {
-    res.matrix() = m.matrix().inverse();
-  }
-};
-
-} // end namespace internal
-
-
-/**
-  *
-  * \returns the inverse transformation according to some given knowledge
-  * on \c *this.
-  *
-  * \param hint allows to optimize the inversion process when the transformation
-  * is known to be not a general transformation (optional). The possible values are:
-  *  - #Projective if the transformation is not necessarily affine, i.e., if the
-  *    last row is not guaranteed to be [0 ... 0 1]
-  *  - #Affine if the last row can be assumed to be [0 ... 0 1]
-  *  - #Isometry if the transformation is only a concatenations of translations
-  *    and rotations.
-  *  The default is the template class parameter \c Mode.
-  *
-  * \warning unless \a traits is always set to NoShear or NoScaling, this function
-  * requires the generic inverse method of MatrixBase defined in the LU module. If
-  * you forget to include this module, then you will get hard to debug linking errors.
-  *
-  * \sa MatrixBase::inverse()
-  */
-template<typename Scalar, int Dim, int Mode, int Options>
-Transform<Scalar,Dim,Mode,Options>
-Transform<Scalar,Dim,Mode,Options>::inverse(TransformTraits hint) const
-{
-  Transform res;
-  if (hint == Projective)
-  {
-    internal::projective_transform_inverse<Transform>::run(*this, res);
-  }
-  else
-  {
-    if (hint == Isometry)
-    {
-      res.matrix().template topLeftCorner<Dim,Dim>() = linear().transpose();
-    }
-    else if(hint&Affine)
-    {
-      res.matrix().template topLeftCorner<Dim,Dim>() = linear().inverse();
-    }
-    else
-    {
-      eigen_assert(false && "Invalid transform traits in Transform::Inverse");
-    }
-    // translation and remaining parts
-    res.matrix().template topRightCorner<Dim,1>()
-      = - res.matrix().template topLeftCorner<Dim,Dim>() * translation();
-    res.makeAffine(); // we do need this, because in the beginning res is uninitialized
-  }
-  return res;
-}
-
-namespace internal {
-
-/*****************************************************
-*** Specializations of take affine part            ***
-*****************************************************/
-
-template<typename TransformType> struct transform_take_affine_part {
-  typedef typename TransformType::MatrixType MatrixType;
-  typedef typename TransformType::AffinePart AffinePart;
-  typedef typename TransformType::ConstAffinePart ConstAffinePart;
-  static inline AffinePart run(MatrixType& m)
-  { return m.template block<TransformType::Dim,TransformType::HDim>(0,0); }
-  static inline ConstAffinePart run(const MatrixType& m)
-  { return m.template block<TransformType::Dim,TransformType::HDim>(0,0); }
-};
-
-template<typename Scalar, int Dim, int Options>
-struct transform_take_affine_part<Transform<Scalar,Dim,AffineCompact, Options> > {
-  typedef typename Transform<Scalar,Dim,AffineCompact,Options>::MatrixType MatrixType;
-  static inline MatrixType& run(MatrixType& m) { return m; }
-  static inline const MatrixType& run(const MatrixType& m) { return m; }
-};
-
-/*****************************************************
-*** Specializations of construct from matrix       ***
-*****************************************************/
-
-template<typename Other, int Mode, int Options, int Dim, int HDim>
-struct transform_construct_from_matrix<Other, Mode,Options,Dim,HDim, Dim,Dim>
-{
-  static inline void run(Transform<typename Other::Scalar,Dim,Mode,Options> *transform, const Other& other)
-  {
-    transform->linear() = other;
-    transform->translation().setZero();
-    transform->makeAffine();
-  }
-};
-
-template<typename Other, int Mode, int Options, int Dim, int HDim>
-struct transform_construct_from_matrix<Other, Mode,Options,Dim,HDim, Dim,HDim>
-{
-  static inline void run(Transform<typename Other::Scalar,Dim,Mode,Options> *transform, const Other& other)
-  {
-    transform->affine() = other;
-    transform->makeAffine();
-  }
-};
-
-template<typename Other, int Mode, int Options, int Dim, int HDim>
-struct transform_construct_from_matrix<Other, Mode,Options,Dim,HDim, HDim,HDim>
-{
-  static inline void run(Transform<typename Other::Scalar,Dim,Mode,Options> *transform, const Other& other)
-  { transform->matrix() = other; }
-};
-
-template<typename Other, int Options, int Dim, int HDim>
-struct transform_construct_from_matrix<Other, AffineCompact,Options,Dim,HDim, HDim,HDim>
-{
-  static inline void run(Transform<typename Other::Scalar,Dim,AffineCompact,Options> *transform, const Other& other)
-  { transform->matrix() = other.template block<Dim,HDim>(0,0); }
-};
-
-/**********************************************************
-***   Specializations of operator* with rhs EigenBase   ***
-**********************************************************/
-
-template<int LhsMode,int RhsMode>
-struct transform_product_result
-{
-  enum 
-  { 
-    Mode =
-      (LhsMode == (int)Projective    || RhsMode == (int)Projective    ) ? Projective :
-      (LhsMode == (int)Affine        || RhsMode == (int)Affine        ) ? Affine :
-      (LhsMode == (int)AffineCompact || RhsMode == (int)AffineCompact ) ? AffineCompact :
-      (LhsMode == (int)Isometry      || RhsMode == (int)Isometry      ) ? Isometry : Projective
-  };
-};
-
-template< typename TransformType, typename MatrixType >
-struct transform_right_product_impl< TransformType, MatrixType, 0 >
-{
-  typedef typename MatrixType::PlainObject ResultType;
-
-  static EIGEN_STRONG_INLINE ResultType run(const TransformType& T, const MatrixType& other)
-  {
-    return T.matrix() * other;
-  }
-};
-
-template< typename TransformType, typename MatrixType >
-struct transform_right_product_impl< TransformType, MatrixType, 1 >
-{
-  enum { 
-    Dim = TransformType::Dim, 
-    HDim = TransformType::HDim,
-    OtherRows = MatrixType::RowsAtCompileTime,
-    OtherCols = MatrixType::ColsAtCompileTime
-  };
-
-  typedef typename MatrixType::PlainObject ResultType;
-
-  static EIGEN_STRONG_INLINE ResultType run(const TransformType& T, const MatrixType& other)
-  {
-    EIGEN_STATIC_ASSERT(OtherRows==HDim, YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES);
-
-    typedef Block<ResultType, Dim, OtherCols, int(MatrixType::RowsAtCompileTime)==Dim> TopLeftLhs;
-
-    ResultType res(other.rows(),other.cols());
-    TopLeftLhs(res, 0, 0, Dim, other.cols()).noalias() = T.affine() * other;
-    res.row(OtherRows-1) = other.row(OtherRows-1);
-    
-    return res;
-  }
-};
-
-template< typename TransformType, typename MatrixType >
-struct transform_right_product_impl< TransformType, MatrixType, 2 >
-{
-  enum { 
-    Dim = TransformType::Dim, 
-    HDim = TransformType::HDim,
-    OtherRows = MatrixType::RowsAtCompileTime,
-    OtherCols = MatrixType::ColsAtCompileTime
-  };
-
-  typedef typename MatrixType::PlainObject ResultType;
-
-  static EIGEN_STRONG_INLINE ResultType run(const TransformType& T, const MatrixType& other)
-  {
-    EIGEN_STATIC_ASSERT(OtherRows==Dim, YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES);
-
-    typedef Block<ResultType, Dim, OtherCols, true> TopLeftLhs;
-    ResultType res(Replicate<typename TransformType::ConstTranslationPart, 1, OtherCols>(T.translation(),1,other.cols()));
-    TopLeftLhs(res, 0, 0, Dim, other.cols()).noalias() += T.linear() * other;
-
-    return res;
-  }
-};
-
-/**********************************************************
-***   Specializations of operator* with lhs EigenBase   ***
-**********************************************************/
-
-// generic HDim x HDim matrix * T => Projective
-template<typename Other,int Mode, int Options, int Dim, int HDim>
-struct transform_left_product_impl<Other,Mode,Options,Dim,HDim, HDim,HDim>
-{
-  typedef Transform<typename Other::Scalar,Dim,Mode,Options> TransformType;
-  typedef typename TransformType::MatrixType MatrixType;
-  typedef Transform<typename Other::Scalar,Dim,Projective,Options> ResultType;
-  static ResultType run(const Other& other,const TransformType& tr)
-  { return ResultType(other * tr.matrix()); }
-};
-
-// generic HDim x HDim matrix * AffineCompact => Projective
-template<typename Other, int Options, int Dim, int HDim>
-struct transform_left_product_impl<Other,AffineCompact,Options,Dim,HDim, HDim,HDim>
-{
-  typedef Transform<typename Other::Scalar,Dim,AffineCompact,Options> TransformType;
-  typedef typename TransformType::MatrixType MatrixType;
-  typedef Transform<typename Other::Scalar,Dim,Projective,Options> ResultType;
-  static ResultType run(const Other& other,const TransformType& tr)
-  {
-    ResultType res;
-    res.matrix().noalias() = other.template block<HDim,Dim>(0,0) * tr.matrix();
-    res.matrix().col(Dim) += other.col(Dim);
-    return res;
-  }
-};
-
-// affine matrix * T
-template<typename Other,int Mode, int Options, int Dim, int HDim>
-struct transform_left_product_impl<Other,Mode,Options,Dim,HDim, Dim,HDim>
-{
-  typedef Transform<typename Other::Scalar,Dim,Mode,Options> TransformType;
-  typedef typename TransformType::MatrixType MatrixType;
-  typedef TransformType ResultType;
-  static ResultType run(const Other& other,const TransformType& tr)
-  {
-    ResultType res;
-    res.affine().noalias() = other * tr.matrix();
-    res.matrix().row(Dim) = tr.matrix().row(Dim);
-    return res;
-  }
-};
-
-// affine matrix * AffineCompact
-template<typename Other, int Options, int Dim, int HDim>
-struct transform_left_product_impl<Other,AffineCompact,Options,Dim,HDim, Dim,HDim>
-{
-  typedef Transform<typename Other::Scalar,Dim,AffineCompact,Options> TransformType;
-  typedef typename TransformType::MatrixType MatrixType;
-  typedef TransformType ResultType;
-  static ResultType run(const Other& other,const TransformType& tr)
-  {
-    ResultType res;
-    res.matrix().noalias() = other.template block<Dim,Dim>(0,0) * tr.matrix();
-    res.translation() += other.col(Dim);
-    return res;
-  }
-};
-
-// linear matrix * T
-template<typename Other,int Mode, int Options, int Dim, int HDim>
-struct transform_left_product_impl<Other,Mode,Options,Dim,HDim, Dim,Dim>
-{
-  typedef Transform<typename Other::Scalar,Dim,Mode,Options> TransformType;
-  typedef typename TransformType::MatrixType MatrixType;
-  typedef TransformType ResultType;
-  static ResultType run(const Other& other, const TransformType& tr)
-  {
-    TransformType res;
-    if(Mode!=int(AffineCompact))
-      res.matrix().row(Dim) = tr.matrix().row(Dim);
-    res.matrix().template topRows<Dim>().noalias()
-      = other * tr.matrix().template topRows<Dim>();
-    return res;
-  }
-};
-
-/**********************************************************
-*** Specializations of operator* with another Transform ***
-**********************************************************/
-
-template<typename Scalar, int Dim, int LhsMode, int LhsOptions, int RhsMode, int RhsOptions>
-struct transform_transform_product_impl<Transform<Scalar,Dim,LhsMode,LhsOptions>,Transform<Scalar,Dim,RhsMode,RhsOptions>,false >
-{
-  enum { ResultMode = transform_product_result<LhsMode,RhsMode>::Mode };
-  typedef Transform<Scalar,Dim,LhsMode,LhsOptions> Lhs;
-  typedef Transform<Scalar,Dim,RhsMode,RhsOptions> Rhs;
-  typedef Transform<Scalar,Dim,ResultMode,LhsOptions> ResultType;
-  static ResultType run(const Lhs& lhs, const Rhs& rhs)
-  {
-    ResultType res;
-    res.linear() = lhs.linear() * rhs.linear();
-    res.translation() = lhs.linear() * rhs.translation() + lhs.translation();
-    res.makeAffine();
-    return res;
-  }
-};
-
-template<typename Scalar, int Dim, int LhsMode, int LhsOptions, int RhsMode, int RhsOptions>
-struct transform_transform_product_impl<Transform<Scalar,Dim,LhsMode,LhsOptions>,Transform<Scalar,Dim,RhsMode,RhsOptions>,true >
-{
-  typedef Transform<Scalar,Dim,LhsMode,LhsOptions> Lhs;
-  typedef Transform<Scalar,Dim,RhsMode,RhsOptions> Rhs;
-  typedef Transform<Scalar,Dim,Projective> ResultType;
-  static ResultType run(const Lhs& lhs, const Rhs& rhs)
-  {
-    return ResultType( lhs.matrix() * rhs.matrix() );
-  }
-};
-
-template<typename Scalar, int Dim, int LhsOptions, int RhsOptions>
-struct transform_transform_product_impl<Transform<Scalar,Dim,AffineCompact,LhsOptions>,Transform<Scalar,Dim,Projective,RhsOptions>,true >
-{
-  typedef Transform<Scalar,Dim,AffineCompact,LhsOptions> Lhs;
-  typedef Transform<Scalar,Dim,Projective,RhsOptions> Rhs;
-  typedef Transform<Scalar,Dim,Projective> ResultType;
-  static ResultType run(const Lhs& lhs, const Rhs& rhs)
-  {
-    ResultType res;
-    res.matrix().template topRows<Dim>() = lhs.matrix() * rhs.matrix();
-    res.matrix().row(Dim) = rhs.matrix().row(Dim);
-    return res;
-  }
-};
-
-template<typename Scalar, int Dim, int LhsOptions, int RhsOptions>
-struct transform_transform_product_impl<Transform<Scalar,Dim,Projective,LhsOptions>,Transform<Scalar,Dim,AffineCompact,RhsOptions>,true >
-{
-  typedef Transform<Scalar,Dim,Projective,LhsOptions> Lhs;
-  typedef Transform<Scalar,Dim,AffineCompact,RhsOptions> Rhs;
-  typedef Transform<Scalar,Dim,Projective> ResultType;
-  static ResultType run(const Lhs& lhs, const Rhs& rhs)
-  {
-    ResultType res(lhs.matrix().template leftCols<Dim>() * rhs.matrix());
-    res.matrix().col(Dim) += lhs.matrix().col(Dim);
-    return res;
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRANSFORM_H
diff --git a/lib/Eigen/src/Geometry/Translation.h b/lib/Eigen/src/Geometry/Translation.h
deleted file mode 100644
index 2e779868..00000000
--- a/lib/Eigen/src/Geometry/Translation.h
+++ /dev/null
@@ -1,206 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_TRANSLATION_H
-#define EIGEN_TRANSLATION_H
-
-namespace Eigen { 
-
-/** \geometry_module \ingroup Geometry_Module
-  *
-  * \class Translation
-  *
-  * \brief Represents a translation transformation
-  *
-  * \param _Scalar the scalar type, i.e., the type of the coefficients.
-  * \param _Dim the  dimension of the space, can be a compile time value or Dynamic
-  *
-  * \note This class is not aimed to be used to store a translation transformation,
-  * but rather to make easier the constructions and updates of Transform objects.
-  *
-  * \sa class Scaling, class Transform
-  */
-template<typename _Scalar, int _Dim>
-class Translation
-{
-public:
-  EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_Dim)
-  /** dimension of the space */
-  enum { Dim = _Dim };
-  /** the scalar type of the coefficients */
-  typedef _Scalar Scalar;
-  /** corresponding vector type */
-  typedef Matrix<Scalar,Dim,1> VectorType;
-  /** corresponding linear transformation matrix type */
-  typedef Matrix<Scalar,Dim,Dim> LinearMatrixType;
-  /** corresponding affine transformation type */
-  typedef Transform<Scalar,Dim,Affine> AffineTransformType;
-  /** corresponding isometric transformation type */
-  typedef Transform<Scalar,Dim,Isometry> IsometryTransformType;
-
-protected:
-
-  VectorType m_coeffs;
-
-public:
-
-  /** Default constructor without initialization. */
-  Translation() {}
-  /**  */
-  inline Translation(const Scalar& sx, const Scalar& sy)
-  {
-    eigen_assert(Dim==2);
-    m_coeffs.x() = sx;
-    m_coeffs.y() = sy;
-  }
-  /**  */
-  inline Translation(const Scalar& sx, const Scalar& sy, const Scalar& sz)
-  {
-    eigen_assert(Dim==3);
-    m_coeffs.x() = sx;
-    m_coeffs.y() = sy;
-    m_coeffs.z() = sz;
-  }
-  /** Constructs and initialize the translation transformation from a vector of translation coefficients */
-  explicit inline Translation(const VectorType& vector) : m_coeffs(vector) {}
-
-  /** \brief Retruns the x-translation by value. **/
-  inline Scalar x() const { return m_coeffs.x(); }
-  /** \brief Retruns the y-translation by value. **/
-  inline Scalar y() const { return m_coeffs.y(); }
-  /** \brief Retruns the z-translation by value. **/
-  inline Scalar z() const { return m_coeffs.z(); }
-
-  /** \brief Retruns the x-translation as a reference. **/
-  inline Scalar& x() { return m_coeffs.x(); }
-  /** \brief Retruns the y-translation as a reference. **/
-  inline Scalar& y() { return m_coeffs.y(); }
-  /** \brief Retruns the z-translation as a reference. **/
-  inline Scalar& z() { return m_coeffs.z(); }
-
-  const VectorType& vector() const { return m_coeffs; }
-  VectorType& vector() { return m_coeffs; }
-
-  const VectorType& translation() const { return m_coeffs; }
-  VectorType& translation() { return m_coeffs; }
-
-  /** Concatenates two translation */
-  inline Translation operator* (const Translation& other) const
-  { return Translation(m_coeffs + other.m_coeffs); }
-
-  /** Concatenates a translation and a uniform scaling */
-  inline AffineTransformType operator* (const UniformScaling<Scalar>& other) const;
-
-  /** Concatenates a translation and a linear transformation */
-  template<typename OtherDerived>
-  inline AffineTransformType operator* (const EigenBase<OtherDerived>& linear) const;
-
-  /** Concatenates a translation and a rotation */
-  template<typename Derived>
-  inline IsometryTransformType operator*(const RotationBase<Derived,Dim>& r) const
-  { return *this * IsometryTransformType(r); }
-
-  /** \returns the concatenation of a linear transformation \a l with the translation \a t */
-  // its a nightmare to define a templated friend function outside its declaration
-  template<typename OtherDerived> friend
-  inline AffineTransformType operator*(const EigenBase<OtherDerived>& linear, const Translation& t)
-  {
-    AffineTransformType res;
-    res.matrix().setZero();
-    res.linear() = linear.derived();
-    res.translation() = linear.derived() * t.m_coeffs;
-    res.matrix().row(Dim).setZero();
-    res(Dim,Dim) = Scalar(1);
-    return res;
-  }
-
-  /** Concatenates a translation and a transformation */
-  template<int Mode, int Options>
-  inline Transform<Scalar,Dim,Mode> operator* (const Transform<Scalar,Dim,Mode,Options>& t) const
-  {
-    Transform<Scalar,Dim,Mode> res = t;
-    res.pretranslate(m_coeffs);
-    return res;
-  }
-
-  /** Applies translation to vector */
-  inline VectorType operator* (const VectorType& other) const
-  { return m_coeffs + other; }
-
-  /** \returns the inverse translation (opposite) */
-  Translation inverse() const { return Translation(-m_coeffs); }
-
-  Translation& operator=(const Translation& other)
-  {
-    m_coeffs = other.m_coeffs;
-    return *this;
-  }
-
-  static const Translation Identity() { return Translation(VectorType::Zero()); }
-
-  /** \returns \c *this with scalar type casted to \a NewScalarType
-    *
-    * Note that if \a NewScalarType is equal to the current scalar type of \c *this
-    * then this function smartly returns a const reference to \c *this.
-    */
-  template<typename NewScalarType>
-  inline typename internal::cast_return_type<Translation,Translation<NewScalarType,Dim> >::type cast() const
-  { return typename internal::cast_return_type<Translation,Translation<NewScalarType,Dim> >::type(*this); }
-
-  /** Copy constructor with scalar type conversion */
-  template<typename OtherScalarType>
-  inline explicit Translation(const Translation<OtherScalarType,Dim>& other)
-  { m_coeffs = other.vector().template cast<Scalar>(); }
-
-  /** \returns \c true if \c *this is approximately equal to \a other, within the precision
-    * determined by \a prec.
-    *
-    * \sa MatrixBase::isApprox() */
-  bool isApprox(const Translation& other, const typename NumTraits<Scalar>::Real& prec = NumTraits<Scalar>::dummy_precision()) const
-  { return m_coeffs.isApprox(other.m_coeffs, prec); }
-
-};
-
-/** \addtogroup Geometry_Module */
-//@{
-typedef Translation<float, 2> Translation2f;
-typedef Translation<double,2> Translation2d;
-typedef Translation<float, 3> Translation3f;
-typedef Translation<double,3> Translation3d;
-//@}
-
-template<typename Scalar, int Dim>
-inline typename Translation<Scalar,Dim>::AffineTransformType
-Translation<Scalar,Dim>::operator* (const UniformScaling<Scalar>& other) const
-{
-  AffineTransformType res;
-  res.matrix().setZero();
-  res.linear().diagonal().fill(other.factor());
-  res.translation() = m_coeffs;
-  res(Dim,Dim) = Scalar(1);
-  return res;
-}
-
-template<typename Scalar, int Dim>
-template<typename OtherDerived>
-inline typename Translation<Scalar,Dim>::AffineTransformType
-Translation<Scalar,Dim>::operator* (const EigenBase<OtherDerived>& linear) const
-{
-  AffineTransformType res;
-  res.matrix().setZero();
-  res.linear() = linear.derived();
-  res.translation() = m_coeffs;
-  res.matrix().row(Dim).setZero();
-  res(Dim,Dim) = Scalar(1);
-  return res;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_TRANSLATION_H
diff --git a/lib/Eigen/src/Geometry/Umeyama.h b/lib/Eigen/src/Geometry/Umeyama.h
deleted file mode 100644
index 5e20662f..00000000
--- a/lib/Eigen/src/Geometry/Umeyama.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Hauke Heibel <hauke.heibel@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_UMEYAMA_H
-#define EIGEN_UMEYAMA_H
-
-// This file requires the user to include 
-// * Eigen/Core
-// * Eigen/LU 
-// * Eigen/SVD
-// * Eigen/Array
-
-namespace Eigen { 
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-
-// These helpers are required since it allows to use mixed types as parameters
-// for the Umeyama. The problem with mixed parameters is that the return type
-// cannot trivially be deduced when float and double types are mixed.
-namespace internal {
-
-// Compile time return type deduction for different MatrixBase types.
-// Different means here different alignment and parameters but the same underlying
-// real scalar type.
-template<typename MatrixType, typename OtherMatrixType>
-struct umeyama_transform_matrix_type
-{
-  enum {
-    MinRowsAtCompileTime = EIGEN_SIZE_MIN_PREFER_DYNAMIC(MatrixType::RowsAtCompileTime, OtherMatrixType::RowsAtCompileTime),
-
-    // When possible we want to choose some small fixed size value since the result
-    // is likely to fit on the stack. So here, EIGEN_SIZE_MIN_PREFER_DYNAMIC is not what we want.
-    HomogeneousDimension = int(MinRowsAtCompileTime) == Dynamic ? Dynamic : int(MinRowsAtCompileTime)+1
-  };
-
-  typedef Matrix<typename traits<MatrixType>::Scalar,
-    HomogeneousDimension,
-    HomogeneousDimension,
-    AutoAlign | (traits<MatrixType>::Flags & RowMajorBit ? RowMajor : ColMajor),
-    HomogeneousDimension,
-    HomogeneousDimension
-  > type;
-};
-
-}
-
-#endif
-
-/**
-* \geometry_module \ingroup Geometry_Module
-*
-* \brief Returns the transformation between two point sets.
-*
-* The algorithm is based on:
-* "Least-squares estimation of transformation parameters between two point patterns",
-* Shinji Umeyama, PAMI 1991, DOI: 10.1109/34.88573
-*
-* It estimates parameters \f$ c, \mathbf{R}, \f$ and \f$ \mathbf{t} \f$ such that
-* \f{align*}
-*   \frac{1}{n} \sum_{i=1}^n \vert\vert y_i - (c\mathbf{R}x_i + \mathbf{t}) \vert\vert_2^2
-* \f}
-* is minimized.
-*
-* The algorithm is based on the analysis of the covariance matrix
-* \f$ \Sigma_{\mathbf{x}\mathbf{y}} \in \mathbb{R}^{d \times d} \f$
-* of the input point sets \f$ \mathbf{x} \f$ and \f$ \mathbf{y} \f$ where 
-* \f$d\f$ is corresponding to the dimension (which is typically small).
-* The analysis is involving the SVD having a complexity of \f$O(d^3)\f$
-* though the actual computational effort lies in the covariance
-* matrix computation which has an asymptotic lower bound of \f$O(dm)\f$ when 
-* the input point sets have dimension \f$d \times m\f$.
-*
-* Currently the method is working only for floating point matrices.
-*
-* \todo Should the return type of umeyama() become a Transform?
-*
-* \param src Source points \f$ \mathbf{x} = \left( x_1, \hdots, x_n \right) \f$.
-* \param dst Destination points \f$ \mathbf{y} = \left( y_1, \hdots, y_n \right) \f$.
-* \param with_scaling Sets \f$ c=1 \f$ when <code>false</code> is passed.
-* \return The homogeneous transformation 
-* \f{align*}
-*   T = \begin{bmatrix} c\mathbf{R} & \mathbf{t} \\ \mathbf{0} & 1 \end{bmatrix}
-* \f}
-* minimizing the resudiual above. This transformation is always returned as an 
-* Eigen::Matrix.
-*/
-template <typename Derived, typename OtherDerived>
-typename internal::umeyama_transform_matrix_type<Derived, OtherDerived>::type
-umeyama(const MatrixBase<Derived>& src, const MatrixBase<OtherDerived>& dst, bool with_scaling = true)
-{
-  typedef typename internal::umeyama_transform_matrix_type<Derived, OtherDerived>::type TransformationMatrixType;
-  typedef typename internal::traits<TransformationMatrixType>::Scalar Scalar;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  typedef typename Derived::Index Index;
-
-  EIGEN_STATIC_ASSERT(!NumTraits<Scalar>::IsComplex, NUMERIC_TYPE_MUST_BE_REAL)
-  EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename internal::traits<OtherDerived>::Scalar>::value),
-    YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-
-  enum { Dimension = EIGEN_SIZE_MIN_PREFER_DYNAMIC(Derived::RowsAtCompileTime, OtherDerived::RowsAtCompileTime) };
-
-  typedef Matrix<Scalar, Dimension, 1> VectorType;
-  typedef Matrix<Scalar, Dimension, Dimension> MatrixType;
-  typedef typename internal::plain_matrix_type_row_major<Derived>::type RowMajorMatrixType;
-
-  const Index m = src.rows(); // dimension
-  const Index n = src.cols(); // number of measurements
-
-  // required for demeaning ...
-  const RealScalar one_over_n = RealScalar(1) / static_cast<RealScalar>(n);
-
-  // computation of mean
-  const VectorType src_mean = src.rowwise().sum() * one_over_n;
-  const VectorType dst_mean = dst.rowwise().sum() * one_over_n;
-
-  // demeaning of src and dst points
-  const RowMajorMatrixType src_demean = src.colwise() - src_mean;
-  const RowMajorMatrixType dst_demean = dst.colwise() - dst_mean;
-
-  // Eq. (36)-(37)
-  const Scalar src_var = src_demean.rowwise().squaredNorm().sum() * one_over_n;
-
-  // Eq. (38)
-  const MatrixType sigma = one_over_n * dst_demean * src_demean.transpose();
-
-  JacobiSVD<MatrixType> svd(sigma, ComputeFullU | ComputeFullV);
-
-  // Initialize the resulting transformation with an identity matrix...
-  TransformationMatrixType Rt = TransformationMatrixType::Identity(m+1,m+1);
-
-  // Eq. (39)
-  VectorType S = VectorType::Ones(m);
-  if (sigma.determinant()<Scalar(0)) S(m-1) = Scalar(-1);
-
-  // Eq. (40) and (43)
-  const VectorType& d = svd.singularValues();
-  Index rank = 0; for (Index i=0; i<m; ++i) if (!internal::isMuchSmallerThan(d.coeff(i),d.coeff(0))) ++rank;
-  if (rank == m-1) {
-    if ( svd.matrixU().determinant() * svd.matrixV().determinant() > Scalar(0) ) {
-      Rt.block(0,0,m,m).noalias() = svd.matrixU()*svd.matrixV().transpose();
-    } else {
-      const Scalar s = S(m-1); S(m-1) = Scalar(-1);
-      Rt.block(0,0,m,m).noalias() = svd.matrixU() * S.asDiagonal() * svd.matrixV().transpose();
-      S(m-1) = s;
-    }
-  } else {
-    Rt.block(0,0,m,m).noalias() = svd.matrixU() * S.asDiagonal() * svd.matrixV().transpose();
-  }
-
-  if (with_scaling)
-  {
-    // Eq. (42)
-    const Scalar c = Scalar(1)/src_var * svd.singularValues().dot(S);
-
-    // Eq. (41)
-    Rt.col(m).head(m) = dst_mean;
-    Rt.col(m).head(m).noalias() -= c*Rt.topLeftCorner(m,m)*src_mean;
-    Rt.block(0,0,m,m) *= c;
-  }
-  else
-  {
-    Rt.col(m).head(m) = dst_mean;
-    Rt.col(m).head(m).noalias() -= Rt.topLeftCorner(m,m)*src_mean;
-  }
-
-  return Rt;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_UMEYAMA_H
diff --git a/lib/Eigen/src/Geometry/arch/CMakeLists.txt b/lib/Eigen/src/Geometry/arch/CMakeLists.txt
deleted file mode 100644
index 1267a79c..00000000
--- a/lib/Eigen/src/Geometry/arch/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Geometry_arch_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Geometry_arch_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry/arch COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/Geometry/arch/Geometry_SSE.h b/lib/Eigen/src/Geometry/arch/Geometry_SSE.h
deleted file mode 100644
index 3d8284f2..00000000
--- a/lib/Eigen/src/Geometry/arch/Geometry_SSE.h
+++ /dev/null
@@ -1,115 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Rohit Garg <rpg.314@gmail.com>
-// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_GEOMETRY_SSE_H
-#define EIGEN_GEOMETRY_SSE_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<class Derived, class OtherDerived>
-struct quat_product<Architecture::SSE, Derived, OtherDerived, float, Aligned>
-{
-  static inline Quaternion<float> run(const QuaternionBase<Derived>& _a, const QuaternionBase<OtherDerived>& _b)
-  {
-    const __m128 mask = _mm_castsi128_ps(_mm_setr_epi32(0,0,0,0x80000000));
-    Quaternion<float> res;
-    __m128 a = _a.coeffs().template packet<Aligned>(0);
-    __m128 b = _b.coeffs().template packet<Aligned>(0);
-    __m128 flip1 = _mm_xor_ps(_mm_mul_ps(vec4f_swizzle1(a,1,2,0,2),
-                                         vec4f_swizzle1(b,2,0,1,2)),mask);
-    __m128 flip2 = _mm_xor_ps(_mm_mul_ps(vec4f_swizzle1(a,3,3,3,1),
-                                         vec4f_swizzle1(b,0,1,2,1)),mask);
-    pstore(&res.x(),
-              _mm_add_ps(_mm_sub_ps(_mm_mul_ps(a,vec4f_swizzle1(b,3,3,3,3)),
-                                    _mm_mul_ps(vec4f_swizzle1(a,2,0,1,0),
-                                               vec4f_swizzle1(b,1,2,0,0))),
-                         _mm_add_ps(flip1,flip2)));
-    return res;
-  }
-};
-
-template<typename VectorLhs,typename VectorRhs>
-struct cross3_impl<Architecture::SSE,VectorLhs,VectorRhs,float,true>
-{
-  static inline typename plain_matrix_type<VectorLhs>::type
-  run(const VectorLhs& lhs, const VectorRhs& rhs)
-  {
-    __m128 a = lhs.template packet<VectorLhs::Flags&AlignedBit ? Aligned : Unaligned>(0);
-    __m128 b = rhs.template packet<VectorRhs::Flags&AlignedBit ? Aligned : Unaligned>(0);
-    __m128 mul1=_mm_mul_ps(vec4f_swizzle1(a,1,2,0,3),vec4f_swizzle1(b,2,0,1,3));
-    __m128 mul2=_mm_mul_ps(vec4f_swizzle1(a,2,0,1,3),vec4f_swizzle1(b,1,2,0,3));
-    typename plain_matrix_type<VectorLhs>::type res;
-    pstore(&res.x(),_mm_sub_ps(mul1,mul2));
-    return res;
-  }
-};
-
-
-
-
-template<class Derived, class OtherDerived>
-struct quat_product<Architecture::SSE, Derived, OtherDerived, double, Aligned>
-{
-  static inline Quaternion<double> run(const QuaternionBase<Derived>& _a, const QuaternionBase<OtherDerived>& _b)
-  {
-  const Packet2d mask = _mm_castsi128_pd(_mm_set_epi32(0x0,0x0,0x80000000,0x0));
-
-  Quaternion<double> res;
-
-  const double* a = _a.coeffs().data();
-  Packet2d b_xy = _b.coeffs().template packet<Aligned>(0);
-  Packet2d b_zw = _b.coeffs().template packet<Aligned>(2);
-  Packet2d a_xx = pset1<Packet2d>(a[0]);
-  Packet2d a_yy = pset1<Packet2d>(a[1]);
-  Packet2d a_zz = pset1<Packet2d>(a[2]);
-  Packet2d a_ww = pset1<Packet2d>(a[3]);
-
-  // two temporaries:
-  Packet2d t1, t2;
-
-  /*
-   * t1 = ww*xy + yy*zw
-   * t2 = zz*xy - xx*zw
-   * res.xy = t1 +/- swap(t2)
-   */
-  t1 = padd(pmul(a_ww, b_xy), pmul(a_yy, b_zw));
-  t2 = psub(pmul(a_zz, b_xy), pmul(a_xx, b_zw));
-#ifdef EIGEN_VECTORIZE_SSE3
-  EIGEN_UNUSED_VARIABLE(mask)
-  pstore(&res.x(), _mm_addsub_pd(t1, preverse(t2)));
-#else
-  pstore(&res.x(), padd(t1, pxor(mask,preverse(t2))));
-#endif
-  
-  /*
-   * t1 = ww*zw - yy*xy
-   * t2 = zz*zw + xx*xy
-   * res.zw = t1 -/+ swap(t2) = swap( swap(t1) +/- t2)
-   */
-  t1 = psub(pmul(a_ww, b_zw), pmul(a_yy, b_xy));
-  t2 = padd(pmul(a_zz, b_zw), pmul(a_xx, b_xy));
-#ifdef EIGEN_VECTORIZE_SSE3
-  EIGEN_UNUSED_VARIABLE(mask)
-  pstore(&res.z(), preverse(_mm_addsub_pd(preverse(t1), t2)));
-#else
-  pstore(&res.z(), psub(t1, pxor(mask,preverse(t2))));
-#endif
-
-  return res;
-}
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_GEOMETRY_SSE_H
diff --git a/lib/Eigen/src/Householder/BlockHouseholder.h b/lib/Eigen/src/Householder/BlockHouseholder.h
deleted file mode 100644
index 60dbea5f..00000000
--- a/lib/Eigen/src/Householder/BlockHouseholder.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Vincent Lejeune
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_BLOCK_HOUSEHOLDER_H
-#define EIGEN_BLOCK_HOUSEHOLDER_H
-
-// This file contains some helper function to deal with block householder reflectors
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \internal */
-template<typename TriangularFactorType,typename VectorsType,typename CoeffsType>
-void make_block_householder_triangular_factor(TriangularFactorType& triFactor, const VectorsType& vectors, const CoeffsType& hCoeffs)
-{
-  typedef typename TriangularFactorType::Index Index;
-  typedef typename VectorsType::Scalar Scalar;
-  const Index nbVecs = vectors.cols();
-  eigen_assert(triFactor.rows() == nbVecs && triFactor.cols() == nbVecs && vectors.rows()>=nbVecs);
-
-  for(Index i = 0; i < nbVecs; i++)
-  {
-    Index rs = vectors.rows() - i;
-    Scalar Vii = vectors(i,i);
-    vectors.const_cast_derived().coeffRef(i,i) = Scalar(1);
-    triFactor.col(i).head(i).noalias() = -hCoeffs(i) * vectors.block(i, 0, rs, i).adjoint()
-                                       * vectors.col(i).tail(rs);
-    vectors.const_cast_derived().coeffRef(i, i) = Vii;
-    // FIXME add .noalias() once the triangular product can work inplace
-    triFactor.col(i).head(i) = triFactor.block(0,0,i,i).template triangularView<Upper>()
-                             * triFactor.col(i).head(i);
-    triFactor(i,i) = hCoeffs(i);
-  }
-}
-
-/** \internal */
-template<typename MatrixType,typename VectorsType,typename CoeffsType>
-void apply_block_householder_on_the_left(MatrixType& mat, const VectorsType& vectors, const CoeffsType& hCoeffs)
-{
-  typedef typename MatrixType::Index Index;
-  enum { TFactorSize = MatrixType::ColsAtCompileTime };
-  Index nbVecs = vectors.cols();
-  Matrix<typename MatrixType::Scalar, TFactorSize, TFactorSize, ColMajor> T(nbVecs,nbVecs);
-  make_block_householder_triangular_factor(T, vectors, hCoeffs);
-
-  const TriangularView<const VectorsType, UnitLower>& V(vectors);
-
-  // A -= V T V^* A
-  Matrix<typename MatrixType::Scalar,VectorsType::ColsAtCompileTime,MatrixType::ColsAtCompileTime,0,
-         VectorsType::MaxColsAtCompileTime,MatrixType::MaxColsAtCompileTime> tmp = V.adjoint() * mat;
-  // FIXME add .noalias() once the triangular product can work inplace
-  tmp = T.template triangularView<Upper>().adjoint() * tmp;
-  mat.noalias() -= V * tmp;
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_BLOCK_HOUSEHOLDER_H
diff --git a/lib/Eigen/src/Householder/CMakeLists.txt b/lib/Eigen/src/Householder/CMakeLists.txt
deleted file mode 100644
index ce4937db..00000000
--- a/lib/Eigen/src/Householder/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Householder_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Householder_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Householder COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/Householder/Householder.h b/lib/Eigen/src/Householder/Householder.h
deleted file mode 100644
index 32112af9..00000000
--- a/lib/Eigen/src/Householder/Householder.h
+++ /dev/null
@@ -1,171 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_HOUSEHOLDER_H
-#define EIGEN_HOUSEHOLDER_H
-
-namespace Eigen { 
-
-namespace internal {
-template<int n> struct decrement_size
-{
-  enum {
-    ret = n==Dynamic ? n : n-1
-  };
-};
-}
-
-/** Computes the elementary reflector H such that:
-  * \f$ H *this = [ beta 0 ... 0]^T \f$
-  * where the transformation H is:
-  * \f$ H = I - tau v v^*\f$
-  * and the vector v is:
-  * \f$ v^T = [1 essential^T] \f$
-  *
-  * The essential part of the vector \c v is stored in *this.
-  * 
-  * On output:
-  * \param tau the scaling factor of the Householder transformation
-  * \param beta the result of H * \c *this
-  *
-  * \sa MatrixBase::makeHouseholder(), MatrixBase::applyHouseholderOnTheLeft(),
-  *     MatrixBase::applyHouseholderOnTheRight()
-  */
-template<typename Derived>
-void MatrixBase<Derived>::makeHouseholderInPlace(Scalar& tau, RealScalar& beta)
-{
-  VectorBlock<Derived, internal::decrement_size<Base::SizeAtCompileTime>::ret> essentialPart(derived(), 1, size()-1);
-  makeHouseholder(essentialPart, tau, beta);
-}
-
-/** Computes the elementary reflector H such that:
-  * \f$ H *this = [ beta 0 ... 0]^T \f$
-  * where the transformation H is:
-  * \f$ H = I - tau v v^*\f$
-  * and the vector v is:
-  * \f$ v^T = [1 essential^T] \f$
-  *
-  * On output:
-  * \param essential the essential part of the vector \c v
-  * \param tau the scaling factor of the Householder transformation
-  * \param beta the result of H * \c *this
-  *
-  * \sa MatrixBase::makeHouseholderInPlace(), MatrixBase::applyHouseholderOnTheLeft(),
-  *     MatrixBase::applyHouseholderOnTheRight()
-  */
-template<typename Derived>
-template<typename EssentialPart>
-void MatrixBase<Derived>::makeHouseholder(
-  EssentialPart& essential,
-  Scalar& tau,
-  RealScalar& beta) const
-{
-  using std::sqrt;
-  using numext::conj;
-  
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(EssentialPart)
-  VectorBlock<const Derived, EssentialPart::SizeAtCompileTime> tail(derived(), 1, size()-1);
-  
-  RealScalar tailSqNorm = size()==1 ? RealScalar(0) : tail.squaredNorm();
-  Scalar c0 = coeff(0);
-
-  if(tailSqNorm == RealScalar(0) && numext::imag(c0)==RealScalar(0))
-  {
-    tau = RealScalar(0);
-    beta = numext::real(c0);
-    essential.setZero();
-  }
-  else
-  {
-    beta = sqrt(numext::abs2(c0) + tailSqNorm);
-    if (numext::real(c0)>=RealScalar(0))
-      beta = -beta;
-    essential = tail / (c0 - beta);
-    tau = conj((beta - c0) / beta);
-  }
-}
-
-/** Apply the elementary reflector H given by
-  * \f$ H = I - tau v v^*\f$
-  * with
-  * \f$ v^T = [1 essential^T] \f$
-  * from the left to a vector or matrix.
-  *
-  * On input:
-  * \param essential the essential part of the vector \c v
-  * \param tau the scaling factor of the Householder transformation
-  * \param workspace a pointer to working space with at least
-  *                  this->cols() * essential.size() entries
-  *
-  * \sa MatrixBase::makeHouseholder(), MatrixBase::makeHouseholderInPlace(), 
-  *     MatrixBase::applyHouseholderOnTheRight()
-  */
-template<typename Derived>
-template<typename EssentialPart>
-void MatrixBase<Derived>::applyHouseholderOnTheLeft(
-  const EssentialPart& essential,
-  const Scalar& tau,
-  Scalar* workspace)
-{
-  if(rows() == 1)
-  {
-    *this *= Scalar(1)-tau;
-  }
-  else
-  {
-    Map<typename internal::plain_row_type<PlainObject>::type> tmp(workspace,cols());
-    Block<Derived, EssentialPart::SizeAtCompileTime, Derived::ColsAtCompileTime> bottom(derived(), 1, 0, rows()-1, cols());
-    tmp.noalias() = essential.adjoint() * bottom;
-    tmp += this->row(0);
-    this->row(0) -= tau * tmp;
-    bottom.noalias() -= tau * essential * tmp;
-  }
-}
-
-/** Apply the elementary reflector H given by
-  * \f$ H = I - tau v v^*\f$
-  * with
-  * \f$ v^T = [1 essential^T] \f$
-  * from the right to a vector or matrix.
-  *
-  * On input:
-  * \param essential the essential part of the vector \c v
-  * \param tau the scaling factor of the Householder transformation
-  * \param workspace a pointer to working space with at least
-  *                  this->cols() * essential.size() entries
-  *
-  * \sa MatrixBase::makeHouseholder(), MatrixBase::makeHouseholderInPlace(), 
-  *     MatrixBase::applyHouseholderOnTheLeft()
-  */
-template<typename Derived>
-template<typename EssentialPart>
-void MatrixBase<Derived>::applyHouseholderOnTheRight(
-  const EssentialPart& essential,
-  const Scalar& tau,
-  Scalar* workspace)
-{
-  if(cols() == 1)
-  {
-    *this *= Scalar(1)-tau;
-  }
-  else
-  {
-    Map<typename internal::plain_col_type<PlainObject>::type> tmp(workspace,rows());
-    Block<Derived, Derived::RowsAtCompileTime, EssentialPart::SizeAtCompileTime> right(derived(), 0, 1, rows(), cols()-1);
-    tmp.noalias() = right * essential.conjugate();
-    tmp += this->col(0);
-    this->col(0) -= tau * tmp;
-    right.noalias() -= tau * tmp * essential.transpose();
-  }
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_HOUSEHOLDER_H
diff --git a/lib/Eigen/src/Householder/HouseholderSequence.h b/lib/Eigen/src/Householder/HouseholderSequence.h
deleted file mode 100644
index d800ca1f..00000000
--- a/lib/Eigen/src/Householder/HouseholderSequence.h
+++ /dev/null
@@ -1,441 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_HOUSEHOLDER_SEQUENCE_H
-#define EIGEN_HOUSEHOLDER_SEQUENCE_H
-
-namespace Eigen { 
-
-/** \ingroup Householder_Module
-  * \householder_module
-  * \class HouseholderSequence
-  * \brief Sequence of Householder reflections acting on subspaces with decreasing size
-  * \tparam VectorsType type of matrix containing the Householder vectors
-  * \tparam CoeffsType  type of vector containing the Householder coefficients
-  * \tparam Side        either OnTheLeft (the default) or OnTheRight
-  *
-  * This class represents a product sequence of Householder reflections where the first Householder reflection
-  * acts on the whole space, the second Householder reflection leaves the one-dimensional subspace spanned by
-  * the first unit vector invariant, the third Householder reflection leaves the two-dimensional subspace
-  * spanned by the first two unit vectors invariant, and so on up to the last reflection which leaves all but
-  * one dimensions invariant and acts only on the last dimension. Such sequences of Householder reflections
-  * are used in several algorithms to zero out certain parts of a matrix. Indeed, the methods
-  * HessenbergDecomposition::matrixQ(), Tridiagonalization::matrixQ(), HouseholderQR::householderQ(),
-  * and ColPivHouseholderQR::householderQ() all return a %HouseholderSequence.
-  *
-  * More precisely, the class %HouseholderSequence represents an \f$ n \times n \f$ matrix \f$ H \f$ of the
-  * form \f$ H = \prod_{i=0}^{n-1} H_i \f$ where the i-th Householder reflection is \f$ H_i = I - h_i v_i
-  * v_i^* \f$. The i-th Householder coefficient \f$ h_i \f$ is a scalar and the i-th Householder vector \f$
-  * v_i \f$ is a vector of the form
-  * \f[ 
-  * v_i = [\underbrace{0, \ldots, 0}_{i-1\mbox{ zeros}}, 1, \underbrace{*, \ldots,*}_{n-i\mbox{ arbitrary entries}} ]. 
-  * \f]
-  * The last \f$ n-i \f$ entries of \f$ v_i \f$ are called the essential part of the Householder vector.
-  *
-  * Typical usages are listed below, where H is a HouseholderSequence:
-  * \code
-  * A.applyOnTheRight(H);             // A = A * H
-  * A.applyOnTheLeft(H);              // A = H * A
-  * A.applyOnTheRight(H.adjoint());   // A = A * H^*
-  * A.applyOnTheLeft(H.adjoint());    // A = H^* * A
-  * MatrixXd Q = H;                   // conversion to a dense matrix
-  * \endcode
-  * In addition to the adjoint, you can also apply the inverse (=adjoint), the transpose, and the conjugate operators.
-  *
-  * See the documentation for HouseholderSequence(const VectorsType&, const CoeffsType&) for an example.
-  *
-  * \sa MatrixBase::applyOnTheLeft(), MatrixBase::applyOnTheRight()
-  */
-
-namespace internal {
-
-template<typename VectorsType, typename CoeffsType, int Side>
-struct traits<HouseholderSequence<VectorsType,CoeffsType,Side> >
-{
-  typedef typename VectorsType::Scalar Scalar;
-  typedef typename VectorsType::Index Index;
-  typedef typename VectorsType::StorageKind StorageKind;
-  enum {
-    RowsAtCompileTime = Side==OnTheLeft ? traits<VectorsType>::RowsAtCompileTime
-                                        : traits<VectorsType>::ColsAtCompileTime,
-    ColsAtCompileTime = RowsAtCompileTime,
-    MaxRowsAtCompileTime = Side==OnTheLeft ? traits<VectorsType>::MaxRowsAtCompileTime
-                                           : traits<VectorsType>::MaxColsAtCompileTime,
-    MaxColsAtCompileTime = MaxRowsAtCompileTime,
-    Flags = 0
-  };
-};
-
-template<typename VectorsType, typename CoeffsType, int Side>
-struct hseq_side_dependent_impl
-{
-  typedef Block<const VectorsType, Dynamic, 1> EssentialVectorType;
-  typedef HouseholderSequence<VectorsType, CoeffsType, OnTheLeft> HouseholderSequenceType;
-  typedef typename VectorsType::Index Index;
-  static inline const EssentialVectorType essentialVector(const HouseholderSequenceType& h, Index k)
-  {
-    Index start = k+1+h.m_shift;
-    return Block<const VectorsType,Dynamic,1>(h.m_vectors, start, k, h.rows()-start, 1);
-  }
-};
-
-template<typename VectorsType, typename CoeffsType>
-struct hseq_side_dependent_impl<VectorsType, CoeffsType, OnTheRight>
-{
-  typedef Transpose<Block<const VectorsType, 1, Dynamic> > EssentialVectorType;
-  typedef HouseholderSequence<VectorsType, CoeffsType, OnTheRight> HouseholderSequenceType;
-  typedef typename VectorsType::Index Index;
-  static inline const EssentialVectorType essentialVector(const HouseholderSequenceType& h, Index k)
-  {
-    Index start = k+1+h.m_shift;
-    return Block<const VectorsType,1,Dynamic>(h.m_vectors, k, start, 1, h.rows()-start).transpose();
-  }
-};
-
-template<typename OtherScalarType, typename MatrixType> struct matrix_type_times_scalar_type
-{
-  typedef typename scalar_product_traits<OtherScalarType, typename MatrixType::Scalar>::ReturnType
-    ResultScalar;
-  typedef Matrix<ResultScalar, MatrixType::RowsAtCompileTime, MatrixType::ColsAtCompileTime,
-                 0, MatrixType::MaxRowsAtCompileTime, MatrixType::MaxColsAtCompileTime> Type;
-};
-
-} // end namespace internal
-
-template<typename VectorsType, typename CoeffsType, int Side> class HouseholderSequence
-  : public EigenBase<HouseholderSequence<VectorsType,CoeffsType,Side> >
-{
-    typedef typename internal::hseq_side_dependent_impl<VectorsType,CoeffsType,Side>::EssentialVectorType EssentialVectorType;
-  
-  public:
-    enum {
-      RowsAtCompileTime = internal::traits<HouseholderSequence>::RowsAtCompileTime,
-      ColsAtCompileTime = internal::traits<HouseholderSequence>::ColsAtCompileTime,
-      MaxRowsAtCompileTime = internal::traits<HouseholderSequence>::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = internal::traits<HouseholderSequence>::MaxColsAtCompileTime
-    };
-    typedef typename internal::traits<HouseholderSequence>::Scalar Scalar;
-    typedef typename VectorsType::Index Index;
-
-    typedef HouseholderSequence<
-      typename internal::conditional<NumTraits<Scalar>::IsComplex,
-        typename internal::remove_all<typename VectorsType::ConjugateReturnType>::type,
-        VectorsType>::type,
-      typename internal::conditional<NumTraits<Scalar>::IsComplex,
-        typename internal::remove_all<typename CoeffsType::ConjugateReturnType>::type,
-        CoeffsType>::type,
-      Side
-    > ConjugateReturnType;
-
-    /** \brief Constructor.
-      * \param[in]  v      %Matrix containing the essential parts of the Householder vectors
-      * \param[in]  h      Vector containing the Householder coefficients
-      *
-      * Constructs the Householder sequence with coefficients given by \p h and vectors given by \p v. The
-      * i-th Householder coefficient \f$ h_i \f$ is given by \p h(i) and the essential part of the i-th
-      * Householder vector \f$ v_i \f$ is given by \p v(k,i) with \p k > \p i (the subdiagonal part of the
-      * i-th column). If \p v has fewer columns than rows, then the Householder sequence contains as many
-      * Householder reflections as there are columns.
-      *
-      * \note The %HouseholderSequence object stores \p v and \p h by reference.
-      *
-      * Example: \include HouseholderSequence_HouseholderSequence.cpp
-      * Output: \verbinclude HouseholderSequence_HouseholderSequence.out
-      *
-      * \sa setLength(), setShift()
-      */
-    HouseholderSequence(const VectorsType& v, const CoeffsType& h)
-      : m_vectors(v), m_coeffs(h), m_trans(false), m_length(v.diagonalSize()),
-        m_shift(0)
-    {
-    }
-
-    /** \brief Copy constructor. */
-    HouseholderSequence(const HouseholderSequence& other)
-      : m_vectors(other.m_vectors),
-        m_coeffs(other.m_coeffs),
-        m_trans(other.m_trans),
-        m_length(other.m_length),
-        m_shift(other.m_shift)
-    {
-    }
-
-    /** \brief Number of rows of transformation viewed as a matrix.
-      * \returns Number of rows 
-      * \details This equals the dimension of the space that the transformation acts on.
-      */
-    Index rows() const { return Side==OnTheLeft ? m_vectors.rows() : m_vectors.cols(); }
-
-    /** \brief Number of columns of transformation viewed as a matrix.
-      * \returns Number of columns
-      * \details This equals the dimension of the space that the transformation acts on.
-      */
-    Index cols() const { return rows(); }
-
-    /** \brief Essential part of a Householder vector.
-      * \param[in]  k  Index of Householder reflection
-      * \returns    Vector containing non-trivial entries of k-th Householder vector
-      *
-      * This function returns the essential part of the Householder vector \f$ v_i \f$. This is a vector of
-      * length \f$ n-i \f$ containing the last \f$ n-i \f$ entries of the vector
-      * \f[ 
-      * v_i = [\underbrace{0, \ldots, 0}_{i-1\mbox{ zeros}}, 1, \underbrace{*, \ldots,*}_{n-i\mbox{ arbitrary entries}} ]. 
-      * \f]
-      * The index \f$ i \f$ equals \p k + shift(), corresponding to the k-th column of the matrix \p v
-      * passed to the constructor.
-      *
-      * \sa setShift(), shift()
-      */
-    const EssentialVectorType essentialVector(Index k) const
-    {
-      eigen_assert(k >= 0 && k < m_length);
-      return internal::hseq_side_dependent_impl<VectorsType,CoeffsType,Side>::essentialVector(*this, k);
-    }
-
-    /** \brief %Transpose of the Householder sequence. */
-    HouseholderSequence transpose() const
-    {
-      return HouseholderSequence(*this).setTrans(!m_trans);
-    }
-
-    /** \brief Complex conjugate of the Householder sequence. */
-    ConjugateReturnType conjugate() const
-    {
-      return ConjugateReturnType(m_vectors.conjugate(), m_coeffs.conjugate())
-             .setTrans(m_trans)
-             .setLength(m_length)
-             .setShift(m_shift);
-    }
-
-    /** \brief Adjoint (conjugate transpose) of the Householder sequence. */
-    ConjugateReturnType adjoint() const
-    {
-      return conjugate().setTrans(!m_trans);
-    }
-
-    /** \brief Inverse of the Householder sequence (equals the adjoint). */
-    ConjugateReturnType inverse() const { return adjoint(); }
-
-    /** \internal */
-    template<typename DestType> inline void evalTo(DestType& dst) const
-    {
-      Matrix<Scalar, DestType::RowsAtCompileTime, 1,
-             AutoAlign|ColMajor, DestType::MaxRowsAtCompileTime, 1> workspace(rows());
-      evalTo(dst, workspace);
-    }
-
-    /** \internal */
-    template<typename Dest, typename Workspace>
-    void evalTo(Dest& dst, Workspace& workspace) const
-    {
-      workspace.resize(rows());
-      Index vecs = m_length;
-      if(    internal::is_same<typename internal::remove_all<VectorsType>::type,Dest>::value
-          && internal::extract_data(dst) == internal::extract_data(m_vectors))
-      {
-        // in-place
-        dst.diagonal().setOnes();
-        dst.template triangularView<StrictlyUpper>().setZero();
-        for(Index k = vecs-1; k >= 0; --k)
-        {
-          Index cornerSize = rows() - k - m_shift;
-          if(m_trans)
-            dst.bottomRightCorner(cornerSize, cornerSize)
-               .applyHouseholderOnTheRight(essentialVector(k), m_coeffs.coeff(k), workspace.data());
-          else
-            dst.bottomRightCorner(cornerSize, cornerSize)
-               .applyHouseholderOnTheLeft(essentialVector(k), m_coeffs.coeff(k), workspace.data());
-
-          // clear the off diagonal vector
-          dst.col(k).tail(rows()-k-1).setZero();
-        }
-        // clear the remaining columns if needed
-        for(Index k = 0; k<cols()-vecs ; ++k)
-          dst.col(k).tail(rows()-k-1).setZero();
-      }
-      else
-      {
-        dst.setIdentity(rows(), rows());
-        for(Index k = vecs-1; k >= 0; --k)
-        {
-          Index cornerSize = rows() - k - m_shift;
-          if(m_trans)
-            dst.bottomRightCorner(cornerSize, cornerSize)
-               .applyHouseholderOnTheRight(essentialVector(k), m_coeffs.coeff(k), &workspace.coeffRef(0));
-          else
-            dst.bottomRightCorner(cornerSize, cornerSize)
-               .applyHouseholderOnTheLeft(essentialVector(k), m_coeffs.coeff(k), &workspace.coeffRef(0));
-        }
-      }
-    }
-
-    /** \internal */
-    template<typename Dest> inline void applyThisOnTheRight(Dest& dst) const
-    {
-      Matrix<Scalar,1,Dest::RowsAtCompileTime,RowMajor,1,Dest::MaxRowsAtCompileTime> workspace(dst.rows());
-      applyThisOnTheRight(dst, workspace);
-    }
-
-    /** \internal */
-    template<typename Dest, typename Workspace>
-    inline void applyThisOnTheRight(Dest& dst, Workspace& workspace) const
-    {
-      workspace.resize(dst.rows());
-      for(Index k = 0; k < m_length; ++k)
-      {
-        Index actual_k = m_trans ? m_length-k-1 : k;
-        dst.rightCols(rows()-m_shift-actual_k)
-           .applyHouseholderOnTheRight(essentialVector(actual_k), m_coeffs.coeff(actual_k), workspace.data());
-      }
-    }
-
-    /** \internal */
-    template<typename Dest> inline void applyThisOnTheLeft(Dest& dst) const
-    {
-      Matrix<Scalar,1,Dest::ColsAtCompileTime,RowMajor,1,Dest::MaxColsAtCompileTime> workspace(dst.cols());
-      applyThisOnTheLeft(dst, workspace);
-    }
-
-    /** \internal */
-    template<typename Dest, typename Workspace>
-    inline void applyThisOnTheLeft(Dest& dst, Workspace& workspace) const
-    {
-      workspace.resize(dst.cols());
-      for(Index k = 0; k < m_length; ++k)
-      {
-        Index actual_k = m_trans ? k : m_length-k-1;
-        dst.bottomRows(rows()-m_shift-actual_k)
-           .applyHouseholderOnTheLeft(essentialVector(actual_k), m_coeffs.coeff(actual_k), workspace.data());
-      }
-    }
-
-    /** \brief Computes the product of a Householder sequence with a matrix.
-      * \param[in]  other  %Matrix being multiplied.
-      * \returns    Expression object representing the product.
-      *
-      * This function computes \f$ HM \f$ where \f$ H \f$ is the Householder sequence represented by \p *this
-      * and \f$ M \f$ is the matrix \p other.
-      */
-    template<typename OtherDerived>
-    typename internal::matrix_type_times_scalar_type<Scalar, OtherDerived>::Type operator*(const MatrixBase<OtherDerived>& other) const
-    {
-      typename internal::matrix_type_times_scalar_type<Scalar, OtherDerived>::Type
-        res(other.template cast<typename internal::matrix_type_times_scalar_type<Scalar,OtherDerived>::ResultScalar>());
-      applyThisOnTheLeft(res);
-      return res;
-    }
-
-    template<typename _VectorsType, typename _CoeffsType, int _Side> friend struct internal::hseq_side_dependent_impl;
-
-    /** \brief Sets the length of the Householder sequence.
-      * \param [in]  length  New value for the length.
-      *
-      * By default, the length \f$ n \f$ of the Householder sequence \f$ H = H_0 H_1 \ldots H_{n-1} \f$ is set
-      * to the number of columns of the matrix \p v passed to the constructor, or the number of rows if that
-      * is smaller. After this function is called, the length equals \p length.
-      *
-      * \sa length()
-      */
-    HouseholderSequence& setLength(Index length)
-    {
-      m_length = length;
-      return *this;
-    }
-
-    /** \brief Sets the shift of the Householder sequence.
-      * \param [in]  shift  New value for the shift.
-      *
-      * By default, a %HouseholderSequence object represents \f$ H = H_0 H_1 \ldots H_{n-1} \f$ and the i-th
-      * column of the matrix \p v passed to the constructor corresponds to the i-th Householder
-      * reflection. After this function is called, the object represents \f$ H = H_{\mathrm{shift}}
-      * H_{\mathrm{shift}+1} \ldots H_{n-1} \f$ and the i-th column of \p v corresponds to the (shift+i)-th
-      * Householder reflection.
-      *
-      * \sa shift()
-      */
-    HouseholderSequence& setShift(Index shift)
-    {
-      m_shift = shift;
-      return *this;
-    }
-
-    Index length() const { return m_length; }  /**< \brief Returns the length of the Householder sequence. */
-    Index shift() const { return m_shift; }    /**< \brief Returns the shift of the Householder sequence. */
-
-    /* Necessary for .adjoint() and .conjugate() */
-    template <typename VectorsType2, typename CoeffsType2, int Side2> friend class HouseholderSequence;
-
-  protected:
-
-    /** \brief Sets the transpose flag.
-      * \param [in]  trans  New value of the transpose flag.
-      *
-      * By default, the transpose flag is not set. If the transpose flag is set, then this object represents 
-      * \f$ H^T = H_{n-1}^T \ldots H_1^T H_0^T \f$ instead of \f$ H = H_0 H_1 \ldots H_{n-1} \f$.
-      *
-      * \sa trans()
-      */
-    HouseholderSequence& setTrans(bool trans)
-    {
-      m_trans = trans;
-      return *this;
-    }
-
-    bool trans() const { return m_trans; }     /**< \brief Returns the transpose flag. */
-
-    typename VectorsType::Nested m_vectors;
-    typename CoeffsType::Nested m_coeffs;
-    bool m_trans;
-    Index m_length;
-    Index m_shift;
-};
-
-/** \brief Computes the product of a matrix with a Householder sequence.
-  * \param[in]  other  %Matrix being multiplied.
-  * \param[in]  h      %HouseholderSequence being multiplied.
-  * \returns    Expression object representing the product.
-  *
-  * This function computes \f$ MH \f$ where \f$ M \f$ is the matrix \p other and \f$ H \f$ is the
-  * Householder sequence represented by \p h.
-  */
-template<typename OtherDerived, typename VectorsType, typename CoeffsType, int Side>
-typename internal::matrix_type_times_scalar_type<typename VectorsType::Scalar,OtherDerived>::Type operator*(const MatrixBase<OtherDerived>& other, const HouseholderSequence<VectorsType,CoeffsType,Side>& h)
-{
-  typename internal::matrix_type_times_scalar_type<typename VectorsType::Scalar,OtherDerived>::Type
-    res(other.template cast<typename internal::matrix_type_times_scalar_type<typename VectorsType::Scalar,OtherDerived>::ResultScalar>());
-  h.applyThisOnTheRight(res);
-  return res;
-}
-
-/** \ingroup Householder_Module \householder_module
-  * \brief Convenience function for constructing a Householder sequence. 
-  * \returns A HouseholderSequence constructed from the specified arguments.
-  */
-template<typename VectorsType, typename CoeffsType>
-HouseholderSequence<VectorsType,CoeffsType> householderSequence(const VectorsType& v, const CoeffsType& h)
-{
-  return HouseholderSequence<VectorsType,CoeffsType,OnTheLeft>(v, h);
-}
-
-/** \ingroup Householder_Module \householder_module
-  * \brief Convenience function for constructing a Householder sequence. 
-  * \returns A HouseholderSequence constructed from the specified arguments.
-  * \details This function differs from householderSequence() in that the template argument \p OnTheSide of
-  * the constructed HouseholderSequence is set to OnTheRight, instead of the default OnTheLeft.
-  */
-template<typename VectorsType, typename CoeffsType>
-HouseholderSequence<VectorsType,CoeffsType,OnTheRight> rightHouseholderSequence(const VectorsType& v, const CoeffsType& h)
-{
-  return HouseholderSequence<VectorsType,CoeffsType,OnTheRight>(v, h);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_HOUSEHOLDER_SEQUENCE_H
diff --git a/lib/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h b/lib/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
deleted file mode 100644
index 1f3c060d..00000000
--- a/lib/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
+++ /dev/null
@@ -1,149 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_BASIC_PRECONDITIONERS_H
-#define EIGEN_BASIC_PRECONDITIONERS_H
-
-namespace Eigen { 
-
-/** \ingroup IterativeLinearSolvers_Module
-  * \brief A preconditioner based on the digonal entries
-  *
-  * This class allows to approximately solve for A.x = b problems assuming A is a diagonal matrix.
-  * In other words, this preconditioner neglects all off diagonal entries and, in Eigen's language, solves for:
-  * \code
-  * A.diagonal().asDiagonal() . x = b
-  * \endcode
-  *
-  * \tparam _Scalar the type of the scalar.
-  *
-  * This preconditioner is suitable for both selfadjoint and general problems.
-  * The diagonal entries are pre-inverted and stored into a dense vector.
-  *
-  * \note A variant that has yet to be implemented would attempt to preserve the norm of each column.
-  *
-  */
-template <typename _Scalar>
-class DiagonalPreconditioner
-{
-    typedef _Scalar Scalar;
-    typedef Matrix<Scalar,Dynamic,1> Vector;
-    typedef typename Vector::Index Index;
-
-  public:
-    // this typedef is only to export the scalar type and compile-time dimensions to solve_retval
-    typedef Matrix<Scalar,Dynamic,Dynamic> MatrixType;
-
-    DiagonalPreconditioner() : m_isInitialized(false) {}
-
-    template<typename MatType>
-    DiagonalPreconditioner(const MatType& mat) : m_invdiag(mat.cols())
-    {
-      compute(mat);
-    }
-
-    Index rows() const { return m_invdiag.size(); }
-    Index cols() const { return m_invdiag.size(); }
-    
-    template<typename MatType>
-    DiagonalPreconditioner& analyzePattern(const MatType& )
-    {
-      return *this;
-    }
-    
-    template<typename MatType>
-    DiagonalPreconditioner& factorize(const MatType& mat)
-    {
-      m_invdiag.resize(mat.cols());
-      for(int j=0; j<mat.outerSize(); ++j)
-      {
-        typename MatType::InnerIterator it(mat,j);
-        while(it && it.index()!=j) ++it;
-        if(it && it.index()==j && it.value()!=Scalar(0))
-          m_invdiag(j) = Scalar(1)/it.value();
-        else
-          m_invdiag(j) = Scalar(1);
-      }
-      m_isInitialized = true;
-      return *this;
-    }
-    
-    template<typename MatType>
-    DiagonalPreconditioner& compute(const MatType& mat)
-    {
-      return factorize(mat);
-    }
-
-    template<typename Rhs, typename Dest>
-    void _solve(const Rhs& b, Dest& x) const
-    {
-      x = m_invdiag.array() * b.array() ;
-    }
-
-    template<typename Rhs> inline const internal::solve_retval<DiagonalPreconditioner, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "DiagonalPreconditioner is not initialized.");
-      eigen_assert(m_invdiag.size()==b.rows()
-                && "DiagonalPreconditioner::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<DiagonalPreconditioner, Rhs>(*this, b.derived());
-    }
-
-  protected:
-    Vector m_invdiag;
-    bool m_isInitialized;
-};
-
-namespace internal {
-
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<DiagonalPreconditioner<_MatrixType>, Rhs>
-  : solve_retval_base<DiagonalPreconditioner<_MatrixType>, Rhs>
-{
-  typedef DiagonalPreconditioner<_MatrixType> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-}
-
-/** \ingroup IterativeLinearSolvers_Module
-  * \brief A naive preconditioner which approximates any matrix as the identity matrix
-  *
-  * \sa class DiagonalPreconditioner
-  */
-class IdentityPreconditioner
-{
-  public:
-
-    IdentityPreconditioner() {}
-
-    template<typename MatrixType>
-    IdentityPreconditioner(const MatrixType& ) {}
-    
-    template<typename MatrixType>
-    IdentityPreconditioner& analyzePattern(const MatrixType& ) { return *this; }
-    
-    template<typename MatrixType>
-    IdentityPreconditioner& factorize(const MatrixType& ) { return *this; }
-
-    template<typename MatrixType>
-    IdentityPreconditioner& compute(const MatrixType& ) { return *this; }
-    
-    template<typename Rhs>
-    inline const Rhs& solve(const Rhs& b) const { return b; }
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_BASIC_PRECONDITIONERS_H
diff --git a/lib/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h b/lib/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
deleted file mode 100644
index 55122190..00000000
--- a/lib/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
+++ /dev/null
@@ -1,263 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_BICGSTAB_H
-#define EIGEN_BICGSTAB_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \internal Low-level bi conjugate gradient stabilized algorithm
-  * \param mat The matrix A
-  * \param rhs The right hand side vector b
-  * \param x On input and initial solution, on output the computed solution.
-  * \param precond A preconditioner being able to efficiently solve for an
-  *                approximation of Ax=b (regardless of b)
-  * \param iters On input the max number of iteration, on output the number of performed iterations.
-  * \param tol_error On input the tolerance error, on output an estimation of the relative error.
-  * \return false in the case of numerical issue, for example a break down of BiCGSTAB. 
-  */
-template<typename MatrixType, typename Rhs, typename Dest, typename Preconditioner>
-bool bicgstab(const MatrixType& mat, const Rhs& rhs, Dest& x,
-              const Preconditioner& precond, int& iters,
-              typename Dest::RealScalar& tol_error)
-{
-  using std::sqrt;
-  using std::abs;
-  typedef typename Dest::RealScalar RealScalar;
-  typedef typename Dest::Scalar Scalar;
-  typedef Matrix<Scalar,Dynamic,1> VectorType;
-  RealScalar tol = tol_error;
-  int maxIters = iters;
-
-  int n = mat.cols();
-  VectorType r  = rhs - mat * x;
-  VectorType r0 = r;
-  
-  RealScalar r0_sqnorm = r0.squaredNorm();
-  RealScalar rhs_sqnorm = rhs.squaredNorm();
-  if(rhs_sqnorm == 0)
-  {
-    x.setZero();
-    return true;
-  }
-  Scalar rho    = 1;
-  Scalar alpha  = 1;
-  Scalar w      = 1;
-  
-  VectorType v = VectorType::Zero(n), p = VectorType::Zero(n);
-  VectorType y(n),  z(n);
-  VectorType kt(n), ks(n);
-
-  VectorType s(n), t(n);
-
-  RealScalar tol2 = tol*tol;
-  RealScalar eps2 = NumTraits<Scalar>::epsilon()*NumTraits<Scalar>::epsilon();
-  int i = 0;
-  int restarts = 0;
-
-  while ( r.squaredNorm()/rhs_sqnorm > tol2 && i<maxIters )
-  {
-    Scalar rho_old = rho;
-
-    rho = r0.dot(r);
-    if (abs(rho) < eps2*r0_sqnorm)
-    {
-      // The new residual vector became too orthogonal to the arbitrarily choosen direction r0
-      // Let's restart with a new r0:
-      r0 = r;
-      rho = r0_sqnorm = r.squaredNorm();
-      if(restarts++ == 0)
-        i = 0;
-    }
-    Scalar beta = (rho/rho_old) * (alpha / w);
-    p = r + beta * (p - w * v);
-    
-    y = precond.solve(p);
-    
-    v.noalias() = mat * y;
-
-    alpha = rho / r0.dot(v);
-    s = r - alpha * v;
-
-    z = precond.solve(s);
-    t.noalias() = mat * z;
-
-    RealScalar tmp = t.squaredNorm();
-    if(tmp>RealScalar(0))
-      w = t.dot(s) / tmp;
-    else
-      w = Scalar(0);
-    x += alpha * y + w * z;
-    r = s - w * t;
-    ++i;
-  }
-  tol_error = sqrt(r.squaredNorm()/rhs_sqnorm);
-  iters = i;
-  return true; 
-}
-
-}
-
-template< typename _MatrixType,
-          typename _Preconditioner = DiagonalPreconditioner<typename _MatrixType::Scalar> >
-class BiCGSTAB;
-
-namespace internal {
-
-template< typename _MatrixType, typename _Preconditioner>
-struct traits<BiCGSTAB<_MatrixType,_Preconditioner> >
-{
-  typedef _MatrixType MatrixType;
-  typedef _Preconditioner Preconditioner;
-};
-
-}
-
-/** \ingroup IterativeLinearSolvers_Module
-  * \brief A bi conjugate gradient stabilized solver for sparse square problems
-  *
-  * This class allows to solve for A.x = b sparse linear problems using a bi conjugate gradient
-  * stabilized algorithm. The vectors x and b can be either dense or sparse.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, can be a dense or a sparse matrix.
-  * \tparam _Preconditioner the type of the preconditioner. Default is DiagonalPreconditioner
-  *
-  * The maximal number of iterations and tolerance value can be controlled via the setMaxIterations()
-  * and setTolerance() methods. The defaults are the size of the problem for the maximal number of iterations
-  * and NumTraits<Scalar>::epsilon() for the tolerance.
-  * 
-  * This class can be used as the direct solver classes. Here is a typical usage example:
-  * \code
-  * int n = 10000;
-  * VectorXd x(n), b(n);
-  * SparseMatrix<double> A(n,n);
-  * // fill A and b
-  * BiCGSTAB<SparseMatrix<double> > solver;
-  * solver.compute(A);
-  * x = solver.solve(b);
-  * std::cout << "#iterations:     " << solver.iterations() << std::endl;
-  * std::cout << "estimated error: " << solver.error()      << std::endl;
-  * // update b, and solve again
-  * x = solver.solve(b);
-  * \endcode
-  * 
-  * By default the iterations start with x=0 as an initial guess of the solution.
-  * One can control the start using the solveWithGuess() method.
-  * 
-  * \sa class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner
-  */
-template< typename _MatrixType, typename _Preconditioner>
-class BiCGSTAB : public IterativeSolverBase<BiCGSTAB<_MatrixType,_Preconditioner> >
-{
-  typedef IterativeSolverBase<BiCGSTAB> Base;
-  using Base::mp_matrix;
-  using Base::m_error;
-  using Base::m_iterations;
-  using Base::m_info;
-  using Base::m_isInitialized;
-public:
-  typedef _MatrixType MatrixType;
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::RealScalar RealScalar;
-  typedef _Preconditioner Preconditioner;
-
-public:
-
-  /** Default constructor. */
-  BiCGSTAB() : Base() {}
-
-  /** Initialize the solver with matrix \a A for further \c Ax=b solving.
-    * 
-    * This constructor is a shortcut for the default constructor followed
-    * by a call to compute().
-    * 
-    * \warning this class stores a reference to the matrix A as well as some
-    * precomputed values that depend on it. Therefore, if \a A is changed
-    * this class becomes invalid. Call compute() to update it with the new
-    * matrix A, or modify a copy of A.
-    */
-  template<typename MatrixDerived>
-  explicit BiCGSTAB(const EigenBase<MatrixDerived>& A) : Base(A.derived()) {}
-
-  ~BiCGSTAB() {}
-  
-  /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A
-    * \a x0 as an initial solution.
-    *
-    * \sa compute()
-    */
-  template<typename Rhs,typename Guess>
-  inline const internal::solve_retval_with_guess<BiCGSTAB, Rhs, Guess>
-  solveWithGuess(const MatrixBase<Rhs>& b, const Guess& x0) const
-  {
-    eigen_assert(m_isInitialized && "BiCGSTAB is not initialized.");
-    eigen_assert(Base::rows()==b.rows()
-              && "BiCGSTAB::solve(): invalid number of rows of the right hand side matrix b");
-    return internal::solve_retval_with_guess
-            <BiCGSTAB, Rhs, Guess>(*this, b.derived(), x0);
-  }
-  
-  /** \internal */
-  template<typename Rhs,typename Dest>
-  void _solveWithGuess(const Rhs& b, Dest& x) const
-  {    
-    bool failed = false;
-    for(int j=0; j<b.cols(); ++j)
-    {
-      m_iterations = Base::maxIterations();
-      m_error = Base::m_tolerance;
-      
-      typename Dest::ColXpr xj(x,j);
-      if(!internal::bicgstab(*mp_matrix, b.col(j), xj, Base::m_preconditioner, m_iterations, m_error))
-        failed = true;
-    }
-    m_info = failed ? NumericalIssue
-           : m_error <= Base::m_tolerance ? Success
-           : NoConvergence;
-    m_isInitialized = true;
-  }
-
-  /** \internal */
-  template<typename Rhs,typename Dest>
-  void _solve(const Rhs& b, Dest& x) const
-  {
-//     x.setZero();
-  x = b;
-    _solveWithGuess(b,x);
-  }
-
-protected:
-
-};
-
-
-namespace internal {
-
-  template<typename _MatrixType, typename _Preconditioner, typename Rhs>
-struct solve_retval<BiCGSTAB<_MatrixType, _Preconditioner>, Rhs>
-  : solve_retval_base<BiCGSTAB<_MatrixType, _Preconditioner>, Rhs>
-{
-  typedef BiCGSTAB<_MatrixType, _Preconditioner> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_BICGSTAB_H
diff --git a/lib/Eigen/src/IterativeLinearSolvers/CMakeLists.txt b/lib/Eigen/src/IterativeLinearSolvers/CMakeLists.txt
deleted file mode 100644
index 59ccc007..00000000
--- a/lib/Eigen/src/IterativeLinearSolvers/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_IterativeLinearSolvers_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_IterativeLinearSolvers_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/IterativeLinearSolvers COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h b/lib/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
deleted file mode 100644
index 7dd4010c..00000000
--- a/lib/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
+++ /dev/null
@@ -1,258 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CONJUGATE_GRADIENT_H
-#define EIGEN_CONJUGATE_GRADIENT_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \internal Low-level conjugate gradient algorithm
-  * \param mat The matrix A
-  * \param rhs The right hand side vector b
-  * \param x On input and initial solution, on output the computed solution.
-  * \param precond A preconditioner being able to efficiently solve for an
-  *                approximation of Ax=b (regardless of b)
-  * \param iters On input the max number of iteration, on output the number of performed iterations.
-  * \param tol_error On input the tolerance error, on output an estimation of the relative error.
-  */
-template<typename MatrixType, typename Rhs, typename Dest, typename Preconditioner>
-EIGEN_DONT_INLINE
-void conjugate_gradient(const MatrixType& mat, const Rhs& rhs, Dest& x,
-                        const Preconditioner& precond, int& iters,
-                        typename Dest::RealScalar& tol_error)
-{
-  using std::sqrt;
-  using std::abs;
-  typedef typename Dest::RealScalar RealScalar;
-  typedef typename Dest::Scalar Scalar;
-  typedef Matrix<Scalar,Dynamic,1> VectorType;
-  
-  RealScalar tol = tol_error;
-  int maxIters = iters;
-  
-  int n = mat.cols();
-
-  VectorType residual = rhs - mat * x; //initial residual
-
-  RealScalar rhsNorm2 = rhs.squaredNorm();
-  if(rhsNorm2 == 0) 
-  {
-    x.setZero();
-    iters = 0;
-    tol_error = 0;
-    return;
-  }
-  RealScalar threshold = tol*tol*rhsNorm2;
-  RealScalar residualNorm2 = residual.squaredNorm();
-  if (residualNorm2 < threshold)
-  {
-    iters = 0;
-    tol_error = sqrt(residualNorm2 / rhsNorm2);
-    return;
-  }
-  
-  VectorType p(n);
-  p = precond.solve(residual);      //initial search direction
-
-  VectorType z(n), tmp(n);
-  RealScalar absNew = numext::real(residual.dot(p));  // the square of the absolute value of r scaled by invM
-  int i = 0;
-  while(i < maxIters)
-  {
-    tmp.noalias() = mat * p;              // the bottleneck of the algorithm
-
-    Scalar alpha = absNew / p.dot(tmp);   // the amount we travel on dir
-    x += alpha * p;                       // update solution
-    residual -= alpha * tmp;              // update residue
-    
-    residualNorm2 = residual.squaredNorm();
-    if(residualNorm2 < threshold)
-      break;
-    
-    z = precond.solve(residual);          // approximately solve for "A z = residual"
-
-    RealScalar absOld = absNew;
-    absNew = numext::real(residual.dot(z));     // update the absolute value of r
-    RealScalar beta = absNew / absOld;            // calculate the Gram-Schmidt value used to create the new search direction
-    p = z + beta * p;                             // update search direction
-    i++;
-  }
-  tol_error = sqrt(residualNorm2 / rhsNorm2);
-  iters = i;
-}
-
-}
-
-template< typename _MatrixType, int _UpLo=Lower,
-          typename _Preconditioner = DiagonalPreconditioner<typename _MatrixType::Scalar> >
-class ConjugateGradient;
-
-namespace internal {
-
-template< typename _MatrixType, int _UpLo, typename _Preconditioner>
-struct traits<ConjugateGradient<_MatrixType,_UpLo,_Preconditioner> >
-{
-  typedef _MatrixType MatrixType;
-  typedef _Preconditioner Preconditioner;
-};
-
-}
-
-/** \ingroup IterativeLinearSolvers_Module
-  * \brief A conjugate gradient solver for sparse self-adjoint problems
-  *
-  * This class allows to solve for A.x = b sparse linear problems using a conjugate gradient algorithm.
-  * The sparse matrix A must be selfadjoint. The vectors x and b can be either dense or sparse.
-  *
-  * \tparam _MatrixType the type of the matrix A, can be a dense or a sparse matrix.
-  * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower,
-  *               Upper, or Lower|Upper in which the full matrix entries will be considered. Default is Lower.
-  * \tparam _Preconditioner the type of the preconditioner. Default is DiagonalPreconditioner
-  *
-  * The maximal number of iterations and tolerance value can be controlled via the setMaxIterations()
-  * and setTolerance() methods. The defaults are the size of the problem for the maximal number of iterations
-  * and NumTraits<Scalar>::epsilon() for the tolerance.
-  * 
-  * This class can be used as the direct solver classes. Here is a typical usage example:
-  * \code
-  * int n = 10000;
-  * VectorXd x(n), b(n);
-  * SparseMatrix<double> A(n,n);
-  * // fill A and b
-  * ConjugateGradient<SparseMatrix<double> > cg;
-  * cg.compute(A);
-  * x = cg.solve(b);
-  * std::cout << "#iterations:     " << cg.iterations() << std::endl;
-  * std::cout << "estimated error: " << cg.error()      << std::endl;
-  * // update b, and solve again
-  * x = cg.solve(b);
-  * \endcode
-  * 
-  * By default the iterations start with x=0 as an initial guess of the solution.
-  * One can control the start using the solveWithGuess() method.
-  * 
-  * ConjugateGradient can also be used in a matrix-free context, see the following \link MatrixfreeSolverExample example \endlink.
-  *
-  * \sa class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner
-  */
-template< typename _MatrixType, int _UpLo, typename _Preconditioner>
-class ConjugateGradient : public IterativeSolverBase<ConjugateGradient<_MatrixType,_UpLo,_Preconditioner> >
-{
-  typedef IterativeSolverBase<ConjugateGradient> Base;
-  using Base::mp_matrix;
-  using Base::m_error;
-  using Base::m_iterations;
-  using Base::m_info;
-  using Base::m_isInitialized;
-public:
-  typedef _MatrixType MatrixType;
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::RealScalar RealScalar;
-  typedef _Preconditioner Preconditioner;
-
-  enum {
-    UpLo = _UpLo
-  };
-
-public:
-
-  /** Default constructor. */
-  ConjugateGradient() : Base() {}
-
-  /** Initialize the solver with matrix \a A for further \c Ax=b solving.
-    * 
-    * This constructor is a shortcut for the default constructor followed
-    * by a call to compute().
-    * 
-    * \warning this class stores a reference to the matrix A as well as some
-    * precomputed values that depend on it. Therefore, if \a A is changed
-    * this class becomes invalid. Call compute() to update it with the new
-    * matrix A, or modify a copy of A.
-    */
-  template<typename MatrixDerived>
-  explicit ConjugateGradient(const EigenBase<MatrixDerived>& A) : Base(A.derived()) {}
-
-  ~ConjugateGradient() {}
-  
-  /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A
-    * \a x0 as an initial solution.
-    *
-    * \sa compute()
-    */
-  template<typename Rhs,typename Guess>
-  inline const internal::solve_retval_with_guess<ConjugateGradient, Rhs, Guess>
-  solveWithGuess(const MatrixBase<Rhs>& b, const Guess& x0) const
-  {
-    eigen_assert(m_isInitialized && "ConjugateGradient is not initialized.");
-    eigen_assert(Base::rows()==b.rows()
-              && "ConjugateGradient::solve(): invalid number of rows of the right hand side matrix b");
-    return internal::solve_retval_with_guess
-            <ConjugateGradient, Rhs, Guess>(*this, b.derived(), x0);
-  }
-
-  /** \internal */
-  template<typename Rhs,typename Dest>
-  void _solveWithGuess(const Rhs& b, Dest& x) const
-  {
-    typedef typename internal::conditional<UpLo==(Lower|Upper),
-                                           const MatrixType&,
-                                           SparseSelfAdjointView<const MatrixType, UpLo>
-                                          >::type MatrixWrapperType;
-    m_iterations = Base::maxIterations();
-    m_error = Base::m_tolerance;
-
-    for(int j=0; j<b.cols(); ++j)
-    {
-      m_iterations = Base::maxIterations();
-      m_error = Base::m_tolerance;
-
-      typename Dest::ColXpr xj(x,j);
-      internal::conjugate_gradient(MatrixWrapperType(*mp_matrix), b.col(j), xj, Base::m_preconditioner, m_iterations, m_error);
-    }
-
-    m_isInitialized = true;
-    m_info = m_error <= Base::m_tolerance ? Success : NoConvergence;
-  }
-  
-  /** \internal */
-  template<typename Rhs,typename Dest>
-  void _solve(const Rhs& b, Dest& x) const
-  {
-    x.setZero();
-    _solveWithGuess(b,x);
-  }
-
-protected:
-
-};
-
-
-namespace internal {
-
-template<typename _MatrixType, int _UpLo, typename _Preconditioner, typename Rhs>
-struct solve_retval<ConjugateGradient<_MatrixType,_UpLo,_Preconditioner>, Rhs>
-  : solve_retval_base<ConjugateGradient<_MatrixType,_UpLo,_Preconditioner>, Rhs>
-{
-  typedef ConjugateGradient<_MatrixType,_UpLo,_Preconditioner> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_CONJUGATE_GRADIENT_H
diff --git a/lib/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h b/lib/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
deleted file mode 100644
index d3f37fea..00000000
--- a/lib/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
+++ /dev/null
@@ -1,478 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_INCOMPLETE_LUT_H
-#define EIGEN_INCOMPLETE_LUT_H
-
-
-namespace Eigen { 
-
-namespace internal {
-    
-/** \internal
-  * Compute a quick-sort split of a vector 
-  * On output, the vector row is permuted such that its elements satisfy
-  * abs(row(i)) >= abs(row(ncut)) if i<ncut
-  * abs(row(i)) <= abs(row(ncut)) if i>ncut 
-  * \param row The vector of values
-  * \param ind The array of index for the elements in @p row
-  * \param ncut  The number of largest elements to keep
-  **/ 
-template <typename VectorV, typename VectorI, typename Index>
-Index QuickSplit(VectorV &row, VectorI &ind, Index ncut)
-{
-  typedef typename VectorV::RealScalar RealScalar;
-  using std::swap;
-  using std::abs;
-  Index mid;
-  Index n = row.size(); /* length of the vector */
-  Index first, last ;
-  
-  ncut--; /* to fit the zero-based indices */
-  first = 0; 
-  last = n-1; 
-  if (ncut < first || ncut > last ) return 0;
-  
-  do {
-    mid = first; 
-    RealScalar abskey = abs(row(mid)); 
-    for (Index j = first + 1; j <= last; j++) {
-      if ( abs(row(j)) > abskey) {
-        ++mid;
-        swap(row(mid), row(j));
-        swap(ind(mid), ind(j));
-      }
-    }
-    /* Interchange for the pivot element */
-    swap(row(mid), row(first));
-    swap(ind(mid), ind(first));
-    
-    if (mid > ncut) last = mid - 1;
-    else if (mid < ncut ) first = mid + 1; 
-  } while (mid != ncut );
-  
-  return 0; /* mid is equal to ncut */ 
-}
-
-}// end namespace internal
-
-/** \ingroup IterativeLinearSolvers_Module
-  * \class IncompleteLUT
-  * \brief Incomplete LU factorization with dual-threshold strategy
-  *
-  * During the numerical factorization, two dropping rules are used :
-  *  1) any element whose magnitude is less than some tolerance is dropped.
-  *    This tolerance is obtained by multiplying the input tolerance @p droptol 
-  *    by the average magnitude of all the original elements in the current row.
-  *  2) After the elimination of the row, only the @p fill largest elements in 
-  *    the L part and the @p fill largest elements in the U part are kept 
-  *    (in addition to the diagonal element ). Note that @p fill is computed from 
-  *    the input parameter @p fillfactor which is used the ratio to control the fill_in 
-  *    relatively to the initial number of nonzero elements.
-  * 
-  * The two extreme cases are when @p droptol=0 (to keep all the @p fill*2 largest elements)
-  * and when @p fill=n/2 with @p droptol being different to zero. 
-  * 
-  * References : Yousef Saad, ILUT: A dual threshold incomplete LU factorization, 
-  *              Numerical Linear Algebra with Applications, 1(4), pp 387-402, 1994.
-  * 
-  * NOTE : The following implementation is derived from the ILUT implementation
-  * in the SPARSKIT package, Copyright (C) 2005, the Regents of the University of Minnesota 
-  *  released under the terms of the GNU LGPL: 
-  *    http://www-users.cs.umn.edu/~saad/software/SPARSKIT/README
-  * However, Yousef Saad gave us permission to relicense his ILUT code to MPL2.
-  * See the Eigen mailing list archive, thread: ILUT, date: July 8, 2012:
-  *   http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2012/07/msg00064.html
-  * alternatively, on GMANE:
-  *   http://comments.gmane.org/gmane.comp.lib.eigen/3302
-  */
-template <typename _Scalar>
-class IncompleteLUT : internal::noncopyable
-{
-    typedef _Scalar Scalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-    typedef Matrix<Scalar,Dynamic,1> Vector;
-    typedef SparseMatrix<Scalar,RowMajor> FactorType;
-    typedef SparseMatrix<Scalar,ColMajor> PermutType;
-    typedef typename FactorType::Index Index;
-
-  public:
-    typedef Matrix<Scalar,Dynamic,Dynamic> MatrixType;
-    
-    IncompleteLUT()
-      : m_droptol(NumTraits<Scalar>::dummy_precision()), m_fillfactor(10),
-        m_analysisIsOk(false), m_factorizationIsOk(false), m_isInitialized(false)
-    {}
-    
-    template<typename MatrixType>
-    IncompleteLUT(const MatrixType& mat, const RealScalar& droptol=NumTraits<Scalar>::dummy_precision(), int fillfactor = 10)
-      : m_droptol(droptol),m_fillfactor(fillfactor),
-        m_analysisIsOk(false),m_factorizationIsOk(false),m_isInitialized(false)
-    {
-      eigen_assert(fillfactor != 0);
-      compute(mat); 
-    }
-    
-    Index rows() const { return m_lu.rows(); }
-    
-    Index cols() const { return m_lu.cols(); }
-
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the matrix.appears to be negative.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "IncompleteLUT is not initialized.");
-      return m_info;
-    }
-    
-    template<typename MatrixType>
-    void analyzePattern(const MatrixType& amat);
-    
-    template<typename MatrixType>
-    void factorize(const MatrixType& amat);
-    
-    /**
-      * Compute an incomplete LU factorization with dual threshold on the matrix mat
-      * No pivoting is done in this version
-      * 
-      **/
-    template<typename MatrixType>
-    IncompleteLUT<Scalar>& compute(const MatrixType& amat)
-    {
-      analyzePattern(amat); 
-      factorize(amat);
-      return *this;
-    }
-
-    void setDroptol(const RealScalar& droptol); 
-    void setFillfactor(int fillfactor); 
-    
-    template<typename Rhs, typename Dest>
-    void _solve(const Rhs& b, Dest& x) const
-    {
-      x = m_Pinv * b;
-      x = m_lu.template triangularView<UnitLower>().solve(x);
-      x = m_lu.template triangularView<Upper>().solve(x);
-      x = m_P * x; 
-    }
-
-    template<typename Rhs> inline const internal::solve_retval<IncompleteLUT, Rhs>
-     solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "IncompleteLUT is not initialized.");
-      eigen_assert(cols()==b.rows()
-                && "IncompleteLUT::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<IncompleteLUT, Rhs>(*this, b.derived());
-    }
-
-protected:
-
-    /** keeps off-diagonal entries; drops diagonal entries */
-    struct keep_diag {
-      inline bool operator() (const Index& row, const Index& col, const Scalar&) const
-      {
-        return row!=col;
-      }
-    };
-
-protected:
-
-    FactorType m_lu;
-    RealScalar m_droptol;
-    int m_fillfactor;
-    bool m_analysisIsOk;
-    bool m_factorizationIsOk;
-    bool m_isInitialized;
-    ComputationInfo m_info;
-    PermutationMatrix<Dynamic,Dynamic,Index> m_P;     // Fill-reducing permutation
-    PermutationMatrix<Dynamic,Dynamic,Index> m_Pinv;  // Inverse permutation
-};
-
-/**
- * Set control parameter droptol
- *  \param droptol   Drop any element whose magnitude is less than this tolerance 
- **/ 
-template<typename Scalar>
-void IncompleteLUT<Scalar>::setDroptol(const RealScalar& droptol)
-{
-  this->m_droptol = droptol;   
-}
-
-/**
- * Set control parameter fillfactor
- * \param fillfactor  This is used to compute the  number @p fill_in of largest elements to keep on each row. 
- **/ 
-template<typename Scalar>
-void IncompleteLUT<Scalar>::setFillfactor(int fillfactor)
-{
-  this->m_fillfactor = fillfactor;   
-}
-
-template <typename Scalar>
-template<typename _MatrixType>
-void IncompleteLUT<Scalar>::analyzePattern(const _MatrixType& amat)
-{
-  // Compute the Fill-reducing permutation
-  // Since ILUT does not perform any numerical pivoting,
-  // it is highly preferable to keep the diagonal through symmetric permutations.
-#ifndef EIGEN_MPL2_ONLY
-  // To this end, let's symmetrize the pattern and perform AMD on it.
-  SparseMatrix<Scalar,ColMajor, Index> mat1 = amat;
-  SparseMatrix<Scalar,ColMajor, Index> mat2 = amat.transpose();
-  // FIXME for a matrix with nearly symmetric pattern, mat2+mat1 is the appropriate choice.
-  //       on the other hand for a really non-symmetric pattern, mat2*mat1 should be prefered...
-  SparseMatrix<Scalar,ColMajor, Index> AtA = mat2 + mat1;
-  AMDOrdering<Index> ordering;
-  ordering(AtA,m_P);
-  m_Pinv  = m_P.inverse(); // cache the inverse permutation
-#else
-  // If AMD is not available, (MPL2-only), then let's use the slower COLAMD routine.
-  SparseMatrix<Scalar,ColMajor, Index> mat1 = amat;
-  COLAMDOrdering<Index> ordering;
-  ordering(mat1,m_Pinv);
-  m_P = m_Pinv.inverse();
-#endif
-
-  m_analysisIsOk = true;
-  m_factorizationIsOk = false;
-  m_isInitialized = false;
-}
-
-template <typename Scalar>
-template<typename _MatrixType>
-void IncompleteLUT<Scalar>::factorize(const _MatrixType& amat)
-{
-  using std::sqrt;
-  using std::swap;
-  using std::abs;
-
-  eigen_assert((amat.rows() == amat.cols()) && "The factorization should be done on a square matrix");
-  Index n = amat.cols();  // Size of the matrix
-  m_lu.resize(n,n);
-  // Declare Working vectors and variables
-  Vector u(n) ;     // real values of the row -- maximum size is n --
-  VectorXi ju(n);   // column position of the values in u -- maximum size  is n
-  VectorXi jr(n);   // Indicate the position of the nonzero elements in the vector u -- A zero location is indicated by -1
-
-  // Apply the fill-reducing permutation
-  eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
-  SparseMatrix<Scalar,RowMajor, Index> mat;
-  mat = amat.twistedBy(m_Pinv);
-
-  // Initialization
-  jr.fill(-1);
-  ju.fill(0);
-  u.fill(0);
-
-  // number of largest elements to keep in each row:
-  Index fill_in =   static_cast<Index> (amat.nonZeros()*m_fillfactor)/n+1;
-  if (fill_in > n) fill_in = n;
-
-  // number of largest nonzero elements to keep in the L and the U part of the current row:
-  Index nnzL = fill_in/2;
-  Index nnzU = nnzL;
-  m_lu.reserve(n * (nnzL + nnzU + 1));
-
-  // global loop over the rows of the sparse matrix
-  for (Index ii = 0; ii < n; ii++)
-  {
-    // 1 - copy the lower and the upper part of the row i of mat in the working vector u
-
-    Index sizeu = 1; // number of nonzero elements in the upper part of the current row
-    Index sizel = 0; // number of nonzero elements in the lower part of the current row
-    ju(ii)    = ii;
-    u(ii)     = 0;
-    jr(ii)    = ii;
-    RealScalar rownorm = 0;
-
-    typename FactorType::InnerIterator j_it(mat, ii); // Iterate through the current row ii
-    for (; j_it; ++j_it)
-    {
-      Index k = j_it.index();
-      if (k < ii)
-      {
-        // copy the lower part
-        ju(sizel) = k;
-        u(sizel) = j_it.value();
-        jr(k) = sizel;
-        ++sizel;
-      }
-      else if (k == ii)
-      {
-        u(ii) = j_it.value();
-      }
-      else
-      {
-        // copy the upper part
-        Index jpos = ii + sizeu;
-        ju(jpos) = k;
-        u(jpos) = j_it.value();
-        jr(k) = jpos;
-        ++sizeu;
-      }
-      rownorm += numext::abs2(j_it.value());
-    }
-
-    // 2 - detect possible zero row
-    if(rownorm==0)
-    {
-      m_info = NumericalIssue;
-      return;
-    }
-    // Take the 2-norm of the current row as a relative tolerance
-    rownorm = sqrt(rownorm);
-
-    // 3 - eliminate the previous nonzero rows
-    Index jj = 0;
-    Index len = 0;
-    while (jj < sizel)
-    {
-      // In order to eliminate in the correct order,
-      // we must select first the smallest column index among  ju(jj:sizel)
-      Index k;
-      Index minrow = ju.segment(jj,sizel-jj).minCoeff(&k); // k is relative to the segment
-      k += jj;
-      if (minrow != ju(jj))
-      {
-        // swap the two locations
-        Index j = ju(jj);
-        swap(ju(jj), ju(k));
-        jr(minrow) = jj;   jr(j) = k;
-        swap(u(jj), u(k));
-      }
-      // Reset this location
-      jr(minrow) = -1;
-
-      // Start elimination
-      typename FactorType::InnerIterator ki_it(m_lu, minrow);
-      while (ki_it && ki_it.index() < minrow) ++ki_it;
-      eigen_internal_assert(ki_it && ki_it.col()==minrow);
-      Scalar fact = u(jj) / ki_it.value();
-
-      // drop too small elements
-      if(abs(fact) <= m_droptol)
-      {
-        jj++;
-        continue;
-      }
-
-      // linear combination of the current row ii and the row minrow
-      ++ki_it;
-      for (; ki_it; ++ki_it)
-      {
-        Scalar prod = fact * ki_it.value();
-        Index j       = ki_it.index();
-        Index jpos    = jr(j);
-        if (jpos == -1) // fill-in element
-        {
-          Index newpos;
-          if (j >= ii) // dealing with the upper part
-          {
-            newpos = ii + sizeu;
-            sizeu++;
-            eigen_internal_assert(sizeu<=n);
-          }
-          else // dealing with the lower part
-          {
-            newpos = sizel;
-            sizel++;
-            eigen_internal_assert(sizel<=ii);
-          }
-          ju(newpos) = j;
-          u(newpos) = -prod;
-          jr(j) = newpos;
-        }
-        else
-          u(jpos) -= prod;
-      }
-      // store the pivot element
-      u(len) = fact;
-      ju(len) = minrow;
-      ++len;
-
-      jj++;
-    } // end of the elimination on the row ii
-
-    // reset the upper part of the pointer jr to zero
-    for(Index k = 0; k <sizeu; k++) jr(ju(ii+k)) = -1;
-
-    // 4 - partially sort and insert the elements in the m_lu matrix
-
-    // sort the L-part of the row
-    sizel = len;
-    len = (std::min)(sizel, nnzL);
-    typename Vector::SegmentReturnType ul(u.segment(0, sizel));
-    typename VectorXi::SegmentReturnType jul(ju.segment(0, sizel));
-    internal::QuickSplit(ul, jul, len);
-
-    // store the largest m_fill elements of the L part
-    m_lu.startVec(ii);
-    for(Index k = 0; k < len; k++)
-      m_lu.insertBackByOuterInnerUnordered(ii,ju(k)) = u(k);
-
-    // store the diagonal element
-    // apply a shifting rule to avoid zero pivots (we are doing an incomplete factorization)
-    if (u(ii) == Scalar(0))
-      u(ii) = sqrt(m_droptol) * rownorm;
-    m_lu.insertBackByOuterInnerUnordered(ii, ii) = u(ii);
-
-    // sort the U-part of the row
-    // apply the dropping rule first
-    len = 0;
-    for(Index k = 1; k < sizeu; k++)
-    {
-      if(abs(u(ii+k)) > m_droptol * rownorm )
-      {
-        ++len;
-        u(ii + len)  = u(ii + k);
-        ju(ii + len) = ju(ii + k);
-      }
-    }
-    sizeu = len + 1; // +1 to take into account the diagonal element
-    len = (std::min)(sizeu, nnzU);
-    typename Vector::SegmentReturnType uu(u.segment(ii+1, sizeu-1));
-    typename VectorXi::SegmentReturnType juu(ju.segment(ii+1, sizeu-1));
-    internal::QuickSplit(uu, juu, len);
-
-    // store the largest elements of the U part
-    for(Index k = ii + 1; k < ii + len; k++)
-      m_lu.insertBackByOuterInnerUnordered(ii,ju(k)) = u(k);
-  }
-
-  m_lu.finalize();
-  m_lu.makeCompressed();
-
-  m_factorizationIsOk = true;
-  m_isInitialized = m_factorizationIsOk;
-  m_info = Success;
-}
-
-namespace internal {
-
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<IncompleteLUT<_MatrixType>, Rhs>
-  : solve_retval_base<IncompleteLUT<_MatrixType>, Rhs>
-{
-  typedef IncompleteLUT<_MatrixType> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_INCOMPLETE_LUT_H
diff --git a/lib/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h b/lib/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
deleted file mode 100644
index 501ef2f8..00000000
--- a/lib/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
+++ /dev/null
@@ -1,282 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ITERATIVE_SOLVER_BASE_H
-#define EIGEN_ITERATIVE_SOLVER_BASE_H
-
-namespace Eigen { 
-
-/** \ingroup IterativeLinearSolvers_Module
-  * \brief Base class for linear iterative solvers
-  *
-  * \sa class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner
-  */
-template< typename Derived>
-class IterativeSolverBase : internal::noncopyable
-{
-public:
-  typedef typename internal::traits<Derived>::MatrixType MatrixType;
-  typedef typename internal::traits<Derived>::Preconditioner Preconditioner;
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::RealScalar RealScalar;
-
-public:
-
-  Derived& derived() { return *static_cast<Derived*>(this); }
-  const Derived& derived() const { return *static_cast<const Derived*>(this); }
-
-  /** Default constructor. */
-  IterativeSolverBase()
-    : mp_matrix(0)
-  {
-    init();
-  }
-
-  /** Initialize the solver with matrix \a A for further \c Ax=b solving.
-    * 
-    * This constructor is a shortcut for the default constructor followed
-    * by a call to compute().
-    * 
-    * \warning this class stores a reference to the matrix A as well as some
-    * precomputed values that depend on it. Therefore, if \a A is changed
-    * this class becomes invalid. Call compute() to update it with the new
-    * matrix A, or modify a copy of A.
-    */
-  template<typename InputDerived>
-  IterativeSolverBase(const EigenBase<InputDerived>& A)
-  {
-    init();
-    compute(A.derived());
-  }
-
-  ~IterativeSolverBase() {}
-  
-  /** Initializes the iterative solver for the sparcity pattern of the matrix \a A for further solving \c Ax=b problems.
-    *
-    * Currently, this function mostly call analyzePattern on the preconditioner. In the future
-    * we might, for instance, implement column reodering for faster matrix vector products.
-    */
-  template<typename InputDerived>
-  Derived& analyzePattern(const EigenBase<InputDerived>& A)
-  {
-    grabInput(A.derived());
-    m_preconditioner.analyzePattern(*mp_matrix);
-    m_isInitialized = true;
-    m_analysisIsOk = true;
-    m_info = Success;
-    return derived();
-  }
-  
-  /** Initializes the iterative solver with the numerical values of the matrix \a A for further solving \c Ax=b problems.
-    *
-    * Currently, this function mostly call factorize on the preconditioner.
-    *
-    * \warning this class stores a reference to the matrix A as well as some
-    * precomputed values that depend on it. Therefore, if \a A is changed
-    * this class becomes invalid. Call compute() to update it with the new
-    * matrix A, or modify a copy of A.
-    */
-  template<typename InputDerived>
-  Derived& factorize(const EigenBase<InputDerived>& A)
-  {
-    grabInput(A.derived());
-    eigen_assert(m_analysisIsOk && "You must first call analyzePattern()"); 
-    m_preconditioner.factorize(*mp_matrix);
-    m_factorizationIsOk = true;
-    m_info = Success;
-    return derived();
-  }
-
-  /** Initializes the iterative solver with the matrix \a A for further solving \c Ax=b problems.
-    *
-    * Currently, this function mostly initialized/compute the preconditioner. In the future
-    * we might, for instance, implement column reodering for faster matrix vector products.
-    *
-    * \warning this class stores a reference to the matrix A as well as some
-    * precomputed values that depend on it. Therefore, if \a A is changed
-    * this class becomes invalid. Call compute() to update it with the new
-    * matrix A, or modify a copy of A.
-    */
-  template<typename InputDerived>
-  Derived& compute(const EigenBase<InputDerived>& A)
-  {
-    grabInput(A.derived());
-    m_preconditioner.compute(*mp_matrix);
-    m_isInitialized = true;
-    m_analysisIsOk = true;
-    m_factorizationIsOk = true;
-    m_info = Success;
-    return derived();
-  }
-
-  /** \internal */
-  Index rows() const { return mp_matrix ? mp_matrix->rows() : 0; }
-  /** \internal */
-  Index cols() const { return mp_matrix ? mp_matrix->cols() : 0; }
-
-  /** \returns the tolerance threshold used by the stopping criteria */
-  RealScalar tolerance() const { return m_tolerance; }
-  
-  /** Sets the tolerance threshold used by the stopping criteria */
-  Derived& setTolerance(const RealScalar& tolerance)
-  {
-    m_tolerance = tolerance;
-    return derived();
-  }
-
-  /** \returns a read-write reference to the preconditioner for custom configuration. */
-  Preconditioner& preconditioner() { return m_preconditioner; }
-  
-  /** \returns a read-only reference to the preconditioner. */
-  const Preconditioner& preconditioner() const { return m_preconditioner; }
-
-  /** \returns the max number of iterations */
-  int maxIterations() const
-  {
-    return (mp_matrix && m_maxIterations<0) ? mp_matrix->cols() : m_maxIterations;
-  }
-  
-  /** Sets the max number of iterations */
-  Derived& setMaxIterations(int maxIters)
-  {
-    m_maxIterations = maxIters;
-    return derived();
-  }
-
-  /** \returns the number of iterations performed during the last solve */
-  int iterations() const
-  {
-    eigen_assert(m_isInitialized && "ConjugateGradient is not initialized.");
-    return m_iterations;
-  }
-
-  /** \returns the tolerance error reached during the last solve */
-  RealScalar error() const
-  {
-    eigen_assert(m_isInitialized && "ConjugateGradient is not initialized.");
-    return m_error;
-  }
-
-  /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-    *
-    * \sa compute()
-    */
-  template<typename Rhs> inline const internal::solve_retval<Derived, Rhs>
-  solve(const MatrixBase<Rhs>& b) const
-  {
-    eigen_assert(m_isInitialized && "IterativeSolverBase is not initialized.");
-    eigen_assert(rows()==b.rows()
-              && "IterativeSolverBase::solve(): invalid number of rows of the right hand side matrix b");
-    return internal::solve_retval<Derived, Rhs>(derived(), b.derived());
-  }
-  
-  /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-    *
-    * \sa compute()
-    */
-  template<typename Rhs>
-  inline const internal::sparse_solve_retval<IterativeSolverBase, Rhs>
-  solve(const SparseMatrixBase<Rhs>& b) const
-  {
-    eigen_assert(m_isInitialized && "IterativeSolverBase is not initialized.");
-    eigen_assert(rows()==b.rows()
-              && "IterativeSolverBase::solve(): invalid number of rows of the right hand side matrix b");
-    return internal::sparse_solve_retval<IterativeSolverBase, Rhs>(*this, b.derived());
-  }
-
-  /** \returns Success if the iterations converged, and NoConvergence otherwise. */
-  ComputationInfo info() const
-  {
-    eigen_assert(m_isInitialized && "IterativeSolverBase is not initialized.");
-    return m_info;
-  }
-  
-  /** \internal */
-  template<typename Rhs, typename DestScalar, int DestOptions, typename DestIndex>
-  void _solve_sparse(const Rhs& b, SparseMatrix<DestScalar,DestOptions,DestIndex> &dest) const
-  {
-    eigen_assert(rows()==b.rows());
-    
-    int rhsCols = b.cols();
-    int size = b.rows();
-    Eigen::Matrix<DestScalar,Dynamic,1> tb(size);
-    Eigen::Matrix<DestScalar,Dynamic,1> tx(size);
-    for(int k=0; k<rhsCols; ++k)
-    {
-      tb = b.col(k);
-      tx = derived().solve(tb);
-      dest.col(k) = tx.sparseView(0);
-    }
-  }
-
-protected:
-
-  template<typename InputDerived>
-  void grabInput(const EigenBase<InputDerived>& A)
-  {
-    // we const cast to prevent the creation of a MatrixType temporary by the compiler.
-    grabInput_impl(A.const_cast_derived());
-  }
-
-  template<typename InputDerived>
-  void grabInput_impl(const EigenBase<InputDerived>& A)
-  {
-    m_copyMatrix = A;
-    mp_matrix = &m_copyMatrix;
-  }
-
-  void grabInput_impl(MatrixType& A)
-  {
-    if(MatrixType::RowsAtCompileTime==Dynamic && MatrixType::ColsAtCompileTime==Dynamic)
-      m_copyMatrix.resize(0,0);
-    mp_matrix = &A;
-  }
-
-  void init()
-  {
-    m_isInitialized = false;
-    m_analysisIsOk = false;
-    m_factorizationIsOk = false;
-    m_maxIterations = -1;
-    m_tolerance = NumTraits<Scalar>::epsilon();
-  }
-  MatrixType m_copyMatrix;
-  const MatrixType* mp_matrix;
-  Preconditioner m_preconditioner;
-
-  int m_maxIterations;
-  RealScalar m_tolerance;
-  
-  mutable RealScalar m_error;
-  mutable int m_iterations;
-  mutable ComputationInfo m_info;
-  mutable bool m_isInitialized, m_analysisIsOk, m_factorizationIsOk;
-};
-
-namespace internal {
- 
-template<typename Derived, typename Rhs>
-struct sparse_solve_retval<IterativeSolverBase<Derived>, Rhs>
-  : sparse_solve_retval_base<IterativeSolverBase<Derived>, Rhs>
-{
-  typedef IterativeSolverBase<Derived> Dec;
-  EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec().derived()._solve_sparse(rhs(),dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_ITERATIVE_SOLVER_BASE_H
diff --git a/lib/Eigen/src/Jacobi/CMakeLists.txt b/lib/Eigen/src/Jacobi/CMakeLists.txt
deleted file mode 100644
index 490dac62..00000000
--- a/lib/Eigen/src/Jacobi/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_Jacobi_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_Jacobi_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Jacobi COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/Jacobi/Jacobi.h b/lib/Eigen/src/Jacobi/Jacobi.h
deleted file mode 100644
index 956f72d5..00000000
--- a/lib/Eigen/src/Jacobi/Jacobi.h
+++ /dev/null
@@ -1,433 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_JACOBI_H
-#define EIGEN_JACOBI_H
-
-namespace Eigen { 
-
-/** \ingroup Jacobi_Module
-  * \jacobi_module
-  * \class JacobiRotation
-  * \brief Rotation given by a cosine-sine pair.
-  *
-  * This class represents a Jacobi or Givens rotation.
-  * This is a 2D rotation in the plane \c J of angle \f$ \theta \f$ defined by
-  * its cosine \c c and sine \c s as follow:
-  * \f$ J = \left ( \begin{array}{cc} c & \overline s \\ -s  & \overline c \end{array} \right ) \f$
-  *
-  * You can apply the respective counter-clockwise rotation to a column vector \c v by
-  * applying its adjoint on the left: \f$ v = J^* v \f$ that translates to the following Eigen code:
-  * \code
-  * v.applyOnTheLeft(J.adjoint());
-  * \endcode
-  *
-  * \sa MatrixBase::applyOnTheLeft(), MatrixBase::applyOnTheRight()
-  */
-template<typename Scalar> class JacobiRotation
-{
-  public:
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-    /** Default constructor without any initialization. */
-    JacobiRotation() {}
-
-    /** Construct a planar rotation from a cosine-sine pair (\a c, \c s). */
-    JacobiRotation(const Scalar& c, const Scalar& s) : m_c(c), m_s(s) {}
-
-    Scalar& c() { return m_c; }
-    Scalar c() const { return m_c; }
-    Scalar& s() { return m_s; }
-    Scalar s() const { return m_s; }
-
-    /** Concatenates two planar rotation */
-    JacobiRotation operator*(const JacobiRotation& other)
-    {
-      using numext::conj;
-      return JacobiRotation(m_c * other.m_c - conj(m_s) * other.m_s,
-                            conj(m_c * conj(other.m_s) + conj(m_s) * conj(other.m_c)));
-    }
-
-    /** Returns the transposed transformation */
-    JacobiRotation transpose() const { using numext::conj; return JacobiRotation(m_c, -conj(m_s)); }
-
-    /** Returns the adjoint transformation */
-    JacobiRotation adjoint() const { using numext::conj; return JacobiRotation(conj(m_c), -m_s); }
-
-    template<typename Derived>
-    bool makeJacobi(const MatrixBase<Derived>&, typename Derived::Index p, typename Derived::Index q);
-    bool makeJacobi(const RealScalar& x, const Scalar& y, const RealScalar& z);
-
-    void makeGivens(const Scalar& p, const Scalar& q, Scalar* z=0);
-
-  protected:
-    void makeGivens(const Scalar& p, const Scalar& q, Scalar* z, internal::true_type);
-    void makeGivens(const Scalar& p, const Scalar& q, Scalar* z, internal::false_type);
-
-    Scalar m_c, m_s;
-};
-
-/** Makes \c *this as a Jacobi rotation \a J such that applying \a J on both the right and left sides of the selfadjoint 2x2 matrix
-  * \f$ B = \left ( \begin{array}{cc} x & y \\ \overline y & z \end{array} \right )\f$ yields a diagonal matrix \f$ A = J^* B J \f$
-  *
-  * \sa MatrixBase::makeJacobi(const MatrixBase<Derived>&, Index, Index), MatrixBase::applyOnTheLeft(), MatrixBase::applyOnTheRight()
-  */
-template<typename Scalar>
-bool JacobiRotation<Scalar>::makeJacobi(const RealScalar& x, const Scalar& y, const RealScalar& z)
-{
-  using std::sqrt;
-  using std::abs;
-  typedef typename NumTraits<Scalar>::Real RealScalar;
-  if(y == Scalar(0))
-  {
-    m_c = Scalar(1);
-    m_s = Scalar(0);
-    return false;
-  }
-  else
-  {
-    RealScalar tau = (x-z)/(RealScalar(2)*abs(y));
-    RealScalar w = sqrt(numext::abs2(tau) + RealScalar(1));
-    RealScalar t;
-    if(tau>RealScalar(0))
-    {
-      t = RealScalar(1) / (tau + w);
-    }
-    else
-    {
-      t = RealScalar(1) / (tau - w);
-    }
-    RealScalar sign_t = t > RealScalar(0) ? RealScalar(1) : RealScalar(-1);
-    RealScalar n = RealScalar(1) / sqrt(numext::abs2(t)+RealScalar(1));
-    m_s = - sign_t * (numext::conj(y) / abs(y)) * abs(t) * n;
-    m_c = n;
-    return true;
-  }
-}
-
-/** Makes \c *this as a Jacobi rotation \c J such that applying \a J on both the right and left sides of the 2x2 selfadjoint matrix
-  * \f$ B = \left ( \begin{array}{cc} \text{this}_{pp} & \text{this}_{pq} \\ (\text{this}_{pq})^* & \text{this}_{qq} \end{array} \right )\f$ yields
-  * a diagonal matrix \f$ A = J^* B J \f$
-  *
-  * Example: \include Jacobi_makeJacobi.cpp
-  * Output: \verbinclude Jacobi_makeJacobi.out
-  *
-  * \sa JacobiRotation::makeJacobi(RealScalar, Scalar, RealScalar), MatrixBase::applyOnTheLeft(), MatrixBase::applyOnTheRight()
-  */
-template<typename Scalar>
-template<typename Derived>
-inline bool JacobiRotation<Scalar>::makeJacobi(const MatrixBase<Derived>& m, typename Derived::Index p, typename Derived::Index q)
-{
-  return makeJacobi(numext::real(m.coeff(p,p)), m.coeff(p,q), numext::real(m.coeff(q,q)));
-}
-
-/** Makes \c *this as a Givens rotation \c G such that applying \f$ G^* \f$ to the left of the vector
-  * \f$ V = \left ( \begin{array}{c} p \\ q \end{array} \right )\f$ yields:
-  * \f$ G^* V = \left ( \begin{array}{c} r \\ 0 \end{array} \right )\f$.
-  *
-  * The value of \a z is returned if \a z is not null (the default is null).
-  * Also note that G is built such that the cosine is always real.
-  *
-  * Example: \include Jacobi_makeGivens.cpp
-  * Output: \verbinclude Jacobi_makeGivens.out
-  *
-  * This function implements the continuous Givens rotation generation algorithm
-  * found in Anderson (2000), Discontinuous Plane Rotations and the Symmetric Eigenvalue Problem.
-  * LAPACK Working Note 150, University of Tennessee, UT-CS-00-454, December 4, 2000.
-  *
-  * \sa MatrixBase::applyOnTheLeft(), MatrixBase::applyOnTheRight()
-  */
-template<typename Scalar>
-void JacobiRotation<Scalar>::makeGivens(const Scalar& p, const Scalar& q, Scalar* z)
-{
-  makeGivens(p, q, z, typename internal::conditional<NumTraits<Scalar>::IsComplex, internal::true_type, internal::false_type>::type());
-}
-
-
-// specialization for complexes
-template<typename Scalar>
-void JacobiRotation<Scalar>::makeGivens(const Scalar& p, const Scalar& q, Scalar* r, internal::true_type)
-{
-  using std::sqrt;
-  using std::abs;
-  using numext::conj;
-  
-  if(q==Scalar(0))
-  {
-    m_c = numext::real(p)<0 ? Scalar(-1) : Scalar(1);
-    m_s = 0;
-    if(r) *r = m_c * p;
-  }
-  else if(p==Scalar(0))
-  {
-    m_c = 0;
-    m_s = -q/abs(q);
-    if(r) *r = abs(q);
-  }
-  else
-  {
-    RealScalar p1 = numext::norm1(p);
-    RealScalar q1 = numext::norm1(q);
-    if(p1>=q1)
-    {
-      Scalar ps = p / p1;
-      RealScalar p2 = numext::abs2(ps);
-      Scalar qs = q / p1;
-      RealScalar q2 = numext::abs2(qs);
-
-      RealScalar u = sqrt(RealScalar(1) + q2/p2);
-      if(numext::real(p)<RealScalar(0))
-        u = -u;
-
-      m_c = Scalar(1)/u;
-      m_s = -qs*conj(ps)*(m_c/p2);
-      if(r) *r = p * u;
-    }
-    else
-    {
-      Scalar ps = p / q1;
-      RealScalar p2 = numext::abs2(ps);
-      Scalar qs = q / q1;
-      RealScalar q2 = numext::abs2(qs);
-
-      RealScalar u = q1 * sqrt(p2 + q2);
-      if(numext::real(p)<RealScalar(0))
-        u = -u;
-
-      p1 = abs(p);
-      ps = p/p1;
-      m_c = p1/u;
-      m_s = -conj(ps) * (q/u);
-      if(r) *r = ps * u;
-    }
-  }
-}
-
-// specialization for reals
-template<typename Scalar>
-void JacobiRotation<Scalar>::makeGivens(const Scalar& p, const Scalar& q, Scalar* r, internal::false_type)
-{
-  using std::sqrt;
-  using std::abs;
-  if(q==Scalar(0))
-  {
-    m_c = p<Scalar(0) ? Scalar(-1) : Scalar(1);
-    m_s = Scalar(0);
-    if(r) *r = abs(p);
-  }
-  else if(p==Scalar(0))
-  {
-    m_c = Scalar(0);
-    m_s = q<Scalar(0) ? Scalar(1) : Scalar(-1);
-    if(r) *r = abs(q);
-  }
-  else if(abs(p) > abs(q))
-  {
-    Scalar t = q/p;
-    Scalar u = sqrt(Scalar(1) + numext::abs2(t));
-    if(p<Scalar(0))
-      u = -u;
-    m_c = Scalar(1)/u;
-    m_s = -t * m_c;
-    if(r) *r = p * u;
-  }
-  else
-  {
-    Scalar t = p/q;
-    Scalar u = sqrt(Scalar(1) + numext::abs2(t));
-    if(q<Scalar(0))
-      u = -u;
-    m_s = -Scalar(1)/u;
-    m_c = -t * m_s;
-    if(r) *r = q * u;
-  }
-
-}
-
-/****************************************************************************************
-*   Implementation of MatrixBase methods
-****************************************************************************************/
-
-/** \jacobi_module
-  * Applies the clock wise 2D rotation \a j to the set of 2D vectors of cordinates \a x and \a y:
-  * \f$ \left ( \begin{array}{cc} x \\ y \end{array} \right )  =  J \left ( \begin{array}{cc} x \\ y \end{array} \right ) \f$
-  *
-  * \sa MatrixBase::applyOnTheLeft(), MatrixBase::applyOnTheRight()
-  */
-namespace internal {
-template<typename VectorX, typename VectorY, typename OtherScalar>
-void apply_rotation_in_the_plane(VectorX& _x, VectorY& _y, const JacobiRotation<OtherScalar>& j);
-}
-
-/** \jacobi_module
-  * Applies the rotation in the plane \a j to the rows \a p and \a q of \c *this, i.e., it computes B = J * B,
-  * with \f$ B = \left ( \begin{array}{cc} \text{*this.row}(p) \\ \text{*this.row}(q) \end{array} \right ) \f$.
-  *
-  * \sa class JacobiRotation, MatrixBase::applyOnTheRight(), internal::apply_rotation_in_the_plane()
-  */
-template<typename Derived>
-template<typename OtherScalar>
-inline void MatrixBase<Derived>::applyOnTheLeft(Index p, Index q, const JacobiRotation<OtherScalar>& j)
-{
-  RowXpr x(this->row(p));
-  RowXpr y(this->row(q));
-  internal::apply_rotation_in_the_plane(x, y, j);
-}
-
-/** \ingroup Jacobi_Module
-  * Applies the rotation in the plane \a j to the columns \a p and \a q of \c *this, i.e., it computes B = B * J
-  * with \f$ B = \left ( \begin{array}{cc} \text{*this.col}(p) & \text{*this.col}(q) \end{array} \right ) \f$.
-  *
-  * \sa class JacobiRotation, MatrixBase::applyOnTheLeft(), internal::apply_rotation_in_the_plane()
-  */
-template<typename Derived>
-template<typename OtherScalar>
-inline void MatrixBase<Derived>::applyOnTheRight(Index p, Index q, const JacobiRotation<OtherScalar>& j)
-{
-  ColXpr x(this->col(p));
-  ColXpr y(this->col(q));
-  internal::apply_rotation_in_the_plane(x, y, j.transpose());
-}
-
-namespace internal {
-template<typename VectorX, typename VectorY, typename OtherScalar>
-void /*EIGEN_DONT_INLINE*/ apply_rotation_in_the_plane(VectorX& _x, VectorY& _y, const JacobiRotation<OtherScalar>& j)
-{
-  typedef typename VectorX::Index Index;
-  typedef typename VectorX::Scalar Scalar;
-  enum { PacketSize = packet_traits<Scalar>::size };
-  typedef typename packet_traits<Scalar>::type Packet;
-  eigen_assert(_x.size() == _y.size());
-  Index size = _x.size();
-  Index incrx = _x.innerStride();
-  Index incry = _y.innerStride();
-
-  Scalar* EIGEN_RESTRICT x = &_x.coeffRef(0);
-  Scalar* EIGEN_RESTRICT y = &_y.coeffRef(0);
-  
-  OtherScalar c = j.c();
-  OtherScalar s = j.s();
-  if (c==OtherScalar(1) && s==OtherScalar(0))
-    return;
-
-  /*** dynamic-size vectorized paths ***/
-
-  if(VectorX::SizeAtCompileTime == Dynamic &&
-    (VectorX::Flags & VectorY::Flags & PacketAccessBit) &&
-    ((incrx==1 && incry==1) || PacketSize == 1))
-  {
-    // both vectors are sequentially stored in memory => vectorization
-    enum { Peeling = 2 };
-
-    Index alignedStart = internal::first_aligned(y, size);
-    Index alignedEnd = alignedStart + ((size-alignedStart)/PacketSize)*PacketSize;
-
-    const Packet pc = pset1<Packet>(c);
-    const Packet ps = pset1<Packet>(s);
-    conj_helper<Packet,Packet,NumTraits<Scalar>::IsComplex,false> pcj;
-
-    for(Index i=0; i<alignedStart; ++i)
-    {
-      Scalar xi = x[i];
-      Scalar yi = y[i];
-      x[i] =  c * xi + numext::conj(s) * yi;
-      y[i] = -s * xi + numext::conj(c) * yi;
-    }
-
-    Scalar* EIGEN_RESTRICT px = x + alignedStart;
-    Scalar* EIGEN_RESTRICT py = y + alignedStart;
-
-    if(internal::first_aligned(x, size)==alignedStart)
-    {
-      for(Index i=alignedStart; i<alignedEnd; i+=PacketSize)
-      {
-        Packet xi = pload<Packet>(px);
-        Packet yi = pload<Packet>(py);
-        pstore(px, padd(pmul(pc,xi),pcj.pmul(ps,yi)));
-        pstore(py, psub(pcj.pmul(pc,yi),pmul(ps,xi)));
-        px += PacketSize;
-        py += PacketSize;
-      }
-    }
-    else
-    {
-      Index peelingEnd = alignedStart + ((size-alignedStart)/(Peeling*PacketSize))*(Peeling*PacketSize);
-      for(Index i=alignedStart; i<peelingEnd; i+=Peeling*PacketSize)
-      {
-        Packet xi   = ploadu<Packet>(px);
-        Packet xi1  = ploadu<Packet>(px+PacketSize);
-        Packet yi   = pload <Packet>(py);
-        Packet yi1  = pload <Packet>(py+PacketSize);
-        pstoreu(px, padd(pmul(pc,xi),pcj.pmul(ps,yi)));
-        pstoreu(px+PacketSize, padd(pmul(pc,xi1),pcj.pmul(ps,yi1)));
-        pstore (py, psub(pcj.pmul(pc,yi),pmul(ps,xi)));
-        pstore (py+PacketSize, psub(pcj.pmul(pc,yi1),pmul(ps,xi1)));
-        px += Peeling*PacketSize;
-        py += Peeling*PacketSize;
-      }
-      if(alignedEnd!=peelingEnd)
-      {
-        Packet xi = ploadu<Packet>(x+peelingEnd);
-        Packet yi = pload <Packet>(y+peelingEnd);
-        pstoreu(x+peelingEnd, padd(pmul(pc,xi),pcj.pmul(ps,yi)));
-        pstore (y+peelingEnd, psub(pcj.pmul(pc,yi),pmul(ps,xi)));
-      }
-    }
-
-    for(Index i=alignedEnd; i<size; ++i)
-    {
-      Scalar xi = x[i];
-      Scalar yi = y[i];
-      x[i] =  c * xi + numext::conj(s) * yi;
-      y[i] = -s * xi + numext::conj(c) * yi;
-    }
-  }
-
-  /*** fixed-size vectorized path ***/
-  else if(VectorX::SizeAtCompileTime != Dynamic &&
-          (VectorX::Flags & VectorY::Flags & PacketAccessBit) &&
-          (VectorX::Flags & VectorY::Flags & AlignedBit))
-  {
-    const Packet pc = pset1<Packet>(c);
-    const Packet ps = pset1<Packet>(s);
-    conj_helper<Packet,Packet,NumTraits<Scalar>::IsComplex,false> pcj;
-    Scalar* EIGEN_RESTRICT px = x;
-    Scalar* EIGEN_RESTRICT py = y;
-    for(Index i=0; i<size; i+=PacketSize)
-    {
-      Packet xi = pload<Packet>(px);
-      Packet yi = pload<Packet>(py);
-      pstore(px, padd(pmul(pc,xi),pcj.pmul(ps,yi)));
-      pstore(py, psub(pcj.pmul(pc,yi),pmul(ps,xi)));
-      px += PacketSize;
-      py += PacketSize;
-    }
-  }
-
-  /*** non-vectorized path ***/
-  else
-  {
-    for(Index i=0; i<size; ++i)
-    {
-      Scalar xi = *x;
-      Scalar yi = *y;
-      *x =  c * xi + numext::conj(s) * yi;
-      *y = -s * xi + numext::conj(c) * yi;
-      x += incrx;
-      y += incry;
-    }
-  }
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_JACOBI_H
diff --git a/lib/Eigen/src/LU/CMakeLists.txt b/lib/Eigen/src/LU/CMakeLists.txt
deleted file mode 100644
index e0d8d78c..00000000
--- a/lib/Eigen/src/LU/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-FILE(GLOB Eigen_LU_SRCS "*.h")
-
-INSTALL(FILES 
-  ${Eigen_LU_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU COMPONENT Devel
-  )
-
-ADD_SUBDIRECTORY(arch)
diff --git a/lib/Eigen/src/LU/Determinant.h b/lib/Eigen/src/LU/Determinant.h
deleted file mode 100644
index bb8e78a8..00000000
--- a/lib/Eigen/src/LU/Determinant.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_DETERMINANT_H
-#define EIGEN_DETERMINANT_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Derived>
-inline const typename Derived::Scalar bruteforce_det3_helper
-(const MatrixBase<Derived>& matrix, int a, int b, int c)
-{
-  return matrix.coeff(0,a)
-         * (matrix.coeff(1,b) * matrix.coeff(2,c) - matrix.coeff(1,c) * matrix.coeff(2,b));
-}
-
-template<typename Derived>
-const typename Derived::Scalar bruteforce_det4_helper
-(const MatrixBase<Derived>& matrix, int j, int k, int m, int n)
-{
-  return (matrix.coeff(j,0) * matrix.coeff(k,1) - matrix.coeff(k,0) * matrix.coeff(j,1))
-       * (matrix.coeff(m,2) * matrix.coeff(n,3) - matrix.coeff(n,2) * matrix.coeff(m,3));
-}
-
-template<typename Derived,
-         int DeterminantType = Derived::RowsAtCompileTime
-> struct determinant_impl
-{
-  static inline typename traits<Derived>::Scalar run(const Derived& m)
-  {
-    if(Derived::ColsAtCompileTime==Dynamic && m.rows()==0)
-      return typename traits<Derived>::Scalar(1);
-    return m.partialPivLu().determinant();
-  }
-};
-
-template<typename Derived> struct determinant_impl<Derived, 1>
-{
-  static inline typename traits<Derived>::Scalar run(const Derived& m)
-  {
-    return m.coeff(0,0);
-  }
-};
-
-template<typename Derived> struct determinant_impl<Derived, 2>
-{
-  static inline typename traits<Derived>::Scalar run(const Derived& m)
-  {
-    return m.coeff(0,0) * m.coeff(1,1) - m.coeff(1,0) * m.coeff(0,1);
-  }
-};
-
-template<typename Derived> struct determinant_impl<Derived, 3>
-{
-  static inline typename traits<Derived>::Scalar run(const Derived& m)
-  {
-    return bruteforce_det3_helper(m,0,1,2)
-          - bruteforce_det3_helper(m,1,0,2)
-          + bruteforce_det3_helper(m,2,0,1);
-  }
-};
-
-template<typename Derived> struct determinant_impl<Derived, 4>
-{
-  static typename traits<Derived>::Scalar run(const Derived& m)
-  {
-    // trick by Martin Costabel to compute 4x4 det with only 30 muls
-    return bruteforce_det4_helper(m,0,1,2,3)
-          - bruteforce_det4_helper(m,0,2,1,3)
-          + bruteforce_det4_helper(m,0,3,1,2)
-          + bruteforce_det4_helper(m,1,2,0,3)
-          - bruteforce_det4_helper(m,1,3,0,2)
-          + bruteforce_det4_helper(m,2,3,0,1);
-  }
-};
-
-} // end namespace internal
-
-/** \lu_module
-  *
-  * \returns the determinant of this matrix
-  */
-template<typename Derived>
-inline typename internal::traits<Derived>::Scalar MatrixBase<Derived>::determinant() const
-{
-  eigen_assert(rows() == cols());
-  typedef typename internal::nested<Derived,Base::RowsAtCompileTime>::type Nested;
-  return internal::determinant_impl<typename internal::remove_all<Nested>::type>::run(derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_DETERMINANT_H
diff --git a/lib/Eigen/src/LU/FullPivLU.h b/lib/Eigen/src/LU/FullPivLU.h
deleted file mode 100644
index e3847046..00000000
--- a/lib/Eigen/src/LU/FullPivLU.h
+++ /dev/null
@@ -1,751 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_LU_H
-#define EIGEN_LU_H
-
-namespace Eigen { 
-
-/** \ingroup LU_Module
-  *
-  * \class FullPivLU
-  *
-  * \brief LU decomposition of a matrix with complete pivoting, and related features
-  *
-  * \param MatrixType the type of the matrix of which we are computing the LU decomposition
-  *
-  * This class represents a LU decomposition of any matrix, with complete pivoting: the matrix A is
-  * decomposed as \f$ A = P^{-1} L U Q^{-1} \f$ where L is unit-lower-triangular, U is
-  * upper-triangular, and P and Q are permutation matrices. This is a rank-revealing LU
-  * decomposition. The eigenvalues (diagonal coefficients) of U are sorted in such a way that any
-  * zeros are at the end.
-  *
-  * This decomposition provides the generic approach to solving systems of linear equations, computing
-  * the rank, invertibility, inverse, kernel, and determinant.
-  *
-  * This LU decomposition is very stable and well tested with large matrices. However there are use cases where the SVD
-  * decomposition is inherently more stable and/or flexible. For example, when computing the kernel of a matrix,
-  * working with the SVD allows to select the smallest singular values of the matrix, something that
-  * the LU decomposition doesn't see.
-  *
-  * The data of the LU decomposition can be directly accessed through the methods matrixLU(),
-  * permutationP(), permutationQ().
-  *
-  * As an exemple, here is how the original matrix can be retrieved:
-  * \include class_FullPivLU.cpp
-  * Output: \verbinclude class_FullPivLU.out
-  *
-  * \sa MatrixBase::fullPivLu(), MatrixBase::determinant(), MatrixBase::inverse()
-  */
-template<typename _MatrixType> class FullPivLU
-{
-  public:
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
-    typedef typename internal::traits<MatrixType>::StorageKind StorageKind;
-    typedef typename MatrixType::Index Index;
-    typedef typename internal::plain_row_type<MatrixType, Index>::type IntRowVectorType;
-    typedef typename internal::plain_col_type<MatrixType, Index>::type IntColVectorType;
-    typedef PermutationMatrix<ColsAtCompileTime, MaxColsAtCompileTime> PermutationQType;
-    typedef PermutationMatrix<RowsAtCompileTime, MaxRowsAtCompileTime> PermutationPType;
-
-    /**
-      * \brief Default Constructor.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via LU::compute(const MatrixType&).
-      */
-    FullPivLU();
-
-    /** \brief Default Constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa FullPivLU()
-      */
-    FullPivLU(Index rows, Index cols);
-
-    /** Constructor.
-      *
-      * \param matrix the matrix of which to compute the LU decomposition.
-      *               It is required to be nonzero.
-      */
-    FullPivLU(const MatrixType& matrix);
-
-    /** Computes the LU decomposition of the given matrix.
-      *
-      * \param matrix the matrix of which to compute the LU decomposition.
-      *               It is required to be nonzero.
-      *
-      * \returns a reference to *this
-      */
-    FullPivLU& compute(const MatrixType& matrix);
-
-    /** \returns the LU decomposition matrix: the upper-triangular part is U, the
-      * unit-lower-triangular part is L (at least for square matrices; in the non-square
-      * case, special care is needed, see the documentation of class FullPivLU).
-      *
-      * \sa matrixL(), matrixU()
-      */
-    inline const MatrixType& matrixLU() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return m_lu;
-    }
-
-    /** \returns the number of nonzero pivots in the LU decomposition.
-      * Here nonzero is meant in the exact sense, not in a fuzzy sense.
-      * So that notion isn't really intrinsically interesting, but it is
-      * still useful when implementing algorithms.
-      *
-      * \sa rank()
-      */
-    inline Index nonzeroPivots() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return m_nonzero_pivots;
-    }
-
-    /** \returns the absolute value of the biggest pivot, i.e. the biggest
-      *          diagonal coefficient of U.
-      */
-    RealScalar maxPivot() const { return m_maxpivot; }
-
-    /** \returns the permutation matrix P
-      *
-      * \sa permutationQ()
-      */
-    inline const PermutationPType& permutationP() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return m_p;
-    }
-
-    /** \returns the permutation matrix Q
-      *
-      * \sa permutationP()
-      */
-    inline const PermutationQType& permutationQ() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return m_q;
-    }
-
-    /** \returns the kernel of the matrix, also called its null-space. The columns of the returned matrix
-      * will form a basis of the kernel.
-      *
-      * \note If the kernel has dimension zero, then the returned matrix is a column-vector filled with zeros.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      *
-      * Example: \include FullPivLU_kernel.cpp
-      * Output: \verbinclude FullPivLU_kernel.out
-      *
-      * \sa image()
-      */
-    inline const internal::kernel_retval<FullPivLU> kernel() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return internal::kernel_retval<FullPivLU>(*this);
-    }
-
-    /** \returns the image of the matrix, also called its column-space. The columns of the returned matrix
-      * will form a basis of the kernel.
-      *
-      * \param originalMatrix the original matrix, of which *this is the LU decomposition.
-      *                       The reason why it is needed to pass it here, is that this allows
-      *                       a large optimization, as otherwise this method would need to reconstruct it
-      *                       from the LU decomposition.
-      *
-      * \note If the image has dimension zero, then the returned matrix is a column-vector filled with zeros.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      *
-      * Example: \include FullPivLU_image.cpp
-      * Output: \verbinclude FullPivLU_image.out
-      *
-      * \sa kernel()
-      */
-    inline const internal::image_retval<FullPivLU>
-      image(const MatrixType& originalMatrix) const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return internal::image_retval<FullPivLU>(*this, originalMatrix);
-    }
-
-    /** \return a solution x to the equation Ax=b, where A is the matrix of which
-      * *this is the LU decomposition.
-      *
-      * \param b the right-hand-side of the equation to solve. Can be a vector or a matrix,
-      *          the only requirement in order for the equation to make sense is that
-      *          b.rows()==A.rows(), where A is the matrix of which *this is the LU decomposition.
-      *
-      * \returns a solution.
-      *
-      * \note_about_checking_solutions
-      *
-      * \note_about_arbitrary_choice_of_solution
-      * \note_about_using_kernel_to_study_multiple_solutions
-      *
-      * Example: \include FullPivLU_solve.cpp
-      * Output: \verbinclude FullPivLU_solve.out
-      *
-      * \sa TriangularView::solve(), kernel(), inverse()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<FullPivLU, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return internal::solve_retval<FullPivLU, Rhs>(*this, b.derived());
-    }
-
-    /** \returns the determinant of the matrix of which
-      * *this is the LU decomposition. It has only linear complexity
-      * (that is, O(n) where n is the dimension of the square matrix)
-      * as the LU decomposition has already been computed.
-      *
-      * \note This is only for square matrices.
-      *
-      * \note For fixed-size matrices of size up to 4, MatrixBase::determinant() offers
-      *       optimized paths.
-      *
-      * \warning a determinant can be very big or small, so for matrices
-      * of large enough dimension, there is a risk of overflow/underflow.
-      *
-      * \sa MatrixBase::determinant()
-      */
-    typename internal::traits<MatrixType>::Scalar determinant() const;
-
-    /** Allows to prescribe a threshold to be used by certain methods, such as rank(),
-      * who need to determine when pivots are to be considered nonzero. This is not used for the
-      * LU decomposition itself.
-      *
-      * When it needs to get the threshold value, Eigen calls threshold(). By default, this
-      * uses a formula to automatically determine a reasonable threshold.
-      * Once you have called the present method setThreshold(const RealScalar&),
-      * your value is used instead.
-      *
-      * \param threshold The new value to use as the threshold.
-      *
-      * A pivot will be considered nonzero if its absolute value is strictly greater than
-      *  \f$ \vert pivot \vert \leqslant threshold \times \vert maxpivot \vert \f$
-      * where maxpivot is the biggest pivot.
-      *
-      * If you want to come back to the default behavior, call setThreshold(Default_t)
-      */
-    FullPivLU& setThreshold(const RealScalar& threshold)
-    {
-      m_usePrescribedThreshold = true;
-      m_prescribedThreshold = threshold;
-      return *this;
-    }
-
-    /** Allows to come back to the default behavior, letting Eigen use its default formula for
-      * determining the threshold.
-      *
-      * You should pass the special object Eigen::Default as parameter here.
-      * \code lu.setThreshold(Eigen::Default); \endcode
-      *
-      * See the documentation of setThreshold(const RealScalar&).
-      */
-    FullPivLU& setThreshold(Default_t)
-    {
-      m_usePrescribedThreshold = false;
-      return *this;
-    }
-
-    /** Returns the threshold that will be used by certain methods such as rank().
-      *
-      * See the documentation of setThreshold(const RealScalar&).
-      */
-    RealScalar threshold() const
-    {
-      eigen_assert(m_isInitialized || m_usePrescribedThreshold);
-      return m_usePrescribedThreshold ? m_prescribedThreshold
-      // this formula comes from experimenting (see "LU precision tuning" thread on the list)
-      // and turns out to be identical to Higham's formula used already in LDLt.
-                                      : NumTraits<Scalar>::epsilon() * m_lu.diagonalSize();
-    }
-
-    /** \returns the rank of the matrix of which *this is the LU decomposition.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline Index rank() const
-    {
-      using std::abs;
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      RealScalar premultiplied_threshold = abs(m_maxpivot) * threshold();
-      Index result = 0;
-      for(Index i = 0; i < m_nonzero_pivots; ++i)
-        result += (abs(m_lu.coeff(i,i)) > premultiplied_threshold);
-      return result;
-    }
-
-    /** \returns the dimension of the kernel of the matrix of which *this is the LU decomposition.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline Index dimensionOfKernel() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return cols() - rank();
-    }
-
-    /** \returns true if the matrix of which *this is the LU decomposition represents an injective
-      *          linear map, i.e. has trivial kernel; false otherwise.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline bool isInjective() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return rank() == cols();
-    }
-
-    /** \returns true if the matrix of which *this is the LU decomposition represents a surjective
-      *          linear map; false otherwise.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline bool isSurjective() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return rank() == rows();
-    }
-
-    /** \returns true if the matrix of which *this is the LU decomposition is invertible.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline bool isInvertible() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return isInjective() && (m_lu.rows() == m_lu.cols());
-    }
-
-    /** \returns the inverse of the matrix of which *this is the LU decomposition.
-      *
-      * \note If this matrix is not invertible, the returned matrix has undefined coefficients.
-      *       Use isInvertible() to first determine whether this matrix is invertible.
-      *
-      * \sa MatrixBase::inverse()
-      */
-    inline const internal::solve_retval<FullPivLU,typename MatrixType::IdentityReturnType> inverse() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      eigen_assert(m_lu.rows() == m_lu.cols() && "You can't take the inverse of a non-square matrix!");
-      return internal::solve_retval<FullPivLU,typename MatrixType::IdentityReturnType>
-               (*this, MatrixType::Identity(m_lu.rows(), m_lu.cols()));
-    }
-
-    MatrixType reconstructedMatrix() const;
-
-    inline Index rows() const { return m_lu.rows(); }
-    inline Index cols() const { return m_lu.cols(); }
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-    
-    MatrixType m_lu;
-    PermutationPType m_p;
-    PermutationQType m_q;
-    IntColVectorType m_rowsTranspositions;
-    IntRowVectorType m_colsTranspositions;
-    Index m_det_pq, m_nonzero_pivots;
-    RealScalar m_maxpivot, m_prescribedThreshold;
-    bool m_isInitialized, m_usePrescribedThreshold;
-};
-
-template<typename MatrixType>
-FullPivLU<MatrixType>::FullPivLU()
-  : m_isInitialized(false), m_usePrescribedThreshold(false)
-{
-}
-
-template<typename MatrixType>
-FullPivLU<MatrixType>::FullPivLU(Index rows, Index cols)
-  : m_lu(rows, cols),
-    m_p(rows),
-    m_q(cols),
-    m_rowsTranspositions(rows),
-    m_colsTranspositions(cols),
-    m_isInitialized(false),
-    m_usePrescribedThreshold(false)
-{
-}
-
-template<typename MatrixType>
-FullPivLU<MatrixType>::FullPivLU(const MatrixType& matrix)
-  : m_lu(matrix.rows(), matrix.cols()),
-    m_p(matrix.rows()),
-    m_q(matrix.cols()),
-    m_rowsTranspositions(matrix.rows()),
-    m_colsTranspositions(matrix.cols()),
-    m_isInitialized(false),
-    m_usePrescribedThreshold(false)
-{
-  compute(matrix);
-}
-
-template<typename MatrixType>
-FullPivLU<MatrixType>& FullPivLU<MatrixType>::compute(const MatrixType& matrix)
-{
-  check_template_parameters();
-  
-  // the permutations are stored as int indices, so just to be sure:
-  eigen_assert(matrix.rows()<=NumTraits<int>::highest() && matrix.cols()<=NumTraits<int>::highest());
-  
-  m_isInitialized = true;
-  m_lu = matrix;
-
-  const Index size = matrix.diagonalSize();
-  const Index rows = matrix.rows();
-  const Index cols = matrix.cols();
-
-  // will store the transpositions, before we accumulate them at the end.
-  // can't accumulate on-the-fly because that will be done in reverse order for the rows.
-  m_rowsTranspositions.resize(matrix.rows());
-  m_colsTranspositions.resize(matrix.cols());
-  Index number_of_transpositions = 0; // number of NONTRIVIAL transpositions, i.e. m_rowsTranspositions[i]!=i
-
-  m_nonzero_pivots = size; // the generic case is that in which all pivots are nonzero (invertible case)
-  m_maxpivot = RealScalar(0);
-
-  for(Index k = 0; k < size; ++k)
-  {
-    // First, we need to find the pivot.
-
-    // biggest coefficient in the remaining bottom-right corner (starting at row k, col k)
-    Index row_of_biggest_in_corner, col_of_biggest_in_corner;
-    RealScalar biggest_in_corner;
-    biggest_in_corner = m_lu.bottomRightCorner(rows-k, cols-k)
-                        .cwiseAbs()
-                        .maxCoeff(&row_of_biggest_in_corner, &col_of_biggest_in_corner);
-    row_of_biggest_in_corner += k; // correct the values! since they were computed in the corner,
-    col_of_biggest_in_corner += k; // need to add k to them.
-
-    if(biggest_in_corner==RealScalar(0))
-    {
-      // before exiting, make sure to initialize the still uninitialized transpositions
-      // in a sane state without destroying what we already have.
-      m_nonzero_pivots = k;
-      for(Index i = k; i < size; ++i)
-      {
-        m_rowsTranspositions.coeffRef(i) = i;
-        m_colsTranspositions.coeffRef(i) = i;
-      }
-      break;
-    }
-
-    if(biggest_in_corner > m_maxpivot) m_maxpivot = biggest_in_corner;
-
-    // Now that we've found the pivot, we need to apply the row/col swaps to
-    // bring it to the location (k,k).
-
-    m_rowsTranspositions.coeffRef(k) = row_of_biggest_in_corner;
-    m_colsTranspositions.coeffRef(k) = col_of_biggest_in_corner;
-    if(k != row_of_biggest_in_corner) {
-      m_lu.row(k).swap(m_lu.row(row_of_biggest_in_corner));
-      ++number_of_transpositions;
-    }
-    if(k != col_of_biggest_in_corner) {
-      m_lu.col(k).swap(m_lu.col(col_of_biggest_in_corner));
-      ++number_of_transpositions;
-    }
-
-    // Now that the pivot is at the right location, we update the remaining
-    // bottom-right corner by Gaussian elimination.
-
-    if(k<rows-1)
-      m_lu.col(k).tail(rows-k-1) /= m_lu.coeff(k,k);
-    if(k<size-1)
-      m_lu.block(k+1,k+1,rows-k-1,cols-k-1).noalias() -= m_lu.col(k).tail(rows-k-1) * m_lu.row(k).tail(cols-k-1);
-  }
-
-  // the main loop is over, we still have to accumulate the transpositions to find the
-  // permutations P and Q
-
-  m_p.setIdentity(rows);
-  for(Index k = size-1; k >= 0; --k)
-    m_p.applyTranspositionOnTheRight(k, m_rowsTranspositions.coeff(k));
-
-  m_q.setIdentity(cols);
-  for(Index k = 0; k < size; ++k)
-    m_q.applyTranspositionOnTheRight(k, m_colsTranspositions.coeff(k));
-
-  m_det_pq = (number_of_transpositions%2) ? -1 : 1;
-  return *this;
-}
-
-template<typename MatrixType>
-typename internal::traits<MatrixType>::Scalar FullPivLU<MatrixType>::determinant() const
-{
-  eigen_assert(m_isInitialized && "LU is not initialized.");
-  eigen_assert(m_lu.rows() == m_lu.cols() && "You can't take the determinant of a non-square matrix!");
-  return Scalar(m_det_pq) * Scalar(m_lu.diagonal().prod());
-}
-
-/** \returns the matrix represented by the decomposition,
- * i.e., it returns the product: \f$ P^{-1} L U Q^{-1} \f$.
- * This function is provided for debug purposes. */
-template<typename MatrixType>
-MatrixType FullPivLU<MatrixType>::reconstructedMatrix() const
-{
-  eigen_assert(m_isInitialized && "LU is not initialized.");
-  const Index smalldim = (std::min)(m_lu.rows(), m_lu.cols());
-  // LU
-  MatrixType res(m_lu.rows(),m_lu.cols());
-  // FIXME the .toDenseMatrix() should not be needed...
-  res = m_lu.leftCols(smalldim)
-            .template triangularView<UnitLower>().toDenseMatrix()
-      * m_lu.topRows(smalldim)
-            .template triangularView<Upper>().toDenseMatrix();
-
-  // P^{-1}(LU)
-  res = m_p.inverse() * res;
-
-  // (P^{-1}LU)Q^{-1}
-  res = res * m_q.inverse();
-
-  return res;
-}
-
-/********* Implementation of kernel() **************************************************/
-
-namespace internal {
-template<typename _MatrixType>
-struct kernel_retval<FullPivLU<_MatrixType> >
-  : kernel_retval_base<FullPivLU<_MatrixType> >
-{
-  EIGEN_MAKE_KERNEL_HELPERS(FullPivLU<_MatrixType>)
-
-  enum { MaxSmallDimAtCompileTime = EIGEN_SIZE_MIN_PREFER_FIXED(
-            MatrixType::MaxColsAtCompileTime,
-            MatrixType::MaxRowsAtCompileTime)
-  };
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    using std::abs;
-    const Index cols = dec().matrixLU().cols(), dimker = cols - rank();
-    if(dimker == 0)
-    {
-      // The Kernel is just {0}, so it doesn't have a basis properly speaking, but let's
-      // avoid crashing/asserting as that depends on floating point calculations. Let's
-      // just return a single column vector filled with zeros.
-      dst.setZero();
-      return;
-    }
-
-    /* Let us use the following lemma:
-      *
-      * Lemma: If the matrix A has the LU decomposition PAQ = LU,
-      * then Ker A = Q(Ker U).
-      *
-      * Proof: trivial: just keep in mind that P, Q, L are invertible.
-      */
-
-    /* Thus, all we need to do is to compute Ker U, and then apply Q.
-      *
-      * U is upper triangular, with eigenvalues sorted so that any zeros appear at the end.
-      * Thus, the diagonal of U ends with exactly
-      * dimKer zero's. Let us use that to construct dimKer linearly
-      * independent vectors in Ker U.
-      */
-
-    Matrix<Index, Dynamic, 1, 0, MaxSmallDimAtCompileTime, 1> pivots(rank());
-    RealScalar premultiplied_threshold = dec().maxPivot() * dec().threshold();
-    Index p = 0;
-    for(Index i = 0; i < dec().nonzeroPivots(); ++i)
-      if(abs(dec().matrixLU().coeff(i,i)) > premultiplied_threshold)
-        pivots.coeffRef(p++) = i;
-    eigen_internal_assert(p == rank());
-
-    // we construct a temporaty trapezoid matrix m, by taking the U matrix and
-    // permuting the rows and cols to bring the nonnegligible pivots to the top of
-    // the main diagonal. We need that to be able to apply our triangular solvers.
-    // FIXME when we get triangularView-for-rectangular-matrices, this can be simplified
-    Matrix<typename MatrixType::Scalar, Dynamic, Dynamic, MatrixType::Options,
-           MaxSmallDimAtCompileTime, MatrixType::MaxColsAtCompileTime>
-      m(dec().matrixLU().block(0, 0, rank(), cols));
-    for(Index i = 0; i < rank(); ++i)
-    {
-      if(i) m.row(i).head(i).setZero();
-      m.row(i).tail(cols-i) = dec().matrixLU().row(pivots.coeff(i)).tail(cols-i);
-    }
-    m.block(0, 0, rank(), rank());
-    m.block(0, 0, rank(), rank()).template triangularView<StrictlyLower>().setZero();
-    for(Index i = 0; i < rank(); ++i)
-      m.col(i).swap(m.col(pivots.coeff(i)));
-
-    // ok, we have our trapezoid matrix, we can apply the triangular solver.
-    // notice that the math behind this suggests that we should apply this to the
-    // negative of the RHS, but for performance we just put the negative sign elsewhere, see below.
-    m.topLeftCorner(rank(), rank())
-     .template triangularView<Upper>().solveInPlace(
-        m.topRightCorner(rank(), dimker)
-      );
-
-    // now we must undo the column permutation that we had applied!
-    for(Index i = rank()-1; i >= 0; --i)
-      m.col(i).swap(m.col(pivots.coeff(i)));
-
-    // see the negative sign in the next line, that's what we were talking about above.
-    for(Index i = 0; i < rank(); ++i) dst.row(dec().permutationQ().indices().coeff(i)) = -m.row(i).tail(dimker);
-    for(Index i = rank(); i < cols; ++i) dst.row(dec().permutationQ().indices().coeff(i)).setZero();
-    for(Index k = 0; k < dimker; ++k) dst.coeffRef(dec().permutationQ().indices().coeff(rank()+k), k) = Scalar(1);
-  }
-};
-
-/***** Implementation of image() *****************************************************/
-
-template<typename _MatrixType>
-struct image_retval<FullPivLU<_MatrixType> >
-  : image_retval_base<FullPivLU<_MatrixType> >
-{
-  EIGEN_MAKE_IMAGE_HELPERS(FullPivLU<_MatrixType>)
-
-  enum { MaxSmallDimAtCompileTime = EIGEN_SIZE_MIN_PREFER_FIXED(
-            MatrixType::MaxColsAtCompileTime,
-            MatrixType::MaxRowsAtCompileTime)
-  };
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    using std::abs;
-    if(rank() == 0)
-    {
-      // The Image is just {0}, so it doesn't have a basis properly speaking, but let's
-      // avoid crashing/asserting as that depends on floating point calculations. Let's
-      // just return a single column vector filled with zeros.
-      dst.setZero();
-      return;
-    }
-
-    Matrix<Index, Dynamic, 1, 0, MaxSmallDimAtCompileTime, 1> pivots(rank());
-    RealScalar premultiplied_threshold = dec().maxPivot() * dec().threshold();
-    Index p = 0;
-    for(Index i = 0; i < dec().nonzeroPivots(); ++i)
-      if(abs(dec().matrixLU().coeff(i,i)) > premultiplied_threshold)
-        pivots.coeffRef(p++) = i;
-    eigen_internal_assert(p == rank());
-
-    for(Index i = 0; i < rank(); ++i)
-      dst.col(i) = originalMatrix().col(dec().permutationQ().indices().coeff(pivots.coeff(i)));
-  }
-};
-
-/***** Implementation of solve() *****************************************************/
-
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<FullPivLU<_MatrixType>, Rhs>
-  : solve_retval_base<FullPivLU<_MatrixType>, Rhs>
-{
-  EIGEN_MAKE_SOLVE_HELPERS(FullPivLU<_MatrixType>,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    /* The decomposition PAQ = LU can be rewritten as A = P^{-1} L U Q^{-1}.
-     * So we proceed as follows:
-     * Step 1: compute c = P * rhs.
-     * Step 2: replace c by the solution x to Lx = c. Exists because L is invertible.
-     * Step 3: replace c by the solution x to Ux = c. May or may not exist.
-     * Step 4: result = Q * c;
-     */
-
-    const Index rows = dec().rows(), cols = dec().cols(),
-              nonzero_pivots = dec().rank();
-    eigen_assert(rhs().rows() == rows);
-    const Index smalldim = (std::min)(rows, cols);
-
-    if(nonzero_pivots == 0)
-    {
-      dst.setZero();
-      return;
-    }
-
-    typename Rhs::PlainObject c(rhs().rows(), rhs().cols());
-
-    // Step 1
-    c = dec().permutationP() * rhs();
-
-    // Step 2
-    dec().matrixLU()
-        .topLeftCorner(smalldim,smalldim)
-        .template triangularView<UnitLower>()
-        .solveInPlace(c.topRows(smalldim));
-    if(rows>cols)
-    {
-      c.bottomRows(rows-cols)
-        -= dec().matrixLU().bottomRows(rows-cols)
-         * c.topRows(cols);
-    }
-
-    // Step 3
-    dec().matrixLU()
-        .topLeftCorner(nonzero_pivots, nonzero_pivots)
-        .template triangularView<Upper>()
-        .solveInPlace(c.topRows(nonzero_pivots));
-
-    // Step 4
-    for(Index i = 0; i < nonzero_pivots; ++i)
-      dst.row(dec().permutationQ().indices().coeff(i)) = c.row(i);
-    for(Index i = nonzero_pivots; i < dec().matrixLU().cols(); ++i)
-      dst.row(dec().permutationQ().indices().coeff(i)).setZero();
-  }
-};
-
-} // end namespace internal
-
-/******* MatrixBase methods *****************************************************************/
-
-/** \lu_module
-  *
-  * \return the full-pivoting LU decomposition of \c *this.
-  *
-  * \sa class FullPivLU
-  */
-template<typename Derived>
-inline const FullPivLU<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::fullPivLu() const
-{
-  return FullPivLU<PlainObject>(eval());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_LU_H
diff --git a/lib/Eigen/src/LU/Inverse.h b/lib/Eigen/src/LU/Inverse.h
deleted file mode 100644
index 3cf88719..00000000
--- a/lib/Eigen/src/LU/Inverse.h
+++ /dev/null
@@ -1,400 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_INVERSE_H
-#define EIGEN_INVERSE_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/**********************************
-*** General case implementation ***
-**********************************/
-
-template<typename MatrixType, typename ResultType, int Size = MatrixType::RowsAtCompileTime>
-struct compute_inverse
-{
-  static inline void run(const MatrixType& matrix, ResultType& result)
-  {
-    result = matrix.partialPivLu().inverse();
-  }
-};
-
-template<typename MatrixType, typename ResultType, int Size = MatrixType::RowsAtCompileTime>
-struct compute_inverse_and_det_with_check { /* nothing! general case not supported. */ };
-
-/****************************
-*** Size 1 implementation ***
-****************************/
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse<MatrixType, ResultType, 1>
-{
-  static inline void run(const MatrixType& matrix, ResultType& result)
-  {
-    typedef typename MatrixType::Scalar Scalar;
-    result.coeffRef(0,0) = Scalar(1) / matrix.coeff(0,0);
-  }
-};
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse_and_det_with_check<MatrixType, ResultType, 1>
-{
-  static inline void run(
-    const MatrixType& matrix,
-    const typename MatrixType::RealScalar& absDeterminantThreshold,
-    ResultType& result,
-    typename ResultType::Scalar& determinant,
-    bool& invertible
-  )
-  {
-    using std::abs;
-    determinant = matrix.coeff(0,0);
-    invertible = abs(determinant) > absDeterminantThreshold;
-    if(invertible) result.coeffRef(0,0) = typename ResultType::Scalar(1) / determinant;
-  }
-};
-
-/****************************
-*** Size 2 implementation ***
-****************************/
-
-template<typename MatrixType, typename ResultType>
-inline void compute_inverse_size2_helper(
-    const MatrixType& matrix, const typename ResultType::Scalar& invdet,
-    ResultType& result)
-{
-  result.coeffRef(0,0) = matrix.coeff(1,1) * invdet;
-  result.coeffRef(1,0) = -matrix.coeff(1,0) * invdet;
-  result.coeffRef(0,1) = -matrix.coeff(0,1) * invdet;
-  result.coeffRef(1,1) = matrix.coeff(0,0) * invdet;
-}
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse<MatrixType, ResultType, 2>
-{
-  static inline void run(const MatrixType& matrix, ResultType& result)
-  {
-    typedef typename ResultType::Scalar Scalar;
-    const Scalar invdet = typename MatrixType::Scalar(1) / matrix.determinant();
-    compute_inverse_size2_helper(matrix, invdet, result);
-  }
-};
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse_and_det_with_check<MatrixType, ResultType, 2>
-{
-  static inline void run(
-    const MatrixType& matrix,
-    const typename MatrixType::RealScalar& absDeterminantThreshold,
-    ResultType& inverse,
-    typename ResultType::Scalar& determinant,
-    bool& invertible
-  )
-  {
-    using std::abs;
-    typedef typename ResultType::Scalar Scalar;
-    determinant = matrix.determinant();
-    invertible = abs(determinant) > absDeterminantThreshold;
-    if(!invertible) return;
-    const Scalar invdet = Scalar(1) / determinant;
-    compute_inverse_size2_helper(matrix, invdet, inverse);
-  }
-};
-
-/****************************
-*** Size 3 implementation ***
-****************************/
-
-template<typename MatrixType, int i, int j>
-inline typename MatrixType::Scalar cofactor_3x3(const MatrixType& m)
-{
-  enum {
-    i1 = (i+1) % 3,
-    i2 = (i+2) % 3,
-    j1 = (j+1) % 3,
-    j2 = (j+2) % 3
-  };
-  return m.coeff(i1, j1) * m.coeff(i2, j2)
-       - m.coeff(i1, j2) * m.coeff(i2, j1);
-}
-
-template<typename MatrixType, typename ResultType>
-inline void compute_inverse_size3_helper(
-    const MatrixType& matrix,
-    const typename ResultType::Scalar& invdet,
-    const Matrix<typename ResultType::Scalar,3,1>& cofactors_col0,
-    ResultType& result)
-{
-  result.row(0) = cofactors_col0 * invdet;
-  result.coeffRef(1,0) =  cofactor_3x3<MatrixType,0,1>(matrix) * invdet;
-  result.coeffRef(1,1) =  cofactor_3x3<MatrixType,1,1>(matrix) * invdet;
-  result.coeffRef(1,2) =  cofactor_3x3<MatrixType,2,1>(matrix) * invdet;
-  result.coeffRef(2,0) =  cofactor_3x3<MatrixType,0,2>(matrix) * invdet;
-  result.coeffRef(2,1) =  cofactor_3x3<MatrixType,1,2>(matrix) * invdet;
-  result.coeffRef(2,2) =  cofactor_3x3<MatrixType,2,2>(matrix) * invdet;
-}
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse<MatrixType, ResultType, 3>
-{
-  static inline void run(const MatrixType& matrix, ResultType& result)
-  {
-    typedef typename ResultType::Scalar Scalar;
-    Matrix<typename MatrixType::Scalar,3,1> cofactors_col0;
-    cofactors_col0.coeffRef(0) =  cofactor_3x3<MatrixType,0,0>(matrix);
-    cofactors_col0.coeffRef(1) =  cofactor_3x3<MatrixType,1,0>(matrix);
-    cofactors_col0.coeffRef(2) =  cofactor_3x3<MatrixType,2,0>(matrix);
-    const Scalar det = (cofactors_col0.cwiseProduct(matrix.col(0))).sum();
-    const Scalar invdet = Scalar(1) / det;
-    compute_inverse_size3_helper(matrix, invdet, cofactors_col0, result);
-  }
-};
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse_and_det_with_check<MatrixType, ResultType, 3>
-{
-  static inline void run(
-    const MatrixType& matrix,
-    const typename MatrixType::RealScalar& absDeterminantThreshold,
-    ResultType& inverse,
-    typename ResultType::Scalar& determinant,
-    bool& invertible
-  )
-  {
-    using std::abs;
-    typedef typename ResultType::Scalar Scalar;
-    Matrix<Scalar,3,1> cofactors_col0;
-    cofactors_col0.coeffRef(0) =  cofactor_3x3<MatrixType,0,0>(matrix);
-    cofactors_col0.coeffRef(1) =  cofactor_3x3<MatrixType,1,0>(matrix);
-    cofactors_col0.coeffRef(2) =  cofactor_3x3<MatrixType,2,0>(matrix);
-    determinant = (cofactors_col0.cwiseProduct(matrix.col(0))).sum();
-    invertible = abs(determinant) > absDeterminantThreshold;
-    if(!invertible) return;
-    const Scalar invdet = Scalar(1) / determinant;
-    compute_inverse_size3_helper(matrix, invdet, cofactors_col0, inverse);
-  }
-};
-
-/****************************
-*** Size 4 implementation ***
-****************************/
-
-template<typename Derived>
-inline const typename Derived::Scalar general_det3_helper
-(const MatrixBase<Derived>& matrix, int i1, int i2, int i3, int j1, int j2, int j3)
-{
-  return matrix.coeff(i1,j1)
-         * (matrix.coeff(i2,j2) * matrix.coeff(i3,j3) - matrix.coeff(i2,j3) * matrix.coeff(i3,j2));
-}
-
-template<typename MatrixType, int i, int j>
-inline typename MatrixType::Scalar cofactor_4x4(const MatrixType& matrix)
-{
-  enum {
-    i1 = (i+1) % 4,
-    i2 = (i+2) % 4,
-    i3 = (i+3) % 4,
-    j1 = (j+1) % 4,
-    j2 = (j+2) % 4,
-    j3 = (j+3) % 4
-  };
-  return general_det3_helper(matrix, i1, i2, i3, j1, j2, j3)
-       + general_det3_helper(matrix, i2, i3, i1, j1, j2, j3)
-       + general_det3_helper(matrix, i3, i1, i2, j1, j2, j3);
-}
-
-template<int Arch, typename Scalar, typename MatrixType, typename ResultType>
-struct compute_inverse_size4
-{
-  static void run(const MatrixType& matrix, ResultType& result)
-  {
-    result.coeffRef(0,0) =  cofactor_4x4<MatrixType,0,0>(matrix);
-    result.coeffRef(1,0) = -cofactor_4x4<MatrixType,0,1>(matrix);
-    result.coeffRef(2,0) =  cofactor_4x4<MatrixType,0,2>(matrix);
-    result.coeffRef(3,0) = -cofactor_4x4<MatrixType,0,3>(matrix);
-    result.coeffRef(0,2) =  cofactor_4x4<MatrixType,2,0>(matrix);
-    result.coeffRef(1,2) = -cofactor_4x4<MatrixType,2,1>(matrix);
-    result.coeffRef(2,2) =  cofactor_4x4<MatrixType,2,2>(matrix);
-    result.coeffRef(3,2) = -cofactor_4x4<MatrixType,2,3>(matrix);
-    result.coeffRef(0,1) = -cofactor_4x4<MatrixType,1,0>(matrix);
-    result.coeffRef(1,1) =  cofactor_4x4<MatrixType,1,1>(matrix);
-    result.coeffRef(2,1) = -cofactor_4x4<MatrixType,1,2>(matrix);
-    result.coeffRef(3,1) =  cofactor_4x4<MatrixType,1,3>(matrix);
-    result.coeffRef(0,3) = -cofactor_4x4<MatrixType,3,0>(matrix);
-    result.coeffRef(1,3) =  cofactor_4x4<MatrixType,3,1>(matrix);
-    result.coeffRef(2,3) = -cofactor_4x4<MatrixType,3,2>(matrix);
-    result.coeffRef(3,3) =  cofactor_4x4<MatrixType,3,3>(matrix);
-    result /= (matrix.col(0).cwiseProduct(result.row(0).transpose())).sum();
-  }
-};
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse<MatrixType, ResultType, 4>
- : compute_inverse_size4<Architecture::Target, typename MatrixType::Scalar,
-                            MatrixType, ResultType>
-{
-};
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse_and_det_with_check<MatrixType, ResultType, 4>
-{
-  static inline void run(
-    const MatrixType& matrix,
-    const typename MatrixType::RealScalar& absDeterminantThreshold,
-    ResultType& inverse,
-    typename ResultType::Scalar& determinant,
-    bool& invertible
-  )
-  {
-    using std::abs;
-    determinant = matrix.determinant();
-    invertible = abs(determinant) > absDeterminantThreshold;
-    if(invertible) compute_inverse<MatrixType, ResultType>::run(matrix, inverse);
-  }
-};
-
-/*************************
-*** MatrixBase methods ***
-*************************/
-
-template<typename MatrixType>
-struct traits<inverse_impl<MatrixType> >
-{
-  typedef typename MatrixType::PlainObject ReturnType;
-};
-
-template<typename MatrixType>
-struct inverse_impl : public ReturnByValue<inverse_impl<MatrixType> >
-{
-  typedef typename MatrixType::Index Index;
-  typedef typename internal::eval<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_all<MatrixTypeNested>::type MatrixTypeNestedCleaned;
-  MatrixTypeNested m_matrix;
-
-  inverse_impl(const MatrixType& matrix)
-    : m_matrix(matrix)
-  {}
-
-  inline Index rows() const { return m_matrix.rows(); }
-  inline Index cols() const { return m_matrix.cols(); }
-
-  template<typename Dest> inline void evalTo(Dest& dst) const
-  {
-    const int Size = EIGEN_PLAIN_ENUM_MIN(MatrixType::ColsAtCompileTime,Dest::ColsAtCompileTime);
-    EIGEN_ONLY_USED_FOR_DEBUG(Size);
-    eigen_assert(( (Size<=1) || (Size>4) || (extract_data(m_matrix)!=extract_data(dst)))
-              && "Aliasing problem detected in inverse(), you need to do inverse().eval() here.");
-
-    compute_inverse<MatrixTypeNestedCleaned, Dest>::run(m_matrix, dst);
-  }
-};
-
-} // end namespace internal
-
-/** \lu_module
-  *
-  * \returns the matrix inverse of this matrix.
-  *
-  * For small fixed sizes up to 4x4, this method uses cofactors.
-  * In the general case, this method uses class PartialPivLU.
-  *
-  * \note This matrix must be invertible, otherwise the result is undefined. If you need an
-  * invertibility check, do the following:
-  * \li for fixed sizes up to 4x4, use computeInverseAndDetWithCheck().
-  * \li for the general case, use class FullPivLU.
-  *
-  * Example: \include MatrixBase_inverse.cpp
-  * Output: \verbinclude MatrixBase_inverse.out
-  *
-  * \sa computeInverseAndDetWithCheck()
-  */
-template<typename Derived>
-inline const internal::inverse_impl<Derived> MatrixBase<Derived>::inverse() const
-{
-  EIGEN_STATIC_ASSERT(!NumTraits<Scalar>::IsInteger,THIS_FUNCTION_IS_NOT_FOR_INTEGER_NUMERIC_TYPES)
-  eigen_assert(rows() == cols());
-  return internal::inverse_impl<Derived>(derived());
-}
-
-/** \lu_module
-  *
-  * Computation of matrix inverse and determinant, with invertibility check.
-  *
-  * This is only for fixed-size square matrices of size up to 4x4.
-  *
-  * \param inverse Reference to the matrix in which to store the inverse.
-  * \param determinant Reference to the variable in which to store the determinant.
-  * \param invertible Reference to the bool variable in which to store whether the matrix is invertible.
-  * \param absDeterminantThreshold Optional parameter controlling the invertibility check.
-  *                                The matrix will be declared invertible if the absolute value of its
-  *                                determinant is greater than this threshold.
-  *
-  * Example: \include MatrixBase_computeInverseAndDetWithCheck.cpp
-  * Output: \verbinclude MatrixBase_computeInverseAndDetWithCheck.out
-  *
-  * \sa inverse(), computeInverseWithCheck()
-  */
-template<typename Derived>
-template<typename ResultType>
-inline void MatrixBase<Derived>::computeInverseAndDetWithCheck(
-    ResultType& inverse,
-    typename ResultType::Scalar& determinant,
-    bool& invertible,
-    const RealScalar& absDeterminantThreshold
-  ) const
-{
-  // i'd love to put some static assertions there, but SFINAE means that they have no effect...
-  eigen_assert(rows() == cols());
-  // for 2x2, it's worth giving a chance to avoid evaluating.
-  // for larger sizes, evaluating has negligible cost and limits code size.
-  typedef typename internal::conditional<
-    RowsAtCompileTime == 2,
-    typename internal::remove_all<typename internal::nested<Derived, 2>::type>::type,
-    PlainObject
-  >::type MatrixType;
-  internal::compute_inverse_and_det_with_check<MatrixType, ResultType>::run
-    (derived(), absDeterminantThreshold, inverse, determinant, invertible);
-}
-
-/** \lu_module
-  *
-  * Computation of matrix inverse, with invertibility check.
-  *
-  * This is only for fixed-size square matrices of size up to 4x4.
-  *
-  * \param inverse Reference to the matrix in which to store the inverse.
-  * \param invertible Reference to the bool variable in which to store whether the matrix is invertible.
-  * \param absDeterminantThreshold Optional parameter controlling the invertibility check.
-  *                                The matrix will be declared invertible if the absolute value of its
-  *                                determinant is greater than this threshold.
-  *
-  * Example: \include MatrixBase_computeInverseWithCheck.cpp
-  * Output: \verbinclude MatrixBase_computeInverseWithCheck.out
-  *
-  * \sa inverse(), computeInverseAndDetWithCheck()
-  */
-template<typename Derived>
-template<typename ResultType>
-inline void MatrixBase<Derived>::computeInverseWithCheck(
-    ResultType& inverse,
-    bool& invertible,
-    const RealScalar& absDeterminantThreshold
-  ) const
-{
-  RealScalar determinant;
-  // i'd love to put some static assertions there, but SFINAE means that they have no effect...
-  eigen_assert(rows() == cols());
-  computeInverseAndDetWithCheck(inverse,determinant,invertible,absDeterminantThreshold);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_INVERSE_H
diff --git a/lib/Eigen/src/LU/PartialPivLU.h b/lib/Eigen/src/LU/PartialPivLU.h
deleted file mode 100644
index 7d1db948..00000000
--- a/lib/Eigen/src/LU/PartialPivLU.h
+++ /dev/null
@@ -1,509 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PARTIALLU_H
-#define EIGEN_PARTIALLU_H
-
-namespace Eigen { 
-
-/** \ingroup LU_Module
-  *
-  * \class PartialPivLU
-  *
-  * \brief LU decomposition of a matrix with partial pivoting, and related features
-  *
-  * \param MatrixType the type of the matrix of which we are computing the LU decomposition
-  *
-  * This class represents a LU decomposition of a \b square \b invertible matrix, with partial pivoting: the matrix A
-  * is decomposed as A = PLU where L is unit-lower-triangular, U is upper-triangular, and P
-  * is a permutation matrix.
-  *
-  * Typically, partial pivoting LU decomposition is only considered numerically stable for square invertible
-  * matrices. Thus LAPACK's dgesv and dgesvx require the matrix to be square and invertible. The present class
-  * does the same. It will assert that the matrix is square, but it won't (actually it can't) check that the
-  * matrix is invertible: it is your task to check that you only use this decomposition on invertible matrices.
-  *
-  * The guaranteed safe alternative, working for all matrices, is the full pivoting LU decomposition, provided
-  * by class FullPivLU.
-  *
-  * This is \b not a rank-revealing LU decomposition. Many features are intentionally absent from this class,
-  * such as rank computation. If you need these features, use class FullPivLU.
-  *
-  * This LU decomposition is suitable to invert invertible matrices. It is what MatrixBase::inverse() uses
-  * in the general case.
-  * On the other hand, it is \b not suitable to determine whether a given matrix is invertible.
-  *
-  * The data of the LU decomposition can be directly accessed through the methods matrixLU(), permutationP().
-  *
-  * \sa MatrixBase::partialPivLu(), MatrixBase::determinant(), MatrixBase::inverse(), MatrixBase::computeInverse(), class FullPivLU
-  */
-template<typename _MatrixType> class PartialPivLU
-{
-  public:
-
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
-    typedef typename internal::traits<MatrixType>::StorageKind StorageKind;
-    typedef typename MatrixType::Index Index;
-    typedef PermutationMatrix<RowsAtCompileTime, MaxRowsAtCompileTime> PermutationType;
-    typedef Transpositions<RowsAtCompileTime, MaxRowsAtCompileTime> TranspositionType;
-
-
-    /**
-    * \brief Default Constructor.
-    *
-    * The default constructor is useful in cases in which the user intends to
-    * perform decompositions via PartialPivLU::compute(const MatrixType&).
-    */
-    PartialPivLU();
-
-    /** \brief Default Constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa PartialPivLU()
-      */
-    PartialPivLU(Index size);
-
-    /** Constructor.
-      *
-      * \param matrix the matrix of which to compute the LU decomposition.
-      *
-      * \warning The matrix should have full rank (e.g. if it's square, it should be invertible).
-      * If you need to deal with non-full rank, use class FullPivLU instead.
-      */
-    PartialPivLU(const MatrixType& matrix);
-
-    PartialPivLU& compute(const MatrixType& matrix);
-
-    /** \returns the LU decomposition matrix: the upper-triangular part is U, the
-      * unit-lower-triangular part is L (at least for square matrices; in the non-square
-      * case, special care is needed, see the documentation of class FullPivLU).
-      *
-      * \sa matrixL(), matrixU()
-      */
-    inline const MatrixType& matrixLU() const
-    {
-      eigen_assert(m_isInitialized && "PartialPivLU is not initialized.");
-      return m_lu;
-    }
-
-    /** \returns the permutation matrix P.
-      */
-    inline const PermutationType& permutationP() const
-    {
-      eigen_assert(m_isInitialized && "PartialPivLU is not initialized.");
-      return m_p;
-    }
-
-    /** This method returns the solution x to the equation Ax=b, where A is the matrix of which
-      * *this is the LU decomposition.
-      *
-      * \param b the right-hand-side of the equation to solve. Can be a vector or a matrix,
-      *          the only requirement in order for the equation to make sense is that
-      *          b.rows()==A.rows(), where A is the matrix of which *this is the LU decomposition.
-      *
-      * \returns the solution.
-      *
-      * Example: \include PartialPivLU_solve.cpp
-      * Output: \verbinclude PartialPivLU_solve.out
-      *
-      * Since this PartialPivLU class assumes anyway that the matrix A is invertible, the solution
-      * theoretically exists and is unique regardless of b.
-      *
-      * \sa TriangularView::solve(), inverse(), computeInverse()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<PartialPivLU, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "PartialPivLU is not initialized.");
-      return internal::solve_retval<PartialPivLU, Rhs>(*this, b.derived());
-    }
-
-    /** \returns the inverse of the matrix of which *this is the LU decomposition.
-      *
-      * \warning The matrix being decomposed here is assumed to be invertible. If you need to check for
-      *          invertibility, use class FullPivLU instead.
-      *
-      * \sa MatrixBase::inverse(), LU::inverse()
-      */
-    inline const internal::solve_retval<PartialPivLU,typename MatrixType::IdentityReturnType> inverse() const
-    {
-      eigen_assert(m_isInitialized && "PartialPivLU is not initialized.");
-      return internal::solve_retval<PartialPivLU,typename MatrixType::IdentityReturnType>
-               (*this, MatrixType::Identity(m_lu.rows(), m_lu.cols()));
-    }
-
-    /** \returns the determinant of the matrix of which
-      * *this is the LU decomposition. It has only linear complexity
-      * (that is, O(n) where n is the dimension of the square matrix)
-      * as the LU decomposition has already been computed.
-      *
-      * \note For fixed-size matrices of size up to 4, MatrixBase::determinant() offers
-      *       optimized paths.
-      *
-      * \warning a determinant can be very big or small, so for matrices
-      * of large enough dimension, there is a risk of overflow/underflow.
-      *
-      * \sa MatrixBase::determinant()
-      */
-    typename internal::traits<MatrixType>::Scalar determinant() const;
-
-    MatrixType reconstructedMatrix() const;
-
-    inline Index rows() const { return m_lu.rows(); }
-    inline Index cols() const { return m_lu.cols(); }
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-    
-    MatrixType m_lu;
-    PermutationType m_p;
-    TranspositionType m_rowsTranspositions;
-    Index m_det_p;
-    bool m_isInitialized;
-};
-
-template<typename MatrixType>
-PartialPivLU<MatrixType>::PartialPivLU()
-  : m_lu(),
-    m_p(),
-    m_rowsTranspositions(),
-    m_det_p(0),
-    m_isInitialized(false)
-{
-}
-
-template<typename MatrixType>
-PartialPivLU<MatrixType>::PartialPivLU(Index size)
-  : m_lu(size, size),
-    m_p(size),
-    m_rowsTranspositions(size),
-    m_det_p(0),
-    m_isInitialized(false)
-{
-}
-
-template<typename MatrixType>
-PartialPivLU<MatrixType>::PartialPivLU(const MatrixType& matrix)
-  : m_lu(matrix.rows(), matrix.rows()),
-    m_p(matrix.rows()),
-    m_rowsTranspositions(matrix.rows()),
-    m_det_p(0),
-    m_isInitialized(false)
-{
-  compute(matrix);
-}
-
-namespace internal {
-
-/** \internal This is the blocked version of fullpivlu_unblocked() */
-template<typename Scalar, int StorageOrder, typename PivIndex>
-struct partial_lu_impl
-{
-  // FIXME add a stride to Map, so that the following mapping becomes easier,
-  // another option would be to create an expression being able to automatically
-  // warp any Map, Matrix, and Block expressions as a unique type, but since that's exactly
-  // a Map + stride, why not adding a stride to Map, and convenient ctors from a Matrix,
-  // and Block.
-  typedef Map<Matrix<Scalar, Dynamic, Dynamic, StorageOrder> > MapLU;
-  typedef Block<MapLU, Dynamic, Dynamic> MatrixType;
-  typedef Block<MatrixType,Dynamic,Dynamic> BlockType;
-  typedef typename MatrixType::RealScalar RealScalar;
-  typedef typename MatrixType::Index Index;
-
-  /** \internal performs the LU decomposition in-place of the matrix \a lu
-    * using an unblocked algorithm.
-    *
-    * In addition, this function returns the row transpositions in the
-    * vector \a row_transpositions which must have a size equal to the number
-    * of columns of the matrix \a lu, and an integer \a nb_transpositions
-    * which returns the actual number of transpositions.
-    *
-    * \returns The index of the first pivot which is exactly zero if any, or a negative number otherwise.
-    */
-  static Index unblocked_lu(MatrixType& lu, PivIndex* row_transpositions, PivIndex& nb_transpositions)
-  {
-    const Index rows = lu.rows();
-    const Index cols = lu.cols();
-    const Index size = (std::min)(rows,cols);
-    nb_transpositions = 0;
-    Index first_zero_pivot = -1;
-    for(Index k = 0; k < size; ++k)
-    {
-      Index rrows = rows-k-1;
-      Index rcols = cols-k-1;
-        
-      Index row_of_biggest_in_col;
-      RealScalar biggest_in_corner
-        = lu.col(k).tail(rows-k).cwiseAbs().maxCoeff(&row_of_biggest_in_col);
-      row_of_biggest_in_col += k;
-
-      row_transpositions[k] = PivIndex(row_of_biggest_in_col);
-
-      if(biggest_in_corner != RealScalar(0))
-      {
-        if(k != row_of_biggest_in_col)
-        {
-          lu.row(k).swap(lu.row(row_of_biggest_in_col));
-          ++nb_transpositions;
-        }
-
-        // FIXME shall we introduce a safe quotient expression in cas 1/lu.coeff(k,k)
-        // overflow but not the actual quotient?
-        lu.col(k).tail(rrows) /= lu.coeff(k,k);
-      }
-      else if(first_zero_pivot==-1)
-      {
-        // the pivot is exactly zero, we record the index of the first pivot which is exactly 0,
-        // and continue the factorization such we still have A = PLU
-        first_zero_pivot = k;
-      }
-
-      if(k<rows-1)
-        lu.bottomRightCorner(rrows,rcols).noalias() -= lu.col(k).tail(rrows) * lu.row(k).tail(rcols);
-    }
-    return first_zero_pivot;
-  }
-
-  /** \internal performs the LU decomposition in-place of the matrix represented
-    * by the variables \a rows, \a cols, \a lu_data, and \a lu_stride using a
-    * recursive, blocked algorithm.
-    *
-    * In addition, this function returns the row transpositions in the
-    * vector \a row_transpositions which must have a size equal to the number
-    * of columns of the matrix \a lu, and an integer \a nb_transpositions
-    * which returns the actual number of transpositions.
-    *
-    * \returns The index of the first pivot which is exactly zero if any, or a negative number otherwise.
-    *
-    * \note This very low level interface using pointers, etc. is to:
-    *   1 - reduce the number of instanciations to the strict minimum
-    *   2 - avoid infinite recursion of the instanciations with Block<Block<Block<...> > >
-    */
-  static Index blocked_lu(Index rows, Index cols, Scalar* lu_data, Index luStride, PivIndex* row_transpositions, PivIndex& nb_transpositions, Index maxBlockSize=256)
-  {
-    MapLU lu1(lu_data,StorageOrder==RowMajor?rows:luStride,StorageOrder==RowMajor?luStride:cols);
-    MatrixType lu(lu1,0,0,rows,cols);
-
-    const Index size = (std::min)(rows,cols);
-
-    // if the matrix is too small, no blocking:
-    if(size<=16)
-    {
-      return unblocked_lu(lu, row_transpositions, nb_transpositions);
-    }
-
-    // automatically adjust the number of subdivisions to the size
-    // of the matrix so that there is enough sub blocks:
-    Index blockSize;
-    {
-      blockSize = size/8;
-      blockSize = (blockSize/16)*16;
-      blockSize = (std::min)((std::max)(blockSize,Index(8)), maxBlockSize);
-    }
-
-    nb_transpositions = 0;
-    Index first_zero_pivot = -1;
-    for(Index k = 0; k < size; k+=blockSize)
-    {
-      Index bs = (std::min)(size-k,blockSize); // actual size of the block
-      Index trows = rows - k - bs; // trailing rows
-      Index tsize = size - k - bs; // trailing size
-
-      // partition the matrix:
-      //                          A00 | A01 | A02
-      // lu  = A_0 | A_1 | A_2 =  A10 | A11 | A12
-      //                          A20 | A21 | A22
-      BlockType A_0(lu,0,0,rows,k);
-      BlockType A_2(lu,0,k+bs,rows,tsize);
-      BlockType A11(lu,k,k,bs,bs);
-      BlockType A12(lu,k,k+bs,bs,tsize);
-      BlockType A21(lu,k+bs,k,trows,bs);
-      BlockType A22(lu,k+bs,k+bs,trows,tsize);
-
-      PivIndex nb_transpositions_in_panel;
-      // recursively call the blocked LU algorithm on [A11^T A21^T]^T
-      // with a very small blocking size:
-      Index ret = blocked_lu(trows+bs, bs, &lu.coeffRef(k,k), luStride,
-                   row_transpositions+k, nb_transpositions_in_panel, 16);
-      if(ret>=0 && first_zero_pivot==-1)
-        first_zero_pivot = k+ret;
-
-      nb_transpositions += nb_transpositions_in_panel;
-      // update permutations and apply them to A_0
-      for(Index i=k; i<k+bs; ++i)
-      {
-        Index piv = (row_transpositions[i] += k);
-        A_0.row(i).swap(A_0.row(piv));
-      }
-
-      if(trows)
-      {
-        // apply permutations to A_2
-        for(Index i=k;i<k+bs; ++i)
-          A_2.row(i).swap(A_2.row(row_transpositions[i]));
-
-        // A12 = A11^-1 A12
-        A11.template triangularView<UnitLower>().solveInPlace(A12);
-
-        A22.noalias() -= A21 * A12;
-      }
-    }
-    return first_zero_pivot;
-  }
-};
-
-/** \internal performs the LU decomposition with partial pivoting in-place.
-  */
-template<typename MatrixType, typename TranspositionType>
-void partial_lu_inplace(MatrixType& lu, TranspositionType& row_transpositions, typename TranspositionType::Index& nb_transpositions)
-{
-  eigen_assert(lu.cols() == row_transpositions.size());
-  eigen_assert((&row_transpositions.coeffRef(1)-&row_transpositions.coeffRef(0)) == 1);
-
-  partial_lu_impl
-    <typename MatrixType::Scalar, MatrixType::Flags&RowMajorBit?RowMajor:ColMajor, typename TranspositionType::Index>
-    ::blocked_lu(lu.rows(), lu.cols(), &lu.coeffRef(0,0), lu.outerStride(), &row_transpositions.coeffRef(0), nb_transpositions);
-}
-
-} // end namespace internal
-
-template<typename MatrixType>
-PartialPivLU<MatrixType>& PartialPivLU<MatrixType>::compute(const MatrixType& matrix)
-{
-  check_template_parameters();
-  
-  // the row permutation is stored as int indices, so just to be sure:
-  eigen_assert(matrix.rows()<NumTraits<int>::highest());
-  
-  m_lu = matrix;
-
-  eigen_assert(matrix.rows() == matrix.cols() && "PartialPivLU is only for square (and moreover invertible) matrices");
-  const Index size = matrix.rows();
-
-  m_rowsTranspositions.resize(size);
-
-  typename TranspositionType::Index nb_transpositions;
-  internal::partial_lu_inplace(m_lu, m_rowsTranspositions, nb_transpositions);
-  m_det_p = (nb_transpositions%2) ? -1 : 1;
-
-  m_p = m_rowsTranspositions;
-
-  m_isInitialized = true;
-  return *this;
-}
-
-template<typename MatrixType>
-typename internal::traits<MatrixType>::Scalar PartialPivLU<MatrixType>::determinant() const
-{
-  eigen_assert(m_isInitialized && "PartialPivLU is not initialized.");
-  return Scalar(m_det_p) * m_lu.diagonal().prod();
-}
-
-/** \returns the matrix represented by the decomposition,
- * i.e., it returns the product: P^{-1} L U.
- * This function is provided for debug purpose. */
-template<typename MatrixType>
-MatrixType PartialPivLU<MatrixType>::reconstructedMatrix() const
-{
-  eigen_assert(m_isInitialized && "LU is not initialized.");
-  // LU
-  MatrixType res = m_lu.template triangularView<UnitLower>().toDenseMatrix()
-                 * m_lu.template triangularView<Upper>();
-
-  // P^{-1}(LU)
-  res = m_p.inverse() * res;
-
-  return res;
-}
-
-/***** Implementation of solve() *****************************************************/
-
-namespace internal {
-
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<PartialPivLU<_MatrixType>, Rhs>
-  : solve_retval_base<PartialPivLU<_MatrixType>, Rhs>
-{
-  EIGEN_MAKE_SOLVE_HELPERS(PartialPivLU<_MatrixType>,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    /* The decomposition PA = LU can be rewritten as A = P^{-1} L U.
-    * So we proceed as follows:
-    * Step 1: compute c = Pb.
-    * Step 2: replace c by the solution x to Lx = c.
-    * Step 3: replace c by the solution x to Ux = c.
-    */
-
-    eigen_assert(rhs().rows() == dec().matrixLU().rows());
-
-    // Step 1
-    dst = dec().permutationP() * rhs();
-
-    // Step 2
-    dec().matrixLU().template triangularView<UnitLower>().solveInPlace(dst);
-
-    // Step 3
-    dec().matrixLU().template triangularView<Upper>().solveInPlace(dst);
-  }
-};
-
-} // end namespace internal
-
-/******** MatrixBase methods *******/
-
-/** \lu_module
-  *
-  * \return the partial-pivoting LU decomposition of \c *this.
-  *
-  * \sa class PartialPivLU
-  */
-template<typename Derived>
-inline const PartialPivLU<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::partialPivLu() const
-{
-  return PartialPivLU<PlainObject>(eval());
-}
-
-#if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
-/** \lu_module
-  *
-  * Synonym of partialPivLu().
-  *
-  * \return the partial-pivoting LU decomposition of \c *this.
-  *
-  * \sa class PartialPivLU
-  */
-template<typename Derived>
-inline const PartialPivLU<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::lu() const
-{
-  return PartialPivLU<PlainObject>(eval());
-}
-#endif
-
-} // end namespace Eigen
-
-#endif // EIGEN_PARTIALLU_H
diff --git a/lib/Eigen/src/LU/PartialPivLU_MKL.h b/lib/Eigen/src/LU/PartialPivLU_MKL.h
deleted file mode 100644
index 9035953c..00000000
--- a/lib/Eigen/src/LU/PartialPivLU_MKL.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *     LU decomposition with partial pivoting based on LAPACKE_?getrf function.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_PARTIALLU_LAPACK_H
-#define EIGEN_PARTIALLU_LAPACK_H
-
-#include "Eigen/src/Core/util/MKL_support.h"
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \internal Specialization for the data types supported by MKL */
-
-#define EIGEN_MKL_LU_PARTPIV(EIGTYPE, MKLTYPE, MKLPREFIX) \
-template<int StorageOrder> \
-struct partial_lu_impl<EIGTYPE, StorageOrder, lapack_int> \
-{ \
-  /* \internal performs the LU decomposition in-place of the matrix represented */ \
-  static lapack_int blocked_lu(lapack_int rows, lapack_int cols, EIGTYPE* lu_data, lapack_int luStride, lapack_int* row_transpositions, lapack_int& nb_transpositions, lapack_int maxBlockSize=256) \
-  { \
-    EIGEN_UNUSED_VARIABLE(maxBlockSize);\
-    lapack_int matrix_order, first_zero_pivot; \
-    lapack_int m, n, lda, *ipiv, info; \
-    EIGTYPE* a; \
-/* Set up parameters for ?getrf */ \
-    matrix_order = StorageOrder==RowMajor ? LAPACK_ROW_MAJOR : LAPACK_COL_MAJOR; \
-    lda = luStride; \
-    a = lu_data; \
-    ipiv = row_transpositions; \
-    m = rows; \
-    n = cols; \
-    nb_transpositions = 0; \
-\
-    info = LAPACKE_##MKLPREFIX##getrf( matrix_order, m, n, (MKLTYPE*)a, lda, ipiv ); \
-\
-    for(int i=0;i<m;i++) { ipiv[i]--; if (ipiv[i]!=i) nb_transpositions++; } \
-\
-    eigen_assert(info >= 0); \
-/* something should be done with nb_transpositions */ \
-\
-    first_zero_pivot = info; \
-    return first_zero_pivot; \
-  } \
-};
-
-EIGEN_MKL_LU_PARTPIV(double, double, d)
-EIGEN_MKL_LU_PARTPIV(float, float, s)
-EIGEN_MKL_LU_PARTPIV(dcomplex, MKL_Complex16, z)
-EIGEN_MKL_LU_PARTPIV(scomplex, MKL_Complex8, c)
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_PARTIALLU_LAPACK_H
diff --git a/lib/Eigen/src/LU/arch/CMakeLists.txt b/lib/Eigen/src/LU/arch/CMakeLists.txt
deleted file mode 100644
index f6b7ed9e..00000000
--- a/lib/Eigen/src/LU/arch/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_LU_arch_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_LU_arch_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU/arch COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/LU/arch/Inverse_SSE.h b/lib/Eigen/src/LU/arch/Inverse_SSE.h
deleted file mode 100644
index 60b7a237..00000000
--- a/lib/Eigen/src/LU/arch/Inverse_SSE.h
+++ /dev/null
@@ -1,329 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2001 Intel Corporation
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// The SSE code for the 4x4 float and double matrix inverse in this file
-// comes from the following Intel's library:
-// http://software.intel.com/en-us/articles/optimized-matrix-library-for-use-with-the-intel-pentiumr-4-processors-sse2-instructions/
-//
-// Here is the respective copyright and license statement:
-//
-//   Copyright (c) 2001 Intel Corporation.
-//
-// Permition is granted to use, copy, distribute and prepare derivative works
-// of this library for any purpose and without fee, provided, that the above
-// copyright notice and this statement appear in all copies.
-// Intel makes no representations about the suitability of this software for
-// any purpose, and specifically disclaims all warranties.
-// See LEGAL.TXT for all the legal information.
-
-#ifndef EIGEN_INVERSE_SSE_H
-#define EIGEN_INVERSE_SSE_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse_size4<Architecture::SSE, float, MatrixType, ResultType>
-{
-  enum {
-    MatrixAlignment     = bool(MatrixType::Flags&AlignedBit),
-    ResultAlignment     = bool(ResultType::Flags&AlignedBit),
-    StorageOrdersMatch  = (MatrixType::Flags&RowMajorBit) == (ResultType::Flags&RowMajorBit)
-  };
-  
-  static void run(const MatrixType& matrix, ResultType& result)
-  {
-    EIGEN_ALIGN16 const unsigned int _Sign_PNNP[4] = { 0x00000000, 0x80000000, 0x80000000, 0x00000000 };
-
-    // Load the full matrix into registers
-    __m128 _L1 = matrix.template packet<MatrixAlignment>( 0);
-    __m128 _L2 = matrix.template packet<MatrixAlignment>( 4);
-    __m128 _L3 = matrix.template packet<MatrixAlignment>( 8);
-    __m128 _L4 = matrix.template packet<MatrixAlignment>(12);
-
-    // The inverse is calculated using "Divide and Conquer" technique. The
-    // original matrix is divide into four 2x2 sub-matrices. Since each
-    // register holds four matrix element, the smaller matrices are
-    // represented as a registers. Hence we get a better locality of the
-    // calculations.
-
-    __m128 A, B, C, D; // the four sub-matrices
-    if(!StorageOrdersMatch)
-    {
-      A = _mm_unpacklo_ps(_L1, _L2);
-      B = _mm_unpacklo_ps(_L3, _L4);
-      C = _mm_unpackhi_ps(_L1, _L2);
-      D = _mm_unpackhi_ps(_L3, _L4);
-    }
-    else
-    {
-      A = _mm_movelh_ps(_L1, _L2);
-      B = _mm_movehl_ps(_L2, _L1);
-      C = _mm_movelh_ps(_L3, _L4);
-      D = _mm_movehl_ps(_L4, _L3);
-    }
-
-    __m128 iA, iB, iC, iD,                 // partial inverse of the sub-matrices
-            DC, AB;
-    __m128 dA, dB, dC, dD;                 // determinant of the sub-matrices
-    __m128 det, d, d1, d2;
-    __m128 rd;                             // reciprocal of the determinant
-
-    //  AB = A# * B
-    AB = _mm_mul_ps(_mm_shuffle_ps(A,A,0x0F), B);
-    AB = _mm_sub_ps(AB,_mm_mul_ps(_mm_shuffle_ps(A,A,0xA5), _mm_shuffle_ps(B,B,0x4E)));
-    //  DC = D# * C
-    DC = _mm_mul_ps(_mm_shuffle_ps(D,D,0x0F), C);
-    DC = _mm_sub_ps(DC,_mm_mul_ps(_mm_shuffle_ps(D,D,0xA5), _mm_shuffle_ps(C,C,0x4E)));
-
-    //  dA = |A|
-    dA = _mm_mul_ps(_mm_shuffle_ps(A, A, 0x5F),A);
-    dA = _mm_sub_ss(dA, _mm_movehl_ps(dA,dA));
-    //  dB = |B|
-    dB = _mm_mul_ps(_mm_shuffle_ps(B, B, 0x5F),B);
-    dB = _mm_sub_ss(dB, _mm_movehl_ps(dB,dB));
-
-    //  dC = |C|
-    dC = _mm_mul_ps(_mm_shuffle_ps(C, C, 0x5F),C);
-    dC = _mm_sub_ss(dC, _mm_movehl_ps(dC,dC));
-    //  dD = |D|
-    dD = _mm_mul_ps(_mm_shuffle_ps(D, D, 0x5F),D);
-    dD = _mm_sub_ss(dD, _mm_movehl_ps(dD,dD));
-
-    //  d = trace(AB*DC) = trace(A#*B*D#*C)
-    d = _mm_mul_ps(_mm_shuffle_ps(DC,DC,0xD8),AB);
-
-    //  iD = C*A#*B
-    iD = _mm_mul_ps(_mm_shuffle_ps(C,C,0xA0), _mm_movelh_ps(AB,AB));
-    iD = _mm_add_ps(iD,_mm_mul_ps(_mm_shuffle_ps(C,C,0xF5), _mm_movehl_ps(AB,AB)));
-    //  iA = B*D#*C
-    iA = _mm_mul_ps(_mm_shuffle_ps(B,B,0xA0), _mm_movelh_ps(DC,DC));
-    iA = _mm_add_ps(iA,_mm_mul_ps(_mm_shuffle_ps(B,B,0xF5), _mm_movehl_ps(DC,DC)));
-
-    //  d = trace(AB*DC) = trace(A#*B*D#*C) [continue]
-    d  = _mm_add_ps(d, _mm_movehl_ps(d, d));
-    d  = _mm_add_ss(d, _mm_shuffle_ps(d, d, 1));
-    d1 = _mm_mul_ss(dA,dD);
-    d2 = _mm_mul_ss(dB,dC);
-
-    //  iD = D*|A| - C*A#*B
-    iD = _mm_sub_ps(_mm_mul_ps(D,_mm_shuffle_ps(dA,dA,0)), iD);
-
-    //  iA = A*|D| - B*D#*C;
-    iA = _mm_sub_ps(_mm_mul_ps(A,_mm_shuffle_ps(dD,dD,0)), iA);
-
-    //  det = |A|*|D| + |B|*|C| - trace(A#*B*D#*C)
-    det = _mm_sub_ss(_mm_add_ss(d1,d2),d);
-    rd  = _mm_div_ss(_mm_set_ss(1.0f), det);
-
-//     #ifdef ZERO_SINGULAR
-//         rd = _mm_and_ps(_mm_cmpneq_ss(det,_mm_setzero_ps()), rd);
-//     #endif
-
-    //  iB = D * (A#B)# = D*B#*A
-    iB = _mm_mul_ps(D, _mm_shuffle_ps(AB,AB,0x33));
-    iB = _mm_sub_ps(iB, _mm_mul_ps(_mm_shuffle_ps(D,D,0xB1), _mm_shuffle_ps(AB,AB,0x66)));
-    //  iC = A * (D#C)# = A*C#*D
-    iC = _mm_mul_ps(A, _mm_shuffle_ps(DC,DC,0x33));
-    iC = _mm_sub_ps(iC, _mm_mul_ps(_mm_shuffle_ps(A,A,0xB1), _mm_shuffle_ps(DC,DC,0x66)));
-
-    rd = _mm_shuffle_ps(rd,rd,0);
-    rd = _mm_xor_ps(rd, _mm_load_ps((float*)_Sign_PNNP));
-
-    //  iB = C*|B| - D*B#*A
-    iB = _mm_sub_ps(_mm_mul_ps(C,_mm_shuffle_ps(dB,dB,0)), iB);
-
-    //  iC = B*|C| - A*C#*D;
-    iC = _mm_sub_ps(_mm_mul_ps(B,_mm_shuffle_ps(dC,dC,0)), iC);
-
-    //  iX = iX / det
-    iA = _mm_mul_ps(rd,iA);
-    iB = _mm_mul_ps(rd,iB);
-    iC = _mm_mul_ps(rd,iC);
-    iD = _mm_mul_ps(rd,iD);
-
-    result.template writePacket<ResultAlignment>( 0, _mm_shuffle_ps(iA,iB,0x77));
-    result.template writePacket<ResultAlignment>( 4, _mm_shuffle_ps(iA,iB,0x22));
-    result.template writePacket<ResultAlignment>( 8, _mm_shuffle_ps(iC,iD,0x77));
-    result.template writePacket<ResultAlignment>(12, _mm_shuffle_ps(iC,iD,0x22));
-  }
-
-};
-
-template<typename MatrixType, typename ResultType>
-struct compute_inverse_size4<Architecture::SSE, double, MatrixType, ResultType>
-{
-  enum {
-    MatrixAlignment = bool(MatrixType::Flags&AlignedBit),
-    ResultAlignment = bool(ResultType::Flags&AlignedBit),
-    StorageOrdersMatch  = (MatrixType::Flags&RowMajorBit) == (ResultType::Flags&RowMajorBit)
-  };
-  static void run(const MatrixType& matrix, ResultType& result)
-  {
-    const __m128d _Sign_NP = _mm_castsi128_pd(_mm_set_epi32(0x0,0x0,0x80000000,0x0));
-    const __m128d _Sign_PN = _mm_castsi128_pd(_mm_set_epi32(0x80000000,0x0,0x0,0x0));
-
-    // The inverse is calculated using "Divide and Conquer" technique. The
-    // original matrix is divide into four 2x2 sub-matrices. Since each
-    // register of the matrix holds two element, the smaller matrices are
-    // consisted of two registers. Hence we get a better locality of the
-    // calculations.
-
-    // the four sub-matrices
-    __m128d A1, A2, B1, B2, C1, C2, D1, D2;
-    
-    if(StorageOrdersMatch)
-    {
-      A1 = matrix.template packet<MatrixAlignment>( 0); B1 = matrix.template packet<MatrixAlignment>( 2);
-      A2 = matrix.template packet<MatrixAlignment>( 4); B2 = matrix.template packet<MatrixAlignment>( 6);
-      C1 = matrix.template packet<MatrixAlignment>( 8); D1 = matrix.template packet<MatrixAlignment>(10);
-      C2 = matrix.template packet<MatrixAlignment>(12); D2 = matrix.template packet<MatrixAlignment>(14);
-    }
-    else
-    {
-      __m128d tmp;
-      A1 = matrix.template packet<MatrixAlignment>( 0); C1 = matrix.template packet<MatrixAlignment>( 2);
-      A2 = matrix.template packet<MatrixAlignment>( 4); C2 = matrix.template packet<MatrixAlignment>( 6);
-      tmp = A1;
-      A1 = _mm_unpacklo_pd(A1,A2);
-      A2 = _mm_unpackhi_pd(tmp,A2);
-      tmp = C1;
-      C1 = _mm_unpacklo_pd(C1,C2);
-      C2 = _mm_unpackhi_pd(tmp,C2);
-      
-      B1 = matrix.template packet<MatrixAlignment>( 8); D1 = matrix.template packet<MatrixAlignment>(10);
-      B2 = matrix.template packet<MatrixAlignment>(12); D2 = matrix.template packet<MatrixAlignment>(14);
-      tmp = B1;
-      B1 = _mm_unpacklo_pd(B1,B2);
-      B2 = _mm_unpackhi_pd(tmp,B2);
-      tmp = D1;
-      D1 = _mm_unpacklo_pd(D1,D2);
-      D2 = _mm_unpackhi_pd(tmp,D2);
-    }
-    
-    __m128d iA1, iA2, iB1, iB2, iC1, iC2, iD1, iD2,     // partial invese of the sub-matrices
-            DC1, DC2, AB1, AB2;
-    __m128d dA, dB, dC, dD;     // determinant of the sub-matrices
-    __m128d det, d1, d2, rd;
-
-    //  dA = |A|
-    dA = _mm_shuffle_pd(A2, A2, 1);
-    dA = _mm_mul_pd(A1, dA);
-    dA = _mm_sub_sd(dA, _mm_shuffle_pd(dA,dA,3));
-    //  dB = |B|
-    dB = _mm_shuffle_pd(B2, B2, 1);
-    dB = _mm_mul_pd(B1, dB);
-    dB = _mm_sub_sd(dB, _mm_shuffle_pd(dB,dB,3));
-
-    //  AB = A# * B
-    AB1 = _mm_mul_pd(B1, _mm_shuffle_pd(A2,A2,3));
-    AB2 = _mm_mul_pd(B2, _mm_shuffle_pd(A1,A1,0));
-    AB1 = _mm_sub_pd(AB1, _mm_mul_pd(B2, _mm_shuffle_pd(A1,A1,3)));
-    AB2 = _mm_sub_pd(AB2, _mm_mul_pd(B1, _mm_shuffle_pd(A2,A2,0)));
-
-    //  dC = |C|
-    dC = _mm_shuffle_pd(C2, C2, 1);
-    dC = _mm_mul_pd(C1, dC);
-    dC = _mm_sub_sd(dC, _mm_shuffle_pd(dC,dC,3));
-    //  dD = |D|
-    dD = _mm_shuffle_pd(D2, D2, 1);
-    dD = _mm_mul_pd(D1, dD);
-    dD = _mm_sub_sd(dD, _mm_shuffle_pd(dD,dD,3));
-
-    //  DC = D# * C
-    DC1 = _mm_mul_pd(C1, _mm_shuffle_pd(D2,D2,3));
-    DC2 = _mm_mul_pd(C2, _mm_shuffle_pd(D1,D1,0));
-    DC1 = _mm_sub_pd(DC1, _mm_mul_pd(C2, _mm_shuffle_pd(D1,D1,3)));
-    DC2 = _mm_sub_pd(DC2, _mm_mul_pd(C1, _mm_shuffle_pd(D2,D2,0)));
-
-    //  rd = trace(AB*DC) = trace(A#*B*D#*C)
-    d1 = _mm_mul_pd(AB1, _mm_shuffle_pd(DC1, DC2, 0));
-    d2 = _mm_mul_pd(AB2, _mm_shuffle_pd(DC1, DC2, 3));
-    rd = _mm_add_pd(d1, d2);
-    rd = _mm_add_sd(rd, _mm_shuffle_pd(rd, rd,3));
-
-    //  iD = C*A#*B
-    iD1 = _mm_mul_pd(AB1, _mm_shuffle_pd(C1,C1,0));
-    iD2 = _mm_mul_pd(AB1, _mm_shuffle_pd(C2,C2,0));
-    iD1 = _mm_add_pd(iD1, _mm_mul_pd(AB2, _mm_shuffle_pd(C1,C1,3)));
-    iD2 = _mm_add_pd(iD2, _mm_mul_pd(AB2, _mm_shuffle_pd(C2,C2,3)));
-
-    //  iA = B*D#*C
-    iA1 = _mm_mul_pd(DC1, _mm_shuffle_pd(B1,B1,0));
-    iA2 = _mm_mul_pd(DC1, _mm_shuffle_pd(B2,B2,0));
-    iA1 = _mm_add_pd(iA1, _mm_mul_pd(DC2, _mm_shuffle_pd(B1,B1,3)));
-    iA2 = _mm_add_pd(iA2, _mm_mul_pd(DC2, _mm_shuffle_pd(B2,B2,3)));
-
-    //  iD = D*|A| - C*A#*B
-    dA = _mm_shuffle_pd(dA,dA,0);
-    iD1 = _mm_sub_pd(_mm_mul_pd(D1, dA), iD1);
-    iD2 = _mm_sub_pd(_mm_mul_pd(D2, dA), iD2);
-
-    //  iA = A*|D| - B*D#*C;
-    dD = _mm_shuffle_pd(dD,dD,0);
-    iA1 = _mm_sub_pd(_mm_mul_pd(A1, dD), iA1);
-    iA2 = _mm_sub_pd(_mm_mul_pd(A2, dD), iA2);
-
-    d1 = _mm_mul_sd(dA, dD);
-    d2 = _mm_mul_sd(dB, dC);
-
-    //  iB = D * (A#B)# = D*B#*A
-    iB1 = _mm_mul_pd(D1, _mm_shuffle_pd(AB2,AB1,1));
-    iB2 = _mm_mul_pd(D2, _mm_shuffle_pd(AB2,AB1,1));
-    iB1 = _mm_sub_pd(iB1, _mm_mul_pd(_mm_shuffle_pd(D1,D1,1), _mm_shuffle_pd(AB2,AB1,2)));
-    iB2 = _mm_sub_pd(iB2, _mm_mul_pd(_mm_shuffle_pd(D2,D2,1), _mm_shuffle_pd(AB2,AB1,2)));
-
-    //  det = |A|*|D| + |B|*|C| - trace(A#*B*D#*C)
-    det = _mm_add_sd(d1, d2);
-    det = _mm_sub_sd(det, rd);
-
-    //  iC = A * (D#C)# = A*C#*D
-    iC1 = _mm_mul_pd(A1, _mm_shuffle_pd(DC2,DC1,1));
-    iC2 = _mm_mul_pd(A2, _mm_shuffle_pd(DC2,DC1,1));
-    iC1 = _mm_sub_pd(iC1, _mm_mul_pd(_mm_shuffle_pd(A1,A1,1), _mm_shuffle_pd(DC2,DC1,2)));
-    iC2 = _mm_sub_pd(iC2, _mm_mul_pd(_mm_shuffle_pd(A2,A2,1), _mm_shuffle_pd(DC2,DC1,2)));
-
-    rd = _mm_div_sd(_mm_set_sd(1.0), det);
-//     #ifdef ZERO_SINGULAR
-//         rd = _mm_and_pd(_mm_cmpneq_sd(det,_mm_setzero_pd()), rd);
-//     #endif
-    rd = _mm_shuffle_pd(rd,rd,0);
-
-    //  iB = C*|B| - D*B#*A
-    dB = _mm_shuffle_pd(dB,dB,0);
-    iB1 = _mm_sub_pd(_mm_mul_pd(C1, dB), iB1);
-    iB2 = _mm_sub_pd(_mm_mul_pd(C2, dB), iB2);
-
-    d1 = _mm_xor_pd(rd, _Sign_PN);
-    d2 = _mm_xor_pd(rd, _Sign_NP);
-
-    //  iC = B*|C| - A*C#*D;
-    dC = _mm_shuffle_pd(dC,dC,0);
-    iC1 = _mm_sub_pd(_mm_mul_pd(B1, dC), iC1);
-    iC2 = _mm_sub_pd(_mm_mul_pd(B2, dC), iC2);
-
-    result.template writePacket<ResultAlignment>( 0, _mm_mul_pd(_mm_shuffle_pd(iA2, iA1, 3), d1));     // iA# / det
-    result.template writePacket<ResultAlignment>( 4, _mm_mul_pd(_mm_shuffle_pd(iA2, iA1, 0), d2));
-    result.template writePacket<ResultAlignment>( 2, _mm_mul_pd(_mm_shuffle_pd(iB2, iB1, 3), d1));     // iB# / det
-    result.template writePacket<ResultAlignment>( 6, _mm_mul_pd(_mm_shuffle_pd(iB2, iB1, 0), d2));
-    result.template writePacket<ResultAlignment>( 8, _mm_mul_pd(_mm_shuffle_pd(iC2, iC1, 3), d1));     // iC# / det
-    result.template writePacket<ResultAlignment>(12, _mm_mul_pd(_mm_shuffle_pd(iC2, iC1, 0), d2));
-    result.template writePacket<ResultAlignment>(10, _mm_mul_pd(_mm_shuffle_pd(iD2, iD1, 3), d1));     // iD# / det
-    result.template writePacket<ResultAlignment>(14, _mm_mul_pd(_mm_shuffle_pd(iD2, iD1, 0), d2));
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_INVERSE_SSE_H
diff --git a/lib/Eigen/src/MetisSupport/CMakeLists.txt b/lib/Eigen/src/MetisSupport/CMakeLists.txt
deleted file mode 100644
index 2bad3141..00000000
--- a/lib/Eigen/src/MetisSupport/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_MetisSupport_SRCS "*.h")
-
-INSTALL(FILES 
-  ${Eigen_MetisSupport_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/MetisSupport COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/MetisSupport/MetisSupport.h b/lib/Eigen/src/MetisSupport/MetisSupport.h
deleted file mode 100644
index f2bbef20..00000000
--- a/lib/Eigen/src/MetisSupport/MetisSupport.h
+++ /dev/null
@@ -1,137 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#ifndef METIS_SUPPORT_H
-#define METIS_SUPPORT_H
-
-namespace Eigen {
-/**
- * Get the fill-reducing ordering from the METIS package
- * 
- * If A is the original matrix and Ap is the permuted matrix, 
- * the fill-reducing permutation is defined as follows :
- * Row (column) i of A is the matperm(i) row (column) of Ap. 
- * WARNING: As computed by METIS, this corresponds to the vector iperm (instead of perm)
- */
-template <typename Index>
-class MetisOrdering
-{
-public:
-  typedef PermutationMatrix<Dynamic,Dynamic,Index> PermutationType;
-  typedef Matrix<Index,Dynamic,1> IndexVector; 
-  
-  template <typename MatrixType>
-  void get_symmetrized_graph(const MatrixType& A)
-  {
-    Index m = A.cols(); 
-    eigen_assert((A.rows() == A.cols()) && "ONLY FOR SQUARED MATRICES");
-    // Get the transpose of the input matrix 
-    MatrixType At = A.transpose(); 
-    // Get the number of nonzeros elements in each row/col of At+A
-    Index TotNz = 0; 
-    IndexVector visited(m); 
-    visited.setConstant(-1); 
-    for (int j = 0; j < m; j++)
-    {
-      // Compute the union structure of of A(j,:) and At(j,:)
-      visited(j) = j; // Do not include the diagonal element
-      // Get the nonzeros in row/column j of A
-      for (typename MatrixType::InnerIterator it(A, j); it; ++it)
-      {
-        Index idx = it.index(); // Get the row index (for column major) or column index (for row major)
-        if (visited(idx) != j ) 
-        {
-          visited(idx) = j; 
-          ++TotNz; 
-        }
-      }
-      //Get the nonzeros in row/column j of At
-      for (typename MatrixType::InnerIterator it(At, j); it; ++it)
-      {
-        Index idx = it.index(); 
-        if(visited(idx) != j)
-        {
-          visited(idx) = j; 
-          ++TotNz; 
-        }
-      }
-    }
-    // Reserve place for A + At
-    m_indexPtr.resize(m+1);
-    m_innerIndices.resize(TotNz); 
-
-    // Now compute the real adjacency list of each column/row 
-    visited.setConstant(-1); 
-    Index CurNz = 0; 
-    for (int j = 0; j < m; j++)
-    {
-      m_indexPtr(j) = CurNz; 
-      
-      visited(j) = j; // Do not include the diagonal element
-      // Add the pattern of row/column j of A to A+At
-      for (typename MatrixType::InnerIterator it(A,j); it; ++it)
-      {
-        Index idx = it.index(); // Get the row index (for column major) or column index (for row major)
-        if (visited(idx) != j ) 
-        {
-          visited(idx) = j; 
-          m_innerIndices(CurNz) = idx; 
-          CurNz++; 
-        }
-      }
-      //Add the pattern of row/column j of At to A+At
-      for (typename MatrixType::InnerIterator it(At, j); it; ++it)
-      {
-        Index idx = it.index(); 
-        if(visited(idx) != j)
-        {
-          visited(idx) = j; 
-          m_innerIndices(CurNz) = idx; 
-          ++CurNz; 
-        }
-      }
-    }
-    m_indexPtr(m) = CurNz;    
-  }
-  
-  template <typename MatrixType>
-  void operator() (const MatrixType& A, PermutationType& matperm)
-  {
-     Index m = A.cols();
-     IndexVector perm(m),iperm(m); 
-    // First, symmetrize the matrix graph. 
-     get_symmetrized_graph(A); 
-     int output_error;
-     
-     // Call the fill-reducing routine from METIS 
-     output_error = METIS_NodeND(&m, m_indexPtr.data(), m_innerIndices.data(), NULL, NULL, perm.data(), iperm.data());
-     
-    if(output_error != METIS_OK) 
-    {
-      //FIXME The ordering interface should define a class of possible errors 
-     std::cerr << "ERROR WHILE CALLING THE METIS PACKAGE \n"; 
-     return; 
-    }
-    
-    // Get the fill-reducing permutation 
-    //NOTE:  If Ap is the permuted matrix then perm and iperm vectors are defined as follows 
-    // Row (column) i of Ap is the perm(i) row(column) of A, and row (column) i of A is the iperm(i) row(column) of Ap
-    
-     matperm.resize(m);
-     for (int j = 0; j < m; j++)
-       matperm.indices()(iperm(j)) = j;
-   
-  }
-  
-  protected:
-    IndexVector m_indexPtr; // Pointer to the adjacenccy list of each row/column
-    IndexVector m_innerIndices; // Adjacency list 
-};
-
-}// end namespace eigen 
-#endif
diff --git a/lib/Eigen/src/OrderingMethods/Amd.h b/lib/Eigen/src/OrderingMethods/Amd.h
deleted file mode 100644
index 658b954c..00000000
--- a/lib/Eigen/src/OrderingMethods/Amd.h
+++ /dev/null
@@ -1,444 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-
-/*
-
-NOTE: this routine has been adapted from the CSparse library:
-
-Copyright (c) 2006, Timothy A. Davis.
-http://www.suitesparse.com
-
-CSparse is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License, or (at your option) any later version.
-
-CSparse is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this Module; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-*/
-
-#include "../Core/util/NonMPL2.h"
-
-#ifndef EIGEN_SPARSE_AMD_H
-#define EIGEN_SPARSE_AMD_H
-
-namespace Eigen { 
-
-namespace internal {
-  
-template<typename T> inline T amd_flip(const T& i) { return -i-2; }
-template<typename T> inline T amd_unflip(const T& i) { return i<0 ? amd_flip(i) : i; }
-template<typename T0, typename T1> inline bool amd_marked(const T0* w, const T1& j) { return w[j]<0; }
-template<typename T0, typename T1> inline void amd_mark(const T0* w, const T1& j) { return w[j] = amd_flip(w[j]); }
-
-/* clear w */
-template<typename Index>
-static int cs_wclear (Index mark, Index lemax, Index *w, Index n)
-{
-  Index k;
-  if(mark < 2 || (mark + lemax < 0))
-  {
-    for(k = 0; k < n; k++)
-      if(w[k] != 0)
-        w[k] = 1;
-    mark = 2;
-  }
-  return (mark);     /* at this point, w[0..n-1] < mark holds */
-}
-
-/* depth-first search and postorder of a tree rooted at node j */
-template<typename Index>
-Index cs_tdfs(Index j, Index k, Index *head, const Index *next, Index *post, Index *stack)
-{
-  int i, p, top = 0;
-  if(!head || !next || !post || !stack) return (-1);    /* check inputs */
-  stack[0] = j;                 /* place j on the stack */
-  while (top >= 0)                /* while (stack is not empty) */
-  {
-    p = stack[top];           /* p = top of stack */
-    i = head[p];              /* i = youngest child of p */
-    if(i == -1)
-    {
-      top--;                 /* p has no unordered children left */
-      post[k++] = p;        /* node p is the kth postordered node */
-    }
-    else
-    {
-      head[p] = next[i];   /* remove i from children of p */
-      stack[++top] = i;     /* start dfs on child node i */
-    }
-  }
-  return k;
-}
-
-
-/** \internal
-  * \ingroup OrderingMethods_Module 
-  * Approximate minimum degree ordering algorithm.
-  * \returns the permutation P reducing the fill-in of the input matrix \a C
-  * The input matrix \a C must be a selfadjoint compressed column major SparseMatrix object. Both the upper and lower parts have to be stored, but the diagonal entries are optional.
-  * On exit the values of C are destroyed */
-template<typename Scalar, typename Index>
-void minimum_degree_ordering(SparseMatrix<Scalar,ColMajor,Index>& C, PermutationMatrix<Dynamic,Dynamic,Index>& perm)
-{
-  using std::sqrt;
-  
-  int d, dk, dext, lemax = 0, e, elenk, eln, i, j, k, k1,
-      k2, k3, jlast, ln, dense, nzmax, mindeg = 0, nvi, nvj, nvk, mark, wnvi,
-      ok, nel = 0, p, p1, p2, p3, p4, pj, pk, pk1, pk2, pn, q, t;
-  unsigned int h;
-  
-  Index n = C.cols();
-  dense = std::max<Index> (16, Index(10 * sqrt(double(n))));   /* find dense threshold */
-  dense = std::min<Index> (n-2, dense);
-  
-  Index cnz = C.nonZeros();
-  perm.resize(n+1);
-  t = cnz + cnz/5 + 2*n;                 /* add elbow room to C */
-  C.resizeNonZeros(t);
-  
-  Index* W       = new Index[8*(n+1)]; /* get workspace */
-  Index* len     = W;
-  Index* nv      = W +   (n+1);
-  Index* next    = W + 2*(n+1);
-  Index* head    = W + 3*(n+1);
-  Index* elen    = W + 4*(n+1);
-  Index* degree  = W + 5*(n+1);
-  Index* w       = W + 6*(n+1);
-  Index* hhead   = W + 7*(n+1);
-  Index* last    = perm.indices().data();                              /* use P as workspace for last */
-  
-  /* --- Initialize quotient graph ---------------------------------------- */
-  Index* Cp = C.outerIndexPtr();
-  Index* Ci = C.innerIndexPtr();
-  for(k = 0; k < n; k++)
-    len[k] = Cp[k+1] - Cp[k];
-  len[n] = 0;
-  nzmax = t;
-  
-  for(i = 0; i <= n; i++)
-  {
-    head[i]   = -1;                     // degree list i is empty
-    last[i]   = -1;
-    next[i]   = -1;
-    hhead[i]  = -1;                     // hash list i is empty 
-    nv[i]     = 1;                      // node i is just one node
-    w[i]      = 1;                      // node i is alive
-    elen[i]   = 0;                      // Ek of node i is empty
-    degree[i] = len[i];                 // degree of node i
-  }
-  mark = internal::cs_wclear<Index>(0, 0, w, n);         /* clear w */
-  
-  /* --- Initialize degree lists ------------------------------------------ */
-  for(i = 0; i < n; i++)
-  {
-    bool has_diag = false;
-    for(p = Cp[i]; p<Cp[i+1]; ++p)
-      if(Ci[p]==i)
-      {
-        has_diag = true;
-        break;
-      }
-   
-    d = degree[i];
-    if(d == 1 && has_diag)           /* node i is empty */
-    {
-      elen[i] = -2;                 /* element i is dead */
-      nel++;
-      Cp[i] = -1;                   /* i is a root of assembly tree */
-      w[i] = 0;
-    }
-    else if(d > dense || !has_diag)  /* node i is dense or has no structural diagonal element */
-    {
-      nv[i] = 0;                    /* absorb i into element n */
-      elen[i] = -1;                 /* node i is dead */
-      nel++;
-      Cp[i] = amd_flip (n);
-      nv[n]++;
-    }
-    else
-    {
-      if(head[d] != -1) last[head[d]] = i;
-      next[i] = head[d];           /* put node i in degree list d */
-      head[d] = i;
-    }
-  }
-  
-  elen[n] = -2;                         /* n is a dead element */
-  Cp[n] = -1;                           /* n is a root of assembly tree */
-  w[n] = 0;                             /* n is a dead element */
-  
-  while (nel < n)                         /* while (selecting pivots) do */
-  {
-    /* --- Select node of minimum approximate degree -------------------- */
-    for(k = -1; mindeg < n && (k = head[mindeg]) == -1; mindeg++) {}
-    if(next[k] != -1) last[next[k]] = -1;
-    head[mindeg] = next[k];          /* remove k from degree list */
-    elenk = elen[k];                  /* elenk = |Ek| */
-    nvk = nv[k];                      /* # of nodes k represents */
-    nel += nvk;                        /* nv[k] nodes of A eliminated */
-    
-    /* --- Garbage collection ------------------------------------------- */
-    if(elenk > 0 && cnz + mindeg >= nzmax)
-    {
-      for(j = 0; j < n; j++)
-      {
-        if((p = Cp[j]) >= 0)      /* j is a live node or element */
-        {
-          Cp[j] = Ci[p];          /* save first entry of object */
-          Ci[p] = amd_flip (j);    /* first entry is now amd_flip(j) */
-        }
-      }
-      for(q = 0, p = 0; p < cnz; ) /* scan all of memory */
-      {
-        if((j = amd_flip (Ci[p++])) >= 0)  /* found object j */
-        {
-          Ci[q] = Cp[j];       /* restore first entry of object */
-          Cp[j] = q++;          /* new pointer to object j */
-          for(k3 = 0; k3 < len[j]-1; k3++) Ci[q++] = Ci[p++];
-        }
-      }
-      cnz = q;                       /* Ci[cnz...nzmax-1] now free */
-    }
-    
-    /* --- Construct new element ---------------------------------------- */
-    dk = 0;
-    nv[k] = -nvk;                     /* flag k as in Lk */
-    p = Cp[k];
-    pk1 = (elenk == 0) ? p : cnz;      /* do in place if elen[k] == 0 */
-    pk2 = pk1;
-    for(k1 = 1; k1 <= elenk + 1; k1++)
-    {
-      if(k1 > elenk)
-      {
-        e = k;                     /* search the nodes in k */
-        pj = p;                    /* list of nodes starts at Ci[pj]*/
-        ln = len[k] - elenk;      /* length of list of nodes in k */
-      }
-      else
-      {
-        e = Ci[p++];              /* search the nodes in e */
-        pj = Cp[e];
-        ln = len[e];              /* length of list of nodes in e */
-      }
-      for(k2 = 1; k2 <= ln; k2++)
-      {
-        i = Ci[pj++];
-        if((nvi = nv[i]) <= 0) continue; /* node i dead, or seen */
-        dk += nvi;                 /* degree[Lk] += size of node i */
-        nv[i] = -nvi;             /* negate nv[i] to denote i in Lk*/
-        Ci[pk2++] = i;            /* place i in Lk */
-        if(next[i] != -1) last[next[i]] = last[i];
-        if(last[i] != -1)         /* remove i from degree list */
-        {
-          next[last[i]] = next[i];
-        }
-        else
-        {
-          head[degree[i]] = next[i];
-        }
-      }
-      if(e != k)
-      {
-        Cp[e] = amd_flip (k);      /* absorb e into k */
-        w[e] = 0;                 /* e is now a dead element */
-      }
-    }
-    if(elenk != 0) cnz = pk2;         /* Ci[cnz...nzmax] is free */
-    degree[k] = dk;                   /* external degree of k - |Lk\i| */
-    Cp[k] = pk1;                      /* element k is in Ci[pk1..pk2-1] */
-    len[k] = pk2 - pk1;
-    elen[k] = -2;                     /* k is now an element */
-    
-    /* --- Find set differences ----------------------------------------- */
-    mark = internal::cs_wclear<Index>(mark, lemax, w, n);  /* clear w if necessary */
-    for(pk = pk1; pk < pk2; pk++)    /* scan 1: find |Le\Lk| */
-    {
-      i = Ci[pk];
-      if((eln = elen[i]) <= 0) continue;/* skip if elen[i] empty */
-      nvi = -nv[i];                      /* nv[i] was negated */
-      wnvi = mark - nvi;
-      for(p = Cp[i]; p <= Cp[i] + eln - 1; p++)  /* scan Ei */
-      {
-        e = Ci[p];
-        if(w[e] >= mark)
-        {
-          w[e] -= nvi;          /* decrement |Le\Lk| */
-        }
-        else if(w[e] != 0)        /* ensure e is a live element */
-        {
-          w[e] = degree[e] + wnvi; /* 1st time e seen in scan 1 */
-        }
-      }
-    }
-    
-    /* --- Degree update ------------------------------------------------ */
-    for(pk = pk1; pk < pk2; pk++)    /* scan2: degree update */
-    {
-      i = Ci[pk];                   /* consider node i in Lk */
-      p1 = Cp[i];
-      p2 = p1 + elen[i] - 1;
-      pn = p1;
-      for(h = 0, d = 0, p = p1; p <= p2; p++)    /* scan Ei */
-      {
-        e = Ci[p];
-        if(w[e] != 0)             /* e is an unabsorbed element */
-        {
-          dext = w[e] - mark;   /* dext = |Le\Lk| */
-          if(dext > 0)
-          {
-            d += dext;         /* sum up the set differences */
-            Ci[pn++] = e;     /* keep e in Ei */
-            h += e;            /* compute the hash of node i */
-          }
-          else
-          {
-            Cp[e] = amd_flip (k);  /* aggressive absorb. e->k */
-            w[e] = 0;             /* e is a dead element */
-          }
-        }
-      }
-      elen[i] = pn - p1 + 1;        /* elen[i] = |Ei| */
-      p3 = pn;
-      p4 = p1 + len[i];
-      for(p = p2 + 1; p < p4; p++) /* prune edges in Ai */
-      {
-        j = Ci[p];
-        if((nvj = nv[j]) <= 0) continue; /* node j dead or in Lk */
-        d += nvj;                  /* degree(i) += |j| */
-        Ci[pn++] = j;             /* place j in node list of i */
-        h += j;                    /* compute hash for node i */
-      }
-      if(d == 0)                     /* check for mass elimination */
-      {
-        Cp[i] = amd_flip (k);      /* absorb i into k */
-        nvi = -nv[i];
-        dk -= nvi;                 /* |Lk| -= |i| */
-        nvk += nvi;                /* |k| += nv[i] */
-        nel += nvi;
-        nv[i] = 0;
-        elen[i] = -1;             /* node i is dead */
-      }
-      else
-      {
-        degree[i] = std::min<Index> (degree[i], d);   /* update degree(i) */
-        Ci[pn] = Ci[p3];         /* move first node to end */
-        Ci[p3] = Ci[p1];         /* move 1st el. to end of Ei */
-        Ci[p1] = k;               /* add k as 1st element in of Ei */
-        len[i] = pn - p1 + 1;     /* new len of adj. list of node i */
-        h %= n;                    /* finalize hash of i */
-        next[i] = hhead[h];      /* place i in hash bucket */
-        hhead[h] = i;
-        last[i] = h;              /* save hash of i in last[i] */
-      }
-    }                                   /* scan2 is done */
-    degree[k] = dk;                   /* finalize |Lk| */
-    lemax = std::max<Index>(lemax, dk);
-    mark = internal::cs_wclear<Index>(mark+lemax, lemax, w, n);    /* clear w */
-    
-    /* --- Supernode detection ------------------------------------------ */
-    for(pk = pk1; pk < pk2; pk++)
-    {
-      i = Ci[pk];
-      if(nv[i] >= 0) continue;         /* skip if i is dead */
-      h = last[i];                      /* scan hash bucket of node i */
-      i = hhead[h];
-      hhead[h] = -1;                    /* hash bucket will be empty */
-      for(; i != -1 && next[i] != -1; i = next[i], mark++)
-      {
-        ln = len[i];
-        eln = elen[i];
-        for(p = Cp[i]+1; p <= Cp[i] + ln-1; p++) w[Ci[p]] = mark;
-        jlast = i;
-        for(j = next[i]; j != -1; ) /* compare i with all j */
-        {
-          ok = (len[j] == ln) && (elen[j] == eln);
-          for(p = Cp[j] + 1; ok && p <= Cp[j] + ln - 1; p++)
-          {
-            if(w[Ci[p]] != mark) ok = 0;    /* compare i and j*/
-          }
-          if(ok)                     /* i and j are identical */
-          {
-            Cp[j] = amd_flip (i);  /* absorb j into i */
-            nv[i] += nv[j];
-            nv[j] = 0;
-            elen[j] = -1;         /* node j is dead */
-            j = next[j];          /* delete j from hash bucket */
-            next[jlast] = j;
-          }
-          else
-          {
-            jlast = j;             /* j and i are different */
-            j = next[j];
-          }
-        }
-      }
-    }
-    
-    /* --- Finalize new element------------------------------------------ */
-    for(p = pk1, pk = pk1; pk < pk2; pk++)   /* finalize Lk */
-    {
-      i = Ci[pk];
-      if((nvi = -nv[i]) <= 0) continue;/* skip if i is dead */
-      nv[i] = nvi;                      /* restore nv[i] */
-      d = degree[i] + dk - nvi;         /* compute external degree(i) */
-      d = std::min<Index> (d, n - nel - nvi);
-      if(head[d] != -1) last[head[d]] = i;
-      next[i] = head[d];               /* put i back in degree list */
-      last[i] = -1;
-      head[d] = i;
-      mindeg = std::min<Index> (mindeg, d);       /* find new minimum degree */
-      degree[i] = d;
-      Ci[p++] = i;                      /* place i in Lk */
-    }
-    nv[k] = nvk;                      /* # nodes absorbed into k */
-    if((len[k] = p-pk1) == 0)         /* length of adj list of element k*/
-    {
-      Cp[k] = -1;                   /* k is a root of the tree */
-      w[k] = 0;                     /* k is now a dead element */
-    }
-    if(elenk != 0) cnz = p;           /* free unused space in Lk */
-  }
-  
-  /* --- Postordering ----------------------------------------------------- */
-  for(i = 0; i < n; i++) Cp[i] = amd_flip (Cp[i]);/* fix assembly tree */
-  for(j = 0; j <= n; j++) head[j] = -1;
-  for(j = n; j >= 0; j--)              /* place unordered nodes in lists */
-  {
-    if(nv[j] > 0) continue;          /* skip if j is an element */
-    next[j] = head[Cp[j]];          /* place j in list of its parent */
-    head[Cp[j]] = j;
-  }
-  for(e = n; e >= 0; e--)              /* place elements in lists */
-  {
-    if(nv[e] <= 0) continue;         /* skip unless e is an element */
-    if(Cp[e] != -1)
-    {
-      next[e] = head[Cp[e]];      /* place e in list of its parent */
-      head[Cp[e]] = e;
-    }
-  }
-  for(k = 0, i = 0; i <= n; i++)       /* postorder the assembly tree */
-  {
-    if(Cp[i] == -1) k = internal::cs_tdfs<Index>(i, k, head, next, perm.indices().data(), w);
-  }
-  
-  perm.indices().conservativeResize(n);
-
-  delete[] W;
-}
-
-} // namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_AMD_H
diff --git a/lib/Eigen/src/OrderingMethods/CMakeLists.txt b/lib/Eigen/src/OrderingMethods/CMakeLists.txt
deleted file mode 100644
index 9f4bb275..00000000
--- a/lib/Eigen/src/OrderingMethods/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_OrderingMethods_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_OrderingMethods_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/OrderingMethods COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/OrderingMethods/Eigen_Colamd.h b/lib/Eigen/src/OrderingMethods/Eigen_Colamd.h
deleted file mode 100644
index 359fd441..00000000
--- a/lib/Eigen/src/OrderingMethods/Eigen_Colamd.h
+++ /dev/null
@@ -1,1843 +0,0 @@
-// // This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Desire Nuentsa Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// This file is modified from the colamd/symamd library. The copyright is below
-
-//   The authors of the code itself are Stefan I. Larimore and Timothy A.
-//   Davis (davis@cise.ufl.edu), University of Florida.  The algorithm was
-//   developed in collaboration with John Gilbert, Xerox PARC, and Esmond
-//   Ng, Oak Ridge National Laboratory.
-// 
-//     Date:
-// 
-//   September 8, 2003.  Version 2.3.
-// 
-//     Acknowledgements:
-// 
-//   This work was supported by the National Science Foundation, under
-//   grants DMS-9504974 and DMS-9803599.
-// 
-//     Notice:
-// 
-//   Copyright (c) 1998-2003 by the University of Florida.
-//   All Rights Reserved.
-// 
-//   THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-//   EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-// 
-//   Permission is hereby granted to use, copy, modify, and/or distribute
-//   this program, provided that the Copyright, this License, and the
-//   Availability of the original version is retained on all copies and made
-//   accessible to the end-user of any code or package that includes COLAMD
-//   or any modified version of COLAMD. 
-// 
-//     Availability:
-// 
-//   The colamd/symamd library is available at
-// 
-//       http://www.suitesparse.com
-
-  
-#ifndef EIGEN_COLAMD_H
-#define EIGEN_COLAMD_H
-
-namespace internal {
-/* Ensure that debugging is turned off: */
-#ifndef COLAMD_NDEBUG
-#define COLAMD_NDEBUG
-#endif /* NDEBUG */
-/* ========================================================================== */
-/* === Knob and statistics definitions ====================================== */
-/* ========================================================================== */
-
-/* size of the knobs [ ] array.  Only knobs [0..1] are currently used. */
-#define COLAMD_KNOBS 20
-
-/* number of output statistics.  Only stats [0..6] are currently used. */
-#define COLAMD_STATS 20 
-
-/* knobs [0] and stats [0]: dense row knob and output statistic. */
-#define COLAMD_DENSE_ROW 0
-
-/* knobs [1] and stats [1]: dense column knob and output statistic. */
-#define COLAMD_DENSE_COL 1
-
-/* stats [2]: memory defragmentation count output statistic */
-#define COLAMD_DEFRAG_COUNT 2
-
-/* stats [3]: colamd status:  zero OK, > 0 warning or notice, < 0 error */
-#define COLAMD_STATUS 3
-
-/* stats [4..6]: error info, or info on jumbled columns */ 
-#define COLAMD_INFO1 4
-#define COLAMD_INFO2 5
-#define COLAMD_INFO3 6
-
-/* error codes returned in stats [3]: */
-#define COLAMD_OK       (0)
-#define COLAMD_OK_BUT_JUMBLED     (1)
-#define COLAMD_ERROR_A_not_present    (-1)
-#define COLAMD_ERROR_p_not_present    (-2)
-#define COLAMD_ERROR_nrow_negative    (-3)
-#define COLAMD_ERROR_ncol_negative    (-4)
-#define COLAMD_ERROR_nnz_negative   (-5)
-#define COLAMD_ERROR_p0_nonzero     (-6)
-#define COLAMD_ERROR_A_too_small    (-7)
-#define COLAMD_ERROR_col_length_negative  (-8)
-#define COLAMD_ERROR_row_index_out_of_bounds  (-9)
-#define COLAMD_ERROR_out_of_memory    (-10)
-#define COLAMD_ERROR_internal_error   (-999)
-
-/* ========================================================================== */
-/* === Definitions ========================================================== */
-/* ========================================================================== */
-
-#define ONES_COMPLEMENT(r) (-(r)-1)
-
-/* -------------------------------------------------------------------------- */
-
-#define COLAMD_EMPTY (-1)
-
-/* Row and column status */
-#define ALIVE (0)
-#define DEAD  (-1)
-
-/* Column status */
-#define DEAD_PRINCIPAL    (-1)
-#define DEAD_NON_PRINCIPAL  (-2)
-
-/* Macros for row and column status update and checking. */
-#define ROW_IS_DEAD(r)      ROW_IS_MARKED_DEAD (Row[r].shared2.mark)
-#define ROW_IS_MARKED_DEAD(row_mark)  (row_mark < ALIVE)
-#define ROW_IS_ALIVE(r)     (Row [r].shared2.mark >= ALIVE)
-#define COL_IS_DEAD(c)      (Col [c].start < ALIVE)
-#define COL_IS_ALIVE(c)     (Col [c].start >= ALIVE)
-#define COL_IS_DEAD_PRINCIPAL(c)  (Col [c].start == DEAD_PRINCIPAL)
-#define KILL_ROW(r)     { Row [r].shared2.mark = DEAD ; }
-#define KILL_PRINCIPAL_COL(c)   { Col [c].start = DEAD_PRINCIPAL ; }
-#define KILL_NON_PRINCIPAL_COL(c) { Col [c].start = DEAD_NON_PRINCIPAL ; }
-
-/* ========================================================================== */
-/* === Colamd reporting mechanism =========================================== */
-/* ========================================================================== */
-
-// == Row and Column structures ==
-template <typename Index>
-struct colamd_col
-{
-  Index start ;   /* index for A of first row in this column, or DEAD */
-  /* if column is dead */
-  Index length ;  /* number of rows in this column */
-  union
-  {
-    Index thickness ; /* number of original columns represented by this */
-    /* col, if the column is alive */
-    Index parent ;  /* parent in parent tree super-column structure, if */
-    /* the column is dead */
-  } shared1 ;
-  union
-  {
-    Index score ; /* the score used to maintain heap, if col is alive */
-    Index order ; /* pivot ordering of this column, if col is dead */
-  } shared2 ;
-  union
-  {
-    Index headhash ;  /* head of a hash bucket, if col is at the head of */
-    /* a degree list */
-    Index hash ;  /* hash value, if col is not in a degree list */
-    Index prev ;  /* previous column in degree list, if col is in a */
-    /* degree list (but not at the head of a degree list) */
-  } shared3 ;
-  union
-  {
-    Index degree_next ; /* next column, if col is in a degree list */
-    Index hash_next ;   /* next column, if col is in a hash list */
-  } shared4 ;
-  
-};
- 
-template <typename Index>
-struct Colamd_Row
-{
-  Index start ;   /* index for A of first col in this row */
-  Index length ;  /* number of principal columns in this row */
-  union
-  {
-    Index degree ;  /* number of principal & non-principal columns in row */
-    Index p ;   /* used as a row pointer in init_rows_cols () */
-  } shared1 ;
-  union
-  {
-    Index mark ;  /* for computing set differences and marking dead rows*/
-    Index first_column ;/* first column in row (used in garbage collection) */
-  } shared2 ;
-  
-};
- 
-/* ========================================================================== */
-/* === Colamd recommended memory size ======================================= */
-/* ========================================================================== */
- 
-/*
-  The recommended length Alen of the array A passed to colamd is given by
-  the COLAMD_RECOMMENDED (nnz, n_row, n_col) macro.  It returns -1 if any
-  argument is negative.  2*nnz space is required for the row and column
-  indices of the matrix. colamd_c (n_col) + colamd_r (n_row) space is
-  required for the Col and Row arrays, respectively, which are internal to
-  colamd.  An additional n_col space is the minimal amount of "elbow room",
-  and nnz/5 more space is recommended for run time efficiency.
-  
-  This macro is not needed when using symamd.
-  
-  Explicit typecast to Index added Sept. 23, 2002, COLAMD version 2.2, to avoid
-  gcc -pedantic warning messages.
-*/
-template <typename Index>
-inline Index colamd_c(Index n_col) 
-{ return Index( ((n_col) + 1) * sizeof (colamd_col<Index>) / sizeof (Index) ) ; }
-
-template <typename Index>
-inline Index  colamd_r(Index n_row)
-{ return Index(((n_row) + 1) * sizeof (Colamd_Row<Index>) / sizeof (Index)); }
-
-// Prototypes of non-user callable routines
-template <typename Index>
-static Index init_rows_cols (Index n_row, Index n_col, Colamd_Row<Index> Row [], colamd_col<Index> col [], Index A [], Index p [], Index stats[COLAMD_STATS] ); 
-
-template <typename Index>
-static void init_scoring (Index n_row, Index n_col, Colamd_Row<Index> Row [], colamd_col<Index> Col [], Index A [], Index head [], double knobs[COLAMD_KNOBS], Index *p_n_row2, Index *p_n_col2, Index *p_max_deg);
-
-template <typename Index>
-static Index find_ordering (Index n_row, Index n_col, Index Alen, Colamd_Row<Index> Row [], colamd_col<Index> Col [], Index A [], Index head [], Index n_col2, Index max_deg, Index pfree);
-
-template <typename Index>
-static void order_children (Index n_col, colamd_col<Index> Col [], Index p []);
-
-template <typename Index>
-static void detect_super_cols (colamd_col<Index> Col [], Index A [], Index head [], Index row_start, Index row_length ) ;
-
-template <typename Index>
-static Index garbage_collection (Index n_row, Index n_col, Colamd_Row<Index> Row [], colamd_col<Index> Col [], Index A [], Index *pfree) ;
-
-template <typename Index>
-static inline  Index clear_mark (Index n_row, Colamd_Row<Index> Row [] ) ;
-
-/* === No debugging ========================================================= */
-
-#define COLAMD_DEBUG0(params) ;
-#define COLAMD_DEBUG1(params) ;
-#define COLAMD_DEBUG2(params) ;
-#define COLAMD_DEBUG3(params) ;
-#define COLAMD_DEBUG4(params) ;
-
-#define COLAMD_ASSERT(expression) ((void) 0)
-
-
-/**
- * \brief Returns the recommended value of Alen 
- * 
- * Returns recommended value of Alen for use by colamd.  
- * Returns -1 if any input argument is negative.  
- * The use of this routine or macro is optional.  
- * Note that the macro uses its arguments   more than once, 
- * so be careful for side effects, if you pass expressions as arguments to COLAMD_RECOMMENDED.  
- * 
- * \param nnz nonzeros in A
- * \param n_row number of rows in A
- * \param n_col number of columns in A
- * \return recommended value of Alen for use by colamd
- */
-template <typename Index>
-inline Index colamd_recommended ( Index nnz, Index n_row, Index n_col)
-{
-  if ((nnz) < 0 || (n_row) < 0 || (n_col) < 0)
-    return (-1);
-  else
-    return (2 * (nnz) + colamd_c (n_col) + colamd_r (n_row) + (n_col) + ((nnz) / 5)); 
-}
-
-/**
- * \brief set default parameters  The use of this routine is optional.
- * 
- * Colamd: rows with more than (knobs [COLAMD_DENSE_ROW] * n_col)
- * entries are removed prior to ordering.  Columns with more than
- * (knobs [COLAMD_DENSE_COL] * n_row) entries are removed prior to
- * ordering, and placed last in the output column ordering. 
- *
- * COLAMD_DENSE_ROW and COLAMD_DENSE_COL are defined as 0 and 1,
- * respectively, in colamd.h.  Default values of these two knobs
- * are both 0.5.  Currently, only knobs [0] and knobs [1] are
- * used, but future versions may use more knobs.  If so, they will
- * be properly set to their defaults by the future version of
- * colamd_set_defaults, so that the code that calls colamd will
- * not need to change, assuming that you either use
- * colamd_set_defaults, or pass a (double *) NULL pointer as the
- * knobs array to colamd or symamd.
- * 
- * \param knobs parameter settings for colamd
- */
-
-static inline void colamd_set_defaults(double knobs[COLAMD_KNOBS])
-{
-  /* === Local variables ================================================== */
-  
-  int i ;
-
-  if (!knobs)
-  {
-    return ;      /* no knobs to initialize */
-  }
-  for (i = 0 ; i < COLAMD_KNOBS ; i++)
-  {
-    knobs [i] = 0 ;
-  }
-  knobs [COLAMD_DENSE_ROW] = 0.5 ;  /* ignore rows over 50% dense */
-  knobs [COLAMD_DENSE_COL] = 0.5 ;  /* ignore columns over 50% dense */
-}
-
-/** 
- * \brief  Computes a column ordering using the column approximate minimum degree ordering
- * 
- * Computes a column ordering (Q) of A such that P(AQ)=LU or
- * (AQ)'AQ=LL' have less fill-in and require fewer floating point
- * operations than factorizing the unpermuted matrix A or A'A,
- * respectively.
- * 
- * 
- * \param n_row number of rows in A
- * \param n_col number of columns in A
- * \param Alen, size of the array A
- * \param A row indices of the matrix, of size ALen
- * \param p column pointers of A, of size n_col+1
- * \param knobs parameter settings for colamd
- * \param stats colamd output statistics and error codes
- */
-template <typename Index>
-static bool colamd(Index n_row, Index n_col, Index Alen, Index *A, Index *p, double knobs[COLAMD_KNOBS], Index stats[COLAMD_STATS])
-{
-  /* === Local variables ================================================== */
-  
-  Index i ;     /* loop index */
-  Index nnz ;     /* nonzeros in A */
-  Index Row_size ;    /* size of Row [], in integers */
-  Index Col_size ;    /* size of Col [], in integers */
-  Index need ;      /* minimum required length of A */
-  Colamd_Row<Index> *Row ;   /* pointer into A of Row [0..n_row] array */
-  colamd_col<Index> *Col ;   /* pointer into A of Col [0..n_col] array */
-  Index n_col2 ;    /* number of non-dense, non-empty columns */
-  Index n_row2 ;    /* number of non-dense, non-empty rows */
-  Index ngarbage ;    /* number of garbage collections performed */
-  Index max_deg ;   /* maximum row degree */
-  double default_knobs [COLAMD_KNOBS] ; /* default knobs array */
-  
-  
-  /* === Check the input arguments ======================================== */
-  
-  if (!stats)
-  {
-    COLAMD_DEBUG0 (("colamd: stats not present\n")) ;
-    return (false) ;
-  }
-  for (i = 0 ; i < COLAMD_STATS ; i++)
-  {
-    stats [i] = 0 ;
-  }
-  stats [COLAMD_STATUS] = COLAMD_OK ;
-  stats [COLAMD_INFO1] = -1 ;
-  stats [COLAMD_INFO2] = -1 ;
-  
-  if (!A)   /* A is not present */
-  {
-    stats [COLAMD_STATUS] = COLAMD_ERROR_A_not_present ;
-    COLAMD_DEBUG0 (("colamd: A not present\n")) ;
-    return (false) ;
-  }
-  
-  if (!p)   /* p is not present */
-  {
-    stats [COLAMD_STATUS] = COLAMD_ERROR_p_not_present ;
-    COLAMD_DEBUG0 (("colamd: p not present\n")) ;
-    return (false) ;
-  }
-  
-  if (n_row < 0)  /* n_row must be >= 0 */
-  {
-    stats [COLAMD_STATUS] = COLAMD_ERROR_nrow_negative ;
-    stats [COLAMD_INFO1] = n_row ;
-    COLAMD_DEBUG0 (("colamd: nrow negative %d\n", n_row)) ;
-    return (false) ;
-  }
-  
-  if (n_col < 0)  /* n_col must be >= 0 */
-  {
-    stats [COLAMD_STATUS] = COLAMD_ERROR_ncol_negative ;
-    stats [COLAMD_INFO1] = n_col ;
-    COLAMD_DEBUG0 (("colamd: ncol negative %d\n", n_col)) ;
-    return (false) ;
-  }
-  
-  nnz = p [n_col] ;
-  if (nnz < 0)  /* nnz must be >= 0 */
-  {
-    stats [COLAMD_STATUS] = COLAMD_ERROR_nnz_negative ;
-    stats [COLAMD_INFO1] = nnz ;
-    COLAMD_DEBUG0 (("colamd: number of entries negative %d\n", nnz)) ;
-    return (false) ;
-  }
-  
-  if (p [0] != 0)
-  {
-    stats [COLAMD_STATUS] = COLAMD_ERROR_p0_nonzero ;
-    stats [COLAMD_INFO1] = p [0] ;
-    COLAMD_DEBUG0 (("colamd: p[0] not zero %d\n", p [0])) ;
-    return (false) ;
-  }
-  
-  /* === If no knobs, set default knobs =================================== */
-  
-  if (!knobs)
-  {
-    colamd_set_defaults (default_knobs) ;
-    knobs = default_knobs ;
-  }
-  
-  /* === Allocate the Row and Col arrays from array A ===================== */
-  
-  Col_size = colamd_c (n_col) ;
-  Row_size = colamd_r (n_row) ;
-  need = 2*nnz + n_col + Col_size + Row_size ;
-  
-  if (need > Alen)
-  {
-    /* not enough space in array A to perform the ordering */
-    stats [COLAMD_STATUS] = COLAMD_ERROR_A_too_small ;
-    stats [COLAMD_INFO1] = need ;
-    stats [COLAMD_INFO2] = Alen ;
-    COLAMD_DEBUG0 (("colamd: Need Alen >= %d, given only Alen = %d\n", need,Alen));
-    return (false) ;
-  }
-  
-  Alen -= Col_size + Row_size ;
-  Col = (colamd_col<Index> *) &A [Alen] ;
-  Row = (Colamd_Row<Index> *) &A [Alen + Col_size] ;
-
-  /* === Construct the row and column data structures ===================== */
-  
-  if (!Eigen::internal::init_rows_cols (n_row, n_col, Row, Col, A, p, stats))
-  {
-    /* input matrix is invalid */
-    COLAMD_DEBUG0 (("colamd: Matrix invalid\n")) ;
-    return (false) ;
-  }
-  
-  /* === Initialize scores, kill dense rows/columns ======================= */
-
-  Eigen::internal::init_scoring (n_row, n_col, Row, Col, A, p, knobs,
-		&n_row2, &n_col2, &max_deg) ;
-  
-  /* === Order the supercolumns =========================================== */
-  
-  ngarbage = Eigen::internal::find_ordering (n_row, n_col, Alen, Row, Col, A, p,
-			    n_col2, max_deg, 2*nnz) ;
-  
-  /* === Order the non-principal columns ================================== */
-  
-  Eigen::internal::order_children (n_col, Col, p) ;
-  
-  /* === Return statistics in stats ======================================= */
-  
-  stats [COLAMD_DENSE_ROW] = n_row - n_row2 ;
-  stats [COLAMD_DENSE_COL] = n_col - n_col2 ;
-  stats [COLAMD_DEFRAG_COUNT] = ngarbage ;
-  COLAMD_DEBUG0 (("colamd: done.\n")) ; 
-  return (true) ;
-}
-
-/* ========================================================================== */
-/* === NON-USER-CALLABLE ROUTINES: ========================================== */
-/* ========================================================================== */
-
-/* There are no user-callable routines beyond this point in the file */
-
-
-/* ========================================================================== */
-/* === init_rows_cols ======================================================= */
-/* ========================================================================== */
-
-/*
-  Takes the column form of the matrix in A and creates the row form of the
-  matrix.  Also, row and column attributes are stored in the Col and Row
-  structs.  If the columns are un-sorted or contain duplicate row indices,
-  this routine will also sort and remove duplicate row indices from the
-  column form of the matrix.  Returns false if the matrix is invalid,
-  true otherwise.  Not user-callable.
-*/
-template <typename Index>
-static Index init_rows_cols  /* returns true if OK, or false otherwise */
-  (
-    /* === Parameters ======================================================= */
-
-    Index n_row,      /* number of rows of A */
-    Index n_col,      /* number of columns of A */
-    Colamd_Row<Index> Row [],    /* of size n_row+1 */
-    colamd_col<Index> Col [],    /* of size n_col+1 */
-    Index A [],     /* row indices of A, of size Alen */
-    Index p [],     /* pointers to columns in A, of size n_col+1 */
-    Index stats [COLAMD_STATS]  /* colamd statistics */ 
-    )
-{
-  /* === Local variables ================================================== */
-
-  Index col ;     /* a column index */
-  Index row ;     /* a row index */
-  Index *cp ;     /* a column pointer */
-  Index *cp_end ;   /* a pointer to the end of a column */
-  Index *rp ;     /* a row pointer */
-  Index *rp_end ;   /* a pointer to the end of a row */
-  Index last_row ;    /* previous row */
-
-  /* === Initialize columns, and check column pointers ==================== */
-
-  for (col = 0 ; col < n_col ; col++)
-  {
-    Col [col].start = p [col] ;
-    Col [col].length = p [col+1] - p [col] ;
-
-    if ((Col [col].length) < 0) // extra parentheses to work-around gcc bug 10200
-    {
-      /* column pointers must be non-decreasing */
-      stats [COLAMD_STATUS] = COLAMD_ERROR_col_length_negative ;
-      stats [COLAMD_INFO1] = col ;
-      stats [COLAMD_INFO2] = Col [col].length ;
-      COLAMD_DEBUG0 (("colamd: col %d length %d < 0\n", col, Col [col].length)) ;
-      return (false) ;
-    }
-
-    Col [col].shared1.thickness = 1 ;
-    Col [col].shared2.score = 0 ;
-    Col [col].shared3.prev = COLAMD_EMPTY ;
-    Col [col].shared4.degree_next = COLAMD_EMPTY ;
-  }
-
-  /* p [0..n_col] no longer needed, used as "head" in subsequent routines */
-
-  /* === Scan columns, compute row degrees, and check row indices ========= */
-
-  stats [COLAMD_INFO3] = 0 ;  /* number of duplicate or unsorted row indices*/
-
-  for (row = 0 ; row < n_row ; row++)
-  {
-    Row [row].length = 0 ;
-    Row [row].shared2.mark = -1 ;
-  }
-
-  for (col = 0 ; col < n_col ; col++)
-  {
-    last_row = -1 ;
-
-    cp = &A [p [col]] ;
-    cp_end = &A [p [col+1]] ;
-
-    while (cp < cp_end)
-    {
-      row = *cp++ ;
-
-      /* make sure row indices within range */
-      if (row < 0 || row >= n_row)
-      {
-	stats [COLAMD_STATUS] = COLAMD_ERROR_row_index_out_of_bounds ;
-	stats [COLAMD_INFO1] = col ;
-	stats [COLAMD_INFO2] = row ;
-	stats [COLAMD_INFO3] = n_row ;
-	COLAMD_DEBUG0 (("colamd: row %d col %d out of bounds\n", row, col)) ;
-	return (false) ;
-      }
-
-      if (row <= last_row || Row [row].shared2.mark == col)
-      {
-	/* row index are unsorted or repeated (or both), thus col */
-	/* is jumbled.  This is a notice, not an error condition. */
-	stats [COLAMD_STATUS] = COLAMD_OK_BUT_JUMBLED ;
-	stats [COLAMD_INFO1] = col ;
-	stats [COLAMD_INFO2] = row ;
-	(stats [COLAMD_INFO3]) ++ ;
-	COLAMD_DEBUG1 (("colamd: row %d col %d unsorted/duplicate\n",row,col));
-      }
-
-      if (Row [row].shared2.mark != col)
-      {
-	Row [row].length++ ;
-      }
-      else
-      {
-	/* this is a repeated entry in the column, */
-	/* it will be removed */
-	Col [col].length-- ;
-      }
-
-      /* mark the row as having been seen in this column */
-      Row [row].shared2.mark = col ;
-
-      last_row = row ;
-    }
-  }
-
-  /* === Compute row pointers ============================================= */
-
-  /* row form of the matrix starts directly after the column */
-  /* form of matrix in A */
-  Row [0].start = p [n_col] ;
-  Row [0].shared1.p = Row [0].start ;
-  Row [0].shared2.mark = -1 ;
-  for (row = 1 ; row < n_row ; row++)
-  {
-    Row [row].start = Row [row-1].start + Row [row-1].length ;
-    Row [row].shared1.p = Row [row].start ;
-    Row [row].shared2.mark = -1 ;
-  }
-
-  /* === Create row form ================================================== */
-
-  if (stats [COLAMD_STATUS] == COLAMD_OK_BUT_JUMBLED)
-  {
-    /* if cols jumbled, watch for repeated row indices */
-    for (col = 0 ; col < n_col ; col++)
-    {
-      cp = &A [p [col]] ;
-      cp_end = &A [p [col+1]] ;
-      while (cp < cp_end)
-      {
-	row = *cp++ ;
-	if (Row [row].shared2.mark != col)
-	{
-	  A [(Row [row].shared1.p)++] = col ;
-	  Row [row].shared2.mark = col ;
-	}
-      }
-    }
-  }
-  else
-  {
-    /* if cols not jumbled, we don't need the mark (this is faster) */
-    for (col = 0 ; col < n_col ; col++)
-    {
-      cp = &A [p [col]] ;
-      cp_end = &A [p [col+1]] ;
-      while (cp < cp_end)
-      {
-	A [(Row [*cp++].shared1.p)++] = col ;
-      }
-    }
-  }
-
-  /* === Clear the row marks and set row degrees ========================== */
-
-  for (row = 0 ; row < n_row ; row++)
-  {
-    Row [row].shared2.mark = 0 ;
-    Row [row].shared1.degree = Row [row].length ;
-  }
-
-  /* === See if we need to re-create columns ============================== */
-
-  if (stats [COLAMD_STATUS] == COLAMD_OK_BUT_JUMBLED)
-  {
-    COLAMD_DEBUG0 (("colamd: reconstructing column form, matrix jumbled\n")) ;
-
-
-    /* === Compute col pointers ========================================= */
-
-    /* col form of the matrix starts at A [0]. */
-    /* Note, we may have a gap between the col form and the row */
-    /* form if there were duplicate entries, if so, it will be */
-    /* removed upon the first garbage collection */
-    Col [0].start = 0 ;
-    p [0] = Col [0].start ;
-    for (col = 1 ; col < n_col ; col++)
-    {
-      /* note that the lengths here are for pruned columns, i.e. */
-      /* no duplicate row indices will exist for these columns */
-      Col [col].start = Col [col-1].start + Col [col-1].length ;
-      p [col] = Col [col].start ;
-    }
-
-    /* === Re-create col form =========================================== */
-
-    for (row = 0 ; row < n_row ; row++)
-    {
-      rp = &A [Row [row].start] ;
-      rp_end = rp + Row [row].length ;
-      while (rp < rp_end)
-      {
-	A [(p [*rp++])++] = row ;
-      }
-    }
-  }
-
-  /* === Done.  Matrix is not (or no longer) jumbled ====================== */
-
-  return (true) ;
-}
-
-
-/* ========================================================================== */
-/* === init_scoring ========================================================= */
-/* ========================================================================== */
-
-/*
-  Kills dense or empty columns and rows, calculates an initial score for
-  each column, and places all columns in the degree lists.  Not user-callable.
-*/
-template <typename Index>
-static void init_scoring
-  (
-    /* === Parameters ======================================================= */
-
-    Index n_row,      /* number of rows of A */
-    Index n_col,      /* number of columns of A */
-    Colamd_Row<Index> Row [],    /* of size n_row+1 */
-    colamd_col<Index> Col [],    /* of size n_col+1 */
-    Index A [],     /* column form and row form of A */
-    Index head [],    /* of size n_col+1 */
-    double knobs [COLAMD_KNOBS],/* parameters */
-    Index *p_n_row2,    /* number of non-dense, non-empty rows */
-    Index *p_n_col2,    /* number of non-dense, non-empty columns */
-    Index *p_max_deg    /* maximum row degree */
-    )
-{
-  /* === Local variables ================================================== */
-
-  Index c ;     /* a column index */
-  Index r, row ;    /* a row index */
-  Index *cp ;     /* a column pointer */
-  Index deg ;     /* degree of a row or column */
-  Index *cp_end ;   /* a pointer to the end of a column */
-  Index *new_cp ;   /* new column pointer */
-  Index col_length ;    /* length of pruned column */
-  Index score ;     /* current column score */
-  Index n_col2 ;    /* number of non-dense, non-empty columns */
-  Index n_row2 ;    /* number of non-dense, non-empty rows */
-  Index dense_row_count ; /* remove rows with more entries than this */
-  Index dense_col_count ; /* remove cols with more entries than this */
-  Index min_score ;   /* smallest column score */
-  Index max_deg ;   /* maximum row degree */
-  Index next_col ;    /* Used to add to degree list.*/
-
-
-  /* === Extract knobs ==================================================== */
-
-  dense_row_count = std::max<Index>(0, (std::min)(Index(knobs [COLAMD_DENSE_ROW] * n_col), n_col)) ;
-  dense_col_count = std::max<Index>(0, (std::min)(Index(knobs [COLAMD_DENSE_COL] * n_row), n_row)) ;
-  COLAMD_DEBUG1 (("colamd: densecount: %d %d\n", dense_row_count, dense_col_count)) ;
-  max_deg = 0 ;
-  n_col2 = n_col ;
-  n_row2 = n_row ;
-
-  /* === Kill empty columns =============================================== */
-
-  /* Put the empty columns at the end in their natural order, so that LU */
-  /* factorization can proceed as far as possible. */
-  for (c = n_col-1 ; c >= 0 ; c--)
-  {
-    deg = Col [c].length ;
-    if (deg == 0)
-    {
-      /* this is a empty column, kill and order it last */
-      Col [c].shared2.order = --n_col2 ;
-      KILL_PRINCIPAL_COL (c) ;
-    }
-  }
-  COLAMD_DEBUG1 (("colamd: null columns killed: %d\n", n_col - n_col2)) ;
-
-  /* === Kill dense columns =============================================== */
-
-  /* Put the dense columns at the end, in their natural order */
-  for (c = n_col-1 ; c >= 0 ; c--)
-  {
-    /* skip any dead columns */
-    if (COL_IS_DEAD (c))
-    {
-      continue ;
-    }
-    deg = Col [c].length ;
-    if (deg > dense_col_count)
-    {
-      /* this is a dense column, kill and order it last */
-      Col [c].shared2.order = --n_col2 ;
-      /* decrement the row degrees */
-      cp = &A [Col [c].start] ;
-      cp_end = cp + Col [c].length ;
-      while (cp < cp_end)
-      {
-	Row [*cp++].shared1.degree-- ;
-      }
-      KILL_PRINCIPAL_COL (c) ;
-    }
-  }
-  COLAMD_DEBUG1 (("colamd: Dense and null columns killed: %d\n", n_col - n_col2)) ;
-
-  /* === Kill dense and empty rows ======================================== */
-
-  for (r = 0 ; r < n_row ; r++)
-  {
-    deg = Row [r].shared1.degree ;
-    COLAMD_ASSERT (deg >= 0 && deg <= n_col) ;
-    if (deg > dense_row_count || deg == 0)
-    {
-      /* kill a dense or empty row */
-      KILL_ROW (r) ;
-      --n_row2 ;
-    }
-    else
-    {
-      /* keep track of max degree of remaining rows */
-      max_deg = (std::max)(max_deg, deg) ;
-    }
-  }
-  COLAMD_DEBUG1 (("colamd: Dense and null rows killed: %d\n", n_row - n_row2)) ;
-
-  /* === Compute initial column scores ==================================== */
-
-  /* At this point the row degrees are accurate.  They reflect the number */
-  /* of "live" (non-dense) columns in each row.  No empty rows exist. */
-  /* Some "live" columns may contain only dead rows, however.  These are */
-  /* pruned in the code below. */
-
-  /* now find the initial matlab score for each column */
-  for (c = n_col-1 ; c >= 0 ; c--)
-  {
-    /* skip dead column */
-    if (COL_IS_DEAD (c))
-    {
-      continue ;
-    }
-    score = 0 ;
-    cp = &A [Col [c].start] ;
-    new_cp = cp ;
-    cp_end = cp + Col [c].length ;
-    while (cp < cp_end)
-    {
-      /* get a row */
-      row = *cp++ ;
-      /* skip if dead */
-      if (ROW_IS_DEAD (row))
-      {
-	continue ;
-      }
-      /* compact the column */
-      *new_cp++ = row ;
-      /* add row's external degree */
-      score += Row [row].shared1.degree - 1 ;
-      /* guard against integer overflow */
-      score = (std::min)(score, n_col) ;
-    }
-    /* determine pruned column length */
-    col_length = (Index) (new_cp - &A [Col [c].start]) ;
-    if (col_length == 0)
-    {
-      /* a newly-made null column (all rows in this col are "dense" */
-      /* and have already been killed) */
-      COLAMD_DEBUG2 (("Newly null killed: %d\n", c)) ;
-      Col [c].shared2.order = --n_col2 ;
-      KILL_PRINCIPAL_COL (c) ;
-    }
-    else
-    {
-      /* set column length and set score */
-      COLAMD_ASSERT (score >= 0) ;
-      COLAMD_ASSERT (score <= n_col) ;
-      Col [c].length = col_length ;
-      Col [c].shared2.score = score ;
-    }
-  }
-  COLAMD_DEBUG1 (("colamd: Dense, null, and newly-null columns killed: %d\n",
-		  n_col-n_col2)) ;
-
-  /* At this point, all empty rows and columns are dead.  All live columns */
-  /* are "clean" (containing no dead rows) and simplicial (no supercolumns */
-  /* yet).  Rows may contain dead columns, but all live rows contain at */
-  /* least one live column. */
-
-  /* === Initialize degree lists ========================================== */
-
-
-  /* clear the hash buckets */
-  for (c = 0 ; c <= n_col ; c++)
-  {
-    head [c] = COLAMD_EMPTY ;
-  }
-  min_score = n_col ;
-  /* place in reverse order, so low column indices are at the front */
-  /* of the lists.  This is to encourage natural tie-breaking */
-  for (c = n_col-1 ; c >= 0 ; c--)
-  {
-    /* only add principal columns to degree lists */
-    if (COL_IS_ALIVE (c))
-    {
-      COLAMD_DEBUG4 (("place %d score %d minscore %d ncol %d\n",
-		      c, Col [c].shared2.score, min_score, n_col)) ;
-
-      /* === Add columns score to DList =============================== */
-
-      score = Col [c].shared2.score ;
-
-      COLAMD_ASSERT (min_score >= 0) ;
-      COLAMD_ASSERT (min_score <= n_col) ;
-      COLAMD_ASSERT (score >= 0) ;
-      COLAMD_ASSERT (score <= n_col) ;
-      COLAMD_ASSERT (head [score] >= COLAMD_EMPTY) ;
-
-      /* now add this column to dList at proper score location */
-      next_col = head [score] ;
-      Col [c].shared3.prev = COLAMD_EMPTY ;
-      Col [c].shared4.degree_next = next_col ;
-
-      /* if there already was a column with the same score, set its */
-      /* previous pointer to this new column */
-      if (next_col != COLAMD_EMPTY)
-      {
-	Col [next_col].shared3.prev = c ;
-      }
-      head [score] = c ;
-
-      /* see if this score is less than current min */
-      min_score = (std::min)(min_score, score) ;
-
-
-    }
-  }
-
-
-  /* === Return number of remaining columns, and max row degree =========== */
-
-  *p_n_col2 = n_col2 ;
-  *p_n_row2 = n_row2 ;
-  *p_max_deg = max_deg ;
-}
-
-
-/* ========================================================================== */
-/* === find_ordering ======================================================== */
-/* ========================================================================== */
-
-/*
-  Order the principal columns of the supercolumn form of the matrix
-  (no supercolumns on input).  Uses a minimum approximate column minimum
-  degree ordering method.  Not user-callable.
-*/
-template <typename Index>
-static Index find_ordering /* return the number of garbage collections */
-  (
-    /* === Parameters ======================================================= */
-
-    Index n_row,      /* number of rows of A */
-    Index n_col,      /* number of columns of A */
-    Index Alen,     /* size of A, 2*nnz + n_col or larger */
-    Colamd_Row<Index> Row [],    /* of size n_row+1 */
-    colamd_col<Index> Col [],    /* of size n_col+1 */
-    Index A [],     /* column form and row form of A */
-    Index head [],    /* of size n_col+1 */
-    Index n_col2,     /* Remaining columns to order */
-    Index max_deg,    /* Maximum row degree */
-    Index pfree     /* index of first free slot (2*nnz on entry) */
-    )
-{
-  /* === Local variables ================================================== */
-
-  Index k ;     /* current pivot ordering step */
-  Index pivot_col ;   /* current pivot column */
-  Index *cp ;     /* a column pointer */
-  Index *rp ;     /* a row pointer */
-  Index pivot_row ;   /* current pivot row */
-  Index *new_cp ;   /* modified column pointer */
-  Index *new_rp ;   /* modified row pointer */
-  Index pivot_row_start ; /* pointer to start of pivot row */
-  Index pivot_row_degree ;  /* number of columns in pivot row */
-  Index pivot_row_length ;  /* number of supercolumns in pivot row */
-  Index pivot_col_score ; /* score of pivot column */
-  Index needed_memory ;   /* free space needed for pivot row */
-  Index *cp_end ;   /* pointer to the end of a column */
-  Index *rp_end ;   /* pointer to the end of a row */
-  Index row ;     /* a row index */
-  Index col ;     /* a column index */
-  Index max_score ;   /* maximum possible score */
-  Index cur_score ;   /* score of current column */
-  unsigned int hash ;   /* hash value for supernode detection */
-  Index head_column ;   /* head of hash bucket */
-  Index first_col ;   /* first column in hash bucket */
-  Index tag_mark ;    /* marker value for mark array */
-  Index row_mark ;    /* Row [row].shared2.mark */
-  Index set_difference ;  /* set difference size of row with pivot row */
-  Index min_score ;   /* smallest column score */
-  Index col_thickness ;   /* "thickness" (no. of columns in a supercol) */
-  Index max_mark ;    /* maximum value of tag_mark */
-  Index pivot_col_thickness ; /* number of columns represented by pivot col */
-  Index prev_col ;    /* Used by Dlist operations. */
-  Index next_col ;    /* Used by Dlist operations. */
-  Index ngarbage ;    /* number of garbage collections performed */
-
-
-  /* === Initialization and clear mark ==================================== */
-
-  max_mark = INT_MAX - n_col ;  /* INT_MAX defined in <limits.h> */
-  tag_mark = Eigen::internal::clear_mark (n_row, Row) ;
-  min_score = 0 ;
-  ngarbage = 0 ;
-  COLAMD_DEBUG1 (("colamd: Ordering, n_col2=%d\n", n_col2)) ;
-
-  /* === Order the columns ================================================ */
-
-  for (k = 0 ; k < n_col2 ; /* 'k' is incremented below */)
-  {
-
-    /* === Select pivot column, and order it ============================ */
-
-    /* make sure degree list isn't empty */
-    COLAMD_ASSERT (min_score >= 0) ;
-    COLAMD_ASSERT (min_score <= n_col) ;
-    COLAMD_ASSERT (head [min_score] >= COLAMD_EMPTY) ;
-
-    /* get pivot column from head of minimum degree list */
-    while (head [min_score] == COLAMD_EMPTY && min_score < n_col)
-    {
-      min_score++ ;
-    }
-    pivot_col = head [min_score] ;
-    COLAMD_ASSERT (pivot_col >= 0 && pivot_col <= n_col) ;
-    next_col = Col [pivot_col].shared4.degree_next ;
-    head [min_score] = next_col ;
-    if (next_col != COLAMD_EMPTY)
-    {
-      Col [next_col].shared3.prev = COLAMD_EMPTY ;
-    }
-
-    COLAMD_ASSERT (COL_IS_ALIVE (pivot_col)) ;
-    COLAMD_DEBUG3 (("Pivot col: %d\n", pivot_col)) ;
-
-    /* remember score for defrag check */
-    pivot_col_score = Col [pivot_col].shared2.score ;
-
-    /* the pivot column is the kth column in the pivot order */
-    Col [pivot_col].shared2.order = k ;
-
-    /* increment order count by column thickness */
-    pivot_col_thickness = Col [pivot_col].shared1.thickness ;
-    k += pivot_col_thickness ;
-    COLAMD_ASSERT (pivot_col_thickness > 0) ;
-
-    /* === Garbage_collection, if necessary ============================= */
-
-    needed_memory = (std::min)(pivot_col_score, n_col - k) ;
-    if (pfree + needed_memory >= Alen)
-    {
-      pfree = Eigen::internal::garbage_collection (n_row, n_col, Row, Col, A, &A [pfree]) ;
-      ngarbage++ ;
-      /* after garbage collection we will have enough */
-      COLAMD_ASSERT (pfree + needed_memory < Alen) ;
-      /* garbage collection has wiped out the Row[].shared2.mark array */
-      tag_mark = Eigen::internal::clear_mark (n_row, Row) ;
-
-    }
-
-    /* === Compute pivot row pattern ==================================== */
-
-    /* get starting location for this new merged row */
-    pivot_row_start = pfree ;
-
-    /* initialize new row counts to zero */
-    pivot_row_degree = 0 ;
-
-    /* tag pivot column as having been visited so it isn't included */
-    /* in merged pivot row */
-    Col [pivot_col].shared1.thickness = -pivot_col_thickness ;
-
-    /* pivot row is the union of all rows in the pivot column pattern */
-    cp = &A [Col [pivot_col].start] ;
-    cp_end = cp + Col [pivot_col].length ;
-    while (cp < cp_end)
-    {
-      /* get a row */
-      row = *cp++ ;
-      COLAMD_DEBUG4 (("Pivot col pattern %d %d\n", ROW_IS_ALIVE (row), row)) ;
-      /* skip if row is dead */
-      if (ROW_IS_DEAD (row))
-      {
-	continue ;
-      }
-      rp = &A [Row [row].start] ;
-      rp_end = rp + Row [row].length ;
-      while (rp < rp_end)
-      {
-	/* get a column */
-	col = *rp++ ;
-	/* add the column, if alive and untagged */
-	col_thickness = Col [col].shared1.thickness ;
-	if (col_thickness > 0 && COL_IS_ALIVE (col))
-	{
-	  /* tag column in pivot row */
-	  Col [col].shared1.thickness = -col_thickness ;
-	  COLAMD_ASSERT (pfree < Alen) ;
-	  /* place column in pivot row */
-	  A [pfree++] = col ;
-	  pivot_row_degree += col_thickness ;
-	}
-      }
-    }
-
-    /* clear tag on pivot column */
-    Col [pivot_col].shared1.thickness = pivot_col_thickness ;
-    max_deg = (std::max)(max_deg, pivot_row_degree) ;
-
-
-    /* === Kill all rows used to construct pivot row ==================== */
-
-    /* also kill pivot row, temporarily */
-    cp = &A [Col [pivot_col].start] ;
-    cp_end = cp + Col [pivot_col].length ;
-    while (cp < cp_end)
-    {
-      /* may be killing an already dead row */
-      row = *cp++ ;
-      COLAMD_DEBUG3 (("Kill row in pivot col: %d\n", row)) ;
-      KILL_ROW (row) ;
-    }
-
-    /* === Select a row index to use as the new pivot row =============== */
-
-    pivot_row_length = pfree - pivot_row_start ;
-    if (pivot_row_length > 0)
-    {
-      /* pick the "pivot" row arbitrarily (first row in col) */
-      pivot_row = A [Col [pivot_col].start] ;
-      COLAMD_DEBUG3 (("Pivotal row is %d\n", pivot_row)) ;
-    }
-    else
-    {
-      /* there is no pivot row, since it is of zero length */
-      pivot_row = COLAMD_EMPTY ;
-      COLAMD_ASSERT (pivot_row_length == 0) ;
-    }
-    COLAMD_ASSERT (Col [pivot_col].length > 0 || pivot_row_length == 0) ;
-
-    /* === Approximate degree computation =============================== */
-
-    /* Here begins the computation of the approximate degree.  The column */
-    /* score is the sum of the pivot row "length", plus the size of the */
-    /* set differences of each row in the column minus the pattern of the */
-    /* pivot row itself.  The column ("thickness") itself is also */
-    /* excluded from the column score (we thus use an approximate */
-    /* external degree). */
-
-    /* The time taken by the following code (compute set differences, and */
-    /* add them up) is proportional to the size of the data structure */
-    /* being scanned - that is, the sum of the sizes of each column in */
-    /* the pivot row.  Thus, the amortized time to compute a column score */
-    /* is proportional to the size of that column (where size, in this */
-    /* context, is the column "length", or the number of row indices */
-    /* in that column).  The number of row indices in a column is */
-    /* monotonically non-decreasing, from the length of the original */
-    /* column on input to colamd. */
-
-    /* === Compute set differences ====================================== */
-
-    COLAMD_DEBUG3 (("** Computing set differences phase. **\n")) ;
-
-    /* pivot row is currently dead - it will be revived later. */
-
-    COLAMD_DEBUG3 (("Pivot row: ")) ;
-    /* for each column in pivot row */
-    rp = &A [pivot_row_start] ;
-    rp_end = rp + pivot_row_length ;
-    while (rp < rp_end)
-    {
-      col = *rp++ ;
-      COLAMD_ASSERT (COL_IS_ALIVE (col) && col != pivot_col) ;
-      COLAMD_DEBUG3 (("Col: %d\n", col)) ;
-
-      /* clear tags used to construct pivot row pattern */
-      col_thickness = -Col [col].shared1.thickness ;
-      COLAMD_ASSERT (col_thickness > 0) ;
-      Col [col].shared1.thickness = col_thickness ;
-
-      /* === Remove column from degree list =========================== */
-
-      cur_score = Col [col].shared2.score ;
-      prev_col = Col [col].shared3.prev ;
-      next_col = Col [col].shared4.degree_next ;
-      COLAMD_ASSERT (cur_score >= 0) ;
-      COLAMD_ASSERT (cur_score <= n_col) ;
-      COLAMD_ASSERT (cur_score >= COLAMD_EMPTY) ;
-      if (prev_col == COLAMD_EMPTY)
-      {
-	head [cur_score] = next_col ;
-      }
-      else
-      {
-	Col [prev_col].shared4.degree_next = next_col ;
-      }
-      if (next_col != COLAMD_EMPTY)
-      {
-	Col [next_col].shared3.prev = prev_col ;
-      }
-
-      /* === Scan the column ========================================== */
-
-      cp = &A [Col [col].start] ;
-      cp_end = cp + Col [col].length ;
-      while (cp < cp_end)
-      {
-	/* get a row */
-	row = *cp++ ;
-	row_mark = Row [row].shared2.mark ;
-	/* skip if dead */
-	if (ROW_IS_MARKED_DEAD (row_mark))
-	{
-	  continue ;
-	}
-	COLAMD_ASSERT (row != pivot_row) ;
-	set_difference = row_mark - tag_mark ;
-	/* check if the row has been seen yet */
-	if (set_difference < 0)
-	{
-	  COLAMD_ASSERT (Row [row].shared1.degree <= max_deg) ;
-	  set_difference = Row [row].shared1.degree ;
-	}
-	/* subtract column thickness from this row's set difference */
-	set_difference -= col_thickness ;
-	COLAMD_ASSERT (set_difference >= 0) ;
-	/* absorb this row if the set difference becomes zero */
-	if (set_difference == 0)
-	{
-	  COLAMD_DEBUG3 (("aggressive absorption. Row: %d\n", row)) ;
-	  KILL_ROW (row) ;
-	}
-	else
-	{
-	  /* save the new mark */
-	  Row [row].shared2.mark = set_difference + tag_mark ;
-	}
-      }
-    }
-
-
-    /* === Add up set differences for each column ======================= */
-
-    COLAMD_DEBUG3 (("** Adding set differences phase. **\n")) ;
-
-    /* for each column in pivot row */
-    rp = &A [pivot_row_start] ;
-    rp_end = rp + pivot_row_length ;
-    while (rp < rp_end)
-    {
-      /* get a column */
-      col = *rp++ ;
-      COLAMD_ASSERT (COL_IS_ALIVE (col) && col != pivot_col) ;
-      hash = 0 ;
-      cur_score = 0 ;
-      cp = &A [Col [col].start] ;
-      /* compact the column */
-      new_cp = cp ;
-      cp_end = cp + Col [col].length ;
-
-      COLAMD_DEBUG4 (("Adding set diffs for Col: %d.\n", col)) ;
-
-      while (cp < cp_end)
-      {
-	/* get a row */
-	row = *cp++ ;
-	COLAMD_ASSERT(row >= 0 && row < n_row) ;
-	row_mark = Row [row].shared2.mark ;
-	/* skip if dead */
-	if (ROW_IS_MARKED_DEAD (row_mark))
-	{
-	  continue ;
-	}
-	COLAMD_ASSERT (row_mark > tag_mark) ;
-	/* compact the column */
-	*new_cp++ = row ;
-	/* compute hash function */
-	hash += row ;
-	/* add set difference */
-	cur_score += row_mark - tag_mark ;
-	/* integer overflow... */
-	cur_score = (std::min)(cur_score, n_col) ;
-      }
-
-      /* recompute the column's length */
-      Col [col].length = (Index) (new_cp - &A [Col [col].start]) ;
-
-      /* === Further mass elimination ================================= */
-
-      if (Col [col].length == 0)
-      {
-	COLAMD_DEBUG4 (("further mass elimination. Col: %d\n", col)) ;
-	/* nothing left but the pivot row in this column */
-	KILL_PRINCIPAL_COL (col) ;
-	pivot_row_degree -= Col [col].shared1.thickness ;
-	COLAMD_ASSERT (pivot_row_degree >= 0) ;
-	/* order it */
-	Col [col].shared2.order = k ;
-	/* increment order count by column thickness */
-	k += Col [col].shared1.thickness ;
-      }
-      else
-      {
-	/* === Prepare for supercolumn detection ==================== */
-
-	COLAMD_DEBUG4 (("Preparing supercol detection for Col: %d.\n", col)) ;
-
-	/* save score so far */
-	Col [col].shared2.score = cur_score ;
-
-	/* add column to hash table, for supercolumn detection */
-	hash %= n_col + 1 ;
-
-	COLAMD_DEBUG4 ((" Hash = %d, n_col = %d.\n", hash, n_col)) ;
-	COLAMD_ASSERT (hash <= n_col) ;
-
-	head_column = head [hash] ;
-	if (head_column > COLAMD_EMPTY)
-	{
-	  /* degree list "hash" is non-empty, use prev (shared3) of */
-	  /* first column in degree list as head of hash bucket */
-	  first_col = Col [head_column].shared3.headhash ;
-	  Col [head_column].shared3.headhash = col ;
-	}
-	else
-	{
-	  /* degree list "hash" is empty, use head as hash bucket */
-	  first_col = - (head_column + 2) ;
-	  head [hash] = - (col + 2) ;
-	}
-	Col [col].shared4.hash_next = first_col ;
-
-	/* save hash function in Col [col].shared3.hash */
-	Col [col].shared3.hash = (Index) hash ;
-	COLAMD_ASSERT (COL_IS_ALIVE (col)) ;
-      }
-    }
-
-    /* The approximate external column degree is now computed.  */
-
-    /* === Supercolumn detection ======================================== */
-
-    COLAMD_DEBUG3 (("** Supercolumn detection phase. **\n")) ;
-
-    Eigen::internal::detect_super_cols (Col, A, head, pivot_row_start, pivot_row_length) ;
-
-    /* === Kill the pivotal column ====================================== */
-
-    KILL_PRINCIPAL_COL (pivot_col) ;
-
-    /* === Clear mark =================================================== */
-
-    tag_mark += (max_deg + 1) ;
-    if (tag_mark >= max_mark)
-    {
-      COLAMD_DEBUG2 (("clearing tag_mark\n")) ;
-      tag_mark = Eigen::internal::clear_mark (n_row, Row) ;
-    }
-
-    /* === Finalize the new pivot row, and column scores ================ */
-
-    COLAMD_DEBUG3 (("** Finalize scores phase. **\n")) ;
-
-    /* for each column in pivot row */
-    rp = &A [pivot_row_start] ;
-    /* compact the pivot row */
-    new_rp = rp ;
-    rp_end = rp + pivot_row_length ;
-    while (rp < rp_end)
-    {
-      col = *rp++ ;
-      /* skip dead columns */
-      if (COL_IS_DEAD (col))
-      {
-	continue ;
-      }
-      *new_rp++ = col ;
-      /* add new pivot row to column */
-      A [Col [col].start + (Col [col].length++)] = pivot_row ;
-
-      /* retrieve score so far and add on pivot row's degree. */
-      /* (we wait until here for this in case the pivot */
-      /* row's degree was reduced due to mass elimination). */
-      cur_score = Col [col].shared2.score + pivot_row_degree ;
-
-      /* calculate the max possible score as the number of */
-      /* external columns minus the 'k' value minus the */
-      /* columns thickness */
-      max_score = n_col - k - Col [col].shared1.thickness ;
-
-      /* make the score the external degree of the union-of-rows */
-      cur_score -= Col [col].shared1.thickness ;
-
-      /* make sure score is less or equal than the max score */
-      cur_score = (std::min)(cur_score, max_score) ;
-      COLAMD_ASSERT (cur_score >= 0) ;
-
-      /* store updated score */
-      Col [col].shared2.score = cur_score ;
-
-      /* === Place column back in degree list ========================= */
-
-      COLAMD_ASSERT (min_score >= 0) ;
-      COLAMD_ASSERT (min_score <= n_col) ;
-      COLAMD_ASSERT (cur_score >= 0) ;
-      COLAMD_ASSERT (cur_score <= n_col) ;
-      COLAMD_ASSERT (head [cur_score] >= COLAMD_EMPTY) ;
-      next_col = head [cur_score] ;
-      Col [col].shared4.degree_next = next_col ;
-      Col [col].shared3.prev = COLAMD_EMPTY ;
-      if (next_col != COLAMD_EMPTY)
-      {
-	Col [next_col].shared3.prev = col ;
-      }
-      head [cur_score] = col ;
-
-      /* see if this score is less than current min */
-      min_score = (std::min)(min_score, cur_score) ;
-
-    }
-
-    /* === Resurrect the new pivot row ================================== */
-
-    if (pivot_row_degree > 0)
-    {
-      /* update pivot row length to reflect any cols that were killed */
-      /* during super-col detection and mass elimination */
-      Row [pivot_row].start  = pivot_row_start ;
-      Row [pivot_row].length = (Index) (new_rp - &A[pivot_row_start]) ;
-      Row [pivot_row].shared1.degree = pivot_row_degree ;
-      Row [pivot_row].shared2.mark = 0 ;
-      /* pivot row is no longer dead */
-    }
-  }
-
-  /* === All principal columns have now been ordered ====================== */
-
-  return (ngarbage) ;
-}
-
-
-/* ========================================================================== */
-/* === order_children ======================================================= */
-/* ========================================================================== */
-
-/*
-  The find_ordering routine has ordered all of the principal columns (the
-  representatives of the supercolumns).  The non-principal columns have not
-  yet been ordered.  This routine orders those columns by walking up the
-  parent tree (a column is a child of the column which absorbed it).  The
-  final permutation vector is then placed in p [0 ... n_col-1], with p [0]
-  being the first column, and p [n_col-1] being the last.  It doesn't look
-  like it at first glance, but be assured that this routine takes time linear
-  in the number of columns.  Although not immediately obvious, the time
-  taken by this routine is O (n_col), that is, linear in the number of
-  columns.  Not user-callable.
-*/
-template <typename Index>
-static inline  void order_children
-(
-  /* === Parameters ======================================================= */
-
-  Index n_col,      /* number of columns of A */
-  colamd_col<Index> Col [],    /* of size n_col+1 */
-  Index p []      /* p [0 ... n_col-1] is the column permutation*/
-  )
-{
-  /* === Local variables ================================================== */
-
-  Index i ;     /* loop counter for all columns */
-  Index c ;     /* column index */
-  Index parent ;    /* index of column's parent */
-  Index order ;     /* column's order */
-
-  /* === Order each non-principal column ================================== */
-
-  for (i = 0 ; i < n_col ; i++)
-  {
-    /* find an un-ordered non-principal column */
-    COLAMD_ASSERT (COL_IS_DEAD (i)) ;
-    if (!COL_IS_DEAD_PRINCIPAL (i) && Col [i].shared2.order == COLAMD_EMPTY)
-    {
-      parent = i ;
-      /* once found, find its principal parent */
-      do
-      {
-	parent = Col [parent].shared1.parent ;
-      } while (!COL_IS_DEAD_PRINCIPAL (parent)) ;
-
-      /* now, order all un-ordered non-principal columns along path */
-      /* to this parent.  collapse tree at the same time */
-      c = i ;
-      /* get order of parent */
-      order = Col [parent].shared2.order ;
-
-      do
-      {
-	COLAMD_ASSERT (Col [c].shared2.order == COLAMD_EMPTY) ;
-
-	/* order this column */
-	Col [c].shared2.order = order++ ;
-	/* collaps tree */
-	Col [c].shared1.parent = parent ;
-
-	/* get immediate parent of this column */
-	c = Col [c].shared1.parent ;
-
-	/* continue until we hit an ordered column.  There are */
-	/* guarranteed not to be anymore unordered columns */
-	/* above an ordered column */
-      } while (Col [c].shared2.order == COLAMD_EMPTY) ;
-
-      /* re-order the super_col parent to largest order for this group */
-      Col [parent].shared2.order = order ;
-    }
-  }
-
-  /* === Generate the permutation ========================================= */
-
-  for (c = 0 ; c < n_col ; c++)
-  {
-    p [Col [c].shared2.order] = c ;
-  }
-}
-
-
-/* ========================================================================== */
-/* === detect_super_cols ==================================================== */
-/* ========================================================================== */
-
-/*
-  Detects supercolumns by finding matches between columns in the hash buckets.
-  Check amongst columns in the set A [row_start ... row_start + row_length-1].
-  The columns under consideration are currently *not* in the degree lists,
-  and have already been placed in the hash buckets.
-
-  The hash bucket for columns whose hash function is equal to h is stored
-  as follows:
-
-  if head [h] is >= 0, then head [h] contains a degree list, so:
-
-  head [h] is the first column in degree bucket h.
-  Col [head [h]].headhash gives the first column in hash bucket h.
-
-  otherwise, the degree list is empty, and:
-
-  -(head [h] + 2) is the first column in hash bucket h.
-
-  For a column c in a hash bucket, Col [c].shared3.prev is NOT a "previous
-  column" pointer.  Col [c].shared3.hash is used instead as the hash number
-  for that column.  The value of Col [c].shared4.hash_next is the next column
-  in the same hash bucket.
-
-  Assuming no, or "few" hash collisions, the time taken by this routine is
-  linear in the sum of the sizes (lengths) of each column whose score has
-  just been computed in the approximate degree computation.
-  Not user-callable.
-*/
-template <typename Index>
-static void detect_super_cols
-(
-  /* === Parameters ======================================================= */
-  
-  colamd_col<Index> Col [],    /* of size n_col+1 */
-  Index A [],     /* row indices of A */
-  Index head [],    /* head of degree lists and hash buckets */
-  Index row_start,    /* pointer to set of columns to check */
-  Index row_length    /* number of columns to check */
-)
-{
-  /* === Local variables ================================================== */
-
-  Index hash ;      /* hash value for a column */
-  Index *rp ;     /* pointer to a row */
-  Index c ;     /* a column index */
-  Index super_c ;   /* column index of the column to absorb into */
-  Index *cp1 ;      /* column pointer for column super_c */
-  Index *cp2 ;      /* column pointer for column c */
-  Index length ;    /* length of column super_c */
-  Index prev_c ;    /* column preceding c in hash bucket */
-  Index i ;     /* loop counter */
-  Index *rp_end ;   /* pointer to the end of the row */
-  Index col ;     /* a column index in the row to check */
-  Index head_column ;   /* first column in hash bucket or degree list */
-  Index first_col ;   /* first column in hash bucket */
-
-  /* === Consider each column in the row ================================== */
-
-  rp = &A [row_start] ;
-  rp_end = rp + row_length ;
-  while (rp < rp_end)
-  {
-    col = *rp++ ;
-    if (COL_IS_DEAD (col))
-    {
-      continue ;
-    }
-
-    /* get hash number for this column */
-    hash = Col [col].shared3.hash ;
-    COLAMD_ASSERT (hash <= n_col) ;
-
-    /* === Get the first column in this hash bucket ===================== */
-
-    head_column = head [hash] ;
-    if (head_column > COLAMD_EMPTY)
-    {
-      first_col = Col [head_column].shared3.headhash ;
-    }
-    else
-    {
-      first_col = - (head_column + 2) ;
-    }
-
-    /* === Consider each column in the hash bucket ====================== */
-
-    for (super_c = first_col ; super_c != COLAMD_EMPTY ;
-	 super_c = Col [super_c].shared4.hash_next)
-    {
-      COLAMD_ASSERT (COL_IS_ALIVE (super_c)) ;
-      COLAMD_ASSERT (Col [super_c].shared3.hash == hash) ;
-      length = Col [super_c].length ;
-
-      /* prev_c is the column preceding column c in the hash bucket */
-      prev_c = super_c ;
-
-      /* === Compare super_c with all columns after it ================ */
-
-      for (c = Col [super_c].shared4.hash_next ;
-	   c != COLAMD_EMPTY ; c = Col [c].shared4.hash_next)
-      {
-	COLAMD_ASSERT (c != super_c) ;
-	COLAMD_ASSERT (COL_IS_ALIVE (c)) ;
-	COLAMD_ASSERT (Col [c].shared3.hash == hash) ;
-
-	/* not identical if lengths or scores are different */
-	if (Col [c].length != length ||
-	    Col [c].shared2.score != Col [super_c].shared2.score)
-	{
-	  prev_c = c ;
-	  continue ;
-	}
-
-	/* compare the two columns */
-	cp1 = &A [Col [super_c].start] ;
-	cp2 = &A [Col [c].start] ;
-
-	for (i = 0 ; i < length ; i++)
-	{
-	  /* the columns are "clean" (no dead rows) */
-	  COLAMD_ASSERT (ROW_IS_ALIVE (*cp1))  ;
-	  COLAMD_ASSERT (ROW_IS_ALIVE (*cp2))  ;
-	  /* row indices will same order for both supercols, */
-	  /* no gather scatter nessasary */
-	  if (*cp1++ != *cp2++)
-	  {
-	    break ;
-	  }
-	}
-
-	/* the two columns are different if the for-loop "broke" */
-	if (i != length)
-	{
-	  prev_c = c ;
-	  continue ;
-	}
-
-	/* === Got it!  two columns are identical =================== */
-
-	COLAMD_ASSERT (Col [c].shared2.score == Col [super_c].shared2.score) ;
-
-	Col [super_c].shared1.thickness += Col [c].shared1.thickness ;
-	Col [c].shared1.parent = super_c ;
-	KILL_NON_PRINCIPAL_COL (c) ;
-	/* order c later, in order_children() */
-	Col [c].shared2.order = COLAMD_EMPTY ;
-	/* remove c from hash bucket */
-	Col [prev_c].shared4.hash_next = Col [c].shared4.hash_next ;
-      }
-    }
-
-    /* === Empty this hash bucket ======================================= */
-
-    if (head_column > COLAMD_EMPTY)
-    {
-      /* corresponding degree list "hash" is not empty */
-      Col [head_column].shared3.headhash = COLAMD_EMPTY ;
-    }
-    else
-    {
-      /* corresponding degree list "hash" is empty */
-      head [hash] = COLAMD_EMPTY ;
-    }
-  }
-}
-
-
-/* ========================================================================== */
-/* === garbage_collection =================================================== */
-/* ========================================================================== */
-
-/*
-  Defragments and compacts columns and rows in the workspace A.  Used when
-  all avaliable memory has been used while performing row merging.  Returns
-  the index of the first free position in A, after garbage collection.  The
-  time taken by this routine is linear is the size of the array A, which is
-  itself linear in the number of nonzeros in the input matrix.
-  Not user-callable.
-*/
-template <typename Index>
-static Index garbage_collection  /* returns the new value of pfree */
-  (
-    /* === Parameters ======================================================= */
-    
-    Index n_row,      /* number of rows */
-    Index n_col,      /* number of columns */
-    Colamd_Row<Index> Row [],    /* row info */
-    colamd_col<Index> Col [],    /* column info */
-    Index A [],     /* A [0 ... Alen-1] holds the matrix */
-    Index *pfree      /* &A [0] ... pfree is in use */
-    )
-{
-  /* === Local variables ================================================== */
-
-  Index *psrc ;     /* source pointer */
-  Index *pdest ;    /* destination pointer */
-  Index j ;     /* counter */
-  Index r ;     /* a row index */
-  Index c ;     /* a column index */
-  Index length ;    /* length of a row or column */
-
-  /* === Defragment the columns =========================================== */
-
-  pdest = &A[0] ;
-  for (c = 0 ; c < n_col ; c++)
-  {
-    if (COL_IS_ALIVE (c))
-    {
-      psrc = &A [Col [c].start] ;
-
-      /* move and compact the column */
-      COLAMD_ASSERT (pdest <= psrc) ;
-      Col [c].start = (Index) (pdest - &A [0]) ;
-      length = Col [c].length ;
-      for (j = 0 ; j < length ; j++)
-      {
-	r = *psrc++ ;
-	if (ROW_IS_ALIVE (r))
-	{
-	  *pdest++ = r ;
-	}
-      }
-      Col [c].length = (Index) (pdest - &A [Col [c].start]) ;
-    }
-  }
-
-  /* === Prepare to defragment the rows =================================== */
-
-  for (r = 0 ; r < n_row ; r++)
-  {
-    if (ROW_IS_ALIVE (r))
-    {
-      if (Row [r].length == 0)
-      {
-	/* this row is of zero length.  cannot compact it, so kill it */
-	COLAMD_DEBUG3 (("Defrag row kill\n")) ;
-	KILL_ROW (r) ;
-      }
-      else
-      {
-	/* save first column index in Row [r].shared2.first_column */
-	psrc = &A [Row [r].start] ;
-	Row [r].shared2.first_column = *psrc ;
-	COLAMD_ASSERT (ROW_IS_ALIVE (r)) ;
-	/* flag the start of the row with the one's complement of row */
-	*psrc = ONES_COMPLEMENT (r) ;
-
-      }
-    }
-  }
-
-  /* === Defragment the rows ============================================== */
-
-  psrc = pdest ;
-  while (psrc < pfree)
-  {
-    /* find a negative number ... the start of a row */
-    if (*psrc++ < 0)
-    {
-      psrc-- ;
-      /* get the row index */
-      r = ONES_COMPLEMENT (*psrc) ;
-      COLAMD_ASSERT (r >= 0 && r < n_row) ;
-      /* restore first column index */
-      *psrc = Row [r].shared2.first_column ;
-      COLAMD_ASSERT (ROW_IS_ALIVE (r)) ;
-
-      /* move and compact the row */
-      COLAMD_ASSERT (pdest <= psrc) ;
-      Row [r].start = (Index) (pdest - &A [0]) ;
-      length = Row [r].length ;
-      for (j = 0 ; j < length ; j++)
-      {
-	c = *psrc++ ;
-	if (COL_IS_ALIVE (c))
-	{
-	  *pdest++ = c ;
-	}
-      }
-      Row [r].length = (Index) (pdest - &A [Row [r].start]) ;
-
-    }
-  }
-  /* ensure we found all the rows */
-  COLAMD_ASSERT (debug_rows == 0) ;
-
-  /* === Return the new value of pfree ==================================== */
-
-  return ((Index) (pdest - &A [0])) ;
-}
-
-
-/* ========================================================================== */
-/* === clear_mark =========================================================== */
-/* ========================================================================== */
-
-/*
-  Clears the Row [].shared2.mark array, and returns the new tag_mark.
-  Return value is the new tag_mark.  Not user-callable.
-*/
-template <typename Index>
-static inline  Index clear_mark  /* return the new value for tag_mark */
-  (
-      /* === Parameters ======================================================= */
-
-    Index n_row,    /* number of rows in A */
-    Colamd_Row<Index> Row [] /* Row [0 ... n_row-1].shared2.mark is set to zero */
-    )
-{
-  /* === Local variables ================================================== */
-
-  Index r ;
-
-  for (r = 0 ; r < n_row ; r++)
-  {
-    if (ROW_IS_ALIVE (r))
-    {
-      Row [r].shared2.mark = 0 ;
-    }
-  }
-  return (1) ;
-}
-
-
-} // namespace internal 
-#endif
diff --git a/lib/Eigen/src/OrderingMethods/Ordering.h b/lib/Eigen/src/OrderingMethods/Ordering.h
deleted file mode 100644
index f3c31f9c..00000000
--- a/lib/Eigen/src/OrderingMethods/Ordering.h
+++ /dev/null
@@ -1,154 +0,0 @@
- 
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012  Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_ORDERING_H
-#define EIGEN_ORDERING_H
-
-namespace Eigen {
-  
-#include "Eigen_Colamd.h"
-
-namespace internal {
-    
-/** \internal
-  * \ingroup OrderingMethods_Module
-  * \returns the symmetric pattern A^T+A from the input matrix A. 
-  * FIXME: The values should not be considered here
-  */
-template<typename MatrixType> 
-void ordering_helper_at_plus_a(const MatrixType& mat, MatrixType& symmat)
-{
-  MatrixType C;
-  C = mat.transpose(); // NOTE: Could be  costly
-  for (int i = 0; i < C.rows(); i++) 
-  {
-      for (typename MatrixType::InnerIterator it(C, i); it; ++it)
-        it.valueRef() = 0.0;
-  }
-  symmat = C + mat; 
-}
-    
-}
-
-#ifndef EIGEN_MPL2_ONLY
-
-/** \ingroup OrderingMethods_Module
-  * \class AMDOrdering
-  *
-  * Functor computing the \em approximate \em minimum \em degree ordering
-  * If the matrix is not structurally symmetric, an ordering of A^T+A is computed
-  * \tparam  Index The type of indices of the matrix 
-  * \sa COLAMDOrdering
-  */
-template <typename Index>
-class AMDOrdering
-{
-  public:
-    typedef PermutationMatrix<Dynamic, Dynamic, Index> PermutationType;
-    
-    /** Compute the permutation vector from a sparse matrix
-     * This routine is much faster if the input matrix is column-major     
-     */
-    template <typename MatrixType>
-    void operator()(const MatrixType& mat, PermutationType& perm)
-    {
-      // Compute the symmetric pattern
-      SparseMatrix<typename MatrixType::Scalar, ColMajor, Index> symm;
-      internal::ordering_helper_at_plus_a(mat,symm); 
-    
-      // Call the AMD routine 
-      //m_mat.prune(keep_diag());
-      internal::minimum_degree_ordering(symm, perm);
-    }
-    
-    /** Compute the permutation with a selfadjoint matrix */
-    template <typename SrcType, unsigned int SrcUpLo> 
-    void operator()(const SparseSelfAdjointView<SrcType, SrcUpLo>& mat, PermutationType& perm)
-    { 
-      SparseMatrix<typename SrcType::Scalar, ColMajor, Index> C; C = mat;
-      
-      // Call the AMD routine 
-      // m_mat.prune(keep_diag()); //Remove the diagonal elements 
-      internal::minimum_degree_ordering(C, perm);
-    }
-};
-
-#endif // EIGEN_MPL2_ONLY
-
-/** \ingroup OrderingMethods_Module
-  * \class NaturalOrdering
-  *
-  * Functor computing the natural ordering (identity)
-  * 
-  * \note Returns an empty permutation matrix
-  * \tparam  Index The type of indices of the matrix 
-  */
-template <typename Index>
-class NaturalOrdering
-{
-  public:
-    typedef PermutationMatrix<Dynamic, Dynamic, Index> PermutationType;
-    
-    /** Compute the permutation vector from a column-major sparse matrix */
-    template <typename MatrixType>
-    void operator()(const MatrixType& /*mat*/, PermutationType& perm)
-    {
-      perm.resize(0); 
-    }
-    
-};
-
-/** \ingroup OrderingMethods_Module
-  * \class COLAMDOrdering
-  *
-  * Functor computing the \em column \em approximate \em minimum \em degree ordering 
-  * The matrix should be in column-major and \b compressed format (see SparseMatrix::makeCompressed()).
-  */
-template<typename Index>
-class COLAMDOrdering
-{
-  public:
-    typedef PermutationMatrix<Dynamic, Dynamic, Index> PermutationType; 
-    typedef Matrix<Index, Dynamic, 1> IndexVector;
-    
-    /** Compute the permutation vector \a perm form the sparse matrix \a mat
-      * \warning The input sparse matrix \a mat must be in compressed mode (see SparseMatrix::makeCompressed()).
-      */
-    template <typename MatrixType>
-    void operator() (const MatrixType& mat, PermutationType& perm)
-    {
-      eigen_assert(mat.isCompressed() && "COLAMDOrdering requires a sparse matrix in compressed mode. Call .makeCompressed() before passing it to COLAMDOrdering");
-      
-      Index m = mat.rows();
-      Index n = mat.cols();
-      Index nnz = mat.nonZeros();
-      // Get the recommended value of Alen to be used by colamd
-      Index Alen = internal::colamd_recommended(nnz, m, n); 
-      // Set the default parameters
-      double knobs [COLAMD_KNOBS]; 
-      Index stats [COLAMD_STATS];
-      internal::colamd_set_defaults(knobs);
-      
-      IndexVector p(n+1), A(Alen); 
-      for(Index i=0; i <= n; i++)   p(i) = mat.outerIndexPtr()[i];
-      for(Index i=0; i < nnz; i++)  A(i) = mat.innerIndexPtr()[i];
-      // Call Colamd routine to compute the ordering 
-      Index info = internal::colamd(m, n, Alen, A.data(), p.data(), knobs, stats); 
-      EIGEN_UNUSED_VARIABLE(info);
-      eigen_assert( info && "COLAMD failed " );
-      
-      perm.resize(n);
-      for (Index i = 0; i < n; i++) perm.indices()(p(i)) = i;
-    }
-};
-
-} // end namespace Eigen
-
-#endif
diff --git a/lib/Eigen/src/PaStiXSupport/CMakeLists.txt b/lib/Eigen/src/PaStiXSupport/CMakeLists.txt
deleted file mode 100644
index 28c657e9..00000000
--- a/lib/Eigen/src/PaStiXSupport/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_PastixSupport_SRCS "*.h")
-
-INSTALL(FILES 
-  ${Eigen_PastixSupport_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/PaStiXSupport COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/PaStiXSupport/PaStiXSupport.h b/lib/Eigen/src/PaStiXSupport/PaStiXSupport.h
deleted file mode 100644
index a955287d..00000000
--- a/lib/Eigen/src/PaStiXSupport/PaStiXSupport.h
+++ /dev/null
@@ -1,721 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_PASTIXSUPPORT_H
-#define EIGEN_PASTIXSUPPORT_H
-
-namespace Eigen { 
-
-/** \ingroup PaStiXSupport_Module
-  * \brief Interface to the PaStix solver
-  * 
-  * This class is used to solve the linear systems A.X = B via the PaStix library. 
-  * The matrix can be either real or complex, symmetric or not.
-  *
-  * \sa TutorialSparseDirectSolvers
-  */
-template<typename _MatrixType, bool IsStrSym = false> class PastixLU;
-template<typename _MatrixType, int Options> class PastixLLT;
-template<typename _MatrixType, int Options> class PastixLDLT;
-
-namespace internal
-{
-    
-  template<class Pastix> struct pastix_traits;
-
-  template<typename _MatrixType>
-  struct pastix_traits< PastixLU<_MatrixType> >
-  {
-    typedef _MatrixType MatrixType;
-    typedef typename _MatrixType::Scalar Scalar;
-    typedef typename _MatrixType::RealScalar RealScalar;
-    typedef typename _MatrixType::Index Index;
-  };
-
-  template<typename _MatrixType, int Options>
-  struct pastix_traits< PastixLLT<_MatrixType,Options> >
-  {
-    typedef _MatrixType MatrixType;
-    typedef typename _MatrixType::Scalar Scalar;
-    typedef typename _MatrixType::RealScalar RealScalar;
-    typedef typename _MatrixType::Index Index;
-  };
-
-  template<typename _MatrixType, int Options>
-  struct pastix_traits< PastixLDLT<_MatrixType,Options> >
-  {
-    typedef _MatrixType MatrixType;
-    typedef typename _MatrixType::Scalar Scalar;
-    typedef typename _MatrixType::RealScalar RealScalar;
-    typedef typename _MatrixType::Index Index;
-  };
-  
-  void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, float *vals, int *perm, int * invp, float *x, int nbrhs, int *iparm, double *dparm)
-  {
-    if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; }
-    if (nbrhs == 0) {x = NULL; nbrhs=1;}
-    s_pastix(pastix_data, pastix_comm, n, ptr, idx, vals, perm, invp, x, nbrhs, iparm, dparm); 
-  }
-  
-  void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, double *vals, int *perm, int * invp, double *x, int nbrhs, int *iparm, double *dparm)
-  {
-    if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; }
-    if (nbrhs == 0) {x = NULL; nbrhs=1;}
-    d_pastix(pastix_data, pastix_comm, n, ptr, idx, vals, perm, invp, x, nbrhs, iparm, dparm); 
-  }
-  
-  void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex<float> *vals, int *perm, int * invp, std::complex<float> *x, int nbrhs, int *iparm, double *dparm)
-  {
-    if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; }
-    if (nbrhs == 0) {x = NULL; nbrhs=1;}
-    c_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<COMPLEX*>(vals), perm, invp, reinterpret_cast<COMPLEX*>(x), nbrhs, iparm, dparm); 
-  }
-  
-  void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex<double> *vals, int *perm, int * invp, std::complex<double> *x, int nbrhs, int *iparm, double *dparm)
-  {
-    if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; }
-    if (nbrhs == 0) {x = NULL; nbrhs=1;}
-    z_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<DCOMPLEX*>(vals), perm, invp, reinterpret_cast<DCOMPLEX*>(x), nbrhs, iparm, dparm); 
-  }
-
-  // Convert the matrix  to Fortran-style Numbering
-  template <typename MatrixType>
-  void c_to_fortran_numbering (MatrixType& mat)
-  {
-    if ( !(mat.outerIndexPtr()[0]) ) 
-    { 
-      int i;
-      for(i = 0; i <= mat.rows(); ++i)
-        ++mat.outerIndexPtr()[i];
-      for(i = 0; i < mat.nonZeros(); ++i)
-        ++mat.innerIndexPtr()[i];
-    }
-  }
-  
-  // Convert to C-style Numbering
-  template <typename MatrixType>
-  void fortran_to_c_numbering (MatrixType& mat)
-  {
-    // Check the Numbering
-    if ( mat.outerIndexPtr()[0] == 1 ) 
-    { // Convert to C-style numbering
-      int i;
-      for(i = 0; i <= mat.rows(); ++i)
-        --mat.outerIndexPtr()[i];
-      for(i = 0; i < mat.nonZeros(); ++i)
-        --mat.innerIndexPtr()[i];
-    }
-  }
-}
-
-// This is the base class to interface with PaStiX functions. 
-// Users should not used this class directly. 
-template <class Derived>
-class PastixBase : internal::noncopyable
-{
-  public:
-    typedef typename internal::pastix_traits<Derived>::MatrixType _MatrixType;
-    typedef _MatrixType MatrixType;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef Matrix<Scalar,Dynamic,1> Vector;
-    typedef SparseMatrix<Scalar, ColMajor> ColSpMatrix;
-    
-  public:
-    
-    PastixBase() : m_initisOk(false), m_analysisIsOk(false), m_factorizationIsOk(false), m_isInitialized(false), m_pastixdata(0), m_size(0)
-    {
-      init();
-    }
-    
-    ~PastixBase() 
-    {
-      clean();
-    }
-
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<PastixBase, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "Pastix solver is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "PastixBase::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<PastixBase, Rhs>(*this, b.derived());
-    }
-    
-    template<typename Rhs,typename Dest>
-    bool _solve (const MatrixBase<Rhs> &b, MatrixBase<Dest> &x) const;
-    
-    Derived& derived()
-    {
-      return *static_cast<Derived*>(this);
-    }
-    const Derived& derived() const
-    {
-      return *static_cast<const Derived*>(this);
-    }
-
-    /** Returns a reference to the integer vector IPARM of PaStiX parameters
-      * to modify the default parameters. 
-      * The statistics related to the different phases of factorization and solve are saved here as well
-      * \sa analyzePattern() factorize()
-      */
-    Array<Index,IPARM_SIZE,1>& iparm()
-    {
-      return m_iparm; 
-    }
-    
-    /** Return a reference to a particular index parameter of the IPARM vector 
-     * \sa iparm()
-     */
-    
-    int& iparm(int idxparam)
-    {
-      return m_iparm(idxparam);
-    }
-    
-     /** Returns a reference to the double vector DPARM of PaStiX parameters 
-      * The statistics related to the different phases of factorization and solve are saved here as well
-      * \sa analyzePattern() factorize()
-      */
-    Array<RealScalar,IPARM_SIZE,1>& dparm()
-    {
-      return m_dparm; 
-    }
-    
-    
-    /** Return a reference to a particular index parameter of the DPARM vector 
-     * \sa dparm()
-     */
-    double& dparm(int idxparam)
-    {
-      return m_dparm(idxparam);
-    }
-    
-    inline Index cols() const { return m_size; }
-    inline Index rows() const { return m_size; }
-    
-     /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the PaStiX reports a problem
-      *          \c InvalidInput if the input matrix is invalid
-      *
-      * \sa iparm()          
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_info;
-    }
-    
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::sparse_solve_retval<PastixBase, Rhs>
-    solve(const SparseMatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "Pastix LU, LLT or LDLT is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "PastixBase::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::sparse_solve_retval<PastixBase, Rhs>(*this, b.derived());
-    }
-    
-  protected:
-
-    // Initialize the Pastix data structure, check the matrix
-    void init(); 
-    
-    // Compute the ordering and the symbolic factorization
-    void analyzePattern(ColSpMatrix& mat);
-    
-    // Compute the numerical factorization
-    void factorize(ColSpMatrix& mat);
-    
-    // Free all the data allocated by Pastix
-    void clean()
-    {
-      eigen_assert(m_initisOk && "The Pastix structure should be allocated first"); 
-      m_iparm(IPARM_START_TASK) = API_TASK_CLEAN;
-      m_iparm(IPARM_END_TASK) = API_TASK_CLEAN;
-      internal::eigen_pastix(&m_pastixdata, MPI_COMM_WORLD, 0, 0, 0, (Scalar*)0,
-                             m_perm.data(), m_invp.data(), 0, 0, m_iparm.data(), m_dparm.data());
-    }
-    
-    void compute(ColSpMatrix& mat);
-    
-    int m_initisOk; 
-    int m_analysisIsOk;
-    int m_factorizationIsOk;
-    bool m_isInitialized;
-    mutable ComputationInfo m_info; 
-    mutable pastix_data_t *m_pastixdata; // Data structure for pastix
-    mutable int m_comm; // The MPI communicator identifier
-    mutable Matrix<int,IPARM_SIZE,1> m_iparm; // integer vector for the input parameters
-    mutable Matrix<double,DPARM_SIZE,1> m_dparm; // Scalar vector for the input parameters
-    mutable Matrix<Index,Dynamic,1> m_perm;  // Permutation vector
-    mutable Matrix<Index,Dynamic,1> m_invp;  // Inverse permutation vector
-    mutable int m_size; // Size of the matrix 
-}; 
-
- /** Initialize the PaStiX data structure. 
-   *A first call to this function fills iparm and dparm with the default PaStiX parameters
-   * \sa iparm() dparm()
-   */
-template <class Derived>
-void PastixBase<Derived>::init()
-{
-  m_size = 0; 
-  m_iparm.setZero(IPARM_SIZE);
-  m_dparm.setZero(DPARM_SIZE);
-  
-  m_iparm(IPARM_MODIFY_PARAMETER) = API_NO;
-  pastix(&m_pastixdata, MPI_COMM_WORLD,
-         0, 0, 0, 0,
-         0, 0, 0, 1, m_iparm.data(), m_dparm.data());
-  
-  m_iparm[IPARM_MATRIX_VERIFICATION] = API_NO;
-  m_iparm[IPARM_VERBOSE]             = 2;
-  m_iparm[IPARM_ORDERING]            = API_ORDER_SCOTCH;
-  m_iparm[IPARM_INCOMPLETE]          = API_NO;
-  m_iparm[IPARM_OOC_LIMIT]           = 2000;
-  m_iparm[IPARM_RHS_MAKING]          = API_RHS_B;
-  m_iparm(IPARM_MATRIX_VERIFICATION) = API_NO;
-  
-  m_iparm(IPARM_START_TASK) = API_TASK_INIT;
-  m_iparm(IPARM_END_TASK) = API_TASK_INIT;
-  internal::eigen_pastix(&m_pastixdata, MPI_COMM_WORLD, 0, 0, 0, (Scalar*)0,
-                         0, 0, 0, 0, m_iparm.data(), m_dparm.data());
-  
-  // Check the returned error
-  if(m_iparm(IPARM_ERROR_NUMBER)) {
-    m_info = InvalidInput;
-    m_initisOk = false;
-  }
-  else { 
-    m_info = Success;
-    m_initisOk = true;
-  }
-}
-
-template <class Derived>
-void PastixBase<Derived>::compute(ColSpMatrix& mat)
-{
-  eigen_assert(mat.rows() == mat.cols() && "The input matrix should be squared");
-  
-  analyzePattern(mat);  
-  factorize(mat);
-  
-  m_iparm(IPARM_MATRIX_VERIFICATION) = API_NO;
-  m_isInitialized = m_factorizationIsOk;
-}
-
-
-template <class Derived>
-void PastixBase<Derived>::analyzePattern(ColSpMatrix& mat)
-{                         
-  eigen_assert(m_initisOk && "The initialization of PaSTiX failed");
-  
-  // clean previous calls
-  if(m_size>0)
-    clean();
-  
-  m_size = mat.rows();
-  m_perm.resize(m_size);
-  m_invp.resize(m_size);
-  
-  m_iparm(IPARM_START_TASK) = API_TASK_ORDERING;
-  m_iparm(IPARM_END_TASK) = API_TASK_ANALYSE;
-  internal::eigen_pastix(&m_pastixdata, MPI_COMM_WORLD, m_size, mat.outerIndexPtr(), mat.innerIndexPtr(),
-               mat.valuePtr(), m_perm.data(), m_invp.data(), 0, 0, m_iparm.data(), m_dparm.data());
-  
-  // Check the returned error
-  if(m_iparm(IPARM_ERROR_NUMBER))
-  {
-    m_info = NumericalIssue;
-    m_analysisIsOk = false;
-  }
-  else
-  { 
-    m_info = Success;
-    m_analysisIsOk = true;
-  }
-}
-
-template <class Derived>
-void PastixBase<Derived>::factorize(ColSpMatrix& mat)
-{
-//   if(&m_cpyMat != &mat) m_cpyMat = mat;
-  eigen_assert(m_analysisIsOk && "The analysis phase should be called before the factorization phase");
-  m_iparm(IPARM_START_TASK) = API_TASK_NUMFACT;
-  m_iparm(IPARM_END_TASK) = API_TASK_NUMFACT;
-  m_size = mat.rows();
-  
-  internal::eigen_pastix(&m_pastixdata, MPI_COMM_WORLD, m_size, mat.outerIndexPtr(), mat.innerIndexPtr(),
-               mat.valuePtr(), m_perm.data(), m_invp.data(), 0, 0, m_iparm.data(), m_dparm.data());
-  
-  // Check the returned error
-  if(m_iparm(IPARM_ERROR_NUMBER))
-  {
-    m_info = NumericalIssue;
-    m_factorizationIsOk = false;
-    m_isInitialized = false;
-  }
-  else
-  {
-    m_info = Success;
-    m_factorizationIsOk = true;
-    m_isInitialized = true;
-  }
-}
-
-/* Solve the system */
-template<typename Base>
-template<typename Rhs,typename Dest>
-bool PastixBase<Base>::_solve (const MatrixBase<Rhs> &b, MatrixBase<Dest> &x) const
-{
-  eigen_assert(m_isInitialized && "The matrix should be factorized first");
-  EIGEN_STATIC_ASSERT((Dest::Flags&RowMajorBit)==0,
-                     THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES);
-  int rhs = 1;
-  
-  x = b; /* on return, x is overwritten by the computed solution */
-  
-  for (int i = 0; i < b.cols(); i++){
-    m_iparm[IPARM_START_TASK]          = API_TASK_SOLVE;
-    m_iparm[IPARM_END_TASK]            = API_TASK_REFINE;
-  
-    internal::eigen_pastix(&m_pastixdata, MPI_COMM_WORLD, x.rows(), 0, 0, 0,
-                           m_perm.data(), m_invp.data(), &x(0, i), rhs, m_iparm.data(), m_dparm.data());
-  }
-  
-  // Check the returned error
-  m_info = m_iparm(IPARM_ERROR_NUMBER)==0 ? Success : NumericalIssue;
-  
-  return m_iparm(IPARM_ERROR_NUMBER)==0;
-}
-
-/** \ingroup PaStiXSupport_Module
-  * \class PastixLU
-  * \brief Sparse direct LU solver based on PaStiX library
-  * 
-  * This class is used to solve the linear systems A.X = B with a supernodal LU 
-  * factorization in the PaStiX library. The matrix A should be squared and nonsingular
-  * PaStiX requires that the matrix A has a symmetric structural pattern. 
-  * This interface can symmetrize the input matrix otherwise. 
-  * The vectors or matrices X and B can be either dense or sparse.
-  * 
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam IsStrSym Indicates if the input matrix has a symmetric pattern, default is false
-  * NOTE : Note that if the analysis and factorization phase are called separately, 
-  * the input matrix will be symmetrized at each call, hence it is advised to 
-  * symmetrize the matrix in a end-user program and set \p IsStrSym to true
-  * 
-  * \sa \ref TutorialSparseDirectSolvers
-  * 
-  */
-template<typename _MatrixType, bool IsStrSym>
-class PastixLU : public PastixBase< PastixLU<_MatrixType> >
-{
-  public:
-    typedef _MatrixType MatrixType;
-    typedef PastixBase<PastixLU<MatrixType> > Base;
-    typedef typename Base::ColSpMatrix ColSpMatrix;
-    typedef typename MatrixType::Index Index;
-    
-  public:
-    PastixLU() : Base()
-    {
-      init();
-    }
-    
-    PastixLU(const MatrixType& matrix):Base()
-    {
-      init();
-      compute(matrix);
-    }
-    /** Compute the LU supernodal factorization of \p matrix. 
-      * iparm and dparm can be used to tune the PaStiX parameters. 
-      * see the PaStiX user's manual
-      * \sa analyzePattern() factorize()
-      */
-    void compute (const MatrixType& matrix)
-    {
-      m_structureIsUptodate = false;
-      ColSpMatrix temp;
-      grabMatrix(matrix, temp);
-      Base::compute(temp);
-    }
-    /** Compute the LU symbolic factorization of \p matrix using its sparsity pattern. 
-      * Several ordering methods can be used at this step. See the PaStiX user's manual. 
-      * The result of this operation can be used with successive matrices having the same pattern as \p matrix
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& matrix)
-    {
-      m_structureIsUptodate = false;
-      ColSpMatrix temp;
-      grabMatrix(matrix, temp);
-      Base::analyzePattern(temp);
-    }
-
-    /** Compute the LU supernodal factorization of \p matrix
-      * WARNING The matrix \p matrix should have the same structural pattern 
-      * as the same used in the analysis phase.
-      * \sa analyzePattern()
-      */ 
-    void factorize(const MatrixType& matrix)
-    {
-      ColSpMatrix temp;
-      grabMatrix(matrix, temp);
-      Base::factorize(temp);
-    }
-  protected:
-    
-    void init()
-    {
-      m_structureIsUptodate = false;
-      m_iparm(IPARM_SYM) = API_SYM_NO;
-      m_iparm(IPARM_FACTORIZATION) = API_FACT_LU;
-    }
-    
-    void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
-    {
-      if(IsStrSym)
-        out = matrix;
-      else
-      {
-        if(!m_structureIsUptodate)
-        {
-          // update the transposed structure
-          m_transposedStructure = matrix.transpose();
-          
-          // Set the elements of the matrix to zero 
-          for (Index j=0; j<m_transposedStructure.outerSize(); ++j) 
-            for(typename ColSpMatrix::InnerIterator it(m_transposedStructure, j); it; ++it)
-              it.valueRef() = 0.0;
-
-          m_structureIsUptodate = true;
-        }
-        
-        out = m_transposedStructure + matrix;
-      }
-      internal::c_to_fortran_numbering(out);
-    }
-    
-    using Base::m_iparm;
-    using Base::m_dparm;
-    
-    ColSpMatrix m_transposedStructure;
-    bool m_structureIsUptodate;
-};
-
-/** \ingroup PaStiXSupport_Module
-  * \class PastixLLT
-  * \brief A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library
-  * 
-  * This class is used to solve the linear systems A.X = B via a LL^T supernodal Cholesky factorization
-  * available in the PaStiX library. The matrix A should be symmetric and positive definite
-  * WARNING Selfadjoint complex matrices are not supported in the current version of PaStiX
-  * The vectors or matrices X and B can be either dense or sparse
-  * 
-  * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam UpLo The part of the matrix to use : Lower or Upper. The default is Lower as required by PaStiX
-  * 
-  * \sa \ref TutorialSparseDirectSolvers
-  */
-template<typename _MatrixType, int _UpLo>
-class PastixLLT : public PastixBase< PastixLLT<_MatrixType, _UpLo> >
-{
-  public:
-    typedef _MatrixType MatrixType;
-    typedef PastixBase<PastixLLT<MatrixType, _UpLo> > Base;
-    typedef typename Base::ColSpMatrix ColSpMatrix;
-    
-  public:
-    enum { UpLo = _UpLo };
-    PastixLLT() : Base()
-    {
-      init();
-    }
-    
-    PastixLLT(const MatrixType& matrix):Base()
-    {
-      init();
-      compute(matrix);
-    }
-
-    /** Compute the L factor of the LL^T supernodal factorization of \p matrix 
-      * \sa analyzePattern() factorize()
-      */
-    void compute (const MatrixType& matrix)
-    {
-      ColSpMatrix temp;
-      grabMatrix(matrix, temp);
-      Base::compute(temp);
-    }
-
-     /** Compute the LL^T symbolic factorization of \p matrix using its sparsity pattern
-      * The result of this operation can be used with successive matrices having the same pattern as \p matrix
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& matrix)
-    {
-      ColSpMatrix temp;
-      grabMatrix(matrix, temp);
-      Base::analyzePattern(temp);
-    }
-      /** Compute the LL^T supernodal numerical factorization of \p matrix 
-        * \sa analyzePattern()
-        */
-    void factorize(const MatrixType& matrix)
-    {
-      ColSpMatrix temp;
-      grabMatrix(matrix, temp);
-      Base::factorize(temp);
-    }
-  protected:
-    using Base::m_iparm;
-    
-    void init()
-    {
-      m_iparm(IPARM_SYM) = API_SYM_YES;
-      m_iparm(IPARM_FACTORIZATION) = API_FACT_LLT;
-    }
-    
-    void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
-    {
-      // Pastix supports only lower, column-major matrices 
-      out.template selfadjointView<Lower>() = matrix.template selfadjointView<UpLo>();
-      internal::c_to_fortran_numbering(out);
-    }
-};
-
-/** \ingroup PaStiXSupport_Module
-  * \class PastixLDLT
-  * \brief A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library
-  * 
-  * This class is used to solve the linear systems A.X = B via a LDL^T supernodal Cholesky factorization
-  * available in the PaStiX library. The matrix A should be symmetric and positive definite
-  * WARNING Selfadjoint complex matrices are not supported in the current version of PaStiX
-  * The vectors or matrices X and B can be either dense or sparse
-  * 
-  * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam UpLo The part of the matrix to use : Lower or Upper. The default is Lower as required by PaStiX
-  * 
-  * \sa \ref TutorialSparseDirectSolvers
-  */
-template<typename _MatrixType, int _UpLo>
-class PastixLDLT : public PastixBase< PastixLDLT<_MatrixType, _UpLo> >
-{
-  public:
-    typedef _MatrixType MatrixType;
-    typedef PastixBase<PastixLDLT<MatrixType, _UpLo> > Base; 
-    typedef typename Base::ColSpMatrix ColSpMatrix;
-    
-  public:
-    enum { UpLo = _UpLo };
-    PastixLDLT():Base()
-    {
-      init();
-    }
-    
-    PastixLDLT(const MatrixType& matrix):Base()
-    {
-      init();
-      compute(matrix);
-    }
-
-    /** Compute the L and D factors of the LDL^T factorization of \p matrix 
-      * \sa analyzePattern() factorize()
-      */
-    void compute (const MatrixType& matrix)
-    {
-      ColSpMatrix temp;
-      grabMatrix(matrix, temp);
-      Base::compute(temp);
-    }
-
-    /** Compute the LDL^T symbolic factorization of \p matrix using its sparsity pattern
-      * The result of this operation can be used with successive matrices having the same pattern as \p matrix
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& matrix)
-    { 
-      ColSpMatrix temp;
-      grabMatrix(matrix, temp);
-      Base::analyzePattern(temp);
-    }
-    /** Compute the LDL^T supernodal numerical factorization of \p matrix 
-      * 
-      */
-    void factorize(const MatrixType& matrix)
-    {
-      ColSpMatrix temp;
-      grabMatrix(matrix, temp);
-      Base::factorize(temp);
-    }
-
-  protected:
-    using Base::m_iparm;
-    
-    void init()
-    {
-      m_iparm(IPARM_SYM) = API_SYM_YES;
-      m_iparm(IPARM_FACTORIZATION) = API_FACT_LDLT;
-    }
-    
-    void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
-    {
-      // Pastix supports only lower, column-major matrices 
-      out.template selfadjointView<Lower>() = matrix.template selfadjointView<UpLo>();
-      internal::c_to_fortran_numbering(out);
-    }
-};
-
-namespace internal {
-
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<PastixBase<_MatrixType>, Rhs>
-  : solve_retval_base<PastixBase<_MatrixType>, Rhs>
-{
-  typedef PastixBase<_MatrixType> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-template<typename _MatrixType, typename Rhs>
-struct sparse_solve_retval<PastixBase<_MatrixType>, Rhs>
-  : sparse_solve_retval_base<PastixBase<_MatrixType>, Rhs>
-{
-  typedef PastixBase<_MatrixType> Dec;
-  EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    this->defaultEvalTo(dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif
diff --git a/lib/Eigen/src/PardisoSupport/CMakeLists.txt b/lib/Eigen/src/PardisoSupport/CMakeLists.txt
deleted file mode 100644
index a097ab40..00000000
--- a/lib/Eigen/src/PardisoSupport/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_PardisoSupport_SRCS "*.h")
-
-INSTALL(FILES 
-  ${Eigen_PardisoSupport_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/PardisoSupport COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/PardisoSupport/PardisoSupport.h b/lib/Eigen/src/PardisoSupport/PardisoSupport.h
deleted file mode 100644
index 18cd7d88..00000000
--- a/lib/Eigen/src/PardisoSupport/PardisoSupport.h
+++ /dev/null
@@ -1,592 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL PARDISO
- ********************************************************************************
-*/
-
-#ifndef EIGEN_PARDISOSUPPORT_H
-#define EIGEN_PARDISOSUPPORT_H
-
-namespace Eigen { 
-
-template<typename _MatrixType> class PardisoLU;
-template<typename _MatrixType, int Options=Upper> class PardisoLLT;
-template<typename _MatrixType, int Options=Upper> class PardisoLDLT;
-
-namespace internal
-{
-  template<typename Index>
-  struct pardiso_run_selector
-  {
-    static Index run( _MKL_DSS_HANDLE_t pt, Index maxfct, Index mnum, Index type, Index phase, Index n, void *a,
-                      Index *ia, Index *ja, Index *perm, Index nrhs, Index *iparm, Index msglvl, void *b, void *x)
-    {
-      Index error = 0;
-      ::pardiso(pt, &maxfct, &mnum, &type, &phase, &n, a, ia, ja, perm, &nrhs, iparm, &msglvl, b, x, &error);
-      return error;
-    }
-  };
-  template<>
-  struct pardiso_run_selector<long long int>
-  {
-    typedef long long int Index;
-    static Index run( _MKL_DSS_HANDLE_t pt, Index maxfct, Index mnum, Index type, Index phase, Index n, void *a,
-                      Index *ia, Index *ja, Index *perm, Index nrhs, Index *iparm, Index msglvl, void *b, void *x)
-    {
-      Index error = 0;
-      ::pardiso_64(pt, &maxfct, &mnum, &type, &phase, &n, a, ia, ja, perm, &nrhs, iparm, &msglvl, b, x, &error);
-      return error;
-    }
-  };
-
-  template<class Pardiso> struct pardiso_traits;
-
-  template<typename _MatrixType>
-  struct pardiso_traits< PardisoLU<_MatrixType> >
-  {
-    typedef _MatrixType MatrixType;
-    typedef typename _MatrixType::Scalar Scalar;
-    typedef typename _MatrixType::RealScalar RealScalar;
-    typedef typename _MatrixType::Index Index;
-  };
-
-  template<typename _MatrixType, int Options>
-  struct pardiso_traits< PardisoLLT<_MatrixType, Options> >
-  {
-    typedef _MatrixType MatrixType;
-    typedef typename _MatrixType::Scalar Scalar;
-    typedef typename _MatrixType::RealScalar RealScalar;
-    typedef typename _MatrixType::Index Index;
-  };
-
-  template<typename _MatrixType, int Options>
-  struct pardiso_traits< PardisoLDLT<_MatrixType, Options> >
-  {
-    typedef _MatrixType MatrixType;
-    typedef typename _MatrixType::Scalar Scalar;
-    typedef typename _MatrixType::RealScalar RealScalar;
-    typedef typename _MatrixType::Index Index;    
-  };
-
-}
-
-template<class Derived>
-class PardisoImpl
-{
-    typedef internal::pardiso_traits<Derived> Traits;
-  public:
-    typedef typename Traits::MatrixType MatrixType;
-    typedef typename Traits::Scalar Scalar;
-    typedef typename Traits::RealScalar RealScalar;
-    typedef typename Traits::Index Index;
-    typedef SparseMatrix<Scalar,RowMajor,Index> SparseMatrixType;
-    typedef Matrix<Scalar,Dynamic,1> VectorType;
-    typedef Matrix<Index, 1, MatrixType::ColsAtCompileTime> IntRowVectorType;
-    typedef Matrix<Index, MatrixType::RowsAtCompileTime, 1> IntColVectorType;
-    typedef Array<Index,64,1,DontAlign> ParameterType;
-    enum {
-      ScalarIsComplex = NumTraits<Scalar>::IsComplex
-    };
-
-    PardisoImpl()
-    {
-      eigen_assert((sizeof(Index) >= sizeof(_INTEGER_t) && sizeof(Index) <= 8) && "Non-supported index type");
-      m_iparm.setZero();
-      m_msglvl = 0; // No output
-      m_initialized = false;
-    }
-
-    ~PardisoImpl()
-    {
-      pardisoRelease();
-    }
-
-    inline Index cols() const { return m_size; }
-    inline Index rows() const { return m_size; }
-  
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the matrix appears to be negative.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_initialized && "Decomposition is not initialized.");
-      return m_info;
-    }
-
-    /** \warning for advanced usage only.
-      * \returns a reference to the parameter array controlling PARDISO.
-      * See the PARDISO manual to know how to use it. */
-    ParameterType& pardisoParameterArray()
-    {
-      return m_iparm;
-    }
-    
-    /** Performs a symbolic decomposition on the sparcity of \a matrix.
-      *
-      * This function is particularly useful when solving for several problems having the same structure.
-      * 
-      * \sa factorize()
-      */
-    Derived& analyzePattern(const MatrixType& matrix);
-    
-    /** Performs a numeric decomposition of \a matrix
-      *
-      * The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.
-      *
-      * \sa analyzePattern()
-      */
-    Derived& factorize(const MatrixType& matrix);
-
-    Derived& compute(const MatrixType& matrix);
-    
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<PardisoImpl, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_initialized && "Pardiso solver is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "PardisoImpl::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<PardisoImpl, Rhs>(*this, b.derived());
-    }
-
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::sparse_solve_retval<PardisoImpl, Rhs>
-    solve(const SparseMatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_initialized && "Pardiso solver is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "PardisoImpl::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::sparse_solve_retval<PardisoImpl, Rhs>(*this, b.derived());
-    }
-
-    Derived& derived()
-    {
-      return *static_cast<Derived*>(this);
-    }
-    const Derived& derived() const
-    {
-      return *static_cast<const Derived*>(this);
-    }
-
-    template<typename BDerived, typename XDerived>
-    bool _solve(const MatrixBase<BDerived> &b, MatrixBase<XDerived>& x) const;
-
-  protected:
-    void pardisoRelease()
-    {
-      if(m_initialized) // Factorization ran at least once
-      {
-        internal::pardiso_run_selector<Index>::run(m_pt, 1, 1, m_type, -1, m_size, 0, 0, 0, m_perm.data(), 0,
-                                                   m_iparm.data(), m_msglvl, 0, 0);
-      }
-    }
-
-    void pardisoInit(int type)
-    {
-      m_type = type;
-      bool symmetric = std::abs(m_type) < 10;
-      m_iparm[0] = 1;   // No solver default
-      m_iparm[1] = 3;   // use Metis for the ordering
-      m_iparm[2] = 1;   // Numbers of processors, value of OMP_NUM_THREADS
-      m_iparm[3] = 0;   // No iterative-direct algorithm
-      m_iparm[4] = 0;   // No user fill-in reducing permutation
-      m_iparm[5] = 0;   // Write solution into x
-      m_iparm[6] = 0;   // Not in use
-      m_iparm[7] = 2;   // Max numbers of iterative refinement steps
-      m_iparm[8] = 0;   // Not in use
-      m_iparm[9] = 13;  // Perturb the pivot elements with 1E-13
-      m_iparm[10] = symmetric ? 0 : 1; // Use nonsymmetric permutation and scaling MPS
-      m_iparm[11] = 0;  // Not in use
-      m_iparm[12] = symmetric ? 0 : 1;  // Maximum weighted matching algorithm is switched-off (default for symmetric).
-                                        // Try m_iparm[12] = 1 in case of inappropriate accuracy
-      m_iparm[13] = 0;  // Output: Number of perturbed pivots
-      m_iparm[14] = 0;  // Not in use
-      m_iparm[15] = 0;  // Not in use
-      m_iparm[16] = 0;  // Not in use
-      m_iparm[17] = -1; // Output: Number of nonzeros in the factor LU
-      m_iparm[18] = -1; // Output: Mflops for LU factorization
-      m_iparm[19] = 0;  // Output: Numbers of CG Iterations
-      
-      m_iparm[20] = 0;  // 1x1 pivoting
-      m_iparm[26] = 0;  // No matrix checker
-      m_iparm[27] = (sizeof(RealScalar) == 4) ? 1 : 0;
-      m_iparm[34] = 1;  // C indexing
-      m_iparm[59] = 1;  // Automatic switch between In-Core and Out-of-Core modes
-    }
-
-  protected:
-    // cached data to reduce reallocation, etc.
-    
-    void manageErrorCode(Index error)
-    {
-      switch(error)
-      {
-        case 0:
-          m_info = Success;
-          break;
-        case -4:
-        case -7:
-          m_info = NumericalIssue;
-          break;
-        default:
-          m_info = InvalidInput;
-      }
-    }
-
-    mutable SparseMatrixType m_matrix;
-    ComputationInfo m_info;
-    bool m_initialized, m_analysisIsOk, m_factorizationIsOk;
-    Index m_type, m_msglvl;
-    mutable void *m_pt[64];
-    mutable ParameterType m_iparm;
-    mutable IntColVectorType m_perm;
-    Index m_size;
-    
-  private:
-    PardisoImpl(PardisoImpl &) {}
-};
-
-template<class Derived>
-Derived& PardisoImpl<Derived>::compute(const MatrixType& a)
-{
-  m_size = a.rows();
-  eigen_assert(a.rows() == a.cols());
-
-  pardisoRelease();
-  memset(m_pt, 0, sizeof(m_pt));
-  m_perm.setZero(m_size);
-  derived().getMatrix(a);
-  
-  Index error;
-  error = internal::pardiso_run_selector<Index>::run(m_pt, 1, 1, m_type, 12, m_size,
-                                                     m_matrix.valuePtr(), m_matrix.outerIndexPtr(), m_matrix.innerIndexPtr(),
-                                                     m_perm.data(), 0, m_iparm.data(), m_msglvl, NULL, NULL);
-
-  manageErrorCode(error);
-  m_analysisIsOk = true;
-  m_factorizationIsOk = true;
-  m_initialized = true;
-  return derived();
-}
-
-template<class Derived>
-Derived& PardisoImpl<Derived>::analyzePattern(const MatrixType& a)
-{
-  m_size = a.rows();
-  eigen_assert(m_size == a.cols());
-
-  pardisoRelease();
-  memset(m_pt, 0, sizeof(m_pt));
-  m_perm.setZero(m_size);
-  derived().getMatrix(a);
-  
-  Index error;
-  error = internal::pardiso_run_selector<Index>::run(m_pt, 1, 1, m_type, 11, m_size,
-                                                     m_matrix.valuePtr(), m_matrix.outerIndexPtr(), m_matrix.innerIndexPtr(),
-                                                     m_perm.data(), 0, m_iparm.data(), m_msglvl, NULL, NULL);
-  
-  manageErrorCode(error);
-  m_analysisIsOk = true;
-  m_factorizationIsOk = false;
-  m_initialized = true;
-  return derived();
-}
-
-template<class Derived>
-Derived& PardisoImpl<Derived>::factorize(const MatrixType& a)
-{
-  eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
-  eigen_assert(m_size == a.rows() && m_size == a.cols());
-  
-  derived().getMatrix(a);
-
-  Index error;  
-  error = internal::pardiso_run_selector<Index>::run(m_pt, 1, 1, m_type, 22, m_size,
-                                                     m_matrix.valuePtr(), m_matrix.outerIndexPtr(), m_matrix.innerIndexPtr(),
-                                                     m_perm.data(), 0, m_iparm.data(), m_msglvl, NULL, NULL);
-  
-  manageErrorCode(error);
-  m_factorizationIsOk = true;
-  return derived();
-}
-
-template<class Base>
-template<typename BDerived,typename XDerived>
-bool PardisoImpl<Base>::_solve(const MatrixBase<BDerived> &b, MatrixBase<XDerived>& x) const
-{
-  if(m_iparm[0] == 0) // Factorization was not computed
-    return false;
-
-  //Index n = m_matrix.rows();
-  Index nrhs = Index(b.cols());
-  eigen_assert(m_size==b.rows());
-  eigen_assert(((MatrixBase<BDerived>::Flags & RowMajorBit) == 0 || nrhs == 1) && "Row-major right hand sides are not supported");
-  eigen_assert(((MatrixBase<XDerived>::Flags & RowMajorBit) == 0 || nrhs == 1) && "Row-major matrices of unknowns are not supported");
-  eigen_assert(((nrhs == 1) || b.outerStride() == b.rows()));
-
-
-//  switch (transposed) {
-//    case SvNoTrans    : m_iparm[11] = 0 ; break;
-//    case SvTranspose  : m_iparm[11] = 2 ; break;
-//    case SvAdjoint    : m_iparm[11] = 1 ; break;
-//    default:
-//      //std::cerr << "Eigen: transposition  option \"" << transposed << "\" not supported by the PARDISO backend\n";
-//      m_iparm[11] = 0;
-//  }
-
-  Scalar* rhs_ptr = const_cast<Scalar*>(b.derived().data());
-  Matrix<Scalar,Dynamic,Dynamic,ColMajor> tmp;
-  
-  // Pardiso cannot solve in-place
-  if(rhs_ptr == x.derived().data())
-  {
-    tmp = b;
-    rhs_ptr = tmp.data();
-  }
-  
-  Index error;
-  error = internal::pardiso_run_selector<Index>::run(m_pt, 1, 1, m_type, 33, m_size,
-                                                     m_matrix.valuePtr(), m_matrix.outerIndexPtr(), m_matrix.innerIndexPtr(),
-                                                     m_perm.data(), nrhs, m_iparm.data(), m_msglvl,
-                                                     rhs_ptr, x.derived().data());
-
-  return error==0;
-}
-
-
-/** \ingroup PardisoSupport_Module
-  * \class PardisoLU
-  * \brief A sparse direct LU factorization and solver based on the PARDISO library
-  *
-  * This class allows to solve for A.X = B sparse linear problems via a direct LU factorization
-  * using the Intel MKL PARDISO library. The sparse matrix A must be squared and invertible.
-  * The vectors or matrices X and B can be either dense or sparse.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  *
-  * \sa \ref TutorialSparseDirectSolvers
-  */
-template<typename MatrixType>
-class PardisoLU : public PardisoImpl< PardisoLU<MatrixType> >
-{
-  protected:
-    typedef PardisoImpl< PardisoLU<MatrixType> > Base;
-    typedef typename Base::Scalar Scalar;
-    typedef typename Base::RealScalar RealScalar;
-    using Base::pardisoInit;
-    using Base::m_matrix;
-    friend class PardisoImpl< PardisoLU<MatrixType> >;
-
-  public:
-
-    using Base::compute;
-    using Base::solve;
-
-    PardisoLU()
-      : Base()
-    {
-      pardisoInit(Base::ScalarIsComplex ? 13 : 11);
-    }
-
-    PardisoLU(const MatrixType& matrix)
-      : Base()
-    {
-      pardisoInit(Base::ScalarIsComplex ? 13 : 11);
-      compute(matrix);
-    }
-  protected:
-    void getMatrix(const MatrixType& matrix)
-    {
-      m_matrix = matrix;
-    }
-    
-  private:
-    PardisoLU(PardisoLU& ) {}
-};
-
-/** \ingroup PardisoSupport_Module
-  * \class PardisoLLT
-  * \brief A sparse direct Cholesky (LLT) factorization and solver based on the PARDISO library
-  *
-  * This class allows to solve for A.X = B sparse linear problems via a LL^T Cholesky factorization
-  * using the Intel MKL PARDISO library. The sparse matrix A must be selfajoint and positive definite.
-  * The vectors or matrices X and B can be either dense or sparse.
-  *
-  * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam UpLo can be any bitwise combination of Upper, Lower. The default is Upper, meaning only the upper triangular part has to be used.
-  *         Upper|Lower can be used to tell both triangular parts can be used as input.
-  *
-  * \sa \ref TutorialSparseDirectSolvers
-  */
-template<typename MatrixType, int _UpLo>
-class PardisoLLT : public PardisoImpl< PardisoLLT<MatrixType,_UpLo> >
-{
-  protected:
-    typedef PardisoImpl< PardisoLLT<MatrixType,_UpLo> > Base;
-    typedef typename Base::Scalar Scalar;
-    typedef typename Base::Index Index;
-    typedef typename Base::RealScalar RealScalar;
-    using Base::pardisoInit;
-    using Base::m_matrix;
-    friend class PardisoImpl< PardisoLLT<MatrixType,_UpLo> >;
-
-  public:
-
-    enum { UpLo = _UpLo };
-    using Base::compute;
-    using Base::solve;
-
-    PardisoLLT()
-      : Base()
-    {
-      pardisoInit(Base::ScalarIsComplex ? 4 : 2);
-    }
-
-    PardisoLLT(const MatrixType& matrix)
-      : Base()
-    {
-      pardisoInit(Base::ScalarIsComplex ? 4 : 2);
-      compute(matrix);
-    }
-    
-  protected:
-    
-    void getMatrix(const MatrixType& matrix)
-    {
-      // PARDISO supports only upper, row-major matrices
-      PermutationMatrix<Dynamic,Dynamic,Index> p_null;
-      m_matrix.resize(matrix.rows(), matrix.cols());
-      m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
-    }
-    
-  private:
-    PardisoLLT(PardisoLLT& ) {}
-};
-
-/** \ingroup PardisoSupport_Module
-  * \class PardisoLDLT
-  * \brief A sparse direct Cholesky (LDLT) factorization and solver based on the PARDISO library
-  *
-  * This class allows to solve for A.X = B sparse linear problems via a LDL^T Cholesky factorization
-  * using the Intel MKL PARDISO library. The sparse matrix A is assumed to be selfajoint and positive definite.
-  * For complex matrices, A can also be symmetric only, see the \a Options template parameter.
-  * The vectors or matrices X and B can be either dense or sparse.
-  *
-  * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam Options can be any bitwise combination of Upper, Lower, and Symmetric. The default is Upper, meaning only the upper triangular part has to be used.
-  *         Symmetric can be used for symmetric, non-selfadjoint complex matrices, the default being to assume a selfadjoint matrix.
-  *         Upper|Lower can be used to tell both triangular parts can be used as input.
-  *
-  * \sa \ref TutorialSparseDirectSolvers
-  */
-template<typename MatrixType, int Options>
-class PardisoLDLT : public PardisoImpl< PardisoLDLT<MatrixType,Options> >
-{
-  protected:
-    typedef PardisoImpl< PardisoLDLT<MatrixType,Options> > Base;
-    typedef typename Base::Scalar Scalar;
-    typedef typename Base::Index Index;
-    typedef typename Base::RealScalar RealScalar;
-    using Base::pardisoInit;
-    using Base::m_matrix;
-    friend class PardisoImpl< PardisoLDLT<MatrixType,Options> >;
-
-  public:
-
-    using Base::compute;
-    using Base::solve;
-    enum { UpLo = Options&(Upper|Lower) };
-
-    PardisoLDLT()
-      : Base()
-    {
-      pardisoInit(Base::ScalarIsComplex ? ( bool(Options&Symmetric) ? 6 : -4 ) : -2);
-    }
-
-    PardisoLDLT(const MatrixType& matrix)
-      : Base()
-    {
-      pardisoInit(Base::ScalarIsComplex ? ( bool(Options&Symmetric) ? 6 : -4 ) : -2);
-      compute(matrix);
-    }
-    
-    void getMatrix(const MatrixType& matrix)
-    {
-      // PARDISO supports only upper, row-major matrices
-      PermutationMatrix<Dynamic,Dynamic,Index> p_null;
-      m_matrix.resize(matrix.rows(), matrix.cols());
-      m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
-    }
-    
-  private:
-    PardisoLDLT(PardisoLDLT& ) {}
-};
-
-namespace internal {
-  
-template<typename _Derived, typename Rhs>
-struct solve_retval<PardisoImpl<_Derived>, Rhs>
-  : solve_retval_base<PardisoImpl<_Derived>, Rhs>
-{
-  typedef PardisoImpl<_Derived> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-template<typename Derived, typename Rhs>
-struct sparse_solve_retval<PardisoImpl<Derived>, Rhs>
-  : sparse_solve_retval_base<PardisoImpl<Derived>, Rhs>
-{
-  typedef PardisoImpl<Derived> Dec;
-  EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    this->defaultEvalTo(dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_PARDISOSUPPORT_H
diff --git a/lib/Eigen/src/QR/CMakeLists.txt b/lib/Eigen/src/QR/CMakeLists.txt
deleted file mode 100644
index 96f43d7f..00000000
--- a/lib/Eigen/src/QR/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_QR_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_QR_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/QR COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/QR/ColPivHouseholderQR.h b/lib/Eigen/src/QR/ColPivHouseholderQR.h
deleted file mode 100644
index 567eab7c..00000000
--- a/lib/Eigen/src/QR/ColPivHouseholderQR.h
+++ /dev/null
@@ -1,580 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COLPIVOTINGHOUSEHOLDERQR_H
-#define EIGEN_COLPIVOTINGHOUSEHOLDERQR_H
-
-namespace Eigen { 
-
-/** \ingroup QR_Module
-  *
-  * \class ColPivHouseholderQR
-  *
-  * \brief Householder rank-revealing QR decomposition of a matrix with column-pivoting
-  *
-  * \param MatrixType the type of the matrix of which we are computing the QR decomposition
-  *
-  * This class performs a rank-revealing QR decomposition of a matrix \b A into matrices \b P, \b Q and \b R
-  * such that 
-  * \f[
-  *  \mathbf{A} \, \mathbf{P} = \mathbf{Q} \, \mathbf{R}
-  * \f]
-  * by using Householder transformations. Here, \b P is a permutation matrix, \b Q a unitary matrix and \b R an 
-  * upper triangular matrix.
-  *
-  * This decomposition performs column pivoting in order to be rank-revealing and improve
-  * numerical stability. It is slower than HouseholderQR, and faster than FullPivHouseholderQR.
-  *
-  * \sa MatrixBase::colPivHouseholderQr()
-  */
-template<typename _MatrixType> class ColPivHouseholderQR
-{
-  public:
-
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef Matrix<Scalar, RowsAtCompileTime, RowsAtCompileTime, Options, MaxRowsAtCompileTime, MaxRowsAtCompileTime> MatrixQType;
-    typedef typename internal::plain_diag_type<MatrixType>::type HCoeffsType;
-    typedef PermutationMatrix<ColsAtCompileTime, MaxColsAtCompileTime> PermutationType;
-    typedef typename internal::plain_row_type<MatrixType, Index>::type IntRowVectorType;
-    typedef typename internal::plain_row_type<MatrixType>::type RowVectorType;
-    typedef typename internal::plain_row_type<MatrixType, RealScalar>::type RealRowVectorType;
-    typedef HouseholderSequence<MatrixType,typename internal::remove_all<typename HCoeffsType::ConjugateReturnType>::type> HouseholderSequenceType;
-    
-  private:
-    
-    typedef typename PermutationType::Index PermIndexType;
-    
-  public:
-
-    /**
-    * \brief Default Constructor.
-    *
-    * The default constructor is useful in cases in which the user intends to
-    * perform decompositions via ColPivHouseholderQR::compute(const MatrixType&).
-    */
-    ColPivHouseholderQR()
-      : m_qr(),
-        m_hCoeffs(),
-        m_colsPermutation(),
-        m_colsTranspositions(),
-        m_temp(),
-        m_colSqNorms(),
-        m_isInitialized(false),
-        m_usePrescribedThreshold(false) {}
-
-    /** \brief Default Constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa ColPivHouseholderQR()
-      */
-    ColPivHouseholderQR(Index rows, Index cols)
-      : m_qr(rows, cols),
-        m_hCoeffs((std::min)(rows,cols)),
-        m_colsPermutation(PermIndexType(cols)),
-        m_colsTranspositions(cols),
-        m_temp(cols),
-        m_colSqNorms(cols),
-        m_isInitialized(false),
-        m_usePrescribedThreshold(false) {}
-
-    /** \brief Constructs a QR factorization from a given matrix
-      *
-      * This constructor computes the QR factorization of the matrix \a matrix by calling
-      * the method compute(). It is a short cut for:
-      * 
-      * \code
-      * ColPivHouseholderQR<MatrixType> qr(matrix.rows(), matrix.cols());
-      * qr.compute(matrix);
-      * \endcode
-      * 
-      * \sa compute()
-      */
-    ColPivHouseholderQR(const MatrixType& matrix)
-      : m_qr(matrix.rows(), matrix.cols()),
-        m_hCoeffs((std::min)(matrix.rows(),matrix.cols())),
-        m_colsPermutation(PermIndexType(matrix.cols())),
-        m_colsTranspositions(matrix.cols()),
-        m_temp(matrix.cols()),
-        m_colSqNorms(matrix.cols()),
-        m_isInitialized(false),
-        m_usePrescribedThreshold(false)
-    {
-      compute(matrix);
-    }
-
-    /** This method finds a solution x to the equation Ax=b, where A is the matrix of which
-      * *this is the QR decomposition, if any exists.
-      *
-      * \param b the right-hand-side of the equation to solve.
-      *
-      * \returns a solution.
-      *
-      * \note The case where b is a matrix is not yet implemented. Also, this
-      *       code is space inefficient.
-      *
-      * \note_about_checking_solutions
-      *
-      * \note_about_arbitrary_choice_of_solution
-      *
-      * Example: \include ColPivHouseholderQR_solve.cpp
-      * Output: \verbinclude ColPivHouseholderQR_solve.out
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<ColPivHouseholderQR, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return internal::solve_retval<ColPivHouseholderQR, Rhs>(*this, b.derived());
-    }
-
-    HouseholderSequenceType householderQ(void) const;
-    HouseholderSequenceType matrixQ(void) const
-    {
-      return householderQ(); 
-    }
-
-    /** \returns a reference to the matrix where the Householder QR decomposition is stored
-      */
-    const MatrixType& matrixQR() const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return m_qr;
-    }
-    
-    /** \returns a reference to the matrix where the result Householder QR is stored 
-     * \warning The strict lower part of this matrix contains internal values. 
-     * Only the upper triangular part should be referenced. To get it, use
-     * \code matrixR().template triangularView<Upper>() \endcode
-     * For rank-deficient matrices, use 
-     * \code 
-     * matrixR().topLeftCorner(rank(), rank()).template triangularView<Upper>() 
-     * \endcode
-     */
-    const MatrixType& matrixR() const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return m_qr;
-    }
-    
-    ColPivHouseholderQR& compute(const MatrixType& matrix);
-
-    /** \returns a const reference to the column permutation matrix */
-    const PermutationType& colsPermutation() const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return m_colsPermutation;
-    }
-
-    /** \returns the absolute value of the determinant of the matrix of which
-      * *this is the QR decomposition. It has only linear complexity
-      * (that is, O(n) where n is the dimension of the square matrix)
-      * as the QR decomposition has already been computed.
-      *
-      * \note This is only for square matrices.
-      *
-      * \warning a determinant can be very big or small, so for matrices
-      * of large enough dimension, there is a risk of overflow/underflow.
-      * One way to work around that is to use logAbsDeterminant() instead.
-      *
-      * \sa logAbsDeterminant(), MatrixBase::determinant()
-      */
-    typename MatrixType::RealScalar absDeterminant() const;
-
-    /** \returns the natural log of the absolute value of the determinant of the matrix of which
-      * *this is the QR decomposition. It has only linear complexity
-      * (that is, O(n) where n is the dimension of the square matrix)
-      * as the QR decomposition has already been computed.
-      *
-      * \note This is only for square matrices.
-      *
-      * \note This method is useful to work around the risk of overflow/underflow that's inherent
-      * to determinant computation.
-      *
-      * \sa absDeterminant(), MatrixBase::determinant()
-      */
-    typename MatrixType::RealScalar logAbsDeterminant() const;
-
-    /** \returns the rank of the matrix of which *this is the QR decomposition.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline Index rank() const
-    {
-      using std::abs;
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      RealScalar premultiplied_threshold = abs(m_maxpivot) * threshold();
-      Index result = 0;
-      for(Index i = 0; i < m_nonzero_pivots; ++i)
-        result += (abs(m_qr.coeff(i,i)) > premultiplied_threshold);
-      return result;
-    }
-
-    /** \returns the dimension of the kernel of the matrix of which *this is the QR decomposition.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline Index dimensionOfKernel() const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return cols() - rank();
-    }
-
-    /** \returns true if the matrix of which *this is the QR decomposition represents an injective
-      *          linear map, i.e. has trivial kernel; false otherwise.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline bool isInjective() const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return rank() == cols();
-    }
-
-    /** \returns true if the matrix of which *this is the QR decomposition represents a surjective
-      *          linear map; false otherwise.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline bool isSurjective() const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return rank() == rows();
-    }
-
-    /** \returns true if the matrix of which *this is the QR decomposition is invertible.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline bool isInvertible() const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return isInjective() && isSurjective();
-    }
-
-    /** \returns the inverse of the matrix of which *this is the QR decomposition.
-      *
-      * \note If this matrix is not invertible, the returned matrix has undefined coefficients.
-      *       Use isInvertible() to first determine whether this matrix is invertible.
-      */
-    inline const
-    internal::solve_retval<ColPivHouseholderQR, typename MatrixType::IdentityReturnType>
-    inverse() const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return internal::solve_retval<ColPivHouseholderQR,typename MatrixType::IdentityReturnType>
-               (*this, MatrixType::Identity(m_qr.rows(), m_qr.cols()));
-    }
-
-    inline Index rows() const { return m_qr.rows(); }
-    inline Index cols() const { return m_qr.cols(); }
-    
-    /** \returns a const reference to the vector of Householder coefficients used to represent the factor \c Q.
-      * 
-      * For advanced uses only.
-      */
-    const HCoeffsType& hCoeffs() const { return m_hCoeffs; }
-
-    /** Allows to prescribe a threshold to be used by certain methods, such as rank(),
-      * who need to determine when pivots are to be considered nonzero. This is not used for the
-      * QR decomposition itself.
-      *
-      * When it needs to get the threshold value, Eigen calls threshold(). By default, this
-      * uses a formula to automatically determine a reasonable threshold.
-      * Once you have called the present method setThreshold(const RealScalar&),
-      * your value is used instead.
-      *
-      * \param threshold The new value to use as the threshold.
-      *
-      * A pivot will be considered nonzero if its absolute value is strictly greater than
-      *  \f$ \vert pivot \vert \leqslant threshold \times \vert maxpivot \vert \f$
-      * where maxpivot is the biggest pivot.
-      *
-      * If you want to come back to the default behavior, call setThreshold(Default_t)
-      */
-    ColPivHouseholderQR& setThreshold(const RealScalar& threshold)
-    {
-      m_usePrescribedThreshold = true;
-      m_prescribedThreshold = threshold;
-      return *this;
-    }
-
-    /** Allows to come back to the default behavior, letting Eigen use its default formula for
-      * determining the threshold.
-      *
-      * You should pass the special object Eigen::Default as parameter here.
-      * \code qr.setThreshold(Eigen::Default); \endcode
-      *
-      * See the documentation of setThreshold(const RealScalar&).
-      */
-    ColPivHouseholderQR& setThreshold(Default_t)
-    {
-      m_usePrescribedThreshold = false;
-      return *this;
-    }
-
-    /** Returns the threshold that will be used by certain methods such as rank().
-      *
-      * See the documentation of setThreshold(const RealScalar&).
-      */
-    RealScalar threshold() const
-    {
-      eigen_assert(m_isInitialized || m_usePrescribedThreshold);
-      return m_usePrescribedThreshold ? m_prescribedThreshold
-      // this formula comes from experimenting (see "LU precision tuning" thread on the list)
-      // and turns out to be identical to Higham's formula used already in LDLt.
-                                      : NumTraits<Scalar>::epsilon() * RealScalar(m_qr.diagonalSize());
-    }
-
-    /** \returns the number of nonzero pivots in the QR decomposition.
-      * Here nonzero is meant in the exact sense, not in a fuzzy sense.
-      * So that notion isn't really intrinsically interesting, but it is
-      * still useful when implementing algorithms.
-      *
-      * \sa rank()
-      */
-    inline Index nonzeroPivots() const
-    {
-      eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-      return m_nonzero_pivots;
-    }
-
-    /** \returns the absolute value of the biggest pivot, i.e. the biggest
-      *          diagonal coefficient of R.
-      */
-    RealScalar maxPivot() const { return m_maxpivot; }
-    
-    /** \brief Reports whether the QR factorization was succesful.
-      *
-      * \note This function always returns \c Success. It is provided for compatibility 
-      * with other factorization routines.
-      * \returns \c Success 
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return Success;
-    }
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-    
-    MatrixType m_qr;
-    HCoeffsType m_hCoeffs;
-    PermutationType m_colsPermutation;
-    IntRowVectorType m_colsTranspositions;
-    RowVectorType m_temp;
-    RealRowVectorType m_colSqNorms;
-    bool m_isInitialized, m_usePrescribedThreshold;
-    RealScalar m_prescribedThreshold, m_maxpivot;
-    Index m_nonzero_pivots;
-    Index m_det_pq;
-};
-
-template<typename MatrixType>
-typename MatrixType::RealScalar ColPivHouseholderQR<MatrixType>::absDeterminant() const
-{
-  using std::abs;
-  eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-  eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
-  return abs(m_qr.diagonal().prod());
-}
-
-template<typename MatrixType>
-typename MatrixType::RealScalar ColPivHouseholderQR<MatrixType>::logAbsDeterminant() const
-{
-  eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-  eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
-  return m_qr.diagonal().cwiseAbs().array().log().sum();
-}
-
-/** Performs the QR factorization of the given matrix \a matrix. The result of
-  * the factorization is stored into \c *this, and a reference to \c *this
-  * is returned.
-  *
-  * \sa class ColPivHouseholderQR, ColPivHouseholderQR(const MatrixType&)
-  */
-template<typename MatrixType>
-ColPivHouseholderQR<MatrixType>& ColPivHouseholderQR<MatrixType>::compute(const MatrixType& matrix)
-{
-  check_template_parameters();
-  
-  using std::abs;
-  Index rows = matrix.rows();
-  Index cols = matrix.cols();
-  Index size = matrix.diagonalSize();
-  
-  // the column permutation is stored as int indices, so just to be sure:
-  eigen_assert(cols<=NumTraits<int>::highest());
-
-  m_qr = matrix;
-  m_hCoeffs.resize(size);
-
-  m_temp.resize(cols);
-
-  m_colsTranspositions.resize(matrix.cols());
-  Index number_of_transpositions = 0;
-
-  m_colSqNorms.resize(cols);
-  for(Index k = 0; k < cols; ++k)
-    m_colSqNorms.coeffRef(k) = m_qr.col(k).squaredNorm();
-
-  RealScalar threshold_helper = m_colSqNorms.maxCoeff() * numext::abs2(NumTraits<Scalar>::epsilon()) / RealScalar(rows);
-
-  m_nonzero_pivots = size; // the generic case is that in which all pivots are nonzero (invertible case)
-  m_maxpivot = RealScalar(0);
-
-  for(Index k = 0; k < size; ++k)
-  {
-    // first, we look up in our table m_colSqNorms which column has the biggest squared norm
-    Index biggest_col_index;
-    RealScalar biggest_col_sq_norm = m_colSqNorms.tail(cols-k).maxCoeff(&biggest_col_index);
-    biggest_col_index += k;
-
-    // since our table m_colSqNorms accumulates imprecision at every step, we must now recompute
-    // the actual squared norm of the selected column.
-    // Note that not doing so does result in solve() sometimes returning inf/nan values
-    // when running the unit test with 1000 repetitions.
-    biggest_col_sq_norm = m_qr.col(biggest_col_index).tail(rows-k).squaredNorm();
-
-    // we store that back into our table: it can't hurt to correct our table.
-    m_colSqNorms.coeffRef(biggest_col_index) = biggest_col_sq_norm;
-
-    // Track the number of meaningful pivots but do not stop the decomposition to make
-    // sure that the initial matrix is properly reproduced. See bug 941.
-    if(m_nonzero_pivots==size && biggest_col_sq_norm < threshold_helper * RealScalar(rows-k))
-      m_nonzero_pivots = k;
-
-    // apply the transposition to the columns
-    m_colsTranspositions.coeffRef(k) = biggest_col_index;
-    if(k != biggest_col_index) {
-      m_qr.col(k).swap(m_qr.col(biggest_col_index));
-      std::swap(m_colSqNorms.coeffRef(k), m_colSqNorms.coeffRef(biggest_col_index));
-      ++number_of_transpositions;
-    }
-
-    // generate the householder vector, store it below the diagonal
-    RealScalar beta;
-    m_qr.col(k).tail(rows-k).makeHouseholderInPlace(m_hCoeffs.coeffRef(k), beta);
-
-    // apply the householder transformation to the diagonal coefficient
-    m_qr.coeffRef(k,k) = beta;
-
-    // remember the maximum absolute value of diagonal coefficients
-    if(abs(beta) > m_maxpivot) m_maxpivot = abs(beta);
-
-    // apply the householder transformation
-    m_qr.bottomRightCorner(rows-k, cols-k-1)
-        .applyHouseholderOnTheLeft(m_qr.col(k).tail(rows-k-1), m_hCoeffs.coeffRef(k), &m_temp.coeffRef(k+1));
-
-    // update our table of squared norms of the columns
-    m_colSqNorms.tail(cols-k-1) -= m_qr.row(k).tail(cols-k-1).cwiseAbs2();
-  }
-
-  m_colsPermutation.setIdentity(PermIndexType(cols));
-  for(PermIndexType k = 0; k < size/*m_nonzero_pivots*/; ++k)
-    m_colsPermutation.applyTranspositionOnTheRight(k, PermIndexType(m_colsTranspositions.coeff(k)));
-
-  m_det_pq = (number_of_transpositions%2) ? -1 : 1;
-  m_isInitialized = true;
-
-  return *this;
-}
-
-namespace internal {
-
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<ColPivHouseholderQR<_MatrixType>, Rhs>
-  : solve_retval_base<ColPivHouseholderQR<_MatrixType>, Rhs>
-{
-  EIGEN_MAKE_SOLVE_HELPERS(ColPivHouseholderQR<_MatrixType>,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    eigen_assert(rhs().rows() == dec().rows());
-
-    const Index cols = dec().cols(),
-				nonzero_pivots = dec().nonzeroPivots();
-
-    if(nonzero_pivots == 0)
-    {
-      dst.setZero();
-      return;
-    }
-
-    typename Rhs::PlainObject c(rhs());
-
-    // Note that the matrix Q = H_0^* H_1^*... so its inverse is Q^* = (H_0 H_1 ...)^T
-    c.applyOnTheLeft(householderSequence(dec().matrixQR(), dec().hCoeffs())
-                     .setLength(dec().nonzeroPivots())
-		     .transpose()
-      );
-
-    dec().matrixR()
-       .topLeftCorner(nonzero_pivots, nonzero_pivots)
-       .template triangularView<Upper>()
-       .solveInPlace(c.topRows(nonzero_pivots));
-
-    for(Index i = 0; i < nonzero_pivots; ++i) dst.row(dec().colsPermutation().indices().coeff(i)) = c.row(i);
-    for(Index i = nonzero_pivots; i < cols; ++i) dst.row(dec().colsPermutation().indices().coeff(i)).setZero();
-  }
-};
-
-} // end namespace internal
-
-/** \returns the matrix Q as a sequence of householder transformations.
-  * You can extract the meaningful part only by using:
-  * \code qr.householderQ().setLength(qr.nonzeroPivots()) \endcode*/
-template<typename MatrixType>
-typename ColPivHouseholderQR<MatrixType>::HouseholderSequenceType ColPivHouseholderQR<MatrixType>
-  ::householderQ() const
-{
-  eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized.");
-  return HouseholderSequenceType(m_qr, m_hCoeffs.conjugate());
-}
-
-/** \return the column-pivoting Householder QR decomposition of \c *this.
-  *
-  * \sa class ColPivHouseholderQR
-  */
-template<typename Derived>
-const ColPivHouseholderQR<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::colPivHouseholderQr() const
-{
-  return ColPivHouseholderQR<PlainObject>(eval());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_COLPIVOTINGHOUSEHOLDERQR_H
diff --git a/lib/Eigen/src/QR/ColPivHouseholderQR_MKL.h b/lib/Eigen/src/QR/ColPivHouseholderQR_MKL.h
deleted file mode 100644
index 7b6ba0a5..00000000
--- a/lib/Eigen/src/QR/ColPivHouseholderQR_MKL.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *    Householder QR decomposition of a matrix with column pivoting based on
- *    LAPACKE_?geqp3 function.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_COLPIVOTINGHOUSEHOLDERQR_MKL_H
-#define EIGEN_COLPIVOTINGHOUSEHOLDERQR_MKL_H
-
-#include "Eigen/src/Core/util/MKL_support.h"
-
-namespace Eigen { 
-
-/** \internal Specialization for the data types supported by MKL */
-
-#define EIGEN_MKL_QR_COLPIV(EIGTYPE, MKLTYPE, MKLPREFIX, EIGCOLROW, MKLCOLROW) \
-template<> inline \
-ColPivHouseholderQR<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic> >& \
-ColPivHouseholderQR<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic> >::compute( \
-              const Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic>& matrix) \
-\
-{ \
-  using std::abs; \
-  typedef Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic> MatrixType; \
-  typedef MatrixType::RealScalar RealScalar; \
-  Index rows = matrix.rows();\
-  Index cols = matrix.cols();\
-  Index size = matrix.diagonalSize();\
-\
-  m_qr = matrix;\
-  m_hCoeffs.resize(size);\
-\
-  m_colsTranspositions.resize(cols);\
-  /*Index number_of_transpositions = 0;*/ \
-\
-  m_nonzero_pivots = 0; \
-  m_maxpivot = RealScalar(0);\
-  m_colsPermutation.resize(cols); \
-  m_colsPermutation.indices().setZero(); \
-\
-  lapack_int lda = m_qr.outerStride(), i; \
-  lapack_int matrix_order = MKLCOLROW; \
-  LAPACKE_##MKLPREFIX##geqp3( matrix_order, rows, cols, (MKLTYPE*)m_qr.data(), lda, (lapack_int*)m_colsPermutation.indices().data(), (MKLTYPE*)m_hCoeffs.data()); \
-  m_isInitialized = true; \
-  m_maxpivot=m_qr.diagonal().cwiseAbs().maxCoeff(); \
-  m_hCoeffs.adjointInPlace(); \
-  RealScalar premultiplied_threshold = abs(m_maxpivot) * threshold(); \
-  lapack_int *perm = m_colsPermutation.indices().data(); \
-  for(i=0;i<size;i++) { \
-    m_nonzero_pivots += (abs(m_qr.coeff(i,i)) > premultiplied_threshold);\
-  } \
-  for(i=0;i<cols;i++) perm[i]--;\
-\
-  /*m_det_pq = (number_of_transpositions%2) ? -1 : 1;  // TODO: It's not needed now; fix upon availability in Eigen */ \
-\
-  return *this; \
-}
-
-EIGEN_MKL_QR_COLPIV(double,   double,        d, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_QR_COLPIV(float,    float,         s, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_QR_COLPIV(dcomplex, MKL_Complex16, z, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_QR_COLPIV(scomplex, MKL_Complex8,  c, ColMajor, LAPACK_COL_MAJOR)
-
-EIGEN_MKL_QR_COLPIV(double,   double,        d, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_QR_COLPIV(float,    float,         s, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_QR_COLPIV(dcomplex, MKL_Complex16, z, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_QR_COLPIV(scomplex, MKL_Complex8,  c, RowMajor, LAPACK_ROW_MAJOR)
-
-} // end namespace Eigen
-
-#endif // EIGEN_COLPIVOTINGHOUSEHOLDERQR_MKL_H
diff --git a/lib/Eigen/src/QR/FullPivHouseholderQR.h b/lib/Eigen/src/QR/FullPivHouseholderQR.h
deleted file mode 100644
index 0b39966e..00000000
--- a/lib/Eigen/src/QR/FullPivHouseholderQR.h
+++ /dev/null
@@ -1,622 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_FULLPIVOTINGHOUSEHOLDERQR_H
-#define EIGEN_FULLPIVOTINGHOUSEHOLDERQR_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename MatrixType> struct FullPivHouseholderQRMatrixQReturnType;
-
-template<typename MatrixType>
-struct traits<FullPivHouseholderQRMatrixQReturnType<MatrixType> >
-{
-  typedef typename MatrixType::PlainObject ReturnType;
-};
-
-}
-
-/** \ingroup QR_Module
-  *
-  * \class FullPivHouseholderQR
-  *
-  * \brief Householder rank-revealing QR decomposition of a matrix with full pivoting
-  *
-  * \param MatrixType the type of the matrix of which we are computing the QR decomposition
-  *
-  * This class performs a rank-revealing QR decomposition of a matrix \b A into matrices \b P, \b Q and \b R
-  * such that 
-  * \f[
-  *  \mathbf{A} \, \mathbf{P} = \mathbf{Q} \, \mathbf{R}
-  * \f]
-  * by using Householder transformations. Here, \b P is a permutation matrix, \b Q a unitary matrix and \b R an 
-  * upper triangular matrix.
-  *
-  * This decomposition performs a very prudent full pivoting in order to be rank-revealing and achieve optimal
-  * numerical stability. The trade-off is that it is slower than HouseholderQR and ColPivHouseholderQR.
-  *
-  * \sa MatrixBase::fullPivHouseholderQr()
-  */
-template<typename _MatrixType> class FullPivHouseholderQR
-{
-  public:
-
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef internal::FullPivHouseholderQRMatrixQReturnType<MatrixType> MatrixQReturnType;
-    typedef typename internal::plain_diag_type<MatrixType>::type HCoeffsType;
-    typedef Matrix<Index, 1,
-                   EIGEN_SIZE_MIN_PREFER_DYNAMIC(ColsAtCompileTime,RowsAtCompileTime), RowMajor, 1,
-                   EIGEN_SIZE_MIN_PREFER_FIXED(MaxColsAtCompileTime,MaxRowsAtCompileTime)> IntDiagSizeVectorType;
-    typedef PermutationMatrix<ColsAtCompileTime, MaxColsAtCompileTime> PermutationType;
-    typedef typename internal::plain_row_type<MatrixType>::type RowVectorType;
-    typedef typename internal::plain_col_type<MatrixType>::type ColVectorType;
-
-    /** \brief Default Constructor.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via FullPivHouseholderQR::compute(const MatrixType&).
-      */
-    FullPivHouseholderQR()
-      : m_qr(),
-        m_hCoeffs(),
-        m_rows_transpositions(),
-        m_cols_transpositions(),
-        m_cols_permutation(),
-        m_temp(),
-        m_isInitialized(false),
-        m_usePrescribedThreshold(false) {}
-
-    /** \brief Default Constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa FullPivHouseholderQR()
-      */
-    FullPivHouseholderQR(Index rows, Index cols)
-      : m_qr(rows, cols),
-        m_hCoeffs((std::min)(rows,cols)),
-        m_rows_transpositions((std::min)(rows,cols)),
-        m_cols_transpositions((std::min)(rows,cols)),
-        m_cols_permutation(cols),
-        m_temp(cols),
-        m_isInitialized(false),
-        m_usePrescribedThreshold(false) {}
-
-    /** \brief Constructs a QR factorization from a given matrix
-      *
-      * This constructor computes the QR factorization of the matrix \a matrix by calling
-      * the method compute(). It is a short cut for:
-      * 
-      * \code
-      * FullPivHouseholderQR<MatrixType> qr(matrix.rows(), matrix.cols());
-      * qr.compute(matrix);
-      * \endcode
-      * 
-      * \sa compute()
-      */
-    FullPivHouseholderQR(const MatrixType& matrix)
-      : m_qr(matrix.rows(), matrix.cols()),
-        m_hCoeffs((std::min)(matrix.rows(), matrix.cols())),
-        m_rows_transpositions((std::min)(matrix.rows(), matrix.cols())),
-        m_cols_transpositions((std::min)(matrix.rows(), matrix.cols())),
-        m_cols_permutation(matrix.cols()),
-        m_temp(matrix.cols()),
-        m_isInitialized(false),
-        m_usePrescribedThreshold(false)
-    {
-      compute(matrix);
-    }
-
-    /** This method finds a solution x to the equation Ax=b, where A is the matrix of which
-      * \c *this is the QR decomposition.
-      *
-      * \param b the right-hand-side of the equation to solve.
-      *
-      * \returns the exact or least-square solution if the rank is greater or equal to the number of columns of A,
-      * and an arbitrary solution otherwise.
-      *
-      * \note The case where b is a matrix is not yet implemented. Also, this
-      *       code is space inefficient.
-      *
-      * \note_about_checking_solutions
-      *
-      * \note_about_arbitrary_choice_of_solution
-      *
-      * Example: \include FullPivHouseholderQR_solve.cpp
-      * Output: \verbinclude FullPivHouseholderQR_solve.out
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<FullPivHouseholderQR, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      return internal::solve_retval<FullPivHouseholderQR, Rhs>(*this, b.derived());
-    }
-
-    /** \returns Expression object representing the matrix Q
-      */
-    MatrixQReturnType matrixQ(void) const;
-
-    /** \returns a reference to the matrix where the Householder QR decomposition is stored
-      */
-    const MatrixType& matrixQR() const
-    {
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      return m_qr;
-    }
-
-    FullPivHouseholderQR& compute(const MatrixType& matrix);
-
-    /** \returns a const reference to the column permutation matrix */
-    const PermutationType& colsPermutation() const
-    {
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      return m_cols_permutation;
-    }
-
-    /** \returns a const reference to the vector of indices representing the rows transpositions */
-    const IntDiagSizeVectorType& rowsTranspositions() const
-    {
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      return m_rows_transpositions;
-    }
-
-    /** \returns the absolute value of the determinant of the matrix of which
-      * *this is the QR decomposition. It has only linear complexity
-      * (that is, O(n) where n is the dimension of the square matrix)
-      * as the QR decomposition has already been computed.
-      *
-      * \note This is only for square matrices.
-      *
-      * \warning a determinant can be very big or small, so for matrices
-      * of large enough dimension, there is a risk of overflow/underflow.
-      * One way to work around that is to use logAbsDeterminant() instead.
-      *
-      * \sa logAbsDeterminant(), MatrixBase::determinant()
-      */
-    typename MatrixType::RealScalar absDeterminant() const;
-
-    /** \returns the natural log of the absolute value of the determinant of the matrix of which
-      * *this is the QR decomposition. It has only linear complexity
-      * (that is, O(n) where n is the dimension of the square matrix)
-      * as the QR decomposition has already been computed.
-      *
-      * \note This is only for square matrices.
-      *
-      * \note This method is useful to work around the risk of overflow/underflow that's inherent
-      * to determinant computation.
-      *
-      * \sa absDeterminant(), MatrixBase::determinant()
-      */
-    typename MatrixType::RealScalar logAbsDeterminant() const;
-
-    /** \returns the rank of the matrix of which *this is the QR decomposition.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline Index rank() const
-    {
-      using std::abs;
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      RealScalar premultiplied_threshold = abs(m_maxpivot) * threshold();
-      Index result = 0;
-      for(Index i = 0; i < m_nonzero_pivots; ++i)
-        result += (abs(m_qr.coeff(i,i)) > premultiplied_threshold);
-      return result;
-    }
-
-    /** \returns the dimension of the kernel of the matrix of which *this is the QR decomposition.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline Index dimensionOfKernel() const
-    {
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      return cols() - rank();
-    }
-
-    /** \returns true if the matrix of which *this is the QR decomposition represents an injective
-      *          linear map, i.e. has trivial kernel; false otherwise.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline bool isInjective() const
-    {
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      return rank() == cols();
-    }
-
-    /** \returns true if the matrix of which *this is the QR decomposition represents a surjective
-      *          linear map; false otherwise.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline bool isSurjective() const
-    {
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      return rank() == rows();
-    }
-
-    /** \returns true if the matrix of which *this is the QR decomposition is invertible.
-      *
-      * \note This method has to determine which pivots should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline bool isInvertible() const
-    {
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      return isInjective() && isSurjective();
-    }
-
-    /** \returns the inverse of the matrix of which *this is the QR decomposition.
-      *
-      * \note If this matrix is not invertible, the returned matrix has undefined coefficients.
-      *       Use isInvertible() to first determine whether this matrix is invertible.
-      */    inline const
-    internal::solve_retval<FullPivHouseholderQR, typename MatrixType::IdentityReturnType>
-    inverse() const
-    {
-      eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-      return internal::solve_retval<FullPivHouseholderQR,typename MatrixType::IdentityReturnType>
-               (*this, MatrixType::Identity(m_qr.rows(), m_qr.cols()));
-    }
-
-    inline Index rows() const { return m_qr.rows(); }
-    inline Index cols() const { return m_qr.cols(); }
-    
-    /** \returns a const reference to the vector of Householder coefficients used to represent the factor \c Q.
-      * 
-      * For advanced uses only.
-      */
-    const HCoeffsType& hCoeffs() const { return m_hCoeffs; }
-
-    /** Allows to prescribe a threshold to be used by certain methods, such as rank(),
-      * who need to determine when pivots are to be considered nonzero. This is not used for the
-      * QR decomposition itself.
-      *
-      * When it needs to get the threshold value, Eigen calls threshold(). By default, this
-      * uses a formula to automatically determine a reasonable threshold.
-      * Once you have called the present method setThreshold(const RealScalar&),
-      * your value is used instead.
-      *
-      * \param threshold The new value to use as the threshold.
-      *
-      * A pivot will be considered nonzero if its absolute value is strictly greater than
-      *  \f$ \vert pivot \vert \leqslant threshold \times \vert maxpivot \vert \f$
-      * where maxpivot is the biggest pivot.
-      *
-      * If you want to come back to the default behavior, call setThreshold(Default_t)
-      */
-    FullPivHouseholderQR& setThreshold(const RealScalar& threshold)
-    {
-      m_usePrescribedThreshold = true;
-      m_prescribedThreshold = threshold;
-      return *this;
-    }
-
-    /** Allows to come back to the default behavior, letting Eigen use its default formula for
-      * determining the threshold.
-      *
-      * You should pass the special object Eigen::Default as parameter here.
-      * \code qr.setThreshold(Eigen::Default); \endcode
-      *
-      * See the documentation of setThreshold(const RealScalar&).
-      */
-    FullPivHouseholderQR& setThreshold(Default_t)
-    {
-      m_usePrescribedThreshold = false;
-      return *this;
-    }
-
-    /** Returns the threshold that will be used by certain methods such as rank().
-      *
-      * See the documentation of setThreshold(const RealScalar&).
-      */
-    RealScalar threshold() const
-    {
-      eigen_assert(m_isInitialized || m_usePrescribedThreshold);
-      return m_usePrescribedThreshold ? m_prescribedThreshold
-      // this formula comes from experimenting (see "LU precision tuning" thread on the list)
-      // and turns out to be identical to Higham's formula used already in LDLt.
-                                      : NumTraits<Scalar>::epsilon() * RealScalar(m_qr.diagonalSize());
-    }
-
-    /** \returns the number of nonzero pivots in the QR decomposition.
-      * Here nonzero is meant in the exact sense, not in a fuzzy sense.
-      * So that notion isn't really intrinsically interesting, but it is
-      * still useful when implementing algorithms.
-      *
-      * \sa rank()
-      */
-    inline Index nonzeroPivots() const
-    {
-      eigen_assert(m_isInitialized && "LU is not initialized.");
-      return m_nonzero_pivots;
-    }
-
-    /** \returns the absolute value of the biggest pivot, i.e. the biggest
-      *          diagonal coefficient of U.
-      */
-    RealScalar maxPivot() const { return m_maxpivot; }
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-    
-    MatrixType m_qr;
-    HCoeffsType m_hCoeffs;
-    IntDiagSizeVectorType m_rows_transpositions;
-    IntDiagSizeVectorType m_cols_transpositions;
-    PermutationType m_cols_permutation;
-    RowVectorType m_temp;
-    bool m_isInitialized, m_usePrescribedThreshold;
-    RealScalar m_prescribedThreshold, m_maxpivot;
-    Index m_nonzero_pivots;
-    RealScalar m_precision;
-    Index m_det_pq;
-};
-
-template<typename MatrixType>
-typename MatrixType::RealScalar FullPivHouseholderQR<MatrixType>::absDeterminant() const
-{
-  using std::abs;
-  eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-  eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
-  return abs(m_qr.diagonal().prod());
-}
-
-template<typename MatrixType>
-typename MatrixType::RealScalar FullPivHouseholderQR<MatrixType>::logAbsDeterminant() const
-{
-  eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-  eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
-  return m_qr.diagonal().cwiseAbs().array().log().sum();
-}
-
-/** Performs the QR factorization of the given matrix \a matrix. The result of
-  * the factorization is stored into \c *this, and a reference to \c *this
-  * is returned.
-  *
-  * \sa class FullPivHouseholderQR, FullPivHouseholderQR(const MatrixType&)
-  */
-template<typename MatrixType>
-FullPivHouseholderQR<MatrixType>& FullPivHouseholderQR<MatrixType>::compute(const MatrixType& matrix)
-{
-  check_template_parameters();
-  
-  using std::abs;
-  Index rows = matrix.rows();
-  Index cols = matrix.cols();
-  Index size = (std::min)(rows,cols);
-
-  m_qr = matrix;
-  m_hCoeffs.resize(size);
-
-  m_temp.resize(cols);
-
-  m_precision = NumTraits<Scalar>::epsilon() * RealScalar(size);
-
-  m_rows_transpositions.resize(size);
-  m_cols_transpositions.resize(size);
-  Index number_of_transpositions = 0;
-
-  RealScalar biggest(0);
-
-  m_nonzero_pivots = size; // the generic case is that in which all pivots are nonzero (invertible case)
-  m_maxpivot = RealScalar(0);
-
-  for (Index k = 0; k < size; ++k)
-  {
-    Index row_of_biggest_in_corner, col_of_biggest_in_corner;
-    RealScalar biggest_in_corner;
-
-    biggest_in_corner = m_qr.bottomRightCorner(rows-k, cols-k)
-                            .cwiseAbs()
-                            .maxCoeff(&row_of_biggest_in_corner, &col_of_biggest_in_corner);
-    row_of_biggest_in_corner += k;
-    col_of_biggest_in_corner += k;
-    if(k==0) biggest = biggest_in_corner;
-
-    // if the corner is negligible, then we have less than full rank, and we can finish early
-    if(internal::isMuchSmallerThan(biggest_in_corner, biggest, m_precision))
-    {
-      m_nonzero_pivots = k;
-      for(Index i = k; i < size; i++)
-      {
-        m_rows_transpositions.coeffRef(i) = i;
-        m_cols_transpositions.coeffRef(i) = i;
-        m_hCoeffs.coeffRef(i) = Scalar(0);
-      }
-      break;
-    }
-
-    m_rows_transpositions.coeffRef(k) = row_of_biggest_in_corner;
-    m_cols_transpositions.coeffRef(k) = col_of_biggest_in_corner;
-    if(k != row_of_biggest_in_corner) {
-      m_qr.row(k).tail(cols-k).swap(m_qr.row(row_of_biggest_in_corner).tail(cols-k));
-      ++number_of_transpositions;
-    }
-    if(k != col_of_biggest_in_corner) {
-      m_qr.col(k).swap(m_qr.col(col_of_biggest_in_corner));
-      ++number_of_transpositions;
-    }
-
-    RealScalar beta;
-    m_qr.col(k).tail(rows-k).makeHouseholderInPlace(m_hCoeffs.coeffRef(k), beta);
-    m_qr.coeffRef(k,k) = beta;
-
-    // remember the maximum absolute value of diagonal coefficients
-    if(abs(beta) > m_maxpivot) m_maxpivot = abs(beta);
-
-    m_qr.bottomRightCorner(rows-k, cols-k-1)
-        .applyHouseholderOnTheLeft(m_qr.col(k).tail(rows-k-1), m_hCoeffs.coeffRef(k), &m_temp.coeffRef(k+1));
-  }
-
-  m_cols_permutation.setIdentity(cols);
-  for(Index k = 0; k < size; ++k)
-    m_cols_permutation.applyTranspositionOnTheRight(k, m_cols_transpositions.coeff(k));
-
-  m_det_pq = (number_of_transpositions%2) ? -1 : 1;
-  m_isInitialized = true;
-
-  return *this;
-}
-
-namespace internal {
-
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<FullPivHouseholderQR<_MatrixType>, Rhs>
-  : solve_retval_base<FullPivHouseholderQR<_MatrixType>, Rhs>
-{
-  EIGEN_MAKE_SOLVE_HELPERS(FullPivHouseholderQR<_MatrixType>,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    const Index rows = dec().rows(), cols = dec().cols();
-    eigen_assert(rhs().rows() == rows);
-
-    // FIXME introduce nonzeroPivots() and use it here. and more generally,
-    // make the same improvements in this dec as in FullPivLU.
-    if(dec().rank()==0)
-    {
-      dst.setZero();
-      return;
-    }
-
-    typename Rhs::PlainObject c(rhs());
-
-    Matrix<Scalar,1,Rhs::ColsAtCompileTime> temp(rhs().cols());
-    for (Index k = 0; k < dec().rank(); ++k)
-    {
-      Index remainingSize = rows-k;
-      c.row(k).swap(c.row(dec().rowsTranspositions().coeff(k)));
-      c.bottomRightCorner(remainingSize, rhs().cols())
-       .applyHouseholderOnTheLeft(dec().matrixQR().col(k).tail(remainingSize-1),
-                                  dec().hCoeffs().coeff(k), &temp.coeffRef(0));
-    }
-
-    dec().matrixQR()
-       .topLeftCorner(dec().rank(), dec().rank())
-       .template triangularView<Upper>()
-       .solveInPlace(c.topRows(dec().rank()));
-
-    for(Index i = 0; i < dec().rank(); ++i) dst.row(dec().colsPermutation().indices().coeff(i)) = c.row(i);
-    for(Index i = dec().rank(); i < cols; ++i) dst.row(dec().colsPermutation().indices().coeff(i)).setZero();
-  }
-};
-
-/** \ingroup QR_Module
-  *
-  * \brief Expression type for return value of FullPivHouseholderQR::matrixQ()
-  *
-  * \tparam MatrixType type of underlying dense matrix
-  */
-template<typename MatrixType> struct FullPivHouseholderQRMatrixQReturnType
-  : public ReturnByValue<FullPivHouseholderQRMatrixQReturnType<MatrixType> >
-{
-public:
-  typedef typename MatrixType::Index Index;
-  typedef typename FullPivHouseholderQR<MatrixType>::IntDiagSizeVectorType IntDiagSizeVectorType;
-  typedef typename internal::plain_diag_type<MatrixType>::type HCoeffsType;
-  typedef Matrix<typename MatrixType::Scalar, 1, MatrixType::RowsAtCompileTime, RowMajor, 1,
-                 MatrixType::MaxRowsAtCompileTime> WorkVectorType;
-
-  FullPivHouseholderQRMatrixQReturnType(const MatrixType&       qr,
-                                        const HCoeffsType&      hCoeffs,
-                                        const IntDiagSizeVectorType& rowsTranspositions)
-    : m_qr(qr),
-      m_hCoeffs(hCoeffs),
-      m_rowsTranspositions(rowsTranspositions)
-      {}
-
-  template <typename ResultType>
-  void evalTo(ResultType& result) const
-  {
-    const Index rows = m_qr.rows();
-    WorkVectorType workspace(rows);
-    evalTo(result, workspace);
-  }
-
-  template <typename ResultType>
-  void evalTo(ResultType& result, WorkVectorType& workspace) const
-  {
-    using numext::conj;
-    // compute the product H'_0 H'_1 ... H'_n-1,
-    // where H_k is the k-th Householder transformation I - h_k v_k v_k'
-    // and v_k is the k-th Householder vector [1,m_qr(k+1,k), m_qr(k+2,k), ...]
-    const Index rows = m_qr.rows();
-    const Index cols = m_qr.cols();
-    const Index size = (std::min)(rows, cols);
-    workspace.resize(rows);
-    result.setIdentity(rows, rows);
-    for (Index k = size-1; k >= 0; k--)
-    {
-      result.block(k, k, rows-k, rows-k)
-            .applyHouseholderOnTheLeft(m_qr.col(k).tail(rows-k-1), conj(m_hCoeffs.coeff(k)), &workspace.coeffRef(k));
-      result.row(k).swap(result.row(m_rowsTranspositions.coeff(k)));
-    }
-  }
-
-    Index rows() const { return m_qr.rows(); }
-    Index cols() const { return m_qr.rows(); }
-
-protected:
-  typename MatrixType::Nested m_qr;
-  typename HCoeffsType::Nested m_hCoeffs;
-  typename IntDiagSizeVectorType::Nested m_rowsTranspositions;
-};
-
-} // end namespace internal
-
-template<typename MatrixType>
-inline typename FullPivHouseholderQR<MatrixType>::MatrixQReturnType FullPivHouseholderQR<MatrixType>::matrixQ() const
-{
-  eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized.");
-  return MatrixQReturnType(m_qr, m_hCoeffs, m_rows_transpositions);
-}
-
-/** \return the full-pivoting Householder QR decomposition of \c *this.
-  *
-  * \sa class FullPivHouseholderQR
-  */
-template<typename Derived>
-const FullPivHouseholderQR<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::fullPivHouseholderQr() const
-{
-  return FullPivHouseholderQR<PlainObject>(eval());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_FULLPIVOTINGHOUSEHOLDERQR_H
diff --git a/lib/Eigen/src/QR/HouseholderQR.h b/lib/Eigen/src/QR/HouseholderQR.h
deleted file mode 100644
index 343a6649..00000000
--- a/lib/Eigen/src/QR/HouseholderQR.h
+++ /dev/null
@@ -1,388 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-// Copyright (C) 2010 Vincent Lejeune
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_QR_H
-#define EIGEN_QR_H
-
-namespace Eigen { 
-
-/** \ingroup QR_Module
-  *
-  *
-  * \class HouseholderQR
-  *
-  * \brief Householder QR decomposition of a matrix
-  *
-  * \param MatrixType the type of the matrix of which we are computing the QR decomposition
-  *
-  * This class performs a QR decomposition of a matrix \b A into matrices \b Q and \b R
-  * such that 
-  * \f[
-  *  \mathbf{A} = \mathbf{Q} \, \mathbf{R}
-  * \f]
-  * by using Householder transformations. Here, \b Q a unitary matrix and \b R an upper triangular matrix.
-  * The result is stored in a compact way compatible with LAPACK.
-  *
-  * Note that no pivoting is performed. This is \b not a rank-revealing decomposition.
-  * If you want that feature, use FullPivHouseholderQR or ColPivHouseholderQR instead.
-  *
-  * This Householder QR decomposition is faster, but less numerically stable and less feature-full than
-  * FullPivHouseholderQR or ColPivHouseholderQR.
-  *
-  * \sa MatrixBase::householderQr()
-  */
-template<typename _MatrixType> class HouseholderQR
-{
-  public:
-
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      Options = MatrixType::Options,
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
-    };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef Matrix<Scalar, RowsAtCompileTime, RowsAtCompileTime, (MatrixType::Flags&RowMajorBit) ? RowMajor : ColMajor, MaxRowsAtCompileTime, MaxRowsAtCompileTime> MatrixQType;
-    typedef typename internal::plain_diag_type<MatrixType>::type HCoeffsType;
-    typedef typename internal::plain_row_type<MatrixType>::type RowVectorType;
-    typedef HouseholderSequence<MatrixType,typename internal::remove_all<typename HCoeffsType::ConjugateReturnType>::type> HouseholderSequenceType;
-
-    /**
-      * \brief Default Constructor.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via HouseholderQR::compute(const MatrixType&).
-      */
-    HouseholderQR() : m_qr(), m_hCoeffs(), m_temp(), m_isInitialized(false) {}
-
-    /** \brief Default Constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem \a size.
-      * \sa HouseholderQR()
-      */
-    HouseholderQR(Index rows, Index cols)
-      : m_qr(rows, cols),
-        m_hCoeffs((std::min)(rows,cols)),
-        m_temp(cols),
-        m_isInitialized(false) {}
-
-    /** \brief Constructs a QR factorization from a given matrix
-      *
-      * This constructor computes the QR factorization of the matrix \a matrix by calling
-      * the method compute(). It is a short cut for:
-      * 
-      * \code
-      * HouseholderQR<MatrixType> qr(matrix.rows(), matrix.cols());
-      * qr.compute(matrix);
-      * \endcode
-      * 
-      * \sa compute()
-      */
-    HouseholderQR(const MatrixType& matrix)
-      : m_qr(matrix.rows(), matrix.cols()),
-        m_hCoeffs((std::min)(matrix.rows(),matrix.cols())),
-        m_temp(matrix.cols()),
-        m_isInitialized(false)
-    {
-      compute(matrix);
-    }
-
-    /** This method finds a solution x to the equation Ax=b, where A is the matrix of which
-      * *this is the QR decomposition, if any exists.
-      *
-      * \param b the right-hand-side of the equation to solve.
-      *
-      * \returns a solution.
-      *
-      * \note The case where b is a matrix is not yet implemented. Also, this
-      *       code is space inefficient.
-      *
-      * \note_about_checking_solutions
-      *
-      * \note_about_arbitrary_choice_of_solution
-      *
-      * Example: \include HouseholderQR_solve.cpp
-      * Output: \verbinclude HouseholderQR_solve.out
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<HouseholderQR, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "HouseholderQR is not initialized.");
-      return internal::solve_retval<HouseholderQR, Rhs>(*this, b.derived());
-    }
-
-    /** This method returns an expression of the unitary matrix Q as a sequence of Householder transformations.
-      *
-      * The returned expression can directly be used to perform matrix products. It can also be assigned to a dense Matrix object.
-      * Here is an example showing how to recover the full or thin matrix Q, as well as how to perform matrix products using operator*:
-      *
-      * Example: \include HouseholderQR_householderQ.cpp
-      * Output: \verbinclude HouseholderQR_householderQ.out
-      */
-    HouseholderSequenceType householderQ() const
-    {
-      eigen_assert(m_isInitialized && "HouseholderQR is not initialized.");
-      return HouseholderSequenceType(m_qr, m_hCoeffs.conjugate());
-    }
-
-    /** \returns a reference to the matrix where the Householder QR decomposition is stored
-      * in a LAPACK-compatible way.
-      */
-    const MatrixType& matrixQR() const
-    {
-        eigen_assert(m_isInitialized && "HouseholderQR is not initialized.");
-        return m_qr;
-    }
-
-    HouseholderQR& compute(const MatrixType& matrix);
-
-    /** \returns the absolute value of the determinant of the matrix of which
-      * *this is the QR decomposition. It has only linear complexity
-      * (that is, O(n) where n is the dimension of the square matrix)
-      * as the QR decomposition has already been computed.
-      *
-      * \note This is only for square matrices.
-      *
-      * \warning a determinant can be very big or small, so for matrices
-      * of large enough dimension, there is a risk of overflow/underflow.
-      * One way to work around that is to use logAbsDeterminant() instead.
-      *
-      * \sa logAbsDeterminant(), MatrixBase::determinant()
-      */
-    typename MatrixType::RealScalar absDeterminant() const;
-
-    /** \returns the natural log of the absolute value of the determinant of the matrix of which
-      * *this is the QR decomposition. It has only linear complexity
-      * (that is, O(n) where n is the dimension of the square matrix)
-      * as the QR decomposition has already been computed.
-      *
-      * \note This is only for square matrices.
-      *
-      * \note This method is useful to work around the risk of overflow/underflow that's inherent
-      * to determinant computation.
-      *
-      * \sa absDeterminant(), MatrixBase::determinant()
-      */
-    typename MatrixType::RealScalar logAbsDeterminant() const;
-
-    inline Index rows() const { return m_qr.rows(); }
-    inline Index cols() const { return m_qr.cols(); }
-    
-    /** \returns a const reference to the vector of Householder coefficients used to represent the factor \c Q.
-      * 
-      * For advanced uses only.
-      */
-    const HCoeffsType& hCoeffs() const { return m_hCoeffs; }
-
-  protected:
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-    
-    MatrixType m_qr;
-    HCoeffsType m_hCoeffs;
-    RowVectorType m_temp;
-    bool m_isInitialized;
-};
-
-template<typename MatrixType>
-typename MatrixType::RealScalar HouseholderQR<MatrixType>::absDeterminant() const
-{
-  using std::abs;
-  eigen_assert(m_isInitialized && "HouseholderQR is not initialized.");
-  eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
-  return abs(m_qr.diagonal().prod());
-}
-
-template<typename MatrixType>
-typename MatrixType::RealScalar HouseholderQR<MatrixType>::logAbsDeterminant() const
-{
-  eigen_assert(m_isInitialized && "HouseholderQR is not initialized.");
-  eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
-  return m_qr.diagonal().cwiseAbs().array().log().sum();
-}
-
-namespace internal {
-
-/** \internal */
-template<typename MatrixQR, typename HCoeffs>
-void householder_qr_inplace_unblocked(MatrixQR& mat, HCoeffs& hCoeffs, typename MatrixQR::Scalar* tempData = 0)
-{
-  typedef typename MatrixQR::Index Index;
-  typedef typename MatrixQR::Scalar Scalar;
-  typedef typename MatrixQR::RealScalar RealScalar;
-  Index rows = mat.rows();
-  Index cols = mat.cols();
-  Index size = (std::min)(rows,cols);
-
-  eigen_assert(hCoeffs.size() == size);
-
-  typedef Matrix<Scalar,MatrixQR::ColsAtCompileTime,1> TempType;
-  TempType tempVector;
-  if(tempData==0)
-  {
-    tempVector.resize(cols);
-    tempData = tempVector.data();
-  }
-
-  for(Index k = 0; k < size; ++k)
-  {
-    Index remainingRows = rows - k;
-    Index remainingCols = cols - k - 1;
-
-    RealScalar beta;
-    mat.col(k).tail(remainingRows).makeHouseholderInPlace(hCoeffs.coeffRef(k), beta);
-    mat.coeffRef(k,k) = beta;
-
-    // apply H to remaining part of m_qr from the left
-    mat.bottomRightCorner(remainingRows, remainingCols)
-        .applyHouseholderOnTheLeft(mat.col(k).tail(remainingRows-1), hCoeffs.coeffRef(k), tempData+k+1);
-  }
-}
-
-/** \internal */
-template<typename MatrixQR, typename HCoeffs,
-  typename MatrixQRScalar = typename MatrixQR::Scalar,
-  bool InnerStrideIsOne = (MatrixQR::InnerStrideAtCompileTime == 1 && HCoeffs::InnerStrideAtCompileTime == 1)>
-struct householder_qr_inplace_blocked
-{
-  // This is specialized for MKL-supported Scalar types in HouseholderQR_MKL.h
-  static void run(MatrixQR& mat, HCoeffs& hCoeffs,
-      typename MatrixQR::Index maxBlockSize=32,
-      typename MatrixQR::Scalar* tempData = 0)
-  {
-    typedef typename MatrixQR::Index Index;
-    typedef typename MatrixQR::Scalar Scalar;
-    typedef Block<MatrixQR,Dynamic,Dynamic> BlockType;
-
-    Index rows = mat.rows();
-    Index cols = mat.cols();
-    Index size = (std::min)(rows, cols);
-
-    typedef Matrix<Scalar,Dynamic,1,ColMajor,MatrixQR::MaxColsAtCompileTime,1> TempType;
-    TempType tempVector;
-    if(tempData==0)
-    {
-      tempVector.resize(cols);
-      tempData = tempVector.data();
-    }
-
-    Index blockSize = (std::min)(maxBlockSize,size);
-
-    Index k = 0;
-    for (k = 0; k < size; k += blockSize)
-    {
-      Index bs = (std::min)(size-k,blockSize);  // actual size of the block
-      Index tcols = cols - k - bs;            // trailing columns
-      Index brows = rows-k;                   // rows of the block
-
-      // partition the matrix:
-      //        A00 | A01 | A02
-      // mat  = A10 | A11 | A12
-      //        A20 | A21 | A22
-      // and performs the qr dec of [A11^T A12^T]^T
-      // and update [A21^T A22^T]^T using level 3 operations.
-      // Finally, the algorithm continue on A22
-
-      BlockType A11_21 = mat.block(k,k,brows,bs);
-      Block<HCoeffs,Dynamic,1> hCoeffsSegment = hCoeffs.segment(k,bs);
-
-      householder_qr_inplace_unblocked(A11_21, hCoeffsSegment, tempData);
-
-      if(tcols)
-      {
-        BlockType A21_22 = mat.block(k,k+bs,brows,tcols);
-        apply_block_householder_on_the_left(A21_22,A11_21,hCoeffsSegment.adjoint());
-      }
-    }
-  }
-};
-
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<HouseholderQR<_MatrixType>, Rhs>
-  : solve_retval_base<HouseholderQR<_MatrixType>, Rhs>
-{
-  EIGEN_MAKE_SOLVE_HELPERS(HouseholderQR<_MatrixType>,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    const Index rows = dec().rows(), cols = dec().cols();
-    const Index rank = (std::min)(rows, cols);
-    eigen_assert(rhs().rows() == rows);
-
-    typename Rhs::PlainObject c(rhs());
-
-    // Note that the matrix Q = H_0^* H_1^*... so its inverse is Q^* = (H_0 H_1 ...)^T
-    c.applyOnTheLeft(householderSequence(
-      dec().matrixQR().leftCols(rank),
-      dec().hCoeffs().head(rank)).transpose()
-    );
-
-    dec().matrixQR()
-       .topLeftCorner(rank, rank)
-       .template triangularView<Upper>()
-       .solveInPlace(c.topRows(rank));
-
-    dst.topRows(rank) = c.topRows(rank);
-    dst.bottomRows(cols-rank).setZero();
-  }
-};
-
-} // end namespace internal
-
-/** Performs the QR factorization of the given matrix \a matrix. The result of
-  * the factorization is stored into \c *this, and a reference to \c *this
-  * is returned.
-  *
-  * \sa class HouseholderQR, HouseholderQR(const MatrixType&)
-  */
-template<typename MatrixType>
-HouseholderQR<MatrixType>& HouseholderQR<MatrixType>::compute(const MatrixType& matrix)
-{
-  check_template_parameters();
-  
-  Index rows = matrix.rows();
-  Index cols = matrix.cols();
-  Index size = (std::min)(rows,cols);
-
-  m_qr = matrix;
-  m_hCoeffs.resize(size);
-
-  m_temp.resize(cols);
-
-  internal::householder_qr_inplace_blocked<MatrixType, HCoeffsType>::run(m_qr, m_hCoeffs, 48, m_temp.data());
-
-  m_isInitialized = true;
-  return *this;
-}
-
-/** \return the Householder QR decomposition of \c *this.
-  *
-  * \sa class HouseholderQR
-  */
-template<typename Derived>
-const HouseholderQR<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::householderQr() const
-{
-  return HouseholderQR<PlainObject>(eval());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_QR_H
diff --git a/lib/Eigen/src/QR/HouseholderQR_MKL.h b/lib/Eigen/src/QR/HouseholderQR_MKL.h
deleted file mode 100644
index b80f1b48..00000000
--- a/lib/Eigen/src/QR/HouseholderQR_MKL.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *    Householder QR decomposition of a matrix w/o pivoting based on
- *    LAPACKE_?geqrf function.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_QR_MKL_H
-#define EIGEN_QR_MKL_H
-
-#include "../Core/util/MKL_support.h"
-
-namespace Eigen { 
-
-  namespace internal {
-
-    /** \internal Specialization for the data types supported by MKL */
-
-#define EIGEN_MKL_QR_NOPIV(EIGTYPE, MKLTYPE, MKLPREFIX) \
-template<typename MatrixQR, typename HCoeffs> \
-struct householder_qr_inplace_blocked<MatrixQR, HCoeffs, EIGTYPE, true> \
-{ \
-  static void run(MatrixQR& mat, HCoeffs& hCoeffs, \
-      typename MatrixQR::Index = 32, \
-      typename MatrixQR::Scalar* = 0) \
-  { \
-    lapack_int m = (lapack_int) mat.rows(); \
-    lapack_int n = (lapack_int) mat.cols(); \
-    lapack_int lda = (lapack_int) mat.outerStride(); \
-    lapack_int matrix_order = (MatrixQR::IsRowMajor) ? LAPACK_ROW_MAJOR : LAPACK_COL_MAJOR; \
-    LAPACKE_##MKLPREFIX##geqrf( matrix_order, m, n, (MKLTYPE*)mat.data(), lda, (MKLTYPE*)hCoeffs.data()); \
-    hCoeffs.adjointInPlace(); \
-  } \
-};
-
-EIGEN_MKL_QR_NOPIV(double, double, d)
-EIGEN_MKL_QR_NOPIV(float, float, s)
-EIGEN_MKL_QR_NOPIV(dcomplex, MKL_Complex16, z)
-EIGEN_MKL_QR_NOPIV(scomplex, MKL_Complex8, c)
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_QR_MKL_H
diff --git a/lib/Eigen/src/SPQRSupport/CMakeLists.txt b/lib/Eigen/src/SPQRSupport/CMakeLists.txt
deleted file mode 100644
index 4968beaf..00000000
--- a/lib/Eigen/src/SPQRSupport/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_SPQRSupport_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_SPQRSupport_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SPQRSupport/ COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h b/lib/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
deleted file mode 100644
index 36138101..00000000
--- a/lib/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
+++ /dev/null
@@ -1,338 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Desire Nuentsa <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SUITESPARSEQRSUPPORT_H
-#define EIGEN_SUITESPARSEQRSUPPORT_H
-
-namespace Eigen {
-  
-  template<typename MatrixType> class SPQR; 
-  template<typename SPQRType> struct SPQRMatrixQReturnType; 
-  template<typename SPQRType> struct SPQRMatrixQTransposeReturnType; 
-  template <typename SPQRType, typename Derived> struct SPQR_QProduct;
-  namespace internal {
-    template <typename SPQRType> struct traits<SPQRMatrixQReturnType<SPQRType> >
-    {
-      typedef typename SPQRType::MatrixType ReturnType;
-    };
-    template <typename SPQRType> struct traits<SPQRMatrixQTransposeReturnType<SPQRType> >
-    {
-      typedef typename SPQRType::MatrixType ReturnType;
-    };
-    template <typename SPQRType, typename Derived> struct traits<SPQR_QProduct<SPQRType, Derived> >
-    {
-      typedef typename Derived::PlainObject ReturnType;
-    };
-  } // End namespace internal
-  
-/**
- * \ingroup SPQRSupport_Module
- * \class SPQR
- * \brief Sparse QR factorization based on SuiteSparseQR library
- * 
- * This class is used to perform a multithreaded and multifrontal rank-revealing QR decomposition 
- * of sparse matrices. The result is then used to solve linear leasts_square systems.
- * Clearly, a QR factorization is returned such that A*P = Q*R where :
- * 
- * P is the column permutation. Use colsPermutation() to get it.
- * 
- * Q is the orthogonal matrix represented as Householder reflectors. 
- * Use matrixQ() to get an expression and matrixQ().transpose() to get the transpose.
- * You can then apply it to a vector.
- * 
- * R is the sparse triangular factor. Use matrixQR() to get it as SparseMatrix.
- * NOTE : The Index type of R is always SuiteSparse_long. You can get it with SPQR::Index
- * 
- * \tparam _MatrixType The type of the sparse matrix A, must be a column-major SparseMatrix<>
- * NOTE 
- * 
- */
-template<typename _MatrixType>
-class SPQR
-{
-  public:
-    typedef typename _MatrixType::Scalar Scalar;
-    typedef typename _MatrixType::RealScalar RealScalar;
-    typedef SuiteSparse_long Index ;
-    typedef SparseMatrix<Scalar, ColMajor, Index> MatrixType;
-    typedef PermutationMatrix<Dynamic, Dynamic> PermutationType;
-  public:
-    SPQR() 
-      : m_isInitialized(false), m_ordering(SPQR_ORDERING_DEFAULT), m_allow_tol(SPQR_DEFAULT_TOL), m_tolerance (NumTraits<Scalar>::epsilon()), m_useDefaultThreshold(true)
-    { 
-      cholmod_l_start(&m_cc);
-    }
-    
-    SPQR(const _MatrixType& matrix)
-    : m_isInitialized(false), m_ordering(SPQR_ORDERING_DEFAULT), m_allow_tol(SPQR_DEFAULT_TOL), m_tolerance (NumTraits<Scalar>::epsilon()), m_useDefaultThreshold(true)
-    {
-      cholmod_l_start(&m_cc);
-      compute(matrix);
-    }
-    
-    ~SPQR()
-    {
-      SPQR_free();
-      cholmod_l_finish(&m_cc);
-    }
-    void SPQR_free()
-    {
-      cholmod_l_free_sparse(&m_H, &m_cc);
-      cholmod_l_free_sparse(&m_cR, &m_cc);
-      cholmod_l_free_dense(&m_HTau, &m_cc);
-      std::free(m_E);
-      std::free(m_HPinv);
-    }
-
-    void compute(const _MatrixType& matrix)
-    {
-      if(m_isInitialized) SPQR_free();
-
-      MatrixType mat(matrix);
-      
-      /* Compute the default threshold as in MatLab, see:
-       * Tim Davis, "Algorithm 915, SuiteSparseQR: Multifrontal Multithreaded Rank-Revealing
-       * Sparse QR Factorization, ACM Trans. on Math. Soft. 38(1), 2011, Page 8:3 
-       */
-      RealScalar pivotThreshold = m_tolerance;
-      if(m_useDefaultThreshold) 
-      {
-        using std::max;
-        RealScalar max2Norm = 0.0;
-        for (int j = 0; j < mat.cols(); j++) max2Norm = (max)(max2Norm, mat.col(j).norm());
-        if(max2Norm==RealScalar(0))
-          max2Norm = RealScalar(1);
-        pivotThreshold = 20 * (mat.rows() + mat.cols()) * max2Norm * NumTraits<RealScalar>::epsilon();
-      }
-      
-      cholmod_sparse A; 
-      A = viewAsCholmod(mat);
-      Index col = matrix.cols();
-      m_rank = SuiteSparseQR<Scalar>(m_ordering, pivotThreshold, col, &A, 
-                             &m_cR, &m_E, &m_H, &m_HPinv, &m_HTau, &m_cc);
-
-      if (!m_cR)
-      {
-        m_info = NumericalIssue; 
-        m_isInitialized = false;
-        return;
-      }
-      m_info = Success;
-      m_isInitialized = true;
-      m_isRUpToDate = false;
-    }
-    /** 
-     * Get the number of rows of the input matrix and the Q matrix
-     */
-    inline Index rows() const {return m_cR->nrow; }
-    
-    /** 
-     * Get the number of columns of the input matrix. 
-     */
-    inline Index cols() const { return m_cR->ncol; }
-   
-      /** \returns the solution X of \f$ A X = B \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<SPQR, Rhs> solve(const MatrixBase<Rhs>& B) const 
-    {
-      eigen_assert(m_isInitialized && " The QR factorization should be computed first, call compute()");
-      eigen_assert(this->rows()==B.rows()
-                    && "SPQR::solve(): invalid number of rows of the right hand side matrix B");
-          return internal::solve_retval<SPQR, Rhs>(*this, B.derived());
-    }
-    
-    template<typename Rhs, typename Dest>
-    void _solve(const MatrixBase<Rhs> &b, MatrixBase<Dest> &dest) const
-    {
-      eigen_assert(m_isInitialized && " The QR factorization should be computed first, call compute()");
-      eigen_assert(b.cols()==1 && "This method is for vectors only");
-
-      //Compute Q^T * b
-      typename Dest::PlainObject y, y2;
-      y = matrixQ().transpose() * b;
-      
-      // Solves with the triangular matrix R
-      Index rk = this->rank();
-      y2 = y;
-      y.resize((std::max)(cols(),Index(y.rows())),y.cols());
-      y.topRows(rk) = this->matrixR().topLeftCorner(rk, rk).template triangularView<Upper>().solve(y2.topRows(rk));
-
-      // Apply the column permutation 
-      // colsPermutation() performs a copy of the permutation,
-      // so let's apply it manually:
-      for(Index i = 0; i < rk; ++i) dest.row(m_E[i]) = y.row(i);
-      for(Index i = rk; i < cols(); ++i) dest.row(m_E[i]).setZero();
-      
-//       y.bottomRows(y.rows()-rk).setZero();
-//       dest = colsPermutation() * y.topRows(cols());
-      
-      m_info = Success;
-    }
-    
-    /** \returns the sparse triangular factor R. It is a sparse matrix
-     */
-    const MatrixType matrixR() const
-    {
-      eigen_assert(m_isInitialized && " The QR factorization should be computed first, call compute()");
-      if(!m_isRUpToDate) {
-        m_R = viewAsEigen<Scalar,ColMajor, typename MatrixType::Index>(*m_cR);
-        m_isRUpToDate = true;
-      }
-      return m_R;
-    }
-    /// Get an expression of the matrix Q
-    SPQRMatrixQReturnType<SPQR> matrixQ() const
-    {
-      return SPQRMatrixQReturnType<SPQR>(*this);
-    }
-    /// Get the permutation that was applied to columns of A
-    PermutationType colsPermutation() const
-    { 
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      Index n = m_cR->ncol;
-      PermutationType colsPerm(n);
-      for(Index j = 0; j <n; j++) colsPerm.indices()(j) = m_E[j];
-      return colsPerm; 
-      
-    }
-    /**
-     * Gets the rank of the matrix. 
-     * It should be equal to matrixQR().cols if the matrix is full-rank
-     */
-    Index rank() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_cc.SPQR_istat[4];
-    }
-    /// Set the fill-reducing ordering method to be used
-    void setSPQROrdering(int ord) { m_ordering = ord;}
-    /// Set the tolerance tol to treat columns with 2-norm < =tol as zero
-    void setPivotThreshold(const RealScalar& tol)
-    {
-      m_useDefaultThreshold = false;
-      m_tolerance = tol;
-    }
-    
-    /** \returns a pointer to the SPQR workspace */
-    cholmod_common *cholmodCommon() const { return &m_cc; }
-    
-    
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the sparse QR can not be computed
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_info;
-    }
-  protected:
-    bool m_isInitialized;
-    bool m_analysisIsOk;
-    bool m_factorizationIsOk;
-    mutable bool m_isRUpToDate;
-    mutable ComputationInfo m_info;
-    int m_ordering; // Ordering method to use, see SPQR's manual
-    int m_allow_tol; // Allow to use some tolerance during numerical factorization.
-    RealScalar m_tolerance; // treat columns with 2-norm below this tolerance as zero
-    mutable cholmod_sparse *m_cR; // The sparse R factor in cholmod format
-    mutable MatrixType m_R; // The sparse matrix R in Eigen format
-    mutable Index *m_E; // The permutation applied to columns
-    mutable cholmod_sparse *m_H;  //The householder vectors
-    mutable Index *m_HPinv; // The row permutation of H
-    mutable cholmod_dense *m_HTau; // The Householder coefficients
-    mutable Index m_rank; // The rank of the matrix
-    mutable cholmod_common m_cc; // Workspace and parameters
-    bool m_useDefaultThreshold;     // Use default threshold
-    template<typename ,typename > friend struct SPQR_QProduct;
-};
-
-template <typename SPQRType, typename Derived>
-struct SPQR_QProduct : ReturnByValue<SPQR_QProduct<SPQRType,Derived> >
-{
-  typedef typename SPQRType::Scalar Scalar;
-  typedef typename SPQRType::Index Index;
-  //Define the constructor to get reference to argument types
-  SPQR_QProduct(const SPQRType& spqr, const Derived& other, bool transpose) : m_spqr(spqr),m_other(other),m_transpose(transpose) {}
-  
-  inline Index rows() const { return m_transpose ? m_spqr.rows() : m_spqr.cols(); }
-  inline Index cols() const { return m_other.cols(); }
-  // Assign to a vector
-  template<typename ResType>
-  void evalTo(ResType& res) const
-  {
-    cholmod_dense y_cd;
-    cholmod_dense *x_cd; 
-    int method = m_transpose ? SPQR_QTX : SPQR_QX; 
-    cholmod_common *cc = m_spqr.cholmodCommon();
-    y_cd = viewAsCholmod(m_other.const_cast_derived());
-    x_cd = SuiteSparseQR_qmult<Scalar>(method, m_spqr.m_H, m_spqr.m_HTau, m_spqr.m_HPinv, &y_cd, cc);
-    res = Matrix<Scalar,ResType::RowsAtCompileTime,ResType::ColsAtCompileTime>::Map(reinterpret_cast<Scalar*>(x_cd->x), x_cd->nrow, x_cd->ncol);
-    cholmod_l_free_dense(&x_cd, cc);
-  }
-  const SPQRType& m_spqr; 
-  const Derived& m_other; 
-  bool m_transpose; 
-  
-};
-template<typename SPQRType>
-struct SPQRMatrixQReturnType{
-  
-  SPQRMatrixQReturnType(const SPQRType& spqr) : m_spqr(spqr) {}
-  template<typename Derived>
-  SPQR_QProduct<SPQRType, Derived> operator*(const MatrixBase<Derived>& other)
-  {
-    return SPQR_QProduct<SPQRType,Derived>(m_spqr,other.derived(),false);
-  }
-  SPQRMatrixQTransposeReturnType<SPQRType> adjoint() const
-  {
-    return SPQRMatrixQTransposeReturnType<SPQRType>(m_spqr);
-  }
-  // To use for operations with the transpose of Q
-  SPQRMatrixQTransposeReturnType<SPQRType> transpose() const
-  {
-    return SPQRMatrixQTransposeReturnType<SPQRType>(m_spqr);
-  }
-  const SPQRType& m_spqr;
-};
-
-template<typename SPQRType>
-struct SPQRMatrixQTransposeReturnType{
-  SPQRMatrixQTransposeReturnType(const SPQRType& spqr) : m_spqr(spqr) {}
-  template<typename Derived>
-  SPQR_QProduct<SPQRType,Derived> operator*(const MatrixBase<Derived>& other)
-  {
-    return SPQR_QProduct<SPQRType,Derived>(m_spqr,other.derived(), true);
-  }
-  const SPQRType& m_spqr;
-};
-
-namespace internal {
-  
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<SPQR<_MatrixType>, Rhs>
-  : solve_retval_base<SPQR<_MatrixType>, Rhs>
-{
-  typedef SPQR<_MatrixType> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-} // end namespace internal
-
-}// End namespace Eigen
-#endif
diff --git a/lib/Eigen/src/SVD/CMakeLists.txt b/lib/Eigen/src/SVD/CMakeLists.txt
deleted file mode 100644
index 55efc44b..00000000
--- a/lib/Eigen/src/SVD/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_SVD_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_SVD_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SVD COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/SVD/JacobiSVD.h b/lib/Eigen/src/SVD/JacobiSVD.h
deleted file mode 100644
index 89ace381..00000000
--- a/lib/Eigen/src/SVD/JacobiSVD.h
+++ /dev/null
@@ -1,976 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_JACOBISVD_H
-#define EIGEN_JACOBISVD_H
-
-namespace Eigen { 
-
-namespace internal {
-// forward declaration (needed by ICC)
-// the empty body is required by MSVC
-template<typename MatrixType, int QRPreconditioner,
-         bool IsComplex = NumTraits<typename MatrixType::Scalar>::IsComplex>
-struct svd_precondition_2x2_block_to_be_real {};
-
-/*** QR preconditioners (R-SVD)
- ***
- *** Their role is to reduce the problem of computing the SVD to the case of a square matrix.
- *** This approach, known as R-SVD, is an optimization for rectangular-enough matrices, and is a requirement for
- *** JacobiSVD which by itself is only able to work on square matrices.
- ***/
-
-enum { PreconditionIfMoreColsThanRows, PreconditionIfMoreRowsThanCols };
-
-template<typename MatrixType, int QRPreconditioner, int Case>
-struct qr_preconditioner_should_do_anything
-{
-  enum { a = MatrixType::RowsAtCompileTime != Dynamic &&
-             MatrixType::ColsAtCompileTime != Dynamic &&
-             MatrixType::ColsAtCompileTime <= MatrixType::RowsAtCompileTime,
-         b = MatrixType::RowsAtCompileTime != Dynamic &&
-             MatrixType::ColsAtCompileTime != Dynamic &&
-             MatrixType::RowsAtCompileTime <= MatrixType::ColsAtCompileTime,
-         ret = !( (QRPreconditioner == NoQRPreconditioner) ||
-                  (Case == PreconditionIfMoreColsThanRows && bool(a)) ||
-                  (Case == PreconditionIfMoreRowsThanCols && bool(b)) )
-  };
-};
-
-template<typename MatrixType, int QRPreconditioner, int Case,
-         bool DoAnything = qr_preconditioner_should_do_anything<MatrixType, QRPreconditioner, Case>::ret
-> struct qr_preconditioner_impl {};
-
-template<typename MatrixType, int QRPreconditioner, int Case>
-class qr_preconditioner_impl<MatrixType, QRPreconditioner, Case, false>
-{
-public:
-  typedef typename MatrixType::Index Index;
-  void allocate(const JacobiSVD<MatrixType, QRPreconditioner>&) {}
-  bool run(JacobiSVD<MatrixType, QRPreconditioner>&, const MatrixType&)
-  {
-    return false;
-  }
-};
-
-/*** preconditioner using FullPivHouseholderQR ***/
-
-template<typename MatrixType>
-class qr_preconditioner_impl<MatrixType, FullPivHouseholderQRPreconditioner, PreconditionIfMoreRowsThanCols, true>
-{
-public:
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::Scalar Scalar;
-  enum
-  {
-    RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-    MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime
-  };
-  typedef Matrix<Scalar, 1, RowsAtCompileTime, RowMajor, 1, MaxRowsAtCompileTime> WorkspaceType;
-
-  void allocate(const JacobiSVD<MatrixType, FullPivHouseholderQRPreconditioner>& svd)
-  {
-    if (svd.rows() != m_qr.rows() || svd.cols() != m_qr.cols())
-    {
-      m_qr.~QRType();
-      ::new (&m_qr) QRType(svd.rows(), svd.cols());
-    }
-    if (svd.m_computeFullU) m_workspace.resize(svd.rows());
-  }
-
-  bool run(JacobiSVD<MatrixType, FullPivHouseholderQRPreconditioner>& svd, const MatrixType& matrix)
-  {
-    if(matrix.rows() > matrix.cols())
-    {
-      m_qr.compute(matrix);
-      svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.cols(),matrix.cols()).template triangularView<Upper>();
-      if(svd.m_computeFullU) m_qr.matrixQ().evalTo(svd.m_matrixU, m_workspace);
-      if(svd.computeV()) svd.m_matrixV = m_qr.colsPermutation();
-      return true;
-    }
-    return false;
-  }
-private:
-  typedef FullPivHouseholderQR<MatrixType> QRType;
-  QRType m_qr;
-  WorkspaceType m_workspace;
-};
-
-template<typename MatrixType>
-class qr_preconditioner_impl<MatrixType, FullPivHouseholderQRPreconditioner, PreconditionIfMoreColsThanRows, true>
-{
-public:
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::Scalar Scalar;
-  enum
-  {
-    RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-    ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-    MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime,
-    Options = MatrixType::Options
-  };
-  typedef Matrix<Scalar, ColsAtCompileTime, RowsAtCompileTime, Options, MaxColsAtCompileTime, MaxRowsAtCompileTime>
-          TransposeTypeWithSameStorageOrder;
-
-  void allocate(const JacobiSVD<MatrixType, FullPivHouseholderQRPreconditioner>& svd)
-  {
-    if (svd.cols() != m_qr.rows() || svd.rows() != m_qr.cols())
-    {
-      m_qr.~QRType();
-      ::new (&m_qr) QRType(svd.cols(), svd.rows());
-    }
-    m_adjoint.resize(svd.cols(), svd.rows());
-    if (svd.m_computeFullV) m_workspace.resize(svd.cols());
-  }
-
-  bool run(JacobiSVD<MatrixType, FullPivHouseholderQRPreconditioner>& svd, const MatrixType& matrix)
-  {
-    if(matrix.cols() > matrix.rows())
-    {
-      m_adjoint = matrix.adjoint();
-      m_qr.compute(m_adjoint);
-      svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.rows(),matrix.rows()).template triangularView<Upper>().adjoint();
-      if(svd.m_computeFullV) m_qr.matrixQ().evalTo(svd.m_matrixV, m_workspace);
-      if(svd.computeU()) svd.m_matrixU = m_qr.colsPermutation();
-      return true;
-    }
-    else return false;
-  }
-private:
-  typedef FullPivHouseholderQR<TransposeTypeWithSameStorageOrder> QRType;
-  QRType m_qr;
-  TransposeTypeWithSameStorageOrder m_adjoint;
-  typename internal::plain_row_type<MatrixType>::type m_workspace;
-};
-
-/*** preconditioner using ColPivHouseholderQR ***/
-
-template<typename MatrixType>
-class qr_preconditioner_impl<MatrixType, ColPivHouseholderQRPreconditioner, PreconditionIfMoreRowsThanCols, true>
-{
-public:
-  typedef typename MatrixType::Index Index;
-
-  void allocate(const JacobiSVD<MatrixType, ColPivHouseholderQRPreconditioner>& svd)
-  {
-    if (svd.rows() != m_qr.rows() || svd.cols() != m_qr.cols())
-    {
-      m_qr.~QRType();
-      ::new (&m_qr) QRType(svd.rows(), svd.cols());
-    }
-    if (svd.m_computeFullU) m_workspace.resize(svd.rows());
-    else if (svd.m_computeThinU) m_workspace.resize(svd.cols());
-  }
-
-  bool run(JacobiSVD<MatrixType, ColPivHouseholderQRPreconditioner>& svd, const MatrixType& matrix)
-  {
-    if(matrix.rows() > matrix.cols())
-    {
-      m_qr.compute(matrix);
-      svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.cols(),matrix.cols()).template triangularView<Upper>();
-      if(svd.m_computeFullU) m_qr.householderQ().evalTo(svd.m_matrixU, m_workspace);
-      else if(svd.m_computeThinU)
-      {
-        svd.m_matrixU.setIdentity(matrix.rows(), matrix.cols());
-        m_qr.householderQ().applyThisOnTheLeft(svd.m_matrixU, m_workspace);
-      }
-      if(svd.computeV()) svd.m_matrixV = m_qr.colsPermutation();
-      return true;
-    }
-    return false;
-  }
-
-private:
-  typedef ColPivHouseholderQR<MatrixType> QRType;
-  QRType m_qr;
-  typename internal::plain_col_type<MatrixType>::type m_workspace;
-};
-
-template<typename MatrixType>
-class qr_preconditioner_impl<MatrixType, ColPivHouseholderQRPreconditioner, PreconditionIfMoreColsThanRows, true>
-{
-public:
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::Scalar Scalar;
-  enum
-  {
-    RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-    ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-    MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime,
-    Options = MatrixType::Options
-  };
-
-  typedef Matrix<Scalar, ColsAtCompileTime, RowsAtCompileTime, Options, MaxColsAtCompileTime, MaxRowsAtCompileTime>
-          TransposeTypeWithSameStorageOrder;
-
-  void allocate(const JacobiSVD<MatrixType, ColPivHouseholderQRPreconditioner>& svd)
-  {
-    if (svd.cols() != m_qr.rows() || svd.rows() != m_qr.cols())
-    {
-      m_qr.~QRType();
-      ::new (&m_qr) QRType(svd.cols(), svd.rows());
-    }
-    if (svd.m_computeFullV) m_workspace.resize(svd.cols());
-    else if (svd.m_computeThinV) m_workspace.resize(svd.rows());
-    m_adjoint.resize(svd.cols(), svd.rows());
-  }
-
-  bool run(JacobiSVD<MatrixType, ColPivHouseholderQRPreconditioner>& svd, const MatrixType& matrix)
-  {
-    if(matrix.cols() > matrix.rows())
-    {
-      m_adjoint = matrix.adjoint();
-      m_qr.compute(m_adjoint);
-
-      svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.rows(),matrix.rows()).template triangularView<Upper>().adjoint();
-      if(svd.m_computeFullV) m_qr.householderQ().evalTo(svd.m_matrixV, m_workspace);
-      else if(svd.m_computeThinV)
-      {
-        svd.m_matrixV.setIdentity(matrix.cols(), matrix.rows());
-        m_qr.householderQ().applyThisOnTheLeft(svd.m_matrixV, m_workspace);
-      }
-      if(svd.computeU()) svd.m_matrixU = m_qr.colsPermutation();
-      return true;
-    }
-    else return false;
-  }
-
-private:
-  typedef ColPivHouseholderQR<TransposeTypeWithSameStorageOrder> QRType;
-  QRType m_qr;
-  TransposeTypeWithSameStorageOrder m_adjoint;
-  typename internal::plain_row_type<MatrixType>::type m_workspace;
-};
-
-/*** preconditioner using HouseholderQR ***/
-
-template<typename MatrixType>
-class qr_preconditioner_impl<MatrixType, HouseholderQRPreconditioner, PreconditionIfMoreRowsThanCols, true>
-{
-public:
-  typedef typename MatrixType::Index Index;
-
-  void allocate(const JacobiSVD<MatrixType, HouseholderQRPreconditioner>& svd)
-  {
-    if (svd.rows() != m_qr.rows() || svd.cols() != m_qr.cols())
-    {
-      m_qr.~QRType();
-      ::new (&m_qr) QRType(svd.rows(), svd.cols());
-    }
-    if (svd.m_computeFullU) m_workspace.resize(svd.rows());
-    else if (svd.m_computeThinU) m_workspace.resize(svd.cols());
-  }
-
-  bool run(JacobiSVD<MatrixType, HouseholderQRPreconditioner>& svd, const MatrixType& matrix)
-  {
-    if(matrix.rows() > matrix.cols())
-    {
-      m_qr.compute(matrix);
-      svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.cols(),matrix.cols()).template triangularView<Upper>();
-      if(svd.m_computeFullU) m_qr.householderQ().evalTo(svd.m_matrixU, m_workspace);
-      else if(svd.m_computeThinU)
-      {
-        svd.m_matrixU.setIdentity(matrix.rows(), matrix.cols());
-        m_qr.householderQ().applyThisOnTheLeft(svd.m_matrixU, m_workspace);
-      }
-      if(svd.computeV()) svd.m_matrixV.setIdentity(matrix.cols(), matrix.cols());
-      return true;
-    }
-    return false;
-  }
-private:
-  typedef HouseholderQR<MatrixType> QRType;
-  QRType m_qr;
-  typename internal::plain_col_type<MatrixType>::type m_workspace;
-};
-
-template<typename MatrixType>
-class qr_preconditioner_impl<MatrixType, HouseholderQRPreconditioner, PreconditionIfMoreColsThanRows, true>
-{
-public:
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::Scalar Scalar;
-  enum
-  {
-    RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-    ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-    MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime,
-    Options = MatrixType::Options
-  };
-
-  typedef Matrix<Scalar, ColsAtCompileTime, RowsAtCompileTime, Options, MaxColsAtCompileTime, MaxRowsAtCompileTime>
-          TransposeTypeWithSameStorageOrder;
-
-  void allocate(const JacobiSVD<MatrixType, HouseholderQRPreconditioner>& svd)
-  {
-    if (svd.cols() != m_qr.rows() || svd.rows() != m_qr.cols())
-    {
-      m_qr.~QRType();
-      ::new (&m_qr) QRType(svd.cols(), svd.rows());
-    }
-    if (svd.m_computeFullV) m_workspace.resize(svd.cols());
-    else if (svd.m_computeThinV) m_workspace.resize(svd.rows());
-    m_adjoint.resize(svd.cols(), svd.rows());
-  }
-
-  bool run(JacobiSVD<MatrixType, HouseholderQRPreconditioner>& svd, const MatrixType& matrix)
-  {
-    if(matrix.cols() > matrix.rows())
-    {
-      m_adjoint = matrix.adjoint();
-      m_qr.compute(m_adjoint);
-
-      svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.rows(),matrix.rows()).template triangularView<Upper>().adjoint();
-      if(svd.m_computeFullV) m_qr.householderQ().evalTo(svd.m_matrixV, m_workspace);
-      else if(svd.m_computeThinV)
-      {
-        svd.m_matrixV.setIdentity(matrix.cols(), matrix.rows());
-        m_qr.householderQ().applyThisOnTheLeft(svd.m_matrixV, m_workspace);
-      }
-      if(svd.computeU()) svd.m_matrixU.setIdentity(matrix.rows(), matrix.rows());
-      return true;
-    }
-    else return false;
-  }
-
-private:
-  typedef HouseholderQR<TransposeTypeWithSameStorageOrder> QRType;
-  QRType m_qr;
-  TransposeTypeWithSameStorageOrder m_adjoint;
-  typename internal::plain_row_type<MatrixType>::type m_workspace;
-};
-
-/*** 2x2 SVD implementation
- ***
- *** JacobiSVD consists in performing a series of 2x2 SVD subproblems
- ***/
-
-template<typename MatrixType, int QRPreconditioner>
-struct svd_precondition_2x2_block_to_be_real<MatrixType, QRPreconditioner, false>
-{
-  typedef JacobiSVD<MatrixType, QRPreconditioner> SVD;
-  typedef typename SVD::Index Index;
-  static void run(typename SVD::WorkMatrixType&, SVD&, Index, Index) {}
-};
-
-template<typename MatrixType, int QRPreconditioner>
-struct svd_precondition_2x2_block_to_be_real<MatrixType, QRPreconditioner, true>
-{
-  typedef JacobiSVD<MatrixType, QRPreconditioner> SVD;
-  typedef typename MatrixType::Scalar Scalar;
-  typedef typename MatrixType::RealScalar RealScalar;
-  typedef typename SVD::Index Index;
-  static void run(typename SVD::WorkMatrixType& work_matrix, SVD& svd, Index p, Index q)
-  {
-    using std::sqrt;
-    Scalar z;
-    JacobiRotation<Scalar> rot;
-    RealScalar n = sqrt(numext::abs2(work_matrix.coeff(p,p)) + numext::abs2(work_matrix.coeff(q,p)));
-    
-    if(n==0)
-    {
-      z = abs(work_matrix.coeff(p,q)) / work_matrix.coeff(p,q);
-      work_matrix.row(p) *= z;
-      if(svd.computeU()) svd.m_matrixU.col(p) *= conj(z);
-      if(work_matrix.coeff(q,q)!=Scalar(0))
-      {
-        z = abs(work_matrix.coeff(q,q)) / work_matrix.coeff(q,q);
-        work_matrix.row(q) *= z;
-        if(svd.computeU()) svd.m_matrixU.col(q) *= conj(z);
-      }
-      // otherwise the second row is already zero, so we have nothing to do.
-    }
-    else
-    {
-      rot.c() = conj(work_matrix.coeff(p,p)) / n;
-      rot.s() = work_matrix.coeff(q,p) / n;
-      work_matrix.applyOnTheLeft(p,q,rot);
-      if(svd.computeU()) svd.m_matrixU.applyOnTheRight(p,q,rot.adjoint());
-      if(work_matrix.coeff(p,q) != Scalar(0))
-      {
-        Scalar z = abs(work_matrix.coeff(p,q)) / work_matrix.coeff(p,q);
-        work_matrix.col(q) *= z;
-        if(svd.computeV()) svd.m_matrixV.col(q) *= z;
-      }
-      if(work_matrix.coeff(q,q) != Scalar(0))
-      {
-        z = abs(work_matrix.coeff(q,q)) / work_matrix.coeff(q,q);
-        work_matrix.row(q) *= z;
-        if(svd.computeU()) svd.m_matrixU.col(q) *= conj(z);
-      }
-    }
-  }
-};
-
-template<typename MatrixType, typename RealScalar, typename Index>
-void real_2x2_jacobi_svd(const MatrixType& matrix, Index p, Index q,
-                            JacobiRotation<RealScalar> *j_left,
-                            JacobiRotation<RealScalar> *j_right)
-{
-  using std::sqrt;
-  using std::abs;
-  Matrix<RealScalar,2,2> m;
-  m << numext::real(matrix.coeff(p,p)), numext::real(matrix.coeff(p,q)),
-       numext::real(matrix.coeff(q,p)), numext::real(matrix.coeff(q,q));
-  JacobiRotation<RealScalar> rot1;
-  RealScalar t = m.coeff(0,0) + m.coeff(1,1);
-  RealScalar d = m.coeff(1,0) - m.coeff(0,1);
-  if(t == RealScalar(0))
-  {
-    rot1.c() = RealScalar(0);
-    rot1.s() = d > RealScalar(0) ? RealScalar(1) : RealScalar(-1);
-  }
-  else
-  {
-    RealScalar t2d2 = numext::hypot(t,d);
-    rot1.c() = abs(t)/t2d2;
-    rot1.s() = d/t2d2;
-    if(t<RealScalar(0))
-      rot1.s() = -rot1.s();
-  }
-  m.applyOnTheLeft(0,1,rot1);
-  j_right->makeJacobi(m,0,1);
-  *j_left  = rot1 * j_right->transpose();
-}
-
-} // end namespace internal
-
-/** \ingroup SVD_Module
-  *
-  *
-  * \class JacobiSVD
-  *
-  * \brief Two-sided Jacobi SVD decomposition of a rectangular matrix
-  *
-  * \param MatrixType the type of the matrix of which we are computing the SVD decomposition
-  * \param QRPreconditioner this optional parameter allows to specify the type of QR decomposition that will be used internally
-  *                        for the R-SVD step for non-square matrices. See discussion of possible values below.
-  *
-  * SVD decomposition consists in decomposing any n-by-p matrix \a A as a product
-  *   \f[ A = U S V^* \f]
-  * where \a U is a n-by-n unitary, \a V is a p-by-p unitary, and \a S is a n-by-p real positive matrix which is zero outside of its main diagonal;
-  * the diagonal entries of S are known as the \em singular \em values of \a A and the columns of \a U and \a V are known as the left
-  * and right \em singular \em vectors of \a A respectively.
-  *
-  * Singular values are always sorted in decreasing order.
-  *
-  * This JacobiSVD decomposition computes only the singular values by default. If you want \a U or \a V, you need to ask for them explicitly.
-  *
-  * You can ask for only \em thin \a U or \a V to be computed, meaning the following. In case of a rectangular n-by-p matrix, letting \a m be the
-  * smaller value among \a n and \a p, there are only \a m singular vectors; the remaining columns of \a U and \a V do not correspond to actual
-  * singular vectors. Asking for \em thin \a U or \a V means asking for only their \a m first columns to be formed. So \a U is then a n-by-m matrix,
-  * and \a V is then a p-by-m matrix. Notice that thin \a U and \a V are all you need for (least squares) solving.
-  *
-  * Here's an example demonstrating basic usage:
-  * \include JacobiSVD_basic.cpp
-  * Output: \verbinclude JacobiSVD_basic.out
-  *
-  * This JacobiSVD class is a two-sided Jacobi R-SVD decomposition, ensuring optimal reliability and accuracy. The downside is that it's slower than
-  * bidiagonalizing SVD algorithms for large square matrices; however its complexity is still \f$ O(n^2p) \f$ where \a n is the smaller dimension and
-  * \a p is the greater dimension, meaning that it is still of the same order of complexity as the faster bidiagonalizing R-SVD algorithms.
-  * In particular, like any R-SVD, it takes advantage of non-squareness in that its complexity is only linear in the greater dimension.
-  *
-  * If the input matrix has inf or nan coefficients, the result of the computation is undefined, but the computation is guaranteed to
-  * terminate in finite (and reasonable) time.
-  *
-  * The possible values for QRPreconditioner are:
-  * \li ColPivHouseholderQRPreconditioner is the default. In practice it's very safe. It uses column-pivoting QR.
-  * \li FullPivHouseholderQRPreconditioner, is the safest and slowest. It uses full-pivoting QR.
-  *     Contrary to other QRs, it doesn't allow computing thin unitaries.
-  * \li HouseholderQRPreconditioner is the fastest, and less safe and accurate than the pivoting variants. It uses non-pivoting QR.
-  *     This is very similar in safety and accuracy to the bidiagonalization process used by bidiagonalizing SVD algorithms (since bidiagonalization
-  *     is inherently non-pivoting). However the resulting SVD is still more reliable than bidiagonalizing SVDs because the Jacobi-based iterarive
-  *     process is more reliable than the optimized bidiagonal SVD iterations.
-  * \li NoQRPreconditioner allows not to use a QR preconditioner at all. This is useful if you know that you will only be computing
-  *     JacobiSVD decompositions of square matrices. Non-square matrices require a QR preconditioner. Using this option will result in
-  *     faster compilation and smaller executable code. It won't significantly speed up computation, since JacobiSVD is always checking
-  *     if QR preconditioning is needed before applying it anyway.
-  *
-  * \sa MatrixBase::jacobiSvd()
-  */
-template<typename _MatrixType, int QRPreconditioner> class JacobiSVD
-{
-  public:
-
-    typedef _MatrixType MatrixType;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
-    typedef typename MatrixType::Index Index;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      DiagSizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_DYNAMIC(RowsAtCompileTime,ColsAtCompileTime),
-      MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
-      MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime,
-      MaxDiagSizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_FIXED(MaxRowsAtCompileTime,MaxColsAtCompileTime),
-      MatrixOptions = MatrixType::Options
-    };
-
-    typedef Matrix<Scalar, RowsAtCompileTime, RowsAtCompileTime,
-                   MatrixOptions, MaxRowsAtCompileTime, MaxRowsAtCompileTime>
-            MatrixUType;
-    typedef Matrix<Scalar, ColsAtCompileTime, ColsAtCompileTime,
-                   MatrixOptions, MaxColsAtCompileTime, MaxColsAtCompileTime>
-            MatrixVType;
-    typedef typename internal::plain_diag_type<MatrixType, RealScalar>::type SingularValuesType;
-    typedef typename internal::plain_row_type<MatrixType>::type RowType;
-    typedef typename internal::plain_col_type<MatrixType>::type ColType;
-    typedef Matrix<Scalar, DiagSizeAtCompileTime, DiagSizeAtCompileTime,
-                   MatrixOptions, MaxDiagSizeAtCompileTime, MaxDiagSizeAtCompileTime>
-            WorkMatrixType;
-
-    /** \brief Default Constructor.
-      *
-      * The default constructor is useful in cases in which the user intends to
-      * perform decompositions via JacobiSVD::compute(const MatrixType&).
-      */
-    JacobiSVD()
-      : m_isInitialized(false),
-        m_isAllocated(false),
-        m_usePrescribedThreshold(false),
-        m_computationOptions(0),
-        m_rows(-1), m_cols(-1), m_diagSize(0)
-    {}
-
-
-    /** \brief Default Constructor with memory preallocation
-      *
-      * Like the default constructor but with preallocation of the internal data
-      * according to the specified problem size.
-      * \sa JacobiSVD()
-      */
-    JacobiSVD(Index rows, Index cols, unsigned int computationOptions = 0)
-      : m_isInitialized(false),
-        m_isAllocated(false),
-        m_usePrescribedThreshold(false),
-        m_computationOptions(0),
-        m_rows(-1), m_cols(-1)
-    {
-      allocate(rows, cols, computationOptions);
-    }
-
-    /** \brief Constructor performing the decomposition of given matrix.
-     *
-     * \param matrix the matrix to decompose
-     * \param computationOptions optional parameter allowing to specify if you want full or thin U or V unitaries to be computed.
-     *                           By default, none is computed. This is a bit-field, the possible bits are #ComputeFullU, #ComputeThinU,
-     *                           #ComputeFullV, #ComputeThinV.
-     *
-     * Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not
-     * available with the (non-default) FullPivHouseholderQR preconditioner.
-     */
-    JacobiSVD(const MatrixType& matrix, unsigned int computationOptions = 0)
-      : m_isInitialized(false),
-        m_isAllocated(false),
-        m_usePrescribedThreshold(false),
-        m_computationOptions(0),
-        m_rows(-1), m_cols(-1)
-    {
-      compute(matrix, computationOptions);
-    }
-
-    /** \brief Method performing the decomposition of given matrix using custom options.
-     *
-     * \param matrix the matrix to decompose
-     * \param computationOptions optional parameter allowing to specify if you want full or thin U or V unitaries to be computed.
-     *                           By default, none is computed. This is a bit-field, the possible bits are #ComputeFullU, #ComputeThinU,
-     *                           #ComputeFullV, #ComputeThinV.
-     *
-     * Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not
-     * available with the (non-default) FullPivHouseholderQR preconditioner.
-     */
-    JacobiSVD& compute(const MatrixType& matrix, unsigned int computationOptions);
-
-    /** \brief Method performing the decomposition of given matrix using current options.
-     *
-     * \param matrix the matrix to decompose
-     *
-     * This method uses the current \a computationOptions, as already passed to the constructor or to compute(const MatrixType&, unsigned int).
-     */
-    JacobiSVD& compute(const MatrixType& matrix)
-    {
-      return compute(matrix, m_computationOptions);
-    }
-
-    /** \returns the \a U matrix.
-     *
-     * For the SVD decomposition of a n-by-p matrix, letting \a m be the minimum of \a n and \a p,
-     * the U matrix is n-by-n if you asked for #ComputeFullU, and is n-by-m if you asked for #ComputeThinU.
-     *
-     * The \a m first columns of \a U are the left singular vectors of the matrix being decomposed.
-     *
-     * This method asserts that you asked for \a U to be computed.
-     */
-    const MatrixUType& matrixU() const
-    {
-      eigen_assert(m_isInitialized && "JacobiSVD is not initialized.");
-      eigen_assert(computeU() && "This JacobiSVD decomposition didn't compute U. Did you ask for it?");
-      return m_matrixU;
-    }
-
-    /** \returns the \a V matrix.
-     *
-     * For the SVD decomposition of a n-by-p matrix, letting \a m be the minimum of \a n and \a p,
-     * the V matrix is p-by-p if you asked for #ComputeFullV, and is p-by-m if you asked for ComputeThinV.
-     *
-     * The \a m first columns of \a V are the right singular vectors of the matrix being decomposed.
-     *
-     * This method asserts that you asked for \a V to be computed.
-     */
-    const MatrixVType& matrixV() const
-    {
-      eigen_assert(m_isInitialized && "JacobiSVD is not initialized.");
-      eigen_assert(computeV() && "This JacobiSVD decomposition didn't compute V. Did you ask for it?");
-      return m_matrixV;
-    }
-
-    /** \returns the vector of singular values.
-     *
-     * For the SVD decomposition of a n-by-p matrix, letting \a m be the minimum of \a n and \a p, the
-     * returned vector has size \a m.  Singular values are always sorted in decreasing order.
-     */
-    const SingularValuesType& singularValues() const
-    {
-      eigen_assert(m_isInitialized && "JacobiSVD is not initialized.");
-      return m_singularValues;
-    }
-
-    /** \returns true if \a U (full or thin) is asked for in this SVD decomposition */
-    inline bool computeU() const { return m_computeFullU || m_computeThinU; }
-    /** \returns true if \a V (full or thin) is asked for in this SVD decomposition */
-    inline bool computeV() const { return m_computeFullV || m_computeThinV; }
-
-    /** \returns a (least squares) solution of \f$ A x = b \f$ using the current SVD decomposition of A.
-      *
-      * \param b the right-hand-side of the equation to solve.
-      *
-      * \note Solving requires both U and V to be computed. Thin U and V are enough, there is no need for full U or V.
-      *
-      * \note SVD solving is implicitly least-squares. Thus, this method serves both purposes of exact solving and least-squares solving.
-      * In other words, the returned solution is guaranteed to minimize the Euclidean norm \f$ \Vert A x - b \Vert \f$.
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<JacobiSVD, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "JacobiSVD is not initialized.");
-      eigen_assert(computeU() && computeV() && "JacobiSVD::solve() requires both unitaries U and V to be computed (thin unitaries suffice).");
-      return internal::solve_retval<JacobiSVD, Rhs>(*this, b.derived());
-    }
-
-    /** \returns the number of singular values that are not exactly 0 */
-    Index nonzeroSingularValues() const
-    {
-      eigen_assert(m_isInitialized && "JacobiSVD is not initialized.");
-      return m_nonzeroSingularValues;
-    }
-    
-    /** \returns the rank of the matrix of which \c *this is the SVD.
-      *
-      * \note This method has to determine which singular values should be considered nonzero.
-      *       For that, it uses the threshold value that you can control by calling
-      *       setThreshold(const RealScalar&).
-      */
-    inline Index rank() const
-    {
-      using std::abs;
-      eigen_assert(m_isInitialized && "JacobiSVD is not initialized.");
-      if(m_singularValues.size()==0) return 0;
-      RealScalar premultiplied_threshold = m_singularValues.coeff(0) * threshold();
-      Index i = m_nonzeroSingularValues-1;
-      while(i>=0 && m_singularValues.coeff(i) < premultiplied_threshold) --i;
-      return i+1;
-    }
-    
-    /** Allows to prescribe a threshold to be used by certain methods, such as rank() and solve(),
-      * which need to determine when singular values are to be considered nonzero.
-      * This is not used for the SVD decomposition itself.
-      *
-      * When it needs to get the threshold value, Eigen calls threshold().
-      * The default is \c NumTraits<Scalar>::epsilon()
-      *
-      * \param threshold The new value to use as the threshold.
-      *
-      * A singular value will be considered nonzero if its value is strictly greater than
-      *  \f$ \vert singular value \vert \leqslant threshold \times \vert max singular value \vert \f$.
-      *
-      * If you want to come back to the default behavior, call setThreshold(Default_t)
-      */
-    JacobiSVD& setThreshold(const RealScalar& threshold)
-    {
-      m_usePrescribedThreshold = true;
-      m_prescribedThreshold = threshold;
-      return *this;
-    }
-
-    /** Allows to come back to the default behavior, letting Eigen use its default formula for
-      * determining the threshold.
-      *
-      * You should pass the special object Eigen::Default as parameter here.
-      * \code svd.setThreshold(Eigen::Default); \endcode
-      *
-      * See the documentation of setThreshold(const RealScalar&).
-      */
-    JacobiSVD& setThreshold(Default_t)
-    {
-      m_usePrescribedThreshold = false;
-      return *this;
-    }
-
-    /** Returns the threshold that will be used by certain methods such as rank().
-      *
-      * See the documentation of setThreshold(const RealScalar&).
-      */
-    RealScalar threshold() const
-    {
-      eigen_assert(m_isInitialized || m_usePrescribedThreshold);
-      return m_usePrescribedThreshold ? m_prescribedThreshold
-                                      : (std::max<Index>)(1,m_diagSize)*NumTraits<Scalar>::epsilon();
-    }
-
-    inline Index rows() const { return m_rows; }
-    inline Index cols() const { return m_cols; }
-
-  private:
-    void allocate(Index rows, Index cols, unsigned int computationOptions);
-    
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
-    }
-
-  protected:
-    MatrixUType m_matrixU;
-    MatrixVType m_matrixV;
-    SingularValuesType m_singularValues;
-    WorkMatrixType m_workMatrix;
-    bool m_isInitialized, m_isAllocated, m_usePrescribedThreshold;
-    bool m_computeFullU, m_computeThinU;
-    bool m_computeFullV, m_computeThinV;
-    unsigned int m_computationOptions;
-    Index m_nonzeroSingularValues, m_rows, m_cols, m_diagSize;
-    RealScalar m_prescribedThreshold;
-
-    template<typename __MatrixType, int _QRPreconditioner, bool _IsComplex>
-    friend struct internal::svd_precondition_2x2_block_to_be_real;
-    template<typename __MatrixType, int _QRPreconditioner, int _Case, bool _DoAnything>
-    friend struct internal::qr_preconditioner_impl;
-
-    internal::qr_preconditioner_impl<MatrixType, QRPreconditioner, internal::PreconditionIfMoreColsThanRows> m_qr_precond_morecols;
-    internal::qr_preconditioner_impl<MatrixType, QRPreconditioner, internal::PreconditionIfMoreRowsThanCols> m_qr_precond_morerows;
-    MatrixType m_scaledMatrix;
-};
-
-template<typename MatrixType, int QRPreconditioner>
-void JacobiSVD<MatrixType, QRPreconditioner>::allocate(Index rows, Index cols, unsigned int computationOptions)
-{
-  eigen_assert(rows >= 0 && cols >= 0);
-
-  if (m_isAllocated &&
-      rows == m_rows &&
-      cols == m_cols &&
-      computationOptions == m_computationOptions)
-  {
-    return;
-  }
-
-  m_rows = rows;
-  m_cols = cols;
-  m_isInitialized = false;
-  m_isAllocated = true;
-  m_computationOptions = computationOptions;
-  m_computeFullU = (computationOptions & ComputeFullU) != 0;
-  m_computeThinU = (computationOptions & ComputeThinU) != 0;
-  m_computeFullV = (computationOptions & ComputeFullV) != 0;
-  m_computeThinV = (computationOptions & ComputeThinV) != 0;
-  eigen_assert(!(m_computeFullU && m_computeThinU) && "JacobiSVD: you can't ask for both full and thin U");
-  eigen_assert(!(m_computeFullV && m_computeThinV) && "JacobiSVD: you can't ask for both full and thin V");
-  eigen_assert(EIGEN_IMPLIES(m_computeThinU || m_computeThinV, MatrixType::ColsAtCompileTime==Dynamic) &&
-              "JacobiSVD: thin U and V are only available when your matrix has a dynamic number of columns.");
-  if (QRPreconditioner == FullPivHouseholderQRPreconditioner)
-  {
-      eigen_assert(!(m_computeThinU || m_computeThinV) &&
-              "JacobiSVD: can't compute thin U or thin V with the FullPivHouseholderQR preconditioner. "
-              "Use the ColPivHouseholderQR preconditioner instead.");
-  }
-  m_diagSize = (std::min)(m_rows, m_cols);
-  m_singularValues.resize(m_diagSize);
-  if(RowsAtCompileTime==Dynamic)
-    m_matrixU.resize(m_rows, m_computeFullU ? m_rows
-                            : m_computeThinU ? m_diagSize
-                            : 0);
-  if(ColsAtCompileTime==Dynamic)
-    m_matrixV.resize(m_cols, m_computeFullV ? m_cols
-                            : m_computeThinV ? m_diagSize
-                            : 0);
-  m_workMatrix.resize(m_diagSize, m_diagSize);
-  
-  if(m_cols>m_rows)   m_qr_precond_morecols.allocate(*this);
-  if(m_rows>m_cols)   m_qr_precond_morerows.allocate(*this);
-  if(m_rows!=m_cols)  m_scaledMatrix.resize(rows,cols);
-}
-
-template<typename MatrixType, int QRPreconditioner>
-JacobiSVD<MatrixType, QRPreconditioner>&
-JacobiSVD<MatrixType, QRPreconditioner>::compute(const MatrixType& matrix, unsigned int computationOptions)
-{
-  check_template_parameters();
-  
-  using std::abs;
-  allocate(matrix.rows(), matrix.cols(), computationOptions);
-
-  // currently we stop when we reach precision 2*epsilon as the last bit of precision can require an unreasonable number of iterations,
-  // only worsening the precision of U and V as we accumulate more rotations
-  const RealScalar precision = RealScalar(2) * NumTraits<Scalar>::epsilon();
-
-  // limit for very small denormal numbers to be considered zero in order to avoid infinite loops (see bug 286)
-  const RealScalar considerAsZero = RealScalar(2) * std::numeric_limits<RealScalar>::denorm_min();
-
-  // Scaling factor to reduce over/under-flows
-  RealScalar scale = matrix.cwiseAbs().maxCoeff();
-  if(scale==RealScalar(0)) scale = RealScalar(1);
-  
-  /*** step 1. The R-SVD step: we use a QR decomposition to reduce to the case of a square matrix */
-
-  if(m_rows!=m_cols)
-  {
-    m_scaledMatrix = matrix / scale;
-    m_qr_precond_morecols.run(*this, m_scaledMatrix);
-    m_qr_precond_morerows.run(*this, m_scaledMatrix);
-  }
-  else
-  {
-    m_workMatrix = matrix.block(0,0,m_diagSize,m_diagSize) / scale;
-    if(m_computeFullU) m_matrixU.setIdentity(m_rows,m_rows);
-    if(m_computeThinU) m_matrixU.setIdentity(m_rows,m_diagSize);
-    if(m_computeFullV) m_matrixV.setIdentity(m_cols,m_cols);
-    if(m_computeThinV) m_matrixV.setIdentity(m_cols, m_diagSize);
-  }
-
-  /*** step 2. The main Jacobi SVD iteration. ***/
-
-  bool finished = false;
-  while(!finished)
-  {
-    finished = true;
-
-    // do a sweep: for all index pairs (p,q), perform SVD of the corresponding 2x2 sub-matrix
-
-    for(Index p = 1; p < m_diagSize; ++p)
-    {
-      for(Index q = 0; q < p; ++q)
-      {
-        // if this 2x2 sub-matrix is not diagonal already...
-        // notice that this comparison will evaluate to false if any NaN is involved, ensuring that NaN's don't
-        // keep us iterating forever. Similarly, small denormal numbers are considered zero.
-        using std::max;
-        RealScalar threshold = (max)(considerAsZero, precision * (max)(abs(m_workMatrix.coeff(p,p)),
-                                                                       abs(m_workMatrix.coeff(q,q))));
-        // We compare both values to threshold instead of calling max to be robust to NaN (See bug 791)
-        if(abs(m_workMatrix.coeff(p,q))>threshold || abs(m_workMatrix.coeff(q,p)) > threshold)
-        {
-          finished = false;
-
-          // perform SVD decomposition of 2x2 sub-matrix corresponding to indices p,q to make it diagonal
-          internal::svd_precondition_2x2_block_to_be_real<MatrixType, QRPreconditioner>::run(m_workMatrix, *this, p, q);
-          JacobiRotation<RealScalar> j_left, j_right;
-          internal::real_2x2_jacobi_svd(m_workMatrix, p, q, &j_left, &j_right);
-
-          // accumulate resulting Jacobi rotations
-          m_workMatrix.applyOnTheLeft(p,q,j_left);
-          if(computeU()) m_matrixU.applyOnTheRight(p,q,j_left.transpose());
-
-          m_workMatrix.applyOnTheRight(p,q,j_right);
-          if(computeV()) m_matrixV.applyOnTheRight(p,q,j_right);
-        }
-      }
-    }
-  }
-
-  /*** step 3. The work matrix is now diagonal, so ensure it's positive so its diagonal entries are the singular values ***/
-
-  for(Index i = 0; i < m_diagSize; ++i)
-  {
-    RealScalar a = abs(m_workMatrix.coeff(i,i));
-    m_singularValues.coeffRef(i) = a;
-    if(computeU() && (a!=RealScalar(0))) m_matrixU.col(i) *= m_workMatrix.coeff(i,i)/a;
-  }
-
-  /*** step 4. Sort singular values in descending order and compute the number of nonzero singular values ***/
-
-  m_nonzeroSingularValues = m_diagSize;
-  for(Index i = 0; i < m_diagSize; i++)
-  {
-    Index pos;
-    RealScalar maxRemainingSingularValue = m_singularValues.tail(m_diagSize-i).maxCoeff(&pos);
-    if(maxRemainingSingularValue == RealScalar(0))
-    {
-      m_nonzeroSingularValues = i;
-      break;
-    }
-    if(pos)
-    {
-      pos += i;
-      std::swap(m_singularValues.coeffRef(i), m_singularValues.coeffRef(pos));
-      if(computeU()) m_matrixU.col(pos).swap(m_matrixU.col(i));
-      if(computeV()) m_matrixV.col(pos).swap(m_matrixV.col(i));
-    }
-  }
-  
-  m_singularValues *= scale;
-
-  m_isInitialized = true;
-  return *this;
-}
-
-namespace internal {
-template<typename _MatrixType, int QRPreconditioner, typename Rhs>
-struct solve_retval<JacobiSVD<_MatrixType, QRPreconditioner>, Rhs>
-  : solve_retval_base<JacobiSVD<_MatrixType, QRPreconditioner>, Rhs>
-{
-  typedef JacobiSVD<_MatrixType, QRPreconditioner> JacobiSVDType;
-  EIGEN_MAKE_SOLVE_HELPERS(JacobiSVDType,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    eigen_assert(rhs().rows() == dec().rows());
-
-    // A = U S V^*
-    // So A^{-1} = V S^{-1} U^*
-
-    Matrix<Scalar, Dynamic, Rhs::ColsAtCompileTime, 0, _MatrixType::MaxRowsAtCompileTime, Rhs::MaxColsAtCompileTime> tmp;
-    Index rank = dec().rank();
-    
-    tmp.noalias() = dec().matrixU().leftCols(rank).adjoint() * rhs();
-    tmp = dec().singularValues().head(rank).asDiagonal().inverse() * tmp;
-    dst = dec().matrixV().leftCols(rank) * tmp;
-  }
-};
-} // end namespace internal
-
-/** \svd_module
-  *
-  * \return the singular value decomposition of \c *this computed by two-sided
-  * Jacobi transformations.
-  *
-  * \sa class JacobiSVD
-  */
-template<typename Derived>
-JacobiSVD<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::jacobiSvd(unsigned int computationOptions) const
-{
-  return JacobiSVD<PlainObject>(*this, computationOptions);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_JACOBISVD_H
diff --git a/lib/Eigen/src/SVD/JacobiSVD_MKL.h b/lib/Eigen/src/SVD/JacobiSVD_MKL.h
deleted file mode 100644
index 14e461c4..00000000
--- a/lib/Eigen/src/SVD/JacobiSVD_MKL.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- ********************************************************************************
- *   Content : Eigen bindings to Intel(R) MKL
- *    Singular Value Decomposition - SVD.
- ********************************************************************************
-*/
-
-#ifndef EIGEN_JACOBISVD_MKL_H
-#define EIGEN_JACOBISVD_MKL_H
-
-#include "Eigen/src/Core/util/MKL_support.h"
-
-namespace Eigen { 
-
-/** \internal Specialization for the data types supported by MKL */
-
-#define EIGEN_MKL_SVD(EIGTYPE, MKLTYPE, MKLRTYPE, MKLPREFIX, EIGCOLROW, MKLCOLROW) \
-template<> inline \
-JacobiSVD<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic>, ColPivHouseholderQRPreconditioner>& \
-JacobiSVD<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic>, ColPivHouseholderQRPreconditioner>::compute(const Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic>& matrix, unsigned int computationOptions) \
-{ \
-  typedef Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic> MatrixType; \
-  /*typedef MatrixType::Scalar Scalar;*/ \
-  /*typedef MatrixType::RealScalar RealScalar;*/ \
-  allocate(matrix.rows(), matrix.cols(), computationOptions); \
-\
-  /*const RealScalar precision = RealScalar(2) * NumTraits<Scalar>::epsilon();*/ \
-  m_nonzeroSingularValues = m_diagSize; \
-\
-  lapack_int lda = matrix.outerStride(), ldu, ldvt; \
-  lapack_int matrix_order = MKLCOLROW; \
-  char jobu, jobvt; \
-  MKLTYPE *u, *vt, dummy; \
-  jobu  = (m_computeFullU) ? 'A' : (m_computeThinU) ? 'S' : 'N'; \
-  jobvt = (m_computeFullV) ? 'A' : (m_computeThinV) ? 'S' : 'N'; \
-  if (computeU()) { \
-    ldu  = m_matrixU.outerStride(); \
-    u    = (MKLTYPE*)m_matrixU.data(); \
-  } else { ldu=1; u=&dummy; }\
-  MatrixType localV; \
-  ldvt = (m_computeFullV) ? m_cols : (m_computeThinV) ? m_diagSize : 1; \
-  if (computeV()) { \
-    localV.resize(ldvt, m_cols); \
-    vt   = (MKLTYPE*)localV.data(); \
-  } else { ldvt=1; vt=&dummy; }\
-  Matrix<MKLRTYPE, Dynamic, Dynamic> superb; superb.resize(m_diagSize, 1); \
-  MatrixType m_temp; m_temp = matrix; \
-  LAPACKE_##MKLPREFIX##gesvd( matrix_order, jobu, jobvt, m_rows, m_cols, (MKLTYPE*)m_temp.data(), lda, (MKLRTYPE*)m_singularValues.data(), u, ldu, vt, ldvt, superb.data()); \
-  if (computeV()) m_matrixV = localV.adjoint(); \
- /* for(int i=0;i<m_diagSize;i++) if (m_singularValues.coeffRef(i) < precision) { m_nonzeroSingularValues--; m_singularValues.coeffRef(i)=RealScalar(0);}*/ \
-  m_isInitialized = true; \
-  return *this; \
-}
-
-EIGEN_MKL_SVD(double,   double,        double, d, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_SVD(float,    float,         float , s, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_SVD(dcomplex, MKL_Complex16, double, z, ColMajor, LAPACK_COL_MAJOR)
-EIGEN_MKL_SVD(scomplex, MKL_Complex8,  float , c, ColMajor, LAPACK_COL_MAJOR)
-
-EIGEN_MKL_SVD(double,   double,        double, d, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_SVD(float,    float,         float , s, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_SVD(dcomplex, MKL_Complex16, double, z, RowMajor, LAPACK_ROW_MAJOR)
-EIGEN_MKL_SVD(scomplex, MKL_Complex8,  float , c, RowMajor, LAPACK_ROW_MAJOR)
-
-} // end namespace Eigen
-
-#endif // EIGEN_JACOBISVD_MKL_H
diff --git a/lib/Eigen/src/SVD/UpperBidiagonalization.h b/lib/Eigen/src/SVD/UpperBidiagonalization.h
deleted file mode 100644
index 587de37a..00000000
--- a/lib/Eigen/src/SVD/UpperBidiagonalization.h
+++ /dev/null
@@ -1,148 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_BIDIAGONALIZATION_H
-#define EIGEN_BIDIAGONALIZATION_H
-
-namespace Eigen { 
-
-namespace internal {
-// UpperBidiagonalization will probably be replaced by a Bidiagonalization class, don't want to make it stable API.
-// At the same time, it's useful to keep for now as it's about the only thing that is testing the BandMatrix class.
-
-template<typename _MatrixType> class UpperBidiagonalization
-{
-  public:
-
-    typedef _MatrixType MatrixType;
-    enum {
-      RowsAtCompileTime = MatrixType::RowsAtCompileTime,
-      ColsAtCompileTime = MatrixType::ColsAtCompileTime,
-      ColsAtCompileTimeMinusOne = internal::decrement_size<ColsAtCompileTime>::ret
-    };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef Matrix<Scalar, 1, ColsAtCompileTime> RowVectorType;
-    typedef Matrix<Scalar, RowsAtCompileTime, 1> ColVectorType;
-    typedef BandMatrix<RealScalar, ColsAtCompileTime, ColsAtCompileTime, 1, 0> BidiagonalType;
-    typedef Matrix<Scalar, ColsAtCompileTime, 1> DiagVectorType;
-    typedef Matrix<Scalar, ColsAtCompileTimeMinusOne, 1> SuperDiagVectorType;
-    typedef HouseholderSequence<
-              const MatrixType,
-              CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, const Diagonal<const MatrixType,0> >
-            > HouseholderUSequenceType;
-    typedef HouseholderSequence<
-              const typename internal::remove_all<typename MatrixType::ConjugateReturnType>::type,
-              Diagonal<const MatrixType,1>,
-              OnTheRight
-            > HouseholderVSequenceType;
-    
-    /**
-    * \brief Default Constructor.
-    *
-    * The default constructor is useful in cases in which the user intends to
-    * perform decompositions via Bidiagonalization::compute(const MatrixType&).
-    */
-    UpperBidiagonalization() : m_householder(), m_bidiagonal(), m_isInitialized(false) {}
-
-    UpperBidiagonalization(const MatrixType& matrix)
-      : m_householder(matrix.rows(), matrix.cols()),
-        m_bidiagonal(matrix.cols(), matrix.cols()),
-        m_isInitialized(false)
-    {
-      compute(matrix);
-    }
-    
-    UpperBidiagonalization& compute(const MatrixType& matrix);
-    
-    const MatrixType& householder() const { return m_householder; }
-    const BidiagonalType& bidiagonal() const { return m_bidiagonal; }
-    
-    const HouseholderUSequenceType householderU() const
-    {
-      eigen_assert(m_isInitialized && "UpperBidiagonalization is not initialized.");
-      return HouseholderUSequenceType(m_householder, m_householder.diagonal().conjugate());
-    }
-
-    const HouseholderVSequenceType householderV() // const here gives nasty errors and i'm lazy
-    {
-      eigen_assert(m_isInitialized && "UpperBidiagonalization is not initialized.");
-      return HouseholderVSequenceType(m_householder.conjugate(), m_householder.const_derived().template diagonal<1>())
-             .setLength(m_householder.cols()-1)
-             .setShift(1);
-    }
-    
-  protected:
-    MatrixType m_householder;
-    BidiagonalType m_bidiagonal;
-    bool m_isInitialized;
-};
-
-template<typename _MatrixType>
-UpperBidiagonalization<_MatrixType>& UpperBidiagonalization<_MatrixType>::compute(const _MatrixType& matrix)
-{
-  Index rows = matrix.rows();
-  Index cols = matrix.cols();
-  
-  eigen_assert(rows >= cols && "UpperBidiagonalization is only for matrices satisfying rows>=cols.");
-  
-  m_householder = matrix;
-
-  ColVectorType temp(rows);
-
-  for (Index k = 0; /* breaks at k==cols-1 below */ ; ++k)
-  {
-    Index remainingRows = rows - k;
-    Index remainingCols = cols - k - 1;
-
-    // construct left householder transform in-place in m_householder
-    m_householder.col(k).tail(remainingRows)
-                 .makeHouseholderInPlace(m_householder.coeffRef(k,k),
-                                         m_bidiagonal.template diagonal<0>().coeffRef(k));
-    // apply householder transform to remaining part of m_householder on the left
-    m_householder.bottomRightCorner(remainingRows, remainingCols)
-                 .applyHouseholderOnTheLeft(m_householder.col(k).tail(remainingRows-1),
-                                            m_householder.coeff(k,k),
-                                            temp.data());
-
-    if(k == cols-1) break;
-    
-    // construct right householder transform in-place in m_householder
-    m_householder.row(k).tail(remainingCols)
-                 .makeHouseholderInPlace(m_householder.coeffRef(k,k+1),
-                                         m_bidiagonal.template diagonal<1>().coeffRef(k));
-    // apply householder transform to remaining part of m_householder on the left
-    m_householder.bottomRightCorner(remainingRows-1, remainingCols)
-                 .applyHouseholderOnTheRight(m_householder.row(k).tail(remainingCols-1).transpose(),
-                                             m_householder.coeff(k,k+1),
-                                             temp.data());
-  }
-  m_isInitialized = true;
-  return *this;
-}
-
-#if 0
-/** \return the Householder QR decomposition of \c *this.
-  *
-  * \sa class Bidiagonalization
-  */
-template<typename Derived>
-const UpperBidiagonalization<typename MatrixBase<Derived>::PlainObject>
-MatrixBase<Derived>::bidiagonalization() const
-{
-  return UpperBidiagonalization<PlainObject>(eval());
-}
-#endif
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_BIDIAGONALIZATION_H
diff --git a/lib/Eigen/src/SparseCholesky/CMakeLists.txt b/lib/Eigen/src/SparseCholesky/CMakeLists.txt
deleted file mode 100644
index 375a59d7..00000000
--- a/lib/Eigen/src/SparseCholesky/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_SparseCholesky_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_SparseCholesky_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseCholesky COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/SparseCholesky/SimplicialCholesky.h b/lib/Eigen/src/SparseCholesky/SimplicialCholesky.h
deleted file mode 100644
index e1f96ba5..00000000
--- a/lib/Eigen/src/SparseCholesky/SimplicialCholesky.h
+++ /dev/null
@@ -1,671 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SIMPLICIAL_CHOLESKY_H
-#define EIGEN_SIMPLICIAL_CHOLESKY_H
-
-namespace Eigen { 
-
-enum SimplicialCholeskyMode {
-  SimplicialCholeskyLLT,
-  SimplicialCholeskyLDLT
-};
-
-/** \ingroup SparseCholesky_Module
-  * \brief A direct sparse Cholesky factorizations
-  *
-  * These classes provide LL^T and LDL^T Cholesky factorizations of sparse matrices that are
-  * selfadjoint and positive definite. The factorization allows for solving A.X = B where
-  * X and B can be either dense or sparse.
-  * 
-  * In order to reduce the fill-in, a symmetric permutation P is applied prior to the factorization
-  * such that the factorized matrix is P A P^-1.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower
-  *               or Upper. Default is Lower.
-  *
-  */
-template<typename Derived>
-class SimplicialCholeskyBase : internal::noncopyable
-{
-  public:
-    typedef typename internal::traits<Derived>::MatrixType MatrixType;
-    typedef typename internal::traits<Derived>::OrderingType OrderingType;
-    enum { UpLo = internal::traits<Derived>::UpLo };
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef SparseMatrix<Scalar,ColMajor,Index> CholMatrixType;
-    typedef Matrix<Scalar,Dynamic,1> VectorType;
-
-  public:
-
-    /** Default constructor */
-    SimplicialCholeskyBase()
-      : m_info(Success), m_isInitialized(false), m_shiftOffset(0), m_shiftScale(1)
-    {}
-
-    SimplicialCholeskyBase(const MatrixType& matrix)
-      : m_info(Success), m_isInitialized(false), m_shiftOffset(0), m_shiftScale(1)
-    {
-      derived().compute(matrix);
-    }
-
-    ~SimplicialCholeskyBase()
-    {
-    }
-
-    Derived& derived() { return *static_cast<Derived*>(this); }
-    const Derived& derived() const { return *static_cast<const Derived*>(this); }
-    
-    inline Index cols() const { return m_matrix.cols(); }
-    inline Index rows() const { return m_matrix.rows(); }
-    
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the matrix.appears to be negative.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_info;
-    }
-    
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<SimplicialCholeskyBase, Rhs>
-    solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "Simplicial LLT or LDLT is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "SimplicialCholeskyBase::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<SimplicialCholeskyBase, Rhs>(*this, b.derived());
-    }
-    
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::sparse_solve_retval<SimplicialCholeskyBase, Rhs>
-    solve(const SparseMatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "Simplicial LLT or LDLT is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "SimplicialCholesky::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::sparse_solve_retval<SimplicialCholeskyBase, Rhs>(*this, b.derived());
-    }
-    
-    /** \returns the permutation P
-      * \sa permutationPinv() */
-    const PermutationMatrix<Dynamic,Dynamic,Index>& permutationP() const
-    { return m_P; }
-    
-    /** \returns the inverse P^-1 of the permutation P
-      * \sa permutationP() */
-    const PermutationMatrix<Dynamic,Dynamic,Index>& permutationPinv() const
-    { return m_Pinv; }
-
-    /** Sets the shift parameters that will be used to adjust the diagonal coefficients during the numerical factorization.
-      *
-      * During the numerical factorization, the diagonal coefficients are transformed by the following linear model:\n
-      * \c d_ii = \a offset + \a scale * \c d_ii
-      *
-      * The default is the identity transformation with \a offset=0, and \a scale=1.
-      *
-      * \returns a reference to \c *this.
-      */
-    Derived& setShift(const RealScalar& offset, const RealScalar& scale = 1)
-    {
-      m_shiftOffset = offset;
-      m_shiftScale = scale;
-      return derived();
-    }
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** \internal */
-    template<typename Stream>
-    void dumpMemory(Stream& s)
-    {
-      int total = 0;
-      s << "  L:        " << ((total+=(m_matrix.cols()+1) * sizeof(int) + m_matrix.nonZeros()*(sizeof(int)+sizeof(Scalar))) >> 20) << "Mb" << "\n";
-      s << "  diag:     " << ((total+=m_diag.size() * sizeof(Scalar)) >> 20) << "Mb" << "\n";
-      s << "  tree:     " << ((total+=m_parent.size() * sizeof(int)) >> 20) << "Mb" << "\n";
-      s << "  nonzeros: " << ((total+=m_nonZerosPerCol.size() * sizeof(int)) >> 20) << "Mb" << "\n";
-      s << "  perm:     " << ((total+=m_P.size() * sizeof(int)) >> 20) << "Mb" << "\n";
-      s << "  perm^-1:  " << ((total+=m_Pinv.size() * sizeof(int)) >> 20) << "Mb" << "\n";
-      s << "  TOTAL:    " << (total>> 20) << "Mb" << "\n";
-    }
-
-    /** \internal */
-    template<typename Rhs,typename Dest>
-    void _solve(const MatrixBase<Rhs> &b, MatrixBase<Dest> &dest) const
-    {
-      eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or symbolic()/numeric()");
-      eigen_assert(m_matrix.rows()==b.rows());
-
-      if(m_info!=Success)
-        return;
-
-      if(m_P.size()>0)
-        dest = m_P * b;
-      else
-        dest = b;
-
-      if(m_matrix.nonZeros()>0) // otherwise L==I
-        derived().matrixL().solveInPlace(dest);
-
-      if(m_diag.size()>0)
-        dest = m_diag.asDiagonal().inverse() * dest;
-
-      if (m_matrix.nonZeros()>0) // otherwise U==I
-        derived().matrixU().solveInPlace(dest);
-
-      if(m_P.size()>0)
-        dest = m_Pinv * dest;
-    }
-
-#endif // EIGEN_PARSED_BY_DOXYGEN
-
-  protected:
-    
-    /** Computes the sparse Cholesky decomposition of \a matrix */
-    template<bool DoLDLT>
-    void compute(const MatrixType& matrix)
-    {
-      eigen_assert(matrix.rows()==matrix.cols());
-      Index size = matrix.cols();
-      CholMatrixType ap(size,size);
-      ordering(matrix, ap);
-      analyzePattern_preordered(ap, DoLDLT);
-      factorize_preordered<DoLDLT>(ap);
-    }
-    
-    template<bool DoLDLT>
-    void factorize(const MatrixType& a)
-    {
-      eigen_assert(a.rows()==a.cols());
-      int size = a.cols();
-      CholMatrixType ap(size,size);
-      ap.template selfadjointView<Upper>() = a.template selfadjointView<UpLo>().twistedBy(m_P);
-      factorize_preordered<DoLDLT>(ap);
-    }
-
-    template<bool DoLDLT>
-    void factorize_preordered(const CholMatrixType& a);
-
-    void analyzePattern(const MatrixType& a, bool doLDLT)
-    {
-      eigen_assert(a.rows()==a.cols());
-      int size = a.cols();
-      CholMatrixType ap(size,size);
-      ordering(a, ap);
-      analyzePattern_preordered(ap,doLDLT);
-    }
-    void analyzePattern_preordered(const CholMatrixType& a, bool doLDLT);
-    
-    void ordering(const MatrixType& a, CholMatrixType& ap);
-
-    /** keeps off-diagonal entries; drops diagonal entries */
-    struct keep_diag {
-      inline bool operator() (const Index& row, const Index& col, const Scalar&) const
-      {
-        return row!=col;
-      }
-    };
-
-    mutable ComputationInfo m_info;
-    bool m_isInitialized;
-    bool m_factorizationIsOk;
-    bool m_analysisIsOk;
-    
-    CholMatrixType m_matrix;
-    VectorType m_diag;                                // the diagonal coefficients (LDLT mode)
-    VectorXi m_parent;                                // elimination tree
-    VectorXi m_nonZerosPerCol;
-    PermutationMatrix<Dynamic,Dynamic,Index> m_P;     // the permutation
-    PermutationMatrix<Dynamic,Dynamic,Index> m_Pinv;  // the inverse permutation
-
-    RealScalar m_shiftOffset;
-    RealScalar m_shiftScale;
-};
-
-template<typename _MatrixType, int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::Index> > class SimplicialLLT;
-template<typename _MatrixType, int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::Index> > class SimplicialLDLT;
-template<typename _MatrixType, int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::Index> > class SimplicialCholesky;
-
-namespace internal {
-
-template<typename _MatrixType, int _UpLo, typename _Ordering> struct traits<SimplicialLLT<_MatrixType,_UpLo,_Ordering> >
-{
-  typedef _MatrixType MatrixType;
-  typedef _Ordering OrderingType;
-  enum { UpLo = _UpLo };
-  typedef typename MatrixType::Scalar                         Scalar;
-  typedef typename MatrixType::Index                          Index;
-  typedef SparseMatrix<Scalar, ColMajor, Index>               CholMatrixType;
-  typedef SparseTriangularView<CholMatrixType, Eigen::Lower>  MatrixL;
-  typedef SparseTriangularView<typename CholMatrixType::AdjointReturnType, Eigen::Upper>   MatrixU;
-  static inline MatrixL getL(const MatrixType& m) { return m; }
-  static inline MatrixU getU(const MatrixType& m) { return m.adjoint(); }
-};
-
-template<typename _MatrixType,int _UpLo, typename _Ordering> struct traits<SimplicialLDLT<_MatrixType,_UpLo,_Ordering> >
-{
-  typedef _MatrixType MatrixType;
-  typedef _Ordering OrderingType;
-  enum { UpLo = _UpLo };
-  typedef typename MatrixType::Scalar                             Scalar;
-  typedef typename MatrixType::Index                              Index;
-  typedef SparseMatrix<Scalar, ColMajor, Index>                   CholMatrixType;
-  typedef SparseTriangularView<CholMatrixType, Eigen::UnitLower>  MatrixL;
-  typedef SparseTriangularView<typename CholMatrixType::AdjointReturnType, Eigen::UnitUpper> MatrixU;
-  static inline MatrixL getL(const MatrixType& m) { return m; }
-  static inline MatrixU getU(const MatrixType& m) { return m.adjoint(); }
-};
-
-template<typename _MatrixType, int _UpLo, typename _Ordering> struct traits<SimplicialCholesky<_MatrixType,_UpLo,_Ordering> >
-{
-  typedef _MatrixType MatrixType;
-  typedef _Ordering OrderingType;
-  enum { UpLo = _UpLo };
-};
-
-}
-
-/** \ingroup SparseCholesky_Module
-  * \class SimplicialLLT
-  * \brief A direct sparse LLT Cholesky factorizations
-  *
-  * This class provides a LL^T Cholesky factorizations of sparse matrices that are
-  * selfadjoint and positive definite. The factorization allows for solving A.X = B where
-  * X and B can be either dense or sparse.
-  * 
-  * In order to reduce the fill-in, a symmetric permutation P is applied prior to the factorization
-  * such that the factorized matrix is P A P^-1.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower
-  *               or Upper. Default is Lower.
-  * \tparam _Ordering The ordering method to use, either AMDOrdering<> or NaturalOrdering<>. Default is AMDOrdering<>
-  *
-  * \sa class SimplicialLDLT, class AMDOrdering, class NaturalOrdering
-  */
-template<typename _MatrixType, int _UpLo, typename _Ordering>
-    class SimplicialLLT : public SimplicialCholeskyBase<SimplicialLLT<_MatrixType,_UpLo,_Ordering> >
-{
-public:
-    typedef _MatrixType MatrixType;
-    enum { UpLo = _UpLo };
-    typedef SimplicialCholeskyBase<SimplicialLLT> Base;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef SparseMatrix<Scalar,ColMajor,Index> CholMatrixType;
-    typedef Matrix<Scalar,Dynamic,1> VectorType;
-    typedef internal::traits<SimplicialLLT> Traits;
-    typedef typename Traits::MatrixL  MatrixL;
-    typedef typename Traits::MatrixU  MatrixU;
-public:
-    /** Default constructor */
-    SimplicialLLT() : Base() {}
-    /** Constructs and performs the LLT factorization of \a matrix */
-    SimplicialLLT(const MatrixType& matrix)
-        : Base(matrix) {}
-
-    /** \returns an expression of the factor L */
-    inline const MatrixL matrixL() const {
-        eigen_assert(Base::m_factorizationIsOk && "Simplicial LLT not factorized");
-        return Traits::getL(Base::m_matrix);
-    }
-
-    /** \returns an expression of the factor U (= L^*) */
-    inline const MatrixU matrixU() const {
-        eigen_assert(Base::m_factorizationIsOk && "Simplicial LLT not factorized");
-        return Traits::getU(Base::m_matrix);
-    }
-    
-    /** Computes the sparse Cholesky decomposition of \a matrix */
-    SimplicialLLT& compute(const MatrixType& matrix)
-    {
-      Base::template compute<false>(matrix);
-      return *this;
-    }
-
-    /** Performs a symbolic decomposition on the sparcity of \a matrix.
-      *
-      * This function is particularly useful when solving for several problems having the same structure.
-      *
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& a)
-    {
-      Base::analyzePattern(a, false);
-    }
-
-    /** Performs a numeric decomposition of \a matrix
-      *
-      * The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.
-      *
-      * \sa analyzePattern()
-      */
-    void factorize(const MatrixType& a)
-    {
-      Base::template factorize<false>(a);
-    }
-
-    /** \returns the determinant of the underlying matrix from the current factorization */
-    Scalar determinant() const
-    {
-      Scalar detL = Base::m_matrix.diagonal().prod();
-      return numext::abs2(detL);
-    }
-};
-
-/** \ingroup SparseCholesky_Module
-  * \class SimplicialLDLT
-  * \brief A direct sparse LDLT Cholesky factorizations without square root.
-  *
-  * This class provides a LDL^T Cholesky factorizations without square root of sparse matrices that are
-  * selfadjoint and positive definite. The factorization allows for solving A.X = B where
-  * X and B can be either dense or sparse.
-  * 
-  * In order to reduce the fill-in, a symmetric permutation P is applied prior to the factorization
-  * such that the factorized matrix is P A P^-1.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  * \tparam _UpLo the triangular part that will be used for the computations. It can be Lower
-  *               or Upper. Default is Lower.
-  * \tparam _Ordering The ordering method to use, either AMDOrdering<> or NaturalOrdering<>. Default is AMDOrdering<>
-  *
-  * \sa class SimplicialLLT, class AMDOrdering, class NaturalOrdering
-  */
-template<typename _MatrixType, int _UpLo, typename _Ordering>
-    class SimplicialLDLT : public SimplicialCholeskyBase<SimplicialLDLT<_MatrixType,_UpLo,_Ordering> >
-{
-public:
-    typedef _MatrixType MatrixType;
-    enum { UpLo = _UpLo };
-    typedef SimplicialCholeskyBase<SimplicialLDLT> Base;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef SparseMatrix<Scalar,ColMajor,Index> CholMatrixType;
-    typedef Matrix<Scalar,Dynamic,1> VectorType;
-    typedef internal::traits<SimplicialLDLT> Traits;
-    typedef typename Traits::MatrixL  MatrixL;
-    typedef typename Traits::MatrixU  MatrixU;
-public:
-    /** Default constructor */
-    SimplicialLDLT() : Base() {}
-
-    /** Constructs and performs the LLT factorization of \a matrix */
-    SimplicialLDLT(const MatrixType& matrix)
-        : Base(matrix) {}
-
-    /** \returns a vector expression of the diagonal D */
-    inline const VectorType vectorD() const {
-        eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
-        return Base::m_diag;
-    }
-    /** \returns an expression of the factor L */
-    inline const MatrixL matrixL() const {
-        eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
-        return Traits::getL(Base::m_matrix);
-    }
-
-    /** \returns an expression of the factor U (= L^*) */
-    inline const MatrixU matrixU() const {
-        eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
-        return Traits::getU(Base::m_matrix);
-    }
-
-    /** Computes the sparse Cholesky decomposition of \a matrix */
-    SimplicialLDLT& compute(const MatrixType& matrix)
-    {
-      Base::template compute<true>(matrix);
-      return *this;
-    }
-    
-    /** Performs a symbolic decomposition on the sparcity of \a matrix.
-      *
-      * This function is particularly useful when solving for several problems having the same structure.
-      *
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& a)
-    {
-      Base::analyzePattern(a, true);
-    }
-
-    /** Performs a numeric decomposition of \a matrix
-      *
-      * The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.
-      *
-      * \sa analyzePattern()
-      */
-    void factorize(const MatrixType& a)
-    {
-      Base::template factorize<true>(a);
-    }
-
-    /** \returns the determinant of the underlying matrix from the current factorization */
-    Scalar determinant() const
-    {
-      return Base::m_diag.prod();
-    }
-};
-
-/** \deprecated use SimplicialLDLT or class SimplicialLLT
-  * \ingroup SparseCholesky_Module
-  * \class SimplicialCholesky
-  *
-  * \sa class SimplicialLDLT, class SimplicialLLT
-  */
-template<typename _MatrixType, int _UpLo, typename _Ordering>
-    class SimplicialCholesky : public SimplicialCholeskyBase<SimplicialCholesky<_MatrixType,_UpLo,_Ordering> >
-{
-public:
-    typedef _MatrixType MatrixType;
-    enum { UpLo = _UpLo };
-    typedef SimplicialCholeskyBase<SimplicialCholesky> Base;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef SparseMatrix<Scalar,ColMajor,Index> CholMatrixType;
-    typedef Matrix<Scalar,Dynamic,1> VectorType;
-    typedef internal::traits<SimplicialCholesky> Traits;
-    typedef internal::traits<SimplicialLDLT<MatrixType,UpLo> > LDLTTraits;
-    typedef internal::traits<SimplicialLLT<MatrixType,UpLo>  > LLTTraits;
-  public:
-    SimplicialCholesky() : Base(), m_LDLT(true) {}
-
-    SimplicialCholesky(const MatrixType& matrix)
-      : Base(), m_LDLT(true)
-    {
-      compute(matrix);
-    }
-
-    SimplicialCholesky& setMode(SimplicialCholeskyMode mode)
-    {
-      switch(mode)
-      {
-      case SimplicialCholeskyLLT:
-        m_LDLT = false;
-        break;
-      case SimplicialCholeskyLDLT:
-        m_LDLT = true;
-        break;
-      default:
-        break;
-      }
-
-      return *this;
-    }
-
-    inline const VectorType vectorD() const {
-        eigen_assert(Base::m_factorizationIsOk && "Simplicial Cholesky not factorized");
-        return Base::m_diag;
-    }
-    inline const CholMatrixType rawMatrix() const {
-        eigen_assert(Base::m_factorizationIsOk && "Simplicial Cholesky not factorized");
-        return Base::m_matrix;
-    }
-    
-    /** Computes the sparse Cholesky decomposition of \a matrix */
-    SimplicialCholesky& compute(const MatrixType& matrix)
-    {
-      if(m_LDLT)
-        Base::template compute<true>(matrix);
-      else
-        Base::template compute<false>(matrix);
-      return *this;
-    }
-
-    /** Performs a symbolic decomposition on the sparcity of \a matrix.
-      *
-      * This function is particularly useful when solving for several problems having the same structure.
-      *
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& a)
-    {
-      Base::analyzePattern(a, m_LDLT);
-    }
-
-    /** Performs a numeric decomposition of \a matrix
-      *
-      * The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.
-      *
-      * \sa analyzePattern()
-      */
-    void factorize(const MatrixType& a)
-    {
-      if(m_LDLT)
-        Base::template factorize<true>(a);
-      else
-        Base::template factorize<false>(a);
-    }
-
-    /** \internal */
-    template<typename Rhs,typename Dest>
-    void _solve(const MatrixBase<Rhs> &b, MatrixBase<Dest> &dest) const
-    {
-      eigen_assert(Base::m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or symbolic()/numeric()");
-      eigen_assert(Base::m_matrix.rows()==b.rows());
-
-      if(Base::m_info!=Success)
-        return;
-
-      if(Base::m_P.size()>0)
-        dest = Base::m_P * b;
-      else
-        dest = b;
-
-      if(Base::m_matrix.nonZeros()>0) // otherwise L==I
-      {
-        if(m_LDLT)
-          LDLTTraits::getL(Base::m_matrix).solveInPlace(dest);
-        else
-          LLTTraits::getL(Base::m_matrix).solveInPlace(dest);
-      }
-
-      if(Base::m_diag.size()>0)
-        dest = Base::m_diag.asDiagonal().inverse() * dest;
-
-      if (Base::m_matrix.nonZeros()>0) // otherwise I==I
-      {
-        if(m_LDLT)
-          LDLTTraits::getU(Base::m_matrix).solveInPlace(dest);
-        else
-          LLTTraits::getU(Base::m_matrix).solveInPlace(dest);
-      }
-
-      if(Base::m_P.size()>0)
-        dest = Base::m_Pinv * dest;
-    }
-    
-    Scalar determinant() const
-    {
-      if(m_LDLT)
-      {
-        return Base::m_diag.prod();
-      }
-      else
-      {
-        Scalar detL = Diagonal<const CholMatrixType>(Base::m_matrix).prod();
-        return numext::abs2(detL);
-      }
-    }
-    
-  protected:
-    bool m_LDLT;
-};
-
-template<typename Derived>
-void SimplicialCholeskyBase<Derived>::ordering(const MatrixType& a, CholMatrixType& ap)
-{
-  eigen_assert(a.rows()==a.cols());
-  const Index size = a.rows();
-  // Note that amd compute the inverse permutation
-  {
-    CholMatrixType C;
-    C = a.template selfadjointView<UpLo>();
-    
-    OrderingType ordering;
-    ordering(C,m_Pinv);
-  }
-
-  if(m_Pinv.size()>0)
-    m_P = m_Pinv.inverse();
-  else
-    m_P.resize(0);
-
-  ap.resize(size,size);
-  ap.template selfadjointView<Upper>() = a.template selfadjointView<UpLo>().twistedBy(m_P);
-}
-
-namespace internal {
-  
-template<typename Derived, typename Rhs>
-struct solve_retval<SimplicialCholeskyBase<Derived>, Rhs>
-  : solve_retval_base<SimplicialCholeskyBase<Derived>, Rhs>
-{
-  typedef SimplicialCholeskyBase<Derived> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec().derived()._solve(rhs(),dst);
-  }
-};
-
-template<typename Derived, typename Rhs>
-struct sparse_solve_retval<SimplicialCholeskyBase<Derived>, Rhs>
-  : sparse_solve_retval_base<SimplicialCholeskyBase<Derived>, Rhs>
-{
-  typedef SimplicialCholeskyBase<Derived> Dec;
-  EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    this->defaultEvalTo(dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SIMPLICIAL_CHOLESKY_H
diff --git a/lib/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h b/lib/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h
deleted file mode 100644
index 7aaf702b..00000000
--- a/lib/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h
+++ /dev/null
@@ -1,199 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-
-/*
-
-NOTE: thes functions vave been adapted from the LDL library:
-
-LDL Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-LDL License:
-
-    Your use or distribution of LDL or any modified version of
-    LDL implies that you agree to this License.
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
-    USA
-
-    Permission is hereby granted to use or copy this program under the
-    terms of the GNU LGPL, provided that the Copyright, this License,
-    and the Availability of the original version is retained on all copies.
-    User documentation of any code that uses this code or any modified
-    version of this code must cite the Copyright, this License, the
-    Availability note, and "Used by permission." Permission to modify
-    the code and to distribute modified code is granted, provided the
-    Copyright, this License, and the Availability note are retained,
-    and a notice that the code was modified is included.
- */
-
-#include "../Core/util/NonMPL2.h"
-
-#ifndef EIGEN_SIMPLICIAL_CHOLESKY_IMPL_H
-#define EIGEN_SIMPLICIAL_CHOLESKY_IMPL_H
-
-namespace Eigen {
-
-template<typename Derived>
-void SimplicialCholeskyBase<Derived>::analyzePattern_preordered(const CholMatrixType& ap, bool doLDLT)
-{
-  const Index size = ap.rows();
-  m_matrix.resize(size, size);
-  m_parent.resize(size);
-  m_nonZerosPerCol.resize(size);
-
-  ei_declare_aligned_stack_constructed_variable(Index, tags, size, 0);
-
-  for(Index k = 0; k < size; ++k)
-  {
-    /* L(k,:) pattern: all nodes reachable in etree from nz in A(0:k-1,k) */
-    m_parent[k] = -1;             /* parent of k is not yet known */
-    tags[k] = k;                  /* mark node k as visited */
-    m_nonZerosPerCol[k] = 0;      /* count of nonzeros in column k of L */
-    for(typename CholMatrixType::InnerIterator it(ap,k); it; ++it)
-    {
-      Index i = it.index();
-      if(i < k)
-      {
-        /* follow path from i to root of etree, stop at flagged node */
-        for(; tags[i] != k; i = m_parent[i])
-        {
-          /* find parent of i if not yet determined */
-          if (m_parent[i] == -1)
-            m_parent[i] = k;
-          m_nonZerosPerCol[i]++;        /* L (k,i) is nonzero */
-          tags[i] = k;                  /* mark i as visited */
-        }
-      }
-    }
-  }
-
-  /* construct Lp index array from m_nonZerosPerCol column counts */
-  Index* Lp = m_matrix.outerIndexPtr();
-  Lp[0] = 0;
-  for(Index k = 0; k < size; ++k)
-    Lp[k+1] = Lp[k] + m_nonZerosPerCol[k] + (doLDLT ? 0 : 1);
-
-  m_matrix.resizeNonZeros(Lp[size]);
-
-  m_isInitialized     = true;
-  m_info              = Success;
-  m_analysisIsOk      = true;
-  m_factorizationIsOk = false;
-}
-
-
-template<typename Derived>
-template<bool DoLDLT>
-void SimplicialCholeskyBase<Derived>::factorize_preordered(const CholMatrixType& ap)
-{
-  using std::sqrt;
-
-  eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
-  eigen_assert(ap.rows()==ap.cols());
-  const Index size = ap.rows();
-  eigen_assert(m_parent.size()==size);
-  eigen_assert(m_nonZerosPerCol.size()==size);
-
-  const Index* Lp = m_matrix.outerIndexPtr();
-  Index* Li = m_matrix.innerIndexPtr();
-  Scalar* Lx = m_matrix.valuePtr();
-
-  ei_declare_aligned_stack_constructed_variable(Scalar, y, size, 0);
-  ei_declare_aligned_stack_constructed_variable(Index,  pattern, size, 0);
-  ei_declare_aligned_stack_constructed_variable(Index,  tags, size, 0);
-
-  bool ok = true;
-  m_diag.resize(DoLDLT ? size : 0);
-
-  for(Index k = 0; k < size; ++k)
-  {
-    // compute nonzero pattern of kth row of L, in topological order
-    y[k] = 0.0;                     // Y(0:k) is now all zero
-    Index top = size;               // stack for pattern is empty
-    tags[k] = k;                    // mark node k as visited
-    m_nonZerosPerCol[k] = 0;        // count of nonzeros in column k of L
-    for(typename MatrixType::InnerIterator it(ap,k); it; ++it)
-    {
-      Index i = it.index();
-      if(i <= k)
-      {
-        y[i] += numext::conj(it.value());            /* scatter A(i,k) into Y (sum duplicates) */
-        Index len;
-        for(len = 0; tags[i] != k; i = m_parent[i])
-        {
-          pattern[len++] = i;     /* L(k,i) is nonzero */
-          tags[i] = k;            /* mark i as visited */
-        }
-        while(len > 0)
-          pattern[--top] = pattern[--len];
-      }
-    }
-
-    /* compute numerical values kth row of L (a sparse triangular solve) */
-
-    RealScalar d = numext::real(y[k]) * m_shiftScale + m_shiftOffset;    // get D(k,k), apply the shift function, and clear Y(k)
-    y[k] = 0.0;
-    for(; top < size; ++top)
-    {
-      Index i = pattern[top];       /* pattern[top:n-1] is pattern of L(:,k) */
-      Scalar yi = y[i];             /* get and clear Y(i) */
-      y[i] = 0.0;
-
-      /* the nonzero entry L(k,i) */
-      Scalar l_ki;
-      if(DoLDLT)
-        l_ki = yi / m_diag[i];
-      else
-        yi = l_ki = yi / Lx[Lp[i]];
-
-      Index p2 = Lp[i] + m_nonZerosPerCol[i];
-      Index p;
-      for(p = Lp[i] + (DoLDLT ? 0 : 1); p < p2; ++p)
-        y[Li[p]] -= numext::conj(Lx[p]) * yi;
-      d -= numext::real(l_ki * numext::conj(yi));
-      Li[p] = k;                          /* store L(k,i) in column form of L */
-      Lx[p] = l_ki;
-      ++m_nonZerosPerCol[i];              /* increment count of nonzeros in col i */
-    }
-    if(DoLDLT)
-    {
-      m_diag[k] = d;
-      if(d == RealScalar(0))
-      {
-        ok = false;                         /* failure, D(k,k) is zero */
-        break;
-      }
-    }
-    else
-    {
-      Index p = Lp[k] + m_nonZerosPerCol[k]++;
-      Li[p] = k ;                /* store L(k,k) = sqrt (d) in column k */
-      if(d <= RealScalar(0)) {
-        ok = false;              /* failure, matrix is not positive definite */
-        break;
-      }
-      Lx[p] = sqrt(d) ;
-    }
-  }
-
-  m_info = ok ? Success : NumericalIssue;
-  m_factorizationIsOk = true;
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SIMPLICIAL_CHOLESKY_IMPL_H
diff --git a/lib/Eigen/src/SparseCore/AmbiVector.h b/lib/Eigen/src/SparseCore/AmbiVector.h
deleted file mode 100644
index 220c6451..00000000
--- a/lib/Eigen/src/SparseCore/AmbiVector.h
+++ /dev/null
@@ -1,373 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_AMBIVECTOR_H
-#define EIGEN_AMBIVECTOR_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \internal
-  * Hybrid sparse/dense vector class designed for intensive read-write operations.
-  *
-  * See BasicSparseLLT and SparseProduct for usage examples.
-  */
-template<typename _Scalar, typename _Index>
-class AmbiVector
-{
-  public:
-    typedef _Scalar Scalar;
-    typedef _Index Index;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-    AmbiVector(Index size)
-      : m_buffer(0), m_zero(0), m_size(0), m_allocatedSize(0), m_allocatedElements(0), m_mode(-1)
-    {
-      resize(size);
-    }
-
-    void init(double estimatedDensity);
-    void init(int mode);
-
-    Index nonZeros() const;
-
-    /** Specifies a sub-vector to work on */
-    void setBounds(Index start, Index end) { m_start = start; m_end = end; }
-
-    void setZero();
-
-    void restart();
-    Scalar& coeffRef(Index i);
-    Scalar& coeff(Index i);
-
-    class Iterator;
-
-    ~AmbiVector() { delete[] m_buffer; }
-
-    void resize(Index size)
-    {
-      if (m_allocatedSize < size)
-        reallocate(size);
-      m_size = size;
-    }
-
-    Index size() const { return m_size; }
-
-  protected:
-
-    void reallocate(Index size)
-    {
-      // if the size of the matrix is not too large, let's allocate a bit more than needed such
-      // that we can handle dense vector even in sparse mode.
-      delete[] m_buffer;
-      if (size<1000)
-      {
-        Index allocSize = (size * sizeof(ListEl) + sizeof(Scalar) - 1)/sizeof(Scalar);
-        m_allocatedElements = (allocSize*sizeof(Scalar))/sizeof(ListEl);
-        m_buffer = new Scalar[allocSize];
-      }
-      else
-      {
-        m_allocatedElements = (size*sizeof(Scalar))/sizeof(ListEl);
-        m_buffer = new Scalar[size];
-      }
-      m_size = size;
-      m_start = 0;
-      m_end = m_size;
-    }
-
-    void reallocateSparse()
-    {
-      Index copyElements = m_allocatedElements;
-      m_allocatedElements = (std::min)(Index(m_allocatedElements*1.5),m_size);
-      Index allocSize = m_allocatedElements * sizeof(ListEl);
-      allocSize = (allocSize + sizeof(Scalar) - 1)/sizeof(Scalar);
-      Scalar* newBuffer = new Scalar[allocSize];
-      memcpy(newBuffer,  m_buffer,  copyElements * sizeof(ListEl));
-      delete[] m_buffer;
-      m_buffer = newBuffer;
-    }
-
-  protected:
-    // element type of the linked list
-    struct ListEl
-    {
-      Index next;
-      Index index;
-      Scalar value;
-    };
-
-    // used to store data in both mode
-    Scalar* m_buffer;
-    Scalar m_zero;
-    Index m_size;
-    Index m_start;
-    Index m_end;
-    Index m_allocatedSize;
-    Index m_allocatedElements;
-    Index m_mode;
-
-    // linked list mode
-    Index m_llStart;
-    Index m_llCurrent;
-    Index m_llSize;
-};
-
-/** \returns the number of non zeros in the current sub vector */
-template<typename _Scalar,typename _Index>
-_Index AmbiVector<_Scalar,_Index>::nonZeros() const
-{
-  if (m_mode==IsSparse)
-    return m_llSize;
-  else
-    return m_end - m_start;
-}
-
-template<typename _Scalar,typename _Index>
-void AmbiVector<_Scalar,_Index>::init(double estimatedDensity)
-{
-  if (estimatedDensity>0.1)
-    init(IsDense);
-  else
-    init(IsSparse);
-}
-
-template<typename _Scalar,typename _Index>
-void AmbiVector<_Scalar,_Index>::init(int mode)
-{
-  m_mode = mode;
-  if (m_mode==IsSparse)
-  {
-    m_llSize = 0;
-    m_llStart = -1;
-  }
-}
-
-/** Must be called whenever we might perform a write access
-  * with an index smaller than the previous one.
-  *
-  * Don't worry, this function is extremely cheap.
-  */
-template<typename _Scalar,typename _Index>
-void AmbiVector<_Scalar,_Index>::restart()
-{
-  m_llCurrent = m_llStart;
-}
-
-/** Set all coefficients of current subvector to zero */
-template<typename _Scalar,typename _Index>
-void AmbiVector<_Scalar,_Index>::setZero()
-{
-  if (m_mode==IsDense)
-  {
-    for (Index i=m_start; i<m_end; ++i)
-      m_buffer[i] = Scalar(0);
-  }
-  else
-  {
-    eigen_assert(m_mode==IsSparse);
-    m_llSize = 0;
-    m_llStart = -1;
-  }
-}
-
-template<typename _Scalar,typename _Index>
-_Scalar& AmbiVector<_Scalar,_Index>::coeffRef(_Index i)
-{
-  if (m_mode==IsDense)
-    return m_buffer[i];
-  else
-  {
-    ListEl* EIGEN_RESTRICT llElements = reinterpret_cast<ListEl*>(m_buffer);
-    // TODO factorize the following code to reduce code generation
-    eigen_assert(m_mode==IsSparse);
-    if (m_llSize==0)
-    {
-      // this is the first element
-      m_llStart = 0;
-      m_llCurrent = 0;
-      ++m_llSize;
-      llElements[0].value = Scalar(0);
-      llElements[0].index = i;
-      llElements[0].next = -1;
-      return llElements[0].value;
-    }
-    else if (i<llElements[m_llStart].index)
-    {
-      // this is going to be the new first element of the list
-      ListEl& el = llElements[m_llSize];
-      el.value = Scalar(0);
-      el.index = i;
-      el.next = m_llStart;
-      m_llStart = m_llSize;
-      ++m_llSize;
-      m_llCurrent = m_llStart;
-      return el.value;
-    }
-    else
-    {
-      Index nextel = llElements[m_llCurrent].next;
-      eigen_assert(i>=llElements[m_llCurrent].index && "you must call restart() before inserting an element with lower or equal index");
-      while (nextel >= 0 && llElements[nextel].index<=i)
-      {
-        m_llCurrent = nextel;
-        nextel = llElements[nextel].next;
-      }
-
-      if (llElements[m_llCurrent].index==i)
-      {
-        // the coefficient already exists and we found it !
-        return llElements[m_llCurrent].value;
-      }
-      else
-      {
-        if (m_llSize>=m_allocatedElements)
-        {
-          reallocateSparse();
-          llElements = reinterpret_cast<ListEl*>(m_buffer);
-        }
-        eigen_internal_assert(m_llSize<m_allocatedElements && "internal error: overflow in sparse mode");
-        // let's insert a new coefficient
-        ListEl& el = llElements[m_llSize];
-        el.value = Scalar(0);
-        el.index = i;
-        el.next = llElements[m_llCurrent].next;
-        llElements[m_llCurrent].next = m_llSize;
-        ++m_llSize;
-        return el.value;
-      }
-    }
-  }
-}
-
-template<typename _Scalar,typename _Index>
-_Scalar& AmbiVector<_Scalar,_Index>::coeff(_Index i)
-{
-  if (m_mode==IsDense)
-    return m_buffer[i];
-  else
-  {
-    ListEl* EIGEN_RESTRICT llElements = reinterpret_cast<ListEl*>(m_buffer);
-    eigen_assert(m_mode==IsSparse);
-    if ((m_llSize==0) || (i<llElements[m_llStart].index))
-    {
-      return m_zero;
-    }
-    else
-    {
-      Index elid = m_llStart;
-      while (elid >= 0 && llElements[elid].index<i)
-        elid = llElements[elid].next;
-
-      if (llElements[elid].index==i)
-        return llElements[m_llCurrent].value;
-      else
-        return m_zero;
-    }
-  }
-}
-
-/** Iterator over the nonzero coefficients */
-template<typename _Scalar,typename _Index>
-class AmbiVector<_Scalar,_Index>::Iterator
-{
-  public:
-    typedef _Scalar Scalar;
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-    /** Default constructor
-      * \param vec the vector on which we iterate
-      * \param epsilon the minimal value used to prune zero coefficients.
-      * In practice, all coefficients having a magnitude smaller than \a epsilon
-      * are skipped.
-      */
-    Iterator(const AmbiVector& vec, const RealScalar& epsilon = 0)
-      : m_vector(vec)
-    {
-      using std::abs;
-      m_epsilon = epsilon;
-      m_isDense = m_vector.m_mode==IsDense;
-      if (m_isDense)
-      {
-        m_currentEl = 0;   // this is to avoid a compilation warning
-        m_cachedValue = 0; // this is to avoid a compilation warning
-        m_cachedIndex = m_vector.m_start-1;
-        ++(*this);
-      }
-      else
-      {
-        ListEl* EIGEN_RESTRICT llElements = reinterpret_cast<ListEl*>(m_vector.m_buffer);
-        m_currentEl = m_vector.m_llStart;
-        while (m_currentEl>=0 && abs(llElements[m_currentEl].value)<=m_epsilon)
-          m_currentEl = llElements[m_currentEl].next;
-        if (m_currentEl<0)
-        {
-          m_cachedValue = 0; // this is to avoid a compilation warning
-          m_cachedIndex = -1;
-        }
-        else
-        {
-          m_cachedIndex = llElements[m_currentEl].index;
-          m_cachedValue = llElements[m_currentEl].value;
-        }
-      }
-    }
-
-    Index index() const { return m_cachedIndex; }
-    Scalar value() const { return m_cachedValue; }
-
-    operator bool() const { return m_cachedIndex>=0; }
-
-    Iterator& operator++()
-    {
-      using std::abs;
-      if (m_isDense)
-      {
-        do {
-          ++m_cachedIndex;
-        } while (m_cachedIndex<m_vector.m_end && abs(m_vector.m_buffer[m_cachedIndex])<m_epsilon);
-        if (m_cachedIndex<m_vector.m_end)
-          m_cachedValue = m_vector.m_buffer[m_cachedIndex];
-        else
-          m_cachedIndex=-1;
-      }
-      else
-      {
-        ListEl* EIGEN_RESTRICT llElements = reinterpret_cast<ListEl*>(m_vector.m_buffer);
-        do {
-          m_currentEl = llElements[m_currentEl].next;
-        } while (m_currentEl>=0 && abs(llElements[m_currentEl].value)<m_epsilon);
-        if (m_currentEl<0)
-        {
-          m_cachedIndex = -1;
-        }
-        else
-        {
-          m_cachedIndex = llElements[m_currentEl].index;
-          m_cachedValue = llElements[m_currentEl].value;
-        }
-      }
-      return *this;
-    }
-
-  protected:
-    const AmbiVector& m_vector; // the target vector
-    Index m_currentEl;            // the current element in sparse/linked-list mode
-    RealScalar m_epsilon;       // epsilon used to prune zero coefficients
-    Index m_cachedIndex;          // current coordinate
-    Scalar m_cachedValue;       // current value
-    bool m_isDense;             // mode of the vector
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_AMBIVECTOR_H
diff --git a/lib/Eigen/src/SparseCore/CMakeLists.txt b/lib/Eigen/src/SparseCore/CMakeLists.txt
deleted file mode 100644
index d860452a..00000000
--- a/lib/Eigen/src/SparseCore/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_SparseCore_SRCS "*.h")
-
-INSTALL(FILES 
-  ${Eigen_SparseCore_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseCore COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/SparseCore/CompressedStorage.h b/lib/Eigen/src/SparseCore/CompressedStorage.h
deleted file mode 100644
index a667cb56..00000000
--- a/lib/Eigen/src/SparseCore/CompressedStorage.h
+++ /dev/null
@@ -1,233 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_COMPRESSED_STORAGE_H
-#define EIGEN_COMPRESSED_STORAGE_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \internal
-  * Stores a sparse set of values as a list of values and a list of indices.
-  *
-  */
-template<typename _Scalar,typename _Index>
-class CompressedStorage
-{
-  public:
-
-    typedef _Scalar Scalar;
-    typedef _Index Index;
-
-  protected:
-
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-  public:
-
-    CompressedStorage()
-      : m_values(0), m_indices(0), m_size(0), m_allocatedSize(0)
-    {}
-
-    CompressedStorage(size_t size)
-      : m_values(0), m_indices(0), m_size(0), m_allocatedSize(0)
-    {
-      resize(size);
-    }
-
-    CompressedStorage(const CompressedStorage& other)
-      : m_values(0), m_indices(0), m_size(0), m_allocatedSize(0)
-    {
-      *this = other;
-    }
-
-    CompressedStorage& operator=(const CompressedStorage& other)
-    {
-      resize(other.size());
-      internal::smart_copy(other.m_values,  other.m_values  + m_size, m_values);
-      internal::smart_copy(other.m_indices, other.m_indices + m_size, m_indices);
-      return *this;
-    }
-
-    void swap(CompressedStorage& other)
-    {
-      std::swap(m_values, other.m_values);
-      std::swap(m_indices, other.m_indices);
-      std::swap(m_size, other.m_size);
-      std::swap(m_allocatedSize, other.m_allocatedSize);
-    }
-
-    ~CompressedStorage()
-    {
-      delete[] m_values;
-      delete[] m_indices;
-    }
-
-    void reserve(size_t size)
-    {
-      size_t newAllocatedSize = m_size + size;
-      if (newAllocatedSize > m_allocatedSize)
-        reallocate(newAllocatedSize);
-    }
-
-    void squeeze()
-    {
-      if (m_allocatedSize>m_size)
-        reallocate(m_size);
-    }
-
-    void resize(size_t size, double reserveSizeFactor = 0)
-    {
-      if (m_allocatedSize<size)
-        reallocate(size + size_t(reserveSizeFactor*double(size)));
-      m_size = size;
-    }
-
-    void append(const Scalar& v, Index i)
-    {
-      Index id = static_cast<Index>(m_size);
-      resize(m_size+1, 1);
-      m_values[id] = v;
-      m_indices[id] = i;
-    }
-
-    inline size_t size() const { return m_size; }
-    inline size_t allocatedSize() const { return m_allocatedSize; }
-    inline void clear() { m_size = 0; }
-
-    inline Scalar& value(size_t i) { return m_values[i]; }
-    inline const Scalar& value(size_t i) const { return m_values[i]; }
-
-    inline Index& index(size_t i) { return m_indices[i]; }
-    inline const Index& index(size_t i) const { return m_indices[i]; }
-
-    static CompressedStorage Map(Index* indices, Scalar* values, size_t size)
-    {
-      CompressedStorage res;
-      res.m_indices = indices;
-      res.m_values = values;
-      res.m_allocatedSize = res.m_size = size;
-      return res;
-    }
-
-    /** \returns the largest \c k such that for all \c j in [0,k) index[\c j]\<\a key */
-    inline Index searchLowerIndex(Index key) const
-    {
-      return searchLowerIndex(0, m_size, key);
-    }
-
-    /** \returns the largest \c k in [start,end) such that for all \c j in [start,k) index[\c j]\<\a key */
-    inline Index searchLowerIndex(size_t start, size_t end, Index key) const
-    {
-      while(end>start)
-      {
-        size_t mid = (end+start)>>1;
-        if (m_indices[mid]<key)
-          start = mid+1;
-        else
-          end = mid;
-      }
-      return static_cast<Index>(start);
-    }
-
-    /** \returns the stored value at index \a key
-      * If the value does not exist, then the value \a defaultValue is returned without any insertion. */
-    inline Scalar at(Index key, const Scalar& defaultValue = Scalar(0)) const
-    {
-      if (m_size==0)
-        return defaultValue;
-      else if (key==m_indices[m_size-1])
-        return m_values[m_size-1];
-      // ^^  optimization: let's first check if it is the last coefficient
-      // (very common in high level algorithms)
-      const size_t id = searchLowerIndex(0,m_size-1,key);
-      return ((id<m_size) && (m_indices[id]==key)) ? m_values[id] : defaultValue;
-    }
-
-    /** Like at(), but the search is performed in the range [start,end) */
-    inline Scalar atInRange(size_t start, size_t end, Index key, const Scalar& defaultValue = Scalar(0)) const
-    {
-      if (start>=end)
-        return Scalar(0);
-      else if (end>start && key==m_indices[end-1])
-        return m_values[end-1];
-      // ^^  optimization: let's first check if it is the last coefficient
-      // (very common in high level algorithms)
-      const size_t id = searchLowerIndex(start,end-1,key);
-      return ((id<end) && (m_indices[id]==key)) ? m_values[id] : defaultValue;
-    }
-
-    /** \returns a reference to the value at index \a key
-      * If the value does not exist, then the value \a defaultValue is inserted
-      * such that the keys are sorted. */
-    inline Scalar& atWithInsertion(Index key, const Scalar& defaultValue = Scalar(0))
-    {
-      size_t id = searchLowerIndex(0,m_size,key);
-      if (id>=m_size || m_indices[id]!=key)
-      {
-        resize(m_size+1,1);
-        for (size_t j=m_size-1; j>id; --j)
-        {
-          m_indices[j] = m_indices[j-1];
-          m_values[j] = m_values[j-1];
-        }
-        m_indices[id] = key;
-        m_values[id] = defaultValue;
-      }
-      return m_values[id];
-    }
-
-    void prune(const Scalar& reference, const RealScalar& epsilon = NumTraits<RealScalar>::dummy_precision())
-    {
-      size_t k = 0;
-      size_t n = size();
-      for (size_t i=0; i<n; ++i)
-      {
-        if (!internal::isMuchSmallerThan(value(i), reference, epsilon))
-        {
-          value(k) = value(i);
-          index(k) = index(i);
-          ++k;
-        }
-      }
-      resize(k,0);
-    }
-
-  protected:
-
-    inline void reallocate(size_t size)
-    {
-      Scalar* newValues  = new Scalar[size];
-      Index* newIndices = new Index[size];
-      size_t copySize = (std::min)(size, m_size);
-      // copy
-      internal::smart_copy(m_values, m_values+copySize, newValues);
-      internal::smart_copy(m_indices, m_indices+copySize, newIndices);
-      // delete old stuff
-      delete[] m_values;
-      delete[] m_indices;
-      m_values = newValues;
-      m_indices = newIndices;
-      m_allocatedSize = size;
-    }
-
-  protected:
-    Scalar* m_values;
-    Index* m_indices;
-    size_t m_size;
-    size_t m_allocatedSize;
-
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_COMPRESSED_STORAGE_H
diff --git a/lib/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h b/lib/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
deleted file mode 100644
index 5c320e2d..00000000
--- a/lib/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
+++ /dev/null
@@ -1,245 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_CONSERVATIVESPARSESPARSEPRODUCT_H
-#define EIGEN_CONSERVATIVESPARSESPARSEPRODUCT_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Lhs, typename Rhs, typename ResultType>
-static void conservative_sparse_sparse_product_impl(const Lhs& lhs, const Rhs& rhs, ResultType& res)
-{
-  typedef typename remove_all<Lhs>::type::Scalar Scalar;
-  typedef typename remove_all<Lhs>::type::Index Index;
-
-  // make sure to call innerSize/outerSize since we fake the storage order.
-  Index rows = lhs.innerSize();
-  Index cols = rhs.outerSize();
-  eigen_assert(lhs.outerSize() == rhs.innerSize());
-
-  std::vector<bool> mask(rows,false);
-  Matrix<Scalar,Dynamic,1> values(rows);
-  Matrix<Index,Dynamic,1>  indices(rows);
-
-  // estimate the number of non zero entries
-  // given a rhs column containing Y non zeros, we assume that the respective Y columns
-  // of the lhs differs in average of one non zeros, thus the number of non zeros for
-  // the product of a rhs column with the lhs is X+Y where X is the average number of non zero
-  // per column of the lhs.
-  // Therefore, we have nnz(lhs*rhs) = nnz(lhs) + nnz(rhs)
-  Index estimated_nnz_prod = lhs.nonZeros() + rhs.nonZeros();
-
-  res.setZero();
-  res.reserve(Index(estimated_nnz_prod));
-  // we compute each column of the result, one after the other
-  for (Index j=0; j<cols; ++j)
-  {
-
-    res.startVec(j);
-    Index nnz = 0;
-    for (typename Rhs::InnerIterator rhsIt(rhs, j); rhsIt; ++rhsIt)
-    {
-      Scalar y = rhsIt.value();
-      Index k = rhsIt.index();
-      for (typename Lhs::InnerIterator lhsIt(lhs, k); lhsIt; ++lhsIt)
-      {
-        Index i = lhsIt.index();
-        Scalar x = lhsIt.value();
-        if(!mask[i])
-        {
-          mask[i] = true;
-          values[i] = x * y;
-          indices[nnz] = i;
-          ++nnz;
-        }
-        else
-          values[i] += x * y;
-      }
-    }
-
-    // unordered insertion
-    for(Index k=0; k<nnz; ++k)
-    {
-      Index i = indices[k];
-      res.insertBackByOuterInnerUnordered(j,i) = values[i];
-      mask[i] = false;
-    }
-
-#if 0
-    // alternative ordered insertion code:
-
-    Index t200 = rows/(log2(200)*1.39);
-    Index t = (rows*100)/139;
-
-    // FIXME reserve nnz non zeros
-    // FIXME implement fast sort algorithms for very small nnz
-    // if the result is sparse enough => use a quick sort
-    // otherwise => loop through the entire vector
-    // In order to avoid to perform an expensive log2 when the
-    // result is clearly very sparse we use a linear bound up to 200.
-    //if((nnz<200 && nnz<t200) || nnz * log2(nnz) < t)
-    //res.startVec(j);
-    if(true)
-    {
-      if(nnz>1) std::sort(indices.data(),indices.data()+nnz);
-      for(Index k=0; k<nnz; ++k)
-      {
-        Index i = indices[k];
-        res.insertBackByOuterInner(j,i) = values[i];
-        mask[i] = false;
-      }
-    }
-    else
-    {
-      // dense path
-      for(Index i=0; i<rows; ++i)
-      {
-        if(mask[i])
-        {
-          mask[i] = false;
-          res.insertBackByOuterInner(j,i) = values[i];
-        }
-      }
-    }
-#endif
-
-  }
-  res.finalize();
-}
-
-
-} // end namespace internal
-
-namespace internal {
-
-template<typename Lhs, typename Rhs, typename ResultType,
-  int LhsStorageOrder = (traits<Lhs>::Flags&RowMajorBit) ? RowMajor : ColMajor,
-  int RhsStorageOrder = (traits<Rhs>::Flags&RowMajorBit) ? RowMajor : ColMajor,
-  int ResStorageOrder = (traits<ResultType>::Flags&RowMajorBit) ? RowMajor : ColMajor>
-struct conservative_sparse_sparse_product_selector;
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct conservative_sparse_sparse_product_selector<Lhs,Rhs,ResultType,ColMajor,ColMajor,ColMajor>
-{
-  typedef typename remove_all<Lhs>::type LhsCleaned;
-  typedef typename LhsCleaned::Scalar Scalar;
-
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res)
-  {
-    typedef SparseMatrix<typename ResultType::Scalar,RowMajor,typename ResultType::Index> RowMajorMatrix;
-    typedef SparseMatrix<typename ResultType::Scalar,ColMajor,typename ResultType::Index> ColMajorMatrix;
-    ColMajorMatrix resCol(lhs.rows(),rhs.cols());
-    internal::conservative_sparse_sparse_product_impl<Lhs,Rhs,ColMajorMatrix>(lhs, rhs, resCol);
-    // sort the non zeros:
-    RowMajorMatrix resRow(resCol);
-    res = resRow;
-  }
-};
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct conservative_sparse_sparse_product_selector<Lhs,Rhs,ResultType,RowMajor,ColMajor,ColMajor>
-{
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res)
-  {
-     typedef SparseMatrix<typename ResultType::Scalar,RowMajor,typename ResultType::Index> RowMajorMatrix;
-     RowMajorMatrix rhsRow = rhs;
-     RowMajorMatrix resRow(lhs.rows(), rhs.cols());
-     internal::conservative_sparse_sparse_product_impl<RowMajorMatrix,Lhs,RowMajorMatrix>(rhsRow, lhs, resRow);
-     res = resRow;
-  }
-};
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct conservative_sparse_sparse_product_selector<Lhs,Rhs,ResultType,ColMajor,RowMajor,ColMajor>
-{
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res)
-  {
-    typedef SparseMatrix<typename ResultType::Scalar,RowMajor,typename ResultType::Index> RowMajorMatrix;
-    RowMajorMatrix lhsRow = lhs;
-    RowMajorMatrix resRow(lhs.rows(), rhs.cols());
-    internal::conservative_sparse_sparse_product_impl<Rhs,RowMajorMatrix,RowMajorMatrix>(rhs, lhsRow, resRow);
-    res = resRow;
-  }
-};
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct conservative_sparse_sparse_product_selector<Lhs,Rhs,ResultType,RowMajor,RowMajor,ColMajor>
-{
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res)
-  {
-    typedef SparseMatrix<typename ResultType::Scalar,RowMajor,typename ResultType::Index> RowMajorMatrix;
-    RowMajorMatrix resRow(lhs.rows(), rhs.cols());
-    internal::conservative_sparse_sparse_product_impl<Rhs,Lhs,RowMajorMatrix>(rhs, lhs, resRow);
-    res = resRow;
-  }
-};
-
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct conservative_sparse_sparse_product_selector<Lhs,Rhs,ResultType,ColMajor,ColMajor,RowMajor>
-{
-  typedef typename traits<typename remove_all<Lhs>::type>::Scalar Scalar;
-
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res)
-  {
-    typedef SparseMatrix<typename ResultType::Scalar,ColMajor,typename ResultType::Index> ColMajorMatrix;
-    ColMajorMatrix resCol(lhs.rows(), rhs.cols());
-    internal::conservative_sparse_sparse_product_impl<Lhs,Rhs,ColMajorMatrix>(lhs, rhs, resCol);
-    res = resCol;
-  }
-};
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct conservative_sparse_sparse_product_selector<Lhs,Rhs,ResultType,RowMajor,ColMajor,RowMajor>
-{
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res)
-  {
-    typedef SparseMatrix<typename ResultType::Scalar,ColMajor,typename ResultType::Index> ColMajorMatrix;
-    ColMajorMatrix lhsCol = lhs;
-    ColMajorMatrix resCol(lhs.rows(), rhs.cols());
-    internal::conservative_sparse_sparse_product_impl<ColMajorMatrix,Rhs,ColMajorMatrix>(lhsCol, rhs, resCol);
-    res = resCol;
-  }
-};
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct conservative_sparse_sparse_product_selector<Lhs,Rhs,ResultType,ColMajor,RowMajor,RowMajor>
-{
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res)
-  {
-    typedef SparseMatrix<typename ResultType::Scalar,ColMajor,typename ResultType::Index> ColMajorMatrix;
-    ColMajorMatrix rhsCol = rhs;
-    ColMajorMatrix resCol(lhs.rows(), rhs.cols());
-    internal::conservative_sparse_sparse_product_impl<Lhs,ColMajorMatrix,ColMajorMatrix>(lhs, rhsCol, resCol);
-    res = resCol;
-  }
-};
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct conservative_sparse_sparse_product_selector<Lhs,Rhs,ResultType,RowMajor,RowMajor,RowMajor>
-{
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res)
-  {
-    typedef SparseMatrix<typename ResultType::Scalar,RowMajor,typename ResultType::Index> RowMajorMatrix;
-    typedef SparseMatrix<typename ResultType::Scalar,ColMajor,typename ResultType::Index> ColMajorMatrix;
-    RowMajorMatrix resRow(lhs.rows(),rhs.cols());
-    internal::conservative_sparse_sparse_product_impl<Rhs,Lhs,RowMajorMatrix>(rhs, lhs, resRow);
-    // sort the non zeros:
-    ColMajorMatrix resCol(resRow);
-    res = resCol;
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_CONSERVATIVESPARSESPARSEPRODUCT_H
diff --git a/lib/Eigen/src/SparseCore/MappedSparseMatrix.h b/lib/Eigen/src/SparseCore/MappedSparseMatrix.h
deleted file mode 100644
index ab1a266a..00000000
--- a/lib/Eigen/src/SparseCore/MappedSparseMatrix.h
+++ /dev/null
@@ -1,181 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MAPPED_SPARSEMATRIX_H
-#define EIGEN_MAPPED_SPARSEMATRIX_H
-
-namespace Eigen { 
-
-/** \class MappedSparseMatrix
-  *
-  * \brief Sparse matrix
-  *
-  * \param _Scalar the scalar type, i.e. the type of the coefficients
-  *
-  * See http://www.netlib.org/linalg/html_templates/node91.html for details on the storage scheme.
-  *
-  */
-namespace internal {
-template<typename _Scalar, int _Flags, typename _Index>
-struct traits<MappedSparseMatrix<_Scalar, _Flags, _Index> > : traits<SparseMatrix<_Scalar, _Flags, _Index> >
-{};
-}
-
-template<typename _Scalar, int _Flags, typename _Index>
-class MappedSparseMatrix
-  : public SparseMatrixBase<MappedSparseMatrix<_Scalar, _Flags, _Index> >
-{
-  public:
-    EIGEN_SPARSE_PUBLIC_INTERFACE(MappedSparseMatrix)
-    enum { IsRowMajor = Base::IsRowMajor };
-
-  protected:
-
-    Index   m_outerSize;
-    Index   m_innerSize;
-    Index   m_nnz;
-    Index*  m_outerIndex;
-    Index*  m_innerIndices;
-    Scalar* m_values;
-
-  public:
-
-    inline Index rows() const { return IsRowMajor ? m_outerSize : m_innerSize; }
-    inline Index cols() const { return IsRowMajor ? m_innerSize : m_outerSize; }
-    inline Index innerSize() const { return m_innerSize; }
-    inline Index outerSize() const { return m_outerSize; }
-    
-    bool isCompressed() const { return true; }
-
-    //----------------------------------------
-    // direct access interface
-    inline const Scalar* valuePtr() const { return m_values; }
-    inline Scalar* valuePtr() { return m_values; }
-
-    inline const Index* innerIndexPtr() const { return m_innerIndices; }
-    inline Index* innerIndexPtr() { return m_innerIndices; }
-
-    inline const Index* outerIndexPtr() const { return m_outerIndex; }
-    inline Index* outerIndexPtr() { return m_outerIndex; }
-    //----------------------------------------
-
-    inline Scalar coeff(Index row, Index col) const
-    {
-      const Index outer = IsRowMajor ? row : col;
-      const Index inner = IsRowMajor ? col : row;
-
-      Index start = m_outerIndex[outer];
-      Index end = m_outerIndex[outer+1];
-      if (start==end)
-        return Scalar(0);
-      else if (end>0 && inner==m_innerIndices[end-1])
-        return m_values[end-1];
-      // ^^  optimization: let's first check if it is the last coefficient
-      // (very common in high level algorithms)
-
-      const Index* r = std::lower_bound(&m_innerIndices[start],&m_innerIndices[end-1],inner);
-      const Index id = r-&m_innerIndices[0];
-      return ((*r==inner) && (id<end)) ? m_values[id] : Scalar(0);
-    }
-
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      const Index outer = IsRowMajor ? row : col;
-      const Index inner = IsRowMajor ? col : row;
-
-      Index start = m_outerIndex[outer];
-      Index end = m_outerIndex[outer+1];
-      eigen_assert(end>=start && "you probably called coeffRef on a non finalized matrix");
-      eigen_assert(end>start && "coeffRef cannot be called on a zero coefficient");
-      Index* r = std::lower_bound(&m_innerIndices[start],&m_innerIndices[end],inner);
-      const Index id = r-&m_innerIndices[0];
-      eigen_assert((*r==inner) && (id<end) && "coeffRef cannot be called on a zero coefficient");
-      return m_values[id];
-    }
-
-    class InnerIterator;
-    class ReverseInnerIterator;
-
-    /** \returns the number of non zero coefficients */
-    inline Index nonZeros() const  { return m_nnz; }
-
-    inline MappedSparseMatrix(Index rows, Index cols, Index nnz, Index* outerIndexPtr, Index* innerIndexPtr, Scalar* valuePtr)
-      : m_outerSize(IsRowMajor?rows:cols), m_innerSize(IsRowMajor?cols:rows), m_nnz(nnz), m_outerIndex(outerIndexPtr),
-        m_innerIndices(innerIndexPtr), m_values(valuePtr)
-    {}
-
-    /** Empty destructor */
-    inline ~MappedSparseMatrix() {}
-};
-
-template<typename Scalar, int _Flags, typename _Index>
-class MappedSparseMatrix<Scalar,_Flags,_Index>::InnerIterator
-{
-  public:
-    InnerIterator(const MappedSparseMatrix& mat, Index outer)
-      : m_matrix(mat),
-        m_outer(outer),
-        m_id(mat.outerIndexPtr()[outer]),
-        m_start(m_id),
-        m_end(mat.outerIndexPtr()[outer+1])
-    {}
-
-    inline InnerIterator& operator++() { m_id++; return *this; }
-
-    inline Scalar value() const { return m_matrix.valuePtr()[m_id]; }
-    inline Scalar& valueRef() { return const_cast<Scalar&>(m_matrix.valuePtr()[m_id]); }
-
-    inline Index index() const { return m_matrix.innerIndexPtr()[m_id]; }
-    inline Index row() const { return IsRowMajor ? m_outer : index(); }
-    inline Index col() const { return IsRowMajor ? index() : m_outer; }
-
-    inline operator bool() const { return (m_id < m_end) && (m_id>=m_start); }
-
-  protected:
-    const MappedSparseMatrix& m_matrix;
-    const Index m_outer;
-    Index m_id;
-    const Index m_start;
-    const Index m_end;
-};
-
-template<typename Scalar, int _Flags, typename _Index>
-class MappedSparseMatrix<Scalar,_Flags,_Index>::ReverseInnerIterator
-{
-  public:
-    ReverseInnerIterator(const MappedSparseMatrix& mat, Index outer)
-      : m_matrix(mat),
-        m_outer(outer),
-        m_id(mat.outerIndexPtr()[outer+1]),
-        m_start(mat.outerIndexPtr()[outer]),
-        m_end(m_id)
-    {}
-
-    inline ReverseInnerIterator& operator--() { m_id--; return *this; }
-
-    inline Scalar value() const { return m_matrix.valuePtr()[m_id-1]; }
-    inline Scalar& valueRef() { return const_cast<Scalar&>(m_matrix.valuePtr()[m_id-1]); }
-
-    inline Index index() const { return m_matrix.innerIndexPtr()[m_id-1]; }
-    inline Index row() const { return IsRowMajor ? m_outer : index(); }
-    inline Index col() const { return IsRowMajor ? index() : m_outer; }
-
-    inline operator bool() const { return (m_id <= m_end) && (m_id>m_start); }
-
-  protected:
-    const MappedSparseMatrix& m_matrix;
-    const Index m_outer;
-    Index m_id;
-    const Index m_start;
-    const Index m_end;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_MAPPED_SPARSEMATRIX_H
diff --git a/lib/Eigen/src/SparseCore/SparseBlock.h b/lib/Eigen/src/SparseCore/SparseBlock.h
deleted file mode 100644
index 4f498350..00000000
--- a/lib/Eigen/src/SparseCore/SparseBlock.h
+++ /dev/null
@@ -1,539 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_BLOCK_H
-#define EIGEN_SPARSE_BLOCK_H
-
-namespace Eigen { 
-
-template<typename XprType, int BlockRows, int BlockCols>
-class BlockImpl<XprType,BlockRows,BlockCols,true,Sparse>
-  : public SparseMatrixBase<Block<XprType,BlockRows,BlockCols,true> >
-{
-    typedef typename internal::remove_all<typename XprType::Nested>::type _MatrixTypeNested;
-    typedef Block<XprType, BlockRows, BlockCols, true> BlockType;
-public:
-    enum { IsRowMajor = internal::traits<BlockType>::IsRowMajor };
-protected:
-    enum { OuterSize = IsRowMajor ? BlockRows : BlockCols };
-public:
-    EIGEN_SPARSE_PUBLIC_INTERFACE(BlockType)
-    
-    class InnerIterator: public XprType::InnerIterator
-    {
-        typedef typename BlockImpl::Index Index;
-      public:
-        inline InnerIterator(const BlockType& xpr, Index outer)
-          : XprType::InnerIterator(xpr.m_matrix, xpr.m_outerStart + outer), m_outer(outer)
-        {}
-        inline Index row() const { return IsRowMajor ? m_outer : this->index(); }
-        inline Index col() const { return IsRowMajor ? this->index() : m_outer; }
-      protected:
-        Index m_outer;
-    };
-    class ReverseInnerIterator: public XprType::ReverseInnerIterator
-    {
-        typedef typename BlockImpl::Index Index;
-      public:
-        inline ReverseInnerIterator(const BlockType& xpr, Index outer)
-          : XprType::ReverseInnerIterator(xpr.m_matrix, xpr.m_outerStart + outer), m_outer(outer)
-        {}
-        inline Index row() const { return IsRowMajor ? m_outer : this->index(); }
-        inline Index col() const { return IsRowMajor ? this->index() : m_outer; }
-      protected:
-        Index m_outer;
-    };
-
-    inline BlockImpl(const XprType& xpr, int i)
-      : m_matrix(xpr), m_outerStart(i), m_outerSize(OuterSize)
-    {}
-
-    inline BlockImpl(const XprType& xpr, int startRow, int startCol, int blockRows, int blockCols)
-      : m_matrix(xpr), m_outerStart(IsRowMajor ? startRow : startCol), m_outerSize(IsRowMajor ? blockRows : blockCols)
-    {}
-    
-    inline const Scalar coeff(int row, int col) const
-    {
-      return m_matrix.coeff(row + IsRowMajor ? m_outerStart : 0, col +IsRowMajor ? 0 :  m_outerStart);
-    }
-    
-    inline const Scalar coeff(int index) const
-    {
-      return m_matrix.coeff(IsRowMajor ? m_outerStart : index, IsRowMajor ? index :  m_outerStart);
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const { return IsRowMajor ? m_outerSize.value() : m_matrix.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return IsRowMajor ? m_matrix.cols() : m_outerSize.value(); }
-
-  protected:
-
-    typename XprType::Nested m_matrix;
-    Index m_outerStart;
-    const internal::variable_if_dynamic<Index, OuterSize> m_outerSize;
-
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(BlockImpl)
-  private:
-    Index nonZeros() const;
-};
-
-
-/***************************************************************************
-* specialisation for SparseMatrix
-***************************************************************************/
-
-template<typename _Scalar, int _Options, typename _Index, int BlockRows, int BlockCols>
-class BlockImpl<SparseMatrix<_Scalar, _Options, _Index>,BlockRows,BlockCols,true,Sparse>
-  : public SparseMatrixBase<Block<SparseMatrix<_Scalar, _Options, _Index>,BlockRows,BlockCols,true> >
-{
-    typedef SparseMatrix<_Scalar, _Options, _Index> SparseMatrixType;
-    typedef typename internal::remove_all<typename SparseMatrixType::Nested>::type _MatrixTypeNested;
-    typedef Block<SparseMatrixType, BlockRows, BlockCols, true> BlockType;
-    typedef Block<const SparseMatrixType, BlockRows, BlockCols, true> ConstBlockType;
-public:
-    enum { IsRowMajor = internal::traits<BlockType>::IsRowMajor };
-    EIGEN_SPARSE_PUBLIC_INTERFACE(BlockType)
-protected:
-    enum { OuterSize = IsRowMajor ? BlockRows : BlockCols };
-public:
-    
-    class InnerIterator: public SparseMatrixType::InnerIterator
-    {
-      public:
-        inline InnerIterator(const BlockType& xpr, Index outer)
-          : SparseMatrixType::InnerIterator(xpr.m_matrix, xpr.m_outerStart + outer), m_outer(outer)
-        {}
-        inline Index row() const { return IsRowMajor ? m_outer : this->index(); }
-        inline Index col() const { return IsRowMajor ? this->index() : m_outer; }
-      protected:
-        Index m_outer;
-    };
-    class ReverseInnerIterator: public SparseMatrixType::ReverseInnerIterator
-    {
-      public:
-        inline ReverseInnerIterator(const BlockType& xpr, Index outer)
-          : SparseMatrixType::ReverseInnerIterator(xpr.m_matrix, xpr.m_outerStart + outer), m_outer(outer)
-        {}
-        inline Index row() const { return IsRowMajor ? m_outer : this->index(); }
-        inline Index col() const { return IsRowMajor ? this->index() : m_outer; }
-      protected:
-        Index m_outer;
-    };
-
-    inline BlockImpl(const SparseMatrixType& xpr, int i)
-      : m_matrix(xpr), m_outerStart(i), m_outerSize(OuterSize)
-    {}
-
-    inline BlockImpl(const SparseMatrixType& xpr, int startRow, int startCol, int blockRows, int blockCols)
-      : m_matrix(xpr), m_outerStart(IsRowMajor ? startRow : startCol), m_outerSize(IsRowMajor ? blockRows : blockCols)
-    {}
-
-    template<typename OtherDerived>
-    inline BlockType& operator=(const SparseMatrixBase<OtherDerived>& other)
-    {
-      typedef typename internal::remove_all<typename SparseMatrixType::Nested>::type _NestedMatrixType;
-      _NestedMatrixType& matrix = const_cast<_NestedMatrixType&>(m_matrix);;
-      // This assignement is slow if this vector set is not empty
-      // and/or it is not at the end of the nonzeros of the underlying matrix.
-
-      // 1 - eval to a temporary to avoid transposition and/or aliasing issues
-      SparseMatrix<Scalar, IsRowMajor ? RowMajor : ColMajor, Index> tmp(other);
-
-      // 2 - let's check whether there is enough allocated memory
-      Index nnz           = tmp.nonZeros();
-      Index start         = m_outerStart==0 ? 0 : matrix.outerIndexPtr()[m_outerStart]; // starting position of the current block
-      Index end           = m_matrix.outerIndexPtr()[m_outerStart+m_outerSize.value()]; // ending posiiton of the current block
-      Index block_size    = end - start;                                                // available room in the current block
-      Index tail_size     = m_matrix.outerIndexPtr()[m_matrix.outerSize()] - end;
-      
-      Index free_size     = m_matrix.isCompressed()
-                          ? Index(matrix.data().allocatedSize()) + block_size
-                          : block_size;
-
-      if(nnz>free_size) 
-      {
-        // realloc manually to reduce copies
-        typename SparseMatrixType::Storage newdata(m_matrix.data().allocatedSize() - block_size + nnz);
-
-        std::memcpy(&newdata.value(0), &m_matrix.data().value(0), start*sizeof(Scalar));
-        std::memcpy(&newdata.index(0), &m_matrix.data().index(0), start*sizeof(Index));
-
-        std::memcpy(&newdata.value(start), &tmp.data().value(0), nnz*sizeof(Scalar));
-        std::memcpy(&newdata.index(start), &tmp.data().index(0), nnz*sizeof(Index));
-
-        std::memcpy(&newdata.value(start+nnz), &matrix.data().value(end), tail_size*sizeof(Scalar));
-        std::memcpy(&newdata.index(start+nnz), &matrix.data().index(end), tail_size*sizeof(Index));
-        
-        newdata.resize(m_matrix.outerIndexPtr()[m_matrix.outerSize()] - block_size + nnz);
-
-        matrix.data().swap(newdata);
-      }
-      else
-      {
-        // no need to realloc, simply copy the tail at its respective position and insert tmp
-        matrix.data().resize(start + nnz + tail_size);
-
-        std::memmove(&matrix.data().value(start+nnz), &matrix.data().value(end), tail_size*sizeof(Scalar));
-        std::memmove(&matrix.data().index(start+nnz), &matrix.data().index(end), tail_size*sizeof(Index));
-
-        std::memcpy(&matrix.data().value(start), &tmp.data().value(0), nnz*sizeof(Scalar));
-        std::memcpy(&matrix.data().index(start), &tmp.data().index(0), nnz*sizeof(Index));
-      }
-      
-      // update innerNonZeros
-      if(!m_matrix.isCompressed())
-        for(Index j=0; j<m_outerSize.value(); ++j)
-          matrix.innerNonZeroPtr()[m_outerStart+j] = tmp.innerVector(j).nonZeros();
-
-      // update outer index pointers
-      Index p = start;
-      for(Index k=0; k<m_outerSize.value(); ++k)
-      {
-        matrix.outerIndexPtr()[m_outerStart+k] = p;
-        p += tmp.innerVector(k).nonZeros();
-      }
-      std::ptrdiff_t offset = nnz - block_size;
-      for(Index k = m_outerStart + m_outerSize.value(); k<=matrix.outerSize(); ++k)
-      {
-        matrix.outerIndexPtr()[k] += offset;
-      }
-
-      return derived();
-    }
-
-    inline BlockType& operator=(const BlockType& other)
-    {
-      return operator=<BlockType>(other);
-    }
-
-    inline const Scalar* valuePtr() const
-    { return m_matrix.valuePtr() + m_matrix.outerIndexPtr()[m_outerStart]; }
-    inline Scalar* valuePtr()
-    { return m_matrix.const_cast_derived().valuePtr() + m_matrix.outerIndexPtr()[m_outerStart]; }
-
-    inline const Index* innerIndexPtr() const
-    { return m_matrix.innerIndexPtr() + m_matrix.outerIndexPtr()[m_outerStart]; }
-    inline Index* innerIndexPtr()
-    { return m_matrix.const_cast_derived().innerIndexPtr() + m_matrix.outerIndexPtr()[m_outerStart]; }
-
-    inline const Index* outerIndexPtr() const
-    { return m_matrix.outerIndexPtr() + m_outerStart; }
-    inline Index* outerIndexPtr()
-    { return m_matrix.const_cast_derived().outerIndexPtr() + m_outerStart; }
-
-    Index nonZeros() const
-    {
-      if(m_matrix.isCompressed())
-        return  std::size_t(m_matrix.outerIndexPtr()[m_outerStart+m_outerSize.value()])
-              - std::size_t(m_matrix.outerIndexPtr()[m_outerStart]);
-      else if(m_outerSize.value()==0)
-        return 0;
-      else
-        return Map<const Matrix<Index,OuterSize,1> >(m_matrix.innerNonZeroPtr()+m_outerStart, m_outerSize.value()).sum();
-    }
-    
-    inline Scalar& coeffRef(int row, int col)
-    {
-      return m_matrix.const_cast_derived().coeffRef(row + (IsRowMajor ? m_outerStart : 0), col + (IsRowMajor ? 0 :  m_outerStart));
-    }
-    
-    inline const Scalar coeff(int row, int col) const
-    {
-      return m_matrix.coeff(row + (IsRowMajor ? m_outerStart : 0), col + (IsRowMajor ? 0 :  m_outerStart));
-    }
-    
-    inline const Scalar coeff(int index) const
-    {
-      return m_matrix.coeff(IsRowMajor ? m_outerStart : index, IsRowMajor ? index :  m_outerStart);
-    }
-
-    const Scalar& lastCoeff() const
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(BlockImpl);
-      eigen_assert(nonZeros()>0);
-      if(m_matrix.isCompressed())
-        return m_matrix.valuePtr()[m_matrix.outerIndexPtr()[m_outerStart+1]-1];
-      else
-        return m_matrix.valuePtr()[m_matrix.outerIndexPtr()[m_outerStart]+m_matrix.innerNonZeroPtr()[m_outerStart]-1];
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const { return IsRowMajor ? m_outerSize.value() : m_matrix.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return IsRowMajor ? m_matrix.cols() : m_outerSize.value(); }
-
-  protected:
-
-    typename SparseMatrixType::Nested m_matrix;
-    Index m_outerStart;
-    const internal::variable_if_dynamic<Index, OuterSize> m_outerSize;
-
-};
-
-
-template<typename _Scalar, int _Options, typename _Index, int BlockRows, int BlockCols>
-class BlockImpl<const SparseMatrix<_Scalar, _Options, _Index>,BlockRows,BlockCols,true,Sparse>
-  : public SparseMatrixBase<Block<const SparseMatrix<_Scalar, _Options, _Index>,BlockRows,BlockCols,true> >
-{
-    typedef SparseMatrix<_Scalar, _Options, _Index> SparseMatrixType;
-    typedef typename internal::remove_all<typename SparseMatrixType::Nested>::type _MatrixTypeNested;
-    typedef Block<const SparseMatrixType, BlockRows, BlockCols, true> BlockType;
-public:
-    enum { IsRowMajor = internal::traits<BlockType>::IsRowMajor };
-    EIGEN_SPARSE_PUBLIC_INTERFACE(BlockType)
-protected:
-    enum { OuterSize = IsRowMajor ? BlockRows : BlockCols };
-public:
-    
-    class InnerIterator: public SparseMatrixType::InnerIterator
-    {
-      public:
-        inline InnerIterator(const BlockType& xpr, Index outer)
-          : SparseMatrixType::InnerIterator(xpr.m_matrix, xpr.m_outerStart + outer), m_outer(outer)
-        {}
-        inline Index row() const { return IsRowMajor ? m_outer : this->index(); }
-        inline Index col() const { return IsRowMajor ? this->index() : m_outer; }
-      protected:
-        Index m_outer;
-    };
-    class ReverseInnerIterator: public SparseMatrixType::ReverseInnerIterator
-    {
-      public:
-        inline ReverseInnerIterator(const BlockType& xpr, Index outer)
-          : SparseMatrixType::ReverseInnerIterator(xpr.m_matrix, xpr.m_outerStart + outer), m_outer(outer)
-        {}
-        inline Index row() const { return IsRowMajor ? m_outer : this->index(); }
-        inline Index col() const { return IsRowMajor ? this->index() : m_outer; }
-      protected:
-        Index m_outer;
-    };
-
-    inline BlockImpl(const SparseMatrixType& xpr, int i)
-      : m_matrix(xpr), m_outerStart(i), m_outerSize(OuterSize)
-    {}
-
-    inline BlockImpl(const SparseMatrixType& xpr, int startRow, int startCol, int blockRows, int blockCols)
-      : m_matrix(xpr), m_outerStart(IsRowMajor ? startRow : startCol), m_outerSize(IsRowMajor ? blockRows : blockCols)
-    {}
-
-    inline const Scalar* valuePtr() const
-    { return m_matrix.valuePtr() + m_matrix.outerIndexPtr()[m_outerStart]; }
-
-    inline const Index* innerIndexPtr() const
-    { return m_matrix.innerIndexPtr() + m_matrix.outerIndexPtr()[m_outerStart]; }
-
-    inline const Index* outerIndexPtr() const
-    { return m_matrix.outerIndexPtr() + m_outerStart; }
-
-    Index nonZeros() const
-    {
-      if(m_matrix.isCompressed())
-        return  std::size_t(m_matrix.outerIndexPtr()[m_outerStart+m_outerSize.value()])
-              - std::size_t(m_matrix.outerIndexPtr()[m_outerStart]);
-      else if(m_outerSize.value()==0)
-        return 0;
-      else
-        return Map<const Matrix<Index,OuterSize,1> >(m_matrix.innerNonZeroPtr()+m_outerStart, m_outerSize.value()).sum();
-    }
-    
-    inline const Scalar coeff(int row, int col) const
-    {
-      return m_matrix.coeff(row + (IsRowMajor ? m_outerStart : 0), col + (IsRowMajor ? 0 :  m_outerStart));
-    }
-    
-    inline const Scalar coeff(int index) const
-    {
-      return m_matrix.coeff(IsRowMajor ? m_outerStart : index, IsRowMajor ? index :  m_outerStart);
-    }
-
-    const Scalar& lastCoeff() const
-    {
-      EIGEN_STATIC_ASSERT_VECTOR_ONLY(BlockImpl);
-      eigen_assert(nonZeros()>0);
-      if(m_matrix.isCompressed())
-        return m_matrix.valuePtr()[m_matrix.outerIndexPtr()[m_outerStart+1]-1];
-      else
-        return m_matrix.valuePtr()[m_matrix.outerIndexPtr()[m_outerStart]+m_matrix.innerNonZeroPtr()[m_outerStart]-1];
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const { return IsRowMajor ? m_outerSize.value() : m_matrix.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return IsRowMajor ? m_matrix.cols() : m_outerSize.value(); }
-
-  protected:
-
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(BlockImpl)
-
-    typename SparseMatrixType::Nested m_matrix;
-    Index m_outerStart;
-    const internal::variable_if_dynamic<Index, OuterSize> m_outerSize;
-};
-
-//----------
-
-/** \returns the \a outer -th column (resp. row) of the matrix \c *this if \c *this
-  * is col-major (resp. row-major).
-  */
-template<typename Derived>
-typename SparseMatrixBase<Derived>::InnerVectorReturnType SparseMatrixBase<Derived>::innerVector(Index outer)
-{ return InnerVectorReturnType(derived(), outer); }
-
-/** \returns the \a outer -th column (resp. row) of the matrix \c *this if \c *this
-  * is col-major (resp. row-major). Read-only.
-  */
-template<typename Derived>
-const typename SparseMatrixBase<Derived>::ConstInnerVectorReturnType SparseMatrixBase<Derived>::innerVector(Index outer) const
-{ return ConstInnerVectorReturnType(derived(), outer); }
-
-/** \returns the \a outer -th column (resp. row) of the matrix \c *this if \c *this
-  * is col-major (resp. row-major).
-  */
-template<typename Derived>
-typename SparseMatrixBase<Derived>::InnerVectorsReturnType
-SparseMatrixBase<Derived>::innerVectors(Index outerStart, Index outerSize)
-{
-  return Block<Derived,Dynamic,Dynamic,true>(derived(),
-                                             IsRowMajor ? outerStart : 0, IsRowMajor ? 0 : outerStart,
-                                             IsRowMajor ? outerSize : rows(), IsRowMajor ? cols() : outerSize);
-  
-}
-
-/** \returns the \a outer -th column (resp. row) of the matrix \c *this if \c *this
-  * is col-major (resp. row-major). Read-only.
-  */
-template<typename Derived>
-const typename SparseMatrixBase<Derived>::ConstInnerVectorsReturnType
-SparseMatrixBase<Derived>::innerVectors(Index outerStart, Index outerSize) const
-{
-  return Block<const Derived,Dynamic,Dynamic,true>(derived(),
-                                                  IsRowMajor ? outerStart : 0, IsRowMajor ? 0 : outerStart,
-                                                  IsRowMajor ? outerSize : rows(), IsRowMajor ? cols() : outerSize);
-  
-}
-
-/** Generic implementation of sparse Block expression.
-  * Real-only. 
-  */
-template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel>
-class BlockImpl<XprType,BlockRows,BlockCols,InnerPanel,Sparse>
-  : public SparseMatrixBase<Block<XprType,BlockRows,BlockCols,InnerPanel> >, internal::no_assignment_operator
-{
-  typedef typename internal::remove_all<typename XprType::Nested>::type _MatrixTypeNested;
-  typedef Block<XprType, BlockRows, BlockCols, InnerPanel> BlockType;
-public:
-    enum { IsRowMajor = internal::traits<BlockType>::IsRowMajor };
-    EIGEN_SPARSE_PUBLIC_INTERFACE(BlockType)
-
-    /** Column or Row constructor
-      */
-    inline BlockImpl(const XprType& xpr, int i)
-      : m_matrix(xpr),
-        m_startRow( (BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) ? i : 0),
-        m_startCol( (BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) ? i : 0),
-        m_blockRows(BlockRows==1 ? 1 : xpr.rows()),
-        m_blockCols(BlockCols==1 ? 1 : xpr.cols())
-    {}
-
-    /** Dynamic-size constructor
-      */
-    inline BlockImpl(const XprType& xpr, int startRow, int startCol, int blockRows, int blockCols)
-      : m_matrix(xpr), m_startRow(startRow), m_startCol(startCol), m_blockRows(blockRows), m_blockCols(blockCols)
-    {}
-
-    inline int rows() const { return m_blockRows.value(); }
-    inline int cols() const { return m_blockCols.value(); }
-
-    inline Scalar& coeffRef(int row, int col)
-    {
-      return m_matrix.const_cast_derived()
-               .coeffRef(row + m_startRow.value(), col + m_startCol.value());
-    }
-
-    inline const Scalar coeff(int row, int col) const
-    {
-      return m_matrix.coeff(row + m_startRow.value(), col + m_startCol.value());
-    }
-
-    inline Scalar& coeffRef(int index)
-    {
-      return m_matrix.const_cast_derived()
-             .coeffRef(m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index),
-                       m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0));
-    }
-
-    inline const Scalar coeff(int index) const
-    {
-      return m_matrix
-             .coeff(m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index),
-                    m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0));
-    }
-    
-    inline const _MatrixTypeNested& nestedExpression() const { return m_matrix; }
-    
-    class InnerIterator : public _MatrixTypeNested::InnerIterator
-    {
-      typedef typename _MatrixTypeNested::InnerIterator Base;
-      const BlockType& m_block;
-      Index m_end;
-    public:
-
-      EIGEN_STRONG_INLINE InnerIterator(const BlockType& block, Index outer)
-        : Base(block.derived().nestedExpression(), outer + (IsRowMajor ? block.m_startRow.value() : block.m_startCol.value())),
-          m_block(block),
-          m_end(IsRowMajor ? block.m_startCol.value()+block.m_blockCols.value() : block.m_startRow.value()+block.m_blockRows.value())
-      {
-        while( (Base::operator bool()) && (Base::index() < (IsRowMajor ? m_block.m_startCol.value() : m_block.m_startRow.value())) )
-          Base::operator++();
-      }
-
-      inline Index index()  const { return Base::index() - (IsRowMajor ? m_block.m_startCol.value() : m_block.m_startRow.value()); }
-      inline Index outer()  const { return Base::outer() - (IsRowMajor ? m_block.m_startRow.value() : m_block.m_startCol.value()); }
-      inline Index row()    const { return Base::row()   - m_block.m_startRow.value(); }
-      inline Index col()    const { return Base::col()   - m_block.m_startCol.value(); }
-      
-      inline operator bool() const { return Base::operator bool() && Base::index() < m_end; }
-    };
-    class ReverseInnerIterator : public _MatrixTypeNested::ReverseInnerIterator
-    {
-      typedef typename _MatrixTypeNested::ReverseInnerIterator Base;
-      const BlockType& m_block;
-      Index m_begin;
-    public:
-
-      EIGEN_STRONG_INLINE ReverseInnerIterator(const BlockType& block, Index outer)
-        : Base(block.derived().nestedExpression(), outer + (IsRowMajor ? block.m_startRow.value() : block.m_startCol.value())),
-          m_block(block),
-          m_begin(IsRowMajor ? block.m_startCol.value() : block.m_startRow.value())
-      {
-        while( (Base::operator bool()) && (Base::index() >= (IsRowMajor ? m_block.m_startCol.value()+block.m_blockCols.value() : m_block.m_startRow.value()+block.m_blockRows.value())) )
-          Base::operator--();
-      }
-
-      inline Index index()  const { return Base::index() - (IsRowMajor ? m_block.m_startCol.value() : m_block.m_startRow.value()); }
-      inline Index outer()  const { return Base::outer() - (IsRowMajor ? m_block.m_startRow.value() : m_block.m_startCol.value()); }
-      inline Index row()    const { return Base::row()   - m_block.m_startRow.value(); }
-      inline Index col()    const { return Base::col()   - m_block.m_startCol.value(); }
-      
-      inline operator bool() const { return Base::operator bool() && Base::index() >= m_begin; }
-    };
-  protected:
-    friend class InnerIterator;
-    friend class ReverseInnerIterator;
-    
-    EIGEN_INHERIT_ASSIGNMENT_OPERATORS(BlockImpl)
-
-    typename XprType::Nested m_matrix;
-    const internal::variable_if_dynamic<Index, XprType::RowsAtCompileTime == 1 ? 0 : Dynamic> m_startRow;
-    const internal::variable_if_dynamic<Index, XprType::ColsAtCompileTime == 1 ? 0 : Dynamic> m_startCol;
-    const internal::variable_if_dynamic<Index, RowsAtCompileTime> m_blockRows;
-    const internal::variable_if_dynamic<Index, ColsAtCompileTime> m_blockCols;
-  private:
-    Index nonZeros() const;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_BLOCK_H
-
diff --git a/lib/Eigen/src/SparseCore/SparseColEtree.h b/lib/Eigen/src/SparseCore/SparseColEtree.h
deleted file mode 100644
index f8745f46..00000000
--- a/lib/Eigen/src/SparseCore/SparseColEtree.h
+++ /dev/null
@@ -1,206 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-
-/* 
- 
- * NOTE: This file is the modified version of sp_coletree.c file in SuperLU 
- 
- * -- SuperLU routine (version 3.1) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * August 1, 2008
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-#ifndef SPARSE_COLETREE_H
-#define SPARSE_COLETREE_H
-
-namespace Eigen {
-
-namespace internal {
-
-/** Find the root of the tree/set containing the vertex i : Use Path halving */ 
-template<typename Index, typename IndexVector>
-Index etree_find (Index i, IndexVector& pp)
-{
-  Index p = pp(i); // Parent 
-  Index gp = pp(p); // Grand parent 
-  while (gp != p) 
-  {
-    pp(i) = gp; // Parent pointer on find path is changed to former grand parent
-    i = gp; 
-    p = pp(i);
-    gp = pp(p);
-  }
-  return p; 
-}
-
-/** Compute the column elimination tree of a sparse matrix
-  * \param mat The matrix in column-major format. 
-  * \param parent The elimination tree
-  * \param firstRowElt The column index of the first element in each row
-  * \param perm The permutation to apply to the column of \b mat
-  */
-template <typename MatrixType, typename IndexVector>
-int coletree(const MatrixType& mat, IndexVector& parent, IndexVector& firstRowElt, typename MatrixType::Index *perm=0)
-{
-  typedef typename MatrixType::Index Index;
-  Index nc = mat.cols(); // Number of columns 
-  Index m = mat.rows();
-  Index diagSize = (std::min)(nc,m);
-  IndexVector root(nc); // root of subtree of etree 
-  root.setZero();
-  IndexVector pp(nc); // disjoint sets 
-  pp.setZero(); // Initialize disjoint sets 
-  parent.resize(mat.cols());
-  //Compute first nonzero column in each row 
-  Index row,col; 
-  firstRowElt.resize(m);
-  firstRowElt.setConstant(nc);
-  firstRowElt.segment(0, diagSize).setLinSpaced(diagSize, 0, diagSize-1);
-  bool found_diag;
-  for (col = 0; col < nc; col++)
-  {
-    Index pcol = col;
-    if(perm) pcol  = perm[col];
-    for (typename MatrixType::InnerIterator it(mat, pcol); it; ++it)
-    { 
-      row = it.row();
-      firstRowElt(row) = (std::min)(firstRowElt(row), col);
-    }
-  }
-  /* Compute etree by Liu's algorithm for symmetric matrices,
-          except use (firstRowElt[r],c) in place of an edge (r,c) of A.
-    Thus each row clique in A'*A is replaced by a star
-    centered at its first vertex, which has the same fill. */
-  Index rset, cset, rroot; 
-  for (col = 0; col < nc; col++) 
-  {
-    found_diag = col>=m;
-    pp(col) = col; 
-    cset = col; 
-    root(cset) = col; 
-    parent(col) = nc; 
-    /* The diagonal element is treated here even if it does not exist in the matrix
-     * hence the loop is executed once more */ 
-    Index pcol = col;
-    if(perm) pcol  = perm[col];
-    for (typename MatrixType::InnerIterator it(mat, pcol); it||!found_diag; ++it)
-    { //  A sequence of interleaved find and union is performed 
-      Index i = col;
-      if(it) i = it.index();
-      if (i == col) found_diag = true;
-      
-      row = firstRowElt(i);
-      if (row >= col) continue; 
-      rset = internal::etree_find(row, pp); // Find the name of the set containing row
-      rroot = root(rset);
-      if (rroot != col) 
-      {
-        parent(rroot) = col; 
-        pp(cset) = rset; 
-        cset = rset; 
-        root(cset) = col; 
-      }
-    }
-  }
-  return 0;  
-}
-
-/** 
-  * Depth-first search from vertex n.  No recursion.
-  * This routine was contributed by Cédric Doucet, CEDRAT Group, Meylan, France.
-*/
-template <typename Index, typename IndexVector>
-void nr_etdfs (Index n, IndexVector& parent, IndexVector& first_kid, IndexVector& next_kid, IndexVector& post, Index postnum)
-{
-  Index current = n, first, next;
-  while (postnum != n) 
-  {
-    // No kid for the current node
-    first = first_kid(current);
-    
-    // no kid for the current node
-    if (first == -1) 
-    {
-      // Numbering this node because it has no kid 
-      post(current) = postnum++;
-      
-      // looking for the next kid 
-      next = next_kid(current); 
-      while (next == -1) 
-      {
-        // No more kids : back to the parent node
-        current = parent(current); 
-        // numbering the parent node 
-        post(current) = postnum++;
-        
-        // Get the next kid 
-        next = next_kid(current); 
-      }
-      // stopping criterion 
-      if (postnum == n+1) return; 
-      
-      // Updating current node 
-      current = next; 
-    }
-    else 
-    {
-      current = first; 
-    }
-  }
-}
-
-
-/**
-  * \brief Post order a tree 
-  * \param n the number of nodes
-  * \param parent Input tree
-  * \param post postordered tree
-  */
-template <typename Index, typename IndexVector>
-void treePostorder(Index n, IndexVector& parent, IndexVector& post)
-{
-  IndexVector first_kid, next_kid; // Linked list of children 
-  Index postnum; 
-  // Allocate storage for working arrays and results 
-  first_kid.resize(n+1); 
-  next_kid.setZero(n+1);
-  post.setZero(n+1);
-  
-  // Set up structure describing children
-  Index v, dad; 
-  first_kid.setConstant(-1); 
-  for (v = n-1; v >= 0; v--) 
-  {
-    dad = parent(v);
-    next_kid(v) = first_kid(dad); 
-    first_kid(dad) = v; 
-  }
-  
-  // Depth-first search from dummy root vertex #n
-  postnum = 0; 
-  internal::nr_etdfs(n, parent, first_kid, next_kid, post, postnum);
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // SPARSE_COLETREE_H
diff --git a/lib/Eigen/src/SparseCore/SparseCwiseBinaryOp.h b/lib/Eigen/src/SparseCore/SparseCwiseBinaryOp.h
deleted file mode 100644
index 54627375..00000000
--- a/lib/Eigen/src/SparseCore/SparseCwiseBinaryOp.h
+++ /dev/null
@@ -1,324 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_CWISE_BINARY_OP_H
-#define EIGEN_SPARSE_CWISE_BINARY_OP_H
-
-namespace Eigen { 
-
-// Here we have to handle 3 cases:
-//  1 - sparse op dense
-//  2 - dense op sparse
-//  3 - sparse op sparse
-// We also need to implement a 4th iterator for:
-//  4 - dense op dense
-// Finally, we also need to distinguish between the product and other operations :
-//                configuration      returned mode
-//  1 - sparse op dense    product      sparse
-//                         generic      dense
-//  2 - dense op sparse    product      sparse
-//                         generic      dense
-//  3 - sparse op sparse   product      sparse
-//                         generic      sparse
-//  4 - dense op dense     product      dense
-//                         generic      dense
-
-namespace internal {
-
-template<> struct promote_storage_type<Dense,Sparse>
-{ typedef Sparse ret; };
-
-template<> struct promote_storage_type<Sparse,Dense>
-{ typedef Sparse ret; };
-
-template<typename BinaryOp, typename Lhs, typename Rhs, typename Derived,
-  typename _LhsStorageMode = typename traits<Lhs>::StorageKind,
-  typename _RhsStorageMode = typename traits<Rhs>::StorageKind>
-class sparse_cwise_binary_op_inner_iterator_selector;
-
-} // end namespace internal
-
-template<typename BinaryOp, typename Lhs, typename Rhs>
-class CwiseBinaryOpImpl<BinaryOp, Lhs, Rhs, Sparse>
-  : public SparseMatrixBase<CwiseBinaryOp<BinaryOp, Lhs, Rhs> >
-{
-  public:
-    class InnerIterator;
-    class ReverseInnerIterator;
-    typedef CwiseBinaryOp<BinaryOp, Lhs, Rhs> Derived;
-    EIGEN_SPARSE_PUBLIC_INTERFACE(Derived)
-    CwiseBinaryOpImpl()
-    {
-      EIGEN_STATIC_ASSERT((
-                (!internal::is_same<typename internal::traits<Lhs>::StorageKind,
-                                    typename internal::traits<Rhs>::StorageKind>::value)
-            ||  ((Lhs::Flags&RowMajorBit) == (Rhs::Flags&RowMajorBit))),
-            THE_STORAGE_ORDER_OF_BOTH_SIDES_MUST_MATCH);
-    }
-};
-
-template<typename BinaryOp, typename Lhs, typename Rhs>
-class CwiseBinaryOpImpl<BinaryOp,Lhs,Rhs,Sparse>::InnerIterator
-  : public internal::sparse_cwise_binary_op_inner_iterator_selector<BinaryOp,Lhs,Rhs,typename CwiseBinaryOpImpl<BinaryOp,Lhs,Rhs,Sparse>::InnerIterator>
-{
-  public:
-    typedef typename Lhs::Index Index;
-    typedef internal::sparse_cwise_binary_op_inner_iterator_selector<
-      BinaryOp,Lhs,Rhs, InnerIterator> Base;
-
-    // NOTE: we have to prefix Index by "typename Lhs::" to avoid an ICE with VC11
-    EIGEN_STRONG_INLINE InnerIterator(const CwiseBinaryOpImpl& binOp, typename Lhs::Index outer)
-      : Base(binOp.derived(),outer)
-    {}
-};
-
-/***************************************************************************
-* Implementation of inner-iterators
-***************************************************************************/
-
-// template<typename T> struct internal::func_is_conjunction { enum { ret = false }; };
-// template<typename T> struct internal::func_is_conjunction<internal::scalar_product_op<T> > { enum { ret = true }; };
-
-// TODO generalize the internal::scalar_product_op specialization to all conjunctions if any !
-
-namespace internal {
-
-// sparse - sparse  (generic)
-template<typename BinaryOp, typename Lhs, typename Rhs, typename Derived>
-class sparse_cwise_binary_op_inner_iterator_selector<BinaryOp, Lhs, Rhs, Derived, Sparse, Sparse>
-{
-    typedef CwiseBinaryOp<BinaryOp, Lhs, Rhs> CwiseBinaryXpr;
-    typedef typename traits<CwiseBinaryXpr>::Scalar Scalar;
-    typedef typename traits<CwiseBinaryXpr>::_LhsNested _LhsNested;
-    typedef typename traits<CwiseBinaryXpr>::_RhsNested _RhsNested;
-    typedef typename _LhsNested::InnerIterator LhsIterator;
-    typedef typename _RhsNested::InnerIterator RhsIterator;
-    typedef typename Lhs::Index Index;
-
-  public:
-
-    EIGEN_STRONG_INLINE sparse_cwise_binary_op_inner_iterator_selector(const CwiseBinaryXpr& xpr, Index outer)
-      : m_lhsIter(xpr.lhs(),outer), m_rhsIter(xpr.rhs(),outer), m_functor(xpr.functor())
-    {
-      this->operator++();
-    }
-
-    EIGEN_STRONG_INLINE Derived& operator++()
-    {
-      if (m_lhsIter && m_rhsIter && (m_lhsIter.index() == m_rhsIter.index()))
-      {
-        m_id = m_lhsIter.index();
-        m_value = m_functor(m_lhsIter.value(), m_rhsIter.value());
-        ++m_lhsIter;
-        ++m_rhsIter;
-      }
-      else if (m_lhsIter && (!m_rhsIter || (m_lhsIter.index() < m_rhsIter.index())))
-      {
-        m_id = m_lhsIter.index();
-        m_value = m_functor(m_lhsIter.value(), Scalar(0));
-        ++m_lhsIter;
-      }
-      else if (m_rhsIter && (!m_lhsIter || (m_lhsIter.index() > m_rhsIter.index())))
-      {
-        m_id = m_rhsIter.index();
-        m_value = m_functor(Scalar(0), m_rhsIter.value());
-        ++m_rhsIter;
-      }
-      else
-      {
-        m_value = 0; // this is to avoid a compilation warning
-        m_id = -1;
-      }
-      return *static_cast<Derived*>(this);
-    }
-
-    EIGEN_STRONG_INLINE Scalar value() const { return m_value; }
-
-    EIGEN_STRONG_INLINE Index index() const { return m_id; }
-    EIGEN_STRONG_INLINE Index row() const { return Lhs::IsRowMajor ? m_lhsIter.row() : index(); }
-    EIGEN_STRONG_INLINE Index col() const { return Lhs::IsRowMajor ? index() : m_lhsIter.col(); }
-
-    EIGEN_STRONG_INLINE operator bool() const { return m_id>=0; }
-
-  protected:
-    LhsIterator m_lhsIter;
-    RhsIterator m_rhsIter;
-    const BinaryOp& m_functor;
-    Scalar m_value;
-    Index m_id;
-};
-
-// sparse - sparse  (product)
-template<typename T, typename Lhs, typename Rhs, typename Derived>
-class sparse_cwise_binary_op_inner_iterator_selector<scalar_product_op<T>, Lhs, Rhs, Derived, Sparse, Sparse>
-{
-    typedef scalar_product_op<T> BinaryFunc;
-    typedef CwiseBinaryOp<BinaryFunc, Lhs, Rhs> CwiseBinaryXpr;
-    typedef typename CwiseBinaryXpr::Scalar Scalar;
-    typedef typename traits<CwiseBinaryXpr>::_LhsNested _LhsNested;
-    typedef typename _LhsNested::InnerIterator LhsIterator;
-    typedef typename traits<CwiseBinaryXpr>::_RhsNested _RhsNested;
-    typedef typename _RhsNested::InnerIterator RhsIterator;
-    typedef typename Lhs::Index Index;
-  public:
-
-    EIGEN_STRONG_INLINE sparse_cwise_binary_op_inner_iterator_selector(const CwiseBinaryXpr& xpr, Index outer)
-      : m_lhsIter(xpr.lhs(),outer), m_rhsIter(xpr.rhs(),outer), m_functor(xpr.functor())
-    {
-      while (m_lhsIter && m_rhsIter && (m_lhsIter.index() != m_rhsIter.index()))
-      {
-        if (m_lhsIter.index() < m_rhsIter.index())
-          ++m_lhsIter;
-        else
-          ++m_rhsIter;
-      }
-    }
-
-    EIGEN_STRONG_INLINE Derived& operator++()
-    {
-      ++m_lhsIter;
-      ++m_rhsIter;
-      while (m_lhsIter && m_rhsIter && (m_lhsIter.index() != m_rhsIter.index()))
-      {
-        if (m_lhsIter.index() < m_rhsIter.index())
-          ++m_lhsIter;
-        else
-          ++m_rhsIter;
-      }
-      return *static_cast<Derived*>(this);
-    }
-
-    EIGEN_STRONG_INLINE Scalar value() const { return m_functor(m_lhsIter.value(), m_rhsIter.value()); }
-
-    EIGEN_STRONG_INLINE Index index() const { return m_lhsIter.index(); }
-    EIGEN_STRONG_INLINE Index row() const { return m_lhsIter.row(); }
-    EIGEN_STRONG_INLINE Index col() const { return m_lhsIter.col(); }
-
-    EIGEN_STRONG_INLINE operator bool() const { return (m_lhsIter && m_rhsIter); }
-
-  protected:
-    LhsIterator m_lhsIter;
-    RhsIterator m_rhsIter;
-    const BinaryFunc& m_functor;
-};
-
-// sparse - dense  (product)
-template<typename T, typename Lhs, typename Rhs, typename Derived>
-class sparse_cwise_binary_op_inner_iterator_selector<scalar_product_op<T>, Lhs, Rhs, Derived, Sparse, Dense>
-{
-    typedef scalar_product_op<T> BinaryFunc;
-    typedef CwiseBinaryOp<BinaryFunc, Lhs, Rhs> CwiseBinaryXpr;
-    typedef typename CwiseBinaryXpr::Scalar Scalar;
-    typedef typename traits<CwiseBinaryXpr>::_LhsNested _LhsNested;
-    typedef typename traits<CwiseBinaryXpr>::RhsNested RhsNested;
-    typedef typename _LhsNested::InnerIterator LhsIterator;
-    typedef typename Lhs::Index Index;
-    enum { IsRowMajor = (int(Lhs::Flags)&RowMajorBit)==RowMajorBit };
-  public:
-
-    EIGEN_STRONG_INLINE sparse_cwise_binary_op_inner_iterator_selector(const CwiseBinaryXpr& xpr, Index outer)
-      : m_rhs(xpr.rhs()), m_lhsIter(xpr.lhs(),outer), m_functor(xpr.functor()), m_outer(outer)
-    {}
-
-    EIGEN_STRONG_INLINE Derived& operator++()
-    {
-      ++m_lhsIter;
-      return *static_cast<Derived*>(this);
-    }
-
-    EIGEN_STRONG_INLINE Scalar value() const
-    { return m_functor(m_lhsIter.value(),
-                       m_rhs.coeff(IsRowMajor?m_outer:m_lhsIter.index(),IsRowMajor?m_lhsIter.index():m_outer)); }
-
-    EIGEN_STRONG_INLINE Index index() const { return m_lhsIter.index(); }
-    EIGEN_STRONG_INLINE Index row() const { return m_lhsIter.row(); }
-    EIGEN_STRONG_INLINE Index col() const { return m_lhsIter.col(); }
-
-    EIGEN_STRONG_INLINE operator bool() const { return m_lhsIter; }
-
-  protected:
-    RhsNested m_rhs;
-    LhsIterator m_lhsIter;
-    const BinaryFunc m_functor;
-    const Index m_outer;
-};
-
-// sparse - dense  (product)
-template<typename T, typename Lhs, typename Rhs, typename Derived>
-class sparse_cwise_binary_op_inner_iterator_selector<scalar_product_op<T>, Lhs, Rhs, Derived, Dense, Sparse>
-{
-    typedef scalar_product_op<T> BinaryFunc;
-    typedef CwiseBinaryOp<BinaryFunc, Lhs, Rhs> CwiseBinaryXpr;
-    typedef typename CwiseBinaryXpr::Scalar Scalar;
-    typedef typename traits<CwiseBinaryXpr>::_RhsNested _RhsNested;
-    typedef typename _RhsNested::InnerIterator RhsIterator;
-    typedef typename Lhs::Index Index;
-
-    enum { IsRowMajor = (int(Rhs::Flags)&RowMajorBit)==RowMajorBit };
-  public:
-
-    EIGEN_STRONG_INLINE sparse_cwise_binary_op_inner_iterator_selector(const CwiseBinaryXpr& xpr, Index outer)
-      : m_xpr(xpr), m_rhsIter(xpr.rhs(),outer), m_functor(xpr.functor()), m_outer(outer)
-    {}
-
-    EIGEN_STRONG_INLINE Derived& operator++()
-    {
-      ++m_rhsIter;
-      return *static_cast<Derived*>(this);
-    }
-
-    EIGEN_STRONG_INLINE Scalar value() const
-    { return m_functor(m_xpr.lhs().coeff(IsRowMajor?m_outer:m_rhsIter.index(),IsRowMajor?m_rhsIter.index():m_outer), m_rhsIter.value()); }
-
-    EIGEN_STRONG_INLINE Index index() const { return m_rhsIter.index(); }
-    EIGEN_STRONG_INLINE Index row() const { return m_rhsIter.row(); }
-    EIGEN_STRONG_INLINE Index col() const { return m_rhsIter.col(); }
-
-    EIGEN_STRONG_INLINE operator bool() const { return m_rhsIter; }
-
-  protected:
-    const CwiseBinaryXpr& m_xpr;
-    RhsIterator m_rhsIter;
-    const BinaryFunc& m_functor;
-    const Index m_outer;
-};
-
-} // end namespace internal
-
-/***************************************************************************
-* Implementation of SparseMatrixBase and SparseCwise functions/operators
-***************************************************************************/
-
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived &
-SparseMatrixBase<Derived>::operator-=(const SparseMatrixBase<OtherDerived> &other)
-{
-  return derived() = derived() - other.derived();
-}
-
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE Derived &
-SparseMatrixBase<Derived>::operator+=(const SparseMatrixBase<OtherDerived>& other)
-{
-  return derived() = derived() + other.derived();
-}
-
-template<typename Derived>
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE const typename SparseMatrixBase<Derived>::template CwiseProductDenseReturnType<OtherDerived>::Type
-SparseMatrixBase<Derived>::cwiseProduct(const MatrixBase<OtherDerived> &other) const
-{
-  return typename CwiseProductDenseReturnType<OtherDerived>::Type(derived(), other.derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_CWISE_BINARY_OP_H
diff --git a/lib/Eigen/src/SparseCore/SparseCwiseUnaryOp.h b/lib/Eigen/src/SparseCore/SparseCwiseUnaryOp.h
deleted file mode 100644
index 5a50c780..00000000
--- a/lib/Eigen/src/SparseCore/SparseCwiseUnaryOp.h
+++ /dev/null
@@ -1,163 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_CWISE_UNARY_OP_H
-#define EIGEN_SPARSE_CWISE_UNARY_OP_H
-
-namespace Eigen { 
-
-template<typename UnaryOp, typename MatrixType>
-class CwiseUnaryOpImpl<UnaryOp,MatrixType,Sparse>
-  : public SparseMatrixBase<CwiseUnaryOp<UnaryOp, MatrixType> >
-{
-  public:
-
-    class InnerIterator;
-    class ReverseInnerIterator;
-
-    typedef CwiseUnaryOp<UnaryOp, MatrixType> Derived;
-    EIGEN_SPARSE_PUBLIC_INTERFACE(Derived)
-
-  protected:
-    typedef typename internal::traits<Derived>::_XprTypeNested _MatrixTypeNested;
-    typedef typename _MatrixTypeNested::InnerIterator MatrixTypeIterator;
-    typedef typename _MatrixTypeNested::ReverseInnerIterator MatrixTypeReverseIterator;
-};
-
-template<typename UnaryOp, typename MatrixType>
-class CwiseUnaryOpImpl<UnaryOp,MatrixType,Sparse>::InnerIterator
-    : public CwiseUnaryOpImpl<UnaryOp,MatrixType,Sparse>::MatrixTypeIterator
-{
-    typedef typename CwiseUnaryOpImpl::Scalar Scalar;
-    typedef typename CwiseUnaryOpImpl<UnaryOp,MatrixType,Sparse>::MatrixTypeIterator Base;
-  public:
-
-    EIGEN_STRONG_INLINE InnerIterator(const CwiseUnaryOpImpl& unaryOp, typename CwiseUnaryOpImpl::Index outer)
-      : Base(unaryOp.derived().nestedExpression(),outer), m_functor(unaryOp.derived().functor())
-    {}
-
-    EIGEN_STRONG_INLINE InnerIterator& operator++()
-    { Base::operator++(); return *this; }
-
-    EIGEN_STRONG_INLINE typename CwiseUnaryOpImpl::Scalar value() const { return m_functor(Base::value()); }
-
-  protected:
-    const UnaryOp m_functor;
-  private:
-    typename CwiseUnaryOpImpl::Scalar& valueRef();
-};
-
-template<typename UnaryOp, typename MatrixType>
-class CwiseUnaryOpImpl<UnaryOp,MatrixType,Sparse>::ReverseInnerIterator
-    : public CwiseUnaryOpImpl<UnaryOp,MatrixType,Sparse>::MatrixTypeReverseIterator
-{
-    typedef typename CwiseUnaryOpImpl::Scalar Scalar;
-    typedef typename CwiseUnaryOpImpl<UnaryOp,MatrixType,Sparse>::MatrixTypeReverseIterator Base;
-  public:
-
-    EIGEN_STRONG_INLINE ReverseInnerIterator(const CwiseUnaryOpImpl& unaryOp, typename CwiseUnaryOpImpl::Index outer)
-      : Base(unaryOp.derived().nestedExpression(),outer), m_functor(unaryOp.derived().functor())
-    {}
-
-    EIGEN_STRONG_INLINE ReverseInnerIterator& operator--()
-    { Base::operator--(); return *this; }
-
-    EIGEN_STRONG_INLINE typename CwiseUnaryOpImpl::Scalar value() const { return m_functor(Base::value()); }
-
-  protected:
-    const UnaryOp m_functor;
-  private:
-    typename CwiseUnaryOpImpl::Scalar& valueRef();
-};
-
-template<typename ViewOp, typename MatrixType>
-class CwiseUnaryViewImpl<ViewOp,MatrixType,Sparse>
-  : public SparseMatrixBase<CwiseUnaryView<ViewOp, MatrixType> >
-{
-  public:
-
-    class InnerIterator;
-    class ReverseInnerIterator;
-
-    typedef CwiseUnaryView<ViewOp, MatrixType> Derived;
-    EIGEN_SPARSE_PUBLIC_INTERFACE(Derived)
-
-  protected:
-    typedef typename internal::traits<Derived>::_MatrixTypeNested _MatrixTypeNested;
-    typedef typename _MatrixTypeNested::InnerIterator MatrixTypeIterator;
-    typedef typename _MatrixTypeNested::ReverseInnerIterator MatrixTypeReverseIterator;
-};
-
-template<typename ViewOp, typename MatrixType>
-class CwiseUnaryViewImpl<ViewOp,MatrixType,Sparse>::InnerIterator
-    : public CwiseUnaryViewImpl<ViewOp,MatrixType,Sparse>::MatrixTypeIterator
-{
-    typedef typename CwiseUnaryViewImpl::Scalar Scalar;
-    typedef typename CwiseUnaryViewImpl<ViewOp,MatrixType,Sparse>::MatrixTypeIterator Base;
-  public:
-
-    EIGEN_STRONG_INLINE InnerIterator(const CwiseUnaryViewImpl& unaryOp, typename CwiseUnaryViewImpl::Index outer)
-      : Base(unaryOp.derived().nestedExpression(),outer), m_functor(unaryOp.derived().functor())
-    {}
-
-    EIGEN_STRONG_INLINE InnerIterator& operator++()
-    { Base::operator++(); return *this; }
-
-    EIGEN_STRONG_INLINE typename CwiseUnaryViewImpl::Scalar value() const { return m_functor(Base::value()); }
-    EIGEN_STRONG_INLINE typename CwiseUnaryViewImpl::Scalar& valueRef() { return m_functor(Base::valueRef()); }
-
-  protected:
-    const ViewOp m_functor;
-};
-
-template<typename ViewOp, typename MatrixType>
-class CwiseUnaryViewImpl<ViewOp,MatrixType,Sparse>::ReverseInnerIterator
-    : public CwiseUnaryViewImpl<ViewOp,MatrixType,Sparse>::MatrixTypeReverseIterator
-{
-    typedef typename CwiseUnaryViewImpl::Scalar Scalar;
-    typedef typename CwiseUnaryViewImpl<ViewOp,MatrixType,Sparse>::MatrixTypeReverseIterator Base;
-  public:
-
-    EIGEN_STRONG_INLINE ReverseInnerIterator(const CwiseUnaryViewImpl& unaryOp, typename CwiseUnaryViewImpl::Index outer)
-      : Base(unaryOp.derived().nestedExpression(),outer), m_functor(unaryOp.derived().functor())
-    {}
-
-    EIGEN_STRONG_INLINE ReverseInnerIterator& operator--()
-    { Base::operator--(); return *this; }
-
-    EIGEN_STRONG_INLINE typename CwiseUnaryViewImpl::Scalar value() const { return m_functor(Base::value()); }
-    EIGEN_STRONG_INLINE typename CwiseUnaryViewImpl::Scalar& valueRef() { return m_functor(Base::valueRef()); }
-
-  protected:
-    const ViewOp m_functor;
-};
-
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-SparseMatrixBase<Derived>::operator*=(const Scalar& other)
-{
-  for (Index j=0; j<outerSize(); ++j)
-    for (typename Derived::InnerIterator i(derived(),j); i; ++i)
-      i.valueRef() *= other;
-  return derived();
-}
-
-template<typename Derived>
-EIGEN_STRONG_INLINE Derived&
-SparseMatrixBase<Derived>::operator/=(const Scalar& other)
-{
-  for (Index j=0; j<outerSize(); ++j)
-    for (typename Derived::InnerIterator i(derived(),j); i; ++i)
-      i.valueRef() /= other;
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_CWISE_UNARY_OP_H
diff --git a/lib/Eigen/src/SparseCore/SparseDenseProduct.h b/lib/Eigen/src/SparseCore/SparseDenseProduct.h
deleted file mode 100644
index ccb6ae7b..00000000
--- a/lib/Eigen/src/SparseCore/SparseDenseProduct.h
+++ /dev/null
@@ -1,311 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSEDENSEPRODUCT_H
-#define EIGEN_SPARSEDENSEPRODUCT_H
-
-namespace Eigen { 
-
-template<typename Lhs, typename Rhs, int InnerSize> struct SparseDenseProductReturnType
-{
-  typedef SparseTimeDenseProduct<Lhs,Rhs> Type;
-};
-
-template<typename Lhs, typename Rhs> struct SparseDenseProductReturnType<Lhs,Rhs,1>
-{
-  typedef typename internal::conditional<
-    Lhs::IsRowMajor,
-    SparseDenseOuterProduct<Rhs,Lhs,true>,
-    SparseDenseOuterProduct<Lhs,Rhs,false> >::type Type;
-};
-
-template<typename Lhs, typename Rhs, int InnerSize> struct DenseSparseProductReturnType
-{
-  typedef DenseTimeSparseProduct<Lhs,Rhs> Type;
-};
-
-template<typename Lhs, typename Rhs> struct DenseSparseProductReturnType<Lhs,Rhs,1>
-{
-  typedef typename internal::conditional<
-    Rhs::IsRowMajor,
-    SparseDenseOuterProduct<Rhs,Lhs,true>,
-    SparseDenseOuterProduct<Lhs,Rhs,false> >::type Type;
-};
-
-namespace internal {
-
-template<typename Lhs, typename Rhs, bool Tr>
-struct traits<SparseDenseOuterProduct<Lhs,Rhs,Tr> >
-{
-  typedef Sparse StorageKind;
-  typedef typename scalar_product_traits<typename traits<Lhs>::Scalar,
-                                         typename traits<Rhs>::Scalar>::ReturnType Scalar;
-  typedef typename Lhs::Index Index;
-  typedef typename Lhs::Nested LhsNested;
-  typedef typename Rhs::Nested RhsNested;
-  typedef typename remove_all<LhsNested>::type _LhsNested;
-  typedef typename remove_all<RhsNested>::type _RhsNested;
-
-  enum {
-    LhsCoeffReadCost = traits<_LhsNested>::CoeffReadCost,
-    RhsCoeffReadCost = traits<_RhsNested>::CoeffReadCost,
-
-    RowsAtCompileTime    = Tr ? int(traits<Rhs>::RowsAtCompileTime)     : int(traits<Lhs>::RowsAtCompileTime),
-    ColsAtCompileTime    = Tr ? int(traits<Lhs>::ColsAtCompileTime)     : int(traits<Rhs>::ColsAtCompileTime),
-    MaxRowsAtCompileTime = Tr ? int(traits<Rhs>::MaxRowsAtCompileTime)  : int(traits<Lhs>::MaxRowsAtCompileTime),
-    MaxColsAtCompileTime = Tr ? int(traits<Lhs>::MaxColsAtCompileTime)  : int(traits<Rhs>::MaxColsAtCompileTime),
-
-    Flags = Tr ? RowMajorBit : 0,
-
-    CoeffReadCost = LhsCoeffReadCost + RhsCoeffReadCost + NumTraits<Scalar>::MulCost
-  };
-};
-
-} // end namespace internal
-
-template<typename Lhs, typename Rhs, bool Tr>
-class SparseDenseOuterProduct
- : public SparseMatrixBase<SparseDenseOuterProduct<Lhs,Rhs,Tr> >
-{
-  public:
-
-    typedef SparseMatrixBase<SparseDenseOuterProduct> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(SparseDenseOuterProduct)
-    typedef internal::traits<SparseDenseOuterProduct> Traits;
-
-  private:
-
-    typedef typename Traits::LhsNested LhsNested;
-    typedef typename Traits::RhsNested RhsNested;
-    typedef typename Traits::_LhsNested _LhsNested;
-    typedef typename Traits::_RhsNested _RhsNested;
-
-  public:
-
-    class InnerIterator;
-
-    EIGEN_STRONG_INLINE SparseDenseOuterProduct(const Lhs& lhs, const Rhs& rhs)
-      : m_lhs(lhs), m_rhs(rhs)
-    {
-      EIGEN_STATIC_ASSERT(!Tr,YOU_MADE_A_PROGRAMMING_MISTAKE);
-    }
-
-    EIGEN_STRONG_INLINE SparseDenseOuterProduct(const Rhs& rhs, const Lhs& lhs)
-      : m_lhs(lhs), m_rhs(rhs)
-    {
-      EIGEN_STATIC_ASSERT(Tr,YOU_MADE_A_PROGRAMMING_MISTAKE);
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const { return Tr ? m_rhs.rows() : m_lhs.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return Tr ? m_lhs.cols() : m_rhs.cols(); }
-
-    EIGEN_STRONG_INLINE const _LhsNested& lhs() const { return m_lhs; }
-    EIGEN_STRONG_INLINE const _RhsNested& rhs() const { return m_rhs; }
-
-  protected:
-    LhsNested m_lhs;
-    RhsNested m_rhs;
-};
-
-template<typename Lhs, typename Rhs, bool Transpose>
-class SparseDenseOuterProduct<Lhs,Rhs,Transpose>::InnerIterator : public _LhsNested::InnerIterator
-{
-    typedef typename _LhsNested::InnerIterator Base;
-    typedef typename SparseDenseOuterProduct::Index Index;
-  public:
-    EIGEN_STRONG_INLINE InnerIterator(const SparseDenseOuterProduct& prod, Index outer)
-      : Base(prod.lhs(), 0), m_outer(outer), m_factor(get(prod.rhs(), outer, typename internal::traits<Rhs>::StorageKind() ))
-    { }
-
-    inline Index outer() const { return m_outer; }
-    inline Index row() const { return Transpose ? m_outer : Base::index(); }
-    inline Index col() const { return Transpose ? Base::index() : m_outer; }
-
-    inline Scalar value() const { return Base::value() * m_factor; }
-
-  protected:
-    static Scalar get(const _RhsNested &rhs, Index outer, Dense = Dense())
-    {
-      return rhs.coeff(outer);
-    }
-    
-    static Scalar get(const _RhsNested &rhs, Index outer, Sparse = Sparse())
-    {
-      typename Traits::_RhsNested::InnerIterator it(rhs, outer);
-      if (it && it.index()==0)
-        return it.value();
-      
-      return Scalar(0);
-    }
-    
-    Index m_outer;
-    Scalar m_factor;
-};
-
-namespace internal {
-template<typename Lhs, typename Rhs>
-struct traits<SparseTimeDenseProduct<Lhs,Rhs> >
- : traits<ProductBase<SparseTimeDenseProduct<Lhs,Rhs>, Lhs, Rhs> >
-{
-  typedef Dense StorageKind;
-  typedef MatrixXpr XprKind;
-};
-
-template<typename SparseLhsType, typename DenseRhsType, typename DenseResType,
-         int LhsStorageOrder = ((SparseLhsType::Flags&RowMajorBit)==RowMajorBit) ? RowMajor : ColMajor,
-         bool ColPerCol = ((DenseRhsType::Flags&RowMajorBit)==0) || DenseRhsType::ColsAtCompileTime==1>
-struct sparse_time_dense_product_impl;
-
-template<typename SparseLhsType, typename DenseRhsType, typename DenseResType>
-struct sparse_time_dense_product_impl<SparseLhsType,DenseRhsType,DenseResType, RowMajor, true>
-{
-  typedef typename internal::remove_all<SparseLhsType>::type Lhs;
-  typedef typename internal::remove_all<DenseRhsType>::type Rhs;
-  typedef typename internal::remove_all<DenseResType>::type Res;
-  typedef typename Lhs::Index Index;
-  typedef typename Lhs::InnerIterator LhsInnerIterator;
-  static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const typename Res::Scalar& alpha)
-  {
-    for(Index c=0; c<rhs.cols(); ++c)
-    {
-      Index n = lhs.outerSize();
-      for(Index j=0; j<n; ++j)
-      {
-        typename Res::Scalar tmp(0);
-        for(LhsInnerIterator it(lhs,j); it ;++it)
-          tmp += it.value() * rhs.coeff(it.index(),c);
-        res.coeffRef(j,c) += alpha * tmp;
-      }
-    }
-  }
-};
-
-template<typename SparseLhsType, typename DenseRhsType, typename DenseResType>
-struct sparse_time_dense_product_impl<SparseLhsType,DenseRhsType,DenseResType, ColMajor, true>
-{
-  typedef typename internal::remove_all<SparseLhsType>::type Lhs;
-  typedef typename internal::remove_all<DenseRhsType>::type Rhs;
-  typedef typename internal::remove_all<DenseResType>::type Res;
-  typedef typename Lhs::InnerIterator LhsInnerIterator;
-  typedef typename Lhs::Index Index;
-  static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const typename Res::Scalar& alpha)
-  {
-    for(Index c=0; c<rhs.cols(); ++c)
-    {
-      for(Index j=0; j<lhs.outerSize(); ++j)
-      {
-        typename Res::Scalar rhs_j = alpha * rhs.coeff(j,c);
-        for(LhsInnerIterator it(lhs,j); it ;++it)
-          res.coeffRef(it.index(),c) += it.value() * rhs_j;
-      }
-    }
-  }
-};
-
-template<typename SparseLhsType, typename DenseRhsType, typename DenseResType>
-struct sparse_time_dense_product_impl<SparseLhsType,DenseRhsType,DenseResType, RowMajor, false>
-{
-  typedef typename internal::remove_all<SparseLhsType>::type Lhs;
-  typedef typename internal::remove_all<DenseRhsType>::type Rhs;
-  typedef typename internal::remove_all<DenseResType>::type Res;
-  typedef typename Lhs::InnerIterator LhsInnerIterator;
-  typedef typename Lhs::Index Index;
-  static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const typename Res::Scalar& alpha)
-  {
-    for(Index j=0; j<lhs.outerSize(); ++j)
-    {
-      typename Res::RowXpr res_j(res.row(j));
-      for(LhsInnerIterator it(lhs,j); it ;++it)
-        res_j += (alpha*it.value()) * rhs.row(it.index());
-    }
-  }
-};
-
-template<typename SparseLhsType, typename DenseRhsType, typename DenseResType>
-struct sparse_time_dense_product_impl<SparseLhsType,DenseRhsType,DenseResType, ColMajor, false>
-{
-  typedef typename internal::remove_all<SparseLhsType>::type Lhs;
-  typedef typename internal::remove_all<DenseRhsType>::type Rhs;
-  typedef typename internal::remove_all<DenseResType>::type Res;
-  typedef typename Lhs::InnerIterator LhsInnerIterator;
-  typedef typename Lhs::Index Index;
-  static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const typename Res::Scalar& alpha)
-  {
-    for(Index j=0; j<lhs.outerSize(); ++j)
-    {
-      typename Rhs::ConstRowXpr rhs_j(rhs.row(j));
-      for(LhsInnerIterator it(lhs,j); it ;++it)
-        res.row(it.index()) += (alpha*it.value()) * rhs_j;
-    }
-  }
-};
-
-template<typename SparseLhsType, typename DenseRhsType, typename DenseResType,typename AlphaType>
-inline void sparse_time_dense_product(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const AlphaType& alpha)
-{
-  sparse_time_dense_product_impl<SparseLhsType,DenseRhsType,DenseResType>::run(lhs, rhs, res, alpha);
-}
-
-} // end namespace internal
-
-template<typename Lhs, typename Rhs>
-class SparseTimeDenseProduct
-  : public ProductBase<SparseTimeDenseProduct<Lhs,Rhs>, Lhs, Rhs>
-{
-  public:
-    EIGEN_PRODUCT_PUBLIC_INTERFACE(SparseTimeDenseProduct)
-
-    SparseTimeDenseProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)
-    {}
-
-    template<typename Dest> void scaleAndAddTo(Dest& dest, const Scalar& alpha) const
-    {
-      internal::sparse_time_dense_product(m_lhs, m_rhs, dest, alpha);
-    }
-
-  private:
-    SparseTimeDenseProduct& operator=(const SparseTimeDenseProduct&);
-};
-
-
-// dense = dense * sparse
-namespace internal {
-template<typename Lhs, typename Rhs>
-struct traits<DenseTimeSparseProduct<Lhs,Rhs> >
- : traits<ProductBase<DenseTimeSparseProduct<Lhs,Rhs>, Lhs, Rhs> >
-{
-  typedef Dense StorageKind;
-};
-} // end namespace internal
-
-template<typename Lhs, typename Rhs>
-class DenseTimeSparseProduct
-  : public ProductBase<DenseTimeSparseProduct<Lhs,Rhs>, Lhs, Rhs>
-{
-  public:
-    EIGEN_PRODUCT_PUBLIC_INTERFACE(DenseTimeSparseProduct)
-
-    DenseTimeSparseProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)
-    {}
-
-    template<typename Dest> void scaleAndAddTo(Dest& dest, const Scalar& alpha) const
-    {
-      Transpose<const _LhsNested> lhs_t(m_lhs);
-      Transpose<const _RhsNested> rhs_t(m_rhs);
-      Transpose<Dest> dest_t(dest);
-      internal::sparse_time_dense_product(rhs_t, lhs_t, dest_t, alpha);
-    }
-
-  private:
-    DenseTimeSparseProduct& operator=(const DenseTimeSparseProduct&);
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSEDENSEPRODUCT_H
diff --git a/lib/Eigen/src/SparseCore/SparseDiagonalProduct.h b/lib/Eigen/src/SparseCore/SparseDiagonalProduct.h
deleted file mode 100644
index 1bb590e6..00000000
--- a/lib/Eigen/src/SparseCore/SparseDiagonalProduct.h
+++ /dev/null
@@ -1,196 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_DIAGONAL_PRODUCT_H
-#define EIGEN_SPARSE_DIAGONAL_PRODUCT_H
-
-namespace Eigen { 
-
-// The product of a diagonal matrix with a sparse matrix can be easily
-// implemented using expression template.
-// We have two consider very different cases:
-// 1 - diag * row-major sparse
-//     => each inner vector <=> scalar * sparse vector product
-//     => so we can reuse CwiseUnaryOp::InnerIterator
-// 2 - diag * col-major sparse
-//     => each inner vector <=> densevector * sparse vector cwise product
-//     => again, we can reuse specialization of CwiseBinaryOp::InnerIterator
-//        for that particular case
-// The two other cases are symmetric.
-
-namespace internal {
-
-template<typename Lhs, typename Rhs>
-struct traits<SparseDiagonalProduct<Lhs, Rhs> >
-{
-  typedef typename remove_all<Lhs>::type _Lhs;
-  typedef typename remove_all<Rhs>::type _Rhs;
-  typedef typename _Lhs::Scalar Scalar;
-  typedef typename promote_index_type<typename traits<Lhs>::Index,
-                                         typename traits<Rhs>::Index>::type Index;
-  typedef Sparse StorageKind;
-  typedef MatrixXpr XprKind;
-  enum {
-    RowsAtCompileTime = _Lhs::RowsAtCompileTime,
-    ColsAtCompileTime = _Rhs::ColsAtCompileTime,
-
-    MaxRowsAtCompileTime = _Lhs::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = _Rhs::MaxColsAtCompileTime,
-
-    SparseFlags = is_diagonal<_Lhs>::ret ? int(_Rhs::Flags) : int(_Lhs::Flags),
-    Flags = (SparseFlags&RowMajorBit),
-    CoeffReadCost = Dynamic
-  };
-};
-
-enum {SDP_IsDiagonal, SDP_IsSparseRowMajor, SDP_IsSparseColMajor};
-template<typename Lhs, typename Rhs, typename SparseDiagonalProductType, int RhsMode, int LhsMode>
-class sparse_diagonal_product_inner_iterator_selector;
-
-} // end namespace internal
-
-template<typename Lhs, typename Rhs>
-class SparseDiagonalProduct
-  : public SparseMatrixBase<SparseDiagonalProduct<Lhs,Rhs> >,
-    internal::no_assignment_operator
-{
-    typedef typename Lhs::Nested LhsNested;
-    typedef typename Rhs::Nested RhsNested;
-
-    typedef typename internal::remove_all<LhsNested>::type _LhsNested;
-    typedef typename internal::remove_all<RhsNested>::type _RhsNested;
-
-    enum {
-      LhsMode = internal::is_diagonal<_LhsNested>::ret ? internal::SDP_IsDiagonal
-              : (_LhsNested::Flags&RowMajorBit) ? internal::SDP_IsSparseRowMajor : internal::SDP_IsSparseColMajor,
-      RhsMode = internal::is_diagonal<_RhsNested>::ret ? internal::SDP_IsDiagonal
-              : (_RhsNested::Flags&RowMajorBit) ? internal::SDP_IsSparseRowMajor : internal::SDP_IsSparseColMajor
-    };
-
-  public:
-
-    EIGEN_SPARSE_PUBLIC_INTERFACE(SparseDiagonalProduct)
-
-    typedef internal::sparse_diagonal_product_inner_iterator_selector
-                      <_LhsNested,_RhsNested,SparseDiagonalProduct,LhsMode,RhsMode> InnerIterator;
-    
-    // We do not want ReverseInnerIterator for diagonal-sparse products,
-    // but this dummy declaration is needed to make diag * sparse * diag compile.
-    class ReverseInnerIterator;
-
-    EIGEN_STRONG_INLINE SparseDiagonalProduct(const Lhs& lhs, const Rhs& rhs)
-      : m_lhs(lhs), m_rhs(rhs)
-    {
-      eigen_assert(lhs.cols() == rhs.rows() && "invalid sparse matrix * diagonal matrix product");
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const { return m_lhs.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return m_rhs.cols(); }
-
-    EIGEN_STRONG_INLINE const _LhsNested& lhs() const { return m_lhs; }
-    EIGEN_STRONG_INLINE const _RhsNested& rhs() const { return m_rhs; }
-
-  protected:
-    LhsNested m_lhs;
-    RhsNested m_rhs;
-};
-
-namespace internal {
-
-template<typename Lhs, typename Rhs, typename SparseDiagonalProductType>
-class sparse_diagonal_product_inner_iterator_selector
-<Lhs,Rhs,SparseDiagonalProductType,SDP_IsDiagonal,SDP_IsSparseRowMajor>
-  : public CwiseUnaryOp<scalar_multiple_op<typename Lhs::Scalar>,const Rhs>::InnerIterator
-{
-    typedef typename CwiseUnaryOp<scalar_multiple_op<typename Lhs::Scalar>,const Rhs>::InnerIterator Base;
-    typedef typename Lhs::Index Index;
-  public:
-    inline sparse_diagonal_product_inner_iterator_selector(
-              const SparseDiagonalProductType& expr, Index outer)
-      : Base(expr.rhs()*(expr.lhs().diagonal().coeff(outer)), outer)
-    {}
-};
-
-template<typename Lhs, typename Rhs, typename SparseDiagonalProductType>
-class sparse_diagonal_product_inner_iterator_selector
-<Lhs,Rhs,SparseDiagonalProductType,SDP_IsDiagonal,SDP_IsSparseColMajor>
-  : public CwiseBinaryOp<
-      scalar_product_op<typename Lhs::Scalar>,
-      const typename Rhs::ConstInnerVectorReturnType,
-      const typename Lhs::DiagonalVectorType>::InnerIterator
-{
-    typedef typename CwiseBinaryOp<
-      scalar_product_op<typename Lhs::Scalar>,
-      const typename Rhs::ConstInnerVectorReturnType,
-      const typename Lhs::DiagonalVectorType>::InnerIterator Base;
-    typedef typename Lhs::Index Index;
-    Index m_outer;
-  public:
-    inline sparse_diagonal_product_inner_iterator_selector(
-              const SparseDiagonalProductType& expr, Index outer)
-      : Base(expr.rhs().innerVector(outer) .cwiseProduct(expr.lhs().diagonal()), 0), m_outer(outer)
-    {}
-    
-    inline Index outer() const { return m_outer; }
-    inline Index col() const { return m_outer; }
-};
-
-template<typename Lhs, typename Rhs, typename SparseDiagonalProductType>
-class sparse_diagonal_product_inner_iterator_selector
-<Lhs,Rhs,SparseDiagonalProductType,SDP_IsSparseColMajor,SDP_IsDiagonal>
-  : public CwiseUnaryOp<scalar_multiple_op<typename Rhs::Scalar>,const Lhs>::InnerIterator
-{
-    typedef typename CwiseUnaryOp<scalar_multiple_op<typename Rhs::Scalar>,const Lhs>::InnerIterator Base;
-    typedef typename Lhs::Index Index;
-  public:
-    inline sparse_diagonal_product_inner_iterator_selector(
-              const SparseDiagonalProductType& expr, Index outer)
-      : Base(expr.lhs()*expr.rhs().diagonal().coeff(outer), outer)
-    {}
-};
-
-template<typename Lhs, typename Rhs, typename SparseDiagonalProductType>
-class sparse_diagonal_product_inner_iterator_selector
-<Lhs,Rhs,SparseDiagonalProductType,SDP_IsSparseRowMajor,SDP_IsDiagonal>
-  : public CwiseBinaryOp<
-      scalar_product_op<typename Rhs::Scalar>,
-      const typename Lhs::ConstInnerVectorReturnType,
-      const Transpose<const typename Rhs::DiagonalVectorType> >::InnerIterator
-{
-    typedef typename CwiseBinaryOp<
-      scalar_product_op<typename Rhs::Scalar>,
-      const typename Lhs::ConstInnerVectorReturnType,
-      const Transpose<const typename Rhs::DiagonalVectorType> >::InnerIterator Base;
-    typedef typename Lhs::Index Index;
-    Index m_outer;
-  public:
-    inline sparse_diagonal_product_inner_iterator_selector(
-              const SparseDiagonalProductType& expr, Index outer)
-      : Base(expr.lhs().innerVector(outer) .cwiseProduct(expr.rhs().diagonal().transpose()), 0), m_outer(outer)
-    {}
-    
-    inline Index outer() const { return m_outer; }
-    inline Index row() const { return m_outer; }
-};
-
-} // end namespace internal
-
-// SparseMatrixBase functions
-
-template<typename Derived>
-template<typename OtherDerived>
-const SparseDiagonalProduct<Derived,OtherDerived>
-SparseMatrixBase<Derived>::operator*(const DiagonalBase<OtherDerived> &other) const
-{
-  return SparseDiagonalProduct<Derived,OtherDerived>(this->derived(), other.derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_DIAGONAL_PRODUCT_H
diff --git a/lib/Eigen/src/SparseCore/SparseDot.h b/lib/Eigen/src/SparseCore/SparseDot.h
deleted file mode 100644
index db39c9ae..00000000
--- a/lib/Eigen/src/SparseCore/SparseDot.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_DOT_H
-#define EIGEN_SPARSE_DOT_H
-
-namespace Eigen { 
-
-template<typename Derived>
-template<typename OtherDerived>
-typename internal::traits<Derived>::Scalar
-SparseMatrixBase<Derived>::dot(const MatrixBase<OtherDerived>& other) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-  EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(Derived,OtherDerived)
-  EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename OtherDerived::Scalar>::value),
-    YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-
-  eigen_assert(size() == other.size());
-  eigen_assert(other.size()>0 && "you are using a non initialized vector");
-
-  typename Derived::InnerIterator i(derived(),0);
-  Scalar res(0);
-  while (i)
-  {
-    res += numext::conj(i.value()) * other.coeff(i.index());
-    ++i;
-  }
-  return res;
-}
-
-template<typename Derived>
-template<typename OtherDerived>
-typename internal::traits<Derived>::Scalar
-SparseMatrixBase<Derived>::dot(const SparseMatrixBase<OtherDerived>& other) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
-  EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(Derived,OtherDerived)
-  EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename OtherDerived::Scalar>::value),
-    YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-
-  eigen_assert(size() == other.size());
-
-  typedef typename Derived::Nested  Nested;
-  typedef typename OtherDerived::Nested  OtherNested;
-  typedef typename internal::remove_all<Nested>::type  NestedCleaned;
-  typedef typename internal::remove_all<OtherNested>::type  OtherNestedCleaned;
-
-  Nested nthis(derived());
-  OtherNested nother(other.derived());
-
-  typename NestedCleaned::InnerIterator i(nthis,0);
-  typename OtherNestedCleaned::InnerIterator j(nother,0);
-  Scalar res(0);
-  while (i && j)
-  {
-    if (i.index()==j.index())
-    {
-      res += numext::conj(i.value()) * j.value();
-      ++i; ++j;
-    }
-    else if (i.index()<j.index())
-      ++i;
-    else
-      ++j;
-  }
-  return res;
-}
-
-template<typename Derived>
-inline typename NumTraits<typename internal::traits<Derived>::Scalar>::Real
-SparseMatrixBase<Derived>::squaredNorm() const
-{
-  return numext::real((*this).cwiseAbs2().sum());
-}
-
-template<typename Derived>
-inline typename NumTraits<typename internal::traits<Derived>::Scalar>::Real
-SparseMatrixBase<Derived>::norm() const
-{
-  using std::sqrt;
-  return sqrt(squaredNorm());
-}
-
-template<typename Derived>
-inline typename NumTraits<typename internal::traits<Derived>::Scalar>::Real
-SparseMatrixBase<Derived>::blueNorm() const
-{
-  return internal::blueNorm_impl(*this);
-}
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_DOT_H
diff --git a/lib/Eigen/src/SparseCore/SparseFuzzy.h b/lib/Eigen/src/SparseCore/SparseFuzzy.h
deleted file mode 100644
index 45f36e9e..00000000
--- a/lib/Eigen/src/SparseCore/SparseFuzzy.h
+++ /dev/null
@@ -1,26 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_FUZZY_H
-#define EIGEN_SPARSE_FUZZY_H
-
-// template<typename Derived>
-// template<typename OtherDerived>
-// bool SparseMatrixBase<Derived>::isApprox(
-//   const OtherDerived& other,
-//   typename NumTraits<Scalar>::Real prec
-// ) const
-// {
-//   const typename internal::nested<Derived,2>::type nested(derived());
-//   const typename internal::nested<OtherDerived,2>::type otherNested(other.derived());
-//   return    (nested - otherNested).cwise().abs2().sum()
-//          <= prec * prec * (std::min)(nested.cwise().abs2().sum(), otherNested.cwise().abs2().sum());
-// }
-
-#endif // EIGEN_SPARSE_FUZZY_H
diff --git a/lib/Eigen/src/SparseCore/SparseMatrix.h b/lib/Eigen/src/SparseCore/SparseMatrix.h
deleted file mode 100644
index 2ff20155..00000000
--- a/lib/Eigen/src/SparseCore/SparseMatrix.h
+++ /dev/null
@@ -1,1262 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSEMATRIX_H
-#define EIGEN_SPARSEMATRIX_H
-
-namespace Eigen { 
-
-/** \ingroup SparseCore_Module
-  *
-  * \class SparseMatrix
-  *
-  * \brief A versatible sparse matrix representation
-  *
-  * This class implements a more versatile variants of the common \em compressed row/column storage format.
-  * Each colmun's (resp. row) non zeros are stored as a pair of value with associated row (resp. colmiun) index.
-  * All the non zeros are stored in a single large buffer. Unlike the \em compressed format, there might be extra
-  * space inbetween the nonzeros of two successive colmuns (resp. rows) such that insertion of new non-zero
-  * can be done with limited memory reallocation and copies.
-  *
-  * A call to the function makeCompressed() turns the matrix into the standard \em compressed format
-  * compatible with many library.
-  *
-  * More details on this storage sceheme are given in the \ref TutorialSparse "manual pages".
-  *
-  * \tparam _Scalar the scalar type, i.e. the type of the coefficients
-  * \tparam _Options Union of bit flags controlling the storage scheme. Currently the only possibility
-  *                 is ColMajor or RowMajor. The default is 0 which means column-major.
-  * \tparam _Index the type of the indices. It has to be a \b signed type (e.g., short, int, std::ptrdiff_t). Default is \c int.
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_SPARSEMATRIX_PLUGIN.
-  */
-
-namespace internal {
-template<typename _Scalar, int _Options, typename _Index>
-struct traits<SparseMatrix<_Scalar, _Options, _Index> >
-{
-  typedef _Scalar Scalar;
-  typedef _Index Index;
-  typedef Sparse StorageKind;
-  typedef MatrixXpr XprKind;
-  enum {
-    RowsAtCompileTime = Dynamic,
-    ColsAtCompileTime = Dynamic,
-    MaxRowsAtCompileTime = Dynamic,
-    MaxColsAtCompileTime = Dynamic,
-    Flags = _Options | NestByRefBit | LvalueBit,
-    CoeffReadCost = NumTraits<Scalar>::ReadCost,
-    SupportedAccessPatterns = InnerRandomAccessPattern
-  };
-};
-
-template<typename _Scalar, int _Options, typename _Index, int DiagIndex>
-struct traits<Diagonal<const SparseMatrix<_Scalar, _Options, _Index>, DiagIndex> >
-{
-  typedef SparseMatrix<_Scalar, _Options, _Index> MatrixType;
-  typedef typename nested<MatrixType>::type MatrixTypeNested;
-  typedef typename remove_reference<MatrixTypeNested>::type _MatrixTypeNested;
-
-  typedef _Scalar Scalar;
-  typedef Dense StorageKind;
-  typedef _Index Index;
-  typedef MatrixXpr XprKind;
-
-  enum {
-    RowsAtCompileTime = Dynamic,
-    ColsAtCompileTime = 1,
-    MaxRowsAtCompileTime = Dynamic,
-    MaxColsAtCompileTime = 1,
-    Flags = 0,
-    CoeffReadCost = _MatrixTypeNested::CoeffReadCost*10
-  };
-};
-
-} // end namespace internal
-
-template<typename _Scalar, int _Options, typename _Index>
-class SparseMatrix
-  : public SparseMatrixBase<SparseMatrix<_Scalar, _Options, _Index> >
-{
-  public:
-    EIGEN_SPARSE_PUBLIC_INTERFACE(SparseMatrix)
-    EIGEN_SPARSE_INHERIT_ASSIGNMENT_OPERATOR(SparseMatrix, +=)
-    EIGEN_SPARSE_INHERIT_ASSIGNMENT_OPERATOR(SparseMatrix, -=)
-
-    typedef MappedSparseMatrix<Scalar,Flags> Map;
-    using Base::IsRowMajor;
-    typedef internal::CompressedStorage<Scalar,Index> Storage;
-    enum {
-      Options = _Options
-    };
-
-  protected:
-
-    typedef SparseMatrix<Scalar,(Flags&~RowMajorBit)|(IsRowMajor?RowMajorBit:0)> TransposedSparseMatrix;
-
-    Index m_outerSize;
-    Index m_innerSize;
-    Index* m_outerIndex;
-    Index* m_innerNonZeros;     // optional, if null then the data is compressed
-    Storage m_data;
-    
-    Eigen::Map<Matrix<Index,Dynamic,1> > innerNonZeros() { return Eigen::Map<Matrix<Index,Dynamic,1> >(m_innerNonZeros, m_innerNonZeros?m_outerSize:0); }
-    const  Eigen::Map<const Matrix<Index,Dynamic,1> > innerNonZeros() const { return Eigen::Map<const Matrix<Index,Dynamic,1> >(m_innerNonZeros, m_innerNonZeros?m_outerSize:0); }
-
-  public:
-    
-    /** \returns whether \c *this is in compressed form. */
-    inline bool isCompressed() const { return m_innerNonZeros==0; }
-
-    /** \returns the number of rows of the matrix */
-    inline Index rows() const { return IsRowMajor ? m_outerSize : m_innerSize; }
-    /** \returns the number of columns of the matrix */
-    inline Index cols() const { return IsRowMajor ? m_innerSize : m_outerSize; }
-
-    /** \returns the number of rows (resp. columns) of the matrix if the storage order column major (resp. row major) */
-    inline Index innerSize() const { return m_innerSize; }
-    /** \returns the number of columns (resp. rows) of the matrix if the storage order column major (resp. row major) */
-    inline Index outerSize() const { return m_outerSize; }
-    
-    /** \returns a const pointer to the array of values.
-      * This function is aimed at interoperability with other libraries.
-      * \sa innerIndexPtr(), outerIndexPtr() */
-    inline const Scalar* valuePtr() const { return &m_data.value(0); }
-    /** \returns a non-const pointer to the array of values.
-      * This function is aimed at interoperability with other libraries.
-      * \sa innerIndexPtr(), outerIndexPtr() */
-    inline Scalar* valuePtr() { return &m_data.value(0); }
-
-    /** \returns a const pointer to the array of inner indices.
-      * This function is aimed at interoperability with other libraries.
-      * \sa valuePtr(), outerIndexPtr() */
-    inline const Index* innerIndexPtr() const { return &m_data.index(0); }
-    /** \returns a non-const pointer to the array of inner indices.
-      * This function is aimed at interoperability with other libraries.
-      * \sa valuePtr(), outerIndexPtr() */
-    inline Index* innerIndexPtr() { return &m_data.index(0); }
-
-    /** \returns a const pointer to the array of the starting positions of the inner vectors.
-      * This function is aimed at interoperability with other libraries.
-      * \sa valuePtr(), innerIndexPtr() */
-    inline const Index* outerIndexPtr() const { return m_outerIndex; }
-    /** \returns a non-const pointer to the array of the starting positions of the inner vectors.
-      * This function is aimed at interoperability with other libraries.
-      * \sa valuePtr(), innerIndexPtr() */
-    inline Index* outerIndexPtr() { return m_outerIndex; }
-
-    /** \returns a const pointer to the array of the number of non zeros of the inner vectors.
-      * This function is aimed at interoperability with other libraries.
-      * \warning it returns the null pointer 0 in compressed mode */
-    inline const Index* innerNonZeroPtr() const { return m_innerNonZeros; }
-    /** \returns a non-const pointer to the array of the number of non zeros of the inner vectors.
-      * This function is aimed at interoperability with other libraries.
-      * \warning it returns the null pointer 0 in compressed mode */
-    inline Index* innerNonZeroPtr() { return m_innerNonZeros; }
-
-    /** \internal */
-    inline Storage& data() { return m_data; }
-    /** \internal */
-    inline const Storage& data() const { return m_data; }
-
-    /** \returns the value of the matrix at position \a i, \a j
-      * This function returns Scalar(0) if the element is an explicit \em zero */
-    inline Scalar coeff(Index row, Index col) const
-    {
-      eigen_assert(row>=0 && row<rows() && col>=0 && col<cols());
-      
-      const Index outer = IsRowMajor ? row : col;
-      const Index inner = IsRowMajor ? col : row;
-      Index end = m_innerNonZeros ? m_outerIndex[outer] + m_innerNonZeros[outer] : m_outerIndex[outer+1];
-      return m_data.atInRange(m_outerIndex[outer], end, inner);
-    }
-
-    /** \returns a non-const reference to the value of the matrix at position \a i, \a j
-      *
-      * If the element does not exist then it is inserted via the insert(Index,Index) function
-      * which itself turns the matrix into a non compressed form if that was not the case.
-      *
-      * This is a O(log(nnz_j)) operation (binary search) plus the cost of insert(Index,Index)
-      * function if the element does not already exist.
-      */
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      eigen_assert(row>=0 && row<rows() && col>=0 && col<cols());
-      
-      const Index outer = IsRowMajor ? row : col;
-      const Index inner = IsRowMajor ? col : row;
-
-      Index start = m_outerIndex[outer];
-      Index end = m_innerNonZeros ? m_outerIndex[outer] + m_innerNonZeros[outer] : m_outerIndex[outer+1];
-      eigen_assert(end>=start && "you probably called coeffRef on a non finalized matrix");
-      if(end<=start)
-        return insert(row,col);
-      const Index p = m_data.searchLowerIndex(start,end-1,inner);
-      if((p<end) && (m_data.index(p)==inner))
-        return m_data.value(p);
-      else
-        return insert(row,col);
-    }
-
-    /** \returns a reference to a novel non zero coefficient with coordinates \a row x \a col.
-      * The non zero coefficient must \b not already exist.
-      *
-      * If the matrix \c *this is in compressed mode, then \c *this is turned into uncompressed
-      * mode while reserving room for 2 non zeros per inner vector. It is strongly recommended to first
-      * call reserve(const SizesType &) to reserve a more appropriate number of elements per
-      * inner vector that better match your scenario.
-      *
-      * This function performs a sorted insertion in O(1) if the elements of each inner vector are
-      * inserted in increasing inner index order, and in O(nnz_j) for a random insertion.
-      *
-      */
-    Scalar& insert(Index row, Index col)
-    {
-      eigen_assert(row>=0 && row<rows() && col>=0 && col<cols());
-      
-      if(isCompressed())
-      {
-        reserve(Matrix<Index,Dynamic,1>::Constant(outerSize(), 2));
-      }
-      return insertUncompressed(row,col);
-    }
-
-  public:
-
-    class InnerIterator;
-    class ReverseInnerIterator;
-
-    /** Removes all non zeros but keep allocated memory */
-    inline void setZero()
-    {
-      m_data.clear();
-      memset(m_outerIndex, 0, (m_outerSize+1)*sizeof(Index));
-      if(m_innerNonZeros)
-        memset(m_innerNonZeros, 0, (m_outerSize)*sizeof(Index));
-    }
-
-    /** \returns the number of non zero coefficients */
-    inline Index nonZeros() const
-    {
-      if(m_innerNonZeros)
-        return innerNonZeros().sum();
-      return static_cast<Index>(m_data.size());
-    }
-
-    /** Preallocates \a reserveSize non zeros.
-      *
-      * Precondition: the matrix must be in compressed mode. */
-    inline void reserve(Index reserveSize)
-    {
-      eigen_assert(isCompressed() && "This function does not make sense in non compressed mode.");
-      m_data.reserve(reserveSize);
-    }
-    
-    #ifdef EIGEN_PARSED_BY_DOXYGEN
-    /** Preallocates \a reserveSize[\c j] non zeros for each column (resp. row) \c j.
-      *
-      * This function turns the matrix in non-compressed mode */
-    template<class SizesType>
-    inline void reserve(const SizesType& reserveSizes);
-    #else
-    template<class SizesType>
-    inline void reserve(const SizesType& reserveSizes, const typename SizesType::value_type& enableif = typename SizesType::value_type())
-    {
-      EIGEN_UNUSED_VARIABLE(enableif);
-      reserveInnerVectors(reserveSizes);
-    }
-    template<class SizesType>
-    inline void reserve(const SizesType& reserveSizes, const typename SizesType::Scalar& enableif =
-    #if (!defined(_MSC_VER)) || (_MSC_VER>=1500) // MSVC 2005 fails to compile with this typename
-        typename
-    #endif
-        SizesType::Scalar())
-    {
-      EIGEN_UNUSED_VARIABLE(enableif);
-      reserveInnerVectors(reserveSizes);
-    }
-    #endif // EIGEN_PARSED_BY_DOXYGEN
-  protected:
-    template<class SizesType>
-    inline void reserveInnerVectors(const SizesType& reserveSizes)
-    {
-      if(isCompressed())
-      {
-        std::size_t totalReserveSize = 0;
-        // turn the matrix into non-compressed mode
-        m_innerNonZeros = static_cast<Index*>(std::malloc(m_outerSize * sizeof(Index)));
-        if (!m_innerNonZeros) internal::throw_std_bad_alloc();
-        
-        // temporarily use m_innerSizes to hold the new starting points.
-        Index* newOuterIndex = m_innerNonZeros;
-        
-        Index count = 0;
-        for(Index j=0; j<m_outerSize; ++j)
-        {
-          newOuterIndex[j] = count;
-          count += reserveSizes[j] + (m_outerIndex[j+1]-m_outerIndex[j]);
-          totalReserveSize += reserveSizes[j];
-        }
-        m_data.reserve(totalReserveSize);
-        Index previousOuterIndex = m_outerIndex[m_outerSize];
-        for(Index j=m_outerSize-1; j>=0; --j)
-        {
-          Index innerNNZ = previousOuterIndex - m_outerIndex[j];
-          for(Index i=innerNNZ-1; i>=0; --i)
-          {
-            m_data.index(newOuterIndex[j]+i) = m_data.index(m_outerIndex[j]+i);
-            m_data.value(newOuterIndex[j]+i) = m_data.value(m_outerIndex[j]+i);
-          }
-          previousOuterIndex = m_outerIndex[j];
-          m_outerIndex[j] = newOuterIndex[j];
-          m_innerNonZeros[j] = innerNNZ;
-        }
-        m_outerIndex[m_outerSize] = m_outerIndex[m_outerSize-1] + m_innerNonZeros[m_outerSize-1] + reserveSizes[m_outerSize-1];
-        
-        m_data.resize(m_outerIndex[m_outerSize]);
-      }
-      else
-      {
-        Index* newOuterIndex = static_cast<Index*>(std::malloc((m_outerSize+1)*sizeof(Index)));
-        if (!newOuterIndex) internal::throw_std_bad_alloc();
-        
-        Index count = 0;
-        for(Index j=0; j<m_outerSize; ++j)
-        {
-          newOuterIndex[j] = count;
-          Index alreadyReserved = (m_outerIndex[j+1]-m_outerIndex[j]) - m_innerNonZeros[j];
-          Index toReserve = std::max<Index>(reserveSizes[j], alreadyReserved);
-          count += toReserve + m_innerNonZeros[j];
-        }
-        newOuterIndex[m_outerSize] = count;
-        
-        m_data.resize(count);
-        for(Index j=m_outerSize-1; j>=0; --j)
-        {
-          Index offset = newOuterIndex[j] - m_outerIndex[j];
-          if(offset>0)
-          {
-            Index innerNNZ = m_innerNonZeros[j];
-            for(Index i=innerNNZ-1; i>=0; --i)
-            {
-              m_data.index(newOuterIndex[j]+i) = m_data.index(m_outerIndex[j]+i);
-              m_data.value(newOuterIndex[j]+i) = m_data.value(m_outerIndex[j]+i);
-            }
-          }
-        }
-        
-        std::swap(m_outerIndex, newOuterIndex);
-        std::free(newOuterIndex);
-      }
-      
-    }
-  public:
-
-    //--- low level purely coherent filling ---
-
-    /** \internal
-      * \returns a reference to the non zero coefficient at position \a row, \a col assuming that:
-      * - the nonzero does not already exist
-      * - the new coefficient is the last one according to the storage order
-      *
-      * Before filling a given inner vector you must call the statVec(Index) function.
-      *
-      * After an insertion session, you should call the finalize() function.
-      *
-      * \sa insert, insertBackByOuterInner, startVec */
-    inline Scalar& insertBack(Index row, Index col)
-    {
-      return insertBackByOuterInner(IsRowMajor?row:col, IsRowMajor?col:row);
-    }
-
-    /** \internal
-      * \sa insertBack, startVec */
-    inline Scalar& insertBackByOuterInner(Index outer, Index inner)
-    {
-      eigen_assert(size_t(m_outerIndex[outer+1]) == m_data.size() && "Invalid ordered insertion (invalid outer index)");
-      eigen_assert( (m_outerIndex[outer+1]-m_outerIndex[outer]==0 || m_data.index(m_data.size()-1)<inner) && "Invalid ordered insertion (invalid inner index)");
-      Index p = m_outerIndex[outer+1];
-      ++m_outerIndex[outer+1];
-      m_data.append(0, inner);
-      return m_data.value(p);
-    }
-
-    /** \internal
-      * \warning use it only if you know what you are doing */
-    inline Scalar& insertBackByOuterInnerUnordered(Index outer, Index inner)
-    {
-      Index p = m_outerIndex[outer+1];
-      ++m_outerIndex[outer+1];
-      m_data.append(0, inner);
-      return m_data.value(p);
-    }
-
-    /** \internal
-      * \sa insertBack, insertBackByOuterInner */
-    inline void startVec(Index outer)
-    {
-      eigen_assert(m_outerIndex[outer]==Index(m_data.size()) && "You must call startVec for each inner vector sequentially");
-      eigen_assert(m_outerIndex[outer+1]==0 && "You must call startVec for each inner vector sequentially");
-      m_outerIndex[outer+1] = m_outerIndex[outer];
-    }
-
-    /** \internal
-      * Must be called after inserting a set of non zero entries using the low level compressed API.
-      */
-    inline void finalize()
-    {
-      if(isCompressed())
-      {
-        Index size = static_cast<Index>(m_data.size());
-        Index i = m_outerSize;
-        // find the last filled column
-        while (i>=0 && m_outerIndex[i]==0)
-          --i;
-        ++i;
-        while (i<=m_outerSize)
-        {
-          m_outerIndex[i] = size;
-          ++i;
-        }
-      }
-    }
-
-    //---
-
-    template<typename InputIterators>
-    void setFromTriplets(const InputIterators& begin, const InputIterators& end);
-
-    void sumupDuplicates();
-
-    //---
-    
-    /** \internal
-      * same as insert(Index,Index) except that the indices are given relative to the storage order */
-    Scalar& insertByOuterInner(Index j, Index i)
-    {
-      return insert(IsRowMajor ? j : i, IsRowMajor ? i : j);
-    }
-
-    /** Turns the matrix into the \em compressed format.
-      */
-    void makeCompressed()
-    {
-      if(isCompressed())
-        return;
-      
-      Index oldStart = m_outerIndex[1];
-      m_outerIndex[1] = m_innerNonZeros[0];
-      for(Index j=1; j<m_outerSize; ++j)
-      {
-        Index nextOldStart = m_outerIndex[j+1];
-        Index offset = oldStart - m_outerIndex[j];
-        if(offset>0)
-        {
-          for(Index k=0; k<m_innerNonZeros[j]; ++k)
-          {
-            m_data.index(m_outerIndex[j]+k) = m_data.index(oldStart+k);
-            m_data.value(m_outerIndex[j]+k) = m_data.value(oldStart+k);
-          }
-        }
-        m_outerIndex[j+1] = m_outerIndex[j] + m_innerNonZeros[j];
-        oldStart = nextOldStart;
-      }
-      std::free(m_innerNonZeros);
-      m_innerNonZeros = 0;
-      m_data.resize(m_outerIndex[m_outerSize]);
-      m_data.squeeze();
-    }
-
-    /** Turns the matrix into the uncompressed mode */
-    void uncompress()
-    {
-      if(m_innerNonZeros != 0)
-        return; 
-      m_innerNonZeros = static_cast<Index*>(std::malloc(m_outerSize * sizeof(Index)));
-      for (Index i = 0; i < m_outerSize; i++)
-      {
-        m_innerNonZeros[i] = m_outerIndex[i+1] - m_outerIndex[i]; 
-      }
-    }
-    
-    /** Suppresses all nonzeros which are \b much \b smaller \b than \a reference under the tolerence \a epsilon */
-    void prune(const Scalar& reference, const RealScalar& epsilon = NumTraits<RealScalar>::dummy_precision())
-    {
-      prune(default_prunning_func(reference,epsilon));
-    }
-    
-    /** Turns the matrix into compressed format, and suppresses all nonzeros which do not satisfy the predicate \a keep.
-      * The functor type \a KeepFunc must implement the following function:
-      * \code
-      * bool operator() (const Index& row, const Index& col, const Scalar& value) const;
-      * \endcode
-      * \sa prune(Scalar,RealScalar)
-      */
-    template<typename KeepFunc>
-    void prune(const KeepFunc& keep = KeepFunc())
-    {
-      // TODO optimize the uncompressed mode to avoid moving and allocating the data twice
-      // TODO also implement a unit test
-      makeCompressed();
-
-      Index k = 0;
-      for(Index j=0; j<m_outerSize; ++j)
-      {
-        Index previousStart = m_outerIndex[j];
-        m_outerIndex[j] = k;
-        Index end = m_outerIndex[j+1];
-        for(Index i=previousStart; i<end; ++i)
-        {
-          if(keep(IsRowMajor?j:m_data.index(i), IsRowMajor?m_data.index(i):j, m_data.value(i)))
-          {
-            m_data.value(k) = m_data.value(i);
-            m_data.index(k) = m_data.index(i);
-            ++k;
-          }
-        }
-      }
-      m_outerIndex[m_outerSize] = k;
-      m_data.resize(k,0);
-    }
-
-    /** Resizes the matrix to a \a rows x \a cols matrix leaving old values untouched.
-      * \sa resizeNonZeros(Index), reserve(), setZero()
-      */
-    void conservativeResize(Index rows, Index cols) 
-    {
-      // No change
-      if (this->rows() == rows && this->cols() == cols) return;
-      
-      // If one dimension is null, then there is nothing to be preserved
-      if(rows==0 || cols==0) return resize(rows,cols);
-
-      Index innerChange = IsRowMajor ? cols - this->cols() : rows - this->rows();
-      Index outerChange = IsRowMajor ? rows - this->rows() : cols - this->cols();
-      Index newInnerSize = IsRowMajor ? cols : rows;
-
-      // Deals with inner non zeros
-      if (m_innerNonZeros)
-      {
-        // Resize m_innerNonZeros
-        Index *newInnerNonZeros = static_cast<Index*>(std::realloc(m_innerNonZeros, (m_outerSize + outerChange) * sizeof(Index)));
-        if (!newInnerNonZeros) internal::throw_std_bad_alloc();
-        m_innerNonZeros = newInnerNonZeros;
-        
-        for(Index i=m_outerSize; i<m_outerSize+outerChange; i++)          
-          m_innerNonZeros[i] = 0;
-      } 
-      else if (innerChange < 0) 
-      {
-        // Inner size decreased: allocate a new m_innerNonZeros
-        m_innerNonZeros = static_cast<Index*>(std::malloc((m_outerSize+outerChange+1) * sizeof(Index)));
-        if (!m_innerNonZeros) internal::throw_std_bad_alloc();
-        for(Index i = 0; i < m_outerSize; i++)
-          m_innerNonZeros[i] = m_outerIndex[i+1] - m_outerIndex[i];
-      }
-      
-      // Change the m_innerNonZeros in case of a decrease of inner size
-      if (m_innerNonZeros && innerChange < 0)
-      {
-        for(Index i = 0; i < m_outerSize + (std::min)(outerChange, Index(0)); i++)
-        {
-          Index &n = m_innerNonZeros[i];
-          Index start = m_outerIndex[i];
-          while (n > 0 && m_data.index(start+n-1) >= newInnerSize) --n; 
-        }
-      }
-      
-      m_innerSize = newInnerSize;
-
-      // Re-allocate outer index structure if necessary
-      if (outerChange == 0)
-        return;
-          
-      Index *newOuterIndex = static_cast<Index*>(std::realloc(m_outerIndex, (m_outerSize + outerChange + 1) * sizeof(Index)));
-      if (!newOuterIndex) internal::throw_std_bad_alloc();
-      m_outerIndex = newOuterIndex;
-      if (outerChange > 0)
-      {
-        Index last = m_outerSize == 0 ? 0 : m_outerIndex[m_outerSize];
-        for(Index i=m_outerSize; i<m_outerSize+outerChange+1; i++)          
-          m_outerIndex[i] = last; 
-      }
-      m_outerSize += outerChange;
-    }
-    
-    /** Resizes the matrix to a \a rows x \a cols matrix and initializes it to zero.
-      * \sa resizeNonZeros(Index), reserve(), setZero()
-      */
-    void resize(Index rows, Index cols)
-    {
-      const Index outerSize = IsRowMajor ? rows : cols;
-      m_innerSize = IsRowMajor ? cols : rows;
-      m_data.clear();
-      if (m_outerSize != outerSize || m_outerSize==0)
-      {
-        std::free(m_outerIndex);
-        m_outerIndex = static_cast<Index*>(std::malloc((outerSize + 1) * sizeof(Index)));
-        if (!m_outerIndex) internal::throw_std_bad_alloc();
-        
-        m_outerSize = outerSize;
-      }
-      if(m_innerNonZeros)
-      {
-        std::free(m_innerNonZeros);
-        m_innerNonZeros = 0;
-      }
-      memset(m_outerIndex, 0, (m_outerSize+1)*sizeof(Index));
-    }
-
-    /** \internal
-      * Resize the nonzero vector to \a size */
-    void resizeNonZeros(Index size)
-    {
-      // TODO remove this function
-      m_data.resize(size);
-    }
-
-    /** \returns a const expression of the diagonal coefficients */
-    const Diagonal<const SparseMatrix> diagonal() const { return *this; }
-
-    /** Default constructor yielding an empty \c 0 \c x \c 0 matrix */
-    inline SparseMatrix()
-      : m_outerSize(-1), m_innerSize(0), m_outerIndex(0), m_innerNonZeros(0)
-    {
-      check_template_parameters();
-      resize(0, 0);
-    }
-
-    /** Constructs a \a rows \c x \a cols empty matrix */
-    inline SparseMatrix(Index rows, Index cols)
-      : m_outerSize(0), m_innerSize(0), m_outerIndex(0), m_innerNonZeros(0)
-    {
-      check_template_parameters();
-      resize(rows, cols);
-    }
-
-    /** Constructs a sparse matrix from the sparse expression \a other */
-    template<typename OtherDerived>
-    inline SparseMatrix(const SparseMatrixBase<OtherDerived>& other)
-      : m_outerSize(0), m_innerSize(0), m_outerIndex(0), m_innerNonZeros(0)
-    {
-      EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename OtherDerived::Scalar>::value),
-        YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-      check_template_parameters();
-      *this = other.derived();
-    }
-    
-    /** Constructs a sparse matrix from the sparse selfadjoint view \a other */
-    template<typename OtherDerived, unsigned int UpLo>
-    inline SparseMatrix(const SparseSelfAdjointView<OtherDerived, UpLo>& other)
-      : m_outerSize(0), m_innerSize(0), m_outerIndex(0), m_innerNonZeros(0)
-    {
-      check_template_parameters();
-      *this = other;
-    }
-
-    /** Copy constructor (it performs a deep copy) */
-    inline SparseMatrix(const SparseMatrix& other)
-      : Base(), m_outerSize(0), m_innerSize(0), m_outerIndex(0), m_innerNonZeros(0)
-    {
-      check_template_parameters();
-      *this = other.derived();
-    }
-
-    /** \brief Copy constructor with in-place evaluation */
-    template<typename OtherDerived>
-    SparseMatrix(const ReturnByValue<OtherDerived>& other)
-      : Base(), m_outerSize(0), m_innerSize(0), m_outerIndex(0), m_innerNonZeros(0)
-    {
-      check_template_parameters();
-      initAssignment(other);
-      other.evalTo(*this);
-    }
-
-    /** Swaps the content of two sparse matrices of the same type.
-      * This is a fast operation that simply swaps the underlying pointers and parameters. */
-    inline void swap(SparseMatrix& other)
-    {
-      //EIGEN_DBG_SPARSE(std::cout << "SparseMatrix:: swap\n");
-      std::swap(m_outerIndex, other.m_outerIndex);
-      std::swap(m_innerSize, other.m_innerSize);
-      std::swap(m_outerSize, other.m_outerSize);
-      std::swap(m_innerNonZeros, other.m_innerNonZeros);
-      m_data.swap(other.m_data);
-    }
-
-    /** Sets *this to the identity matrix.
-      * This function also turns the matrix into compressed mode, and drop any reserved memory. */
-    inline void setIdentity()
-    {
-      eigen_assert(rows() == cols() && "ONLY FOR SQUARED MATRICES");
-      this->m_data.resize(rows());
-      Eigen::Map<Matrix<Index, Dynamic, 1> >(&this->m_data.index(0), rows()).setLinSpaced(0, rows()-1);
-      Eigen::Map<Matrix<Scalar, Dynamic, 1> >(&this->m_data.value(0), rows()).setOnes();
-      Eigen::Map<Matrix<Index, Dynamic, 1> >(this->m_outerIndex, rows()+1).setLinSpaced(0, rows());
-      std::free(m_innerNonZeros);
-      m_innerNonZeros = 0;
-    }
-    inline SparseMatrix& operator=(const SparseMatrix& other)
-    {
-      if (other.isRValue())
-      {
-        swap(other.const_cast_derived());
-      }
-      else if(this!=&other)
-      {
-        initAssignment(other);
-        if(other.isCompressed())
-        {
-          memcpy(m_outerIndex, other.m_outerIndex, (m_outerSize+1)*sizeof(Index));
-          m_data = other.m_data;
-        }
-        else
-        {
-          Base::operator=(other);
-        }
-      }
-      return *this;
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    template<typename Lhs, typename Rhs>
-    inline SparseMatrix& operator=(const SparseSparseProduct<Lhs,Rhs>& product)
-    { return Base::operator=(product); }
-    
-    template<typename OtherDerived>
-    inline SparseMatrix& operator=(const ReturnByValue<OtherDerived>& other)
-    {
-      initAssignment(other);
-      return Base::operator=(other.derived());
-    }
-    
-    template<typename OtherDerived>
-    inline SparseMatrix& operator=(const EigenBase<OtherDerived>& other)
-    { return Base::operator=(other.derived()); }
-    #endif
-
-    template<typename OtherDerived>
-    EIGEN_DONT_INLINE SparseMatrix& operator=(const SparseMatrixBase<OtherDerived>& other);
-
-    friend std::ostream & operator << (std::ostream & s, const SparseMatrix& m)
-    {
-      EIGEN_DBG_SPARSE(
-        s << "Nonzero entries:\n";
-        if(m.isCompressed())
-          for (Index i=0; i<m.nonZeros(); ++i)
-            s << "(" << m.m_data.value(i) << "," << m.m_data.index(i) << ") ";
-        else
-          for (Index i=0; i<m.outerSize(); ++i)
-          {
-            Index p = m.m_outerIndex[i];
-            Index pe = m.m_outerIndex[i]+m.m_innerNonZeros[i];
-            Index k=p;
-            for (; k<pe; ++k)
-              s << "(" << m.m_data.value(k) << "," << m.m_data.index(k) << ") ";
-            for (; k<m.m_outerIndex[i+1]; ++k)
-              s << "(_,_) ";
-          }
-        s << std::endl;
-        s << std::endl;
-        s << "Outer pointers:\n";
-        for (Index i=0; i<m.outerSize(); ++i)
-          s << m.m_outerIndex[i] << " ";
-        s << " $" << std::endl;
-        if(!m.isCompressed())
-        {
-          s << "Inner non zeros:\n";
-          for (Index i=0; i<m.outerSize(); ++i)
-            s << m.m_innerNonZeros[i] << " ";
-          s << " $" << std::endl;
-        }
-        s << std::endl;
-      );
-      s << static_cast<const SparseMatrixBase<SparseMatrix>&>(m);
-      return s;
-    }
-
-    /** Destructor */
-    inline ~SparseMatrix()
-    {
-      std::free(m_outerIndex);
-      std::free(m_innerNonZeros);
-    }
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** Overloaded for performance */
-    Scalar sum() const;
-#endif
-    
-#   ifdef EIGEN_SPARSEMATRIX_PLUGIN
-#     include EIGEN_SPARSEMATRIX_PLUGIN
-#   endif
-
-protected:
-
-    template<typename Other>
-    void initAssignment(const Other& other)
-    {
-      resize(other.rows(), other.cols());
-      if(m_innerNonZeros)
-      {
-        std::free(m_innerNonZeros);
-        m_innerNonZeros = 0;
-      }
-    }
-
-    /** \internal
-      * \sa insert(Index,Index) */
-    EIGEN_DONT_INLINE Scalar& insertCompressed(Index row, Index col);
-
-    /** \internal
-      * A vector object that is equal to 0 everywhere but v at the position i */
-    class SingletonVector
-    {
-        Index m_index;
-        Index m_value;
-      public:
-        typedef Index value_type;
-        SingletonVector(Index i, Index v)
-          : m_index(i), m_value(v)
-        {}
-
-        Index operator[](Index i) const { return i==m_index ? m_value : 0; }
-    };
-
-    /** \internal
-      * \sa insert(Index,Index) */
-    EIGEN_DONT_INLINE Scalar& insertUncompressed(Index row, Index col);
-
-public:
-    /** \internal
-      * \sa insert(Index,Index) */
-    EIGEN_STRONG_INLINE Scalar& insertBackUncompressed(Index row, Index col)
-    {
-      const Index outer = IsRowMajor ? row : col;
-      const Index inner = IsRowMajor ? col : row;
-
-      eigen_assert(!isCompressed());
-      eigen_assert(m_innerNonZeros[outer]<=(m_outerIndex[outer+1] - m_outerIndex[outer]));
-
-      Index p = m_outerIndex[outer] + m_innerNonZeros[outer]++;
-      m_data.index(p) = inner;
-      return (m_data.value(p) = 0);
-    }
-
-private:
-  static void check_template_parameters()
-  {
-    EIGEN_STATIC_ASSERT(NumTraits<Index>::IsSigned,THE_INDEX_TYPE_MUST_BE_A_SIGNED_TYPE);
-    EIGEN_STATIC_ASSERT((Options&(ColMajor|RowMajor))==Options,INVALID_MATRIX_TEMPLATE_PARAMETERS);
-  }
-
-  struct default_prunning_func {
-    default_prunning_func(const Scalar& ref, const RealScalar& eps) : reference(ref), epsilon(eps) {}
-    inline bool operator() (const Index&, const Index&, const Scalar& value) const
-    {
-      return !internal::isMuchSmallerThan(value, reference, epsilon);
-    }
-    Scalar reference;
-    RealScalar epsilon;
-  };
-};
-
-template<typename Scalar, int _Options, typename _Index>
-class SparseMatrix<Scalar,_Options,_Index>::InnerIterator
-{
-  public:
-    InnerIterator(const SparseMatrix& mat, Index outer)
-      : m_values(mat.valuePtr()), m_indices(mat.innerIndexPtr()), m_outer(outer), m_id(mat.m_outerIndex[outer])
-    {
-      if(mat.isCompressed())
-        m_end = mat.m_outerIndex[outer+1];
-      else
-        m_end = m_id + mat.m_innerNonZeros[outer];
-    }
-
-    inline InnerIterator& operator++() { m_id++; return *this; }
-
-    inline const Scalar& value() const { return m_values[m_id]; }
-    inline Scalar& valueRef() { return const_cast<Scalar&>(m_values[m_id]); }
-
-    inline Index index() const { return m_indices[m_id]; }
-    inline Index outer() const { return m_outer; }
-    inline Index row() const { return IsRowMajor ? m_outer : index(); }
-    inline Index col() const { return IsRowMajor ? index() : m_outer; }
-
-    inline operator bool() const { return (m_id < m_end); }
-
-  protected:
-    const Scalar* m_values;
-    const Index* m_indices;
-    const Index m_outer;
-    Index m_id;
-    Index m_end;
-};
-
-template<typename Scalar, int _Options, typename _Index>
-class SparseMatrix<Scalar,_Options,_Index>::ReverseInnerIterator
-{
-  public:
-    ReverseInnerIterator(const SparseMatrix& mat, Index outer)
-      : m_values(mat.valuePtr()), m_indices(mat.innerIndexPtr()), m_outer(outer), m_start(mat.m_outerIndex[outer])
-    {
-      if(mat.isCompressed())
-        m_id = mat.m_outerIndex[outer+1];
-      else
-        m_id = m_start + mat.m_innerNonZeros[outer];
-    }
-
-    inline ReverseInnerIterator& operator--() { --m_id; return *this; }
-
-    inline const Scalar& value() const { return m_values[m_id-1]; }
-    inline Scalar& valueRef() { return const_cast<Scalar&>(m_values[m_id-1]); }
-
-    inline Index index() const { return m_indices[m_id-1]; }
-    inline Index outer() const { return m_outer; }
-    inline Index row() const { return IsRowMajor ? m_outer : index(); }
-    inline Index col() const { return IsRowMajor ? index() : m_outer; }
-
-    inline operator bool() const { return (m_id > m_start); }
-
-  protected:
-    const Scalar* m_values;
-    const Index* m_indices;
-    const Index m_outer;
-    Index m_id;
-    const Index m_start;
-};
-
-namespace internal {
-
-template<typename InputIterator, typename SparseMatrixType>
-void set_from_triplets(const InputIterator& begin, const InputIterator& end, SparseMatrixType& mat, int Options = 0)
-{
-  EIGEN_UNUSED_VARIABLE(Options);
-  enum { IsRowMajor = SparseMatrixType::IsRowMajor };
-  typedef typename SparseMatrixType::Scalar Scalar;
-  typedef typename SparseMatrixType::Index Index;
-  SparseMatrix<Scalar,IsRowMajor?ColMajor:RowMajor,Index> trMat(mat.rows(),mat.cols());
-
-  if(begin!=end)
-  {
-    // pass 1: count the nnz per inner-vector
-    Matrix<Index,Dynamic,1> wi(trMat.outerSize());
-    wi.setZero();
-    for(InputIterator it(begin); it!=end; ++it)
-    {
-      eigen_assert(it->row()>=0 && it->row()<mat.rows() && it->col()>=0 && it->col()<mat.cols());
-      wi(IsRowMajor ? it->col() : it->row())++;
-    }
-
-    // pass 2: insert all the elements into trMat
-    trMat.reserve(wi);
-    for(InputIterator it(begin); it!=end; ++it)
-      trMat.insertBackUncompressed(it->row(),it->col()) = it->value();
-
-    // pass 3:
-    trMat.sumupDuplicates();
-  }
-
-  // pass 4: transposed copy -> implicit sorting
-  mat = trMat;
-}
-
-}
-
-
-/** Fill the matrix \c *this with the list of \em triplets defined by the iterator range \a begin - \a end.
-  *
-  * A \em triplet is a tuple (i,j,value) defining a non-zero element.
-  * The input list of triplets does not have to be sorted, and can contains duplicated elements.
-  * In any case, the result is a \b sorted and \b compressed sparse matrix where the duplicates have been summed up.
-  * This is a \em O(n) operation, with \em n the number of triplet elements.
-  * The initial contents of \c *this is destroyed.
-  * The matrix \c *this must be properly resized beforehand using the SparseMatrix(Index,Index) constructor,
-  * or the resize(Index,Index) method. The sizes are not extracted from the triplet list.
-  *
-  * The \a InputIterators value_type must provide the following interface:
-  * \code
-  * Scalar value() const; // the value
-  * Scalar row() const;   // the row index i
-  * Scalar col() const;   // the column index j
-  * \endcode
-  * See for instance the Eigen::Triplet template class.
-  *
-  * Here is a typical usage example:
-  * \code
-    typedef Triplet<double> T;
-    std::vector<T> tripletList;
-    triplets.reserve(estimation_of_entries);
-    for(...)
-    {
-      // ...
-      tripletList.push_back(T(i,j,v_ij));
-    }
-    SparseMatrixType m(rows,cols);
-    m.setFromTriplets(tripletList.begin(), tripletList.end());
-    // m is ready to go!
-  * \endcode
-  *
-  * \warning The list of triplets is read multiple times (at least twice). Therefore, it is not recommended to define
-  * an abstract iterator over a complex data-structure that would be expensive to evaluate. The triplets should rather
-  * be explicitely stored into a std::vector for instance.
-  */
-template<typename Scalar, int _Options, typename _Index>
-template<typename InputIterators>
-void SparseMatrix<Scalar,_Options,_Index>::setFromTriplets(const InputIterators& begin, const InputIterators& end)
-{
-  internal::set_from_triplets(begin, end, *this);
-}
-
-/** \internal */
-template<typename Scalar, int _Options, typename _Index>
-void SparseMatrix<Scalar,_Options,_Index>::sumupDuplicates()
-{
-  eigen_assert(!isCompressed());
-  // TODO, in practice we should be able to use m_innerNonZeros for that task
-  Matrix<Index,Dynamic,1> wi(innerSize());
-  wi.fill(-1);
-  Index count = 0;
-  // for each inner-vector, wi[inner_index] will hold the position of first element into the index/value buffers
-  for(Index j=0; j<outerSize(); ++j)
-  {
-    Index start   = count;
-    Index oldEnd  = m_outerIndex[j]+m_innerNonZeros[j];
-    for(Index k=m_outerIndex[j]; k<oldEnd; ++k)
-    {
-      Index i = m_data.index(k);
-      if(wi(i)>=start)
-      {
-        // we already meet this entry => accumulate it
-        m_data.value(wi(i)) += m_data.value(k);
-      }
-      else
-      {
-        m_data.value(count) = m_data.value(k);
-        m_data.index(count) = m_data.index(k);
-        wi(i) = count;
-        ++count;
-      }
-    }
-    m_outerIndex[j] = start;
-  }
-  m_outerIndex[m_outerSize] = count;
-
-  // turn the matrix into compressed form
-  std::free(m_innerNonZeros);
-  m_innerNonZeros = 0;
-  m_data.resize(m_outerIndex[m_outerSize]);
-}
-
-template<typename Scalar, int _Options, typename _Index>
-template<typename OtherDerived>
-EIGEN_DONT_INLINE SparseMatrix<Scalar,_Options,_Index>& SparseMatrix<Scalar,_Options,_Index>::operator=(const SparseMatrixBase<OtherDerived>& other)
-{
-  EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename OtherDerived::Scalar>::value),
-        YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
-  
-  const bool needToTranspose = (Flags & RowMajorBit) != (OtherDerived::Flags & RowMajorBit);
-  if (needToTranspose)
-  {
-    // two passes algorithm:
-    //  1 - compute the number of coeffs per dest inner vector
-    //  2 - do the actual copy/eval
-    // Since each coeff of the rhs has to be evaluated twice, let's evaluate it if needed
-    typedef typename internal::nested<OtherDerived,2>::type OtherCopy;
-    typedef typename internal::remove_all<OtherCopy>::type _OtherCopy;
-    OtherCopy otherCopy(other.derived());
-
-    SparseMatrix dest(other.rows(),other.cols());
-    Eigen::Map<Matrix<Index, Dynamic, 1> > (dest.m_outerIndex,dest.outerSize()).setZero();
-
-    // pass 1
-    // FIXME the above copy could be merged with that pass
-    for (Index j=0; j<otherCopy.outerSize(); ++j)
-      for (typename _OtherCopy::InnerIterator it(otherCopy, j); it; ++it)
-        ++dest.m_outerIndex[it.index()];
-
-    // prefix sum
-    Index count = 0;
-    Matrix<Index,Dynamic,1> positions(dest.outerSize());
-    for (Index j=0; j<dest.outerSize(); ++j)
-    {
-      Index tmp = dest.m_outerIndex[j];
-      dest.m_outerIndex[j] = count;
-      positions[j] = count;
-      count += tmp;
-    }
-    dest.m_outerIndex[dest.outerSize()] = count;
-    // alloc
-    dest.m_data.resize(count);
-    // pass 2
-    for (Index j=0; j<otherCopy.outerSize(); ++j)
-    {
-      for (typename _OtherCopy::InnerIterator it(otherCopy, j); it; ++it)
-      {
-        Index pos = positions[it.index()]++;
-        dest.m_data.index(pos) = j;
-        dest.m_data.value(pos) = it.value();
-      }
-    }
-    this->swap(dest);
-    return *this;
-  }
-  else
-  {
-    if(other.isRValue())
-      initAssignment(other.derived());
-    // there is no special optimization
-    return Base::operator=(other.derived());
-  }
-}
-
-template<typename _Scalar, int _Options, typename _Index>
-EIGEN_DONT_INLINE typename SparseMatrix<_Scalar,_Options,_Index>::Scalar& SparseMatrix<_Scalar,_Options,_Index>::insertUncompressed(Index row, Index col)
-{
-  eigen_assert(!isCompressed());
-
-  const Index outer = IsRowMajor ? row : col;
-  const Index inner = IsRowMajor ? col : row;
-
-  Index room = m_outerIndex[outer+1] - m_outerIndex[outer];
-  Index innerNNZ = m_innerNonZeros[outer];
-  if(innerNNZ>=room)
-  {
-    // this inner vector is full, we need to reallocate the whole buffer :(
-    reserve(SingletonVector(outer,std::max<Index>(2,innerNNZ)));
-  }
-
-  Index startId = m_outerIndex[outer];
-  Index p = startId + m_innerNonZeros[outer];
-  while ( (p > startId) && (m_data.index(p-1) > inner) )
-  {
-    m_data.index(p) = m_data.index(p-1);
-    m_data.value(p) = m_data.value(p-1);
-    --p;
-  }
-  eigen_assert((p<=startId || m_data.index(p-1)!=inner) && "you cannot insert an element that already exist, you must call coeffRef to this end");
-
-  m_innerNonZeros[outer]++;
-
-  m_data.index(p) = inner;
-  return (m_data.value(p) = 0);
-}
-
-template<typename _Scalar, int _Options, typename _Index>
-EIGEN_DONT_INLINE typename SparseMatrix<_Scalar,_Options,_Index>::Scalar& SparseMatrix<_Scalar,_Options,_Index>::insertCompressed(Index row, Index col)
-{
-  eigen_assert(isCompressed());
-
-  const Index outer = IsRowMajor ? row : col;
-  const Index inner = IsRowMajor ? col : row;
-
-  Index previousOuter = outer;
-  if (m_outerIndex[outer+1]==0)
-  {
-    // we start a new inner vector
-    while (previousOuter>=0 && m_outerIndex[previousOuter]==0)
-    {
-      m_outerIndex[previousOuter] = static_cast<Index>(m_data.size());
-      --previousOuter;
-    }
-    m_outerIndex[outer+1] = m_outerIndex[outer];
-  }
-
-  // here we have to handle the tricky case where the outerIndex array
-  // starts with: [ 0 0 0 0 0 1 ...] and we are inserted in, e.g.,
-  // the 2nd inner vector...
-  bool isLastVec = (!(previousOuter==-1 && m_data.size()!=0))
-                && (size_t(m_outerIndex[outer+1]) == m_data.size());
-
-  size_t startId = m_outerIndex[outer];
-  // FIXME let's make sure sizeof(long int) == sizeof(size_t)
-  size_t p = m_outerIndex[outer+1];
-  ++m_outerIndex[outer+1];
-
-  double reallocRatio = 1;
-  if (m_data.allocatedSize()<=m_data.size())
-  {
-    // if there is no preallocated memory, let's reserve a minimum of 32 elements
-    if (m_data.size()==0)
-    {
-      m_data.reserve(32);
-    }
-    else
-    {
-      // we need to reallocate the data, to reduce multiple reallocations
-      // we use a smart resize algorithm based on the current filling ratio
-      // in addition, we use double to avoid integers overflows
-      double nnzEstimate = double(m_outerIndex[outer])*double(m_outerSize)/double(outer+1);
-      reallocRatio = (nnzEstimate-double(m_data.size()))/double(m_data.size());
-      // furthermore we bound the realloc ratio to:
-      //   1) reduce multiple minor realloc when the matrix is almost filled
-      //   2) avoid to allocate too much memory when the matrix is almost empty
-      reallocRatio = (std::min)((std::max)(reallocRatio,1.5),8.);
-    }
-  }
-  m_data.resize(m_data.size()+1,reallocRatio);
-
-  if (!isLastVec)
-  {
-    if (previousOuter==-1)
-    {
-      // oops wrong guess.
-      // let's correct the outer offsets
-      for (Index k=0; k<=(outer+1); ++k)
-        m_outerIndex[k] = 0;
-      Index k=outer+1;
-      while(m_outerIndex[k]==0)
-        m_outerIndex[k++] = 1;
-      while (k<=m_outerSize && m_outerIndex[k]!=0)
-        m_outerIndex[k++]++;
-      p = 0;
-      --k;
-      k = m_outerIndex[k]-1;
-      while (k>0)
-      {
-        m_data.index(k) = m_data.index(k-1);
-        m_data.value(k) = m_data.value(k-1);
-        k--;
-      }
-    }
-    else
-    {
-      // we are not inserting into the last inner vec
-      // update outer indices:
-      Index j = outer+2;
-      while (j<=m_outerSize && m_outerIndex[j]!=0)
-        m_outerIndex[j++]++;
-      --j;
-      // shift data of last vecs:
-      Index k = m_outerIndex[j]-1;
-      while (k>=Index(p))
-      {
-        m_data.index(k) = m_data.index(k-1);
-        m_data.value(k) = m_data.value(k-1);
-        k--;
-      }
-    }
-  }
-
-  while ( (p > startId) && (m_data.index(p-1) > inner) )
-  {
-    m_data.index(p) = m_data.index(p-1);
-    m_data.value(p) = m_data.value(p-1);
-    --p;
-  }
-
-  m_data.index(p) = inner;
-  return (m_data.value(p) = 0);
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSEMATRIX_H
diff --git a/lib/Eigen/src/SparseCore/SparseMatrixBase.h b/lib/Eigen/src/SparseCore/SparseMatrixBase.h
deleted file mode 100644
index 9341d9ad..00000000
--- a/lib/Eigen/src/SparseCore/SparseMatrixBase.h
+++ /dev/null
@@ -1,461 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSEMATRIXBASE_H
-#define EIGEN_SPARSEMATRIXBASE_H
-
-namespace Eigen { 
-
-/** \ingroup SparseCore_Module
-  *
-  * \class SparseMatrixBase
-  *
-  * \brief Base class of any sparse matrices or sparse expressions
-  *
-  * \tparam Derived
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_SPARSEMATRIXBASE_PLUGIN.
-  */
-template<typename Derived> class SparseMatrixBase
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-  : public internal::special_scalar_op_base<Derived,typename internal::traits<Derived>::Scalar,
-                                            typename NumTraits<typename internal::traits<Derived>::Scalar>::Real,
-                                            EigenBase<Derived> >
-#else
-  : public EigenBase<Derived>
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-{
-  public:
-
-    typedef typename internal::traits<Derived>::Scalar Scalar;
-    typedef typename internal::packet_traits<Scalar>::type PacketScalar;
-    typedef typename internal::traits<Derived>::StorageKind StorageKind;
-    typedef typename internal::traits<Derived>::Index Index;
-    typedef typename internal::add_const_on_value_type_if_arithmetic<
-                         typename internal::packet_traits<Scalar>::type
-                     >::type PacketReturnType;
-
-    typedef SparseMatrixBase StorageBaseType;
-    
-    template<typename OtherDerived>
-    Derived& operator=(const EigenBase<OtherDerived> &other)
-    {
-      other.derived().evalTo(derived());
-      return derived();
-    }
-
-    enum {
-
-      RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime,
-        /**< The number of rows at compile-time. This is just a copy of the value provided
-          * by the \a Derived type. If a value is not known at compile-time,
-          * it is set to the \a Dynamic constant.
-          * \sa MatrixBase::rows(), MatrixBase::cols(), ColsAtCompileTime, SizeAtCompileTime */
-
-      ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime,
-        /**< The number of columns at compile-time. This is just a copy of the value provided
-          * by the \a Derived type. If a value is not known at compile-time,
-          * it is set to the \a Dynamic constant.
-          * \sa MatrixBase::rows(), MatrixBase::cols(), RowsAtCompileTime, SizeAtCompileTime */
-
-
-      SizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::RowsAtCompileTime,
-                                                   internal::traits<Derived>::ColsAtCompileTime>::ret),
-        /**< This is equal to the number of coefficients, i.e. the number of
-          * rows times the number of columns, or to \a Dynamic if this is not
-          * known at compile-time. \sa RowsAtCompileTime, ColsAtCompileTime */
-
-      MaxRowsAtCompileTime = RowsAtCompileTime,
-      MaxColsAtCompileTime = ColsAtCompileTime,
-
-      MaxSizeAtCompileTime = (internal::size_at_compile_time<MaxRowsAtCompileTime,
-                                                      MaxColsAtCompileTime>::ret),
-
-      IsVectorAtCompileTime = RowsAtCompileTime == 1 || ColsAtCompileTime == 1,
-        /**< This is set to true if either the number of rows or the number of
-          * columns is known at compile-time to be equal to 1. Indeed, in that case,
-          * we are dealing with a column-vector (if there is only one column) or with
-          * a row-vector (if there is only one row). */
-
-      Flags = internal::traits<Derived>::Flags,
-        /**< This stores expression \ref flags flags which may or may not be inherited by new expressions
-          * constructed from this one. See the \ref flags "list of flags".
-          */
-
-      CoeffReadCost = internal::traits<Derived>::CoeffReadCost,
-        /**< This is a rough measure of how expensive it is to read one coefficient from
-          * this expression.
-          */
-
-      IsRowMajor = Flags&RowMajorBit ? 1 : 0,
-      
-      InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? int(SizeAtCompileTime)
-                             : int(IsRowMajor) ? int(ColsAtCompileTime) : int(RowsAtCompileTime),
-
-      #ifndef EIGEN_PARSED_BY_DOXYGEN
-      _HasDirectAccess = (int(Flags)&DirectAccessBit) ? 1 : 0 // workaround sunCC
-      #endif
-    };
-
-    /** \internal the return type of MatrixBase::adjoint() */
-    typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
-                        CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, Eigen::Transpose<const Derived> >,
-                        Transpose<const Derived>
-                     >::type AdjointReturnType;
-
-
-    typedef SparseMatrix<Scalar, Flags&RowMajorBit ? RowMajor : ColMajor, Index> PlainObject;
-
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** This is the "real scalar" type; if the \a Scalar type is already real numbers
-      * (e.g. int, float or double) then \a RealScalar is just the same as \a Scalar. If
-      * \a Scalar is \a std::complex<T> then RealScalar is \a T.
-      *
-      * \sa class NumTraits
-      */
-    typedef typename NumTraits<Scalar>::Real RealScalar;
-
-    /** \internal the return type of coeff()
-      */
-    typedef typename internal::conditional<_HasDirectAccess, const Scalar&, Scalar>::type CoeffReturnType;
-
-    /** \internal Represents a matrix with all coefficients equal to one another*/
-    typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>,Matrix<Scalar,Dynamic,Dynamic> > ConstantReturnType;
-
-    /** type of the equivalent square matrix */
-    typedef Matrix<Scalar,EIGEN_SIZE_MAX(RowsAtCompileTime,ColsAtCompileTime),
-                          EIGEN_SIZE_MAX(RowsAtCompileTime,ColsAtCompileTime)> SquareMatrixType;
-
-    inline const Derived& derived() const { return *static_cast<const Derived*>(this); }
-    inline Derived& derived() { return *static_cast<Derived*>(this); }
-    inline Derived& const_cast_derived() const
-    { return *static_cast<Derived*>(const_cast<SparseMatrixBase*>(this)); }
-
-    typedef internal::special_scalar_op_base<Derived, Scalar, RealScalar, EigenBase<Derived> > Base;
-    using Base::operator*;
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-
-#define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::SparseMatrixBase
-#   include "../plugins/CommonCwiseUnaryOps.h"
-#   include "../plugins/CommonCwiseBinaryOps.h"
-#   include "../plugins/MatrixCwiseUnaryOps.h"
-#   include "../plugins/MatrixCwiseBinaryOps.h"
-#   include "../plugins/BlockMethods.h"
-#   ifdef EIGEN_SPARSEMATRIXBASE_PLUGIN
-#     include EIGEN_SPARSEMATRIXBASE_PLUGIN
-#   endif
-#   undef EIGEN_CURRENT_STORAGE_BASE_CLASS
-#undef EIGEN_CURRENT_STORAGE_BASE_CLASS
-
-    /** \returns the number of rows. \sa cols() */
-    inline Index rows() const { return derived().rows(); }
-    /** \returns the number of columns. \sa rows() */
-    inline Index cols() const { return derived().cols(); }
-    /** \returns the number of coefficients, which is \a rows()*cols().
-      * \sa rows(), cols(). */
-    inline Index size() const { return rows() * cols(); }
-    /** \returns the number of nonzero coefficients which is in practice the number
-      * of stored coefficients. */
-    inline Index nonZeros() const { return derived().nonZeros(); }
-    /** \returns true if either the number of rows or the number of columns is equal to 1.
-      * In other words, this function returns
-      * \code rows()==1 || cols()==1 \endcode
-      * \sa rows(), cols(), IsVectorAtCompileTime. */
-    inline bool isVector() const { return rows()==1 || cols()==1; }
-    /** \returns the size of the storage major dimension,
-      * i.e., the number of columns for a columns major matrix, and the number of rows otherwise */
-    Index outerSize() const { return (int(Flags)&RowMajorBit) ? this->rows() : this->cols(); }
-    /** \returns the size of the inner dimension according to the storage order,
-      * i.e., the number of rows for a columns major matrix, and the number of cols otherwise */
-    Index innerSize() const { return (int(Flags)&RowMajorBit) ? this->cols() : this->rows(); }
-
-    bool isRValue() const { return m_isRValue; }
-    Derived& markAsRValue() { m_isRValue = true; return derived(); }
-
-    SparseMatrixBase() : m_isRValue(false) { /* TODO check flags */ }
-
-    
-    template<typename OtherDerived>
-    Derived& operator=(const ReturnByValue<OtherDerived>& other)
-    {
-      other.evalTo(derived());
-      return derived();
-    }
-
-
-    template<typename OtherDerived>
-    inline Derived& operator=(const SparseMatrixBase<OtherDerived>& other)
-    {
-      return assign(other.derived());
-    }
-
-    inline Derived& operator=(const Derived& other)
-    {
-//       if (other.isRValue())
-//         derived().swap(other.const_cast_derived());
-//       else
-      return assign(other.derived());
-    }
-
-  protected:
-
-    template<typename OtherDerived>
-    inline Derived& assign(const OtherDerived& other)
-    {
-      const bool transpose = (Flags & RowMajorBit) != (OtherDerived::Flags & RowMajorBit);
-      const Index outerSize = (int(OtherDerived::Flags) & RowMajorBit) ? other.rows() : other.cols();
-      if ((!transpose) && other.isRValue())
-      {
-        // eval without temporary
-        derived().resize(other.rows(), other.cols());
-        derived().setZero();
-        derived().reserve((std::max)(this->rows(),this->cols())*2);
-        for (Index j=0; j<outerSize; ++j)
-        {
-          derived().startVec(j);
-          for (typename OtherDerived::InnerIterator it(other, j); it; ++it)
-          {
-            Scalar v = it.value();
-            derived().insertBackByOuterInner(j,it.index()) = v;
-          }
-        }
-        derived().finalize();
-      }
-      else
-      {
-        assignGeneric(other);
-      }
-      return derived();
-    }
-
-    template<typename OtherDerived>
-    inline void assignGeneric(const OtherDerived& other)
-    {
-      //const bool transpose = (Flags & RowMajorBit) != (OtherDerived::Flags & RowMajorBit);
-      eigen_assert(( ((internal::traits<Derived>::SupportedAccessPatterns&OuterRandomAccessPattern)==OuterRandomAccessPattern) ||
-                  (!((Flags & RowMajorBit) != (OtherDerived::Flags & RowMajorBit)))) &&
-                  "the transpose operation is supposed to be handled in SparseMatrix::operator=");
-
-      enum { Flip = (Flags & RowMajorBit) != (OtherDerived::Flags & RowMajorBit) };
-
-      const Index outerSize = other.outerSize();
-      //typedef typename internal::conditional<transpose, LinkedVectorMatrix<Scalar,Flags&RowMajorBit>, Derived>::type TempType;
-      // thanks to shallow copies, we always eval to a tempary
-      Derived temp(other.rows(), other.cols());
-
-      temp.reserve((std::max)(this->rows(),this->cols())*2);
-      for (Index j=0; j<outerSize; ++j)
-      {
-        temp.startVec(j);
-        for (typename OtherDerived::InnerIterator it(other.derived(), j); it; ++it)
-        {
-          Scalar v = it.value();
-          temp.insertBackByOuterInner(Flip?it.index():j,Flip?j:it.index()) = v;
-        }
-      }
-      temp.finalize();
-
-      derived() = temp.markAsRValue();
-    }
-
-  public:
-
-    template<typename Lhs, typename Rhs>
-    inline Derived& operator=(const SparseSparseProduct<Lhs,Rhs>& product);
-
-    friend std::ostream & operator << (std::ostream & s, const SparseMatrixBase& m)
-    {
-      typedef typename Derived::Nested Nested;
-      typedef typename internal::remove_all<Nested>::type NestedCleaned;
-
-      if (Flags&RowMajorBit)
-      {
-        const Nested nm(m.derived());
-        for (Index row=0; row<nm.outerSize(); ++row)
-        {
-          Index col = 0;
-          for (typename NestedCleaned::InnerIterator it(nm.derived(), row); it; ++it)
-          {
-            for ( ; col<it.index(); ++col)
-              s << "0 ";
-            s << it.value() << " ";
-            ++col;
-          }
-          for ( ; col<m.cols(); ++col)
-            s << "0 ";
-          s << std::endl;
-        }
-      }
-      else
-      {
-        const Nested nm(m.derived());
-        if (m.cols() == 1) {
-          Index row = 0;
-          for (typename NestedCleaned::InnerIterator it(nm.derived(), 0); it; ++it)
-          {
-            for ( ; row<it.index(); ++row)
-              s << "0" << std::endl;
-            s << it.value() << std::endl;
-            ++row;
-          }
-          for ( ; row<m.rows(); ++row)
-            s << "0" << std::endl;
-        }
-        else
-        {
-          SparseMatrix<Scalar, RowMajorBit, Index> trans = m;
-          s << static_cast<const SparseMatrixBase<SparseMatrix<Scalar, RowMajorBit, Index> >&>(trans);
-        }
-      }
-      return s;
-    }
-
-    template<typename OtherDerived>
-    Derived& operator+=(const SparseMatrixBase<OtherDerived>& other);
-    template<typename OtherDerived>
-    Derived& operator-=(const SparseMatrixBase<OtherDerived>& other);
-
-    Derived& operator*=(const Scalar& other);
-    Derived& operator/=(const Scalar& other);
-
-    template<typename OtherDerived> struct CwiseProductDenseReturnType {
-      typedef CwiseBinaryOp<internal::scalar_product_op<typename internal::scalar_product_traits<
-                                                          typename internal::traits<Derived>::Scalar,
-                                                          typename internal::traits<OtherDerived>::Scalar
-                                                        >::ReturnType>,
-                            const Derived,
-                            const OtherDerived
-                          > Type;
-    };
-
-    template<typename OtherDerived>
-    EIGEN_STRONG_INLINE const typename CwiseProductDenseReturnType<OtherDerived>::Type
-    cwiseProduct(const MatrixBase<OtherDerived> &other) const;
-
-    // sparse * sparse
-    template<typename OtherDerived>
-    const typename SparseSparseProductReturnType<Derived,OtherDerived>::Type
-    operator*(const SparseMatrixBase<OtherDerived> &other) const;
-
-    // sparse * diagonal
-    template<typename OtherDerived>
-    const SparseDiagonalProduct<Derived,OtherDerived>
-    operator*(const DiagonalBase<OtherDerived> &other) const;
-
-    // diagonal * sparse
-    template<typename OtherDerived> friend
-    const SparseDiagonalProduct<OtherDerived,Derived>
-    operator*(const DiagonalBase<OtherDerived> &lhs, const SparseMatrixBase& rhs)
-    { return SparseDiagonalProduct<OtherDerived,Derived>(lhs.derived(), rhs.derived()); }
-
-    /** dense * sparse (return a dense object unless it is an outer product) */
-    template<typename OtherDerived> friend
-    const typename DenseSparseProductReturnType<OtherDerived,Derived>::Type
-    operator*(const MatrixBase<OtherDerived>& lhs, const Derived& rhs)
-    { return typename DenseSparseProductReturnType<OtherDerived,Derived>::Type(lhs.derived(),rhs); }
-
-    /** sparse * dense (returns a dense object unless it is an outer product) */
-    template<typename OtherDerived>
-    const typename SparseDenseProductReturnType<Derived,OtherDerived>::Type
-    operator*(const MatrixBase<OtherDerived> &other) const
-    { return typename SparseDenseProductReturnType<Derived,OtherDerived>::Type(derived(), other.derived()); }
-    
-     /** \returns an expression of P H P^-1 where H is the matrix represented by \c *this */
-    SparseSymmetricPermutationProduct<Derived,Upper|Lower> twistedBy(const PermutationMatrix<Dynamic,Dynamic,Index>& perm) const
-    {
-      return SparseSymmetricPermutationProduct<Derived,Upper|Lower>(derived(), perm);
-    }
-
-    template<typename OtherDerived>
-    Derived& operator*=(const SparseMatrixBase<OtherDerived>& other);
-
-    #ifdef EIGEN2_SUPPORT
-    // deprecated
-    template<typename OtherDerived>
-    typename internal::plain_matrix_type_column_major<OtherDerived>::type
-    solveTriangular(const MatrixBase<OtherDerived>& other) const;
-
-    // deprecated
-    template<typename OtherDerived>
-    void solveTriangularInPlace(MatrixBase<OtherDerived>& other) const;
-    #endif // EIGEN2_SUPPORT
-
-    template<int Mode>
-    inline const SparseTriangularView<Derived, Mode> triangularView() const;
-
-    template<unsigned int UpLo> inline const SparseSelfAdjointView<Derived, UpLo> selfadjointView() const;
-    template<unsigned int UpLo> inline SparseSelfAdjointView<Derived, UpLo> selfadjointView();
-
-    template<typename OtherDerived> Scalar dot(const MatrixBase<OtherDerived>& other) const;
-    template<typename OtherDerived> Scalar dot(const SparseMatrixBase<OtherDerived>& other) const;
-    RealScalar squaredNorm() const;
-    RealScalar norm()  const;
-    RealScalar blueNorm() const;
-
-    Transpose<Derived> transpose() { return derived(); }
-    const Transpose<const Derived> transpose() const { return derived(); }
-    const AdjointReturnType adjoint() const { return transpose(); }
-
-    // inner-vector
-    typedef Block<Derived,IsRowMajor?1:Dynamic,IsRowMajor?Dynamic:1,true>       InnerVectorReturnType;
-    typedef Block<const Derived,IsRowMajor?1:Dynamic,IsRowMajor?Dynamic:1,true> ConstInnerVectorReturnType;
-    InnerVectorReturnType innerVector(Index outer);
-    const ConstInnerVectorReturnType innerVector(Index outer) const;
-
-    // set of inner-vectors
-    typedef Block<Derived,Dynamic,Dynamic,true> InnerVectorsReturnType;
-    typedef Block<const Derived,Dynamic,Dynamic,true> ConstInnerVectorsReturnType;
-    InnerVectorsReturnType innerVectors(Index outerStart, Index outerSize);
-    const ConstInnerVectorsReturnType innerVectors(Index outerStart, Index outerSize) const;
-
-    /** \internal use operator= */
-    template<typename DenseDerived>
-    void evalTo(MatrixBase<DenseDerived>& dst) const
-    {
-      dst.setZero();
-      for (Index j=0; j<outerSize(); ++j)
-        for (typename Derived::InnerIterator i(derived(),j); i; ++i)
-          dst.coeffRef(i.row(),i.col()) = i.value();
-    }
-
-    Matrix<Scalar,RowsAtCompileTime,ColsAtCompileTime> toDense() const
-    {
-      return derived();
-    }
-
-    template<typename OtherDerived>
-    bool isApprox(const SparseMatrixBase<OtherDerived>& other,
-                  const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const
-    { return toDense().isApprox(other.toDense(),prec); }
-
-    template<typename OtherDerived>
-    bool isApprox(const MatrixBase<OtherDerived>& other,
-                  const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const
-    { return toDense().isApprox(other,prec); }
-
-    /** \returns the matrix or vector obtained by evaluating this expression.
-      *
-      * Notice that in the case of a plain matrix or vector (not an expression) this function just returns
-      * a const reference, in order to avoid a useless copy.
-      */
-    inline const typename internal::eval<Derived>::type eval() const
-    { return typename internal::eval<Derived>::type(derived()); }
-
-    Scalar sum() const;
-
-  protected:
-
-    bool m_isRValue;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSEMATRIXBASE_H
diff --git a/lib/Eigen/src/SparseCore/SparsePermutation.h b/lib/Eigen/src/SparseCore/SparsePermutation.h
deleted file mode 100644
index 75e21000..00000000
--- a/lib/Eigen/src/SparseCore/SparsePermutation.h
+++ /dev/null
@@ -1,148 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_PERMUTATION_H
-#define EIGEN_SPARSE_PERMUTATION_H
-
-// This file implements sparse * permutation products
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename PermutationType, typename MatrixType, int Side, bool Transposed>
-struct traits<permut_sparsematrix_product_retval<PermutationType, MatrixType, Side, Transposed> >
-{
-  typedef typename remove_all<typename MatrixType::Nested>::type MatrixTypeNestedCleaned;
-  typedef typename MatrixTypeNestedCleaned::Scalar Scalar;
-  typedef typename MatrixTypeNestedCleaned::Index Index;
-  enum {
-    SrcStorageOrder = MatrixTypeNestedCleaned::Flags&RowMajorBit ? RowMajor : ColMajor,
-    MoveOuter = SrcStorageOrder==RowMajor ? Side==OnTheLeft : Side==OnTheRight
-  };
-
-  typedef typename internal::conditional<MoveOuter,
-        SparseMatrix<Scalar,SrcStorageOrder,Index>,
-        SparseMatrix<Scalar,int(SrcStorageOrder)==RowMajor?ColMajor:RowMajor,Index> >::type ReturnType;
-};
-
-template<typename PermutationType, typename MatrixType, int Side, bool Transposed>
-struct permut_sparsematrix_product_retval
- : public ReturnByValue<permut_sparsematrix_product_retval<PermutationType, MatrixType, Side, Transposed> >
-{
-    typedef typename remove_all<typename MatrixType::Nested>::type MatrixTypeNestedCleaned;
-    typedef typename MatrixTypeNestedCleaned::Scalar Scalar;
-    typedef typename MatrixTypeNestedCleaned::Index Index;
-
-    enum {
-      SrcStorageOrder = MatrixTypeNestedCleaned::Flags&RowMajorBit ? RowMajor : ColMajor,
-      MoveOuter = SrcStorageOrder==RowMajor ? Side==OnTheLeft : Side==OnTheRight
-    };
-
-    permut_sparsematrix_product_retval(const PermutationType& perm, const MatrixType& matrix)
-      : m_permutation(perm), m_matrix(matrix)
-    {}
-
-    inline int rows() const { return m_matrix.rows(); }
-    inline int cols() const { return m_matrix.cols(); }
-
-    template<typename Dest> inline void evalTo(Dest& dst) const
-    {
-      if(MoveOuter)
-      {
-        SparseMatrix<Scalar,SrcStorageOrder,Index> tmp(m_matrix.rows(), m_matrix.cols());
-        Matrix<Index,Dynamic,1> sizes(m_matrix.outerSize());
-        for(Index j=0; j<m_matrix.outerSize(); ++j)
-        {
-          Index jp = m_permutation.indices().coeff(j);
-          sizes[((Side==OnTheLeft) ^ Transposed) ? jp : j] = m_matrix.innerVector(((Side==OnTheRight) ^ Transposed) ? jp : j).nonZeros();
-        }
-        tmp.reserve(sizes);
-        for(Index j=0; j<m_matrix.outerSize(); ++j)
-        {
-          Index jp = m_permutation.indices().coeff(j);
-          Index jsrc = ((Side==OnTheRight) ^ Transposed) ? jp : j;
-          Index jdst = ((Side==OnTheLeft) ^ Transposed) ? jp : j;
-          for(typename MatrixTypeNestedCleaned::InnerIterator it(m_matrix,jsrc); it; ++it)
-            tmp.insertByOuterInner(jdst,it.index()) = it.value();
-        }
-        dst = tmp;
-      }
-      else
-      {
-        SparseMatrix<Scalar,int(SrcStorageOrder)==RowMajor?ColMajor:RowMajor,Index> tmp(m_matrix.rows(), m_matrix.cols());
-        Matrix<Index,Dynamic,1> sizes(tmp.outerSize());
-        sizes.setZero();
-        PermutationMatrix<Dynamic,Dynamic,Index> perm;
-        if((Side==OnTheLeft) ^ Transposed)
-          perm = m_permutation;
-        else
-          perm = m_permutation.transpose();
-
-        for(Index j=0; j<m_matrix.outerSize(); ++j)
-          for(typename MatrixTypeNestedCleaned::InnerIterator it(m_matrix,j); it; ++it)
-            sizes[perm.indices().coeff(it.index())]++;
-        tmp.reserve(sizes);
-        for(Index j=0; j<m_matrix.outerSize(); ++j)
-          for(typename MatrixTypeNestedCleaned::InnerIterator it(m_matrix,j); it; ++it)
-            tmp.insertByOuterInner(perm.indices().coeff(it.index()),j) = it.value();
-        dst = tmp;
-      }
-    }
-
-  protected:
-    const PermutationType& m_permutation;
-    typename MatrixType::Nested m_matrix;
-};
-
-}
-
-
-
-/** \returns the matrix with the permutation applied to the columns
-  */
-template<typename SparseDerived, typename PermDerived>
-inline const internal::permut_sparsematrix_product_retval<PermutationBase<PermDerived>, SparseDerived, OnTheRight, false>
-operator*(const SparseMatrixBase<SparseDerived>& matrix, const PermutationBase<PermDerived>& perm)
-{
-  return internal::permut_sparsematrix_product_retval<PermutationBase<PermDerived>, SparseDerived, OnTheRight, false>(perm, matrix.derived());
-}
-
-/** \returns the matrix with the permutation applied to the rows
-  */
-template<typename SparseDerived, typename PermDerived>
-inline const internal::permut_sparsematrix_product_retval<PermutationBase<PermDerived>, SparseDerived, OnTheLeft, false>
-operator*( const PermutationBase<PermDerived>& perm, const SparseMatrixBase<SparseDerived>& matrix)
-{
-  return internal::permut_sparsematrix_product_retval<PermutationBase<PermDerived>, SparseDerived, OnTheLeft, false>(perm, matrix.derived());
-}
-
-
-
-/** \returns the matrix with the inverse permutation applied to the columns.
-  */
-template<typename SparseDerived, typename PermDerived>
-inline const internal::permut_sparsematrix_product_retval<PermutationBase<PermDerived>, SparseDerived, OnTheRight, true>
-operator*(const SparseMatrixBase<SparseDerived>& matrix, const Transpose<PermutationBase<PermDerived> >& tperm)
-{
-  return internal::permut_sparsematrix_product_retval<PermutationBase<PermDerived>, SparseDerived, OnTheRight, true>(tperm.nestedPermutation(), matrix.derived());
-}
-
-/** \returns the matrix with the inverse permutation applied to the rows.
-  */
-template<typename SparseDerived, typename PermDerived>
-inline const internal::permut_sparsematrix_product_retval<PermutationBase<PermDerived>, SparseDerived, OnTheLeft, true>
-operator*(const Transpose<PermutationBase<PermDerived> >& tperm, const SparseMatrixBase<SparseDerived>& matrix)
-{
-  return internal::permut_sparsematrix_product_retval<PermutationBase<PermDerived>, SparseDerived, OnTheLeft, true>(tperm.nestedPermutation(), matrix.derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_SELFADJOINTVIEW_H
diff --git a/lib/Eigen/src/SparseCore/SparseProduct.h b/lib/Eigen/src/SparseCore/SparseProduct.h
deleted file mode 100644
index cf766307..00000000
--- a/lib/Eigen/src/SparseCore/SparseProduct.h
+++ /dev/null
@@ -1,188 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSEPRODUCT_H
-#define EIGEN_SPARSEPRODUCT_H
-
-namespace Eigen { 
-
-template<typename Lhs, typename Rhs>
-struct SparseSparseProductReturnType
-{
-  typedef typename internal::traits<Lhs>::Scalar Scalar;
-  typedef typename internal::traits<Lhs>::Index Index;
-  enum {
-    LhsRowMajor = internal::traits<Lhs>::Flags & RowMajorBit,
-    RhsRowMajor = internal::traits<Rhs>::Flags & RowMajorBit,
-    TransposeRhs = (!LhsRowMajor) && RhsRowMajor,
-    TransposeLhs = LhsRowMajor && (!RhsRowMajor)
-  };
-
-  typedef typename internal::conditional<TransposeLhs,
-    SparseMatrix<Scalar,0,Index>,
-    typename internal::nested<Lhs,Rhs::RowsAtCompileTime>::type>::type LhsNested;
-
-  typedef typename internal::conditional<TransposeRhs,
-    SparseMatrix<Scalar,0,Index>,
-    typename internal::nested<Rhs,Lhs::RowsAtCompileTime>::type>::type RhsNested;
-
-  typedef SparseSparseProduct<LhsNested, RhsNested> Type;
-};
-
-namespace internal {
-template<typename LhsNested, typename RhsNested>
-struct traits<SparseSparseProduct<LhsNested, RhsNested> >
-{
-  typedef MatrixXpr XprKind;
-  // clean the nested types:
-  typedef typename remove_all<LhsNested>::type _LhsNested;
-  typedef typename remove_all<RhsNested>::type _RhsNested;
-  typedef typename _LhsNested::Scalar Scalar;
-  typedef typename promote_index_type<typename traits<_LhsNested>::Index,
-                                         typename traits<_RhsNested>::Index>::type Index;
-
-  enum {
-    LhsCoeffReadCost = _LhsNested::CoeffReadCost,
-    RhsCoeffReadCost = _RhsNested::CoeffReadCost,
-    LhsFlags = _LhsNested::Flags,
-    RhsFlags = _RhsNested::Flags,
-
-    RowsAtCompileTime    = _LhsNested::RowsAtCompileTime,
-    ColsAtCompileTime    = _RhsNested::ColsAtCompileTime,
-    MaxRowsAtCompileTime = _LhsNested::MaxRowsAtCompileTime,
-    MaxColsAtCompileTime = _RhsNested::MaxColsAtCompileTime,
-
-    InnerSize = EIGEN_SIZE_MIN_PREFER_FIXED(_LhsNested::ColsAtCompileTime, _RhsNested::RowsAtCompileTime),
-
-    EvalToRowMajor = (RhsFlags & LhsFlags & RowMajorBit),
-
-    RemovedBits = ~(EvalToRowMajor ? 0 : RowMajorBit),
-
-    Flags = (int(LhsFlags | RhsFlags) & HereditaryBits & RemovedBits)
-          | EvalBeforeAssigningBit
-          | EvalBeforeNestingBit,
-
-    CoeffReadCost = Dynamic
-  };
-
-  typedef Sparse StorageKind;
-};
-
-} // end namespace internal
-
-template<typename LhsNested, typename RhsNested>
-class SparseSparseProduct : internal::no_assignment_operator,
-  public SparseMatrixBase<SparseSparseProduct<LhsNested, RhsNested> >
-{
-  public:
-
-    typedef SparseMatrixBase<SparseSparseProduct> Base;
-    EIGEN_DENSE_PUBLIC_INTERFACE(SparseSparseProduct)
-
-  private:
-
-    typedef typename internal::traits<SparseSparseProduct>::_LhsNested _LhsNested;
-    typedef typename internal::traits<SparseSparseProduct>::_RhsNested _RhsNested;
-
-  public:
-
-    template<typename Lhs, typename Rhs>
-    EIGEN_STRONG_INLINE SparseSparseProduct(const Lhs& lhs, const Rhs& rhs)
-      : m_lhs(lhs), m_rhs(rhs), m_tolerance(0), m_conservative(true)
-    {
-      init();
-    }
-
-    template<typename Lhs, typename Rhs>
-    EIGEN_STRONG_INLINE SparseSparseProduct(const Lhs& lhs, const Rhs& rhs, const RealScalar& tolerance)
-      : m_lhs(lhs), m_rhs(rhs), m_tolerance(tolerance), m_conservative(false)
-    {
-      init();
-    }
-
-    SparseSparseProduct pruned(const Scalar& reference = 0, const RealScalar& epsilon = NumTraits<RealScalar>::dummy_precision()) const
-    {
-      using std::abs;
-      return SparseSparseProduct(m_lhs,m_rhs,abs(reference)*epsilon);
-    }
-
-    template<typename Dest>
-    void evalTo(Dest& result) const
-    {
-      if(m_conservative)
-        internal::conservative_sparse_sparse_product_selector<_LhsNested, _RhsNested, Dest>::run(lhs(),rhs(),result);
-      else
-        internal::sparse_sparse_product_with_pruning_selector<_LhsNested, _RhsNested, Dest>::run(lhs(),rhs(),result,m_tolerance);
-    }
-
-    EIGEN_STRONG_INLINE Index rows() const { return m_lhs.rows(); }
-    EIGEN_STRONG_INLINE Index cols() const { return m_rhs.cols(); }
-
-    EIGEN_STRONG_INLINE const _LhsNested& lhs() const { return m_lhs; }
-    EIGEN_STRONG_INLINE const _RhsNested& rhs() const { return m_rhs; }
-
-  protected:
-    void init()
-    {
-      eigen_assert(m_lhs.cols() == m_rhs.rows());
-
-      enum {
-        ProductIsValid = _LhsNested::ColsAtCompileTime==Dynamic
-                      || _RhsNested::RowsAtCompileTime==Dynamic
-                      || int(_LhsNested::ColsAtCompileTime)==int(_RhsNested::RowsAtCompileTime),
-        AreVectors = _LhsNested::IsVectorAtCompileTime && _RhsNested::IsVectorAtCompileTime,
-        SameSizes = EIGEN_PREDICATE_SAME_MATRIX_SIZE(_LhsNested,_RhsNested)
-      };
-      // note to the lost user:
-      //    * for a dot product use: v1.dot(v2)
-      //    * for a coeff-wise product use: v1.cwise()*v2
-      EIGEN_STATIC_ASSERT(ProductIsValid || !(AreVectors && SameSizes),
-        INVALID_VECTOR_VECTOR_PRODUCT__IF_YOU_WANTED_A_DOT_OR_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTIONS)
-      EIGEN_STATIC_ASSERT(ProductIsValid || !(SameSizes && !AreVectors),
-        INVALID_MATRIX_PRODUCT__IF_YOU_WANTED_A_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTION)
-      EIGEN_STATIC_ASSERT(ProductIsValid || SameSizes, INVALID_MATRIX_PRODUCT)
-    }
-
-    LhsNested m_lhs;
-    RhsNested m_rhs;
-    RealScalar m_tolerance;
-    bool m_conservative;
-};
-
-// sparse = sparse * sparse
-template<typename Derived>
-template<typename Lhs, typename Rhs>
-inline Derived& SparseMatrixBase<Derived>::operator=(const SparseSparseProduct<Lhs,Rhs>& product)
-{
-  product.evalTo(derived());
-  return derived();
-}
-
-/** \returns an expression of the product of two sparse matrices.
-  * By default a conservative product preserving the symbolic non zeros is performed.
-  * The automatic pruning of the small values can be achieved by calling the pruned() function
-  * in which case a totally different product algorithm is employed:
-  * \code
-  * C = (A*B).pruned();             // supress numerical zeros (exact)
-  * C = (A*B).pruned(ref);
-  * C = (A*B).pruned(ref,epsilon);
-  * \endcode
-  * where \c ref is a meaningful non zero reference value.
-  * */
-template<typename Derived>
-template<typename OtherDerived>
-inline const typename SparseSparseProductReturnType<Derived,OtherDerived>::Type
-SparseMatrixBase<Derived>::operator*(const SparseMatrixBase<OtherDerived> &other) const
-{
-  return typename SparseSparseProductReturnType<Derived,OtherDerived>::Type(derived(), other.derived());
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSEPRODUCT_H
diff --git a/lib/Eigen/src/SparseCore/SparseRedux.h b/lib/Eigen/src/SparseCore/SparseRedux.h
deleted file mode 100644
index f3da93a7..00000000
--- a/lib/Eigen/src/SparseCore/SparseRedux.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSEREDUX_H
-#define EIGEN_SPARSEREDUX_H
-
-namespace Eigen { 
-
-template<typename Derived>
-typename internal::traits<Derived>::Scalar
-SparseMatrixBase<Derived>::sum() const
-{
-  eigen_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix");
-  Scalar res(0);
-  for (Index j=0; j<outerSize(); ++j)
-    for (typename Derived::InnerIterator iter(derived(),j); iter; ++iter)
-      res += iter.value();
-  return res;
-}
-
-template<typename _Scalar, int _Options, typename _Index>
-typename internal::traits<SparseMatrix<_Scalar,_Options,_Index> >::Scalar
-SparseMatrix<_Scalar,_Options,_Index>::sum() const
-{
-  eigen_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix");
-  return Matrix<Scalar,1,Dynamic>::Map(&m_data.value(0), m_data.size()).sum();
-}
-
-template<typename _Scalar, int _Options, typename _Index>
-typename internal::traits<SparseVector<_Scalar,_Options, _Index> >::Scalar
-SparseVector<_Scalar,_Options,_Index>::sum() const
-{
-  eigen_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix");
-  return Matrix<Scalar,1,Dynamic>::Map(&m_data.value(0), m_data.size()).sum();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSEREDUX_H
diff --git a/lib/Eigen/src/SparseCore/SparseSelfAdjointView.h b/lib/Eigen/src/SparseCore/SparseSelfAdjointView.h
deleted file mode 100644
index 0eda96bc..00000000
--- a/lib/Eigen/src/SparseCore/SparseSelfAdjointView.h
+++ /dev/null
@@ -1,507 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_SELFADJOINTVIEW_H
-#define EIGEN_SPARSE_SELFADJOINTVIEW_H
-
-namespace Eigen { 
-
-/** \ingroup SparseCore_Module
-  * \class SparseSelfAdjointView
-  *
-  * \brief Pseudo expression to manipulate a triangular sparse matrix as a selfadjoint matrix.
-  *
-  * \param MatrixType the type of the dense matrix storing the coefficients
-  * \param UpLo can be either \c #Lower or \c #Upper
-  *
-  * This class is an expression of a sefladjoint matrix from a triangular part of a matrix
-  * with given dense storage of the coefficients. It is the return type of MatrixBase::selfadjointView()
-  * and most of the time this is the only way that it is used.
-  *
-  * \sa SparseMatrixBase::selfadjointView()
-  */
-template<typename Lhs, typename Rhs, int UpLo>
-class SparseSelfAdjointTimeDenseProduct;
-
-template<typename Lhs, typename Rhs, int UpLo>
-class DenseTimeSparseSelfAdjointProduct;
-
-namespace internal {
-  
-template<typename MatrixType, unsigned int UpLo>
-struct traits<SparseSelfAdjointView<MatrixType,UpLo> > : traits<MatrixType> {
-};
-
-template<int SrcUpLo,int DstUpLo,typename MatrixType,int DestOrder>
-void permute_symm_to_symm(const MatrixType& mat, SparseMatrix<typename MatrixType::Scalar,DestOrder,typename MatrixType::Index>& _dest, const typename MatrixType::Index* perm = 0);
-
-template<int UpLo,typename MatrixType,int DestOrder>
-void permute_symm_to_fullsymm(const MatrixType& mat, SparseMatrix<typename MatrixType::Scalar,DestOrder,typename MatrixType::Index>& _dest, const typename MatrixType::Index* perm = 0);
-
-}
-
-template<typename MatrixType, unsigned int UpLo> class SparseSelfAdjointView
-  : public EigenBase<SparseSelfAdjointView<MatrixType,UpLo> >
-{
-  public:
-
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::Index Index;
-    typedef Matrix<Index,Dynamic,1> VectorI;
-    typedef typename MatrixType::Nested MatrixTypeNested;
-    typedef typename internal::remove_all<MatrixTypeNested>::type _MatrixTypeNested;
-
-    inline SparseSelfAdjointView(const MatrixType& matrix) : m_matrix(matrix)
-    {
-      eigen_assert(rows()==cols() && "SelfAdjointView is only for squared matrices");
-    }
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-
-    /** \internal \returns a reference to the nested matrix */
-    const _MatrixTypeNested& matrix() const { return m_matrix; }
-    _MatrixTypeNested& matrix() { return m_matrix.const_cast_derived(); }
-
-    /** \returns an expression of the matrix product between a sparse self-adjoint matrix \c *this and a sparse matrix \a rhs.
-      *
-      * Note that there is no algorithmic advantage of performing such a product compared to a general sparse-sparse matrix product.
-      * Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product.
-      */
-    template<typename OtherDerived>
-    SparseSparseProduct<typename OtherDerived::PlainObject, OtherDerived>
-    operator*(const SparseMatrixBase<OtherDerived>& rhs) const
-    {
-      return SparseSparseProduct<typename OtherDerived::PlainObject, OtherDerived>(*this, rhs.derived());
-    }
-
-    /** \returns an expression of the matrix product between a sparse matrix \a lhs and a sparse self-adjoint matrix \a rhs.
-      *
-      * Note that there is no algorithmic advantage of performing such a product compared to a general sparse-sparse matrix product.
-      * Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product.
-      */
-    template<typename OtherDerived> friend
-    SparseSparseProduct<OtherDerived, typename OtherDerived::PlainObject >
-    operator*(const SparseMatrixBase<OtherDerived>& lhs, const SparseSelfAdjointView& rhs)
-    {
-      return SparseSparseProduct<OtherDerived, typename OtherDerived::PlainObject>(lhs.derived(), rhs);
-    }
-    
-    /** Efficient sparse self-adjoint matrix times dense vector/matrix product */
-    template<typename OtherDerived>
-    SparseSelfAdjointTimeDenseProduct<MatrixType,OtherDerived,UpLo>
-    operator*(const MatrixBase<OtherDerived>& rhs) const
-    {
-      return SparseSelfAdjointTimeDenseProduct<MatrixType,OtherDerived,UpLo>(m_matrix, rhs.derived());
-    }
-
-    /** Efficient dense vector/matrix times sparse self-adjoint matrix product */
-    template<typename OtherDerived> friend
-    DenseTimeSparseSelfAdjointProduct<OtherDerived,MatrixType,UpLo>
-    operator*(const MatrixBase<OtherDerived>& lhs, const SparseSelfAdjointView& rhs)
-    {
-      return DenseTimeSparseSelfAdjointProduct<OtherDerived,_MatrixTypeNested,UpLo>(lhs.derived(), rhs.m_matrix);
-    }
-
-    /** Perform a symmetric rank K update of the selfadjoint matrix \c *this:
-      * \f$ this = this + \alpha ( u u^* ) \f$ where \a u is a vector or matrix.
-      *
-      * \returns a reference to \c *this
-      *
-      * To perform \f$ this = this + \alpha ( u^* u ) \f$ you can simply
-      * call this function with u.adjoint().
-      */
-    template<typename DerivedU>
-    SparseSelfAdjointView& rankUpdate(const SparseMatrixBase<DerivedU>& u, const Scalar& alpha = Scalar(1));
-    
-    /** \internal triggered by sparse_matrix = SparseSelfadjointView; */
-    template<typename DestScalar,int StorageOrder> void evalTo(SparseMatrix<DestScalar,StorageOrder,Index>& _dest) const
-    {
-      internal::permute_symm_to_fullsymm<UpLo>(m_matrix, _dest);
-    }
-    
-    template<typename DestScalar> void evalTo(DynamicSparseMatrix<DestScalar,ColMajor,Index>& _dest) const
-    {
-      // TODO directly evaluate into _dest;
-      SparseMatrix<DestScalar,ColMajor,Index> tmp(_dest.rows(),_dest.cols());
-      internal::permute_symm_to_fullsymm<UpLo>(m_matrix, tmp);
-      _dest = tmp;
-    }
-    
-    /** \returns an expression of P H P^-1 */
-    SparseSymmetricPermutationProduct<_MatrixTypeNested,UpLo> twistedBy(const PermutationMatrix<Dynamic,Dynamic,Index>& perm) const
-    {
-      return SparseSymmetricPermutationProduct<_MatrixTypeNested,UpLo>(m_matrix, perm);
-    }
-    
-    template<typename SrcMatrixType,int SrcUpLo>
-    SparseSelfAdjointView& operator=(const SparseSymmetricPermutationProduct<SrcMatrixType,SrcUpLo>& permutedMatrix)
-    {
-      permutedMatrix.evalTo(*this);
-      return *this;
-    }
-
-
-    SparseSelfAdjointView& operator=(const SparseSelfAdjointView& src)
-    {
-      PermutationMatrix<Dynamic> pnull;
-      return *this = src.twistedBy(pnull);
-    }
-
-    template<typename SrcMatrixType,unsigned int SrcUpLo>
-    SparseSelfAdjointView& operator=(const SparseSelfAdjointView<SrcMatrixType,SrcUpLo>& src)
-    {
-      PermutationMatrix<Dynamic> pnull;
-      return *this = src.twistedBy(pnull);
-    }
-    
-
-    // const SparseLLT<PlainObject, UpLo> llt() const;
-    // const SparseLDLT<PlainObject, UpLo> ldlt() const;
-
-  protected:
-
-    typename MatrixType::Nested m_matrix;
-    mutable VectorI m_countPerRow;
-    mutable VectorI m_countPerCol;
-};
-
-/***************************************************************************
-* Implementation of SparseMatrixBase methods
-***************************************************************************/
-
-template<typename Derived>
-template<unsigned int UpLo>
-const SparseSelfAdjointView<Derived, UpLo> SparseMatrixBase<Derived>::selfadjointView() const
-{
-  return derived();
-}
-
-template<typename Derived>
-template<unsigned int UpLo>
-SparseSelfAdjointView<Derived, UpLo> SparseMatrixBase<Derived>::selfadjointView()
-{
-  return derived();
-}
-
-/***************************************************************************
-* Implementation of SparseSelfAdjointView methods
-***************************************************************************/
-
-template<typename MatrixType, unsigned int UpLo>
-template<typename DerivedU>
-SparseSelfAdjointView<MatrixType,UpLo>&
-SparseSelfAdjointView<MatrixType,UpLo>::rankUpdate(const SparseMatrixBase<DerivedU>& u, const Scalar& alpha)
-{
-  SparseMatrix<Scalar,MatrixType::Flags&RowMajorBit?RowMajor:ColMajor> tmp = u * u.adjoint();
-  if(alpha==Scalar(0))
-    m_matrix.const_cast_derived() = tmp.template triangularView<UpLo>();
-  else
-    m_matrix.const_cast_derived() += alpha * tmp.template triangularView<UpLo>();
-
-  return *this;
-}
-
-/***************************************************************************
-* Implementation of sparse self-adjoint time dense matrix
-***************************************************************************/
-
-namespace internal {
-template<typename Lhs, typename Rhs, int UpLo>
-struct traits<SparseSelfAdjointTimeDenseProduct<Lhs,Rhs,UpLo> >
- : traits<ProductBase<SparseSelfAdjointTimeDenseProduct<Lhs,Rhs,UpLo>, Lhs, Rhs> >
-{
-  typedef Dense StorageKind;
-};
-}
-
-template<typename Lhs, typename Rhs, int UpLo>
-class SparseSelfAdjointTimeDenseProduct
-  : public ProductBase<SparseSelfAdjointTimeDenseProduct<Lhs,Rhs,UpLo>, Lhs, Rhs>
-{
-  public:
-    EIGEN_PRODUCT_PUBLIC_INTERFACE(SparseSelfAdjointTimeDenseProduct)
-
-    SparseSelfAdjointTimeDenseProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)
-    {}
-
-    template<typename Dest> void scaleAndAddTo(Dest& dest, const Scalar& alpha) const
-    {
-      EIGEN_ONLY_USED_FOR_DEBUG(alpha);
-      // TODO use alpha
-      eigen_assert(alpha==Scalar(1) && "alpha != 1 is not implemented yet, sorry");
-      typedef typename internal::remove_all<Lhs>::type _Lhs;
-      typedef typename _Lhs::InnerIterator LhsInnerIterator;
-      enum {
-        LhsIsRowMajor = (_Lhs::Flags&RowMajorBit)==RowMajorBit,
-        ProcessFirstHalf =
-                 ((UpLo&(Upper|Lower))==(Upper|Lower))
-              || ( (UpLo&Upper) && !LhsIsRowMajor)
-              || ( (UpLo&Lower) && LhsIsRowMajor),
-        ProcessSecondHalf = !ProcessFirstHalf
-      };
-      for (Index j=0; j<m_lhs.outerSize(); ++j)
-      {
-        LhsInnerIterator i(m_lhs,j);
-        if (ProcessSecondHalf)
-        {
-          while (i && i.index()<j) ++i;
-          if(i && i.index()==j)
-          {
-            dest.row(j) += i.value() * m_rhs.row(j);
-            ++i;
-          }
-        }
-        for(; (ProcessFirstHalf ? i && i.index() < j : i) ; ++i)
-        {
-          Index a = LhsIsRowMajor ? j : i.index();
-          Index b = LhsIsRowMajor ? i.index() : j;
-          typename Lhs::Scalar v = i.value();
-          dest.row(a) += (v) * m_rhs.row(b);
-          dest.row(b) += numext::conj(v) * m_rhs.row(a);
-        }
-        if (ProcessFirstHalf && i && (i.index()==j))
-          dest.row(j) += i.value() * m_rhs.row(j);
-      }
-    }
-
-  private:
-    SparseSelfAdjointTimeDenseProduct& operator=(const SparseSelfAdjointTimeDenseProduct&);
-};
-
-namespace internal {
-template<typename Lhs, typename Rhs, int UpLo>
-struct traits<DenseTimeSparseSelfAdjointProduct<Lhs,Rhs,UpLo> >
- : traits<ProductBase<DenseTimeSparseSelfAdjointProduct<Lhs,Rhs,UpLo>, Lhs, Rhs> >
-{};
-}
-
-template<typename Lhs, typename Rhs, int UpLo>
-class DenseTimeSparseSelfAdjointProduct
-  : public ProductBase<DenseTimeSparseSelfAdjointProduct<Lhs,Rhs,UpLo>, Lhs, Rhs>
-{
-  public:
-    EIGEN_PRODUCT_PUBLIC_INTERFACE(DenseTimeSparseSelfAdjointProduct)
-
-    DenseTimeSparseSelfAdjointProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)
-    {}
-
-    template<typename Dest> void scaleAndAddTo(Dest& /*dest*/, const Scalar& /*alpha*/) const
-    {
-      // TODO
-    }
-
-  private:
-    DenseTimeSparseSelfAdjointProduct& operator=(const DenseTimeSparseSelfAdjointProduct&);
-};
-
-/***************************************************************************
-* Implementation of symmetric copies and permutations
-***************************************************************************/
-namespace internal {
-  
-template<typename MatrixType, int UpLo>
-struct traits<SparseSymmetricPermutationProduct<MatrixType,UpLo> > : traits<MatrixType> {
-};
-
-template<int UpLo,typename MatrixType,int DestOrder>
-void permute_symm_to_fullsymm(const MatrixType& mat, SparseMatrix<typename MatrixType::Scalar,DestOrder,typename MatrixType::Index>& _dest, const typename MatrixType::Index* perm)
-{
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::Scalar Scalar;
-  typedef SparseMatrix<Scalar,DestOrder,Index> Dest;
-  typedef Matrix<Index,Dynamic,1> VectorI;
-  
-  Dest& dest(_dest.derived());
-  enum {
-    StorageOrderMatch = int(Dest::IsRowMajor) == int(MatrixType::IsRowMajor)
-  };
-  
-  Index size = mat.rows();
-  VectorI count;
-  count.resize(size);
-  count.setZero();
-  dest.resize(size,size);
-  for(Index j = 0; j<size; ++j)
-  {
-    Index jp = perm ? perm[j] : j;
-    for(typename MatrixType::InnerIterator it(mat,j); it; ++it)
-    {
-      Index i = it.index();
-      Index r = it.row();
-      Index c = it.col();
-      Index ip = perm ? perm[i] : i;
-      if(UpLo==(Upper|Lower))
-        count[StorageOrderMatch ? jp : ip]++;
-      else if(r==c)
-        count[ip]++;
-      else if(( UpLo==Lower && r>c) || ( UpLo==Upper && r<c))
-      {
-        count[ip]++;
-        count[jp]++;
-      }
-    }
-  }
-  Index nnz = count.sum();
-  
-  // reserve space
-  dest.resizeNonZeros(nnz);
-  dest.outerIndexPtr()[0] = 0;
-  for(Index j=0; j<size; ++j)
-    dest.outerIndexPtr()[j+1] = dest.outerIndexPtr()[j] + count[j];
-  for(Index j=0; j<size; ++j)
-    count[j] = dest.outerIndexPtr()[j];
-  
-  // copy data
-  for(Index j = 0; j<size; ++j)
-  {
-    for(typename MatrixType::InnerIterator it(mat,j); it; ++it)
-    {
-      Index i = it.index();
-      Index r = it.row();
-      Index c = it.col();
-      
-      Index jp = perm ? perm[j] : j;
-      Index ip = perm ? perm[i] : i;
-      
-      if(UpLo==(Upper|Lower))
-      {
-        Index k = count[StorageOrderMatch ? jp : ip]++;
-        dest.innerIndexPtr()[k] = StorageOrderMatch ? ip : jp;
-        dest.valuePtr()[k] = it.value();
-      }
-      else if(r==c)
-      {
-        Index k = count[ip]++;
-        dest.innerIndexPtr()[k] = ip;
-        dest.valuePtr()[k] = it.value();
-      }
-      else if(( (UpLo&Lower)==Lower && r>c) || ( (UpLo&Upper)==Upper && r<c))
-      {
-        if(!StorageOrderMatch)
-          std::swap(ip,jp);
-        Index k = count[jp]++;
-        dest.innerIndexPtr()[k] = ip;
-        dest.valuePtr()[k] = it.value();
-        k = count[ip]++;
-        dest.innerIndexPtr()[k] = jp;
-        dest.valuePtr()[k] = numext::conj(it.value());
-      }
-    }
-  }
-}
-
-template<int _SrcUpLo,int _DstUpLo,typename MatrixType,int DstOrder>
-void permute_symm_to_symm(const MatrixType& mat, SparseMatrix<typename MatrixType::Scalar,DstOrder,typename MatrixType::Index>& _dest, const typename MatrixType::Index* perm)
-{
-  typedef typename MatrixType::Index Index;
-  typedef typename MatrixType::Scalar Scalar;
-  SparseMatrix<Scalar,DstOrder,Index>& dest(_dest.derived());
-  typedef Matrix<Index,Dynamic,1> VectorI;
-  enum {
-    SrcOrder = MatrixType::IsRowMajor ? RowMajor : ColMajor,
-    StorageOrderMatch = int(SrcOrder) == int(DstOrder),
-    DstUpLo = DstOrder==RowMajor ? (_DstUpLo==Upper ? Lower : Upper) : _DstUpLo,
-    SrcUpLo = SrcOrder==RowMajor ? (_SrcUpLo==Upper ? Lower : Upper) : _SrcUpLo
-  };
-  
-  Index size = mat.rows();
-  VectorI count(size);
-  count.setZero();
-  dest.resize(size,size);
-  for(Index j = 0; j<size; ++j)
-  {
-    Index jp = perm ? perm[j] : j;
-    for(typename MatrixType::InnerIterator it(mat,j); it; ++it)
-    {
-      Index i = it.index();
-      if((int(SrcUpLo)==int(Lower) && i<j) || (int(SrcUpLo)==int(Upper) && i>j))
-        continue;
-                  
-      Index ip = perm ? perm[i] : i;
-      count[int(DstUpLo)==int(Lower) ? (std::min)(ip,jp) : (std::max)(ip,jp)]++;
-    }
-  }
-  dest.outerIndexPtr()[0] = 0;
-  for(Index j=0; j<size; ++j)
-    dest.outerIndexPtr()[j+1] = dest.outerIndexPtr()[j] + count[j];
-  dest.resizeNonZeros(dest.outerIndexPtr()[size]);
-  for(Index j=0; j<size; ++j)
-    count[j] = dest.outerIndexPtr()[j];
-  
-  for(Index j = 0; j<size; ++j)
-  {
-    
-    for(typename MatrixType::InnerIterator it(mat,j); it; ++it)
-    {
-      Index i = it.index();
-      if((int(SrcUpLo)==int(Lower) && i<j) || (int(SrcUpLo)==int(Upper) && i>j))
-        continue;
-                  
-      Index jp = perm ? perm[j] : j;
-      Index ip = perm? perm[i] : i;
-      
-      Index k = count[int(DstUpLo)==int(Lower) ? (std::min)(ip,jp) : (std::max)(ip,jp)]++;
-      dest.innerIndexPtr()[k] = int(DstUpLo)==int(Lower) ? (std::max)(ip,jp) : (std::min)(ip,jp);
-      
-      if(!StorageOrderMatch) std::swap(ip,jp);
-      if( ((int(DstUpLo)==int(Lower) && ip<jp) || (int(DstUpLo)==int(Upper) && ip>jp)))
-        dest.valuePtr()[k] = numext::conj(it.value());
-      else
-        dest.valuePtr()[k] = it.value();
-    }
-  }
-}
-
-}
-
-template<typename MatrixType,int UpLo>
-class SparseSymmetricPermutationProduct
-  : public EigenBase<SparseSymmetricPermutationProduct<MatrixType,UpLo> >
-{
-  public:
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::Index Index;
-  protected:
-    typedef PermutationMatrix<Dynamic,Dynamic,Index> Perm;
-  public:
-    typedef Matrix<Index,Dynamic,1> VectorI;
-    typedef typename MatrixType::Nested MatrixTypeNested;
-    typedef typename internal::remove_all<MatrixTypeNested>::type _MatrixTypeNested;
-    
-    SparseSymmetricPermutationProduct(const MatrixType& mat, const Perm& perm)
-      : m_matrix(mat), m_perm(perm)
-    {}
-    
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-    
-    template<typename DestScalar, int Options, typename DstIndex>
-    void evalTo(SparseMatrix<DestScalar,Options,DstIndex>& _dest) const
-    {
-//       internal::permute_symm_to_fullsymm<UpLo>(m_matrix,_dest,m_perm.indices().data());
-      SparseMatrix<DestScalar,(Options&RowMajor)==RowMajor ? ColMajor : RowMajor, DstIndex> tmp;
-      internal::permute_symm_to_fullsymm<UpLo>(m_matrix,tmp,m_perm.indices().data());
-      _dest = tmp;
-    }
-    
-    template<typename DestType,unsigned int DestUpLo> void evalTo(SparseSelfAdjointView<DestType,DestUpLo>& dest) const
-    {
-      internal::permute_symm_to_symm<UpLo,DestUpLo>(m_matrix,dest.matrix(),m_perm.indices().data());
-    }
-    
-  protected:
-    MatrixTypeNested m_matrix;
-    const Perm& m_perm;
-
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_SELFADJOINTVIEW_H
diff --git a/lib/Eigen/src/SparseCore/SparseSparseProductWithPruning.h b/lib/Eigen/src/SparseCore/SparseSparseProductWithPruning.h
deleted file mode 100644
index fcc18f5c..00000000
--- a/lib/Eigen/src/SparseCore/SparseSparseProductWithPruning.h
+++ /dev/null
@@ -1,150 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSESPARSEPRODUCTWITHPRUNING_H
-#define EIGEN_SPARSESPARSEPRODUCTWITHPRUNING_H
-
-namespace Eigen { 
-
-namespace internal {
-
-
-// perform a pseudo in-place sparse * sparse product assuming all matrices are col major
-template<typename Lhs, typename Rhs, typename ResultType>
-static void sparse_sparse_product_with_pruning_impl(const Lhs& lhs, const Rhs& rhs, ResultType& res, const typename ResultType::RealScalar& tolerance)
-{
-  // return sparse_sparse_product_with_pruning_impl2(lhs,rhs,res);
-
-  typedef typename remove_all<Lhs>::type::Scalar Scalar;
-  typedef typename remove_all<Lhs>::type::Index Index;
-
-  // make sure to call innerSize/outerSize since we fake the storage order.
-  Index rows = lhs.innerSize();
-  Index cols = rhs.outerSize();
-  //Index size = lhs.outerSize();
-  eigen_assert(lhs.outerSize() == rhs.innerSize());
-
-  // allocate a temporary buffer
-  AmbiVector<Scalar,Index> tempVector(rows);
-
-  // estimate the number of non zero entries
-  // given a rhs column containing Y non zeros, we assume that the respective Y columns
-  // of the lhs differs in average of one non zeros, thus the number of non zeros for
-  // the product of a rhs column with the lhs is X+Y where X is the average number of non zero
-  // per column of the lhs.
-  // Therefore, we have nnz(lhs*rhs) = nnz(lhs) + nnz(rhs)
-  Index estimated_nnz_prod = lhs.nonZeros() + rhs.nonZeros();
-
-  // mimics a resizeByInnerOuter:
-  if(ResultType::IsRowMajor)
-    res.resize(cols, rows);
-  else
-    res.resize(rows, cols);
-
-  res.reserve(estimated_nnz_prod);
-  double ratioColRes = double(estimated_nnz_prod)/double(lhs.rows()*rhs.cols());
-  for (Index j=0; j<cols; ++j)
-  {
-    // FIXME:
-    //double ratioColRes = (double(rhs.innerVector(j).nonZeros()) + double(lhs.nonZeros())/double(lhs.cols()))/double(lhs.rows());
-    // let's do a more accurate determination of the nnz ratio for the current column j of res
-    tempVector.init(ratioColRes);
-    tempVector.setZero();
-    for (typename Rhs::InnerIterator rhsIt(rhs, j); rhsIt; ++rhsIt)
-    {
-      // FIXME should be written like this: tmp += rhsIt.value() * lhs.col(rhsIt.index())
-      tempVector.restart();
-      Scalar x = rhsIt.value();
-      for (typename Lhs::InnerIterator lhsIt(lhs, rhsIt.index()); lhsIt; ++lhsIt)
-      {
-        tempVector.coeffRef(lhsIt.index()) += lhsIt.value() * x;
-      }
-    }
-    res.startVec(j);
-    for (typename AmbiVector<Scalar,Index>::Iterator it(tempVector,tolerance); it; ++it)
-      res.insertBackByOuterInner(j,it.index()) = it.value();
-  }
-  res.finalize();
-}
-
-template<typename Lhs, typename Rhs, typename ResultType,
-  int LhsStorageOrder = traits<Lhs>::Flags&RowMajorBit,
-  int RhsStorageOrder = traits<Rhs>::Flags&RowMajorBit,
-  int ResStorageOrder = traits<ResultType>::Flags&RowMajorBit>
-struct sparse_sparse_product_with_pruning_selector;
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct sparse_sparse_product_with_pruning_selector<Lhs,Rhs,ResultType,ColMajor,ColMajor,ColMajor>
-{
-  typedef typename traits<typename remove_all<Lhs>::type>::Scalar Scalar;
-  typedef typename ResultType::RealScalar RealScalar;
-
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res, const RealScalar& tolerance)
-  {
-    typename remove_all<ResultType>::type _res(res.rows(), res.cols());
-    internal::sparse_sparse_product_with_pruning_impl<Lhs,Rhs,ResultType>(lhs, rhs, _res, tolerance);
-    res.swap(_res);
-  }
-};
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct sparse_sparse_product_with_pruning_selector<Lhs,Rhs,ResultType,ColMajor,ColMajor,RowMajor>
-{
-  typedef typename ResultType::RealScalar RealScalar;
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res, const RealScalar& tolerance)
-  {
-    // we need a col-major matrix to hold the result
-    typedef SparseMatrix<typename ResultType::Scalar,ColMajor,typename ResultType::Index> SparseTemporaryType;
-    SparseTemporaryType _res(res.rows(), res.cols());
-    internal::sparse_sparse_product_with_pruning_impl<Lhs,Rhs,SparseTemporaryType>(lhs, rhs, _res, tolerance);
-    res = _res;
-  }
-};
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct sparse_sparse_product_with_pruning_selector<Lhs,Rhs,ResultType,RowMajor,RowMajor,RowMajor>
-{
-  typedef typename ResultType::RealScalar RealScalar;
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res, const RealScalar& tolerance)
-  {
-    // let's transpose the product to get a column x column product
-    typename remove_all<ResultType>::type _res(res.rows(), res.cols());
-    internal::sparse_sparse_product_with_pruning_impl<Rhs,Lhs,ResultType>(rhs, lhs, _res, tolerance);
-    res.swap(_res);
-  }
-};
-
-template<typename Lhs, typename Rhs, typename ResultType>
-struct sparse_sparse_product_with_pruning_selector<Lhs,Rhs,ResultType,RowMajor,RowMajor,ColMajor>
-{
-  typedef typename ResultType::RealScalar RealScalar;
-  static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res, const RealScalar& tolerance)
-  {
-    typedef SparseMatrix<typename ResultType::Scalar,ColMajor,typename Lhs::Index> ColMajorMatrixLhs;
-    typedef SparseMatrix<typename ResultType::Scalar,ColMajor,typename Lhs::Index> ColMajorMatrixRhs;
-    ColMajorMatrixLhs colLhs(lhs);
-    ColMajorMatrixRhs colRhs(rhs);
-    internal::sparse_sparse_product_with_pruning_impl<ColMajorMatrixLhs,ColMajorMatrixRhs,ResultType>(colLhs, colRhs, res, tolerance);
-
-    // let's transpose the product to get a column x column product
-//     typedef SparseMatrix<typename ResultType::Scalar> SparseTemporaryType;
-//     SparseTemporaryType _res(res.cols(), res.rows());
-//     sparse_sparse_product_with_pruning_impl<Rhs,Lhs,SparseTemporaryType>(rhs, lhs, _res);
-//     res = _res.transpose();
-  }
-};
-
-// NOTE the 2 others cases (col row *) must never occur since they are caught
-// by ProductReturnType which transforms it to (col col *) by evaluating rhs.
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSESPARSEPRODUCTWITHPRUNING_H
diff --git a/lib/Eigen/src/SparseCore/SparseTranspose.h b/lib/Eigen/src/SparseCore/SparseTranspose.h
deleted file mode 100644
index 76d031d5..00000000
--- a/lib/Eigen/src/SparseCore/SparseTranspose.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSETRANSPOSE_H
-#define EIGEN_SPARSETRANSPOSE_H
-
-namespace Eigen { 
-
-template<typename MatrixType> class TransposeImpl<MatrixType,Sparse>
-  : public SparseMatrixBase<Transpose<MatrixType> >
-{
-    typedef typename internal::remove_all<typename MatrixType::Nested>::type _MatrixTypeNested;
-  public:
-
-    EIGEN_SPARSE_PUBLIC_INTERFACE(Transpose<MatrixType> )
-
-    class InnerIterator;
-    class ReverseInnerIterator;
-
-    inline Index nonZeros() const { return derived().nestedExpression().nonZeros(); }
-};
-
-// NOTE: VC10 and VC11 trigger an ICE if don't put typename TransposeImpl<MatrixType,Sparse>:: in front of Index,
-// a typedef typename TransposeImpl<MatrixType,Sparse>::Index Index;
-// does not fix the issue.
-// An alternative is to define the nested class in the parent class itself.
-template<typename MatrixType> class TransposeImpl<MatrixType,Sparse>::InnerIterator
-  : public _MatrixTypeNested::InnerIterator
-{
-    typedef typename _MatrixTypeNested::InnerIterator Base;
-    typedef typename TransposeImpl::Index Index;
-  public:
-
-    EIGEN_STRONG_INLINE InnerIterator(const TransposeImpl& trans, typename TransposeImpl<MatrixType,Sparse>::Index outer)
-      : Base(trans.derived().nestedExpression(), outer)
-    {}
-    typename TransposeImpl<MatrixType,Sparse>::Index row() const { return Base::col(); }
-    typename TransposeImpl<MatrixType,Sparse>::Index col() const { return Base::row(); }
-};
-
-template<typename MatrixType> class TransposeImpl<MatrixType,Sparse>::ReverseInnerIterator
-  : public _MatrixTypeNested::ReverseInnerIterator
-{
-    typedef typename _MatrixTypeNested::ReverseInnerIterator Base;
-    typedef typename TransposeImpl::Index Index;
-  public:
-
-    EIGEN_STRONG_INLINE ReverseInnerIterator(const TransposeImpl& xpr, typename TransposeImpl<MatrixType,Sparse>::Index outer)
-      : Base(xpr.derived().nestedExpression(), outer)
-    {}
-    typename TransposeImpl<MatrixType,Sparse>::Index row() const { return Base::col(); }
-    typename TransposeImpl<MatrixType,Sparse>::Index col() const { return Base::row(); }
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSETRANSPOSE_H
diff --git a/lib/Eigen/src/SparseCore/SparseTriangularView.h b/lib/Eigen/src/SparseCore/SparseTriangularView.h
deleted file mode 100644
index 333127b7..00000000
--- a/lib/Eigen/src/SparseCore/SparseTriangularView.h
+++ /dev/null
@@ -1,179 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_TRIANGULARVIEW_H
-#define EIGEN_SPARSE_TRIANGULARVIEW_H
-
-namespace Eigen { 
-
-namespace internal {
-  
-template<typename MatrixType, int Mode>
-struct traits<SparseTriangularView<MatrixType,Mode> >
-: public traits<MatrixType>
-{};
-
-} // namespace internal
-
-template<typename MatrixType, int Mode> class SparseTriangularView
-  : public SparseMatrixBase<SparseTriangularView<MatrixType,Mode> >
-{
-    enum { SkipFirst = ((Mode&Lower) && !(MatrixType::Flags&RowMajorBit))
-                    || ((Mode&Upper) &&  (MatrixType::Flags&RowMajorBit)),
-           SkipLast = !SkipFirst,
-           SkipDiag = (Mode&ZeroDiag) ? 1 : 0,
-           HasUnitDiag = (Mode&UnitDiag) ? 1 : 0
-    };
-
-  public:
-    
-    EIGEN_SPARSE_PUBLIC_INTERFACE(SparseTriangularView)
-
-    class InnerIterator;
-    class ReverseInnerIterator;
-
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-
-    typedef typename MatrixType::Nested MatrixTypeNested;
-    typedef typename internal::remove_reference<MatrixTypeNested>::type MatrixTypeNestedNonRef;
-    typedef typename internal::remove_all<MatrixTypeNested>::type MatrixTypeNestedCleaned;
-
-    inline SparseTriangularView(const MatrixType& matrix) : m_matrix(matrix) {}
-
-    /** \internal */
-    inline const MatrixTypeNestedCleaned& nestedExpression() const { return m_matrix; }
-
-    template<typename OtherDerived>
-    typename internal::plain_matrix_type_column_major<OtherDerived>::type
-    solve(const MatrixBase<OtherDerived>& other) const;
-
-    template<typename OtherDerived> void solveInPlace(MatrixBase<OtherDerived>& other) const;
-    template<typename OtherDerived> void solveInPlace(SparseMatrixBase<OtherDerived>& other) const;
-
-  protected:
-    MatrixTypeNested m_matrix;
-};
-
-template<typename MatrixType, int Mode>
-class SparseTriangularView<MatrixType,Mode>::InnerIterator : public MatrixTypeNestedCleaned::InnerIterator
-{
-    typedef typename MatrixTypeNestedCleaned::InnerIterator Base;
-    typedef typename SparseTriangularView::Index Index;
-  public:
-
-    EIGEN_STRONG_INLINE InnerIterator(const SparseTriangularView& view, Index outer)
-      : Base(view.nestedExpression(), outer), m_returnOne(false)
-    {
-      if(SkipFirst)
-      {
-        while((*this) && ((HasUnitDiag||SkipDiag)  ? this->index()<=outer : this->index()<outer))
-          Base::operator++();
-        if(HasUnitDiag)
-          m_returnOne = true;
-      }
-      else if(HasUnitDiag && ((!Base::operator bool()) || Base::index()>=Base::outer()))
-      {
-        if((!SkipFirst) && Base::operator bool())
-          Base::operator++();
-        m_returnOne = true;
-      }
-    }
-
-    EIGEN_STRONG_INLINE InnerIterator& operator++()
-    {
-      if(HasUnitDiag && m_returnOne)
-        m_returnOne = false;
-      else
-      {
-        Base::operator++();
-        if(HasUnitDiag && (!SkipFirst) && ((!Base::operator bool()) || Base::index()>=Base::outer()))
-        {
-          if((!SkipFirst) && Base::operator bool())
-            Base::operator++();
-          m_returnOne = true;
-        }
-      }
-      return *this;
-    }
-
-    inline Index row() const { return (MatrixType::Flags&RowMajorBit ? Base::outer() : this->index()); }
-    inline Index col() const { return (MatrixType::Flags&RowMajorBit ? this->index() : Base::outer()); }
-    inline Index index() const
-    {
-      if(HasUnitDiag && m_returnOne)  return Base::outer();
-      else                            return Base::index();
-    }
-    inline Scalar value() const
-    {
-      if(HasUnitDiag && m_returnOne)  return Scalar(1);
-      else                            return Base::value();
-    }
-
-    EIGEN_STRONG_INLINE operator bool() const
-    {
-      if(HasUnitDiag && m_returnOne)
-        return true;
-      if(SkipFirst) return  Base::operator bool();
-      else
-      {
-        if (SkipDiag) return (Base::operator bool() && this->index() < this->outer());
-        else return (Base::operator bool() && this->index() <= this->outer());
-      }
-    }
-  protected:
-    bool m_returnOne;
-};
-
-template<typename MatrixType, int Mode>
-class SparseTriangularView<MatrixType,Mode>::ReverseInnerIterator : public MatrixTypeNestedCleaned::ReverseInnerIterator
-{
-    typedef typename MatrixTypeNestedCleaned::ReverseInnerIterator Base;
-    typedef typename SparseTriangularView::Index Index;
-  public:
-
-    EIGEN_STRONG_INLINE ReverseInnerIterator(const SparseTriangularView& view, Index outer)
-      : Base(view.nestedExpression(), outer)
-    {
-      eigen_assert((!HasUnitDiag) && "ReverseInnerIterator does not support yet triangular views with a unit diagonal");
-      if(SkipLast) {
-        while((*this) && (SkipDiag ? this->index()>=outer : this->index()>outer))
-          --(*this);
-      }
-    }
-
-    EIGEN_STRONG_INLINE ReverseInnerIterator& operator--()
-    { Base::operator--(); return *this; }
-
-    inline Index row() const { return Base::row(); }
-    inline Index col() const { return Base::col(); }
-
-    EIGEN_STRONG_INLINE operator bool() const
-    {
-      if (SkipLast) return Base::operator bool() ;
-      else
-      {
-        if(SkipDiag) return (Base::operator bool() && this->index() > this->outer());
-        else return (Base::operator bool() && this->index() >= this->outer());
-      }
-    }
-};
-
-template<typename Derived>
-template<int Mode>
-inline const SparseTriangularView<Derived, Mode>
-SparseMatrixBase<Derived>::triangularView() const
-{
-  return derived();
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_TRIANGULARVIEW_H
diff --git a/lib/Eigen/src/SparseCore/SparseUtil.h b/lib/Eigen/src/SparseCore/SparseUtil.h
deleted file mode 100644
index d627546d..00000000
--- a/lib/Eigen/src/SparseCore/SparseUtil.h
+++ /dev/null
@@ -1,172 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSEUTIL_H
-#define EIGEN_SPARSEUTIL_H
-
-namespace Eigen { 
-
-#ifdef NDEBUG
-#define EIGEN_DBG_SPARSE(X)
-#else
-#define EIGEN_DBG_SPARSE(X) X
-#endif
-
-#define EIGEN_SPARSE_INHERIT_ASSIGNMENT_OPERATOR(Derived, Op) \
-template<typename OtherDerived> \
-EIGEN_STRONG_INLINE Derived& operator Op(const Eigen::SparseMatrixBase<OtherDerived>& other) \
-{ \
-  return Base::operator Op(other.derived()); \
-} \
-EIGEN_STRONG_INLINE Derived& operator Op(const Derived& other) \
-{ \
-  return Base::operator Op(other); \
-}
-
-#define EIGEN_SPARSE_INHERIT_SCALAR_ASSIGNMENT_OPERATOR(Derived, Op) \
-template<typename Other> \
-EIGEN_STRONG_INLINE Derived& operator Op(const Other& scalar) \
-{ \
-  return Base::operator Op(scalar); \
-}
-
-#define EIGEN_SPARSE_INHERIT_ASSIGNMENT_OPERATORS(Derived) \
-EIGEN_SPARSE_INHERIT_ASSIGNMENT_OPERATOR(Derived, =) \
-EIGEN_SPARSE_INHERIT_ASSIGNMENT_OPERATOR(Derived, +=) \
-EIGEN_SPARSE_INHERIT_ASSIGNMENT_OPERATOR(Derived, -=) \
-EIGEN_SPARSE_INHERIT_SCALAR_ASSIGNMENT_OPERATOR(Derived, *=) \
-EIGEN_SPARSE_INHERIT_SCALAR_ASSIGNMENT_OPERATOR(Derived, /=)
-
-#define _EIGEN_SPARSE_PUBLIC_INTERFACE(Derived, BaseClass) \
-  typedef BaseClass Base; \
-  typedef typename Eigen::internal::traits<Derived >::Scalar Scalar; \
-  typedef typename Eigen::NumTraits<Scalar>::Real RealScalar; \
-  typedef typename Eigen::internal::nested<Derived >::type Nested; \
-  typedef typename Eigen::internal::traits<Derived >::StorageKind StorageKind; \
-  typedef typename Eigen::internal::traits<Derived >::Index Index; \
-  enum { RowsAtCompileTime = Eigen::internal::traits<Derived >::RowsAtCompileTime, \
-        ColsAtCompileTime = Eigen::internal::traits<Derived >::ColsAtCompileTime, \
-        Flags = Eigen::internal::traits<Derived >::Flags, \
-        CoeffReadCost = Eigen::internal::traits<Derived >::CoeffReadCost, \
-        SizeAtCompileTime = Base::SizeAtCompileTime, \
-        IsVectorAtCompileTime = Base::IsVectorAtCompileTime }; \
-  using Base::derived; \
-  using Base::const_cast_derived;
-
-#define EIGEN_SPARSE_PUBLIC_INTERFACE(Derived) \
-  _EIGEN_SPARSE_PUBLIC_INTERFACE(Derived, Eigen::SparseMatrixBase<Derived >)
-
-const int CoherentAccessPattern     = 0x1;
-const int InnerRandomAccessPattern  = 0x2 | CoherentAccessPattern;
-const int OuterRandomAccessPattern  = 0x4 | CoherentAccessPattern;
-const int RandomAccessPattern       = 0x8 | OuterRandomAccessPattern | InnerRandomAccessPattern;
-
-template<typename _Scalar, int _Flags = 0, typename _Index = int>  class SparseMatrix;
-template<typename _Scalar, int _Flags = 0, typename _Index = int>  class DynamicSparseMatrix;
-template<typename _Scalar, int _Flags = 0, typename _Index = int>  class SparseVector;
-template<typename _Scalar, int _Flags = 0, typename _Index = int>  class MappedSparseMatrix;
-
-template<typename MatrixType, int Mode>           class SparseTriangularView;
-template<typename MatrixType, unsigned int UpLo>  class SparseSelfAdjointView;
-template<typename Lhs, typename Rhs>              class SparseDiagonalProduct;
-template<typename MatrixType> class SparseView;
-
-template<typename Lhs, typename Rhs>        class SparseSparseProduct;
-template<typename Lhs, typename Rhs>        class SparseTimeDenseProduct;
-template<typename Lhs, typename Rhs>        class DenseTimeSparseProduct;
-template<typename Lhs, typename Rhs, bool Transpose> class SparseDenseOuterProduct;
-
-template<typename Lhs, typename Rhs> struct SparseSparseProductReturnType;
-template<typename Lhs, typename Rhs,
-         int InnerSize = EIGEN_SIZE_MIN_PREFER_FIXED(internal::traits<Lhs>::ColsAtCompileTime,internal::traits<Rhs>::RowsAtCompileTime)> struct DenseSparseProductReturnType;         
-template<typename Lhs, typename Rhs,
-         int InnerSize = EIGEN_SIZE_MIN_PREFER_FIXED(internal::traits<Lhs>::ColsAtCompileTime,internal::traits<Rhs>::RowsAtCompileTime)> struct SparseDenseProductReturnType;
-template<typename MatrixType,int UpLo> class SparseSymmetricPermutationProduct;
-
-namespace internal {
-
-template<typename T,int Rows,int Cols> struct sparse_eval;
-
-template<typename T> struct eval<T,Sparse>
-  : public sparse_eval<T, traits<T>::RowsAtCompileTime,traits<T>::ColsAtCompileTime>
-{};
-
-template<typename T,int Cols> struct sparse_eval<T,1,Cols> {
-    typedef typename traits<T>::Scalar _Scalar;
-    typedef typename traits<T>::Index _Index;
-  public:
-    typedef SparseVector<_Scalar, RowMajor, _Index> type;
-};
-
-template<typename T,int Rows> struct sparse_eval<T,Rows,1> {
-    typedef typename traits<T>::Scalar _Scalar;
-    typedef typename traits<T>::Index _Index;
-  public:
-    typedef SparseVector<_Scalar, ColMajor, _Index> type;
-};
-
-template<typename T,int Rows,int Cols> struct sparse_eval {
-    typedef typename traits<T>::Scalar _Scalar;
-    typedef typename traits<T>::Index _Index;
-    enum { _Options = ((traits<T>::Flags&RowMajorBit)==RowMajorBit) ? RowMajor : ColMajor };
-  public:
-    typedef SparseMatrix<_Scalar, _Options, _Index> type;
-};
-
-template<typename T> struct sparse_eval<T,1,1> {
-    typedef typename traits<T>::Scalar _Scalar;
-  public:
-    typedef Matrix<_Scalar, 1, 1> type;
-};
-
-template<typename T> struct plain_matrix_type<T,Sparse>
-{
-  typedef typename traits<T>::Scalar _Scalar;
-  typedef typename traits<T>::Index _Index;
-  enum { _Options = ((traits<T>::Flags&RowMajorBit)==RowMajorBit) ? RowMajor : ColMajor };
-  public:
-    typedef SparseMatrix<_Scalar, _Options, _Index> type;
-};
-
-} // end namespace internal
-
-/** \ingroup SparseCore_Module
-  *
-  * \class Triplet
-  *
-  * \brief A small structure to hold a non zero as a triplet (i,j,value).
-  *
-  * \sa SparseMatrix::setFromTriplets()
-  */
-template<typename Scalar, typename Index=typename SparseMatrix<Scalar>::Index >
-class Triplet
-{
-public:
-  Triplet() : m_row(0), m_col(0), m_value(0) {}
-
-  Triplet(const Index& i, const Index& j, const Scalar& v = Scalar(0))
-    : m_row(i), m_col(j), m_value(v)
-  {}
-
-  /** \returns the row index of the element */
-  const Index& row() const { return m_row; }
-
-  /** \returns the column index of the element */
-  const Index& col() const { return m_col; }
-
-  /** \returns the value of the element */
-  const Scalar& value() const { return m_value; }
-protected:
-  Index m_row, m_col;
-  Scalar m_value;
-};
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSEUTIL_H
diff --git a/lib/Eigen/src/SparseCore/SparseVector.h b/lib/Eigen/src/SparseCore/SparseVector.h
deleted file mode 100644
index 49865d0e..00000000
--- a/lib/Eigen/src/SparseCore/SparseVector.h
+++ /dev/null
@@ -1,448 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSEVECTOR_H
-#define EIGEN_SPARSEVECTOR_H
-
-namespace Eigen { 
-
-/** \ingroup SparseCore_Module
-  * \class SparseVector
-  *
-  * \brief a sparse vector class
-  *
-  * \tparam _Scalar the scalar type, i.e. the type of the coefficients
-  *
-  * See http://www.netlib.org/linalg/html_templates/node91.html for details on the storage scheme.
-  *
-  * This class can be extended with the help of the plugin mechanism described on the page
-  * \ref TopicCustomizingEigen by defining the preprocessor symbol \c EIGEN_SPARSEVECTOR_PLUGIN.
-  */
-
-namespace internal {
-template<typename _Scalar, int _Options, typename _Index>
-struct traits<SparseVector<_Scalar, _Options, _Index> >
-{
-  typedef _Scalar Scalar;
-  typedef _Index Index;
-  typedef Sparse StorageKind;
-  typedef MatrixXpr XprKind;
-  enum {
-    IsColVector = (_Options & RowMajorBit) ? 0 : 1,
-
-    RowsAtCompileTime = IsColVector ? Dynamic : 1,
-    ColsAtCompileTime = IsColVector ? 1 : Dynamic,
-    MaxRowsAtCompileTime = RowsAtCompileTime,
-    MaxColsAtCompileTime = ColsAtCompileTime,
-    Flags = _Options | NestByRefBit | LvalueBit | (IsColVector ? 0 : RowMajorBit),
-    CoeffReadCost = NumTraits<Scalar>::ReadCost,
-    SupportedAccessPatterns = InnerRandomAccessPattern
-  };
-};
-
-// Sparse-Vector-Assignment kinds:
-enum {
-  SVA_RuntimeSwitch,
-  SVA_Inner,
-  SVA_Outer
-};
-
-template< typename Dest, typename Src,
-          int AssignmentKind = !bool(Src::IsVectorAtCompileTime) ? SVA_RuntimeSwitch
-                             : Src::InnerSizeAtCompileTime==1 ? SVA_Outer
-                             : SVA_Inner>
-struct sparse_vector_assign_selector;
-
-}
-
-template<typename _Scalar, int _Options, typename _Index>
-class SparseVector
-  : public SparseMatrixBase<SparseVector<_Scalar, _Options, _Index> >
-{
-    typedef SparseMatrixBase<SparseVector> SparseBase;
-    
-  public:
-    EIGEN_SPARSE_PUBLIC_INTERFACE(SparseVector)
-    EIGEN_SPARSE_INHERIT_ASSIGNMENT_OPERATOR(SparseVector, +=)
-    EIGEN_SPARSE_INHERIT_ASSIGNMENT_OPERATOR(SparseVector, -=)
-    
-    typedef internal::CompressedStorage<Scalar,Index> Storage;
-    enum { IsColVector = internal::traits<SparseVector>::IsColVector };
-    
-    enum {
-      Options = _Options
-    };
-    
-    EIGEN_STRONG_INLINE Index rows() const { return IsColVector ? m_size : 1; }
-    EIGEN_STRONG_INLINE Index cols() const { return IsColVector ? 1 : m_size; }
-    EIGEN_STRONG_INLINE Index innerSize() const { return m_size; }
-    EIGEN_STRONG_INLINE Index outerSize() const { return 1; }
-
-    EIGEN_STRONG_INLINE const Scalar* valuePtr() const { return &m_data.value(0); }
-    EIGEN_STRONG_INLINE Scalar* valuePtr() { return &m_data.value(0); }
-
-    EIGEN_STRONG_INLINE const Index* innerIndexPtr() const { return &m_data.index(0); }
-    EIGEN_STRONG_INLINE Index* innerIndexPtr() { return &m_data.index(0); }
-    
-    /** \internal */
-    inline Storage& data() { return m_data; }
-    /** \internal */
-    inline const Storage& data() const { return m_data; }
-
-    inline Scalar coeff(Index row, Index col) const
-    {
-      eigen_assert(IsColVector ? (col==0 && row>=0 && row<m_size) : (row==0 && col>=0 && col<m_size));
-      return coeff(IsColVector ? row : col);
-    }
-    inline Scalar coeff(Index i) const
-    {
-      eigen_assert(i>=0 && i<m_size);
-      return m_data.at(i);
-    }
-
-    inline Scalar& coeffRef(Index row, Index col)
-    {
-      eigen_assert(IsColVector ? (col==0 && row>=0 && row<m_size) : (row==0 && col>=0 && col<m_size));
-      return coeff(IsColVector ? row : col);
-    }
-
-    /** \returns a reference to the coefficient value at given index \a i
-      * This operation involes a log(rho*size) binary search. If the coefficient does not
-      * exist yet, then a sorted insertion into a sequential buffer is performed.
-      *
-      * This insertion might be very costly if the number of nonzeros above \a i is large.
-      */
-    inline Scalar& coeffRef(Index i)
-    {
-      eigen_assert(i>=0 && i<m_size);
-      return m_data.atWithInsertion(i);
-    }
-
-  public:
-
-    class InnerIterator;
-    class ReverseInnerIterator;
-
-    inline void setZero() { m_data.clear(); }
-
-    /** \returns the number of non zero coefficients */
-    inline Index nonZeros() const  { return static_cast<Index>(m_data.size()); }
-
-    inline void startVec(Index outer)
-    {
-      EIGEN_UNUSED_VARIABLE(outer);
-      eigen_assert(outer==0);
-    }
-
-    inline Scalar& insertBackByOuterInner(Index outer, Index inner)
-    {
-      EIGEN_UNUSED_VARIABLE(outer);
-      eigen_assert(outer==0);
-      return insertBack(inner);
-    }
-    inline Scalar& insertBack(Index i)
-    {
-      m_data.append(0, i);
-      return m_data.value(m_data.size()-1);
-    }
-
-    inline Scalar& insert(Index row, Index col)
-    {
-      eigen_assert(IsColVector ? (col==0 && row>=0 && row<m_size) : (row==0 && col>=0 && col<m_size));
-      
-      Index inner = IsColVector ? row : col;
-      Index outer = IsColVector ? col : row;
-      EIGEN_ONLY_USED_FOR_DEBUG(outer);
-      eigen_assert(outer==0);
-      return insert(inner);
-    }
-    Scalar& insert(Index i)
-    {
-      eigen_assert(i>=0 && i<m_size);
-      
-      Index startId = 0;
-      Index p = Index(m_data.size()) - 1;
-      // TODO smart realloc
-      m_data.resize(p+2,1);
-
-      while ( (p >= startId) && (m_data.index(p) > i) )
-      {
-        m_data.index(p+1) = m_data.index(p);
-        m_data.value(p+1) = m_data.value(p);
-        --p;
-      }
-      m_data.index(p+1) = i;
-      m_data.value(p+1) = 0;
-      return m_data.value(p+1);
-    }
-
-    /**
-      */
-    inline void reserve(Index reserveSize) { m_data.reserve(reserveSize); }
-
-
-    inline void finalize() {}
-
-    void prune(const Scalar& reference, const RealScalar& epsilon = NumTraits<RealScalar>::dummy_precision())
-    {
-      m_data.prune(reference,epsilon);
-    }
-
-    void resize(Index rows, Index cols)
-    {
-      eigen_assert(rows==1 || cols==1);
-      resize(IsColVector ? rows : cols);
-    }
-
-    void resize(Index newSize)
-    {
-      m_size = newSize;
-      m_data.clear();
-    }
-
-    void resizeNonZeros(Index size) { m_data.resize(size); }
-
-    inline SparseVector() : m_size(0) { check_template_parameters(); resize(0); }
-
-    inline SparseVector(Index size) : m_size(0) { check_template_parameters(); resize(size); }
-
-    inline SparseVector(Index rows, Index cols) : m_size(0) { check_template_parameters(); resize(rows,cols); }
-
-    template<typename OtherDerived>
-    inline SparseVector(const SparseMatrixBase<OtherDerived>& other)
-      : m_size(0)
-    {
-      check_template_parameters();
-      *this = other.derived();
-    }
-
-    inline SparseVector(const SparseVector& other)
-      : SparseBase(other), m_size(0)
-    {
-      check_template_parameters();
-      *this = other.derived();
-    }
-
-    /** Swaps the values of \c *this and \a other.
-      * Overloaded for performance: this version performs a \em shallow swap by swaping pointers and attributes only.
-      * \sa SparseMatrixBase::swap()
-      */
-    inline void swap(SparseVector& other)
-    {
-      std::swap(m_size, other.m_size);
-      m_data.swap(other.m_data);
-    }
-
-    inline SparseVector& operator=(const SparseVector& other)
-    {
-      if (other.isRValue())
-      {
-        swap(other.const_cast_derived());
-      }
-      else
-      {
-        resize(other.size());
-        m_data = other.m_data;
-      }
-      return *this;
-    }
-
-    template<typename OtherDerived>
-    inline SparseVector& operator=(const SparseMatrixBase<OtherDerived>& other)
-    {
-      SparseVector tmp(other.size());
-      internal::sparse_vector_assign_selector<SparseVector,OtherDerived>::run(tmp,other.derived());
-      this->swap(tmp);
-      return *this;
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    template<typename Lhs, typename Rhs>
-    inline SparseVector& operator=(const SparseSparseProduct<Lhs,Rhs>& product)
-    {
-      return Base::operator=(product);
-    }
-    #endif
-
-    friend std::ostream & operator << (std::ostream & s, const SparseVector& m)
-    {
-      for (Index i=0; i<m.nonZeros(); ++i)
-        s << "(" << m.m_data.value(i) << "," << m.m_data.index(i) << ") ";
-      s << std::endl;
-      return s;
-    }
-
-    /** Destructor */
-    inline ~SparseVector() {}
-
-    /** Overloaded for performance */
-    Scalar sum() const;
-
-  public:
-
-    /** \internal \deprecated use setZero() and reserve() */
-    EIGEN_DEPRECATED void startFill(Index reserve)
-    {
-      setZero();
-      m_data.reserve(reserve);
-    }
-
-    /** \internal \deprecated use insertBack(Index,Index) */
-    EIGEN_DEPRECATED Scalar& fill(Index r, Index c)
-    {
-      eigen_assert(r==0 || c==0);
-      return fill(IsColVector ? r : c);
-    }
-
-    /** \internal \deprecated use insertBack(Index) */
-    EIGEN_DEPRECATED Scalar& fill(Index i)
-    {
-      m_data.append(0, i);
-      return m_data.value(m_data.size()-1);
-    }
-
-    /** \internal \deprecated use insert(Index,Index) */
-    EIGEN_DEPRECATED Scalar& fillrand(Index r, Index c)
-    {
-      eigen_assert(r==0 || c==0);
-      return fillrand(IsColVector ? r : c);
-    }
-
-    /** \internal \deprecated use insert(Index) */
-    EIGEN_DEPRECATED Scalar& fillrand(Index i)
-    {
-      return insert(i);
-    }
-
-    /** \internal \deprecated use finalize() */
-    EIGEN_DEPRECATED void endFill() {}
-    
-    // These two functions were here in the 3.1 release, so let's keep them in case some code rely on them.
-    /** \internal \deprecated use data() */
-    EIGEN_DEPRECATED Storage& _data() { return m_data; }
-    /** \internal \deprecated use data() */
-    EIGEN_DEPRECATED const Storage& _data() const { return m_data; }
-    
-#   ifdef EIGEN_SPARSEVECTOR_PLUGIN
-#     include EIGEN_SPARSEVECTOR_PLUGIN
-#   endif
-
-protected:
-  
-    static void check_template_parameters()
-    {
-      EIGEN_STATIC_ASSERT(NumTraits<Index>::IsSigned,THE_INDEX_TYPE_MUST_BE_A_SIGNED_TYPE);
-      EIGEN_STATIC_ASSERT((_Options&(ColMajor|RowMajor))==Options,INVALID_MATRIX_TEMPLATE_PARAMETERS);
-    }
-    
-    Storage m_data;
-    Index m_size;
-};
-
-template<typename Scalar, int _Options, typename _Index>
-class SparseVector<Scalar,_Options,_Index>::InnerIterator
-{
-  public:
-    InnerIterator(const SparseVector& vec, Index outer=0)
-      : m_data(vec.m_data), m_id(0), m_end(static_cast<Index>(m_data.size()))
-    {
-      EIGEN_UNUSED_VARIABLE(outer);
-      eigen_assert(outer==0);
-    }
-
-    InnerIterator(const internal::CompressedStorage<Scalar,Index>& data)
-      : m_data(data), m_id(0), m_end(static_cast<Index>(m_data.size()))
-    {}
-
-    inline InnerIterator& operator++() { m_id++; return *this; }
-
-    inline Scalar value() const { return m_data.value(m_id); }
-    inline Scalar& valueRef() { return const_cast<Scalar&>(m_data.value(m_id)); }
-
-    inline Index index() const { return m_data.index(m_id); }
-    inline Index row() const { return IsColVector ? index() : 0; }
-    inline Index col() const { return IsColVector ? 0 : index(); }
-
-    inline operator bool() const { return (m_id < m_end); }
-
-  protected:
-    const internal::CompressedStorage<Scalar,Index>& m_data;
-    Index m_id;
-    const Index m_end;
-};
-
-template<typename Scalar, int _Options, typename _Index>
-class SparseVector<Scalar,_Options,_Index>::ReverseInnerIterator
-{
-  public:
-    ReverseInnerIterator(const SparseVector& vec, Index outer=0)
-      : m_data(vec.m_data), m_id(static_cast<Index>(m_data.size())), m_start(0)
-    {
-      EIGEN_UNUSED_VARIABLE(outer);
-      eigen_assert(outer==0);
-    }
-
-    ReverseInnerIterator(const internal::CompressedStorage<Scalar,Index>& data)
-      : m_data(data), m_id(static_cast<Index>(m_data.size())), m_start(0)
-    {}
-
-    inline ReverseInnerIterator& operator--() { m_id--; return *this; }
-
-    inline Scalar value() const { return m_data.value(m_id-1); }
-    inline Scalar& valueRef() { return const_cast<Scalar&>(m_data.value(m_id-1)); }
-
-    inline Index index() const { return m_data.index(m_id-1); }
-    inline Index row() const { return IsColVector ? index() : 0; }
-    inline Index col() const { return IsColVector ? 0 : index(); }
-
-    inline operator bool() const { return (m_id > m_start); }
-
-  protected:
-    const internal::CompressedStorage<Scalar,Index>& m_data;
-    Index m_id;
-    const Index m_start;
-};
-
-namespace internal {
-
-template< typename Dest, typename Src>
-struct sparse_vector_assign_selector<Dest,Src,SVA_Inner> {
-  static void run(Dest& dst, const Src& src) {
-    eigen_internal_assert(src.innerSize()==src.size());
-    for(typename Src::InnerIterator it(src, 0); it; ++it)
-      dst.insert(it.index()) = it.value();
-  }
-};
-
-template< typename Dest, typename Src>
-struct sparse_vector_assign_selector<Dest,Src,SVA_Outer> {
-  static void run(Dest& dst, const Src& src) {
-    eigen_internal_assert(src.outerSize()==src.size());
-    for(typename Dest::Index i=0; i<src.size(); ++i)
-    {
-      typename Src::InnerIterator it(src, i);
-      if(it)
-        dst.insert(i) = it.value();
-    }
-  }
-};
-
-template< typename Dest, typename Src>
-struct sparse_vector_assign_selector<Dest,Src,SVA_RuntimeSwitch> {
-  static void run(Dest& dst, const Src& src) {
-    if(src.outerSize()==1)  sparse_vector_assign_selector<Dest,Src,SVA_Inner>::run(dst, src);
-    else                    sparse_vector_assign_selector<Dest,Src,SVA_Outer>::run(dst, src);
-  }
-};
-
-}
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSEVECTOR_H
diff --git a/lib/Eigen/src/SparseCore/SparseView.h b/lib/Eigen/src/SparseCore/SparseView.h
deleted file mode 100644
index 2820b39b..00000000
--- a/lib/Eigen/src/SparseCore/SparseView.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2010 Daniel Lowengrub <lowdanie@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSEVIEW_H
-#define EIGEN_SPARSEVIEW_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename MatrixType>
-struct traits<SparseView<MatrixType> > : traits<MatrixType>
-{
-  typedef typename MatrixType::Index Index;
-  typedef Sparse StorageKind;
-  enum {
-    Flags = int(traits<MatrixType>::Flags) & (RowMajorBit)
-  };
-};
-
-} // end namespace internal
-
-template<typename MatrixType>
-class SparseView : public SparseMatrixBase<SparseView<MatrixType> >
-{
-  typedef typename MatrixType::Nested MatrixTypeNested;
-  typedef typename internal::remove_all<MatrixTypeNested>::type _MatrixTypeNested;
-public:
-  EIGEN_SPARSE_PUBLIC_INTERFACE(SparseView)
-
-  explicit SparseView(const MatrixType& mat, const Scalar& reference = Scalar(0),
-                      const RealScalar &epsilon = NumTraits<Scalar>::dummy_precision())
-    : m_matrix(mat), m_reference(reference), m_epsilon(epsilon) {}
-
-  class InnerIterator;
-
-  inline Index rows() const { return m_matrix.rows(); }
-  inline Index cols() const { return m_matrix.cols(); }
-
-  inline Index innerSize() const { return m_matrix.innerSize(); }
-  inline Index outerSize() const { return m_matrix.outerSize(); }
-
-protected:
-  MatrixTypeNested m_matrix;
-  Scalar m_reference;
-  typename NumTraits<Scalar>::Real m_epsilon;
-};
-
-template<typename MatrixType>
-class SparseView<MatrixType>::InnerIterator : public _MatrixTypeNested::InnerIterator
-{
-  typedef typename SparseView::Index Index;
-public:
-  typedef typename _MatrixTypeNested::InnerIterator IterBase;
-  InnerIterator(const SparseView& view, Index outer) :
-  IterBase(view.m_matrix, outer), m_view(view)
-  {
-    incrementToNonZero();
-  }
-
-  EIGEN_STRONG_INLINE InnerIterator& operator++()
-  {
-    IterBase::operator++();
-    incrementToNonZero();
-    return *this;
-  }
-
-  using IterBase::value;
-
-protected:
-  const SparseView& m_view;
-
-private:
-  void incrementToNonZero()
-  {
-    while((bool(*this)) && internal::isMuchSmallerThan(value(), m_view.m_reference, m_view.m_epsilon))
-    {
-      IterBase::operator++();
-    }
-  }
-};
-
-template<typename Derived>
-const SparseView<Derived> MatrixBase<Derived>::sparseView(const Scalar& m_reference,
-                                                          const typename NumTraits<Scalar>::Real& m_epsilon) const
-{
-  return SparseView<Derived>(derived(), m_reference, m_epsilon);
-}
-
-} // end namespace Eigen
-
-#endif
diff --git a/lib/Eigen/src/SparseCore/TriangularSolver.h b/lib/Eigen/src/SparseCore/TriangularSolver.h
deleted file mode 100644
index ccc12af7..00000000
--- a/lib/Eigen/src/SparseCore/TriangularSolver.h
+++ /dev/null
@@ -1,334 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSETRIANGULARSOLVER_H
-#define EIGEN_SPARSETRIANGULARSOLVER_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename Lhs, typename Rhs, int Mode,
-  int UpLo = (Mode & Lower)
-           ? Lower
-           : (Mode & Upper)
-           ? Upper
-           : -1,
-  int StorageOrder = int(traits<Lhs>::Flags) & RowMajorBit>
-struct sparse_solve_triangular_selector;
-
-// forward substitution, row-major
-template<typename Lhs, typename Rhs, int Mode>
-struct sparse_solve_triangular_selector<Lhs,Rhs,Mode,Lower,RowMajor>
-{
-  typedef typename Rhs::Scalar Scalar;
-  static void run(const Lhs& lhs, Rhs& other)
-  {
-    for(int col=0 ; col<other.cols() ; ++col)
-    {
-      for(int i=0; i<lhs.rows(); ++i)
-      {
-        Scalar tmp = other.coeff(i,col);
-        Scalar lastVal(0);
-        int lastIndex = 0;
-        for(typename Lhs::InnerIterator it(lhs, i); it; ++it)
-        {
-          lastVal = it.value();
-          lastIndex = it.index();
-          if(lastIndex==i)
-            break;
-          tmp -= lastVal * other.coeff(lastIndex,col);
-        }
-        if (Mode & UnitDiag)
-          other.coeffRef(i,col) = tmp;
-        else
-        {
-          eigen_assert(lastIndex==i);
-          other.coeffRef(i,col) = tmp/lastVal;
-        }
-      }
-    }
-  }
-};
-
-// backward substitution, row-major
-template<typename Lhs, typename Rhs, int Mode>
-struct sparse_solve_triangular_selector<Lhs,Rhs,Mode,Upper,RowMajor>
-{
-  typedef typename Rhs::Scalar Scalar;
-  static void run(const Lhs& lhs, Rhs& other)
-  {
-    for(int col=0 ; col<other.cols() ; ++col)
-    {
-      for(int i=lhs.rows()-1 ; i>=0 ; --i)
-      {
-        Scalar tmp = other.coeff(i,col);
-        Scalar l_ii(0);
-        typename Lhs::InnerIterator it(lhs, i);
-        while(it && it.index()<i)
-          ++it;
-        if(!(Mode & UnitDiag))
-        {
-          eigen_assert(it && it.index()==i);
-          l_ii = it.value();
-          ++it;
-        }
-        else if (it && it.index() == i)
-          ++it;
-        for(; it; ++it)
-        {
-          tmp -= it.value() * other.coeff(it.index(),col);
-        }
-
-        if (Mode & UnitDiag)
-          other.coeffRef(i,col) = tmp;
-        else
-          other.coeffRef(i,col) = tmp/l_ii;
-      }
-    }
-  }
-};
-
-// forward substitution, col-major
-template<typename Lhs, typename Rhs, int Mode>
-struct sparse_solve_triangular_selector<Lhs,Rhs,Mode,Lower,ColMajor>
-{
-  typedef typename Rhs::Scalar Scalar;
-  static void run(const Lhs& lhs, Rhs& other)
-  {
-    for(int col=0 ; col<other.cols() ; ++col)
-    {
-      for(int i=0; i<lhs.cols(); ++i)
-      {
-        Scalar& tmp = other.coeffRef(i,col);
-        if (tmp!=Scalar(0)) // optimization when other is actually sparse
-        {
-          typename Lhs::InnerIterator it(lhs, i);
-          while(it && it.index()<i)
-            ++it;
-          if(!(Mode & UnitDiag))
-          {
-            eigen_assert(it && it.index()==i);
-            tmp /= it.value();
-          }
-          if (it && it.index()==i)
-            ++it;
-          for(; it; ++it)
-            other.coeffRef(it.index(), col) -= tmp * it.value();
-        }
-      }
-    }
-  }
-};
-
-// backward substitution, col-major
-template<typename Lhs, typename Rhs, int Mode>
-struct sparse_solve_triangular_selector<Lhs,Rhs,Mode,Upper,ColMajor>
-{
-  typedef typename Rhs::Scalar Scalar;
-  static void run(const Lhs& lhs, Rhs& other)
-  {
-    for(int col=0 ; col<other.cols() ; ++col)
-    {
-      for(int i=lhs.cols()-1; i>=0; --i)
-      {
-        Scalar& tmp = other.coeffRef(i,col);
-        if (tmp!=Scalar(0)) // optimization when other is actually sparse
-        {
-          if(!(Mode & UnitDiag))
-          {
-            // TODO replace this by a binary search. make sure the binary search is safe for partially sorted elements
-            typename Lhs::ReverseInnerIterator it(lhs, i);
-            while(it && it.index()!=i)
-              --it;
-            eigen_assert(it && it.index()==i);
-            other.coeffRef(i,col) /= it.value();
-          }
-          typename Lhs::InnerIterator it(lhs, i);
-          for(; it && it.index()<i; ++it)
-            other.coeffRef(it.index(), col) -= tmp * it.value();
-        }
-      }
-    }
-  }
-};
-
-} // end namespace internal
-
-template<typename ExpressionType,int Mode>
-template<typename OtherDerived>
-void SparseTriangularView<ExpressionType,Mode>::solveInPlace(MatrixBase<OtherDerived>& other) const
-{
-  eigen_assert(m_matrix.cols() == m_matrix.rows() && m_matrix.cols() == other.rows());
-  eigen_assert((!(Mode & ZeroDiag)) && bool(Mode & (Upper|Lower)));
-
-  enum { copy = internal::traits<OtherDerived>::Flags & RowMajorBit };
-
-  typedef typename internal::conditional<copy,
-    typename internal::plain_matrix_type_column_major<OtherDerived>::type, OtherDerived&>::type OtherCopy;
-  OtherCopy otherCopy(other.derived());
-
-  internal::sparse_solve_triangular_selector<ExpressionType, typename internal::remove_reference<OtherCopy>::type, Mode>::run(m_matrix, otherCopy);
-
-  if (copy)
-    other = otherCopy;
-}
-
-template<typename ExpressionType,int Mode>
-template<typename OtherDerived>
-typename internal::plain_matrix_type_column_major<OtherDerived>::type
-SparseTriangularView<ExpressionType,Mode>::solve(const MatrixBase<OtherDerived>& other) const
-{
-  typename internal::plain_matrix_type_column_major<OtherDerived>::type res(other);
-  solveInPlace(res);
-  return res;
-}
-
-// pure sparse path
-
-namespace internal {
-
-template<typename Lhs, typename Rhs, int Mode,
-  int UpLo = (Mode & Lower)
-           ? Lower
-           : (Mode & Upper)
-           ? Upper
-           : -1,
-  int StorageOrder = int(Lhs::Flags) & (RowMajorBit)>
-struct sparse_solve_triangular_sparse_selector;
-
-// forward substitution, col-major
-template<typename Lhs, typename Rhs, int Mode, int UpLo>
-struct sparse_solve_triangular_sparse_selector<Lhs,Rhs,Mode,UpLo,ColMajor>
-{
-  typedef typename Rhs::Scalar Scalar;
-  typedef typename promote_index_type<typename traits<Lhs>::Index,
-                                         typename traits<Rhs>::Index>::type Index;
-  static void run(const Lhs& lhs, Rhs& other)
-  {
-    const bool IsLower = (UpLo==Lower);
-    AmbiVector<Scalar,Index> tempVector(other.rows()*2);
-    tempVector.setBounds(0,other.rows());
-
-    Rhs res(other.rows(), other.cols());
-    res.reserve(other.nonZeros());
-
-    for(int col=0 ; col<other.cols() ; ++col)
-    {
-      // FIXME estimate number of non zeros
-      tempVector.init(.99/*float(other.col(col).nonZeros())/float(other.rows())*/);
-      tempVector.setZero();
-      tempVector.restart();
-      for (typename Rhs::InnerIterator rhsIt(other, col); rhsIt; ++rhsIt)
-      {
-        tempVector.coeffRef(rhsIt.index()) = rhsIt.value();
-      }
-
-      for(int i=IsLower?0:lhs.cols()-1;
-          IsLower?i<lhs.cols():i>=0;
-          i+=IsLower?1:-1)
-      {
-        tempVector.restart();
-        Scalar& ci = tempVector.coeffRef(i);
-        if (ci!=Scalar(0))
-        {
-          // find
-          typename Lhs::InnerIterator it(lhs, i);
-          if(!(Mode & UnitDiag))
-          {
-            if (IsLower)
-            {
-              eigen_assert(it.index()==i);
-              ci /= it.value();
-            }
-            else
-              ci /= lhs.coeff(i,i);
-          }
-          tempVector.restart();
-          if (IsLower)
-          {
-            if (it.index()==i)
-              ++it;
-            for(; it; ++it)
-              tempVector.coeffRef(it.index()) -= ci * it.value();
-          }
-          else
-          {
-            for(; it && it.index()<i; ++it)
-              tempVector.coeffRef(it.index()) -= ci * it.value();
-          }
-        }
-      }
-
-
-      int count = 0;
-      // FIXME compute a reference value to filter zeros
-      for (typename AmbiVector<Scalar,Index>::Iterator it(tempVector/*,1e-12*/); it; ++it)
-      {
-        ++ count;
-//         std::cerr << "fill " << it.index() << ", " << col << "\n";
-//         std::cout << it.value() << "  ";
-        // FIXME use insertBack
-        res.insert(it.index(), col) = it.value();
-      }
-//       std::cout << "tempVector.nonZeros() == " << int(count) << " / " << (other.rows()) << "\n";
-    }
-    res.finalize();
-    other = res.markAsRValue();
-  }
-};
-
-} // end namespace internal
-
-template<typename ExpressionType,int Mode>
-template<typename OtherDerived>
-void SparseTriangularView<ExpressionType,Mode>::solveInPlace(SparseMatrixBase<OtherDerived>& other) const
-{
-  eigen_assert(m_matrix.cols() == m_matrix.rows() && m_matrix.cols() == other.rows());
-  eigen_assert( (!(Mode & ZeroDiag)) && bool(Mode & (Upper|Lower)));
-
-//   enum { copy = internal::traits<OtherDerived>::Flags & RowMajorBit };
-
-//   typedef typename internal::conditional<copy,
-//     typename internal::plain_matrix_type_column_major<OtherDerived>::type, OtherDerived&>::type OtherCopy;
-//   OtherCopy otherCopy(other.derived());
-
-  internal::sparse_solve_triangular_sparse_selector<ExpressionType, OtherDerived, Mode>::run(m_matrix, other.derived());
-
-//   if (copy)
-//     other = otherCopy;
-}
-
-#ifdef EIGEN2_SUPPORT
-
-// deprecated stuff:
-
-/** \deprecated */
-template<typename Derived>
-template<typename OtherDerived>
-void SparseMatrixBase<Derived>::solveTriangularInPlace(MatrixBase<OtherDerived>& other) const
-{
-  this->template triangular<Flags&(Upper|Lower)>().solveInPlace(other);
-}
-
-/** \deprecated */
-template<typename Derived>
-template<typename OtherDerived>
-typename internal::plain_matrix_type_column_major<OtherDerived>::type
-SparseMatrixBase<Derived>::solveTriangular(const MatrixBase<OtherDerived>& other) const
-{
-  typename internal::plain_matrix_type_column_major<OtherDerived>::type res(other);
-  derived().solveTriangularInPlace(res);
-  return res;
-}
-#endif // EIGEN2_SUPPORT
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSETRIANGULARSOLVER_H
diff --git a/lib/Eigen/src/SparseLU/CMakeLists.txt b/lib/Eigen/src/SparseLU/CMakeLists.txt
deleted file mode 100644
index 69729ee8..00000000
--- a/lib/Eigen/src/SparseLU/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_SparseLU_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_SparseLU_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseLU COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/SparseLU/SparseLU.h b/lib/Eigen/src/SparseLU/SparseLU.h
deleted file mode 100644
index bdc4f193..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU.h
+++ /dev/null
@@ -1,806 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-
-#ifndef EIGEN_SPARSE_LU_H
-#define EIGEN_SPARSE_LU_H
-
-namespace Eigen {
-
-template <typename _MatrixType, typename _OrderingType = COLAMDOrdering<typename _MatrixType::Index> > class SparseLU;
-template <typename MappedSparseMatrixType> struct SparseLUMatrixLReturnType;
-template <typename MatrixLType, typename MatrixUType> struct SparseLUMatrixUReturnType;
-
-/** \ingroup SparseLU_Module
-  * \class SparseLU
-  * 
-  * \brief Sparse supernodal LU factorization for general matrices
-  * 
-  * This class implements the supernodal LU factorization for general matrices.
-  * It uses the main techniques from the sequential SuperLU package 
-  * (http://crd-legacy.lbl.gov/~xiaoye/SuperLU/). It handles transparently real 
-  * and complex arithmetics with single and double precision, depending on the 
-  * scalar type of your input matrix. 
-  * The code has been optimized to provide BLAS-3 operations during supernode-panel updates. 
-  * It benefits directly from the built-in high-performant Eigen BLAS routines. 
-  * Moreover, when the size of a supernode is very small, the BLAS calls are avoided to 
-  * enable a better optimization from the compiler. For best performance, 
-  * you should compile it with NDEBUG flag to avoid the numerous bounds checking on vectors. 
-  * 
-  * An important parameter of this class is the ordering method. It is used to reorder the columns 
-  * (and eventually the rows) of the matrix to reduce the number of new elements that are created during 
-  * numerical factorization. The cheapest method available is COLAMD. 
-  * See  \link OrderingMethods_Module the OrderingMethods module \endlink for the list of 
-  * built-in and external ordering methods. 
-  *
-  * Simple example with key steps 
-  * \code
-  * VectorXd x(n), b(n);
-  * SparseMatrix<double, ColMajor> A;
-  * SparseLU<SparseMatrix<scalar, ColMajor>, COLAMDOrdering<Index> >   solver;
-  * // fill A and b;
-  * // Compute the ordering permutation vector from the structural pattern of A
-  * solver.analyzePattern(A); 
-  * // Compute the numerical factorization 
-  * solver.factorize(A); 
-  * //Use the factors to solve the linear system 
-  * x = solver.solve(b); 
-  * \endcode
-  * 
-  * \warning The input matrix A should be in a \b compressed and \b column-major form.
-  * Otherwise an expensive copy will be made. You can call the inexpensive makeCompressed() to get a compressed matrix.
-  * 
-  * \note Unlike the initial SuperLU implementation, there is no step to equilibrate the matrix. 
-  * For badly scaled matrices, this step can be useful to reduce the pivoting during factorization. 
-  * If this is the case for your matrices, you can try the basic scaling method at
-  *  "unsupported/Eigen/src/IterativeSolvers/Scaling.h"
-  * 
-  * \tparam _MatrixType The type of the sparse matrix. It must be a column-major SparseMatrix<>
-  * \tparam _OrderingType The ordering method to use, either AMD, COLAMD or METIS. Default is COLMAD
-  * 
-  * 
-  * \sa \ref TutorialSparseDirectSolvers
-  * \sa \ref OrderingMethods_Module
-  */
-template <typename _MatrixType, typename _OrderingType>
-class SparseLU : public internal::SparseLUImpl<typename _MatrixType::Scalar, typename _MatrixType::Index>
-{
-  public:
-    typedef _MatrixType MatrixType; 
-    typedef _OrderingType OrderingType;
-    typedef typename MatrixType::Scalar Scalar; 
-    typedef typename MatrixType::RealScalar RealScalar; 
-    typedef typename MatrixType::Index Index; 
-    typedef SparseMatrix<Scalar,ColMajor,Index> NCMatrix;
-    typedef internal::MappedSuperNodalMatrix<Scalar, Index> SCMatrix; 
-    typedef Matrix<Scalar,Dynamic,1> ScalarVector;
-    typedef Matrix<Index,Dynamic,1> IndexVector;
-    typedef PermutationMatrix<Dynamic, Dynamic, Index> PermutationType;
-    typedef internal::SparseLUImpl<Scalar, Index> Base;
-    
-  public:
-    SparseLU():m_isInitialized(true),m_lastError(""),m_Ustore(0,0,0,0,0,0),m_symmetricmode(false),m_diagpivotthresh(1.0),m_detPermR(1)
-    {
-      initperfvalues(); 
-    }
-    SparseLU(const MatrixType& matrix):m_isInitialized(true),m_lastError(""),m_Ustore(0,0,0,0,0,0),m_symmetricmode(false),m_diagpivotthresh(1.0),m_detPermR(1)
-    {
-      initperfvalues(); 
-      compute(matrix);
-    }
-    
-    ~SparseLU()
-    {
-      // Free all explicit dynamic pointers 
-    }
-    
-    void analyzePattern (const MatrixType& matrix);
-    void factorize (const MatrixType& matrix);
-    void simplicialfactorize(const MatrixType& matrix);
-    
-    /**
-      * Compute the symbolic and numeric factorization of the input sparse matrix.
-      * The input matrix should be in column-major storage. 
-      */
-    void compute (const MatrixType& matrix)
-    {
-      // Analyze 
-      analyzePattern(matrix); 
-      //Factorize
-      factorize(matrix);
-    } 
-    
-    inline Index rows() const { return m_mat.rows(); }
-    inline Index cols() const { return m_mat.cols(); }
-    /** Indicate that the pattern of the input matrix is symmetric */
-    void isSymmetric(bool sym)
-    {
-      m_symmetricmode = sym;
-    }
-    
-    /** \returns an expression of the matrix L, internally stored as supernodes
-      * The only operation available with this expression is the triangular solve
-      * \code
-      * y = b; matrixL().solveInPlace(y);
-      * \endcode
-      */
-    SparseLUMatrixLReturnType<SCMatrix> matrixL() const
-    {
-      return SparseLUMatrixLReturnType<SCMatrix>(m_Lstore);
-    }
-    /** \returns an expression of the matrix U,
-      * The only operation available with this expression is the triangular solve
-      * \code
-      * y = b; matrixU().solveInPlace(y);
-      * \endcode
-      */
-    SparseLUMatrixUReturnType<SCMatrix,MappedSparseMatrix<Scalar,ColMajor,Index> > matrixU() const
-    {
-      return SparseLUMatrixUReturnType<SCMatrix, MappedSparseMatrix<Scalar,ColMajor,Index> >(m_Lstore, m_Ustore);
-    }
-
-    /**
-      * \returns a reference to the row matrix permutation \f$ P_r \f$ such that \f$P_r A P_c^T = L U\f$
-      * \sa colsPermutation()
-      */
-    inline const PermutationType& rowsPermutation() const
-    {
-      return m_perm_r;
-    }
-    /**
-      * \returns a reference to the column matrix permutation\f$ P_c^T \f$ such that \f$P_r A P_c^T = L U\f$
-      * \sa rowsPermutation()
-      */
-    inline const PermutationType& colsPermutation() const
-    {
-      return m_perm_c;
-    }
-    /** Set the threshold used for a diagonal entry to be an acceptable pivot. */
-    void setPivotThreshold(const RealScalar& thresh)
-    {
-      m_diagpivotthresh = thresh; 
-    }
-
-    /** \returns the solution X of \f$ A X = B \f$ using the current decomposition of A.
-      *
-      * \warning the destination matrix X in X = this->solve(B) must be colmun-major.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<SparseLU, Rhs> solve(const MatrixBase<Rhs>& B) const 
-    {
-      eigen_assert(m_factorizationIsOk && "SparseLU is not initialized."); 
-      eigen_assert(rows()==B.rows()
-                    && "SparseLU::solve(): invalid number of rows of the right hand side matrix B");
-          return internal::solve_retval<SparseLU, Rhs>(*this, B.derived());
-    }
-
-    /** \returns the solution X of \f$ A X = B \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::sparse_solve_retval<SparseLU, Rhs> solve(const SparseMatrixBase<Rhs>& B) const 
-    {
-      eigen_assert(m_factorizationIsOk && "SparseLU is not initialized."); 
-      eigen_assert(rows()==B.rows()
-                    && "SparseLU::solve(): invalid number of rows of the right hand side matrix B");
-          return internal::sparse_solve_retval<SparseLU, Rhs>(*this, B.derived());
-    }
-    
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the LU factorization reports a problem, zero diagonal for instance
-      *          \c InvalidInput if the input matrix is invalid
-      *
-      * \sa iparm()          
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_info;
-    }
-    
-    /**
-      * \returns A string describing the type of error
-      */
-    std::string lastErrorMessage() const
-    {
-      return m_lastError; 
-    }
-
-    template<typename Rhs, typename Dest>
-    bool _solve(const MatrixBase<Rhs> &B, MatrixBase<Dest> &X_base) const
-    {
-      Dest& X(X_base.derived());
-      eigen_assert(m_factorizationIsOk && "The matrix should be factorized first");
-      EIGEN_STATIC_ASSERT((Dest::Flags&RowMajorBit)==0,
-                        THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES);
-      
-      // Permute the right hand side to form X = Pr*B
-      // on return, X is overwritten by the computed solution
-      X.resize(B.rows(),B.cols());
-
-      // this ugly const_cast_derived() helps to detect aliasing when applying the permutations
-      for(Index j = 0; j < B.cols(); ++j)
-        X.col(j) = rowsPermutation() * B.const_cast_derived().col(j);
-      
-      //Forward substitution with L
-      this->matrixL().solveInPlace(X);
-      this->matrixU().solveInPlace(X);
-      
-      // Permute back the solution 
-      for (Index j = 0; j < B.cols(); ++j)
-        X.col(j) = colsPermutation().inverse() * X.col(j);
-      
-      return true; 
-    }
-    
-    /**
-      * \returns the absolute value of the determinant of the matrix of which
-      * *this is the QR decomposition.
-      *
-      * \warning a determinant can be very big or small, so for matrices
-      * of large enough dimension, there is a risk of overflow/underflow.
-      * One way to work around that is to use logAbsDeterminant() instead.
-      *
-      * \sa logAbsDeterminant(), signDeterminant()
-      */
-     Scalar absDeterminant()
-    {
-      eigen_assert(m_factorizationIsOk && "The matrix should be factorized first.");
-      // Initialize with the determinant of the row matrix
-      Scalar det = Scalar(1.);
-      // Note that the diagonal blocks of U are stored in supernodes,
-      // which are available in the  L part :)
-      for (Index j = 0; j < this->cols(); ++j)
-      {
-        for (typename SCMatrix::InnerIterator it(m_Lstore, j); it; ++it)
-        {
-          if(it.index() == j)
-          {
-            using std::abs;
-            det *= abs(it.value());
-            break;
-          }
-        }
-       }
-       return det;
-     }
-
-     /** \returns the natural log of the absolute value of the determinant of the matrix
-       * of which **this is the QR decomposition
-       *
-       * \note This method is useful to work around the risk of overflow/underflow that's
-       * inherent to the determinant computation.
-       *
-       * \sa absDeterminant(), signDeterminant()
-       */
-     Scalar logAbsDeterminant() const
-     {
-       eigen_assert(m_factorizationIsOk && "The matrix should be factorized first.");
-       Scalar det = Scalar(0.);
-       for (Index j = 0; j < this->cols(); ++j)
-       {
-         for (typename SCMatrix::InnerIterator it(m_Lstore, j); it; ++it)
-         {
-           if(it.row() < j) continue;
-           if(it.row() == j)
-           {
-             using std::log; using std::abs;
-             det += log(abs(it.value()));
-             break;
-           }
-         }
-       }
-       return det;
-     }
-
-    /** \returns A number representing the sign of the determinant
-      *
-      * \sa absDeterminant(), logAbsDeterminant()
-      */
-    Scalar signDeterminant()
-    {
-      eigen_assert(m_factorizationIsOk && "The matrix should be factorized first.");
-      // Initialize with the determinant of the row matrix
-      Index det = 1;
-      // Note that the diagonal blocks of U are stored in supernodes,
-      // which are available in the  L part :)
-      for (Index j = 0; j < this->cols(); ++j)
-      {
-        for (typename SCMatrix::InnerIterator it(m_Lstore, j); it; ++it)
-        {
-          if(it.index() == j)
-          {
-            if(it.value()<0)
-              det = -det;
-            else if(it.value()==0)
-              return 0;
-            break;
-          }
-        }
-      }
-      return det * m_detPermR * m_detPermC;
-    }
-    
-    /** \returns The determinant of the matrix.
-      *
-      * \sa absDeterminant(), logAbsDeterminant()
-      */
-    Scalar determinant()
-    {
-      eigen_assert(m_factorizationIsOk && "The matrix should be factorized first.");
-      // Initialize with the determinant of the row matrix
-      Scalar det = Scalar(1.);
-      // Note that the diagonal blocks of U are stored in supernodes,
-      // which are available in the  L part :)
-      for (Index j = 0; j < this->cols(); ++j)
-      {
-        for (typename SCMatrix::InnerIterator it(m_Lstore, j); it; ++it)
-        {
-          if(it.index() == j)
-          {
-            det *= it.value();
-            break;
-          }
-        }
-      }
-      return det * Scalar(m_detPermR * m_detPermC);
-    }
-
-  protected:
-    // Functions 
-    void initperfvalues()
-    {
-      m_perfv.panel_size = 16;
-      m_perfv.relax = 1; 
-      m_perfv.maxsuper = 128; 
-      m_perfv.rowblk = 16; 
-      m_perfv.colblk = 8; 
-      m_perfv.fillfactor = 20;  
-    }
-      
-    // Variables 
-    mutable ComputationInfo m_info;
-    bool m_isInitialized;
-    bool m_factorizationIsOk;
-    bool m_analysisIsOk;
-    std::string m_lastError;
-    NCMatrix m_mat; // The input (permuted ) matrix 
-    SCMatrix m_Lstore; // The lower triangular matrix (supernodal)
-    MappedSparseMatrix<Scalar,ColMajor,Index> m_Ustore; // The upper triangular matrix
-    PermutationType m_perm_c; // Column permutation 
-    PermutationType m_perm_r ; // Row permutation
-    IndexVector m_etree; // Column elimination tree 
-    
-    typename Base::GlobalLU_t m_glu; 
-                               
-    // SparseLU options 
-    bool m_symmetricmode;
-    // values for performance 
-    internal::perfvalues<Index> m_perfv; 
-    RealScalar m_diagpivotthresh; // Specifies the threshold used for a diagonal entry to be an acceptable pivot
-    Index m_nnzL, m_nnzU; // Nonzeros in L and U factors
-    Index m_detPermR, m_detPermC; // Determinants of the permutation matrices
-  private:
-    // Disable copy constructor 
-    SparseLU (const SparseLU& );
-  
-}; // End class SparseLU
-
-
-
-// Functions needed by the anaysis phase
-/** 
-  * Compute the column permutation to minimize the fill-in
-  * 
-  *  - Apply this permutation to the input matrix - 
-  * 
-  *  - Compute the column elimination tree on the permuted matrix 
-  * 
-  *  - Postorder the elimination tree and the column permutation
-  * 
-  */
-template <typename MatrixType, typename OrderingType>
-void SparseLU<MatrixType, OrderingType>::analyzePattern(const MatrixType& mat)
-{
-  
-  //TODO  It is possible as in SuperLU to compute row and columns scaling vectors to equilibrate the matrix mat.
-  
-  OrderingType ord; 
-  ord(mat,m_perm_c);
-  
-  // Apply the permutation to the column of the input  matrix
-  //First copy the whole input matrix. 
-  m_mat = mat;
-  if (m_perm_c.size()) {
-    m_mat.uncompress(); //NOTE: The effect of this command is only to create the InnerNonzeros pointers. FIXME : This vector is filled but not subsequently used.  
-    //Then, permute only the column pointers
-    const Index * outerIndexPtr;
-    if (mat.isCompressed()) outerIndexPtr = mat.outerIndexPtr();
-    else
-    {
-      Index *outerIndexPtr_t = new Index[mat.cols()+1];
-      for(Index i = 0; i <= mat.cols(); i++) outerIndexPtr_t[i] = m_mat.outerIndexPtr()[i];
-      outerIndexPtr = outerIndexPtr_t;
-    }
-    for (Index i = 0; i < mat.cols(); i++)
-    {
-      m_mat.outerIndexPtr()[m_perm_c.indices()(i)] = outerIndexPtr[i];
-      m_mat.innerNonZeroPtr()[m_perm_c.indices()(i)] = outerIndexPtr[i+1] - outerIndexPtr[i];
-    }
-    if(!mat.isCompressed()) delete[] outerIndexPtr;
-  }
-  // Compute the column elimination tree of the permuted matrix 
-  IndexVector firstRowElt;
-  internal::coletree(m_mat, m_etree,firstRowElt); 
-     
-  // In symmetric mode, do not do postorder here
-  if (!m_symmetricmode) {
-    IndexVector post, iwork; 
-    // Post order etree
-    internal::treePostorder(m_mat.cols(), m_etree, post); 
-      
-   
-    // Renumber etree in postorder 
-    Index m = m_mat.cols(); 
-    iwork.resize(m+1);
-    for (Index i = 0; i < m; ++i) iwork(post(i)) = post(m_etree(i));
-    m_etree = iwork;
-    
-    // Postmultiply A*Pc by post, i.e reorder the matrix according to the postorder of the etree
-    PermutationType post_perm(m); 
-    for (Index i = 0; i < m; i++) 
-      post_perm.indices()(i) = post(i); 
-        
-    // Combine the two permutations : postorder the permutation for future use
-    if(m_perm_c.size()) {
-      m_perm_c = post_perm * m_perm_c;
-    }
-    
-  } // end postordering 
-  
-  m_analysisIsOk = true; 
-}
-
-// Functions needed by the numerical factorization phase
-
-
-/** 
-  *  - Numerical factorization 
-  *  - Interleaved with the symbolic factorization 
-  * On exit,  info is 
-  * 
-  *    = 0: successful factorization
-  * 
-  *    > 0: if info = i, and i is
-  * 
-  *       <= A->ncol: U(i,i) is exactly zero. The factorization has
-  *          been completed, but the factor U is exactly singular,
-  *          and division by zero will occur if it is used to solve a
-  *          system of equations.
-  * 
-  *       > A->ncol: number of bytes allocated when memory allocation
-  *         failure occurred, plus A->ncol. If lwork = -1, it is
-  *         the estimated amount of space needed, plus A->ncol.  
-  */
-template <typename MatrixType, typename OrderingType>
-void SparseLU<MatrixType, OrderingType>::factorize(const MatrixType& matrix)
-{
-  using internal::emptyIdxLU;
-  eigen_assert(m_analysisIsOk && "analyzePattern() should be called first"); 
-  eigen_assert((matrix.rows() == matrix.cols()) && "Only for squared matrices");
-  
-  typedef typename IndexVector::Scalar Index; 
-  
-  
-  // Apply the column permutation computed in analyzepattern()
-  //   m_mat = matrix * m_perm_c.inverse(); 
-  m_mat = matrix;
-  if (m_perm_c.size()) 
-  {
-    m_mat.uncompress(); //NOTE: The effect of this command is only to create the InnerNonzeros pointers.
-    //Then, permute only the column pointers
-    const Index * outerIndexPtr;
-    if (matrix.isCompressed()) outerIndexPtr = matrix.outerIndexPtr();
-    else
-    {
-      Index* outerIndexPtr_t = new Index[matrix.cols()+1];
-      for(Index i = 0; i <= matrix.cols(); i++) outerIndexPtr_t[i] = m_mat.outerIndexPtr()[i];
-      outerIndexPtr = outerIndexPtr_t;
-    }
-    for (Index i = 0; i < matrix.cols(); i++)
-    {
-      m_mat.outerIndexPtr()[m_perm_c.indices()(i)] = outerIndexPtr[i];
-      m_mat.innerNonZeroPtr()[m_perm_c.indices()(i)] = outerIndexPtr[i+1] - outerIndexPtr[i];
-    }
-    if(!matrix.isCompressed()) delete[] outerIndexPtr;
-  } 
-  else 
-  { //FIXME This should not be needed if the empty permutation is handled transparently
-    m_perm_c.resize(matrix.cols());
-    for(Index i = 0; i < matrix.cols(); ++i) m_perm_c.indices()(i) = i;
-  }
-  
-  Index m = m_mat.rows();
-  Index n = m_mat.cols();
-  Index nnz = m_mat.nonZeros();
-  Index maxpanel = m_perfv.panel_size * m;
-  // Allocate working storage common to the factor routines
-  Index lwork = 0;
-  Index info = Base::memInit(m, n, nnz, lwork, m_perfv.fillfactor, m_perfv.panel_size, m_glu); 
-  if (info) 
-  {
-    m_lastError = "UNABLE TO ALLOCATE WORKING MEMORY\n\n" ;
-    m_factorizationIsOk = false;
-    return ; 
-  }
-  
-  // Set up pointers for integer working arrays 
-  IndexVector segrep(m); segrep.setZero();
-  IndexVector parent(m); parent.setZero();
-  IndexVector xplore(m); xplore.setZero();
-  IndexVector repfnz(maxpanel);
-  IndexVector panel_lsub(maxpanel);
-  IndexVector xprune(n); xprune.setZero();
-  IndexVector marker(m*internal::LUNoMarker); marker.setZero();
-  
-  repfnz.setConstant(-1); 
-  panel_lsub.setConstant(-1);
-  
-  // Set up pointers for scalar working arrays 
-  ScalarVector dense; 
-  dense.setZero(maxpanel);
-  ScalarVector tempv; 
-  tempv.setZero(internal::LUnumTempV(m, m_perfv.panel_size, m_perfv.maxsuper, /*m_perfv.rowblk*/m) );
-  
-  // Compute the inverse of perm_c
-  PermutationType iperm_c(m_perm_c.inverse()); 
-  
-  // Identify initial relaxed snodes
-  IndexVector relax_end(n);
-  if ( m_symmetricmode == true ) 
-    Base::heap_relax_snode(n, m_etree, m_perfv.relax, marker, relax_end);
-  else
-    Base::relax_snode(n, m_etree, m_perfv.relax, marker, relax_end);
-  
-  
-  m_perm_r.resize(m); 
-  m_perm_r.indices().setConstant(-1);
-  marker.setConstant(-1);
-  m_detPermR = 1; // Record the determinant of the row permutation
-  
-  m_glu.supno(0) = emptyIdxLU; m_glu.xsup.setConstant(0);
-  m_glu.xsup(0) = m_glu.xlsub(0) = m_glu.xusub(0) = m_glu.xlusup(0) = Index(0);
-  
-  // Work on one 'panel' at a time. A panel is one of the following :
-  //  (a) a relaxed supernode at the bottom of the etree, or
-  //  (b) panel_size contiguous columns, <panel_size> defined by the user
-  Index jcol; 
-  IndexVector panel_histo(n);
-  Index pivrow; // Pivotal row number in the original row matrix
-  Index nseg1; // Number of segments in U-column above panel row jcol
-  Index nseg; // Number of segments in each U-column 
-  Index irep; 
-  Index i, k, jj; 
-  for (jcol = 0; jcol < n; )
-  {
-    // Adjust panel size so that a panel won't overlap with the next relaxed snode. 
-    Index panel_size = m_perfv.panel_size; // upper bound on panel width
-    for (k = jcol + 1; k < (std::min)(jcol+panel_size, n); k++)
-    {
-      if (relax_end(k) != emptyIdxLU) 
-      {
-        panel_size = k - jcol; 
-        break; 
-      }
-    }
-    if (k == n) 
-      panel_size = n - jcol; 
-      
-    // Symbolic outer factorization on a panel of columns 
-    Base::panel_dfs(m, panel_size, jcol, m_mat, m_perm_r.indices(), nseg1, dense, panel_lsub, segrep, repfnz, xprune, marker, parent, xplore, m_glu); 
-    
-    // Numeric sup-panel updates in topological order 
-    Base::panel_bmod(m, panel_size, jcol, nseg1, dense, tempv, segrep, repfnz, m_glu); 
-    
-    // Sparse LU within the panel, and below the panel diagonal 
-    for ( jj = jcol; jj< jcol + panel_size; jj++) 
-    {
-      k = (jj - jcol) * m; // Column index for w-wide arrays 
-      
-      nseg = nseg1; // begin after all the panel segments
-      //Depth-first-search for the current column
-      VectorBlock<IndexVector> panel_lsubk(panel_lsub, k, m);
-      VectorBlock<IndexVector> repfnz_k(repfnz, k, m); 
-      info = Base::column_dfs(m, jj, m_perm_r.indices(), m_perfv.maxsuper, nseg, panel_lsubk, segrep, repfnz_k, xprune, marker, parent, xplore, m_glu); 
-      if ( info ) 
-      {
-        m_lastError =  "UNABLE TO EXPAND MEMORY IN COLUMN_DFS() ";
-        m_info = NumericalIssue; 
-        m_factorizationIsOk = false; 
-        return; 
-      }
-      // Numeric updates to this column 
-      VectorBlock<ScalarVector> dense_k(dense, k, m); 
-      VectorBlock<IndexVector> segrep_k(segrep, nseg1, m-nseg1); 
-      info = Base::column_bmod(jj, (nseg - nseg1), dense_k, tempv, segrep_k, repfnz_k, jcol, m_glu); 
-      if ( info ) 
-      {
-        m_lastError = "UNABLE TO EXPAND MEMORY IN COLUMN_BMOD() ";
-        m_info = NumericalIssue; 
-        m_factorizationIsOk = false; 
-        return; 
-      }
-      
-      // Copy the U-segments to ucol(*)
-      info = Base::copy_to_ucol(jj, nseg, segrep, repfnz_k ,m_perm_r.indices(), dense_k, m_glu); 
-      if ( info ) 
-      {
-        m_lastError = "UNABLE TO EXPAND MEMORY IN COPY_TO_UCOL() ";
-        m_info = NumericalIssue; 
-        m_factorizationIsOk = false; 
-        return; 
-      }
-      
-      // Form the L-segment 
-      info = Base::pivotL(jj, m_diagpivotthresh, m_perm_r.indices(), iperm_c.indices(), pivrow, m_glu);
-      if ( info ) 
-      {
-        m_lastError = "THE MATRIX IS STRUCTURALLY SINGULAR ... ZERO COLUMN AT ";
-        std::ostringstream returnInfo;
-        returnInfo << info; 
-        m_lastError += returnInfo.str();
-        m_info = NumericalIssue; 
-        m_factorizationIsOk = false; 
-        return; 
-      }
-      
-      // Update the determinant of the row permutation matrix
-      // FIXME: the following test is not correct, we should probably take iperm_c into account and pivrow is not directly the row pivot.
-      if (pivrow != jj) m_detPermR = -m_detPermR;
-
-      // Prune columns (0:jj-1) using column jj
-      Base::pruneL(jj, m_perm_r.indices(), pivrow, nseg, segrep, repfnz_k, xprune, m_glu); 
-      
-      // Reset repfnz for this column 
-      for (i = 0; i < nseg; i++)
-      {
-        irep = segrep(i); 
-        repfnz_k(irep) = emptyIdxLU; 
-      }
-    } // end SparseLU within the panel  
-    jcol += panel_size;  // Move to the next panel
-  } // end for -- end elimination 
-  
-  m_detPermR = m_perm_r.determinant();
-  m_detPermC = m_perm_c.determinant();
-  
-  // Count the number of nonzeros in factors 
-  Base::countnz(n, m_nnzL, m_nnzU, m_glu); 
-  // Apply permutation  to the L subscripts 
-  Base::fixupL(n, m_perm_r.indices(), m_glu);
-  
-  // Create supernode matrix L 
-  m_Lstore.setInfos(m, n, m_glu.lusup, m_glu.xlusup, m_glu.lsub, m_glu.xlsub, m_glu.supno, m_glu.xsup); 
-  // Create the column major upper sparse matrix  U; 
-  new (&m_Ustore) MappedSparseMatrix<Scalar, ColMajor, Index> ( m, n, m_nnzU, m_glu.xusub.data(), m_glu.usub.data(), m_glu.ucol.data() ); 
-  
-  m_info = Success;
-  m_factorizationIsOk = true;
-}
-
-template<typename MappedSupernodalType>
-struct SparseLUMatrixLReturnType : internal::no_assignment_operator
-{
-  typedef typename MappedSupernodalType::Index Index;
-  typedef typename MappedSupernodalType::Scalar Scalar;
-  SparseLUMatrixLReturnType(const MappedSupernodalType& mapL) : m_mapL(mapL)
-  { }
-  Index rows() { return m_mapL.rows(); }
-  Index cols() { return m_mapL.cols(); }
-  template<typename Dest>
-  void solveInPlace( MatrixBase<Dest> &X) const
-  {
-    m_mapL.solveInPlace(X);
-  }
-  const MappedSupernodalType& m_mapL;
-};
-
-template<typename MatrixLType, typename MatrixUType>
-struct SparseLUMatrixUReturnType : internal::no_assignment_operator
-{
-  typedef typename MatrixLType::Index Index;
-  typedef typename MatrixLType::Scalar Scalar;
-  SparseLUMatrixUReturnType(const MatrixLType& mapL, const MatrixUType& mapU)
-  : m_mapL(mapL),m_mapU(mapU)
-  { }
-  Index rows() { return m_mapL.rows(); }
-  Index cols() { return m_mapL.cols(); }
-
-  template<typename Dest>   void solveInPlace(MatrixBase<Dest> &X) const
-  {
-    Index nrhs = X.cols();
-    Index n = X.rows();
-    // Backward solve with U
-    for (Index k = m_mapL.nsuper(); k >= 0; k--)
-    {
-      Index fsupc = m_mapL.supToCol()[k];
-      Index lda = m_mapL.colIndexPtr()[fsupc+1] - m_mapL.colIndexPtr()[fsupc]; // leading dimension
-      Index nsupc = m_mapL.supToCol()[k+1] - fsupc;
-      Index luptr = m_mapL.colIndexPtr()[fsupc];
-
-      if (nsupc == 1)
-      {
-        for (Index j = 0; j < nrhs; j++)
-        {
-          X(fsupc, j) /= m_mapL.valuePtr()[luptr];
-        }
-      }
-      else
-      {
-        Map<const Matrix<Scalar,Dynamic,Dynamic, ColMajor>, 0, OuterStride<> > A( &(m_mapL.valuePtr()[luptr]), nsupc, nsupc, OuterStride<>(lda) );
-        Map< Matrix<Scalar,Dynamic,Dynamic, ColMajor>, 0, OuterStride<> > U (&(X(fsupc,0)), nsupc, nrhs, OuterStride<>(n) );
-        U = A.template triangularView<Upper>().solve(U);
-      }
-
-      for (Index j = 0; j < nrhs; ++j)
-      {
-        for (Index jcol = fsupc; jcol < fsupc + nsupc; jcol++)
-        {
-          typename MatrixUType::InnerIterator it(m_mapU, jcol);
-          for ( ; it; ++it)
-          {
-            Index irow = it.index();
-            X(irow, j) -= X(jcol, j) * it.value();
-          }
-        }
-      }
-    } // End For U-solve
-  }
-  const MatrixLType& m_mapL;
-  const MatrixUType& m_mapU;
-};
-
-namespace internal {
-  
-template<typename _MatrixType, typename Derived, typename Rhs>
-struct solve_retval<SparseLU<_MatrixType,Derived>, Rhs>
-  : solve_retval_base<SparseLU<_MatrixType,Derived>, Rhs>
-{
-  typedef SparseLU<_MatrixType,Derived> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-template<typename _MatrixType, typename Derived, typename Rhs>
-struct sparse_solve_retval<SparseLU<_MatrixType,Derived>, Rhs>
-  : sparse_solve_retval_base<SparseLU<_MatrixType,Derived>, Rhs>
-{
-  typedef SparseLU<_MatrixType,Derived> Dec;
-  EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    this->defaultEvalTo(dst);
-  }
-};
-} // end namespace internal
-
-} // End namespace Eigen 
-
-#endif
diff --git a/lib/Eigen/src/SparseLU/SparseLUImpl.h b/lib/Eigen/src/SparseLU/SparseLUImpl.h
deleted file mode 100644
index 99d651e4..00000000
--- a/lib/Eigen/src/SparseLU/SparseLUImpl.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#ifndef SPARSELU_IMPL_H
-#define SPARSELU_IMPL_H
-
-namespace Eigen {
-namespace internal {
-  
-/** \ingroup SparseLU_Module
-  * \class SparseLUImpl
-  * Base class for sparseLU
-  */
-template <typename Scalar, typename Index>
-class SparseLUImpl
-{
-  public:
-    typedef Matrix<Scalar,Dynamic,1> ScalarVector;
-    typedef Matrix<Scalar,Dynamic,Dynamic,ColMajor> ScalarMatrix;
-    typedef Map<ScalarMatrix, 0,  OuterStride<> > MappedMatrixBlock;
-    typedef Matrix<Index,Dynamic,1> IndexVector; 
-    typedef typename ScalarVector::RealScalar RealScalar; 
-    typedef Ref<Matrix<Scalar,Dynamic,1> > BlockScalarVector;
-    typedef Ref<Matrix<Index,Dynamic,1> > BlockIndexVector;
-    typedef LU_GlobalLU_t<IndexVector, ScalarVector> GlobalLU_t; 
-    typedef SparseMatrix<Scalar,ColMajor,Index> MatrixType; 
-    
-  protected:
-     template <typename VectorType>
-     Index expand(VectorType& vec, Index& length, Index nbElts, Index keep_prev, Index& num_expansions);
-     Index memInit(Index m, Index n, Index annz, Index lwork, Index fillratio, Index panel_size,  GlobalLU_t& glu); 
-     template <typename VectorType>
-     Index memXpand(VectorType& vec, Index& maxlen, Index nbElts, MemType memtype, Index& num_expansions);
-     void heap_relax_snode (const Index n, IndexVector& et, const Index relax_columns, IndexVector& descendants, IndexVector& relax_end); 
-     void relax_snode (const Index n, IndexVector& et, const Index relax_columns, IndexVector& descendants, IndexVector& relax_end); 
-     Index snode_dfs(const Index jcol, const Index kcol,const MatrixType& mat,  IndexVector& xprune, IndexVector& marker, GlobalLU_t& glu); 
-     Index snode_bmod (const Index jcol, const Index fsupc, ScalarVector& dense, GlobalLU_t& glu);
-     Index pivotL(const Index jcol, const RealScalar& diagpivotthresh, IndexVector& perm_r, IndexVector& iperm_c, Index& pivrow, GlobalLU_t& glu);
-     template <typename Traits>
-     void dfs_kernel(const Index jj, IndexVector& perm_r,
-                    Index& nseg, IndexVector& panel_lsub, IndexVector& segrep,
-                    Ref<IndexVector> repfnz_col, IndexVector& xprune, Ref<IndexVector> marker, IndexVector& parent,
-                    IndexVector& xplore, GlobalLU_t& glu, Index& nextl_col, Index krow, Traits& traits);
-     void panel_dfs(const Index m, const Index w, const Index jcol, MatrixType& A, IndexVector& perm_r, Index& nseg, ScalarVector& dense, IndexVector& panel_lsub, IndexVector& segrep, IndexVector& repfnz, IndexVector& xprune, IndexVector& marker, IndexVector& parent, IndexVector& xplore, GlobalLU_t& glu);
-    
-     void panel_bmod(const Index m, const Index w, const Index jcol, const Index nseg, ScalarVector& dense, ScalarVector& tempv, IndexVector& segrep, IndexVector& repfnz, GlobalLU_t& glu);
-     Index column_dfs(const Index m, const Index jcol, IndexVector& perm_r, Index maxsuper, Index& nseg,  BlockIndexVector lsub_col, IndexVector& segrep, BlockIndexVector repfnz, IndexVector& xprune, IndexVector& marker, IndexVector& parent, IndexVector& xplore, GlobalLU_t& glu);
-     Index column_bmod(const Index jcol, const Index nseg, BlockScalarVector dense, ScalarVector& tempv, BlockIndexVector segrep, BlockIndexVector repfnz, Index fpanelc, GlobalLU_t& glu); 
-     Index copy_to_ucol(const Index jcol, const Index nseg, IndexVector& segrep, BlockIndexVector repfnz ,IndexVector& perm_r, BlockScalarVector dense, GlobalLU_t& glu); 
-     void pruneL(const Index jcol, const IndexVector& perm_r, const Index pivrow, const Index nseg, const IndexVector& segrep, BlockIndexVector repfnz, IndexVector& xprune, GlobalLU_t& glu);
-     void countnz(const Index n, Index& nnzL, Index& nnzU, GlobalLU_t& glu); 
-     void fixupL(const Index n, const IndexVector& perm_r, GlobalLU_t& glu); 
-     
-     template<typename , typename >
-     friend struct column_dfs_traits;
-}; 
-
-} // end namespace internal
-} // namespace Eigen
-
-#endif
diff --git a/lib/Eigen/src/SparseLU/SparseLU_Memory.h b/lib/Eigen/src/SparseLU/SparseLU_Memory.h
deleted file mode 100644
index 45f96d16..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_Memory.h
+++ /dev/null
@@ -1,227 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* 
- 
- * NOTE: This file is the modified version of [s,d,c,z]memory.c files in SuperLU 
- 
- * -- SuperLU routine (version 3.1) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * August 1, 2008
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-
-#ifndef EIGEN_SPARSELU_MEMORY
-#define EIGEN_SPARSELU_MEMORY
-
-namespace Eigen {
-namespace internal {
-  
-enum { LUNoMarker = 3 };
-enum {emptyIdxLU = -1};
-template<typename Index>
-inline Index LUnumTempV(Index& m, Index& w, Index& t, Index& b)
-{
-  return (std::max)(m, (t+b)*w);
-}
-
-template< typename Scalar, typename Index>
-inline Index LUTempSpace(Index&m, Index& w)
-{
-  return (2*w + 4 + LUNoMarker) * m * sizeof(Index) + (w + 1) * m * sizeof(Scalar);
-}
-
-
-
-
-/** 
-  * Expand the existing storage to accomodate more fill-ins
-  * \param vec Valid pointer to the vector to allocate or expand
-  * \param[in,out] length  At input, contain the current length of the vector that is to be increased. At output, length of the newly allocated vector
-  * \param[in] nbElts Current number of elements in the factors
-  * \param keep_prev  1: use length  and do not expand the vector; 0: compute new_len and expand
-  * \param[in,out] num_expansions Number of times the memory has been expanded
-  */
-template <typename Scalar, typename Index>
-template <typename VectorType>
-Index  SparseLUImpl<Scalar,Index>::expand(VectorType& vec, Index& length, Index nbElts, Index keep_prev, Index& num_expansions) 
-{
-  
-  float alpha = 1.5; // Ratio of the memory increase 
-  Index new_len; // New size of the allocated memory
-  
-  if(num_expansions == 0 || keep_prev) 
-    new_len = length ; // First time allocate requested
-  else 
-    new_len = (std::max)(length+1,Index(alpha * length));
-  
-  VectorType old_vec; // Temporary vector to hold the previous values   
-  if (nbElts > 0 )
-    old_vec = vec.segment(0,nbElts); 
-  
-  //Allocate or expand the current vector
-#ifdef EIGEN_EXCEPTIONS
-  try
-#endif
-  {
-    vec.resize(new_len); 
-  }
-#ifdef EIGEN_EXCEPTIONS
-  catch(std::bad_alloc& )
-#else
-  if(!vec.size())
-#endif
-  {
-    if (!num_expansions)
-    {
-      // First time to allocate from LUMemInit()
-      // Let LUMemInit() deals with it.
-      return -1;
-    }
-    if (keep_prev)
-    {
-      // In this case, the memory length should not not be reduced
-      return new_len;
-    }
-    else 
-    {
-      // Reduce the size and increase again 
-      Index tries = 0; // Number of attempts
-      do 
-      {
-        alpha = (alpha + 1)/2;
-        new_len = (std::max)(length+1,Index(alpha * length));
-#ifdef EIGEN_EXCEPTIONS
-        try
-#endif
-        {
-          vec.resize(new_len); 
-        }
-#ifdef EIGEN_EXCEPTIONS
-        catch(std::bad_alloc& )
-#else
-        if (!vec.size())
-#endif
-        {
-          tries += 1; 
-          if ( tries > 10) return new_len; 
-        }
-      } while (!vec.size());
-    }
-  }
-  //Copy the previous values to the newly allocated space 
-  if (nbElts > 0)
-    vec.segment(0, nbElts) = old_vec;   
-   
-  
-  length  = new_len;
-  if(num_expansions) ++num_expansions;
-  return 0; 
-}
-
-/**
- * \brief  Allocate various working space for the numerical factorization phase.
- * \param m number of rows of the input matrix 
- * \param n number of columns 
- * \param annz number of initial nonzeros in the matrix 
- * \param lwork  if lwork=-1, this routine returns an estimated size of the required memory
- * \param glu persistent data to facilitate multiple factors : will be deleted later ??
- * \param fillratio estimated ratio of fill in the factors
- * \param panel_size Size of a panel
- * \return an estimated size of the required memory if lwork = -1; otherwise, return the size of actually allocated memory when allocation failed, and 0 on success
- * \note Unlike SuperLU, this routine does not support successive factorization with the same pattern and the same row permutation
- */
-template <typename Scalar, typename Index>
-Index SparseLUImpl<Scalar,Index>::memInit(Index m, Index n, Index annz, Index lwork, Index fillratio, Index panel_size,  GlobalLU_t& glu)
-{
-  Index& num_expansions = glu.num_expansions; //No memory expansions so far
-  num_expansions = 0;
-  glu.nzumax = glu.nzlumax = (std::min)(fillratio * (annz+1) / n, m) * n; // estimated number of nonzeros in U 
-  glu.nzlmax = (std::max)(Index(4), fillratio) * (annz+1) / 4; // estimated  nnz in L factor
-  // Return the estimated size to the user if necessary
-  Index tempSpace;
-  tempSpace = (2*panel_size + 4 + LUNoMarker) * m * sizeof(Index) + (panel_size + 1) * m * sizeof(Scalar);
-  if (lwork == emptyIdxLU) 
-  {
-    Index estimated_size;
-    estimated_size = (5 * n + 5) * sizeof(Index)  + tempSpace
-                    + (glu.nzlmax + glu.nzumax) * sizeof(Index) + (glu.nzlumax+glu.nzumax) *  sizeof(Scalar) + n; 
-    return estimated_size;
-  }
-  
-  // Setup the required space 
-  
-  // First allocate Integer pointers for L\U factors
-  glu.xsup.resize(n+1);
-  glu.supno.resize(n+1);
-  glu.xlsub.resize(n+1);
-  glu.xlusup.resize(n+1);
-  glu.xusub.resize(n+1);
-
-  // Reserve memory for L/U factors
-  do 
-  {
-    if(     (expand<ScalarVector>(glu.lusup, glu.nzlumax, 0, 0, num_expansions)<0)
-        ||  (expand<ScalarVector>(glu.ucol,  glu.nzumax,  0, 0, num_expansions)<0)
-        ||  (expand<IndexVector> (glu.lsub,  glu.nzlmax,  0, 0, num_expansions)<0)
-        ||  (expand<IndexVector> (glu.usub,  glu.nzumax,  0, 1, num_expansions)<0) )
-    {
-      //Reduce the estimated size and retry
-      glu.nzlumax /= 2;
-      glu.nzumax /= 2;
-      glu.nzlmax /= 2;
-      if (glu.nzlumax < annz ) return glu.nzlumax; 
-    }
-  } while (!glu.lusup.size() || !glu.ucol.size() || !glu.lsub.size() || !glu.usub.size());
-  
-  ++num_expansions;
-  return 0;
-  
-} // end LuMemInit
-
-/** 
- * \brief Expand the existing storage 
- * \param vec vector to expand 
- * \param[in,out] maxlen On input, previous size of vec (Number of elements to copy ). on output, new size
- * \param nbElts current number of elements in the vector.
- * \param memtype Type of the element to expand
- * \param num_expansions Number of expansions 
- * \return 0 on success, > 0 size of the memory allocated so far
- */
-template <typename Scalar, typename Index>
-template <typename VectorType>
-Index SparseLUImpl<Scalar,Index>::memXpand(VectorType& vec, Index& maxlen, Index nbElts, MemType memtype, Index& num_expansions)
-{
-  Index failed_size; 
-  if (memtype == USUB)
-     failed_size = this->expand<VectorType>(vec, maxlen, nbElts, 1, num_expansions);
-  else
-    failed_size = this->expand<VectorType>(vec, maxlen, nbElts, 0, num_expansions);
-
-  if (failed_size)
-    return failed_size; 
-  
-  return 0 ;  
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-#endif // EIGEN_SPARSELU_MEMORY
diff --git a/lib/Eigen/src/SparseLU/SparseLU_Structs.h b/lib/Eigen/src/SparseLU/SparseLU_Structs.h
deleted file mode 100644
index 24d6bf17..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_Structs.h
+++ /dev/null
@@ -1,111 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* 
- * NOTE: This file comes from a partly modified version of files slu_[s,d,c,z]defs.h
- * -- SuperLU routine (version 4.1) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * November, 2010
- * 
- * Global data structures used in LU factorization -
- * 
- *   nsuper: #supernodes = nsuper + 1, numbered [0, nsuper].
- *   (xsup,supno): supno[i] is the supernode no to which i belongs;
- *  xsup(s) points to the beginning of the s-th supernode.
- *  e.g.   supno 0 1 2 2 3 3 3 4 4 4 4 4   (n=12)
- *          xsup 0 1 2 4 7 12
- *  Note: dfs will be performed on supernode rep. relative to the new 
- *        row pivoting ordering
- *
- *   (xlsub,lsub): lsub[*] contains the compressed subscript of
- *  rectangular supernodes; xlsub[j] points to the starting
- *  location of the j-th column in lsub[*]. Note that xlsub 
- *  is indexed by column.
- *  Storage: original row subscripts
- *
- *      During the course of sparse LU factorization, we also use
- *  (xlsub,lsub) for the purpose of symmetric pruning. For each
- *  supernode {s,s+1,...,t=s+r} with first column s and last
- *  column t, the subscript set
- *    lsub[j], j=xlsub[s], .., xlsub[s+1]-1
- *  is the structure of column s (i.e. structure of this supernode).
- *  It is used for the storage of numerical values.
- *  Furthermore,
- *    lsub[j], j=xlsub[t], .., xlsub[t+1]-1
- *  is the structure of the last column t of this supernode.
- *  It is for the purpose of symmetric pruning. Therefore, the
- *  structural subscripts can be rearranged without making physical
- *  interchanges among the numerical values.
- *
- *  However, if the supernode has only one column, then we
- *  only keep one set of subscripts. For any subscript interchange
- *  performed, similar interchange must be done on the numerical
- *  values.
- *
- *  The last column structures (for pruning) will be removed
- *  after the numercial LU factorization phase.
- *
- *   (xlusup,lusup): lusup[*] contains the numerical values of the
- *  rectangular supernodes; xlusup[j] points to the starting
- *  location of the j-th column in storage vector lusup[*]
- *  Note: xlusup is indexed by column.
- *  Each rectangular supernode is stored by column-major
- *  scheme, consistent with Fortran 2-dim array storage.
- *
- *   (xusub,ucol,usub): ucol[*] stores the numerical values of
- *  U-columns outside the rectangular supernodes. The row
- *  subscript of nonzero ucol[k] is stored in usub[k].
- *  xusub[i] points to the starting location of column i in ucol.
- *  Storage: new row subscripts; that is subscripts of PA.
- */
-
-#ifndef EIGEN_LU_STRUCTS
-#define EIGEN_LU_STRUCTS
-namespace Eigen {
-namespace internal {
-  
-typedef enum {LUSUP, UCOL, LSUB, USUB, LLVL, ULVL} MemType; 
-
-template <typename IndexVector, typename ScalarVector>
-struct LU_GlobalLU_t {
-  typedef typename IndexVector::Scalar Index; 
-  IndexVector xsup; //First supernode column ... xsup(s) points to the beginning of the s-th supernode
-  IndexVector supno; // Supernode number corresponding to this column (column to supernode mapping)
-  ScalarVector  lusup; // nonzero values of L ordered by columns 
-  IndexVector lsub; // Compressed row indices of L rectangular supernodes. 
-  IndexVector xlusup; // pointers to the beginning of each column in lusup
-  IndexVector xlsub; // pointers to the beginning of each column in lsub
-  Index   nzlmax; // Current max size of lsub
-  Index   nzlumax; // Current max size of lusup
-  ScalarVector  ucol; // nonzero values of U ordered by columns 
-  IndexVector usub; // row indices of U columns in ucol
-  IndexVector xusub; // Pointers to the beginning of each column of U in ucol 
-  Index   nzumax; // Current max size of ucol
-  Index   n; // Number of columns in the matrix  
-  Index   num_expansions; 
-};
-
-// Values to set for performance
-template <typename Index>
-struct perfvalues {
-  Index panel_size; // a panel consists of at most <panel_size> consecutive columns
-  Index relax; // To control degree of relaxing supernodes. If the number of nodes (columns) 
-                // in a subtree of the elimination tree is less than relax, this subtree is considered 
-                // as one supernode regardless of the row structures of those columns
-  Index maxsuper; // The maximum size for a supernode in complete LU
-  Index rowblk; // The minimum row dimension for 2-D blocking to be used;
-  Index colblk; // The minimum column dimension for 2-D blocking to be used;
-  Index fillfactor; // The estimated fills factors for L and U, compared with A
-}; 
-
-} // end namespace internal
-
-} // end namespace Eigen
-#endif // EIGEN_LU_STRUCTS
diff --git a/lib/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h b/lib/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
deleted file mode 100644
index 54a56940..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
+++ /dev/null
@@ -1,298 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSELU_SUPERNODAL_MATRIX_H
-#define EIGEN_SPARSELU_SUPERNODAL_MATRIX_H
-
-namespace Eigen {
-namespace internal {
-
-/** \ingroup SparseLU_Module
- * \brief a class to manipulate the L supernodal factor from the SparseLU factorization
- * 
- * This class  contain the data to easily store 
- * and manipulate the supernodes during the factorization and solution phase of Sparse LU. 
- * Only the lower triangular matrix has supernodes.
- * 
- * NOTE : This class corresponds to the SCformat structure in SuperLU
- * 
- */
-/* TODO
- * InnerIterator as for sparsematrix 
- * SuperInnerIterator to iterate through all supernodes 
- * Function for triangular solve
- */
-template <typename _Scalar, typename _Index>
-class MappedSuperNodalMatrix
-{
-  public:
-    typedef _Scalar Scalar; 
-    typedef _Index Index;
-    typedef Matrix<Index,Dynamic,1> IndexVector; 
-    typedef Matrix<Scalar,Dynamic,1> ScalarVector;
-  public:
-    MappedSuperNodalMatrix()
-    {
-      
-    }
-    MappedSuperNodalMatrix(Index m, Index n,  ScalarVector& nzval, IndexVector& nzval_colptr, IndexVector& rowind, 
-             IndexVector& rowind_colptr, IndexVector& col_to_sup, IndexVector& sup_to_col )
-    {
-      setInfos(m, n, nzval, nzval_colptr, rowind, rowind_colptr, col_to_sup, sup_to_col);
-    }
-    
-    ~MappedSuperNodalMatrix()
-    {
-      
-    }
-    /**
-     * Set appropriate pointers for the lower triangular supernodal matrix
-     * These infos are available at the end of the numerical factorization
-     * FIXME This class will be modified such that it can be use in the course 
-     * of the factorization.
-     */
-    void setInfos(Index m, Index n, ScalarVector& nzval, IndexVector& nzval_colptr, IndexVector& rowind, 
-             IndexVector& rowind_colptr, IndexVector& col_to_sup, IndexVector& sup_to_col )
-    {
-      m_row = m;
-      m_col = n; 
-      m_nzval = nzval.data(); 
-      m_nzval_colptr = nzval_colptr.data(); 
-      m_rowind = rowind.data(); 
-      m_rowind_colptr = rowind_colptr.data(); 
-      m_nsuper = col_to_sup(n); 
-      m_col_to_sup = col_to_sup.data(); 
-      m_sup_to_col = sup_to_col.data(); 
-    }
-    
-    /**
-     * Number of rows
-     */
-    Index rows() { return m_row; }
-    
-    /**
-     * Number of columns
-     */
-    Index cols() { return m_col; }
-    
-    /**
-     * Return the array of nonzero values packed by column
-     * 
-     * The size is nnz
-     */
-    Scalar* valuePtr() {  return m_nzval; }
-    
-    const Scalar* valuePtr() const 
-    {
-      return m_nzval; 
-    }
-    /**
-     * Return the pointers to the beginning of each column in \ref valuePtr()
-     */
-    Index* colIndexPtr()
-    {
-      return m_nzval_colptr; 
-    }
-    
-    const Index* colIndexPtr() const
-    {
-      return m_nzval_colptr; 
-    }
-    
-    /**
-     * Return the array of compressed row indices of all supernodes
-     */
-    Index* rowIndex()  { return m_rowind; }
-    
-    const Index* rowIndex() const
-    {
-      return m_rowind; 
-    }
-    
-    /**
-     * Return the location in \em rowvaluePtr() which starts each column
-     */
-    Index* rowIndexPtr() { return m_rowind_colptr; }
-    
-    const Index* rowIndexPtr() const 
-    {
-      return m_rowind_colptr; 
-    }
-    
-    /** 
-     * Return the array of column-to-supernode mapping 
-     */
-    Index* colToSup()  { return m_col_to_sup; }
-    
-    const Index* colToSup() const
-    {
-      return m_col_to_sup;       
-    }
-    /**
-     * Return the array of supernode-to-column mapping
-     */
-    Index* supToCol() { return m_sup_to_col; }
-    
-    const Index* supToCol() const 
-    {
-      return m_sup_to_col;
-    }
-    
-    /**
-     * Return the number of supernodes
-     */
-    Index nsuper() const 
-    {
-      return m_nsuper; 
-    }
-    
-    class InnerIterator; 
-    template<typename Dest>
-    void solveInPlace( MatrixBase<Dest>&X) const;
-    
-      
-      
-    
-  protected:
-    Index m_row; // Number of rows
-    Index m_col; // Number of columns 
-    Index m_nsuper; // Number of supernodes 
-    Scalar* m_nzval; //array of nonzero values packed by column
-    Index* m_nzval_colptr; //nzval_colptr[j] Stores the location in nzval[] which starts column j 
-    Index* m_rowind; // Array of compressed row indices of rectangular supernodes
-    Index* m_rowind_colptr; //rowind_colptr[j] stores the location in rowind[] which starts column j
-    Index* m_col_to_sup; // col_to_sup[j] is the supernode number to which column j belongs
-    Index* m_sup_to_col; //sup_to_col[s] points to the starting column of the s-th supernode
-    
-  private :
-};
-
-/**
-  * \brief InnerIterator class to iterate over nonzero values of the current column in the supernodal matrix L
-  * 
-  */
-template<typename Scalar, typename Index>
-class MappedSuperNodalMatrix<Scalar,Index>::InnerIterator
-{
-  public:
-     InnerIterator(const MappedSuperNodalMatrix& mat, Index outer)
-      : m_matrix(mat),
-        m_outer(outer), 
-        m_supno(mat.colToSup()[outer]),
-        m_idval(mat.colIndexPtr()[outer]),
-        m_startidval(m_idval),
-        m_endidval(mat.colIndexPtr()[outer+1]),
-        m_idrow(mat.rowIndexPtr()[mat.supToCol()[mat.colToSup()[outer]]]),
-        m_endidrow(mat.rowIndexPtr()[mat.supToCol()[mat.colToSup()[outer]]+1])
-    {}
-    inline InnerIterator& operator++()
-    { 
-      m_idval++; 
-      m_idrow++;
-      return *this;
-    }
-    inline Scalar value() const { return m_matrix.valuePtr()[m_idval]; }
-    
-    inline Scalar& valueRef() { return const_cast<Scalar&>(m_matrix.valuePtr()[m_idval]); }
-    
-    inline Index index() const { return m_matrix.rowIndex()[m_idrow]; }
-    inline Index row() const { return index(); }
-    inline Index col() const { return m_outer; }
-    
-    inline Index supIndex() const { return m_supno; }
-    
-    inline operator bool() const 
-    { 
-      return ( (m_idval < m_endidval) && (m_idval >= m_startidval)
-                && (m_idrow < m_endidrow) );
-    }
-    
-  protected:
-    const MappedSuperNodalMatrix& m_matrix; // Supernodal lower triangular matrix 
-    const Index m_outer;                    // Current column 
-    const Index m_supno;                    // Current SuperNode number
-    Index m_idval;                          // Index to browse the values in the current column
-    const Index m_startidval;               // Start of the column value
-    const Index m_endidval;                 // End of the column value
-    Index m_idrow;                          // Index to browse the row indices 
-    Index m_endidrow;                       // End index of row indices of the current column
-};
-
-/**
- * \brief Solve with the supernode triangular matrix
- * 
- */
-template<typename Scalar, typename Index>
-template<typename Dest>
-void MappedSuperNodalMatrix<Scalar,Index>::solveInPlace( MatrixBase<Dest>&X) const
-{
-    Index n = X.rows(); 
-    Index nrhs = X.cols(); 
-    const Scalar * Lval = valuePtr();                 // Nonzero values 
-    Matrix<Scalar,Dynamic,Dynamic, ColMajor> work(n, nrhs);     // working vector
-    work.setZero();
-    for (Index k = 0; k <= nsuper(); k ++)
-    {
-      Index fsupc = supToCol()[k];                    // First column of the current supernode 
-      Index istart = rowIndexPtr()[fsupc];            // Pointer index to the subscript of the current column
-      Index nsupr = rowIndexPtr()[fsupc+1] - istart;  // Number of rows in the current supernode
-      Index nsupc = supToCol()[k+1] - fsupc;          // Number of columns in the current supernode
-      Index nrow = nsupr - nsupc;                     // Number of rows in the non-diagonal part of the supernode
-      Index irow;                                     //Current index row
-      
-      if (nsupc == 1 )
-      {
-        for (Index j = 0; j < nrhs; j++)
-        {
-          InnerIterator it(*this, fsupc);
-          ++it; // Skip the diagonal element
-          for (; it; ++it)
-          {
-            irow = it.row();
-            X(irow, j) -= X(fsupc, j) * it.value();
-          }
-        }
-      }
-      else
-      {
-        // The supernode has more than one column 
-        Index luptr = colIndexPtr()[fsupc]; 
-        Index lda = colIndexPtr()[fsupc+1] - luptr;
-        
-        // Triangular solve 
-        Map<const Matrix<Scalar,Dynamic,Dynamic, ColMajor>, 0, OuterStride<> > A( &(Lval[luptr]), nsupc, nsupc, OuterStride<>(lda) );
-        Map< Matrix<Scalar,Dynamic,Dynamic, ColMajor>, 0, OuterStride<> > U (&(X(fsupc,0)), nsupc, nrhs, OuterStride<>(n) ); 
-        U = A.template triangularView<UnitLower>().solve(U); 
-        
-        // Matrix-vector product 
-        new (&A) Map<const Matrix<Scalar,Dynamic,Dynamic, ColMajor>, 0, OuterStride<> > ( &(Lval[luptr+nsupc]), nrow, nsupc, OuterStride<>(lda) );
-        work.block(0, 0, nrow, nrhs) = A * U; 
-        
-        //Begin Scatter 
-        for (Index j = 0; j < nrhs; j++)
-        {
-          Index iptr = istart + nsupc; 
-          for (Index i = 0; i < nrow; i++)
-          {
-            irow = rowIndex()[iptr]; 
-            X(irow, j) -= work(i, j); // Scatter operation
-            work(i, j) = Scalar(0); 
-            iptr++;
-          }
-        }
-      }
-    } 
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSELU_MATRIX_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_Utils.h b/lib/Eigen/src/SparseLU/SparseLU_Utils.h
deleted file mode 100644
index 15352ac3..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_Utils.h
+++ /dev/null
@@ -1,80 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-
-#ifndef EIGEN_SPARSELU_UTILS_H
-#define EIGEN_SPARSELU_UTILS_H
-
-namespace Eigen {
-namespace internal {
-
-/**
- * \brief Count Nonzero elements in the factors
- */
-template <typename Scalar, typename Index>
-void SparseLUImpl<Scalar,Index>::countnz(const Index n, Index& nnzL, Index& nnzU, GlobalLU_t& glu)
-{
- nnzL = 0; 
- nnzU = (glu.xusub)(n); 
- Index nsuper = (glu.supno)(n); 
- Index jlen; 
- Index i, j, fsupc;
- if (n <= 0 ) return; 
- // For each supernode
- for (i = 0; i <= nsuper; i++)
- {
-   fsupc = glu.xsup(i); 
-   jlen = glu.xlsub(fsupc+1) - glu.xlsub(fsupc); 
-   
-   for (j = fsupc; j < glu.xsup(i+1); j++)
-   {
-     nnzL += jlen; 
-     nnzU += j - fsupc + 1; 
-     jlen--; 
-   }
- }
-}
-
-/**
- * \brief Fix up the data storage lsub for L-subscripts. 
- * 
- * It removes the subscripts sets for structural pruning, 
- * and applies permutation to the remaining subscripts
- * 
- */
-template <typename Scalar, typename Index>
-void SparseLUImpl<Scalar,Index>::fixupL(const Index n, const IndexVector& perm_r, GlobalLU_t& glu)
-{
-  Index fsupc, i, j, k, jstart; 
-  
-  Index nextl = 0; 
-  Index nsuper = (glu.supno)(n); 
-  
-  // For each supernode 
-  for (i = 0; i <= nsuper; i++)
-  {
-    fsupc = glu.xsup(i); 
-    jstart = glu.xlsub(fsupc); 
-    glu.xlsub(fsupc) = nextl; 
-    for (j = jstart; j < glu.xlsub(fsupc + 1); j++)
-    {
-      glu.lsub(nextl) = perm_r(glu.lsub(j)); // Now indexed into P*A
-      nextl++;
-    }
-    for (k = fsupc+1; k < glu.xsup(i+1); k++)
-      glu.xlsub(k) = nextl; // other columns in supernode i
-  }
-  
-  glu.xlsub(n) = nextl; 
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-#endif // EIGEN_SPARSELU_UTILS_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_column_bmod.h b/lib/Eigen/src/SparseLU/SparseLU_column_bmod.h
deleted file mode 100644
index cacc7e98..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_column_bmod.h
+++ /dev/null
@@ -1,180 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* 
- 
- * NOTE: This file is the modified version of xcolumn_bmod.c file in SuperLU 
- 
- * -- SuperLU routine (version 3.0) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * October 15, 2003
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-#ifndef SPARSELU_COLUMN_BMOD_H
-#define SPARSELU_COLUMN_BMOD_H
-
-namespace Eigen {
-
-namespace internal {
-/**
- * \brief Performs numeric block updates (sup-col) in topological order
- * 
- * \param jcol current column to update
- * \param nseg Number of segments in the U part
- * \param dense Store the full representation of the column
- * \param tempv working array 
- * \param segrep segment representative ...
- * \param repfnz ??? First nonzero column in each row ???  ...
- * \param fpanelc First column in the current panel
- * \param glu Global LU data. 
- * \return 0 - successful return 
- *         > 0 - number of bytes allocated when run out of space
- * 
- */
-template <typename Scalar, typename Index>
-Index SparseLUImpl<Scalar,Index>::column_bmod(const Index jcol, const Index nseg, BlockScalarVector dense, ScalarVector& tempv, BlockIndexVector segrep, BlockIndexVector repfnz, Index fpanelc, GlobalLU_t& glu)
-{
-  Index  jsupno, k, ksub, krep, ksupno; 
-  Index lptr, nrow, isub, irow, nextlu, new_next, ufirst; 
-  Index fsupc, nsupc, nsupr, luptr, kfnz, no_zeros; 
-  /* krep = representative of current k-th supernode
-    * fsupc =  first supernodal column
-    * nsupc = number of columns in a supernode
-    * nsupr = number of rows in a supernode
-    * luptr = location of supernodal LU-block in storage
-    * kfnz = first nonz in the k-th supernodal segment
-    * no_zeros = no lf leading zeros in a supernodal U-segment
-    */
-  
-  jsupno = glu.supno(jcol);
-  // For each nonzero supernode segment of U[*,j] in topological order 
-  k = nseg - 1; 
-  Index d_fsupc; // distance between the first column of the current panel and the 
-               // first column of the current snode
-  Index fst_col; // First column within small LU update
-  Index segsize; 
-  for (ksub = 0; ksub < nseg; ksub++)
-  {
-    krep = segrep(k); k--; 
-    ksupno = glu.supno(krep); 
-    if (jsupno != ksupno )
-    {
-      // outside the rectangular supernode 
-      fsupc = glu.xsup(ksupno); 
-      fst_col = (std::max)(fsupc, fpanelc); 
-      
-      // Distance from the current supernode to the current panel; 
-      // d_fsupc = 0 if fsupc > fpanelc
-      d_fsupc = fst_col - fsupc; 
-      
-      luptr = glu.xlusup(fst_col) + d_fsupc; 
-      lptr = glu.xlsub(fsupc) + d_fsupc; 
-      
-      kfnz = repfnz(krep); 
-      kfnz = (std::max)(kfnz, fpanelc); 
-      
-      segsize = krep - kfnz + 1; 
-      nsupc = krep - fst_col + 1; 
-      nsupr = glu.xlsub(fsupc+1) - glu.xlsub(fsupc); 
-      nrow = nsupr - d_fsupc - nsupc;
-      Index lda = glu.xlusup(fst_col+1) - glu.xlusup(fst_col);
-      
-      
-      // Perform a triangular solver and block update, 
-      // then scatter the result of sup-col update to dense
-      no_zeros = kfnz - fst_col; 
-      if(segsize==1)
-        LU_kernel_bmod<1>::run(segsize, dense, tempv, glu.lusup, luptr, lda, nrow, glu.lsub, lptr, no_zeros);
-      else
-        LU_kernel_bmod<Dynamic>::run(segsize, dense, tempv, glu.lusup, luptr, lda, nrow, glu.lsub, lptr, no_zeros);
-    } // end if jsupno 
-  } // end for each segment
-  
-  // Process the supernodal portion of  L\U[*,j]
-  nextlu = glu.xlusup(jcol); 
-  fsupc = glu.xsup(jsupno);
-  
-  // copy the SPA dense into L\U[*,j]
-  Index mem; 
-  new_next = nextlu + glu.xlsub(fsupc + 1) - glu.xlsub(fsupc); 
-  Index offset = internal::first_multiple<Index>(new_next, internal::packet_traits<Scalar>::size) - new_next;
-  if(offset)
-    new_next += offset;
-  while (new_next > glu.nzlumax )
-  {
-    mem = memXpand<ScalarVector>(glu.lusup, glu.nzlumax, nextlu, LUSUP, glu.num_expansions);  
-    if (mem) return mem; 
-  }
-  
-  for (isub = glu.xlsub(fsupc); isub < glu.xlsub(fsupc+1); isub++)
-  {
-    irow = glu.lsub(isub);
-    glu.lusup(nextlu) = dense(irow);
-    dense(irow) = Scalar(0.0); 
-    ++nextlu; 
-  }
-  
-  if(offset)
-  {
-    glu.lusup.segment(nextlu,offset).setZero();
-    nextlu += offset;
-  }
-  glu.xlusup(jcol + 1) = nextlu;  // close L\U(*,jcol); 
-  
-  /* For more updates within the panel (also within the current supernode),
-   * should start from the first column of the panel, or the first column
-   * of the supernode, whichever is bigger. There are two cases:
-   *  1) fsupc < fpanelc, then fst_col <-- fpanelc
-   *  2) fsupc >= fpanelc, then fst_col <-- fsupc
-   */
-  fst_col = (std::max)(fsupc, fpanelc); 
-  
-  if (fst_col  < jcol)
-  {
-    // Distance between the current supernode and the current panel
-    // d_fsupc = 0 if fsupc >= fpanelc
-    d_fsupc = fst_col - fsupc; 
-    
-    lptr = glu.xlsub(fsupc) + d_fsupc; 
-    luptr = glu.xlusup(fst_col) + d_fsupc; 
-    nsupr = glu.xlsub(fsupc+1) - glu.xlsub(fsupc); // leading dimension
-    nsupc = jcol - fst_col; // excluding jcol 
-    nrow = nsupr - d_fsupc - nsupc; 
-    
-    // points to the beginning of jcol in snode L\U(jsupno) 
-    ufirst = glu.xlusup(jcol) + d_fsupc; 
-    Index lda = glu.xlusup(jcol+1) - glu.xlusup(jcol);
-    MappedMatrixBlock A( &(glu.lusup.data()[luptr]), nsupc, nsupc, OuterStride<>(lda) );
-    VectorBlock<ScalarVector> u(glu.lusup, ufirst, nsupc); 
-    u = A.template triangularView<UnitLower>().solve(u); 
-    
-    new (&A) MappedMatrixBlock ( &(glu.lusup.data()[luptr+nsupc]), nrow, nsupc, OuterStride<>(lda) );
-    VectorBlock<ScalarVector> l(glu.lusup, ufirst+nsupc, nrow); 
-    l.noalias() -= A * u;
-    
-  } // End if fst_col
-  return 0; 
-}
-
-} // end namespace internal
-} // end namespace Eigen
-
-#endif // SPARSELU_COLUMN_BMOD_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_column_dfs.h b/lib/Eigen/src/SparseLU/SparseLU_column_dfs.h
deleted file mode 100644
index 4c04b0e4..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_column_dfs.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* 
- 
- * NOTE: This file is the modified version of [s,d,c,z]column_dfs.c file in SuperLU 
- 
- * -- SuperLU routine (version 2.0) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * November 15, 1997
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-#ifndef SPARSELU_COLUMN_DFS_H
-#define SPARSELU_COLUMN_DFS_H
-
-template <typename Scalar, typename Index> class SparseLUImpl;
-namespace Eigen {
-
-namespace internal {
-
-template<typename IndexVector, typename ScalarVector>
-struct column_dfs_traits : no_assignment_operator
-{
-  typedef typename ScalarVector::Scalar Scalar;
-  typedef typename IndexVector::Scalar Index;
-  column_dfs_traits(Index jcol, Index& jsuper, typename SparseLUImpl<Scalar, Index>::GlobalLU_t& glu, SparseLUImpl<Scalar, Index>& luImpl)
-   : m_jcol(jcol), m_jsuper_ref(jsuper), m_glu(glu), m_luImpl(luImpl)
- {}
-  bool update_segrep(Index /*krep*/, Index /*jj*/)
-  {
-    return true;
-  }
-  void mem_expand(IndexVector& lsub, Index& nextl, Index chmark)
-  {
-    if (nextl >= m_glu.nzlmax)
-      m_luImpl.memXpand(lsub, m_glu.nzlmax, nextl, LSUB, m_glu.num_expansions); 
-    if (chmark != (m_jcol-1)) m_jsuper_ref = emptyIdxLU;
-  }
-  enum { ExpandMem = true };
-  
-  Index m_jcol;
-  Index& m_jsuper_ref;
-  typename SparseLUImpl<Scalar, Index>::GlobalLU_t& m_glu;
-  SparseLUImpl<Scalar, Index>& m_luImpl;
-};
-
-
-/**
- * \brief Performs a symbolic factorization on column jcol and decide the supernode boundary
- * 
- * A supernode representative is the last column of a supernode.
- * The nonzeros in U[*,j] are segments that end at supernodes representatives. 
- * The routine returns a list of the supernodal representatives 
- * in topological order of the dfs that generates them. 
- * The location of the first nonzero in each supernodal segment 
- * (supernodal entry location) is also returned. 
- * 
- * \param m number of rows in the matrix
- * \param jcol Current column 
- * \param perm_r Row permutation
- * \param maxsuper  Maximum number of column allowed in a supernode
- * \param [in,out] nseg Number of segments in current U[*,j] - new segments appended
- * \param lsub_col defines the rhs vector to start the dfs
- * \param [in,out] segrep Segment representatives - new segments appended 
- * \param repfnz  First nonzero location in each row
- * \param xprune 
- * \param marker  marker[i] == jj, if i was visited during dfs of current column jj;
- * \param parent
- * \param xplore working array
- * \param glu global LU data 
- * \return 0 success
- *         > 0 number of bytes allocated when run out of space
- * 
- */
-template <typename Scalar, typename Index>
-Index SparseLUImpl<Scalar,Index>::column_dfs(const Index m, const Index jcol, IndexVector& perm_r, Index maxsuper, Index& nseg,  BlockIndexVector lsub_col, IndexVector& segrep, BlockIndexVector repfnz, IndexVector& xprune, IndexVector& marker, IndexVector& parent, IndexVector& xplore, GlobalLU_t& glu)
-{
-  
-  Index jsuper = glu.supno(jcol); 
-  Index nextl = glu.xlsub(jcol); 
-  VectorBlock<IndexVector> marker2(marker, 2*m, m); 
-  
-  
-  column_dfs_traits<IndexVector, ScalarVector> traits(jcol, jsuper, glu, *this);
-  
-  // For each nonzero in A(*,jcol) do dfs 
-  for (Index k = 0; ((k < m) ? lsub_col[k] != emptyIdxLU : false) ; k++)
-  {
-    Index krow = lsub_col(k); 
-    lsub_col(k) = emptyIdxLU; 
-    Index kmark = marker2(krow); 
-    
-    // krow was visited before, go to the next nonz; 
-    if (kmark == jcol) continue;
-    
-    dfs_kernel(jcol, perm_r, nseg, glu.lsub, segrep, repfnz, xprune, marker2, parent,
-                   xplore, glu, nextl, krow, traits);
-  } // for each nonzero ... 
-  
-  Index fsupc, jptr, jm1ptr, ito, ifrom, istop;
-  Index nsuper = glu.supno(jcol);
-  Index jcolp1 = jcol + 1;
-  Index jcolm1 = jcol - 1;
-  
-  // check to see if j belongs in the same supernode as j-1
-  if ( jcol == 0 )
-  { // Do nothing for column 0 
-    nsuper = glu.supno(0) = 0 ;
-  }
-  else 
-  {
-    fsupc = glu.xsup(nsuper); 
-    jptr = glu.xlsub(jcol); // Not yet compressed
-    jm1ptr = glu.xlsub(jcolm1); 
-    
-    // Use supernodes of type T2 : see SuperLU paper
-    if ( (nextl-jptr != jptr-jm1ptr-1) ) jsuper = emptyIdxLU;
-    
-    // Make sure the number of columns in a supernode doesn't
-    // exceed threshold
-    if ( (jcol - fsupc) >= maxsuper) jsuper = emptyIdxLU; 
-    
-    /* If jcol starts a new supernode, reclaim storage space in
-     * glu.lsub from previous supernode. Note we only store 
-     * the subscript set of the first and last columns of 
-     * a supernode. (first for num values, last for pruning)
-     */
-    if (jsuper == emptyIdxLU)
-    { // starts a new supernode 
-      if ( (fsupc < jcolm1-1) ) 
-      { // >= 3 columns in nsuper
-        ito = glu.xlsub(fsupc+1);
-        glu.xlsub(jcolm1) = ito; 
-        istop = ito + jptr - jm1ptr; 
-        xprune(jcolm1) = istop; // intialize xprune(jcol-1)
-        glu.xlsub(jcol) = istop; 
-        
-        for (ifrom = jm1ptr; ifrom < nextl; ++ifrom, ++ito)
-          glu.lsub(ito) = glu.lsub(ifrom); 
-        nextl = ito;  // = istop + length(jcol)
-      }
-      nsuper++; 
-      glu.supno(jcol) = nsuper; 
-    } // if a new supernode 
-  } // end else:  jcol > 0
-  
-  // Tidy up the pointers before exit
-  glu.xsup(nsuper+1) = jcolp1; 
-  glu.supno(jcolp1) = nsuper; 
-  xprune(jcol) = nextl;  // Intialize upper bound for pruning
-  glu.xlsub(jcolp1) = nextl; 
-  
-  return 0; 
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif
diff --git a/lib/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h b/lib/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
deleted file mode 100644
index 170610d9..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
+++ /dev/null
@@ -1,106 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-/* 
- 
- * NOTE: This file is the modified version of [s,d,c,z]copy_to_ucol.c file in SuperLU 
- 
- * -- SuperLU routine (version 2.0) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * November 15, 1997
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-#ifndef SPARSELU_COPY_TO_UCOL_H
-#define SPARSELU_COPY_TO_UCOL_H
-
-namespace Eigen {
-namespace internal {
-
-/**
- * \brief Performs numeric block updates (sup-col) in topological order
- * 
- * \param jcol current column to update
- * \param nseg Number of segments in the U part
- * \param segrep segment representative ...
- * \param repfnz First nonzero column in each row  ...
- * \param perm_r Row permutation 
- * \param dense Store the full representation of the column
- * \param glu Global LU data. 
- * \return 0 - successful return 
- *         > 0 - number of bytes allocated when run out of space
- * 
- */
-template <typename Scalar, typename Index>
-Index SparseLUImpl<Scalar,Index>::copy_to_ucol(const Index jcol, const Index nseg, IndexVector& segrep, BlockIndexVector repfnz ,IndexVector& perm_r, BlockScalarVector dense, GlobalLU_t& glu)
-{  
-  Index ksub, krep, ksupno; 
-    
-  Index jsupno = glu.supno(jcol);
-  
-  // For each nonzero supernode segment of U[*,j] in topological order 
-  Index k = nseg - 1, i; 
-  Index nextu = glu.xusub(jcol); 
-  Index kfnz, isub, segsize; 
-  Index new_next,irow; 
-  Index fsupc, mem; 
-  for (ksub = 0; ksub < nseg; ksub++)
-  {
-    krep = segrep(k); k--; 
-    ksupno = glu.supno(krep); 
-    if (jsupno != ksupno ) // should go into ucol(); 
-    {
-      kfnz = repfnz(krep); 
-      if (kfnz != emptyIdxLU)
-      { // Nonzero U-segment 
-        fsupc = glu.xsup(ksupno); 
-        isub = glu.xlsub(fsupc) + kfnz - fsupc; 
-        segsize = krep - kfnz + 1; 
-        new_next = nextu + segsize; 
-        while (new_next > glu.nzumax) 
-        {
-          mem = memXpand<ScalarVector>(glu.ucol, glu.nzumax, nextu, UCOL, glu.num_expansions); 
-          if (mem) return mem; 
-          mem = memXpand<IndexVector>(glu.usub, glu.nzumax, nextu, USUB, glu.num_expansions); 
-          if (mem) return mem; 
-          
-        }
-        
-        for (i = 0; i < segsize; i++)
-        {
-          irow = glu.lsub(isub); 
-          glu.usub(nextu) = perm_r(irow); // Unlike the L part, the U part is stored in its final order
-          glu.ucol(nextu) = dense(irow); 
-          dense(irow) = Scalar(0.0); 
-          nextu++;
-          isub++;
-        }
-        
-      } // end nonzero U-segment 
-      
-    } // end if jsupno 
-    
-  } // end for each segment
-  glu.xusub(jcol + 1) = nextu; // close U(*,jcol)
-  return 0; 
-}
-
-} // namespace internal
-} // end namespace Eigen
-
-#endif // SPARSELU_COPY_TO_UCOL_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_gemm_kernel.h b/lib/Eigen/src/SparseLU/SparseLU_gemm_kernel.h
deleted file mode 100644
index 9e4e3e72..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_gemm_kernel.h
+++ /dev/null
@@ -1,279 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSELU_GEMM_KERNEL_H
-#define EIGEN_SPARSELU_GEMM_KERNEL_H
-
-namespace Eigen {
-
-namespace internal {
-
-
-/** \internal
-  * A general matrix-matrix product kernel optimized for the SparseLU factorization.
-  *  - A, B, and C must be column major
-  *  - lda and ldc must be multiples of the respective packet size
-  *  - C must have the same alignment as A
-  */
-template<typename Scalar,typename Index>
-EIGEN_DONT_INLINE
-void sparselu_gemm(Index m, Index n, Index d, const Scalar* A, Index lda, const Scalar* B, Index ldb, Scalar* C, Index ldc)
-{
-  using namespace Eigen::internal;
-  
-  typedef typename packet_traits<Scalar>::type Packet;
-  enum {
-    NumberOfRegisters = EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS,
-    PacketSize = packet_traits<Scalar>::size,
-    PM = 8,                             // peeling in M
-    RN = 2,                             // register blocking
-    RK = NumberOfRegisters>=16 ? 4 : 2, // register blocking
-    BM = 4096/sizeof(Scalar),           // number of rows of A-C per chunk
-    SM = PM*PacketSize                  // step along M
-  };
-  Index d_end = (d/RK)*RK;    // number of columns of A (rows of B) suitable for full register blocking
-  Index n_end = (n/RN)*RN;    // number of columns of B-C suitable for processing RN columns at once
-  Index i0 = internal::first_aligned(A,m);
-  
-  eigen_internal_assert(((lda%PacketSize)==0) && ((ldc%PacketSize)==0) && (i0==internal::first_aligned(C,m)));
-  
-  // handle the non aligned rows of A and C without any optimization:
-  for(Index i=0; i<i0; ++i)
-  {
-    for(Index j=0; j<n; ++j)
-    {
-      Scalar c = C[i+j*ldc];
-      for(Index k=0; k<d; ++k)
-        c += B[k+j*ldb] * A[i+k*lda];
-      C[i+j*ldc] = c;
-    }
-  }
-  // process the remaining rows per chunk of BM rows
-  for(Index ib=i0; ib<m; ib+=BM)
-  {
-    Index actual_b = std::min<Index>(BM, m-ib);                 // actual number of rows
-    Index actual_b_end1 = (actual_b/SM)*SM;                   // actual number of rows suitable for peeling
-    Index actual_b_end2 = (actual_b/PacketSize)*PacketSize;   // actual number of rows suitable for vectorization
-    
-    // Let's process two columns of B-C at once
-    for(Index j=0; j<n_end; j+=RN)
-    {
-      const Scalar* Bc0 = B+(j+0)*ldb;
-      const Scalar* Bc1 = B+(j+1)*ldb;
-      
-      for(Index k=0; k<d_end; k+=RK)
-      {
-        
-        // load and expand a RN x RK block of B
-        Packet b00, b10, b20, b30, b01, b11, b21, b31;
-                  b00 = pset1<Packet>(Bc0[0]);
-                  b10 = pset1<Packet>(Bc0[1]);
-        if(RK==4) b20 = pset1<Packet>(Bc0[2]);
-        if(RK==4) b30 = pset1<Packet>(Bc0[3]);
-                  b01 = pset1<Packet>(Bc1[0]);
-                  b11 = pset1<Packet>(Bc1[1]);
-        if(RK==4) b21 = pset1<Packet>(Bc1[2]);
-        if(RK==4) b31 = pset1<Packet>(Bc1[3]);
-        
-        Packet a0, a1, a2, a3, c0, c1, t0, t1;
-        
-        const Scalar* A0 = A+ib+(k+0)*lda;
-        const Scalar* A1 = A+ib+(k+1)*lda;
-        const Scalar* A2 = A+ib+(k+2)*lda;
-        const Scalar* A3 = A+ib+(k+3)*lda;
-        
-        Scalar* C0 = C+ib+(j+0)*ldc;
-        Scalar* C1 = C+ib+(j+1)*ldc;
-        
-                  a0 = pload<Packet>(A0);
-                  a1 = pload<Packet>(A1);
-        if(RK==4)
-        {
-          a2 = pload<Packet>(A2);
-          a3 = pload<Packet>(A3);
-        }
-        else
-        {
-          // workaround "may be used uninitialized in this function" warning
-          a2 = a3 = a0;
-        }
-        
-#define KMADD(c, a, b, tmp) {tmp = b; tmp = pmul(a,tmp); c = padd(c,tmp);}
-#define WORK(I)  \
-                    c0 = pload<Packet>(C0+i+(I)*PacketSize);   \
-                    c1 = pload<Packet>(C1+i+(I)*PacketSize);   \
-                    KMADD(c0, a0, b00, t0)      \
-                    KMADD(c1, a0, b01, t1)      \
-                    a0 = pload<Packet>(A0+i+(I+1)*PacketSize); \
-                    KMADD(c0, a1, b10, t0)      \
-                    KMADD(c1, a1, b11, t1)       \
-                    a1 = pload<Packet>(A1+i+(I+1)*PacketSize); \
-          if(RK==4) KMADD(c0, a2, b20, t0)       \
-          if(RK==4) KMADD(c1, a2, b21, t1)       \
-          if(RK==4) a2 = pload<Packet>(A2+i+(I+1)*PacketSize); \
-          if(RK==4) KMADD(c0, a3, b30, t0)       \
-          if(RK==4) KMADD(c1, a3, b31, t1)       \
-          if(RK==4) a3 = pload<Packet>(A3+i+(I+1)*PacketSize); \
-                    pstore(C0+i+(I)*PacketSize, c0);           \
-                    pstore(C1+i+(I)*PacketSize, c1)
-        
-        // process rows of A' - C' with aggressive vectorization and peeling 
-        for(Index i=0; i<actual_b_end1; i+=PacketSize*8)
-        {
-          EIGEN_ASM_COMMENT("SPARSELU_GEMML_KERNEL1");
-                    prefetch((A0+i+(5)*PacketSize));
-                    prefetch((A1+i+(5)*PacketSize));
-          if(RK==4) prefetch((A2+i+(5)*PacketSize));
-          if(RK==4) prefetch((A3+i+(5)*PacketSize));
-                    WORK(0);
-                    WORK(1);
-                    WORK(2);
-                    WORK(3);
-                    WORK(4);
-                    WORK(5);
-                    WORK(6);
-                    WORK(7);
-        }
-        // process the remaining rows with vectorization only
-        for(Index i=actual_b_end1; i<actual_b_end2; i+=PacketSize)
-        {
-          WORK(0);
-        }
-#undef WORK
-        // process the remaining rows without vectorization
-        for(Index i=actual_b_end2; i<actual_b; ++i)
-        {
-          if(RK==4)
-          {
-            C0[i] += A0[i]*Bc0[0]+A1[i]*Bc0[1]+A2[i]*Bc0[2]+A3[i]*Bc0[3];
-            C1[i] += A0[i]*Bc1[0]+A1[i]*Bc1[1]+A2[i]*Bc1[2]+A3[i]*Bc1[3];
-          }
-          else
-          {
-            C0[i] += A0[i]*Bc0[0]+A1[i]*Bc0[1];
-            C1[i] += A0[i]*Bc1[0]+A1[i]*Bc1[1];
-          }
-        }
-        
-        Bc0 += RK;
-        Bc1 += RK;
-      } // peeled loop on k
-    } // peeled loop on the columns j
-    // process the last column (we now perform a matrux-vector product)
-    if((n-n_end)>0)
-    {
-      const Scalar* Bc0 = B+(n-1)*ldb;
-      
-      for(Index k=0; k<d_end; k+=RK)
-      {
-        
-        // load and expand a 1 x RK block of B
-        Packet b00, b10, b20, b30;
-                  b00 = pset1<Packet>(Bc0[0]);
-                  b10 = pset1<Packet>(Bc0[1]);
-        if(RK==4) b20 = pset1<Packet>(Bc0[2]);
-        if(RK==4) b30 = pset1<Packet>(Bc0[3]);
-        
-        Packet a0, a1, a2, a3, c0, t0/*, t1*/;
-        
-        const Scalar* A0 = A+ib+(k+0)*lda;
-        const Scalar* A1 = A+ib+(k+1)*lda;
-        const Scalar* A2 = A+ib+(k+2)*lda;
-        const Scalar* A3 = A+ib+(k+3)*lda;
-        
-        Scalar* C0 = C+ib+(n_end)*ldc;
-        
-                  a0 = pload<Packet>(A0);
-                  a1 = pload<Packet>(A1);
-        if(RK==4)
-        {
-          a2 = pload<Packet>(A2);
-          a3 = pload<Packet>(A3);
-        }
-        else
-        {
-          // workaround "may be used uninitialized in this function" warning
-          a2 = a3 = a0;
-        }
-        
-#define WORK(I) \
-                  c0 = pload<Packet>(C0+i+(I)*PacketSize);   \
-                  KMADD(c0, a0, b00, t0)       \
-                  a0 = pload<Packet>(A0+i+(I+1)*PacketSize); \
-                  KMADD(c0, a1, b10, t0)       \
-                  a1 = pload<Packet>(A1+i+(I+1)*PacketSize); \
-        if(RK==4) KMADD(c0, a2, b20, t0)       \
-        if(RK==4) a2 = pload<Packet>(A2+i+(I+1)*PacketSize); \
-        if(RK==4) KMADD(c0, a3, b30, t0)       \
-        if(RK==4) a3 = pload<Packet>(A3+i+(I+1)*PacketSize); \
-                  pstore(C0+i+(I)*PacketSize, c0);
-        
-        // agressive vectorization and peeling
-        for(Index i=0; i<actual_b_end1; i+=PacketSize*8)
-        {
-          EIGEN_ASM_COMMENT("SPARSELU_GEMML_KERNEL2");
-          WORK(0);
-          WORK(1);
-          WORK(2);
-          WORK(3);
-          WORK(4);
-          WORK(5);
-          WORK(6);
-          WORK(7);
-        }
-        // vectorization only
-        for(Index i=actual_b_end1; i<actual_b_end2; i+=PacketSize)
-        {
-          WORK(0);
-        }
-        // remaining scalars
-        for(Index i=actual_b_end2; i<actual_b; ++i)
-        {
-          if(RK==4) 
-            C0[i] += A0[i]*Bc0[0]+A1[i]*Bc0[1]+A2[i]*Bc0[2]+A3[i]*Bc0[3];
-          else
-            C0[i] += A0[i]*Bc0[0]+A1[i]*Bc0[1];
-        }
-        
-        Bc0 += RK;
-#undef WORK
-      }
-    }
-    
-    // process the last columns of A, corresponding to the last rows of B
-    Index rd = d-d_end;
-    if(rd>0)
-    {
-      for(Index j=0; j<n; ++j)
-      {
-        enum {
-          Alignment = PacketSize>1 ? Aligned : 0
-        };
-        typedef Map<Matrix<Scalar,Dynamic,1>, Alignment > MapVector;
-        typedef Map<const Matrix<Scalar,Dynamic,1>, Alignment > ConstMapVector;
-        if(rd==1)       MapVector(C+j*ldc+ib,actual_b) += B[0+d_end+j*ldb] * ConstMapVector(A+(d_end+0)*lda+ib, actual_b);
-        
-        else if(rd==2)  MapVector(C+j*ldc+ib,actual_b) += B[0+d_end+j*ldb] * ConstMapVector(A+(d_end+0)*lda+ib, actual_b)
-                                                        + B[1+d_end+j*ldb] * ConstMapVector(A+(d_end+1)*lda+ib, actual_b);
-        
-        else            MapVector(C+j*ldc+ib,actual_b) += B[0+d_end+j*ldb] * ConstMapVector(A+(d_end+0)*lda+ib, actual_b)
-                                                        + B[1+d_end+j*ldb] * ConstMapVector(A+(d_end+1)*lda+ib, actual_b)
-                                                        + B[2+d_end+j*ldb] * ConstMapVector(A+(d_end+2)*lda+ib, actual_b);
-      }
-    }
-  
-  } // blocking on the rows of A and C
-}
-#undef KMADD
-
-} // namespace internal
-
-} // namespace Eigen
-
-#endif // EIGEN_SPARSELU_GEMM_KERNEL_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h b/lib/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
deleted file mode 100644
index 7a4e4305..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* This file is a modified version of heap_relax_snode.c file in SuperLU
- * -- SuperLU routine (version 3.0) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * October 15, 2003
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-
-#ifndef SPARSELU_HEAP_RELAX_SNODE_H
-#define SPARSELU_HEAP_RELAX_SNODE_H
-
-namespace Eigen {
-namespace internal {
-
-/** 
- * \brief Identify the initial relaxed supernodes
- * 
- * This routine applied to a symmetric elimination tree. 
- * It assumes that the matrix has been reordered according to the postorder of the etree
- * \param n The number of columns
- * \param et elimination tree 
- * \param relax_columns Maximum number of columns allowed in a relaxed snode 
- * \param descendants Number of descendants of each node in the etree
- * \param relax_end last column in a supernode
- */
-template <typename Scalar, typename Index>
-void SparseLUImpl<Scalar,Index>::heap_relax_snode (const Index n, IndexVector& et, const Index relax_columns, IndexVector& descendants, IndexVector& relax_end)
-{
-  
-  // The etree may not be postordered, but its heap ordered  
-  IndexVector post;
-  internal::treePostorder(n, et, post); // Post order etree
-  IndexVector inv_post(n+1); 
-  Index i;
-  for (i = 0; i < n+1; ++i) inv_post(post(i)) = i; // inv_post = post.inverse()???
-  
-  // Renumber etree in postorder 
-  IndexVector iwork(n);
-  IndexVector et_save(n+1);
-  for (i = 0; i < n; ++i)
-  {
-    iwork(post(i)) = post(et(i));
-  }
-  et_save = et; // Save the original etree
-  et = iwork; 
-  
-  // compute the number of descendants of each node in the etree
-  relax_end.setConstant(emptyIdxLU);
-  Index j, parent; 
-  descendants.setZero();
-  for (j = 0; j < n; j++) 
-  {
-    parent = et(j);
-    if (parent != n) // not the dummy root
-      descendants(parent) += descendants(j) + 1;
-  }
-  // Identify the relaxed supernodes by postorder traversal of the etree
-  Index snode_start; // beginning of a snode 
-  Index k;
-  Index nsuper_et_post = 0; // Number of relaxed snodes in postordered etree 
-  Index nsuper_et = 0; // Number of relaxed snodes in the original etree 
-  Index l; 
-  for (j = 0; j < n; )
-  {
-    parent = et(j);
-    snode_start = j; 
-    while ( parent != n && descendants(parent) < relax_columns ) 
-    {
-      j = parent; 
-      parent = et(j);
-    }
-    // Found a supernode in postordered etree, j is the last column 
-    ++nsuper_et_post;
-    k = n;
-    for (i = snode_start; i <= j; ++i)
-      k = (std::min)(k, inv_post(i));
-    l = inv_post(j);
-    if ( (l - k) == (j - snode_start) )  // Same number of columns in the snode
-    {
-      // This is also a supernode in the original etree
-      relax_end(k) = l; // Record last column 
-      ++nsuper_et; 
-    }
-    else 
-    {
-      for (i = snode_start; i <= j; ++i) 
-      {
-        l = inv_post(i);
-        if (descendants(i) == 0) 
-        {
-          relax_end(l) = l;
-          ++nsuper_et;
-        }
-      }
-    }
-    j++;
-    // Search for a new leaf
-    while (descendants(j) != 0 && j < n) j++;
-  } // End postorder traversal of the etree
-  
-  // Recover the original etree
-  et = et_save; 
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-#endif // SPARSELU_HEAP_RELAX_SNODE_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_kernel_bmod.h b/lib/Eigen/src/SparseLU/SparseLU_kernel_bmod.h
deleted file mode 100644
index 6af02675..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_kernel_bmod.h
+++ /dev/null
@@ -1,130 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef SPARSELU_KERNEL_BMOD_H
-#define SPARSELU_KERNEL_BMOD_H
-
-namespace Eigen {
-namespace internal {
-  
-/**
- * \brief Performs numeric block updates from a given supernode to a single column
- * 
- * \param segsize Size of the segment (and blocks ) to use for updates
- * \param[in,out] dense Packed values of the original matrix
- * \param tempv temporary vector to use for updates
- * \param lusup array containing the supernodes
- * \param lda Leading dimension in the supernode
- * \param nrow Number of rows in the rectangular part of the supernode
- * \param lsub compressed row subscripts of supernodes
- * \param lptr pointer to the first column of the current supernode in lsub
- * \param no_zeros Number of nonzeros elements before the diagonal part of the supernode
- * \return 0 on success
- */
-template <int SegSizeAtCompileTime> struct LU_kernel_bmod
-{
-  template <typename BlockScalarVector, typename ScalarVector, typename IndexVector, typename Index>
-  static EIGEN_DONT_INLINE void run(const int segsize, BlockScalarVector& dense, ScalarVector& tempv, ScalarVector& lusup, Index& luptr, const Index lda,
-                                    const Index nrow, IndexVector& lsub, const Index lptr, const Index no_zeros);
-};
-
-template <int SegSizeAtCompileTime>
-template <typename BlockScalarVector, typename ScalarVector, typename IndexVector, typename Index>
-EIGEN_DONT_INLINE void LU_kernel_bmod<SegSizeAtCompileTime>::run(const int segsize, BlockScalarVector& dense, ScalarVector& tempv, ScalarVector& lusup, Index& luptr, const Index lda,
-                                                                  const Index nrow, IndexVector& lsub, const Index lptr, const Index no_zeros)
-{
-  typedef typename ScalarVector::Scalar Scalar;
-  // First, copy U[*,j] segment from dense(*) to tempv(*)
-  // The result of triangular solve is in tempv[*]; 
-    // The result of matric-vector update is in dense[*]
-  Index isub = lptr + no_zeros; 
-  int i;
-  Index irow;
-  for (i = 0; i < ((SegSizeAtCompileTime==Dynamic)?segsize:SegSizeAtCompileTime); i++)
-  {
-    irow = lsub(isub); 
-    tempv(i) = dense(irow); 
-    ++isub; 
-  }
-  // Dense triangular solve -- start effective triangle
-  luptr += lda * no_zeros + no_zeros; 
-  // Form Eigen matrix and vector 
-  Map<Matrix<Scalar,SegSizeAtCompileTime,SegSizeAtCompileTime, ColMajor>, 0, OuterStride<> > A( &(lusup.data()[luptr]), segsize, segsize, OuterStride<>(lda) );
-  Map<Matrix<Scalar,SegSizeAtCompileTime,1> > u(tempv.data(), segsize);
-  
-  u = A.template triangularView<UnitLower>().solve(u); 
-  
-  // Dense matrix-vector product y <-- B*x 
-  luptr += segsize;
-  const Index PacketSize = internal::packet_traits<Scalar>::size;
-  Index ldl = internal::first_multiple(nrow, PacketSize);
-  Map<Matrix<Scalar,Dynamic,SegSizeAtCompileTime, ColMajor>, 0, OuterStride<> > B( &(lusup.data()[luptr]), nrow, segsize, OuterStride<>(lda) );
-  Index aligned_offset = internal::first_aligned(tempv.data()+segsize, PacketSize);
-  Index aligned_with_B_offset = (PacketSize-internal::first_aligned(B.data(), PacketSize))%PacketSize;
-  Map<Matrix<Scalar,Dynamic,1>, 0, OuterStride<> > l(tempv.data()+segsize+aligned_offset+aligned_with_B_offset, nrow, OuterStride<>(ldl) );
-  
-  l.setZero();
-  internal::sparselu_gemm<Scalar>(l.rows(), l.cols(), B.cols(), B.data(), B.outerStride(), u.data(), u.outerStride(), l.data(), l.outerStride());
-  
-  // Scatter tempv[] into SPA dense[] as a temporary storage 
-  isub = lptr + no_zeros;
-  for (i = 0; i < ((SegSizeAtCompileTime==Dynamic)?segsize:SegSizeAtCompileTime); i++)
-  {
-    irow = lsub(isub++); 
-    dense(irow) = tempv(i);
-  }
-  
-  // Scatter l into SPA dense[]
-  for (i = 0; i < nrow; i++)
-  {
-    irow = lsub(isub++); 
-    dense(irow) -= l(i);
-  } 
-}
-
-template <> struct LU_kernel_bmod<1>
-{
-  template <typename BlockScalarVector, typename ScalarVector, typename IndexVector, typename Index>
-  static EIGEN_DONT_INLINE void run(const int /*segsize*/, BlockScalarVector& dense, ScalarVector& /*tempv*/, ScalarVector& lusup, Index& luptr,
-                                    const Index lda, const Index nrow, IndexVector& lsub, const Index lptr, const Index no_zeros);
-};
-
-
-template <typename BlockScalarVector, typename ScalarVector, typename IndexVector, typename Index>
-EIGEN_DONT_INLINE void LU_kernel_bmod<1>::run(const int /*segsize*/, BlockScalarVector& dense, ScalarVector& /*tempv*/, ScalarVector& lusup, Index& luptr,
-                                              const Index lda, const Index nrow, IndexVector& lsub, const Index lptr, const Index no_zeros)
-{
-  typedef typename ScalarVector::Scalar Scalar;
-  Scalar f = dense(lsub(lptr + no_zeros));
-  luptr += lda * no_zeros + no_zeros + 1;
-  const Scalar* a(lusup.data() + luptr);
-  const /*typename IndexVector::Scalar*/Index*  irow(lsub.data()+lptr + no_zeros + 1);
-  Index i = 0;
-  for (; i+1 < nrow; i+=2)
-  {
-    Index i0 = *(irow++);
-    Index i1 = *(irow++);
-    Scalar a0 = *(a++);
-    Scalar a1 = *(a++);
-    Scalar d0 = dense.coeff(i0);
-    Scalar d1 = dense.coeff(i1);
-    d0 -= f*a0;
-    d1 -= f*a1;
-    dense.coeffRef(i0) = d0;
-    dense.coeffRef(i1) = d1;
-  }
-  if(i<nrow)
-    dense.coeffRef(*(irow++)) -= f * *(a++);
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-#endif // SPARSELU_KERNEL_BMOD_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_panel_bmod.h b/lib/Eigen/src/SparseLU/SparseLU_panel_bmod.h
deleted file mode 100644
index 9d2ff290..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_panel_bmod.h
+++ /dev/null
@@ -1,223 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* 
- 
- * NOTE: This file is the modified version of [s,d,c,z]panel_bmod.c file in SuperLU 
- 
- * -- SuperLU routine (version 3.0) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * October 15, 2003
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-#ifndef SPARSELU_PANEL_BMOD_H
-#define SPARSELU_PANEL_BMOD_H
-
-namespace Eigen {
-namespace internal {
-
-/**
- * \brief Performs numeric block updates (sup-panel) in topological order.
- * 
- * Before entering this routine, the original nonzeros in the panel
- * were already copied i nto the spa[m,w]
- * 
- * \param m number of rows in the matrix
- * \param w Panel size
- * \param jcol Starting  column of the panel
- * \param nseg Number of segments in the U part
- * \param dense Store the full representation of the panel 
- * \param tempv working array 
- * \param segrep segment representative... first row in the segment
- * \param repfnz First nonzero rows
- * \param glu Global LU data. 
- * 
- * 
- */
-template <typename Scalar, typename Index>
-void SparseLUImpl<Scalar,Index>::panel_bmod(const Index m, const Index w, const Index jcol, 
-                                            const Index nseg, ScalarVector& dense, ScalarVector& tempv,
-                                            IndexVector& segrep, IndexVector& repfnz, GlobalLU_t& glu)
-{
-  
-  Index ksub,jj,nextl_col; 
-  Index fsupc, nsupc, nsupr, nrow; 
-  Index krep, kfnz; 
-  Index lptr; // points to the row subscripts of a supernode 
-  Index luptr; // ...
-  Index segsize,no_zeros ; 
-  // For each nonz supernode segment of U[*,j] in topological order
-  Index k = nseg - 1; 
-  const Index PacketSize = internal::packet_traits<Scalar>::size;
-  
-  for (ksub = 0; ksub < nseg; ksub++)
-  { // For each updating supernode
-    /* krep = representative of current k-th supernode
-     * fsupc =  first supernodal column
-     * nsupc = number of columns in a supernode
-     * nsupr = number of rows in a supernode
-     */
-    krep = segrep(k); k--; 
-    fsupc = glu.xsup(glu.supno(krep)); 
-    nsupc = krep - fsupc + 1; 
-    nsupr = glu.xlsub(fsupc+1) - glu.xlsub(fsupc); 
-    nrow = nsupr - nsupc; 
-    lptr = glu.xlsub(fsupc); 
-    
-    // loop over the panel columns to detect the actual number of columns and rows
-    Index u_rows = 0;
-    Index u_cols = 0;
-    for (jj = jcol; jj < jcol + w; jj++)
-    {
-      nextl_col = (jj-jcol) * m; 
-      VectorBlock<IndexVector> repfnz_col(repfnz, nextl_col, m); // First nonzero column index for each row
-      
-      kfnz = repfnz_col(krep); 
-      if ( kfnz == emptyIdxLU ) 
-        continue; // skip any zero segment
-      
-      segsize = krep - kfnz + 1;
-      u_cols++;
-      u_rows = (std::max)(segsize,u_rows);
-    }
-    
-    if(nsupc >= 2)
-    { 
-      Index ldu = internal::first_multiple<Index>(u_rows, PacketSize);
-      Map<ScalarMatrix, Aligned,  OuterStride<> > U(tempv.data(), u_rows, u_cols, OuterStride<>(ldu));
-      
-      // gather U
-      Index u_col = 0;
-      for (jj = jcol; jj < jcol + w; jj++)
-      {
-        nextl_col = (jj-jcol) * m; 
-        VectorBlock<IndexVector> repfnz_col(repfnz, nextl_col, m); // First nonzero column index for each row
-        VectorBlock<ScalarVector> dense_col(dense, nextl_col, m); // Scatter/gather entire matrix column from/to here
-        
-        kfnz = repfnz_col(krep); 
-        if ( kfnz == emptyIdxLU ) 
-          continue; // skip any zero segment
-        
-        segsize = krep - kfnz + 1;
-        luptr = glu.xlusup(fsupc);    
-        no_zeros = kfnz - fsupc; 
-        
-        Index isub = lptr + no_zeros;
-        Index off = u_rows-segsize;
-        for (Index i = 0; i < off; i++) U(i,u_col) = 0;
-        for (Index i = 0; i < segsize; i++)
-        {
-          Index irow = glu.lsub(isub); 
-          U(i+off,u_col) = dense_col(irow); 
-          ++isub; 
-        }
-        u_col++;
-      }
-      // solve U = A^-1 U
-      luptr = glu.xlusup(fsupc);
-      Index lda = glu.xlusup(fsupc+1) - glu.xlusup(fsupc);
-      no_zeros = (krep - u_rows + 1) - fsupc;
-      luptr += lda * no_zeros + no_zeros;
-      MappedMatrixBlock A(glu.lusup.data()+luptr, u_rows, u_rows, OuterStride<>(lda) );
-      U = A.template triangularView<UnitLower>().solve(U);
-      
-      // update
-      luptr += u_rows;
-      MappedMatrixBlock B(glu.lusup.data()+luptr, nrow, u_rows, OuterStride<>(lda) );
-      eigen_assert(tempv.size()>w*ldu + nrow*w + 1);
-      
-      Index ldl = internal::first_multiple<Index>(nrow, PacketSize);
-      Index offset = (PacketSize-internal::first_aligned(B.data(), PacketSize)) % PacketSize;
-      MappedMatrixBlock L(tempv.data()+w*ldu+offset, nrow, u_cols, OuterStride<>(ldl));
-      
-      L.setZero();
-      internal::sparselu_gemm<Scalar>(L.rows(), L.cols(), B.cols(), B.data(), B.outerStride(), U.data(), U.outerStride(), L.data(), L.outerStride());
-      
-      // scatter U and L
-      u_col = 0;
-      for (jj = jcol; jj < jcol + w; jj++)
-      {
-        nextl_col = (jj-jcol) * m; 
-        VectorBlock<IndexVector> repfnz_col(repfnz, nextl_col, m); // First nonzero column index for each row
-        VectorBlock<ScalarVector> dense_col(dense, nextl_col, m); // Scatter/gather entire matrix column from/to here
-        
-        kfnz = repfnz_col(krep); 
-        if ( kfnz == emptyIdxLU ) 
-          continue; // skip any zero segment
-        
-        segsize = krep - kfnz + 1;
-        no_zeros = kfnz - fsupc; 
-        Index isub = lptr + no_zeros;
-        
-        Index off = u_rows-segsize;
-        for (Index i = 0; i < segsize; i++)
-        {
-          Index irow = glu.lsub(isub++); 
-          dense_col(irow) = U.coeff(i+off,u_col);
-          U.coeffRef(i+off,u_col) = 0;
-        }
-        
-        // Scatter l into SPA dense[]
-        for (Index i = 0; i < nrow; i++)
-        {
-          Index irow = glu.lsub(isub++); 
-          dense_col(irow) -= L.coeff(i,u_col);
-          L.coeffRef(i,u_col) = 0;
-        }
-        u_col++;
-      }
-    }
-    else // level 2 only
-    {
-      // Sequence through each column in the panel
-      for (jj = jcol; jj < jcol + w; jj++)
-      {
-        nextl_col = (jj-jcol) * m; 
-        VectorBlock<IndexVector> repfnz_col(repfnz, nextl_col, m); // First nonzero column index for each row
-        VectorBlock<ScalarVector> dense_col(dense, nextl_col, m); // Scatter/gather entire matrix column from/to here
-        
-        kfnz = repfnz_col(krep); 
-        if ( kfnz == emptyIdxLU ) 
-          continue; // skip any zero segment
-        
-        segsize = krep - kfnz + 1;
-        luptr = glu.xlusup(fsupc);
-        
-        Index lda = glu.xlusup(fsupc+1)-glu.xlusup(fsupc);// nsupr
-        
-        // Perform a trianglar solve and block update, 
-        // then scatter the result of sup-col update to dense[]
-        no_zeros = kfnz - fsupc; 
-              if(segsize==1)  LU_kernel_bmod<1>::run(segsize, dense_col, tempv, glu.lusup, luptr, lda, nrow, glu.lsub, lptr, no_zeros);
-        else  if(segsize==2)  LU_kernel_bmod<2>::run(segsize, dense_col, tempv, glu.lusup, luptr, lda, nrow, glu.lsub, lptr, no_zeros);
-        else  if(segsize==3)  LU_kernel_bmod<3>::run(segsize, dense_col, tempv, glu.lusup, luptr, lda, nrow, glu.lsub, lptr, no_zeros);
-        else                  LU_kernel_bmod<Dynamic>::run(segsize, dense_col, tempv, glu.lusup, luptr, lda, nrow, glu.lsub, lptr, no_zeros); 
-      } // End for each column in the panel 
-    }
-    
-  } // End for each updating supernode
-} // end panel bmod
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // SPARSELU_PANEL_BMOD_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_panel_dfs.h b/lib/Eigen/src/SparseLU/SparseLU_panel_dfs.h
deleted file mode 100644
index dc0054ef..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_panel_dfs.h
+++ /dev/null
@@ -1,258 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* 
- 
- * NOTE: This file is the modified version of [s,d,c,z]panel_dfs.c file in SuperLU 
- 
- * -- SuperLU routine (version 2.0) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * November 15, 1997
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-#ifndef SPARSELU_PANEL_DFS_H
-#define SPARSELU_PANEL_DFS_H
-
-namespace Eigen {
-
-namespace internal {
-  
-template<typename IndexVector>
-struct panel_dfs_traits
-{
-  typedef typename IndexVector::Scalar Index;
-  panel_dfs_traits(Index jcol, Index* marker)
-    : m_jcol(jcol), m_marker(marker)
-  {}
-  bool update_segrep(Index krep, Index jj)
-  {
-    if(m_marker[krep]<m_jcol)
-    {
-      m_marker[krep] = jj; 
-      return true;
-    }
-    return false;
-  }
-  void mem_expand(IndexVector& /*glu.lsub*/, Index /*nextl*/, Index /*chmark*/) {}
-  enum { ExpandMem = false };
-  Index m_jcol;
-  Index* m_marker;
-};
-
-
-template <typename Scalar, typename Index>
-template <typename Traits>
-void SparseLUImpl<Scalar,Index>::dfs_kernel(const Index jj, IndexVector& perm_r,
-                   Index& nseg, IndexVector& panel_lsub, IndexVector& segrep,
-                   Ref<IndexVector> repfnz_col, IndexVector& xprune, Ref<IndexVector> marker, IndexVector& parent,
-                   IndexVector& xplore, GlobalLU_t& glu,
-                   Index& nextl_col, Index krow, Traits& traits
-                  )
-{
-  
-  Index kmark = marker(krow);
-      
-  // For each unmarked krow of jj
-  marker(krow) = jj; 
-  Index kperm = perm_r(krow); 
-  if (kperm == emptyIdxLU ) {
-    // krow is in L : place it in structure of L(*, jj)
-    panel_lsub(nextl_col++) = krow;  // krow is indexed into A
-    
-    traits.mem_expand(panel_lsub, nextl_col, kmark);
-  }
-  else 
-  {
-    // krow is in U : if its supernode-representative krep
-    // has been explored, update repfnz(*)
-    // krep = supernode representative of the current row
-    Index krep = glu.xsup(glu.supno(kperm)+1) - 1; 
-    // First nonzero element in the current column:
-    Index myfnz = repfnz_col(krep); 
-    
-    if (myfnz != emptyIdxLU )
-    {
-      // Representative visited before
-      if (myfnz > kperm ) repfnz_col(krep) = kperm; 
-      
-    }
-    else 
-    {
-      // Otherwise, perform dfs starting at krep
-      Index oldrep = emptyIdxLU; 
-      parent(krep) = oldrep; 
-      repfnz_col(krep) = kperm; 
-      Index xdfs =  glu.xlsub(krep); 
-      Index maxdfs = xprune(krep); 
-      
-      Index kpar;
-      do 
-      {
-        // For each unmarked kchild of krep
-        while (xdfs < maxdfs) 
-        {
-          Index kchild = glu.lsub(xdfs); 
-          xdfs++; 
-          Index chmark = marker(kchild); 
-          
-          if (chmark != jj ) 
-          {
-            marker(kchild) = jj; 
-            Index chperm = perm_r(kchild); 
-            
-            if (chperm == emptyIdxLU) 
-            {
-              // case kchild is in L: place it in L(*, j)
-              panel_lsub(nextl_col++) = kchild;
-              traits.mem_expand(panel_lsub, nextl_col, chmark);
-            }
-            else
-            {
-              // case kchild is in U :
-              // chrep = its supernode-rep. If its rep has been explored, 
-              // update its repfnz(*)
-              Index chrep = glu.xsup(glu.supno(chperm)+1) - 1; 
-              myfnz = repfnz_col(chrep); 
-              
-              if (myfnz != emptyIdxLU) 
-              { // Visited before 
-                if (myfnz > chperm) 
-                  repfnz_col(chrep) = chperm; 
-              }
-              else 
-              { // Cont. dfs at snode-rep of kchild
-                xplore(krep) = xdfs; 
-                oldrep = krep; 
-                krep = chrep; // Go deeper down G(L)
-                parent(krep) = oldrep; 
-                repfnz_col(krep) = chperm; 
-                xdfs = glu.xlsub(krep); 
-                maxdfs = xprune(krep); 
-                
-              } // end if myfnz != -1
-            } // end if chperm == -1 
-                
-          } // end if chmark !=jj
-        } // end while xdfs < maxdfs
-        
-        // krow has no more unexplored nbrs :
-        //    Place snode-rep krep in postorder DFS, if this 
-        //    segment is seen for the first time. (Note that 
-        //    "repfnz(krep)" may change later.)
-        //    Baktrack dfs to its parent
-        if(traits.update_segrep(krep,jj))
-        //if (marker1(krep) < jcol )
-        {
-          segrep(nseg) = krep; 
-          ++nseg; 
-          //marker1(krep) = jj; 
-        }
-        
-        kpar = parent(krep); // Pop recursion, mimic recursion 
-        if (kpar == emptyIdxLU) 
-          break; // dfs done 
-        krep = kpar; 
-        xdfs = xplore(krep); 
-        maxdfs = xprune(krep); 
-
-      } while (kpar != emptyIdxLU); // Do until empty stack 
-      
-    } // end if (myfnz = -1)
-
-  } // end if (kperm == -1)   
-}
-
-/**
- * \brief Performs a symbolic factorization on a panel of columns [jcol, jcol+w)
- * 
- * A supernode representative is the last column of a supernode.
- * The nonzeros in U[*,j] are segments that end at supernodes representatives
- * 
- * The routine returns a list of the supernodal representatives 
- * in topological order of the dfs that generates them. This list is 
- * a superset of the topological order of each individual column within 
- * the panel.
- * The location of the first nonzero in each supernodal segment 
- * (supernodal entry location) is also returned. Each column has 
- * a separate list for this purpose. 
- * 
- * Two markers arrays are used for dfs :
- *    marker[i] == jj, if i was visited during dfs of current column jj;
- *    marker1[i] >= jcol, if i was visited by earlier columns in this panel; 
- * 
- * \param[in] m number of rows in the matrix
- * \param[in] w Panel size
- * \param[in] jcol Starting  column of the panel
- * \param[in] A Input matrix in column-major storage
- * \param[in] perm_r Row permutation
- * \param[out] nseg Number of U segments
- * \param[out] dense Accumulate the column vectors of the panel
- * \param[out] panel_lsub Subscripts of the row in the panel 
- * \param[out] segrep Segment representative i.e first nonzero row of each segment
- * \param[out] repfnz First nonzero location in each row
- * \param[out] xprune The pruned elimination tree
- * \param[out] marker work vector
- * \param  parent The elimination tree
- * \param xplore work vector
- * \param glu The global data structure
- * 
- */
-
-template <typename Scalar, typename Index>
-void SparseLUImpl<Scalar,Index>::panel_dfs(const Index m, const Index w, const Index jcol, MatrixType& A, IndexVector& perm_r, Index& nseg, ScalarVector& dense, IndexVector& panel_lsub, IndexVector& segrep, IndexVector& repfnz, IndexVector& xprune, IndexVector& marker, IndexVector& parent, IndexVector& xplore, GlobalLU_t& glu)
-{
-  Index nextl_col; // Next available position in panel_lsub[*,jj] 
-  
-  // Initialize pointers 
-  VectorBlock<IndexVector> marker1(marker, m, m); 
-  nseg = 0; 
-  
-  panel_dfs_traits<IndexVector> traits(jcol, marker1.data());
-  
-  // For each column in the panel 
-  for (Index jj = jcol; jj < jcol + w; jj++) 
-  {
-    nextl_col = (jj - jcol) * m; 
-    
-    VectorBlock<IndexVector> repfnz_col(repfnz, nextl_col, m); // First nonzero location in each row
-    VectorBlock<ScalarVector> dense_col(dense,nextl_col, m); // Accumulate a column vector here
-    
-    
-    // For each nnz in A[*, jj] do depth first search
-    for (typename MatrixType::InnerIterator it(A, jj); it; ++it)
-    {
-      Index krow = it.row(); 
-      dense_col(krow) = it.value();
-      
-      Index kmark = marker(krow); 
-      if (kmark == jj) 
-        continue; // krow visited before, go to the next nonzero
-      
-      dfs_kernel(jj, perm_r, nseg, panel_lsub, segrep, repfnz_col, xprune, marker, parent,
-                   xplore, glu, nextl_col, krow, traits);
-    }// end for nonzeros in column jj
-    
-  } // end for column jj
-}
-
-} // end namespace internal
-} // end namespace Eigen
-
-#endif // SPARSELU_PANEL_DFS_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_pivotL.h b/lib/Eigen/src/SparseLU/SparseLU_pivotL.h
deleted file mode 100644
index 2e49ef66..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_pivotL.h
+++ /dev/null
@@ -1,137 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* 
- 
- * NOTE: This file is the modified version of xpivotL.c file in SuperLU 
- 
- * -- SuperLU routine (version 3.0) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * October 15, 2003
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-#ifndef SPARSELU_PIVOTL_H
-#define SPARSELU_PIVOTL_H
-
-namespace Eigen {
-namespace internal {
-  
-/**
- * \brief Performs the numerical pivotin on the current column of L, and the CDIV operation.
- * 
- * Pivot policy :
- * (1) Compute thresh = u * max_(i>=j) abs(A_ij);
- * (2) IF user specifies pivot row k and abs(A_kj) >= thresh THEN
- *           pivot row = k;
- *       ELSE IF abs(A_jj) >= thresh THEN
- *           pivot row = j;
- *       ELSE
- *           pivot row = m;
- * 
- *   Note: If you absolutely want to use a given pivot order, then set u=0.0.
- * 
- * \param jcol The current column of L
- * \param diagpivotthresh diagonal pivoting threshold
- * \param[in,out] perm_r Row permutation (threshold pivoting)
- * \param[in] iperm_c column permutation - used to finf diagonal of Pc*A*Pc'
- * \param[out] pivrow  The pivot row
- * \param glu Global LU data
- * \return 0 if success, i > 0 if U(i,i) is exactly zero 
- * 
- */
-template <typename Scalar, typename Index>
-Index SparseLUImpl<Scalar,Index>::pivotL(const Index jcol, const RealScalar& diagpivotthresh, IndexVector& perm_r, IndexVector& iperm_c, Index& pivrow, GlobalLU_t& glu)
-{
-  
-  Index fsupc = (glu.xsup)((glu.supno)(jcol)); // First column in the supernode containing the column jcol
-  Index nsupc = jcol - fsupc; // Number of columns in the supernode portion, excluding jcol; nsupc >=0
-  Index lptr = glu.xlsub(fsupc); // pointer to the starting location of the row subscripts for this supernode portion
-  Index nsupr = glu.xlsub(fsupc+1) - lptr; // Number of rows in the supernode
-  Index lda = glu.xlusup(fsupc+1) - glu.xlusup(fsupc); // leading dimension
-  Scalar* lu_sup_ptr = &(glu.lusup.data()[glu.xlusup(fsupc)]); // Start of the current supernode
-  Scalar* lu_col_ptr = &(glu.lusup.data()[glu.xlusup(jcol)]); // Start of jcol in the supernode
-  Index* lsub_ptr = &(glu.lsub.data()[lptr]); // Start of row indices of the supernode
-  
-  // Determine the largest abs numerical value for partial pivoting 
-  Index diagind = iperm_c(jcol); // diagonal index 
-  RealScalar pivmax(-1.0);
-  Index pivptr = nsupc; 
-  Index diag = emptyIdxLU; 
-  RealScalar rtemp;
-  Index isub, icol, itemp, k; 
-  for (isub = nsupc; isub < nsupr; ++isub) {
-    using std::abs;
-    rtemp = abs(lu_col_ptr[isub]);
-    if (rtemp > pivmax) {
-      pivmax = rtemp; 
-      pivptr = isub;
-    } 
-    if (lsub_ptr[isub] == diagind) diag = isub;
-  }
-  
-  // Test for singularity
-  if ( pivmax <= RealScalar(0.0) ) {
-    // if pivmax == -1, the column is structurally empty, otherwise it is only numerically zero
-    pivrow = pivmax < RealScalar(0.0) ? diagind : lsub_ptr[pivptr];
-    perm_r(pivrow) = jcol;
-    return (jcol+1);
-  }
-  
-  RealScalar thresh = diagpivotthresh * pivmax; 
-  
-  // Choose appropriate pivotal element 
-  
-  {
-    // Test if the diagonal element can be used as a pivot (given the threshold value)
-    if (diag >= 0 ) 
-    {
-      // Diagonal element exists
-      using std::abs;
-      rtemp = abs(lu_col_ptr[diag]);
-      if (rtemp != 0.0 && rtemp >= thresh) pivptr = diag;
-    }
-    pivrow = lsub_ptr[pivptr];
-  }
-  
-  // Record pivot row
-  perm_r(pivrow) = jcol; 
-  // Interchange row subscripts
-  if (pivptr != nsupc )
-  {
-    std::swap( lsub_ptr[pivptr], lsub_ptr[nsupc] );
-    // Interchange numerical values as well, for the two rows in the whole snode
-    // such that L is indexed the same way as A
-    for (icol = 0; icol <= nsupc; icol++)
-    {
-      itemp = pivptr + icol * lda; 
-      std::swap(lu_sup_ptr[itemp], lu_sup_ptr[nsupc + icol * lda]);
-    }
-  }
-  // cdiv operations
-  Scalar temp = Scalar(1.0) / lu_col_ptr[nsupc];
-  for (k = nsupc+1; k < nsupr; k++)
-    lu_col_ptr[k] *= temp; 
-  return 0;
-}
-
-} // end namespace internal
-} // end namespace Eigen
-
-#endif // SPARSELU_PIVOTL_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_pruneL.h b/lib/Eigen/src/SparseLU/SparseLU_pruneL.h
deleted file mode 100644
index 66460d16..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_pruneL.h
+++ /dev/null
@@ -1,135 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* 
- 
- * NOTE: This file is the modified version of [s,d,c,z]pruneL.c file in SuperLU 
- 
- * -- SuperLU routine (version 2.0) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * November 15, 1997
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-#ifndef SPARSELU_PRUNEL_H
-#define SPARSELU_PRUNEL_H
-
-namespace Eigen {
-namespace internal {
-
-/**
- * \brief Prunes the L-structure.
- *
- * It prunes the L-structure  of supernodes whose L-structure contains the current pivot row "pivrow"
- * 
- * 
- * \param jcol The current column of L
- * \param[in] perm_r Row permutation
- * \param[out] pivrow  The pivot row
- * \param nseg Number of segments
- * \param segrep 
- * \param repfnz
- * \param[out] xprune 
- * \param glu Global LU data
- * 
- */
-template <typename Scalar, typename Index>
-void SparseLUImpl<Scalar,Index>::pruneL(const Index jcol, const IndexVector& perm_r, const Index pivrow, const Index nseg, const IndexVector& segrep, BlockIndexVector repfnz, IndexVector& xprune, GlobalLU_t& glu)
-{
-  // For each supernode-rep irep in U(*,j]
-  Index jsupno = glu.supno(jcol); 
-  Index i,irep,irep1; 
-  bool movnum, do_prune = false; 
-  Index kmin = 0, kmax = 0, minloc, maxloc,krow; 
-  for (i = 0; i < nseg; i++)
-  {
-    irep = segrep(i); 
-    irep1 = irep + 1; 
-    do_prune = false; 
-    
-    // Don't prune with a zero U-segment 
-    if (repfnz(irep) == emptyIdxLU) continue; 
-    
-    // If a snode overlaps with the next panel, then the U-segment
-    // is fragmented into two parts -- irep and irep1. We should let 
-    // pruning occur at the rep-column in irep1s snode. 
-    if (glu.supno(irep) == glu.supno(irep1) ) continue; // don't prune 
-    
-    // If it has not been pruned & it has a nonz in row L(pivrow,i)
-    if (glu.supno(irep) != jsupno )
-    {
-      if ( xprune (irep) >= glu.xlsub(irep1) )
-      {
-        kmin = glu.xlsub(irep);
-        kmax = glu.xlsub(irep1) - 1; 
-        for (krow = kmin; krow <= kmax; krow++)
-        {
-          if (glu.lsub(krow) == pivrow) 
-          {
-            do_prune = true; 
-            break; 
-          }
-        }
-      }
-      
-      if (do_prune) 
-      {
-        // do a quicksort-type partition
-        // movnum=true means that the num values have to be exchanged
-        movnum = false; 
-        if (irep == glu.xsup(glu.supno(irep)) ) // Snode of size 1 
-          movnum = true; 
-        
-        while (kmin <= kmax)
-        {
-          if (perm_r(glu.lsub(kmax)) == emptyIdxLU)
-            kmax--; 
-          else if ( perm_r(glu.lsub(kmin)) != emptyIdxLU)
-            kmin++;
-          else 
-          {
-            // kmin below pivrow (not yet pivoted), and kmax
-            // above pivrow: interchange the two suscripts
-            std::swap(glu.lsub(kmin), glu.lsub(kmax)); 
-            
-            // If the supernode has only one column, then we 
-            // only keep one set of subscripts. For any subscript
-            // intercnahge performed, similar interchange must be 
-            // done on the numerical values. 
-            if (movnum) 
-            {
-              minloc = glu.xlusup(irep) + ( kmin - glu.xlsub(irep) ); 
-              maxloc = glu.xlusup(irep) + ( kmax - glu.xlsub(irep) ); 
-              std::swap(glu.lusup(minloc), glu.lusup(maxloc)); 
-            }
-            kmin++;
-            kmax--;
-          }
-        } // end while 
-        
-        xprune(irep) = kmin;  //Pruning 
-      } // end if do_prune 
-    } // end pruning 
-  } // End for each U-segment
-}
-
-} // end namespace internal
-} // end namespace Eigen
-
-#endif // SPARSELU_PRUNEL_H
diff --git a/lib/Eigen/src/SparseLU/SparseLU_relax_snode.h b/lib/Eigen/src/SparseLU/SparseLU_relax_snode.h
deleted file mode 100644
index 58ec32e2..00000000
--- a/lib/Eigen/src/SparseLU/SparseLU_relax_snode.h
+++ /dev/null
@@ -1,83 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-/* This file is a modified version of heap_relax_snode.c file in SuperLU
- * -- SuperLU routine (version 3.0) --
- * Univ. of California Berkeley, Xerox Palo Alto Research Center,
- * and Lawrence Berkeley National Lab.
- * October 15, 2003
- *
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
- * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program for any
- * purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is
- * granted, provided the above notices are retained, and a notice that
- * the code was modified is included with the above copyright notice.
- */
-
-#ifndef SPARSELU_RELAX_SNODE_H
-#define SPARSELU_RELAX_SNODE_H
-
-namespace Eigen {
-
-namespace internal {
- 
-/** 
- * \brief Identify the initial relaxed supernodes
- * 
- * This routine is applied to a column elimination tree. 
- * It assumes that the matrix has been reordered according to the postorder of the etree
- * \param n  the number of columns
- * \param et elimination tree 
- * \param relax_columns Maximum number of columns allowed in a relaxed snode 
- * \param descendants Number of descendants of each node in the etree
- * \param relax_end last column in a supernode
- */
-template <typename Scalar, typename Index>
-void SparseLUImpl<Scalar,Index>::relax_snode (const Index n, IndexVector& et, const Index relax_columns, IndexVector& descendants, IndexVector& relax_end)
-{
-  
-  // compute the number of descendants of each node in the etree
-  Index j, parent; 
-  relax_end.setConstant(emptyIdxLU);
-  descendants.setZero();
-  for (j = 0; j < n; j++) 
-  {
-    parent = et(j);
-    if (parent != n) // not the dummy root
-      descendants(parent) += descendants(j) + 1;
-  }
-  // Identify the relaxed supernodes by postorder traversal of the etree
-  Index snode_start; // beginning of a snode 
-  for (j = 0; j < n; )
-  {
-    parent = et(j);
-    snode_start = j; 
-    while ( parent != n && descendants(parent) < relax_columns ) 
-    {
-      j = parent; 
-      parent = et(j);
-    }
-    // Found a supernode in postordered etree, j is the last column 
-    relax_end(snode_start) = j; // Record last column
-    j++;
-    // Search for a new leaf
-    while (descendants(j) != 0 && j < n) j++;
-  } // End postorder traversal of the etree
-  
-}
-
-} // end namespace internal
-
-} // end namespace Eigen
-#endif
diff --git a/lib/Eigen/src/SparseQR/CMakeLists.txt b/lib/Eigen/src/SparseQR/CMakeLists.txt
deleted file mode 100644
index f9ddf2bd..00000000
--- a/lib/Eigen/src/SparseQR/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_SparseQR_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_SparseQR_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseQR/ COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/SparseQR/SparseQR.h b/lib/Eigen/src/SparseQR/SparseQR.h
deleted file mode 100644
index a00bd5db..00000000
--- a/lib/Eigen/src/SparseQR/SparseQR.h
+++ /dev/null
@@ -1,714 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2012-2013 Desire Nuentsa <desire.nuentsa_wakam@inria.fr>
-// Copyright (C) 2012-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_QR_H
-#define EIGEN_SPARSE_QR_H
-
-namespace Eigen {
-
-template<typename MatrixType, typename OrderingType> class SparseQR;
-template<typename SparseQRType> struct SparseQRMatrixQReturnType;
-template<typename SparseQRType> struct SparseQRMatrixQTransposeReturnType;
-template<typename SparseQRType, typename Derived> struct SparseQR_QProduct;
-namespace internal {
-  template <typename SparseQRType> struct traits<SparseQRMatrixQReturnType<SparseQRType> >
-  {
-    typedef typename SparseQRType::MatrixType ReturnType;
-    typedef typename ReturnType::Index Index;
-    typedef typename ReturnType::StorageKind StorageKind;
-  };
-  template <typename SparseQRType> struct traits<SparseQRMatrixQTransposeReturnType<SparseQRType> >
-  {
-    typedef typename SparseQRType::MatrixType ReturnType;
-  };
-  template <typename SparseQRType, typename Derived> struct traits<SparseQR_QProduct<SparseQRType, Derived> >
-  {
-    typedef typename Derived::PlainObject ReturnType;
-  };
-} // End namespace internal
-
-/**
-  * \ingroup SparseQR_Module
-  * \class SparseQR
-  * \brief Sparse left-looking rank-revealing QR factorization
-  * 
-  * This class implements a left-looking rank-revealing QR decomposition 
-  * of sparse matrices. When a column has a norm less than a given tolerance
-  * it is implicitly permuted to the end. The QR factorization thus obtained is 
-  * given by A*P = Q*R where R is upper triangular or trapezoidal. 
-  * 
-  * P is the column permutation which is the product of the fill-reducing and the
-  * rank-revealing permutations. Use colsPermutation() to get it.
-  * 
-  * Q is the orthogonal matrix represented as products of Householder reflectors. 
-  * Use matrixQ() to get an expression and matrixQ().transpose() to get the transpose.
-  * You can then apply it to a vector.
-  * 
-  * R is the sparse triangular or trapezoidal matrix. The later occurs when A is rank-deficient.
-  * matrixR().topLeftCorner(rank(), rank()) always returns a triangular factor of full rank.
-  * 
-  * \tparam _MatrixType The type of the sparse matrix A, must be a column-major SparseMatrix<>
-  * \tparam _OrderingType The fill-reducing ordering method. See the \link OrderingMethods_Module 
-  *  OrderingMethods \endlink module for the list of built-in and external ordering methods.
-  * 
-  * \warning The input sparse matrix A must be in compressed mode (see SparseMatrix::makeCompressed()).
-  * 
-  */
-template<typename _MatrixType, typename _OrderingType>
-class SparseQR
-{
-  public:
-    typedef _MatrixType MatrixType;
-    typedef _OrderingType OrderingType;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef SparseMatrix<Scalar,ColMajor,Index> QRMatrixType;
-    typedef Matrix<Index, Dynamic, 1> IndexVector;
-    typedef Matrix<Scalar, Dynamic, 1> ScalarVector;
-    typedef PermutationMatrix<Dynamic, Dynamic, Index> PermutationType;
-  public:
-    SparseQR () : m_isInitialized(false), m_analysisIsok(false), m_lastError(""), m_useDefaultThreshold(true),m_isQSorted(false),m_isEtreeOk(false)
-    { }
-    
-    /** Construct a QR factorization of the matrix \a mat.
-      * 
-      * \warning The matrix \a mat must be in compressed mode (see SparseMatrix::makeCompressed()).
-      * 
-      * \sa compute()
-      */
-    SparseQR(const MatrixType& mat) : m_isInitialized(false), m_analysisIsok(false), m_lastError(""), m_useDefaultThreshold(true),m_isQSorted(false),m_isEtreeOk(false)
-    {
-      compute(mat);
-    }
-    
-    /** Computes the QR factorization of the sparse matrix \a mat.
-      * 
-      * \warning The matrix \a mat must be in compressed mode (see SparseMatrix::makeCompressed()).
-      * 
-      * \sa analyzePattern(), factorize()
-      */
-    void compute(const MatrixType& mat)
-    {
-      analyzePattern(mat);
-      factorize(mat);
-    }
-    void analyzePattern(const MatrixType& mat);
-    void factorize(const MatrixType& mat);
-    
-    /** \returns the number of rows of the represented matrix. 
-      */
-    inline Index rows() const { return m_pmat.rows(); }
-    
-    /** \returns the number of columns of the represented matrix. 
-      */
-    inline Index cols() const { return m_pmat.cols();}
-    
-    /** \returns a const reference to the \b sparse upper triangular matrix R of the QR factorization.
-      */
-    const QRMatrixType& matrixR() const { return m_R; }
-    
-    /** \returns the number of non linearly dependent columns as determined by the pivoting threshold.
-      *
-      * \sa setPivotThreshold()
-      */
-    Index rank() const 
-    {
-      eigen_assert(m_isInitialized && "The factorization should be called first, use compute()");
-      return m_nonzeropivots; 
-    }
-    
-    /** \returns an expression of the matrix Q as products of sparse Householder reflectors.
-    * The common usage of this function is to apply it to a dense matrix or vector
-    * \code
-    * VectorXd B1, B2;
-    * // Initialize B1
-    * B2 = matrixQ() * B1;
-    * \endcode
-    *
-    * To get a plain SparseMatrix representation of Q:
-    * \code
-    * SparseMatrix<double> Q;
-    * Q = SparseQR<SparseMatrix<double> >(A).matrixQ();
-    * \endcode
-    * Internally, this call simply performs a sparse product between the matrix Q
-    * and a sparse identity matrix. However, due to the fact that the sparse
-    * reflectors are stored unsorted, two transpositions are needed to sort
-    * them before performing the product.
-    */
-    SparseQRMatrixQReturnType<SparseQR> matrixQ() const 
-    { return SparseQRMatrixQReturnType<SparseQR>(*this); }
-    
-    /** \returns a const reference to the column permutation P that was applied to A such that A*P = Q*R
-      * It is the combination of the fill-in reducing permutation and numerical column pivoting.
-      */
-    const PermutationType& colsPermutation() const
-    { 
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_outputPerm_c;
-    }
-    
-    /** \returns A string describing the type of error.
-      * This method is provided to ease debugging, not to handle errors.
-      */
-    std::string lastErrorMessage() const { return m_lastError; }
-    
-    /** \internal */
-    template<typename Rhs, typename Dest>
-    bool _solve(const MatrixBase<Rhs> &B, MatrixBase<Dest> &dest) const
-    {
-      eigen_assert(m_isInitialized && "The factorization should be called first, use compute()");
-      eigen_assert(this->rows() == B.rows() && "SparseQR::solve() : invalid number of rows in the right hand side matrix");
-
-      Index rank = this->rank();
-      
-      // Compute Q^T * b;
-      typename Dest::PlainObject y, b;
-      y = this->matrixQ().transpose() * B; 
-      b = y;
-      
-      // Solve with the triangular matrix R
-      y.resize((std::max)(cols(),Index(y.rows())),y.cols());
-      y.topRows(rank) = this->matrixR().topLeftCorner(rank, rank).template triangularView<Upper>().solve(b.topRows(rank));
-      y.bottomRows(y.rows()-rank).setZero();
-
-      // Apply the column permutation
-      if (m_perm_c.size())  dest = colsPermutation() * y.topRows(cols());
-      else                  dest = y.topRows(cols());
-      
-      m_info = Success;
-      return true;
-    }
-    
-
-    /** Sets the threshold that is used to determine linearly dependent columns during the factorization.
-      *
-      * In practice, if during the factorization the norm of the column that has to be eliminated is below
-      * this threshold, then the entire column is treated as zero, and it is moved at the end.
-      */
-    void setPivotThreshold(const RealScalar& threshold)
-    {
-      m_useDefaultThreshold = false;
-      m_threshold = threshold;
-    }
-    
-    /** \returns the solution X of \f$ A X = B \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<SparseQR, Rhs> solve(const MatrixBase<Rhs>& B) const 
-    {
-      eigen_assert(m_isInitialized && "The factorization should be called first, use compute()");
-      eigen_assert(this->rows() == B.rows() && "SparseQR::solve() : invalid number of rows in the right hand side matrix");
-      return internal::solve_retval<SparseQR, Rhs>(*this, B.derived());
-    }
-    template<typename Rhs>
-    inline const internal::sparse_solve_retval<SparseQR, Rhs> solve(const SparseMatrixBase<Rhs>& B) const
-    {
-          eigen_assert(m_isInitialized && "The factorization should be called first, use compute()");
-          eigen_assert(this->rows() == B.rows() && "SparseQR::solve() : invalid number of rows in the right hand side matrix");
-          return internal::sparse_solve_retval<SparseQR, Rhs>(*this, B.derived());
-    }
-    
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was successful,
-      *          \c NumericalIssue if the QR factorization reports a numerical problem
-      *          \c InvalidInput if the input matrix is invalid
-      *
-      * \sa iparm()          
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_info;
-    }
-
-  protected:
-    inline void sort_matrix_Q()
-    {
-      if(this->m_isQSorted) return;
-      // The matrix Q is sorted during the transposition
-      SparseMatrix<Scalar, RowMajor, Index> mQrm(this->m_Q);
-      this->m_Q = mQrm;
-      this->m_isQSorted = true;
-    }
-
-    
-  protected:
-    bool m_isInitialized;
-    bool m_analysisIsok;
-    bool m_factorizationIsok;
-    mutable ComputationInfo m_info;
-    std::string m_lastError;
-    QRMatrixType m_pmat;            // Temporary matrix
-    QRMatrixType m_R;               // The triangular factor matrix
-    QRMatrixType m_Q;               // The orthogonal reflectors
-    ScalarVector m_hcoeffs;         // The Householder coefficients
-    PermutationType m_perm_c;       // Fill-reducing  Column  permutation
-    PermutationType m_pivotperm;    // The permutation for rank revealing
-    PermutationType m_outputPerm_c; // The final column permutation
-    RealScalar m_threshold;         // Threshold to determine null Householder reflections
-    bool m_useDefaultThreshold;     // Use default threshold
-    Index m_nonzeropivots;          // Number of non zero pivots found 
-    IndexVector m_etree;            // Column elimination tree
-    IndexVector m_firstRowElt;      // First element in each row
-    bool m_isQSorted;               // whether Q is sorted or not
-    bool m_isEtreeOk;               // whether the elimination tree match the initial input matrix
-    
-    template <typename, typename > friend struct SparseQR_QProduct;
-    template <typename > friend struct SparseQRMatrixQReturnType;
-    
-};
-
-/** \brief Preprocessing step of a QR factorization 
-  * 
-  * \warning The matrix \a mat must be in compressed mode (see SparseMatrix::makeCompressed()).
-  * 
-  * In this step, the fill-reducing permutation is computed and applied to the columns of A
-  * and the column elimination tree is computed as well. Only the sparsity pattern of \a mat is exploited.
-  * 
-  * \note In this step it is assumed that there is no empty row in the matrix \a mat.
-  */
-template <typename MatrixType, typename OrderingType>
-void SparseQR<MatrixType,OrderingType>::analyzePattern(const MatrixType& mat)
-{
-  eigen_assert(mat.isCompressed() && "SparseQR requires a sparse matrix in compressed mode. Call .makeCompressed() before passing it to SparseQR");
-  // Copy to a column major matrix if the input is rowmajor
-  typename internal::conditional<MatrixType::IsRowMajor,QRMatrixType,const MatrixType&>::type matCpy(mat);
-  // Compute the column fill reducing ordering
-  OrderingType ord; 
-  ord(matCpy, m_perm_c); 
-  Index n = mat.cols();
-  Index m = mat.rows();
-  Index diagSize = (std::min)(m,n);
-  
-  if (!m_perm_c.size())
-  {
-    m_perm_c.resize(n);
-    m_perm_c.indices().setLinSpaced(n, 0,n-1);
-  }
-  
-  // Compute the column elimination tree of the permuted matrix
-  m_outputPerm_c = m_perm_c.inverse();
-  internal::coletree(matCpy, m_etree, m_firstRowElt, m_outputPerm_c.indices().data());
-  m_isEtreeOk = true;
-  
-  m_R.resize(m, n);
-  m_Q.resize(m, diagSize);
-  
-  // Allocate space for nonzero elements : rough estimation
-  m_R.reserve(2*mat.nonZeros()); //FIXME Get a more accurate estimation through symbolic factorization with the etree
-  m_Q.reserve(2*mat.nonZeros());
-  m_hcoeffs.resize(diagSize);
-  m_analysisIsok = true;
-}
-
-/** \brief Performs the numerical QR factorization of the input matrix
-  * 
-  * The function SparseQR::analyzePattern(const MatrixType&) must have been called beforehand with
-  * a matrix having the same sparsity pattern than \a mat.
-  * 
-  * \param mat The sparse column-major matrix
-  */
-template <typename MatrixType, typename OrderingType>
-void SparseQR<MatrixType,OrderingType>::factorize(const MatrixType& mat)
-{
-  using std::abs;
-  using std::max;
-  
-  eigen_assert(m_analysisIsok && "analyzePattern() should be called before this step");
-  Index m = mat.rows();
-  Index n = mat.cols();
-  Index diagSize = (std::min)(m,n);
-  IndexVector mark((std::max)(m,n)); mark.setConstant(-1);  // Record the visited nodes
-  IndexVector Ridx(n), Qidx(m);                             // Store temporarily the row indexes for the current column of R and Q
-  Index nzcolR, nzcolQ;                                     // Number of nonzero for the current column of R and Q
-  ScalarVector tval(m);                                     // The dense vector used to compute the current column
-  RealScalar pivotThreshold = m_threshold;
-  
-  m_R.setZero();
-  m_Q.setZero();
-  m_pmat = mat;
-  if(!m_isEtreeOk)
-  {
-    m_outputPerm_c = m_perm_c.inverse();
-    internal::coletree(m_pmat, m_etree, m_firstRowElt, m_outputPerm_c.indices().data());
-    m_isEtreeOk = true;
-  }
-
-  m_pmat.uncompress(); // To have the innerNonZeroPtr allocated
-  
-  // Apply the fill-in reducing permutation lazily:
-  {
-    // If the input is row major, copy the original column indices,
-    // otherwise directly use the input matrix
-    // 
-    IndexVector originalOuterIndicesCpy;
-    const Index *originalOuterIndices = mat.outerIndexPtr();
-    if(MatrixType::IsRowMajor)
-    {
-      originalOuterIndicesCpy = IndexVector::Map(m_pmat.outerIndexPtr(),n+1);
-      originalOuterIndices = originalOuterIndicesCpy.data();
-    }
-    
-    for (int i = 0; i < n; i++)
-    {
-      Index p = m_perm_c.size() ? m_perm_c.indices()(i) : i;
-      m_pmat.outerIndexPtr()[p] = originalOuterIndices[i]; 
-      m_pmat.innerNonZeroPtr()[p] = originalOuterIndices[i+1] - originalOuterIndices[i]; 
-    }
-  }
-  
-  /* Compute the default threshold as in MatLab, see:
-   * Tim Davis, "Algorithm 915, SuiteSparseQR: Multifrontal Multithreaded Rank-Revealing
-   * Sparse QR Factorization, ACM Trans. on Math. Soft. 38(1), 2011, Page 8:3 
-   */
-  if(m_useDefaultThreshold) 
-  {
-    RealScalar max2Norm = 0.0;
-    for (int j = 0; j < n; j++) max2Norm = (max)(max2Norm, m_pmat.col(j).norm());
-    if(max2Norm==RealScalar(0))
-      max2Norm = RealScalar(1);
-    pivotThreshold = 20 * (m + n) * max2Norm * NumTraits<RealScalar>::epsilon();
-  }
-  
-  // Initialize the numerical permutation
-  m_pivotperm.setIdentity(n);
-  
-  Index nonzeroCol = 0; // Record the number of valid pivots
-  m_Q.startVec(0);
-
-  // Left looking rank-revealing QR factorization: compute a column of R and Q at a time
-  for (Index col = 0; col < n; ++col)
-  {
-    mark.setConstant(-1);
-    m_R.startVec(col);
-    mark(nonzeroCol) = col;
-    Qidx(0) = nonzeroCol;
-    nzcolR = 0; nzcolQ = 1;
-    bool found_diag = nonzeroCol>=m;
-    tval.setZero(); 
-    
-    // Symbolic factorization: find the nonzero locations of the column k of the factors R and Q, i.e.,
-    // all the nodes (with indexes lower than rank) reachable through the column elimination tree (etree) rooted at node k.
-    // Note: if the diagonal entry does not exist, then its contribution must be explicitly added,
-    // thus the trick with found_diag that permits to do one more iteration on the diagonal element if this one has not been found.
-    for (typename QRMatrixType::InnerIterator itp(m_pmat, col); itp || !found_diag; ++itp)
-    {
-      Index curIdx = nonzeroCol;
-      if(itp) curIdx = itp.row();
-      if(curIdx == nonzeroCol) found_diag = true;
-      
-      // Get the nonzeros indexes of the current column of R
-      Index st = m_firstRowElt(curIdx); // The traversal of the etree starts here 
-      if (st < 0 )
-      {
-        m_lastError = "Empty row found during numerical factorization";
-        m_info = InvalidInput;
-        return;
-      }
-
-      // Traverse the etree 
-      Index bi = nzcolR;
-      for (; mark(st) != col; st = m_etree(st))
-      {
-        Ridx(nzcolR) = st;  // Add this row to the list,
-        mark(st) = col;     // and mark this row as visited
-        nzcolR++;
-      }
-
-      // Reverse the list to get the topological ordering
-      Index nt = nzcolR-bi;
-      for(Index i = 0; i < nt/2; i++) std::swap(Ridx(bi+i), Ridx(nzcolR-i-1));
-       
-      // Copy the current (curIdx,pcol) value of the input matrix
-      if(itp) tval(curIdx) = itp.value();
-      else    tval(curIdx) = Scalar(0);
-      
-      // Compute the pattern of Q(:,k)
-      if(curIdx > nonzeroCol && mark(curIdx) != col ) 
-      {
-        Qidx(nzcolQ) = curIdx;  // Add this row to the pattern of Q,
-        mark(curIdx) = col;     // and mark it as visited
-        nzcolQ++;
-      }
-    }
-
-    // Browse all the indexes of R(:,col) in reverse order
-    for (Index i = nzcolR-1; i >= 0; i--)
-    {
-      Index curIdx = Ridx(i);
-      
-      // Apply the curIdx-th householder vector to the current column (temporarily stored into tval)
-      Scalar tdot(0);
-      
-      // First compute q' * tval
-      tdot = m_Q.col(curIdx).dot(tval);
-
-      tdot *= m_hcoeffs(curIdx);
-      
-      // Then update tval = tval - q * tau
-      // FIXME: tval -= tdot * m_Q.col(curIdx) should amount to the same (need to check/add support for efficient "dense ?= sparse")
-      for (typename QRMatrixType::InnerIterator itq(m_Q, curIdx); itq; ++itq)
-        tval(itq.row()) -= itq.value() * tdot;
-
-      // Detect fill-in for the current column of Q
-      if(m_etree(Ridx(i)) == nonzeroCol)
-      {
-        for (typename QRMatrixType::InnerIterator itq(m_Q, curIdx); itq; ++itq)
-        {
-          Index iQ = itq.row();
-          if (mark(iQ) != col)
-          {
-            Qidx(nzcolQ++) = iQ;  // Add this row to the pattern of Q,
-            mark(iQ) = col;       // and mark it as visited
-          }
-        }
-      }
-    } // End update current column
-    
-    Scalar tau = 0;
-    RealScalar beta = 0;
-    
-    if(nonzeroCol < diagSize)
-    {
-      // Compute the Householder reflection that eliminate the current column
-      // FIXME this step should call the Householder module.
-      Scalar c0 = nzcolQ ? tval(Qidx(0)) : Scalar(0);
-      
-      // First, the squared norm of Q((col+1):m, col)
-      RealScalar sqrNorm = 0.;
-      for (Index itq = 1; itq < nzcolQ; ++itq) sqrNorm += numext::abs2(tval(Qidx(itq)));
-      if(sqrNorm == RealScalar(0) && numext::imag(c0) == RealScalar(0))
-      {
-        beta = numext::real(c0);
-        tval(Qidx(0)) = 1;
-      }
-      else
-      {
-        using std::sqrt;
-        beta = sqrt(numext::abs2(c0) + sqrNorm);
-        if(numext::real(c0) >= RealScalar(0))
-          beta = -beta;
-        tval(Qidx(0)) = 1;
-        for (Index itq = 1; itq < nzcolQ; ++itq)
-          tval(Qidx(itq)) /= (c0 - beta);
-        tau = numext::conj((beta-c0) / beta);
-          
-      }
-    }
-
-    // Insert values in R
-    for (Index  i = nzcolR-1; i >= 0; i--)
-    {
-      Index curIdx = Ridx(i);
-      if(curIdx < nonzeroCol) 
-      {
-        m_R.insertBackByOuterInnerUnordered(col, curIdx) = tval(curIdx);
-        tval(curIdx) = Scalar(0.);
-      }
-    }
-
-    if(nonzeroCol < diagSize && abs(beta) >= pivotThreshold)
-    {
-      m_R.insertBackByOuterInner(col, nonzeroCol) = beta;
-      // The householder coefficient
-      m_hcoeffs(nonzeroCol) = tau;
-      // Record the householder reflections
-      for (Index itq = 0; itq < nzcolQ; ++itq)
-      {
-        Index iQ = Qidx(itq);
-        m_Q.insertBackByOuterInnerUnordered(nonzeroCol,iQ) = tval(iQ);
-        tval(iQ) = Scalar(0.);
-      }
-      nonzeroCol++;
-      if(nonzeroCol<diagSize)
-        m_Q.startVec(nonzeroCol);
-    }
-    else
-    {
-      // Zero pivot found: move implicitly this column to the end
-      for (Index j = nonzeroCol; j < n-1; j++) 
-        std::swap(m_pivotperm.indices()(j), m_pivotperm.indices()[j+1]);
-      
-      // Recompute the column elimination tree
-      internal::coletree(m_pmat, m_etree, m_firstRowElt, m_pivotperm.indices().data());
-      m_isEtreeOk = false;
-    }
-  }
-  
-  m_hcoeffs.tail(diagSize-nonzeroCol).setZero();
-  
-  // Finalize the column pointers of the sparse matrices R and Q
-  m_Q.finalize();
-  m_Q.makeCompressed();
-  m_R.finalize();
-  m_R.makeCompressed();
-  m_isQSorted = false;
-
-  m_nonzeropivots = nonzeroCol;
-  
-  if(nonzeroCol<n)
-  {
-    // Permute the triangular factor to put the 'dead' columns to the end
-    QRMatrixType tempR(m_R);
-    m_R = tempR * m_pivotperm;
-    
-    // Update the column permutation
-    m_outputPerm_c = m_outputPerm_c * m_pivotperm;
-  }
-  
-  m_isInitialized = true; 
-  m_factorizationIsok = true;
-  m_info = Success;
-}
-
-namespace internal {
-  
-template<typename _MatrixType, typename OrderingType, typename Rhs>
-struct solve_retval<SparseQR<_MatrixType,OrderingType>, Rhs>
-  : solve_retval_base<SparseQR<_MatrixType,OrderingType>, Rhs>
-{
-  typedef SparseQR<_MatrixType,OrderingType> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-template<typename _MatrixType, typename OrderingType, typename Rhs>
-struct sparse_solve_retval<SparseQR<_MatrixType, OrderingType>, Rhs>
- : sparse_solve_retval_base<SparseQR<_MatrixType, OrderingType>, Rhs>
-{
-  typedef SparseQR<_MatrixType, OrderingType> Dec;
-  EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec, Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    this->defaultEvalTo(dst);
-  }
-};
-} // end namespace internal
-
-template <typename SparseQRType, typename Derived>
-struct SparseQR_QProduct : ReturnByValue<SparseQR_QProduct<SparseQRType, Derived> >
-{
-  typedef typename SparseQRType::QRMatrixType MatrixType;
-  typedef typename SparseQRType::Scalar Scalar;
-  typedef typename SparseQRType::Index Index;
-  // Get the references 
-  SparseQR_QProduct(const SparseQRType& qr, const Derived& other, bool transpose) : 
-  m_qr(qr),m_other(other),m_transpose(transpose) {}
-  inline Index rows() const { return m_transpose ? m_qr.rows() : m_qr.cols(); }
-  inline Index cols() const { return m_other.cols(); }
-  
-  // Assign to a vector
-  template<typename DesType>
-  void evalTo(DesType& res) const
-  {
-    Index m = m_qr.rows();
-    Index n = m_qr.cols();
-    Index diagSize = (std::min)(m,n);
-    res = m_other;
-    if (m_transpose)
-    {
-      eigen_assert(m_qr.m_Q.rows() == m_other.rows() && "Non conforming object sizes");
-      //Compute res = Q' * other column by column
-      for(Index j = 0; j < res.cols(); j++){
-        for (Index k = 0; k < diagSize; k++)
-        {
-          Scalar tau = Scalar(0);
-          tau = m_qr.m_Q.col(k).dot(res.col(j));
-          if(tau==Scalar(0)) continue;
-          tau = tau * m_qr.m_hcoeffs(k);
-          res.col(j) -= tau * m_qr.m_Q.col(k);
-        }
-      }
-    }
-    else
-    {
-      eigen_assert(m_qr.m_Q.rows() == m_other.rows() && "Non conforming object sizes");
-      // Compute res = Q * other column by column
-      for(Index j = 0; j < res.cols(); j++)
-      {
-        for (Index k = diagSize-1; k >=0; k--)
-        {
-          Scalar tau = Scalar(0);
-          tau = m_qr.m_Q.col(k).dot(res.col(j));
-          if(tau==Scalar(0)) continue;
-          tau = tau * m_qr.m_hcoeffs(k);
-          res.col(j) -= tau * m_qr.m_Q.col(k);
-        }
-      }
-    }
-  }
-  
-  const SparseQRType& m_qr;
-  const Derived& m_other;
-  bool m_transpose;
-};
-
-template<typename SparseQRType>
-struct SparseQRMatrixQReturnType : public EigenBase<SparseQRMatrixQReturnType<SparseQRType> >
-{  
-  typedef typename SparseQRType::Index Index;
-  typedef typename SparseQRType::Scalar Scalar;
-  typedef Matrix<Scalar,Dynamic,Dynamic> DenseMatrix;
-  SparseQRMatrixQReturnType(const SparseQRType& qr) : m_qr(qr) {}
-  template<typename Derived>
-  SparseQR_QProduct<SparseQRType, Derived> operator*(const MatrixBase<Derived>& other)
-  {
-    return SparseQR_QProduct<SparseQRType,Derived>(m_qr,other.derived(),false);
-  }
-  SparseQRMatrixQTransposeReturnType<SparseQRType> adjoint() const
-  {
-    return SparseQRMatrixQTransposeReturnType<SparseQRType>(m_qr);
-  }
-  inline Index rows() const { return m_qr.rows(); }
-  inline Index cols() const { return (std::min)(m_qr.rows(),m_qr.cols()); }
-  // To use for operations with the transpose of Q
-  SparseQRMatrixQTransposeReturnType<SparseQRType> transpose() const
-  {
-    return SparseQRMatrixQTransposeReturnType<SparseQRType>(m_qr);
-  }
-  template<typename Dest> void evalTo(MatrixBase<Dest>& dest) const
-  {
-    dest.derived() = m_qr.matrixQ() * Dest::Identity(m_qr.rows(), m_qr.rows());
-  }
-  template<typename Dest> void evalTo(SparseMatrixBase<Dest>& dest) const
-  {
-    Dest idMat(m_qr.rows(), m_qr.rows());
-    idMat.setIdentity();
-    // Sort the sparse householder reflectors if needed
-    const_cast<SparseQRType *>(&m_qr)->sort_matrix_Q();
-    dest.derived() = SparseQR_QProduct<SparseQRType, Dest>(m_qr, idMat, false);
-  }
-
-  const SparseQRType& m_qr;
-};
-
-template<typename SparseQRType>
-struct SparseQRMatrixQTransposeReturnType
-{
-  SparseQRMatrixQTransposeReturnType(const SparseQRType& qr) : m_qr(qr) {}
-  template<typename Derived>
-  SparseQR_QProduct<SparseQRType,Derived> operator*(const MatrixBase<Derived>& other)
-  {
-    return SparseQR_QProduct<SparseQRType,Derived>(m_qr,other.derived(), true);
-  }
-  const SparseQRType& m_qr;
-};
-
-} // end namespace Eigen
-
-#endif
diff --git a/lib/Eigen/src/StlSupport/CMakeLists.txt b/lib/Eigen/src/StlSupport/CMakeLists.txt
deleted file mode 100644
index 0f094f63..00000000
--- a/lib/Eigen/src/StlSupport/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_StlSupport_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_StlSupport_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/StlSupport COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/StlSupport/StdDeque.h b/lib/Eigen/src/StlSupport/StdDeque.h
deleted file mode 100644
index 69a46b2b..00000000
--- a/lib/Eigen/src/StlSupport/StdDeque.h
+++ /dev/null
@@ -1,126 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STDDEQUE_H
-#define EIGEN_STDDEQUE_H
-
-#include "details.h"
-
-/**
- * This section contains a convenience MACRO which allows an easy specialization of
- * std::deque such that for data types with alignment issues the correct allocator
- * is used automatically.
- */
-#define EIGEN_DEFINE_STL_DEQUE_SPECIALIZATION(...) \
-namespace std \
-{ \
-  template<> \
-  class deque<__VA_ARGS__, std::allocator<__VA_ARGS__> >           \
-    : public deque<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > \
-  { \
-    typedef deque<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > deque_base; \
-  public: \
-    typedef __VA_ARGS__ value_type; \
-    typedef deque_base::allocator_type allocator_type; \
-    typedef deque_base::size_type size_type;  \
-    typedef deque_base::iterator iterator;  \
-    explicit deque(const allocator_type& a = allocator_type()) : deque_base(a) {}  \
-    template<typename InputIterator> \
-    deque(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : deque_base(first, last, a) {} \
-    deque(const deque& c) : deque_base(c) {}  \
-    explicit deque(size_type num, const value_type& val = value_type()) : deque_base(num, val) {} \
-    deque(iterator start, iterator end) : deque_base(start, end) {}  \
-    deque& operator=(const deque& x) {  \
-      deque_base::operator=(x);  \
-      return *this;  \
-    } \
-  }; \
-}
-
-// check whether we really need the std::deque specialization
-#if !(defined(_GLIBCXX_DEQUE) && (!EIGEN_GNUC_AT_LEAST(4,1))) /* Note that before gcc-4.1 we already have: std::deque::resize(size_type,const T&). */
-
-namespace std {
-
-#define EIGEN_STD_DEQUE_SPECIALIZATION_BODY \
-  public:  \
-    typedef T value_type; \
-    typedef typename deque_base::allocator_type allocator_type; \
-    typedef typename deque_base::size_type size_type;  \
-    typedef typename deque_base::iterator iterator;  \
-    typedef typename deque_base::const_iterator const_iterator;  \
-    explicit deque(const allocator_type& a = allocator_type()) : deque_base(a) {}  \
-    template<typename InputIterator> \
-    deque(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) \
-    : deque_base(first, last, a) {} \
-    deque(const deque& c) : deque_base(c) {}  \
-    explicit deque(size_type num, const value_type& val = value_type()) : deque_base(num, val) {} \
-    deque(iterator start, iterator end) : deque_base(start, end) {}  \
-    deque& operator=(const deque& x) {  \
-      deque_base::operator=(x);  \
-      return *this;  \
-    }
-
-  template<typename T>
-  class deque<T,EIGEN_ALIGNED_ALLOCATOR<T> >
-    : public deque<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
-                   Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> >
-{
-  typedef deque<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
-                Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> > deque_base;
-  EIGEN_STD_DEQUE_SPECIALIZATION_BODY
-
-  void resize(size_type new_size)
-  { resize(new_size, T()); }
-
-#if defined(_DEQUE_)
-  // workaround MSVC std::deque implementation
-  void resize(size_type new_size, const value_type& x)
-  {
-    if (deque_base::size() < new_size)
-      deque_base::_Insert_n(deque_base::end(), new_size - deque_base::size(), x);
-    else if (new_size < deque_base::size())
-      deque_base::erase(deque_base::begin() + new_size, deque_base::end());
-  }
-  void push_back(const value_type& x)
-  { deque_base::push_back(x); } 
-  void push_front(const value_type& x)
-  { deque_base::push_front(x); }
-  using deque_base::insert;  
-  iterator insert(const_iterator position, const value_type& x)
-  { return deque_base::insert(position,x); }
-  void insert(const_iterator position, size_type new_size, const value_type& x)
-  { deque_base::insert(position, new_size, x); }
-#elif defined(_GLIBCXX_DEQUE) && EIGEN_GNUC_AT_LEAST(4,2)
-  // workaround GCC std::deque implementation
-  void resize(size_type new_size, const value_type& x)
-  {
-    if (new_size < deque_base::size())
-      deque_base::_M_erase_at_end(this->_M_impl._M_start + new_size);
-    else
-      deque_base::insert(deque_base::end(), new_size - deque_base::size(), x);
-  }
-#else
-  // either GCC 4.1 or non-GCC
-  // default implementation which should always work.
-  void resize(size_type new_size, const value_type& x)
-  {
-    if (new_size < deque_base::size())
-      deque_base::erase(deque_base::begin() + new_size, deque_base::end());
-    else if (new_size > deque_base::size())
-      deque_base::insert(deque_base::end(), new_size - deque_base::size(), x);
-  }
-#endif
-  };
-}
-
-#endif // check whether specialization is actually required
-
-#endif // EIGEN_STDDEQUE_H
diff --git a/lib/Eigen/src/StlSupport/StdList.h b/lib/Eigen/src/StlSupport/StdList.h
deleted file mode 100644
index 050c2373..00000000
--- a/lib/Eigen/src/StlSupport/StdList.h
+++ /dev/null
@@ -1,106 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STDLIST_H
-#define EIGEN_STDLIST_H
-
-#include "details.h"
-
-/**
- * This section contains a convenience MACRO which allows an easy specialization of
- * std::list such that for data types with alignment issues the correct allocator
- * is used automatically.
- */
-#define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...) \
-namespace std \
-{ \
-  template<> \
-  class list<__VA_ARGS__, std::allocator<__VA_ARGS__> >           \
-    : public list<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > \
-  { \
-    typedef list<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > list_base; \
-  public: \
-    typedef __VA_ARGS__ value_type; \
-    typedef list_base::allocator_type allocator_type; \
-    typedef list_base::size_type size_type;  \
-    typedef list_base::iterator iterator;  \
-    explicit list(const allocator_type& a = allocator_type()) : list_base(a) {}  \
-    template<typename InputIterator> \
-    list(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : list_base(first, last, a) {} \
-    list(const list& c) : list_base(c) {}  \
-    explicit list(size_type num, const value_type& val = value_type()) : list_base(num, val) {} \
-    list(iterator start, iterator end) : list_base(start, end) {}  \
-    list& operator=(const list& x) {  \
-      list_base::operator=(x);  \
-      return *this;  \
-    } \
-  }; \
-}
-
-// check whether we really need the std::vector specialization
-#if !(defined(_GLIBCXX_VECTOR) && (!EIGEN_GNUC_AT_LEAST(4,1))) /* Note that before gcc-4.1 we already have: std::list::resize(size_type,const T&). */
-
-namespace std
-{
-
-#define EIGEN_STD_LIST_SPECIALIZATION_BODY \
-  public:  \
-    typedef T value_type; \
-    typedef typename list_base::allocator_type allocator_type; \
-    typedef typename list_base::size_type size_type;  \
-    typedef typename list_base::iterator iterator;  \
-    typedef typename list_base::const_iterator const_iterator;  \
-    explicit list(const allocator_type& a = allocator_type()) : list_base(a) {}  \
-    template<typename InputIterator> \
-    list(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) \
-    : list_base(first, last, a) {} \
-    list(const list& c) : list_base(c) {}  \
-    explicit list(size_type num, const value_type& val = value_type()) : list_base(num, val) {} \
-    list(iterator start, iterator end) : list_base(start, end) {}  \
-    list& operator=(const list& x) {  \
-    list_base::operator=(x);  \
-    return *this; \
-  }
-
-  template<typename T>
-  class list<T,EIGEN_ALIGNED_ALLOCATOR<T> >
-    : public list<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
-                  Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> >
-  {
-    typedef list<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
-                 Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> > list_base;
-    EIGEN_STD_LIST_SPECIALIZATION_BODY
-
-    void resize(size_type new_size)
-    { resize(new_size, T()); }
-
-    void resize(size_type new_size, const value_type& x)
-    {
-      if (list_base::size() < new_size)
-        list_base::insert(list_base::end(), new_size - list_base::size(), x);
-      else
-        while (new_size < list_base::size()) list_base::pop_back();
-    }
-
-#if defined(_LIST_)
-    // workaround MSVC std::list implementation
-    void push_back(const value_type& x)
-    { list_base::push_back(x); } 
-    using list_base::insert;  
-    iterator insert(const_iterator position, const value_type& x)
-    { return list_base::insert(position,x); }
-    void insert(const_iterator position, size_type new_size, const value_type& x)
-    { list_base::insert(position, new_size, x); }
-#endif
-  };
-}
-
-#endif // check whether specialization is actually required
-
-#endif // EIGEN_STDLIST_H
diff --git a/lib/Eigen/src/StlSupport/StdVector.h b/lib/Eigen/src/StlSupport/StdVector.h
deleted file mode 100644
index 611664a2..00000000
--- a/lib/Eigen/src/StlSupport/StdVector.h
+++ /dev/null
@@ -1,126 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STDVECTOR_H
-#define EIGEN_STDVECTOR_H
-
-#include "details.h"
-
-/**
- * This section contains a convenience MACRO which allows an easy specialization of
- * std::vector such that for data types with alignment issues the correct allocator
- * is used automatically.
- */
-#define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...) \
-namespace std \
-{ \
-  template<> \
-  class vector<__VA_ARGS__, std::allocator<__VA_ARGS__> >  \
-    : public vector<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > \
-  { \
-    typedef vector<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > vector_base; \
-  public: \
-    typedef __VA_ARGS__ value_type; \
-    typedef vector_base::allocator_type allocator_type; \
-    typedef vector_base::size_type size_type;  \
-    typedef vector_base::iterator iterator;  \
-    explicit vector(const allocator_type& a = allocator_type()) : vector_base(a) {}  \
-    template<typename InputIterator> \
-    vector(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : vector_base(first, last, a) {} \
-    vector(const vector& c) : vector_base(c) {}  \
-    explicit vector(size_type num, const value_type& val = value_type()) : vector_base(num, val) {} \
-    vector(iterator start, iterator end) : vector_base(start, end) {}  \
-    vector& operator=(const vector& x) {  \
-      vector_base::operator=(x);  \
-      return *this;  \
-    } \
-  }; \
-}
-
-namespace std {
-
-#define EIGEN_STD_VECTOR_SPECIALIZATION_BODY \
-  public:  \
-    typedef T value_type; \
-    typedef typename vector_base::allocator_type allocator_type; \
-    typedef typename vector_base::size_type size_type;  \
-    typedef typename vector_base::iterator iterator;  \
-    typedef typename vector_base::const_iterator const_iterator;  \
-    explicit vector(const allocator_type& a = allocator_type()) : vector_base(a) {}  \
-    template<typename InputIterator> \
-    vector(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) \
-    : vector_base(first, last, a) {} \
-    vector(const vector& c) : vector_base(c) {}  \
-    explicit vector(size_type num, const value_type& val = value_type()) : vector_base(num, val) {} \
-    vector(iterator start, iterator end) : vector_base(start, end) {}  \
-    vector& operator=(const vector& x) {  \
-      vector_base::operator=(x);  \
-      return *this;  \
-    }
-
-  template<typename T>
-  class vector<T,EIGEN_ALIGNED_ALLOCATOR<T> >
-    : public vector<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
-                    Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> >
-{
-  typedef vector<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
-                 Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> > vector_base;
-  EIGEN_STD_VECTOR_SPECIALIZATION_BODY
-
-  void resize(size_type new_size)
-  { resize(new_size, T()); }
-
-#if defined(_VECTOR_)
-  // workaround MSVC std::vector implementation
-  void resize(size_type new_size, const value_type& x)
-  {
-    if (vector_base::size() < new_size)
-      vector_base::_Insert_n(vector_base::end(), new_size - vector_base::size(), x);
-    else if (new_size < vector_base::size())
-      vector_base::erase(vector_base::begin() + new_size, vector_base::end());
-  }
-  void push_back(const value_type& x)
-  { vector_base::push_back(x); } 
-  using vector_base::insert;  
-  iterator insert(const_iterator position, const value_type& x)
-  { return vector_base::insert(position,x); }
-  void insert(const_iterator position, size_type new_size, const value_type& x)
-  { vector_base::insert(position, new_size, x); }
-#elif defined(_GLIBCXX_VECTOR) && (!(EIGEN_GNUC_AT_LEAST(4,1)))
-  /* Note that before gcc-4.1 we already have: std::vector::resize(size_type,const T&).
-   * However, this specialization is still needed to make the above EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION trick to work. */
-  void resize(size_type new_size, const value_type& x)
-  {
-    vector_base::resize(new_size,x);
-  }
-#elif defined(_GLIBCXX_VECTOR) && EIGEN_GNUC_AT_LEAST(4,2)
-  // workaround GCC std::vector implementation
-  void resize(size_type new_size, const value_type& x)
-  {
-    if (new_size < vector_base::size())
-      vector_base::_M_erase_at_end(this->_M_impl._M_start + new_size);
-    else
-      vector_base::insert(vector_base::end(), new_size - vector_base::size(), x);
-  }
-#else
-  // either GCC 4.1 or non-GCC
-  // default implementation which should always work.
-  void resize(size_type new_size, const value_type& x)
-  {
-    if (new_size < vector_base::size())
-      vector_base::erase(vector_base::begin() + new_size, vector_base::end());
-    else if (new_size > vector_base::size())
-      vector_base::insert(vector_base::end(), new_size - vector_base::size(), x);
-  }
-#endif
-  };
-}
-
-#endif // EIGEN_STDVECTOR_H
diff --git a/lib/Eigen/src/StlSupport/details.h b/lib/Eigen/src/StlSupport/details.h
deleted file mode 100644
index d8debc7c..00000000
--- a/lib/Eigen/src/StlSupport/details.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_STL_DETAILS_H
-#define EIGEN_STL_DETAILS_H
-
-#ifndef EIGEN_ALIGNED_ALLOCATOR
-  #define EIGEN_ALIGNED_ALLOCATOR Eigen::aligned_allocator
-#endif
-
-namespace Eigen {
-
-  // This one is needed to prevent reimplementing the whole std::vector.
-  template <class T>
-  class aligned_allocator_indirection : public EIGEN_ALIGNED_ALLOCATOR<T>
-  {
-  public:
-    typedef size_t    size_type;
-    typedef ptrdiff_t difference_type;
-    typedef T*        pointer;
-    typedef const T*  const_pointer;
-    typedef T&        reference;
-    typedef const T&  const_reference;
-    typedef T         value_type;
-
-    template<class U>
-    struct rebind
-    {
-      typedef aligned_allocator_indirection<U> other;
-    };
-
-    aligned_allocator_indirection() {}
-    aligned_allocator_indirection(const aligned_allocator_indirection& ) : EIGEN_ALIGNED_ALLOCATOR<T>() {}
-    aligned_allocator_indirection(const EIGEN_ALIGNED_ALLOCATOR<T>& ) {}
-    template<class U>
-    aligned_allocator_indirection(const aligned_allocator_indirection<U>& ) {}
-    template<class U>
-    aligned_allocator_indirection(const EIGEN_ALIGNED_ALLOCATOR<U>& ) {}
-    ~aligned_allocator_indirection() {}
-  };
-
-#ifdef _MSC_VER
-
-  // sometimes, MSVC detects, at compile time, that the argument x
-  // in std::vector::resize(size_t s,T x) won't be aligned and generate an error
-  // even if this function is never called. Whence this little wrapper.
-#define EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T) \
-  typename Eigen::internal::conditional< \
-    Eigen::internal::is_arithmetic<T>::value, \
-    T, \
-    Eigen::internal::workaround_msvc_stl_support<T> \
-  >::type
-
-  namespace internal {
-  template<typename T> struct workaround_msvc_stl_support : public T
-  {
-    inline workaround_msvc_stl_support() : T() {}
-    inline workaround_msvc_stl_support(const T& other) : T(other) {}
-    inline operator T& () { return *static_cast<T*>(this); }
-    inline operator const T& () const { return *static_cast<const T*>(this); }
-    template<typename OtherT>
-    inline T& operator=(const OtherT& other)
-    { T::operator=(other); return *this; }
-    inline workaround_msvc_stl_support& operator=(const workaround_msvc_stl_support& other)
-    { T::operator=(other); return *this; }
-  };
-  }
-
-#else
-
-#define EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T) T
-
-#endif
-
-}
-
-#endif // EIGEN_STL_DETAILS_H
diff --git a/lib/Eigen/src/SuperLUSupport/CMakeLists.txt b/lib/Eigen/src/SuperLUSupport/CMakeLists.txt
deleted file mode 100644
index b28ebe58..00000000
--- a/lib/Eigen/src/SuperLUSupport/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_SuperLUSupport_SRCS "*.h")
-
-INSTALL(FILES 
-  ${Eigen_SuperLUSupport_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SuperLUSupport COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/SuperLUSupport/SuperLUSupport.h b/lib/Eigen/src/SuperLUSupport/SuperLUSupport.h
deleted file mode 100644
index bcb35576..00000000
--- a/lib/Eigen/src/SuperLUSupport/SuperLUSupport.h
+++ /dev/null
@@ -1,1026 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SUPERLUSUPPORT_H
-#define EIGEN_SUPERLUSUPPORT_H
-
-namespace Eigen { 
-
-#define DECL_GSSVX(PREFIX,FLOATTYPE,KEYTYPE)		\
-    extern "C" {                                                                                          \
-      typedef struct { FLOATTYPE for_lu; FLOATTYPE total_needed; int expansions; } PREFIX##mem_usage_t;   \
-      extern void PREFIX##gssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *,                  \
-                                char *, FLOATTYPE *, FLOATTYPE *, SuperMatrix *, SuperMatrix *,           \
-                                void *, int, SuperMatrix *, SuperMatrix *,                                \
-                                FLOATTYPE *, FLOATTYPE *, FLOATTYPE *, FLOATTYPE *,                       \
-                                PREFIX##mem_usage_t *, SuperLUStat_t *, int *);                           \
-    }                                                                                                     \
-    inline float SuperLU_gssvx(superlu_options_t *options, SuperMatrix *A,                                \
-         int *perm_c, int *perm_r, int *etree, char *equed,                                               \
-         FLOATTYPE *R, FLOATTYPE *C, SuperMatrix *L,                                                      \
-         SuperMatrix *U, void *work, int lwork,                                                           \
-         SuperMatrix *B, SuperMatrix *X,                                                                  \
-         FLOATTYPE *recip_pivot_growth,                                                                   \
-         FLOATTYPE *rcond, FLOATTYPE *ferr, FLOATTYPE *berr,                                              \
-         SuperLUStat_t *stats, int *info, KEYTYPE) {                                                      \
-    PREFIX##mem_usage_t mem_usage;                                                                        \
-    PREFIX##gssvx(options, A, perm_c, perm_r, etree, equed, R, C, L,                                      \
-         U, work, lwork, B, X, recip_pivot_growth, rcond,                                                 \
-         ferr, berr, &mem_usage, stats, info);                                                            \
-    return mem_usage.for_lu; /* bytes used by the factor storage */                                       \
-  }
-
-DECL_GSSVX(s,float,float)
-DECL_GSSVX(c,float,std::complex<float>)
-DECL_GSSVX(d,double,double)
-DECL_GSSVX(z,double,std::complex<double>)
-
-#ifdef MILU_ALPHA
-#define EIGEN_SUPERLU_HAS_ILU
-#endif
-
-#ifdef EIGEN_SUPERLU_HAS_ILU
-
-// similarly for the incomplete factorization using gsisx
-#define DECL_GSISX(PREFIX,FLOATTYPE,KEYTYPE)                                                    \
-    extern "C" {                                                                                \
-      extern void PREFIX##gsisx(superlu_options_t *, SuperMatrix *, int *, int *, int *,        \
-                         char *, FLOATTYPE *, FLOATTYPE *, SuperMatrix *, SuperMatrix *,        \
-                         void *, int, SuperMatrix *, SuperMatrix *, FLOATTYPE *, FLOATTYPE *,   \
-                         PREFIX##mem_usage_t *, SuperLUStat_t *, int *);                        \
-    }                                                                                           \
-    inline float SuperLU_gsisx(superlu_options_t *options, SuperMatrix *A,                      \
-         int *perm_c, int *perm_r, int *etree, char *equed,                                     \
-         FLOATTYPE *R, FLOATTYPE *C, SuperMatrix *L,                                            \
-         SuperMatrix *U, void *work, int lwork,                                                 \
-         SuperMatrix *B, SuperMatrix *X,                                                        \
-         FLOATTYPE *recip_pivot_growth,                                                         \
-         FLOATTYPE *rcond,                                                                      \
-         SuperLUStat_t *stats, int *info, KEYTYPE) {                                            \
-    PREFIX##mem_usage_t mem_usage;                                                              \
-    PREFIX##gsisx(options, A, perm_c, perm_r, etree, equed, R, C, L,                            \
-         U, work, lwork, B, X, recip_pivot_growth, rcond,                                       \
-         &mem_usage, stats, info);                                                              \
-    return mem_usage.for_lu; /* bytes used by the factor storage */                             \
-  }
-
-DECL_GSISX(s,float,float)
-DECL_GSISX(c,float,std::complex<float>)
-DECL_GSISX(d,double,double)
-DECL_GSISX(z,double,std::complex<double>)
-
-#endif
-
-template<typename MatrixType>
-struct SluMatrixMapHelper;
-
-/** \internal
-  *
-  * A wrapper class for SuperLU matrices. It supports only compressed sparse matrices
-  * and dense matrices. Supernodal and other fancy format are not supported by this wrapper.
-  *
-  * This wrapper class mainly aims to avoids the need of dynamic allocation of the storage structure.
-  */
-struct SluMatrix : SuperMatrix
-{
-  SluMatrix()
-  {
-    Store = &storage;
-  }
-
-  SluMatrix(const SluMatrix& other)
-    : SuperMatrix(other)
-  {
-    Store = &storage;
-    storage = other.storage;
-  }
-
-  SluMatrix& operator=(const SluMatrix& other)
-  {
-    SuperMatrix::operator=(static_cast<const SuperMatrix&>(other));
-    Store = &storage;
-    storage = other.storage;
-    return *this;
-  }
-
-  struct
-  {
-    union {int nnz;int lda;};
-    void *values;
-    int *innerInd;
-    int *outerInd;
-  } storage;
-
-  void setStorageType(Stype_t t)
-  {
-    Stype = t;
-    if (t==SLU_NC || t==SLU_NR || t==SLU_DN)
-      Store = &storage;
-    else
-    {
-      eigen_assert(false && "storage type not supported");
-      Store = 0;
-    }
-  }
-
-  template<typename Scalar>
-  void setScalarType()
-  {
-    if (internal::is_same<Scalar,float>::value)
-      Dtype = SLU_S;
-    else if (internal::is_same<Scalar,double>::value)
-      Dtype = SLU_D;
-    else if (internal::is_same<Scalar,std::complex<float> >::value)
-      Dtype = SLU_C;
-    else if (internal::is_same<Scalar,std::complex<double> >::value)
-      Dtype = SLU_Z;
-    else
-    {
-      eigen_assert(false && "Scalar type not supported by SuperLU");
-    }
-  }
-
-  template<typename MatrixType>
-  static SluMatrix Map(MatrixBase<MatrixType>& _mat)
-  {
-    MatrixType& mat(_mat.derived());
-    eigen_assert( ((MatrixType::Flags&RowMajorBit)!=RowMajorBit) && "row-major dense matrices are not supported by SuperLU");
-    SluMatrix res;
-    res.setStorageType(SLU_DN);
-    res.setScalarType<typename MatrixType::Scalar>();
-    res.Mtype     = SLU_GE;
-
-    res.nrow      = mat.rows();
-    res.ncol      = mat.cols();
-
-    res.storage.lda       = MatrixType::IsVectorAtCompileTime ? mat.size() : mat.outerStride();
-    res.storage.values    = (void*)(mat.data());
-    return res;
-  }
-
-  template<typename MatrixType>
-  static SluMatrix Map(SparseMatrixBase<MatrixType>& mat)
-  {
-    SluMatrix res;
-    if ((MatrixType::Flags&RowMajorBit)==RowMajorBit)
-    {
-      res.setStorageType(SLU_NR);
-      res.nrow      = mat.cols();
-      res.ncol      = mat.rows();
-    }
-    else
-    {
-      res.setStorageType(SLU_NC);
-      res.nrow      = mat.rows();
-      res.ncol      = mat.cols();
-    }
-
-    res.Mtype       = SLU_GE;
-
-    res.storage.nnz       = mat.nonZeros();
-    res.storage.values    = mat.derived().valuePtr();
-    res.storage.innerInd  = mat.derived().innerIndexPtr();
-    res.storage.outerInd  = mat.derived().outerIndexPtr();
-
-    res.setScalarType<typename MatrixType::Scalar>();
-
-    // FIXME the following is not very accurate
-    if (MatrixType::Flags & Upper)
-      res.Mtype = SLU_TRU;
-    if (MatrixType::Flags & Lower)
-      res.Mtype = SLU_TRL;
-
-    eigen_assert(((MatrixType::Flags & SelfAdjoint)==0) && "SelfAdjoint matrix shape not supported by SuperLU");
-
-    return res;
-  }
-};
-
-template<typename Scalar, int Rows, int Cols, int Options, int MRows, int MCols>
-struct SluMatrixMapHelper<Matrix<Scalar,Rows,Cols,Options,MRows,MCols> >
-{
-  typedef Matrix<Scalar,Rows,Cols,Options,MRows,MCols> MatrixType;
-  static void run(MatrixType& mat, SluMatrix& res)
-  {
-    eigen_assert( ((Options&RowMajor)!=RowMajor) && "row-major dense matrices is not supported by SuperLU");
-    res.setStorageType(SLU_DN);
-    res.setScalarType<Scalar>();
-    res.Mtype     = SLU_GE;
-
-    res.nrow      = mat.rows();
-    res.ncol      = mat.cols();
-
-    res.storage.lda       = mat.outerStride();
-    res.storage.values    = mat.data();
-  }
-};
-
-template<typename Derived>
-struct SluMatrixMapHelper<SparseMatrixBase<Derived> >
-{
-  typedef Derived MatrixType;
-  static void run(MatrixType& mat, SluMatrix& res)
-  {
-    if ((MatrixType::Flags&RowMajorBit)==RowMajorBit)
-    {
-      res.setStorageType(SLU_NR);
-      res.nrow      = mat.cols();
-      res.ncol      = mat.rows();
-    }
-    else
-    {
-      res.setStorageType(SLU_NC);
-      res.nrow      = mat.rows();
-      res.ncol      = mat.cols();
-    }
-
-    res.Mtype       = SLU_GE;
-
-    res.storage.nnz       = mat.nonZeros();
-    res.storage.values    = mat.valuePtr();
-    res.storage.innerInd  = mat.innerIndexPtr();
-    res.storage.outerInd  = mat.outerIndexPtr();
-
-    res.setScalarType<typename MatrixType::Scalar>();
-
-    // FIXME the following is not very accurate
-    if (MatrixType::Flags & Upper)
-      res.Mtype = SLU_TRU;
-    if (MatrixType::Flags & Lower)
-      res.Mtype = SLU_TRL;
-
-    eigen_assert(((MatrixType::Flags & SelfAdjoint)==0) && "SelfAdjoint matrix shape not supported by SuperLU");
-  }
-};
-
-namespace internal {
-
-template<typename MatrixType>
-SluMatrix asSluMatrix(MatrixType& mat)
-{
-  return SluMatrix::Map(mat);
-}
-
-/** View a Super LU matrix as an Eigen expression */
-template<typename Scalar, int Flags, typename Index>
-MappedSparseMatrix<Scalar,Flags,Index> map_superlu(SluMatrix& sluMat)
-{
-  eigen_assert((Flags&RowMajor)==RowMajor && sluMat.Stype == SLU_NR
-         || (Flags&ColMajor)==ColMajor && sluMat.Stype == SLU_NC);
-
-  Index outerSize = (Flags&RowMajor)==RowMajor ? sluMat.ncol : sluMat.nrow;
-
-  return MappedSparseMatrix<Scalar,Flags,Index>(
-    sluMat.nrow, sluMat.ncol, sluMat.storage.outerInd[outerSize],
-    sluMat.storage.outerInd, sluMat.storage.innerInd, reinterpret_cast<Scalar*>(sluMat.storage.values) );
-}
-
-} // end namespace internal
-
-/** \ingroup SuperLUSupport_Module
-  * \class SuperLUBase
-  * \brief The base class for the direct and incomplete LU factorization of SuperLU
-  */
-template<typename _MatrixType, typename Derived>
-class SuperLUBase : internal::noncopyable
-{
-  public:
-    typedef _MatrixType MatrixType;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef Matrix<Scalar,Dynamic,1> Vector;
-    typedef Matrix<int, 1, MatrixType::ColsAtCompileTime> IntRowVectorType;
-    typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> IntColVectorType;    
-    typedef SparseMatrix<Scalar> LUMatrixType;
-
-  public:
-
-    SuperLUBase() {}
-
-    ~SuperLUBase()
-    {
-      clearFactors();
-    }
-    
-    Derived& derived() { return *static_cast<Derived*>(this); }
-    const Derived& derived() const { return *static_cast<const Derived*>(this); }
-    
-    inline Index rows() const { return m_matrix.rows(); }
-    inline Index cols() const { return m_matrix.cols(); }
-    
-    /** \returns a reference to the Super LU option object to configure the  Super LU algorithms. */
-    inline superlu_options_t& options() { return m_sluOptions; }
-    
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the matrix.appears to be negative.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_info;
-    }
-
-    /** Computes the sparse Cholesky decomposition of \a matrix */
-    void compute(const MatrixType& matrix)
-    {
-      derived().analyzePattern(matrix);
-      derived().factorize(matrix);
-    }
-    
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<SuperLUBase, Rhs> solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "SuperLU is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "SuperLU::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<SuperLUBase, Rhs>(*this, b.derived());
-    }
-    
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::sparse_solve_retval<SuperLUBase, Rhs> solve(const SparseMatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "SuperLU is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "SuperLU::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::sparse_solve_retval<SuperLUBase, Rhs>(*this, b.derived());
-    }
-    
-    /** Performs a symbolic decomposition on the sparcity of \a matrix.
-      *
-      * This function is particularly useful when solving for several problems having the same structure.
-      * 
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& /*matrix*/)
-    {
-      m_isInitialized = true;
-      m_info = Success;
-      m_analysisIsOk = true;
-      m_factorizationIsOk = false;
-    }
-    
-    template<typename Stream>
-    void dumpMemory(Stream& /*s*/)
-    {}
-    
-  protected:
-    
-    void initFactorization(const MatrixType& a)
-    {
-      set_default_options(&this->m_sluOptions);
-      
-      const int size = a.rows();
-      m_matrix = a;
-
-      m_sluA = internal::asSluMatrix(m_matrix);
-      clearFactors();
-
-      m_p.resize(size);
-      m_q.resize(size);
-      m_sluRscale.resize(size);
-      m_sluCscale.resize(size);
-      m_sluEtree.resize(size);
-
-      // set empty B and X
-      m_sluB.setStorageType(SLU_DN);
-      m_sluB.setScalarType<Scalar>();
-      m_sluB.Mtype          = SLU_GE;
-      m_sluB.storage.values = 0;
-      m_sluB.nrow           = 0;
-      m_sluB.ncol           = 0;
-      m_sluB.storage.lda    = size;
-      m_sluX                = m_sluB;
-      
-      m_extractedDataAreDirty = true;
-    }
-    
-    void init()
-    {
-      m_info = InvalidInput;
-      m_isInitialized = false;
-      m_sluL.Store = 0;
-      m_sluU.Store = 0;
-    }
-    
-    void extractData() const;
-
-    void clearFactors()
-    {
-      if(m_sluL.Store)
-        Destroy_SuperNode_Matrix(&m_sluL);
-      if(m_sluU.Store)
-        Destroy_CompCol_Matrix(&m_sluU);
-
-      m_sluL.Store = 0;
-      m_sluU.Store = 0;
-
-      memset(&m_sluL,0,sizeof m_sluL);
-      memset(&m_sluU,0,sizeof m_sluU);
-    }
-
-    // cached data to reduce reallocation, etc.
-    mutable LUMatrixType m_l;
-    mutable LUMatrixType m_u;
-    mutable IntColVectorType m_p;
-    mutable IntRowVectorType m_q;
-
-    mutable LUMatrixType m_matrix;  // copy of the factorized matrix
-    mutable SluMatrix m_sluA;
-    mutable SuperMatrix m_sluL, m_sluU;
-    mutable SluMatrix m_sluB, m_sluX;
-    mutable SuperLUStat_t m_sluStat;
-    mutable superlu_options_t m_sluOptions;
-    mutable std::vector<int> m_sluEtree;
-    mutable Matrix<RealScalar,Dynamic,1> m_sluRscale, m_sluCscale;
-    mutable Matrix<RealScalar,Dynamic,1> m_sluFerr, m_sluBerr;
-    mutable char m_sluEqued;
-
-    mutable ComputationInfo m_info;
-    bool m_isInitialized;
-    int m_factorizationIsOk;
-    int m_analysisIsOk;
-    mutable bool m_extractedDataAreDirty;
-    
-  private:
-    SuperLUBase(SuperLUBase& ) { }
-};
-
-
-/** \ingroup SuperLUSupport_Module
-  * \class SuperLU
-  * \brief A sparse direct LU factorization and solver based on the SuperLU library
-  *
-  * This class allows to solve for A.X = B sparse linear problems via a direct LU factorization
-  * using the SuperLU library. The sparse matrix A must be squared and invertible. The vectors or matrices
-  * X and B can be either dense or sparse.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  *
-  * \sa \ref TutorialSparseDirectSolvers
-  */
-template<typename _MatrixType>
-class SuperLU : public SuperLUBase<_MatrixType,SuperLU<_MatrixType> >
-{
-  public:
-    typedef SuperLUBase<_MatrixType,SuperLU> Base;
-    typedef _MatrixType MatrixType;
-    typedef typename Base::Scalar Scalar;
-    typedef typename Base::RealScalar RealScalar;
-    typedef typename Base::Index Index;
-    typedef typename Base::IntRowVectorType IntRowVectorType;
-    typedef typename Base::IntColVectorType IntColVectorType;    
-    typedef typename Base::LUMatrixType LUMatrixType;
-    typedef TriangularView<LUMatrixType, Lower|UnitDiag>  LMatrixType;
-    typedef TriangularView<LUMatrixType,  Upper>           UMatrixType;
-
-  public:
-
-    SuperLU() : Base() { init(); }
-
-    SuperLU(const MatrixType& matrix) : Base()
-    {
-      init();
-      Base::compute(matrix);
-    }
-
-    ~SuperLU()
-    {
-    }
-    
-    /** Performs a symbolic decomposition on the sparcity of \a matrix.
-      *
-      * This function is particularly useful when solving for several problems having the same structure.
-      * 
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& matrix)
-    {
-      m_info = InvalidInput;
-      m_isInitialized = false;
-      Base::analyzePattern(matrix);
-    }
-    
-    /** Performs a numeric decomposition of \a matrix
-      *
-      * The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.
-      *
-      * \sa analyzePattern()
-      */
-    void factorize(const MatrixType& matrix);
-    
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** \internal */
-    template<typename Rhs,typename Dest>
-    void _solve(const MatrixBase<Rhs> &b, MatrixBase<Dest> &dest) const;
-    #endif // EIGEN_PARSED_BY_DOXYGEN
-    
-    inline const LMatrixType& matrixL() const
-    {
-      if (m_extractedDataAreDirty) this->extractData();
-      return m_l;
-    }
-
-    inline const UMatrixType& matrixU() const
-    {
-      if (m_extractedDataAreDirty) this->extractData();
-      return m_u;
-    }
-
-    inline const IntColVectorType& permutationP() const
-    {
-      if (m_extractedDataAreDirty) this->extractData();
-      return m_p;
-    }
-
-    inline const IntRowVectorType& permutationQ() const
-    {
-      if (m_extractedDataAreDirty) this->extractData();
-      return m_q;
-    }
-    
-    Scalar determinant() const;
-    
-  protected:
-    
-    using Base::m_matrix;
-    using Base::m_sluOptions;
-    using Base::m_sluA;
-    using Base::m_sluB;
-    using Base::m_sluX;
-    using Base::m_p;
-    using Base::m_q;
-    using Base::m_sluEtree;
-    using Base::m_sluEqued;
-    using Base::m_sluRscale;
-    using Base::m_sluCscale;
-    using Base::m_sluL;
-    using Base::m_sluU;
-    using Base::m_sluStat;
-    using Base::m_sluFerr;
-    using Base::m_sluBerr;
-    using Base::m_l;
-    using Base::m_u;
-    
-    using Base::m_analysisIsOk;
-    using Base::m_factorizationIsOk;
-    using Base::m_extractedDataAreDirty;
-    using Base::m_isInitialized;
-    using Base::m_info;
-    
-    void init()
-    {
-      Base::init();
-      
-      set_default_options(&this->m_sluOptions);
-      m_sluOptions.PrintStat        = NO;
-      m_sluOptions.ConditionNumber  = NO;
-      m_sluOptions.Trans            = NOTRANS;
-      m_sluOptions.ColPerm          = COLAMD;
-    }
-    
-    
-  private:
-    SuperLU(SuperLU& ) { }
-};
-
-template<typename MatrixType>
-void SuperLU<MatrixType>::factorize(const MatrixType& a)
-{
-  eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
-  if(!m_analysisIsOk)
-  {
-    m_info = InvalidInput;
-    return;
-  }
-  
-  this->initFactorization(a);
-  
-  m_sluOptions.ColPerm = COLAMD;
-  int info = 0;
-  RealScalar recip_pivot_growth, rcond;
-  RealScalar ferr, berr;
-
-  StatInit(&m_sluStat);
-  SuperLU_gssvx(&m_sluOptions, &m_sluA, m_q.data(), m_p.data(), &m_sluEtree[0],
-                &m_sluEqued, &m_sluRscale[0], &m_sluCscale[0],
-                &m_sluL, &m_sluU,
-                NULL, 0,
-                &m_sluB, &m_sluX,
-                &recip_pivot_growth, &rcond,
-                &ferr, &berr,
-                &m_sluStat, &info, Scalar());
-  StatFree(&m_sluStat);
-
-  m_extractedDataAreDirty = true;
-
-  // FIXME how to better check for errors ???
-  m_info = info == 0 ? Success : NumericalIssue;
-  m_factorizationIsOk = true;
-}
-
-template<typename MatrixType>
-template<typename Rhs,typename Dest>
-void SuperLU<MatrixType>::_solve(const MatrixBase<Rhs> &b, MatrixBase<Dest>& x) const
-{
-  eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or analyzePattern()/factorize()");
-
-  const int size = m_matrix.rows();
-  const int rhsCols = b.cols();
-  eigen_assert(size==b.rows());
-
-  m_sluOptions.Trans = NOTRANS;
-  m_sluOptions.Fact = FACTORED;
-  m_sluOptions.IterRefine = NOREFINE;
-  
-
-  m_sluFerr.resize(rhsCols);
-  m_sluBerr.resize(rhsCols);
-  m_sluB = SluMatrix::Map(b.const_cast_derived());
-  m_sluX = SluMatrix::Map(x.derived());
-  
-  typename Rhs::PlainObject b_cpy;
-  if(m_sluEqued!='N')
-  {
-    b_cpy = b;
-    m_sluB = SluMatrix::Map(b_cpy.const_cast_derived());  
-  }
-
-  StatInit(&m_sluStat);
-  int info = 0;
-  RealScalar recip_pivot_growth, rcond;
-  SuperLU_gssvx(&m_sluOptions, &m_sluA,
-                m_q.data(), m_p.data(),
-                &m_sluEtree[0], &m_sluEqued,
-                &m_sluRscale[0], &m_sluCscale[0],
-                &m_sluL, &m_sluU,
-                NULL, 0,
-                &m_sluB, &m_sluX,
-                &recip_pivot_growth, &rcond,
-                &m_sluFerr[0], &m_sluBerr[0],
-                &m_sluStat, &info, Scalar());
-  StatFree(&m_sluStat);
-  m_info = info==0 ? Success : NumericalIssue;
-}
-
-// the code of this extractData() function has been adapted from the SuperLU's Matlab support code,
-//
-//  Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
-//
-//  THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-//  EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-//
-template<typename MatrixType, typename Derived>
-void SuperLUBase<MatrixType,Derived>::extractData() const
-{
-  eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for extracting factors, you must first call either compute() or analyzePattern()/factorize()");
-  if (m_extractedDataAreDirty)
-  {
-    int         upper;
-    int         fsupc, istart, nsupr;
-    int         lastl = 0, lastu = 0;
-    SCformat    *Lstore = static_cast<SCformat*>(m_sluL.Store);
-    NCformat    *Ustore = static_cast<NCformat*>(m_sluU.Store);
-    Scalar      *SNptr;
-
-    const int size = m_matrix.rows();
-    m_l.resize(size,size);
-    m_l.resizeNonZeros(Lstore->nnz);
-    m_u.resize(size,size);
-    m_u.resizeNonZeros(Ustore->nnz);
-
-    int* Lcol = m_l.outerIndexPtr();
-    int* Lrow = m_l.innerIndexPtr();
-    Scalar* Lval = m_l.valuePtr();
-
-    int* Ucol = m_u.outerIndexPtr();
-    int* Urow = m_u.innerIndexPtr();
-    Scalar* Uval = m_u.valuePtr();
-
-    Ucol[0] = 0;
-    Ucol[0] = 0;
-
-    /* for each supernode */
-    for (int k = 0; k <= Lstore->nsuper; ++k)
-    {
-      fsupc   = L_FST_SUPC(k);
-      istart  = L_SUB_START(fsupc);
-      nsupr   = L_SUB_START(fsupc+1) - istart;
-      upper   = 1;
-
-      /* for each column in the supernode */
-      for (int j = fsupc; j < L_FST_SUPC(k+1); ++j)
-      {
-        SNptr = &((Scalar*)Lstore->nzval)[L_NZ_START(j)];
-
-        /* Extract U */
-        for (int i = U_NZ_START(j); i < U_NZ_START(j+1); ++i)
-        {
-          Uval[lastu] = ((Scalar*)Ustore->nzval)[i];
-          /* Matlab doesn't like explicit zero. */
-          if (Uval[lastu] != 0.0)
-            Urow[lastu++] = U_SUB(i);
-        }
-        for (int i = 0; i < upper; ++i)
-        {
-          /* upper triangle in the supernode */
-          Uval[lastu] = SNptr[i];
-          /* Matlab doesn't like explicit zero. */
-          if (Uval[lastu] != 0.0)
-            Urow[lastu++] = L_SUB(istart+i);
-        }
-        Ucol[j+1] = lastu;
-
-        /* Extract L */
-        Lval[lastl] = 1.0; /* unit diagonal */
-        Lrow[lastl++] = L_SUB(istart + upper - 1);
-        for (int i = upper; i < nsupr; ++i)
-        {
-          Lval[lastl] = SNptr[i];
-          /* Matlab doesn't like explicit zero. */
-          if (Lval[lastl] != 0.0)
-            Lrow[lastl++] = L_SUB(istart+i);
-        }
-        Lcol[j+1] = lastl;
-
-        ++upper;
-      } /* for j ... */
-
-    } /* for k ... */
-
-    // squeeze the matrices :
-    m_l.resizeNonZeros(lastl);
-    m_u.resizeNonZeros(lastu);
-
-    m_extractedDataAreDirty = false;
-  }
-}
-
-template<typename MatrixType>
-typename SuperLU<MatrixType>::Scalar SuperLU<MatrixType>::determinant() const
-{
-  eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for computing the determinant, you must first call either compute() or analyzePattern()/factorize()");
-  
-  if (m_extractedDataAreDirty)
-    this->extractData();
-
-  Scalar det = Scalar(1);
-  for (int j=0; j<m_u.cols(); ++j)
-  {
-    if (m_u.outerIndexPtr()[j+1]-m_u.outerIndexPtr()[j] > 0)
-    {
-      int lastId = m_u.outerIndexPtr()[j+1]-1;
-      eigen_assert(m_u.innerIndexPtr()[lastId]<=j);
-      if (m_u.innerIndexPtr()[lastId]==j)
-        det *= m_u.valuePtr()[lastId];
-    }
-  }
-  if(m_sluEqued!='N')
-    return det/m_sluRscale.prod()/m_sluCscale.prod();
-  else
-    return det;
-}
-
-#ifdef EIGEN_PARSED_BY_DOXYGEN
-#define EIGEN_SUPERLU_HAS_ILU
-#endif
-
-#ifdef EIGEN_SUPERLU_HAS_ILU
-
-/** \ingroup SuperLUSupport_Module
-  * \class SuperILU
-  * \brief A sparse direct \b incomplete LU factorization and solver based on the SuperLU library
-  *
-  * This class allows to solve for an approximate solution of A.X = B sparse linear problems via an incomplete LU factorization
-  * using the SuperLU library. This class is aimed to be used as a preconditioner of the iterative linear solvers.
-  *
-  * \warning This class requires SuperLU 4 or later.
-  *
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  *
-  * \sa \ref TutorialSparseDirectSolvers, class ConjugateGradient, class BiCGSTAB
-  */
-
-template<typename _MatrixType>
-class SuperILU : public SuperLUBase<_MatrixType,SuperILU<_MatrixType> >
-{
-  public:
-    typedef SuperLUBase<_MatrixType,SuperILU> Base;
-    typedef _MatrixType MatrixType;
-    typedef typename Base::Scalar Scalar;
-    typedef typename Base::RealScalar RealScalar;
-    typedef typename Base::Index Index;
-
-  public:
-
-    SuperILU() : Base() { init(); }
-
-    SuperILU(const MatrixType& matrix) : Base()
-    {
-      init();
-      Base::compute(matrix);
-    }
-
-    ~SuperILU()
-    {
-    }
-    
-    /** Performs a symbolic decomposition on the sparcity of \a matrix.
-      *
-      * This function is particularly useful when solving for several problems having the same structure.
-      * 
-      * \sa factorize()
-      */
-    void analyzePattern(const MatrixType& matrix)
-    {
-      Base::analyzePattern(matrix);
-    }
-    
-    /** Performs a numeric decomposition of \a matrix
-      *
-      * The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.
-      *
-      * \sa analyzePattern()
-      */
-    void factorize(const MatrixType& matrix);
-    
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** \internal */
-    template<typename Rhs,typename Dest>
-    void _solve(const MatrixBase<Rhs> &b, MatrixBase<Dest> &dest) const;
-    #endif // EIGEN_PARSED_BY_DOXYGEN
-    
-  protected:
-    
-    using Base::m_matrix;
-    using Base::m_sluOptions;
-    using Base::m_sluA;
-    using Base::m_sluB;
-    using Base::m_sluX;
-    using Base::m_p;
-    using Base::m_q;
-    using Base::m_sluEtree;
-    using Base::m_sluEqued;
-    using Base::m_sluRscale;
-    using Base::m_sluCscale;
-    using Base::m_sluL;
-    using Base::m_sluU;
-    using Base::m_sluStat;
-    using Base::m_sluFerr;
-    using Base::m_sluBerr;
-    using Base::m_l;
-    using Base::m_u;
-    
-    using Base::m_analysisIsOk;
-    using Base::m_factorizationIsOk;
-    using Base::m_extractedDataAreDirty;
-    using Base::m_isInitialized;
-    using Base::m_info;
-
-    void init()
-    {
-      Base::init();
-      
-      ilu_set_default_options(&m_sluOptions);
-      m_sluOptions.PrintStat        = NO;
-      m_sluOptions.ConditionNumber  = NO;
-      m_sluOptions.Trans            = NOTRANS;
-      m_sluOptions.ColPerm          = MMD_AT_PLUS_A;
-      
-      // no attempt to preserve column sum
-      m_sluOptions.ILU_MILU = SILU;
-      // only basic ILU(k) support -- no direct control over memory consumption
-      // better to use ILU_DropRule = DROP_BASIC | DROP_AREA
-      // and set ILU_FillFactor to max memory growth
-      m_sluOptions.ILU_DropRule = DROP_BASIC;
-      m_sluOptions.ILU_DropTol = NumTraits<Scalar>::dummy_precision()*10;
-    }
-    
-  private:
-    SuperILU(SuperILU& ) { }
-};
-
-template<typename MatrixType>
-void SuperILU<MatrixType>::factorize(const MatrixType& a)
-{
-  eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
-  if(!m_analysisIsOk)
-  {
-    m_info = InvalidInput;
-    return;
-  }
-  
-  this->initFactorization(a);
-
-  int info = 0;
-  RealScalar recip_pivot_growth, rcond;
-
-  StatInit(&m_sluStat);
-  SuperLU_gsisx(&m_sluOptions, &m_sluA, m_q.data(), m_p.data(), &m_sluEtree[0],
-                &m_sluEqued, &m_sluRscale[0], &m_sluCscale[0],
-                &m_sluL, &m_sluU,
-                NULL, 0,
-                &m_sluB, &m_sluX,
-                &recip_pivot_growth, &rcond,
-                &m_sluStat, &info, Scalar());
-  StatFree(&m_sluStat);
-
-  // FIXME how to better check for errors ???
-  m_info = info == 0 ? Success : NumericalIssue;
-  m_factorizationIsOk = true;
-}
-
-template<typename MatrixType>
-template<typename Rhs,typename Dest>
-void SuperILU<MatrixType>::_solve(const MatrixBase<Rhs> &b, MatrixBase<Dest>& x) const
-{
-  eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or analyzePattern()/factorize()");
-
-  const int size = m_matrix.rows();
-  const int rhsCols = b.cols();
-  eigen_assert(size==b.rows());
-
-  m_sluOptions.Trans = NOTRANS;
-  m_sluOptions.Fact = FACTORED;
-  m_sluOptions.IterRefine = NOREFINE;
-
-  m_sluFerr.resize(rhsCols);
-  m_sluBerr.resize(rhsCols);
-  m_sluB = SluMatrix::Map(b.const_cast_derived());
-  m_sluX = SluMatrix::Map(x.derived());
-
-  typename Rhs::PlainObject b_cpy;
-  if(m_sluEqued!='N')
-  {
-    b_cpy = b;
-    m_sluB = SluMatrix::Map(b_cpy.const_cast_derived());  
-  }
-  
-  int info = 0;
-  RealScalar recip_pivot_growth, rcond;
-
-  StatInit(&m_sluStat);
-  SuperLU_gsisx(&m_sluOptions, &m_sluA,
-                m_q.data(), m_p.data(),
-                &m_sluEtree[0], &m_sluEqued,
-                &m_sluRscale[0], &m_sluCscale[0],
-                &m_sluL, &m_sluU,
-                NULL, 0,
-                &m_sluB, &m_sluX,
-                &recip_pivot_growth, &rcond,
-                &m_sluStat, &info, Scalar());
-  StatFree(&m_sluStat);
-
-  m_info = info==0 ? Success : NumericalIssue;
-}
-#endif
-
-namespace internal {
-  
-template<typename _MatrixType, typename Derived, typename Rhs>
-struct solve_retval<SuperLUBase<_MatrixType,Derived>, Rhs>
-  : solve_retval_base<SuperLUBase<_MatrixType,Derived>, Rhs>
-{
-  typedef SuperLUBase<_MatrixType,Derived> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec().derived()._solve(rhs(),dst);
-  }
-};
-
-template<typename _MatrixType, typename Derived, typename Rhs>
-struct sparse_solve_retval<SuperLUBase<_MatrixType,Derived>, Rhs>
-  : sparse_solve_retval_base<SuperLUBase<_MatrixType,Derived>, Rhs>
-{
-  typedef SuperLUBase<_MatrixType,Derived> Dec;
-  EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    this->defaultEvalTo(dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SUPERLUSUPPORT_H
diff --git a/lib/Eigen/src/UmfPackSupport/CMakeLists.txt b/lib/Eigen/src/UmfPackSupport/CMakeLists.txt
deleted file mode 100644
index a57de002..00000000
--- a/lib/Eigen/src/UmfPackSupport/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_UmfPackSupport_SRCS "*.h")
-
-INSTALL(FILES 
-  ${Eigen_UmfPackSupport_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/UmfPackSupport COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/UmfPackSupport/UmfPackSupport.h b/lib/Eigen/src/UmfPackSupport/UmfPackSupport.h
deleted file mode 100644
index 29c60c37..00000000
--- a/lib/Eigen/src/UmfPackSupport/UmfPackSupport.h
+++ /dev/null
@@ -1,474 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_UMFPACKSUPPORT_H
-#define EIGEN_UMFPACKSUPPORT_H
-
-namespace Eigen { 
-
-/* TODO extract L, extract U, compute det, etc... */
-
-// generic double/complex<double> wrapper functions:
-
-inline void umfpack_free_numeric(void **Numeric, double)
-{ umfpack_di_free_numeric(Numeric); *Numeric = 0; }
-
-inline void umfpack_free_numeric(void **Numeric, std::complex<double>)
-{ umfpack_zi_free_numeric(Numeric); *Numeric = 0; }
-
-inline void umfpack_free_symbolic(void **Symbolic, double)
-{ umfpack_di_free_symbolic(Symbolic); *Symbolic = 0; }
-
-inline void umfpack_free_symbolic(void **Symbolic, std::complex<double>)
-{ umfpack_zi_free_symbolic(Symbolic); *Symbolic = 0; }
-
-inline int umfpack_symbolic(int n_row,int n_col,
-                            const int Ap[], const int Ai[], const double Ax[], void **Symbolic,
-                            const double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-  return umfpack_di_symbolic(n_row,n_col,Ap,Ai,Ax,Symbolic,Control,Info);
-}
-
-inline int umfpack_symbolic(int n_row,int n_col,
-                            const int Ap[], const int Ai[], const std::complex<double> Ax[], void **Symbolic,
-                            const double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-  return umfpack_zi_symbolic(n_row,n_col,Ap,Ai,&numext::real_ref(Ax[0]),0,Symbolic,Control,Info);
-}
-
-inline int umfpack_numeric( const int Ap[], const int Ai[], const double Ax[],
-                            void *Symbolic, void **Numeric,
-                            const double Control[UMFPACK_CONTROL],double Info [UMFPACK_INFO])
-{
-  return umfpack_di_numeric(Ap,Ai,Ax,Symbolic,Numeric,Control,Info);
-}
-
-inline int umfpack_numeric( const int Ap[], const int Ai[], const std::complex<double> Ax[],
-                            void *Symbolic, void **Numeric,
-                            const double Control[UMFPACK_CONTROL],double Info [UMFPACK_INFO])
-{
-  return umfpack_zi_numeric(Ap,Ai,&numext::real_ref(Ax[0]),0,Symbolic,Numeric,Control,Info);
-}
-
-inline int umfpack_solve( int sys, const int Ap[], const int Ai[], const double Ax[],
-                          double X[], const double B[], void *Numeric,
-                          const double Control[UMFPACK_CONTROL], double Info[UMFPACK_INFO])
-{
-  return umfpack_di_solve(sys,Ap,Ai,Ax,X,B,Numeric,Control,Info);
-}
-
-inline int umfpack_solve( int sys, const int Ap[], const int Ai[], const std::complex<double> Ax[],
-                          std::complex<double> X[], const std::complex<double> B[], void *Numeric,
-                          const double Control[UMFPACK_CONTROL], double Info[UMFPACK_INFO])
-{
-  return umfpack_zi_solve(sys,Ap,Ai,&numext::real_ref(Ax[0]),0,&numext::real_ref(X[0]),0,&numext::real_ref(B[0]),0,Numeric,Control,Info);
-}
-
-inline int umfpack_get_lunz(int *lnz, int *unz, int *n_row, int *n_col, int *nz_udiag, void *Numeric, double)
-{
-  return umfpack_di_get_lunz(lnz,unz,n_row,n_col,nz_udiag,Numeric);
-}
-
-inline int umfpack_get_lunz(int *lnz, int *unz, int *n_row, int *n_col, int *nz_udiag, void *Numeric, std::complex<double>)
-{
-  return umfpack_zi_get_lunz(lnz,unz,n_row,n_col,nz_udiag,Numeric);
-}
-
-inline int umfpack_get_numeric(int Lp[], int Lj[], double Lx[], int Up[], int Ui[], double Ux[],
-                               int P[], int Q[], double Dx[], int *do_recip, double Rs[], void *Numeric)
-{
-  return umfpack_di_get_numeric(Lp,Lj,Lx,Up,Ui,Ux,P,Q,Dx,do_recip,Rs,Numeric);
-}
-
-inline int umfpack_get_numeric(int Lp[], int Lj[], std::complex<double> Lx[], int Up[], int Ui[], std::complex<double> Ux[],
-                               int P[], int Q[], std::complex<double> Dx[], int *do_recip, double Rs[], void *Numeric)
-{
-  double& lx0_real = numext::real_ref(Lx[0]);
-  double& ux0_real = numext::real_ref(Ux[0]);
-  double& dx0_real = numext::real_ref(Dx[0]);
-  return umfpack_zi_get_numeric(Lp,Lj,Lx?&lx0_real:0,0,Up,Ui,Ux?&ux0_real:0,0,P,Q,
-                                Dx?&dx0_real:0,0,do_recip,Rs,Numeric);
-}
-
-inline int umfpack_get_determinant(double *Mx, double *Ex, void *NumericHandle, double User_Info [UMFPACK_INFO])
-{
-  return umfpack_di_get_determinant(Mx,Ex,NumericHandle,User_Info);
-}
-
-inline int umfpack_get_determinant(std::complex<double> *Mx, double *Ex, void *NumericHandle, double User_Info [UMFPACK_INFO])
-{
-  double& mx_real = numext::real_ref(*Mx);
-  return umfpack_zi_get_determinant(&mx_real,0,Ex,NumericHandle,User_Info);
-}
-
-namespace internal {
-  template<typename T> struct umfpack_helper_is_sparse_plain : false_type {};
-  template<typename Scalar, int Options, typename StorageIndex>
-  struct umfpack_helper_is_sparse_plain<SparseMatrix<Scalar,Options,StorageIndex> >
-    : true_type {};
-  template<typename Scalar, int Options, typename StorageIndex>
-  struct umfpack_helper_is_sparse_plain<MappedSparseMatrix<Scalar,Options,StorageIndex> >
-    : true_type {};
-}
-
-/** \ingroup UmfPackSupport_Module
-  * \brief A sparse LU factorization and solver based on UmfPack
-  *
-  * This class allows to solve for A.X = B sparse linear problems via a LU factorization
-  * using the UmfPack library. The sparse matrix A must be squared and full rank.
-  * The vectors or matrices X and B can be either dense or sparse.
-  *
-  * \warning The input matrix A should be in a \b compressed and \b column-major form.
-  * Otherwise an expensive copy will be made. You can call the inexpensive makeCompressed() to get a compressed matrix.
-  * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
-  *
-  * \sa \ref TutorialSparseDirectSolvers
-  */
-template<typename _MatrixType>
-class UmfPackLU : internal::noncopyable
-{
-  public:
-    typedef _MatrixType MatrixType;
-    typedef typename MatrixType::Scalar Scalar;
-    typedef typename MatrixType::RealScalar RealScalar;
-    typedef typename MatrixType::Index Index;
-    typedef Matrix<Scalar,Dynamic,1> Vector;
-    typedef Matrix<int, 1, MatrixType::ColsAtCompileTime> IntRowVectorType;
-    typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> IntColVectorType;
-    typedef SparseMatrix<Scalar> LUMatrixType;
-    typedef SparseMatrix<Scalar,ColMajor,int> UmfpackMatrixType;
-
-  public:
-
-    UmfPackLU() { init(); }
-
-    UmfPackLU(const MatrixType& matrix)
-    {
-      init();
-      compute(matrix);
-    }
-
-    ~UmfPackLU()
-    {
-      if(m_symbolic) umfpack_free_symbolic(&m_symbolic,Scalar());
-      if(m_numeric)  umfpack_free_numeric(&m_numeric,Scalar());
-    }
-
-    inline Index rows() const { return m_copyMatrix.rows(); }
-    inline Index cols() const { return m_copyMatrix.cols(); }
-
-    /** \brief Reports whether previous computation was successful.
-      *
-      * \returns \c Success if computation was succesful,
-      *          \c NumericalIssue if the matrix.appears to be negative.
-      */
-    ComputationInfo info() const
-    {
-      eigen_assert(m_isInitialized && "Decomposition is not initialized.");
-      return m_info;
-    }
-
-    inline const LUMatrixType& matrixL() const
-    {
-      if (m_extractedDataAreDirty) extractData();
-      return m_l;
-    }
-
-    inline const LUMatrixType& matrixU() const
-    {
-      if (m_extractedDataAreDirty) extractData();
-      return m_u;
-    }
-
-    inline const IntColVectorType& permutationP() const
-    {
-      if (m_extractedDataAreDirty) extractData();
-      return m_p;
-    }
-
-    inline const IntRowVectorType& permutationQ() const
-    {
-      if (m_extractedDataAreDirty) extractData();
-      return m_q;
-    }
-
-    /** Computes the sparse Cholesky decomposition of \a matrix 
-     *  Note that the matrix should be column-major, and in compressed format for best performance.
-     *  \sa SparseMatrix::makeCompressed().
-     */
-    template<typename InputMatrixType>
-    void compute(const InputMatrixType& matrix)
-    {
-      if(m_symbolic) umfpack_free_symbolic(&m_symbolic,Scalar());
-      if(m_numeric)  umfpack_free_numeric(&m_numeric,Scalar());
-      grapInput(matrix.derived());
-      analyzePattern_impl();
-      factorize_impl();
-    }
-
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::solve_retval<UmfPackLU, Rhs> solve(const MatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "UmfPackLU is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "UmfPackLU::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::solve_retval<UmfPackLU, Rhs>(*this, b.derived());
-    }
-
-    /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A.
-      *
-      * \sa compute()
-      */
-    template<typename Rhs>
-    inline const internal::sparse_solve_retval<UmfPackLU, Rhs> solve(const SparseMatrixBase<Rhs>& b) const
-    {
-      eigen_assert(m_isInitialized && "UmfPackLU is not initialized.");
-      eigen_assert(rows()==b.rows()
-                && "UmfPackLU::solve(): invalid number of rows of the right hand side matrix b");
-      return internal::sparse_solve_retval<UmfPackLU, Rhs>(*this, b.derived());
-    }
-
-    /** Performs a symbolic decomposition on the sparcity of \a matrix.
-      *
-      * This function is particularly useful when solving for several problems having the same structure.
-      *
-      * \sa factorize(), compute()
-      */
-    template<typename InputMatrixType>
-    void analyzePattern(const InputMatrixType& matrix)
-    {
-      if(m_symbolic) umfpack_free_symbolic(&m_symbolic,Scalar());
-      if(m_numeric)  umfpack_free_numeric(&m_numeric,Scalar());
-      
-      grapInput(matrix.derived());
-
-      analyzePattern_impl();
-    }
-
-    /** Performs a numeric decomposition of \a matrix
-      *
-      * The given matrix must has the same sparcity than the matrix on which the pattern anylysis has been performed.
-      *
-      * \sa analyzePattern(), compute()
-      */
-    template<typename InputMatrixType>
-    void factorize(const InputMatrixType& matrix)
-    {
-      eigen_assert(m_analysisIsOk && "UmfPackLU: you must first call analyzePattern()");
-      if(m_numeric)
-        umfpack_free_numeric(&m_numeric,Scalar());
-
-      grapInput(matrix.derived());
-      
-      factorize_impl();
-    }
-
-    #ifndef EIGEN_PARSED_BY_DOXYGEN
-    /** \internal */
-    template<typename BDerived,typename XDerived>
-    bool _solve(const MatrixBase<BDerived> &b, MatrixBase<XDerived> &x) const;
-    #endif
-
-    Scalar determinant() const;
-
-    void extractData() const;
-
-  protected:
-
-    void init()
-    {
-      m_info                  = InvalidInput;
-      m_isInitialized         = false;
-      m_numeric               = 0;
-      m_symbolic              = 0;
-      m_outerIndexPtr         = 0;
-      m_innerIndexPtr         = 0;
-      m_valuePtr              = 0;
-      m_extractedDataAreDirty = true;
-    }
-    
-    template<typename InputMatrixType>
-    void grapInput_impl(const InputMatrixType& mat, internal::true_type)
-    {
-      m_copyMatrix.resize(mat.rows(), mat.cols());
-      if( ((MatrixType::Flags&RowMajorBit)==RowMajorBit) || sizeof(typename MatrixType::Index)!=sizeof(int) || !mat.isCompressed() )
-      {
-        // non supported input -> copy
-        m_copyMatrix = mat;
-        m_outerIndexPtr = m_copyMatrix.outerIndexPtr();
-        m_innerIndexPtr = m_copyMatrix.innerIndexPtr();
-        m_valuePtr      = m_copyMatrix.valuePtr();
-      }
-      else
-      {
-        m_outerIndexPtr = mat.outerIndexPtr();
-        m_innerIndexPtr = mat.innerIndexPtr();
-        m_valuePtr      = mat.valuePtr();
-      }
-    }
-    
-    template<typename InputMatrixType>
-    void grapInput_impl(const InputMatrixType& mat, internal::false_type)
-    {
-      m_copyMatrix = mat;
-      m_outerIndexPtr = m_copyMatrix.outerIndexPtr();
-      m_innerIndexPtr = m_copyMatrix.innerIndexPtr();
-      m_valuePtr      = m_copyMatrix.valuePtr();
-    }
-    
-    template<typename InputMatrixType>
-    void grapInput(const InputMatrixType& mat)
-    {
-      grapInput_impl(mat, internal::umfpack_helper_is_sparse_plain<InputMatrixType>());
-    }
-    
-    void analyzePattern_impl()
-    {
-      int errorCode = 0;
-      errorCode = umfpack_symbolic(m_copyMatrix.rows(), m_copyMatrix.cols(), m_outerIndexPtr, m_innerIndexPtr, m_valuePtr,
-                                   &m_symbolic, 0, 0);
-
-      m_isInitialized = true;
-      m_info = errorCode ? InvalidInput : Success;
-      m_analysisIsOk = true;
-      m_factorizationIsOk = false;
-      m_extractedDataAreDirty = true;
-    }
-    
-    void factorize_impl()
-    {
-      int errorCode;
-      errorCode = umfpack_numeric(m_outerIndexPtr, m_innerIndexPtr, m_valuePtr,
-                                  m_symbolic, &m_numeric, 0, 0);
-
-      m_info = errorCode ? NumericalIssue : Success;
-      m_factorizationIsOk = true;
-      m_extractedDataAreDirty = true;
-    }
-
-    // cached data to reduce reallocation, etc.
-    mutable LUMatrixType m_l;
-    mutable LUMatrixType m_u;
-    mutable IntColVectorType m_p;
-    mutable IntRowVectorType m_q;
-
-    UmfpackMatrixType m_copyMatrix;
-    const Scalar* m_valuePtr;
-    const int* m_outerIndexPtr;
-    const int* m_innerIndexPtr;
-    void* m_numeric;
-    void* m_symbolic;
-
-    mutable ComputationInfo m_info;
-    bool m_isInitialized;
-    int m_factorizationIsOk;
-    int m_analysisIsOk;
-    mutable bool m_extractedDataAreDirty;
-    
-  private:
-    UmfPackLU(UmfPackLU& ) { }
-};
-
-
-template<typename MatrixType>
-void UmfPackLU<MatrixType>::extractData() const
-{
-  if (m_extractedDataAreDirty)
-  {
-    // get size of the data
-    int lnz, unz, rows, cols, nz_udiag;
-    umfpack_get_lunz(&lnz, &unz, &rows, &cols, &nz_udiag, m_numeric, Scalar());
-
-    // allocate data
-    m_l.resize(rows,(std::min)(rows,cols));
-    m_l.resizeNonZeros(lnz);
-
-    m_u.resize((std::min)(rows,cols),cols);
-    m_u.resizeNonZeros(unz);
-
-    m_p.resize(rows);
-    m_q.resize(cols);
-
-    // extract
-    umfpack_get_numeric(m_l.outerIndexPtr(), m_l.innerIndexPtr(), m_l.valuePtr(),
-                        m_u.outerIndexPtr(), m_u.innerIndexPtr(), m_u.valuePtr(),
-                        m_p.data(), m_q.data(), 0, 0, 0, m_numeric);
-
-    m_extractedDataAreDirty = false;
-  }
-}
-
-template<typename MatrixType>
-typename UmfPackLU<MatrixType>::Scalar UmfPackLU<MatrixType>::determinant() const
-{
-  Scalar det;
-  umfpack_get_determinant(&det, 0, m_numeric, 0);
-  return det;
-}
-
-template<typename MatrixType>
-template<typename BDerived,typename XDerived>
-bool UmfPackLU<MatrixType>::_solve(const MatrixBase<BDerived> &b, MatrixBase<XDerived> &x) const
-{
-  const int rhsCols = b.cols();
-  eigen_assert((BDerived::Flags&RowMajorBit)==0 && "UmfPackLU backend does not support non col-major rhs yet");
-  eigen_assert((XDerived::Flags&RowMajorBit)==0 && "UmfPackLU backend does not support non col-major result yet");
-  eigen_assert(b.derived().data() != x.derived().data() && " Umfpack does not support inplace solve");
-  
-  int errorCode;
-  for (int j=0; j<rhsCols; ++j)
-  {
-    errorCode = umfpack_solve(UMFPACK_A,
-        m_outerIndexPtr, m_innerIndexPtr, m_valuePtr,
-        &x.col(j).coeffRef(0), &b.const_cast_derived().col(j).coeffRef(0), m_numeric, 0, 0);
-    if (errorCode!=0)
-      return false;
-  }
-
-  return true;
-}
-
-
-namespace internal {
-
-template<typename _MatrixType, typename Rhs>
-struct solve_retval<UmfPackLU<_MatrixType>, Rhs>
-  : solve_retval_base<UmfPackLU<_MatrixType>, Rhs>
-{
-  typedef UmfPackLU<_MatrixType> Dec;
-  EIGEN_MAKE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    dec()._solve(rhs(),dst);
-  }
-};
-
-template<typename _MatrixType, typename Rhs>
-struct sparse_solve_retval<UmfPackLU<_MatrixType>, Rhs>
-  : sparse_solve_retval_base<UmfPackLU<_MatrixType>, Rhs>
-{
-  typedef UmfPackLU<_MatrixType> Dec;
-  EIGEN_MAKE_SPARSE_SOLVE_HELPERS(Dec,Rhs)
-
-  template<typename Dest> void evalTo(Dest& dst) const
-  {
-    this->defaultEvalTo(dst);
-  }
-};
-
-} // end namespace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_UMFPACKSUPPORT_H
diff --git a/lib/Eigen/src/misc/CMakeLists.txt b/lib/Eigen/src/misc/CMakeLists.txt
deleted file mode 100644
index a58ffb74..00000000
--- a/lib/Eigen/src/misc/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_misc_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_misc_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/misc COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/misc/Image.h b/lib/Eigen/src/misc/Image.h
deleted file mode 100644
index 75c5f433..00000000
--- a/lib/Eigen/src/misc/Image.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MISC_IMAGE_H
-#define EIGEN_MISC_IMAGE_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \class image_retval_base
-  *
-  */
-template<typename DecompositionType>
-struct traits<image_retval_base<DecompositionType> >
-{
-  typedef typename DecompositionType::MatrixType MatrixType;
-  typedef Matrix<
-    typename MatrixType::Scalar,
-    MatrixType::RowsAtCompileTime, // the image is a subspace of the destination space, whose
-                                   // dimension is the number of rows of the original matrix
-    Dynamic,                       // we don't know at compile time the dimension of the image (the rank)
-    MatrixType::Options,
-    MatrixType::MaxRowsAtCompileTime, // the image matrix will consist of columns from the original matrix,
-    MatrixType::MaxColsAtCompileTime  // so it has the same number of rows and at most as many columns.
-  > ReturnType;
-};
-
-template<typename _DecompositionType> struct image_retval_base
- : public ReturnByValue<image_retval_base<_DecompositionType> >
-{
-  typedef _DecompositionType DecompositionType;
-  typedef typename DecompositionType::MatrixType MatrixType;
-  typedef ReturnByValue<image_retval_base> Base;
-  typedef typename Base::Index Index;
-
-  image_retval_base(const DecompositionType& dec, const MatrixType& originalMatrix)
-    : m_dec(dec), m_rank(dec.rank()),
-      m_cols(m_rank == 0 ? 1 : m_rank),
-      m_originalMatrix(originalMatrix)
-  {}
-
-  inline Index rows() const { return m_dec.rows(); }
-  inline Index cols() const { return m_cols; }
-  inline Index rank() const { return m_rank; }
-  inline const DecompositionType& dec() const { return m_dec; }
-  inline const MatrixType& originalMatrix() const { return m_originalMatrix; }
-
-  template<typename Dest> inline void evalTo(Dest& dst) const
-  {
-    static_cast<const image_retval<DecompositionType>*>(this)->evalTo(dst);
-  }
-
-  protected:
-    const DecompositionType& m_dec;
-    Index m_rank, m_cols;
-    const MatrixType& m_originalMatrix;
-};
-
-} // end namespace internal
-
-#define EIGEN_MAKE_IMAGE_HELPERS(DecompositionType) \
-  typedef typename DecompositionType::MatrixType MatrixType; \
-  typedef typename MatrixType::Scalar Scalar; \
-  typedef typename MatrixType::RealScalar RealScalar; \
-  typedef typename MatrixType::Index Index; \
-  typedef Eigen::internal::image_retval_base<DecompositionType> Base; \
-  using Base::dec; \
-  using Base::originalMatrix; \
-  using Base::rank; \
-  using Base::rows; \
-  using Base::cols; \
-  image_retval(const DecompositionType& dec, const MatrixType& originalMatrix) \
-    : Base(dec, originalMatrix) {}
-
-} // end namespace Eigen
-
-#endif // EIGEN_MISC_IMAGE_H
diff --git a/lib/Eigen/src/misc/Kernel.h b/lib/Eigen/src/misc/Kernel.h
deleted file mode 100644
index b9e1518f..00000000
--- a/lib/Eigen/src/misc/Kernel.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MISC_KERNEL_H
-#define EIGEN_MISC_KERNEL_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \class kernel_retval_base
-  *
-  */
-template<typename DecompositionType>
-struct traits<kernel_retval_base<DecompositionType> >
-{
-  typedef typename DecompositionType::MatrixType MatrixType;
-  typedef Matrix<
-    typename MatrixType::Scalar,
-    MatrixType::ColsAtCompileTime, // the number of rows in the "kernel matrix"
-                                   // is the number of cols of the original matrix
-                                   // so that the product "matrix * kernel = zero" makes sense
-    Dynamic,                       // we don't know at compile-time the dimension of the kernel
-    MatrixType::Options,
-    MatrixType::MaxColsAtCompileTime, // see explanation for 2nd template parameter
-    MatrixType::MaxColsAtCompileTime // the kernel is a subspace of the domain space,
-                                     // whose dimension is the number of columns of the original matrix
-  > ReturnType;
-};
-
-template<typename _DecompositionType> struct kernel_retval_base
- : public ReturnByValue<kernel_retval_base<_DecompositionType> >
-{
-  typedef _DecompositionType DecompositionType;
-  typedef ReturnByValue<kernel_retval_base> Base;
-  typedef typename Base::Index Index;
-
-  kernel_retval_base(const DecompositionType& dec)
-    : m_dec(dec),
-      m_rank(dec.rank()),
-      m_cols(m_rank==dec.cols() ? 1 : dec.cols() - m_rank)
-  {}
-
-  inline Index rows() const { return m_dec.cols(); }
-  inline Index cols() const { return m_cols; }
-  inline Index rank() const { return m_rank; }
-  inline const DecompositionType& dec() const { return m_dec; }
-
-  template<typename Dest> inline void evalTo(Dest& dst) const
-  {
-    static_cast<const kernel_retval<DecompositionType>*>(this)->evalTo(dst);
-  }
-
-  protected:
-    const DecompositionType& m_dec;
-    Index m_rank, m_cols;
-};
-
-} // end namespace internal
-
-#define EIGEN_MAKE_KERNEL_HELPERS(DecompositionType) \
-  typedef typename DecompositionType::MatrixType MatrixType; \
-  typedef typename MatrixType::Scalar Scalar; \
-  typedef typename MatrixType::RealScalar RealScalar; \
-  typedef typename MatrixType::Index Index; \
-  typedef Eigen::internal::kernel_retval_base<DecompositionType> Base; \
-  using Base::dec; \
-  using Base::rank; \
-  using Base::rows; \
-  using Base::cols; \
-  kernel_retval(const DecompositionType& dec) : Base(dec) {}
-
-} // end namespace Eigen
-
-#endif // EIGEN_MISC_KERNEL_H
diff --git a/lib/Eigen/src/misc/Solve.h b/lib/Eigen/src/misc/Solve.h
deleted file mode 100644
index 7f70d60a..00000000
--- a/lib/Eigen/src/misc/Solve.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_MISC_SOLVE_H
-#define EIGEN_MISC_SOLVE_H
-
-namespace Eigen { 
-
-namespace internal {
-
-/** \class solve_retval_base
-  *
-  */
-template<typename DecompositionType, typename Rhs>
-struct traits<solve_retval_base<DecompositionType, Rhs> >
-{
-  typedef typename DecompositionType::MatrixType MatrixType;
-  typedef Matrix<typename Rhs::Scalar,
-                 MatrixType::ColsAtCompileTime,
-                 Rhs::ColsAtCompileTime,
-                 Rhs::PlainObject::Options,
-                 MatrixType::MaxColsAtCompileTime,
-                 Rhs::MaxColsAtCompileTime> ReturnType;
-};
-
-template<typename _DecompositionType, typename Rhs> struct solve_retval_base
- : public ReturnByValue<solve_retval_base<_DecompositionType, Rhs> >
-{
-  typedef typename remove_all<typename Rhs::Nested>::type RhsNestedCleaned;
-  typedef _DecompositionType DecompositionType;
-  typedef ReturnByValue<solve_retval_base> Base;
-  typedef typename Base::Index Index;
-
-  solve_retval_base(const DecompositionType& dec, const Rhs& rhs)
-    : m_dec(dec), m_rhs(rhs)
-  {}
-
-  inline Index rows() const { return m_dec.cols(); }
-  inline Index cols() const { return m_rhs.cols(); }
-  inline const DecompositionType& dec() const { return m_dec; }
-  inline const RhsNestedCleaned& rhs() const { return m_rhs; }
-
-  template<typename Dest> inline void evalTo(Dest& dst) const
-  {
-    static_cast<const solve_retval<DecompositionType,Rhs>*>(this)->evalTo(dst);
-  }
-
-  protected:
-    const DecompositionType& m_dec;
-    typename Rhs::Nested m_rhs;
-};
-
-} // end namespace internal
-
-#define EIGEN_MAKE_SOLVE_HELPERS(DecompositionType,Rhs) \
-  typedef typename DecompositionType::MatrixType MatrixType; \
-  typedef typename MatrixType::Scalar Scalar; \
-  typedef typename MatrixType::RealScalar RealScalar; \
-  typedef typename MatrixType::Index Index; \
-  typedef Eigen::internal::solve_retval_base<DecompositionType,Rhs> Base; \
-  using Base::dec; \
-  using Base::rhs; \
-  using Base::rows; \
-  using Base::cols; \
-  solve_retval(const DecompositionType& dec, const Rhs& rhs) \
-    : Base(dec, rhs) {}
-
-} // end namespace Eigen
-
-#endif // EIGEN_MISC_SOLVE_H
diff --git a/lib/Eigen/src/misc/SparseSolve.h b/lib/Eigen/src/misc/SparseSolve.h
deleted file mode 100644
index 244bb8ec..00000000
--- a/lib/Eigen/src/misc/SparseSolve.h
+++ /dev/null
@@ -1,128 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef EIGEN_SPARSE_SOLVE_H
-#define EIGEN_SPARSE_SOLVE_H
-
-namespace Eigen { 
-
-namespace internal {
-
-template<typename _DecompositionType, typename Rhs> struct sparse_solve_retval_base;
-template<typename _DecompositionType, typename Rhs> struct sparse_solve_retval;
-  
-template<typename DecompositionType, typename Rhs>
-struct traits<sparse_solve_retval_base<DecompositionType, Rhs> >
-{
-  typedef typename DecompositionType::MatrixType MatrixType;
-  typedef SparseMatrix<typename Rhs::Scalar, Rhs::Options, typename Rhs::Index> ReturnType;
-};
-
-template<typename _DecompositionType, typename Rhs> struct sparse_solve_retval_base
- : public ReturnByValue<sparse_solve_retval_base<_DecompositionType, Rhs> >
-{
-  typedef typename remove_all<typename Rhs::Nested>::type RhsNestedCleaned;
-  typedef _DecompositionType DecompositionType;
-  typedef ReturnByValue<sparse_solve_retval_base> Base;
-  typedef typename Base::Index Index;
-
-  sparse_solve_retval_base(const DecompositionType& dec, const Rhs& rhs)
-    : m_dec(dec), m_rhs(rhs)
-  {}
-
-  inline Index rows() const { return m_dec.cols(); }
-  inline Index cols() const { return m_rhs.cols(); }
-  inline const DecompositionType& dec() const { return m_dec; }
-  inline const RhsNestedCleaned& rhs() const { return m_rhs; }
-
-  template<typename Dest> inline void evalTo(Dest& dst) const
-  {
-    static_cast<const sparse_solve_retval<DecompositionType,Rhs>*>(this)->evalTo(dst);
-  }
-
-  protected:
-    template<typename DestScalar, int DestOptions, typename DestIndex>
-    inline void defaultEvalTo(SparseMatrix<DestScalar,DestOptions,DestIndex>& dst) const
-    {
-      // we process the sparse rhs per block of NbColsAtOnce columns temporarily stored into a dense matrix.
-      static const int NbColsAtOnce = 4;
-      int rhsCols = m_rhs.cols();
-      int size = m_rhs.rows();
-      Eigen::Matrix<DestScalar,Dynamic,Dynamic> tmp(size,rhsCols);
-      Eigen::Matrix<DestScalar,Dynamic,Dynamic> tmpX(size,rhsCols);
-      for(int k=0; k<rhsCols; k+=NbColsAtOnce)
-      {
-        int actualCols = std::min<int>(rhsCols-k, NbColsAtOnce);
-        tmp.leftCols(actualCols) = m_rhs.middleCols(k,actualCols);
-        tmpX.leftCols(actualCols) = m_dec.solve(tmp.leftCols(actualCols));
-        dst.middleCols(k,actualCols) = tmpX.leftCols(actualCols).sparseView();
-      }
-    }
-    const DecompositionType& m_dec;
-    typename Rhs::Nested m_rhs;
-};
-
-#define EIGEN_MAKE_SPARSE_SOLVE_HELPERS(DecompositionType,Rhs) \
-  typedef typename DecompositionType::MatrixType MatrixType; \
-  typedef typename MatrixType::Scalar Scalar; \
-  typedef typename MatrixType::RealScalar RealScalar; \
-  typedef typename MatrixType::Index Index; \
-  typedef Eigen::internal::sparse_solve_retval_base<DecompositionType,Rhs> Base; \
-  using Base::dec; \
-  using Base::rhs; \
-  using Base::rows; \
-  using Base::cols; \
-  sparse_solve_retval(const DecompositionType& dec, const Rhs& rhs) \
-    : Base(dec, rhs) {}
-
-
-
-template<typename DecompositionType, typename Rhs, typename Guess> struct solve_retval_with_guess;
-
-template<typename DecompositionType, typename Rhs, typename Guess>
-struct traits<solve_retval_with_guess<DecompositionType, Rhs, Guess> >
-{
-  typedef typename DecompositionType::MatrixType MatrixType;
-  typedef Matrix<typename Rhs::Scalar,
-                 MatrixType::ColsAtCompileTime,
-                 Rhs::ColsAtCompileTime,
-                 Rhs::PlainObject::Options,
-                 MatrixType::MaxColsAtCompileTime,
-                 Rhs::MaxColsAtCompileTime> ReturnType;
-};
-
-template<typename DecompositionType, typename Rhs, typename Guess> struct solve_retval_with_guess
- : public ReturnByValue<solve_retval_with_guess<DecompositionType, Rhs, Guess> >
-{
-  typedef typename DecompositionType::Index Index;
-
-  solve_retval_with_guess(const DecompositionType& dec, const Rhs& rhs, const Guess& guess)
-    : m_dec(dec), m_rhs(rhs), m_guess(guess)
-  {}
-
-  inline Index rows() const { return m_dec.cols(); }
-  inline Index cols() const { return m_rhs.cols(); }
-
-  template<typename Dest> inline void evalTo(Dest& dst) const
-  {
-    dst = m_guess;
-    m_dec._solveWithGuess(m_rhs,dst);
-  }
-
-  protected:
-    const DecompositionType& m_dec;
-    const typename Rhs::Nested m_rhs;
-    const typename Guess::Nested m_guess;
-};
-
-} // namepsace internal
-
-} // end namespace Eigen
-
-#endif // EIGEN_SPARSE_SOLVE_H
diff --git a/lib/Eigen/src/misc/blas.h b/lib/Eigen/src/misc/blas.h
deleted file mode 100644
index 6fce99ed..00000000
--- a/lib/Eigen/src/misc/blas.h
+++ /dev/null
@@ -1,658 +0,0 @@
-#ifndef BLAS_H
-#define BLAS_H
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-#define BLASFUNC(FUNC) FUNC##_
-
-#ifdef __WIN64__
-typedef long long BLASLONG;
-typedef unsigned long long BLASULONG;
-#else
-typedef long BLASLONG;
-typedef unsigned long BLASULONG;
-#endif
-
-int    BLASFUNC(xerbla)(const char *, int *info, int);
-
-float  BLASFUNC(sdot)  (int *, float  *, int *, float  *, int *);
-float  BLASFUNC(sdsdot)(int *, float  *,        float  *, int *, float  *, int *);
-
-double BLASFUNC(dsdot) (int *, float  *, int *, float  *, int *);
-double BLASFUNC(ddot)  (int *, double *, int *, double *, int *);
-double BLASFUNC(qdot)  (int *, double *, int *, double *, int *);
-
-int  BLASFUNC(cdotuw)  (int *, float  *, int *, float  *, int *, float*);
-int  BLASFUNC(cdotcw)  (int *, float  *, int *, float  *, int *, float*);
-int  BLASFUNC(zdotuw)  (int *, double  *, int *, double  *, int *, double*);
-int  BLASFUNC(zdotcw)  (int *, double  *, int *, double  *, int *, double*);
-
-int    BLASFUNC(saxpy) (int *, float  *, float  *, int *, float  *, int *);
-int    BLASFUNC(daxpy) (int *, double *, double *, int *, double *, int *);
-int    BLASFUNC(qaxpy) (int *, double *, double *, int *, double *, int *);
-int    BLASFUNC(caxpy) (int *, float  *, float  *, int *, float  *, int *);
-int    BLASFUNC(zaxpy) (int *, double *, double *, int *, double *, int *);
-int    BLASFUNC(xaxpy) (int *, double *, double *, int *, double *, int *);
-int    BLASFUNC(caxpyc)(int *, float  *, float  *, int *, float  *, int *);
-int    BLASFUNC(zaxpyc)(int *, double *, double *, int *, double *, int *);
-int    BLASFUNC(xaxpyc)(int *, double *, double *, int *, double *, int *);
-
-int    BLASFUNC(scopy) (int *, float  *, int *, float  *, int *);
-int    BLASFUNC(dcopy) (int *, double *, int *, double *, int *);
-int    BLASFUNC(qcopy) (int *, double *, int *, double *, int *);
-int    BLASFUNC(ccopy) (int *, float  *, int *, float  *, int *);
-int    BLASFUNC(zcopy) (int *, double *, int *, double *, int *);
-int    BLASFUNC(xcopy) (int *, double *, int *, double *, int *);
-
-int    BLASFUNC(sswap) (int *, float  *, int *, float  *, int *);
-int    BLASFUNC(dswap) (int *, double *, int *, double *, int *);
-int    BLASFUNC(qswap) (int *, double *, int *, double *, int *);
-int    BLASFUNC(cswap) (int *, float  *, int *, float  *, int *);
-int    BLASFUNC(zswap) (int *, double *, int *, double *, int *);
-int    BLASFUNC(xswap) (int *, double *, int *, double *, int *);
-
-float  BLASFUNC(sasum) (int *, float  *, int *);
-float  BLASFUNC(scasum)(int *, float  *, int *);
-double BLASFUNC(dasum) (int *, double *, int *);
-double BLASFUNC(qasum) (int *, double *, int *);
-double BLASFUNC(dzasum)(int *, double *, int *);
-double BLASFUNC(qxasum)(int *, double *, int *);
-
-int    BLASFUNC(isamax)(int *, float  *, int *);
-int    BLASFUNC(idamax)(int *, double *, int *);
-int    BLASFUNC(iqamax)(int *, double *, int *);
-int    BLASFUNC(icamax)(int *, float  *, int *);
-int    BLASFUNC(izamax)(int *, double *, int *);
-int    BLASFUNC(ixamax)(int *, double *, int *);
-
-int    BLASFUNC(ismax) (int *, float  *, int *);
-int    BLASFUNC(idmax) (int *, double *, int *);
-int    BLASFUNC(iqmax) (int *, double *, int *);
-int    BLASFUNC(icmax) (int *, float  *, int *);
-int    BLASFUNC(izmax) (int *, double *, int *);
-int    BLASFUNC(ixmax) (int *, double *, int *);
-
-int    BLASFUNC(isamin)(int *, float  *, int *);
-int    BLASFUNC(idamin)(int *, double *, int *);
-int    BLASFUNC(iqamin)(int *, double *, int *);
-int    BLASFUNC(icamin)(int *, float  *, int *);
-int    BLASFUNC(izamin)(int *, double *, int *);
-int    BLASFUNC(ixamin)(int *, double *, int *);
-
-int    BLASFUNC(ismin)(int *, float  *, int *);
-int    BLASFUNC(idmin)(int *, double *, int *);
-int    BLASFUNC(iqmin)(int *, double *, int *);
-int    BLASFUNC(icmin)(int *, float  *, int *);
-int    BLASFUNC(izmin)(int *, double *, int *);
-int    BLASFUNC(ixmin)(int *, double *, int *);
-
-float  BLASFUNC(samax) (int *, float  *, int *);
-double BLASFUNC(damax) (int *, double *, int *);
-double BLASFUNC(qamax) (int *, double *, int *);
-float  BLASFUNC(scamax)(int *, float  *, int *);
-double BLASFUNC(dzamax)(int *, double *, int *);
-double BLASFUNC(qxamax)(int *, double *, int *);
-
-float  BLASFUNC(samin) (int *, float  *, int *);
-double BLASFUNC(damin) (int *, double *, int *);
-double BLASFUNC(qamin) (int *, double *, int *);
-float  BLASFUNC(scamin)(int *, float  *, int *);
-double BLASFUNC(dzamin)(int *, double *, int *);
-double BLASFUNC(qxamin)(int *, double *, int *);
-
-float  BLASFUNC(smax)  (int *, float  *, int *);
-double BLASFUNC(dmax)  (int *, double *, int *);
-double BLASFUNC(qmax)  (int *, double *, int *);
-float  BLASFUNC(scmax) (int *, float  *, int *);
-double BLASFUNC(dzmax) (int *, double *, int *);
-double BLASFUNC(qxmax) (int *, double *, int *);
-
-float  BLASFUNC(smin)  (int *, float  *, int *);
-double BLASFUNC(dmin)  (int *, double *, int *);
-double BLASFUNC(qmin)  (int *, double *, int *);
-float  BLASFUNC(scmin) (int *, float  *, int *);
-double BLASFUNC(dzmin) (int *, double *, int *);
-double BLASFUNC(qxmin) (int *, double *, int *);
-
-int    BLASFUNC(sscal) (int *,  float  *, float  *, int *);
-int    BLASFUNC(dscal) (int *,  double *, double *, int *);
-int    BLASFUNC(qscal) (int *,  double *, double *, int *);
-int    BLASFUNC(cscal) (int *,  float  *, float  *, int *);
-int    BLASFUNC(zscal) (int *,  double *, double *, int *);
-int    BLASFUNC(xscal) (int *,  double *, double *, int *);
-int    BLASFUNC(csscal)(int *,  float  *, float  *, int *);
-int    BLASFUNC(zdscal)(int *,  double *, double *, int *);
-int    BLASFUNC(xqscal)(int *,  double *, double *, int *);
-
-float  BLASFUNC(snrm2) (int *, float  *, int *);
-float  BLASFUNC(scnrm2)(int *, float  *, int *);
-
-double BLASFUNC(dnrm2) (int *, double *, int *);
-double BLASFUNC(qnrm2) (int *, double *, int *);
-double BLASFUNC(dznrm2)(int *, double *, int *);
-double BLASFUNC(qxnrm2)(int *, double *, int *);
-
-int    BLASFUNC(srot)  (int *, float  *, int *, float  *, int *, float  *, float  *);
-int    BLASFUNC(drot)  (int *, double *, int *, double *, int *, double *, double *);
-int    BLASFUNC(qrot)  (int *, double *, int *, double *, int *, double *, double *);
-int    BLASFUNC(csrot) (int *, float  *, int *, float  *, int *, float  *, float  *);
-int    BLASFUNC(zdrot) (int *, double *, int *, double *, int *, double *, double *);
-int    BLASFUNC(xqrot) (int *, double *, int *, double *, int *, double *, double *);
-
-int    BLASFUNC(srotg) (float  *, float  *, float  *, float  *);
-int    BLASFUNC(drotg) (double *, double *, double *, double *);
-int    BLASFUNC(qrotg) (double *, double *, double *, double *);
-int    BLASFUNC(crotg) (float  *, float  *, float  *, float  *);
-int    BLASFUNC(zrotg) (double *, double *, double *, double *);
-int    BLASFUNC(xrotg) (double *, double *, double *, double *);
-
-int    BLASFUNC(srotmg)(float  *, float  *, float  *, float  *, float  *);
-int    BLASFUNC(drotmg)(double *, double *, double *, double *, double *);
-
-int    BLASFUNC(srotm) (int *, float  *, int *, float  *, int *, float  *);
-int    BLASFUNC(drotm) (int *, double *, int *, double *, int *, double *);
-int    BLASFUNC(qrotm) (int *, double *, int *, double *, int *, double *);
-
-/* Level 2 routines */
-
-int BLASFUNC(sger)(int *,    int *, float *,  float *, int *,
-		   float *,  int *, float *,  int *);
-int BLASFUNC(dger)(int *,    int *, double *, double *, int *,
-		   double *, int *, double *, int *);
-int BLASFUNC(qger)(int *,    int *, double *, double *, int *,
-		   double *, int *, double *, int *);
-int BLASFUNC(cgeru)(int *,    int *, float *,  float *, int *,
-		    float *,  int *, float *,  int *);
-int BLASFUNC(cgerc)(int *,    int *, float *,  float *, int *,
-		    float *,  int *, float *,  int *);
-int BLASFUNC(zgeru)(int *,    int *, double *, double *, int *,
-		    double *, int *, double *, int *);
-int BLASFUNC(zgerc)(int *,    int *, double *, double *, int *,
-		    double *, int *, double *, int *);
-int BLASFUNC(xgeru)(int *,    int *, double *, double *, int *,
-		    double *, int *, double *, int *);
-int BLASFUNC(xgerc)(int *,    int *, double *, double *, int *,
-		    double *, int *, double *, int *);
-
-int BLASFUNC(sgemv)(char *, int *, int *, float  *, float  *, int *,
-		    float  *, int *, float  *, float  *, int *);
-int BLASFUNC(dgemv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(qgemv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(cgemv)(char *, int *, int *, float  *, float  *, int *,
-		    float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zgemv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(xgemv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-
-int BLASFUNC(strsv) (char *, char *, char *, int *, float  *, int *,
-		     float  *, int *);
-int BLASFUNC(dtrsv) (char *, char *, char *, int *, double *, int *,
-		     double *, int *);
-int BLASFUNC(qtrsv) (char *, char *, char *, int *, double *, int *,
-		     double *, int *);
-int BLASFUNC(ctrsv) (char *, char *, char *, int *, float  *, int *,
-		     float  *, int *);
-int BLASFUNC(ztrsv) (char *, char *, char *, int *, double *, int *,
-		     double *, int *);
-int BLASFUNC(xtrsv) (char *, char *, char *, int *, double *, int *,
-		     double *, int *);
-
-int BLASFUNC(stpsv) (char *, char *, char *, int *, float  *, float  *, int *);
-int BLASFUNC(dtpsv) (char *, char *, char *, int *, double *, double *, int *);
-int BLASFUNC(qtpsv) (char *, char *, char *, int *, double *, double *, int *);
-int BLASFUNC(ctpsv) (char *, char *, char *, int *, float  *, float  *, int *);
-int BLASFUNC(ztpsv) (char *, char *, char *, int *, double *, double *, int *);
-int BLASFUNC(xtpsv) (char *, char *, char *, int *, double *, double *, int *);
-
-int BLASFUNC(strmv) (char *, char *, char *, int *, float  *, int *,
-		     float  *, int *);
-int BLASFUNC(dtrmv) (char *, char *, char *, int *, double *, int *,
-		     double *, int *);
-int BLASFUNC(qtrmv) (char *, char *, char *, int *, double *, int *,
-		     double *, int *);
-int BLASFUNC(ctrmv) (char *, char *, char *, int *, float  *, int *,
-		     float  *, int *);
-int BLASFUNC(ztrmv) (char *, char *, char *, int *, double *, int *,
-		     double *, int *);
-int BLASFUNC(xtrmv) (char *, char *, char *, int *, double *, int *,
-		     double *, int *);
-
-int BLASFUNC(stpmv) (char *, char *, char *, int *, float  *, float  *, int *);
-int BLASFUNC(dtpmv) (char *, char *, char *, int *, double *, double *, int *);
-int BLASFUNC(qtpmv) (char *, char *, char *, int *, double *, double *, int *);
-int BLASFUNC(ctpmv) (char *, char *, char *, int *, float  *, float  *, int *);
-int BLASFUNC(ztpmv) (char *, char *, char *, int *, double *, double *, int *);
-int BLASFUNC(xtpmv) (char *, char *, char *, int *, double *, double *, int *);
-
-int BLASFUNC(stbmv) (char *, char *, char *, int *, int *, float  *, int *, float  *, int *);
-int BLASFUNC(dtbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
-int BLASFUNC(qtbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
-int BLASFUNC(ctbmv) (char *, char *, char *, int *, int *, float  *, int *, float  *, int *);
-int BLASFUNC(ztbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
-int BLASFUNC(xtbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
-
-int BLASFUNC(stbsv) (char *, char *, char *, int *, int *, float  *, int *, float  *, int *);
-int BLASFUNC(dtbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
-int BLASFUNC(qtbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
-int BLASFUNC(ctbsv) (char *, char *, char *, int *, int *, float  *, int *, float  *, int *);
-int BLASFUNC(ztbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
-int BLASFUNC(xtbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
-
-int BLASFUNC(ssymv) (char *, int *, float  *, float *, int *,
-		     float  *, int *, float *, float *, int *);
-int BLASFUNC(dsymv) (char *, int *, double  *, double *, int *,
-		     double  *, int *, double *, double *, int *);
-int BLASFUNC(qsymv) (char *, int *, double  *, double *, int *,
-		     double  *, int *, double *, double *, int *);
-int BLASFUNC(csymv) (char *, int *, float  *, float *, int *,
-		     float  *, int *, float *, float *, int *);
-int BLASFUNC(zsymv) (char *, int *, double  *, double *, int *,
-		     double  *, int *, double *, double *, int *);
-int BLASFUNC(xsymv) (char *, int *, double  *, double *, int *,
-		     double  *, int *, double *, double *, int *);
-
-int BLASFUNC(sspmv) (char *, int *, float  *, float *,
-		     float  *, int *, float *, float *, int *);
-int BLASFUNC(dspmv) (char *, int *, double  *, double *,
-		     double  *, int *, double *, double *, int *);
-int BLASFUNC(qspmv) (char *, int *, double  *, double *,
-		     double  *, int *, double *, double *, int *);
-int BLASFUNC(cspmv) (char *, int *, float  *, float *,
-		     float  *, int *, float *, float *, int *);
-int BLASFUNC(zspmv) (char *, int *, double  *, double *,
-		     double  *, int *, double *, double *, int *);
-int BLASFUNC(xspmv) (char *, int *, double  *, double *,
-		     double  *, int *, double *, double *, int *);
-
-int BLASFUNC(ssyr) (char *, int *, float   *, float  *, int *,
-		    float  *, int *);
-int BLASFUNC(dsyr) (char *, int *, double  *, double *, int *,
-		    double *, int *);
-int BLASFUNC(qsyr) (char *, int *, double  *, double *, int *,
-		    double *, int *);
-int BLASFUNC(csyr) (char *, int *, float   *, float  *, int *,
-		    float  *, int *);
-int BLASFUNC(zsyr) (char *, int *, double  *, double *, int *,
-		    double *, int *);
-int BLASFUNC(xsyr) (char *, int *, double  *, double *, int *,
-		    double *, int *);
-
-int BLASFUNC(ssyr2) (char *, int *, float   *,
-		     float  *, int *, float  *, int *, float  *, int *);
-int BLASFUNC(dsyr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *, int *);
-int BLASFUNC(qsyr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *, int *);
-int BLASFUNC(csyr2) (char *, int *, float   *,
-		     float  *, int *, float  *, int *, float  *, int *);
-int BLASFUNC(zsyr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *, int *);
-int BLASFUNC(xsyr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *, int *);
-
-int BLASFUNC(sspr) (char *, int *, float   *, float  *, int *,
-		    float  *);
-int BLASFUNC(dspr) (char *, int *, double  *, double *, int *,
-		    double *);
-int BLASFUNC(qspr) (char *, int *, double  *, double *, int *,
-		    double *);
-int BLASFUNC(cspr) (char *, int *, float   *, float  *, int *,
-		    float  *);
-int BLASFUNC(zspr) (char *, int *, double  *, double *, int *,
-		    double *);
-int BLASFUNC(xspr) (char *, int *, double  *, double *, int *,
-		    double *);
-
-int BLASFUNC(sspr2) (char *, int *, float   *,
-		     float  *, int *, float  *, int *, float  *);
-int BLASFUNC(dspr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *);
-int BLASFUNC(qspr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *);
-int BLASFUNC(cspr2) (char *, int *, float   *,
-		     float  *, int *, float  *, int *, float  *);
-int BLASFUNC(zspr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *);
-int BLASFUNC(xspr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *);
-
-int BLASFUNC(cher) (char *, int *, float   *, float  *, int *,
-		    float  *, int *);
-int BLASFUNC(zher) (char *, int *, double  *, double *, int *,
-		    double *, int *);
-int BLASFUNC(xher) (char *, int *, double  *, double *, int *,
-		    double *, int *);
-
-int BLASFUNC(chpr) (char *, int *, float   *, float  *, int *, float  *);
-int BLASFUNC(zhpr) (char *, int *, double  *, double *, int *, double *);
-int BLASFUNC(xhpr) (char *, int *, double  *, double *, int *, double *);
-
-int BLASFUNC(cher2) (char *, int *, float   *,
-		     float  *, int *, float  *, int *, float  *, int *);
-int BLASFUNC(zher2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *, int *);
-int BLASFUNC(xher2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *, int *);
-
-int BLASFUNC(chpr2) (char *, int *, float   *,
-		     float  *, int *, float  *, int *, float  *);
-int BLASFUNC(zhpr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *);
-int BLASFUNC(xhpr2) (char *, int *, double  *,
-		     double *, int *, double *, int *, double *);
-
-int BLASFUNC(chemv) (char *, int *, float  *, float *, int *,
-		     float  *, int *, float *, float *, int *);
-int BLASFUNC(zhemv) (char *, int *, double  *, double *, int *,
-		     double  *, int *, double *, double *, int *);
-int BLASFUNC(xhemv) (char *, int *, double  *, double *, int *,
-		     double  *, int *, double *, double *, int *);
-
-int BLASFUNC(chpmv) (char *, int *, float  *, float *,
-		     float  *, int *, float *, float *, int *);
-int BLASFUNC(zhpmv) (char *, int *, double  *, double *,
-		     double  *, int *, double *, double *, int *);
-int BLASFUNC(xhpmv) (char *, int *, double  *, double *,
-		     double  *, int *, double *, double *, int *);
-
-int BLASFUNC(snorm)(char *, int *, int *, float  *, int *);
-int BLASFUNC(dnorm)(char *, int *, int *, double *, int *);
-int BLASFUNC(cnorm)(char *, int *, int *, float  *, int *);
-int BLASFUNC(znorm)(char *, int *, int *, double *, int *);
-
-int BLASFUNC(sgbmv)(char *, int *, int *, int *, int *, float  *, float  *, int *,
-		    float  *, int *, float  *, float  *, int *);
-int BLASFUNC(dgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(qgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(cgbmv)(char *, int *, int *, int *, int *, float  *, float  *, int *,
-		    float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(xgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-
-int BLASFUNC(ssbmv)(char *, int *, int *, float  *, float  *, int *,
-		    float  *, int *, float  *, float  *, int *);
-int BLASFUNC(dsbmv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(qsbmv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(csbmv)(char *, int *, int *, float  *, float  *, int *,
-		    float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zsbmv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(xsbmv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-
-int BLASFUNC(chbmv)(char *, int *, int *, float  *, float  *, int *,
-		    float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zhbmv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-int BLASFUNC(xhbmv)(char *, int *, int *, double *, double *, int *,
-		    double *, int *, double *, double *, int *);
-
-/* Level 3 routines */
-
-int BLASFUNC(sgemm)(char *, char *, int *, int *, int *, float *,
-	   float  *, int *, float  *, int *, float  *, float  *, int *);
-int BLASFUNC(dgemm)(char *, char *, int *, int *, int *, double *,
-	   double *, int *, double *, int *, double *, double *, int *);
-int BLASFUNC(qgemm)(char *, char *, int *, int *, int *, double *,
-	   double *, int *, double *, int *, double *, double *, int *);
-int BLASFUNC(cgemm)(char *, char *, int *, int *, int *, float *,
-	   float  *, int *, float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zgemm)(char *, char *, int *, int *, int *, double *,
-	   double *, int *, double *, int *, double *, double *, int *);
-int BLASFUNC(xgemm)(char *, char *, int *, int *, int *, double *,
-	   double *, int *, double *, int *, double *, double *, int *);
-
-int BLASFUNC(cgemm3m)(char *, char *, int *, int *, int *, float *,
-	   float  *, int *, float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zgemm3m)(char *, char *, int *, int *, int *, double *,
-	   double *, int *, double *, int *, double *, double *, int *);
-int BLASFUNC(xgemm3m)(char *, char *, int *, int *, int *, double *,
-	   double *, int *, double *, int *, double *, double *, int *);
-
-int BLASFUNC(sge2mm)(char *, char *, char *, int *, int *,
-		     float *, float  *, int *, float  *, int *,
-		     float *, float  *, int *);
-int BLASFUNC(dge2mm)(char *, char *, char *, int *, int *,
-		     double *, double  *, int *, double  *, int *,
-		     double *, double  *, int *);
-int BLASFUNC(cge2mm)(char *, char *, char *, int *, int *,
-		     float *, float  *, int *, float  *, int *,
-		     float *, float  *, int *);
-int BLASFUNC(zge2mm)(char *, char *, char *, int *, int *,
-		     double *, double  *, int *, double  *, int *,
-		     double *, double  *, int *);
-
-int BLASFUNC(strsm)(char *, char *, char *, char *, int *, int *,
-	   float *,  float *, int *, float *, int *);
-int BLASFUNC(dtrsm)(char *, char *, char *, char *, int *, int *,
-	   double *,  double *, int *, double *, int *);
-int BLASFUNC(qtrsm)(char *, char *, char *, char *, int *, int *,
-	   double *,  double *, int *, double *, int *);
-int BLASFUNC(ctrsm)(char *, char *, char *, char *, int *, int *,
-	   float *,  float *, int *, float *, int *);
-int BLASFUNC(ztrsm)(char *, char *, char *, char *, int *, int *,
-	   double *,  double *, int *, double *, int *);
-int BLASFUNC(xtrsm)(char *, char *, char *, char *, int *, int *,
-	   double *,  double *, int *, double *, int *);
-
-int BLASFUNC(strmm)(char *, char *, char *, char *, int *, int *,
-	   float *,  float *, int *, float *, int *);
-int BLASFUNC(dtrmm)(char *, char *, char *, char *, int *, int *,
-	   double *,  double *, int *, double *, int *);
-int BLASFUNC(qtrmm)(char *, char *, char *, char *, int *, int *,
-	   double *,  double *, int *, double *, int *);
-int BLASFUNC(ctrmm)(char *, char *, char *, char *, int *, int *,
-	   float *,  float *, int *, float *, int *);
-int BLASFUNC(ztrmm)(char *, char *, char *, char *, int *, int *,
-	   double *,  double *, int *, double *, int *);
-int BLASFUNC(xtrmm)(char *, char *, char *, char *, int *, int *,
-	   double *,  double *, int *, double *, int *);
-
-int BLASFUNC(ssymm)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float  *, int *, float  *, float  *, int *);
-int BLASFUNC(dsymm)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-int BLASFUNC(qsymm)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-int BLASFUNC(csymm)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zsymm)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-int BLASFUNC(xsymm)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-
-int BLASFUNC(csymm3m)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zsymm3m)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-int BLASFUNC(xsymm3m)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-
-int BLASFUNC(ssyrk)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float  *, float  *, int *);
-int BLASFUNC(dsyrk)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, double *, int *);
-int BLASFUNC(qsyrk)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, double *, int *);
-int BLASFUNC(csyrk)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float  *, float  *, int *);
-int BLASFUNC(zsyrk)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, double *, int *);
-int BLASFUNC(xsyrk)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, double *, int *);
-
-int BLASFUNC(ssyr2k)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float *, int *, float  *, float  *, int *);
-int BLASFUNC(dsyr2k)(char *, char *, int *, int *, double *, double *, int *,
-	   double*, int *, double *, double *, int *);
-int BLASFUNC(qsyr2k)(char *, char *, int *, int *, double *, double *, int *,
-	   double*, int *, double *, double *, int *);
-int BLASFUNC(csyr2k)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float *, int *, float  *, float  *, int *);
-int BLASFUNC(zsyr2k)(char *, char *, int *, int *, double *, double *, int *,
-	   double*, int *, double *, double *, int *);
-int BLASFUNC(xsyr2k)(char *, char *, int *, int *, double *, double *, int *,
-	   double*, int *, double *, double *, int *);
-
-int BLASFUNC(chemm)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zhemm)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-int BLASFUNC(xhemm)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-
-int BLASFUNC(chemm3m)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float  *, int *, float  *, float  *, int *);
-int BLASFUNC(zhemm3m)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-int BLASFUNC(xhemm3m)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, int *, double *, double *, int *);
-
-int BLASFUNC(cherk)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float  *, float  *, int *);
-int BLASFUNC(zherk)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, double *, int *);
-int BLASFUNC(xherk)(char *, char *, int *, int *, double *, double *, int *,
-	   double *, double *, int *);
-
-int BLASFUNC(cher2k)(char *, char *, int *, int *, float  *, float  *, int *,
-	   float *, int *, float  *, float  *, int *);
-int BLASFUNC(zher2k)(char *, char *, int *, int *, double *, double *, int *,
-	   double*, int *, double *, double *, int *);
-int BLASFUNC(xher2k)(char *, char *, int *, int *, double *, double *, int *,
-	   double*, int *, double *, double *, int *);
-int BLASFUNC(cher2m)(char *, char *, char *, int *, int *, float  *, float  *, int *,
-	   float *, int *, float  *, float  *, int *);
-int BLASFUNC(zher2m)(char *, char *, char *, int *, int *, double *, double *, int *,
-	   double*, int *, double *, double *, int *);
-int BLASFUNC(xher2m)(char *, char *, char *, int *, int *, double *, double *, int *,
-	   double*, int *, double *, double *, int *);
-
-int BLASFUNC(sgemt)(char *, int *, int *, float  *, float  *, int *,
-		    float  *, int *);
-int BLASFUNC(dgemt)(char *, int *, int *, double *, double *, int *,
-		    double *, int *);
-int BLASFUNC(cgemt)(char *, int *, int *, float  *, float  *, int *,
-		    float  *, int *);
-int BLASFUNC(zgemt)(char *, int *, int *, double *, double *, int *,
-		    double *, int *);
-
-int BLASFUNC(sgema)(char *, char *, int *, int *, float  *,
-		    float  *, int *, float *, float  *, int *, float *, int *);
-int BLASFUNC(dgema)(char *, char *, int *, int *, double *,
-		    double *, int *, double*, double *, int *, double*, int *);
-int BLASFUNC(cgema)(char *, char *, int *, int *, float  *,
-		    float  *, int *, float *, float  *, int *, float *, int *);
-int BLASFUNC(zgema)(char *, char *, int *, int *, double *,
-		    double *, int *, double*, double *, int *, double*, int *);
-
-int BLASFUNC(sgems)(char *, char *, int *, int *, float  *,
-		    float  *, int *, float *, float  *, int *, float *, int *);
-int BLASFUNC(dgems)(char *, char *, int *, int *, double *,
-		    double *, int *, double*, double *, int *, double*, int *);
-int BLASFUNC(cgems)(char *, char *, int *, int *, float  *,
-		    float  *, int *, float *, float  *, int *, float *, int *);
-int BLASFUNC(zgems)(char *, char *, int *, int *, double *,
-		    double *, int *, double*, double *, int *, double*, int *);
-
-int BLASFUNC(sgetf2)(int *, int *, float  *, int *, int *, int *);
-int BLASFUNC(dgetf2)(int *, int *, double *, int *, int *, int *);
-int BLASFUNC(qgetf2)(int *, int *, double *, int *, int *, int *);
-int BLASFUNC(cgetf2)(int *, int *, float  *, int *, int *, int *);
-int BLASFUNC(zgetf2)(int *, int *, double *, int *, int *, int *);
-int BLASFUNC(xgetf2)(int *, int *, double *, int *, int *, int *);
-
-int BLASFUNC(sgetrf)(int *, int *, float  *, int *, int *, int *);
-int BLASFUNC(dgetrf)(int *, int *, double *, int *, int *, int *);
-int BLASFUNC(qgetrf)(int *, int *, double *, int *, int *, int *);
-int BLASFUNC(cgetrf)(int *, int *, float  *, int *, int *, int *);
-int BLASFUNC(zgetrf)(int *, int *, double *, int *, int *, int *);
-int BLASFUNC(xgetrf)(int *, int *, double *, int *, int *, int *);
-
-int BLASFUNC(slaswp)(int *, float  *, int *, int *, int *, int *, int *);
-int BLASFUNC(dlaswp)(int *, double *, int *, int *, int *, int *, int *);
-int BLASFUNC(qlaswp)(int *, double *, int *, int *, int *, int *, int *);
-int BLASFUNC(claswp)(int *, float  *, int *, int *, int *, int *, int *);
-int BLASFUNC(zlaswp)(int *, double *, int *, int *, int *, int *, int *);
-int BLASFUNC(xlaswp)(int *, double *, int *, int *, int *, int *, int *);
-
-int BLASFUNC(sgetrs)(char *, int *, int *, float  *, int *, int *, float  *, int *, int *);
-int BLASFUNC(dgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
-int BLASFUNC(qgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
-int BLASFUNC(cgetrs)(char *, int *, int *, float  *, int *, int *, float  *, int *, int *);
-int BLASFUNC(zgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
-int BLASFUNC(xgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
-
-int BLASFUNC(sgesv)(int *, int *, float  *, int *, int *, float *, int *, int *);
-int BLASFUNC(dgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
-int BLASFUNC(qgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
-int BLASFUNC(cgesv)(int *, int *, float  *, int *, int *, float *, int *, int *);
-int BLASFUNC(zgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
-int BLASFUNC(xgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
-
-int BLASFUNC(spotf2)(char *, int *, float  *, int *, int *);
-int BLASFUNC(dpotf2)(char *, int *, double *, int *, int *);
-int BLASFUNC(qpotf2)(char *, int *, double *, int *, int *);
-int BLASFUNC(cpotf2)(char *, int *, float  *, int *, int *);
-int BLASFUNC(zpotf2)(char *, int *, double *, int *, int *);
-int BLASFUNC(xpotf2)(char *, int *, double *, int *, int *);
-
-int BLASFUNC(spotrf)(char *, int *, float  *, int *, int *);
-int BLASFUNC(dpotrf)(char *, int *, double *, int *, int *);
-int BLASFUNC(qpotrf)(char *, int *, double *, int *, int *);
-int BLASFUNC(cpotrf)(char *, int *, float  *, int *, int *);
-int BLASFUNC(zpotrf)(char *, int *, double *, int *, int *);
-int BLASFUNC(xpotrf)(char *, int *, double *, int *, int *);
-
-int BLASFUNC(slauu2)(char *, int *, float  *, int *, int *);
-int BLASFUNC(dlauu2)(char *, int *, double *, int *, int *);
-int BLASFUNC(qlauu2)(char *, int *, double *, int *, int *);
-int BLASFUNC(clauu2)(char *, int *, float  *, int *, int *);
-int BLASFUNC(zlauu2)(char *, int *, double *, int *, int *);
-int BLASFUNC(xlauu2)(char *, int *, double *, int *, int *);
-
-int BLASFUNC(slauum)(char *, int *, float  *, int *, int *);
-int BLASFUNC(dlauum)(char *, int *, double *, int *, int *);
-int BLASFUNC(qlauum)(char *, int *, double *, int *, int *);
-int BLASFUNC(clauum)(char *, int *, float  *, int *, int *);
-int BLASFUNC(zlauum)(char *, int *, double *, int *, int *);
-int BLASFUNC(xlauum)(char *, int *, double *, int *, int *);
-
-int BLASFUNC(strti2)(char *, char *, int *, float  *, int *, int *);
-int BLASFUNC(dtrti2)(char *, char *, int *, double *, int *, int *);
-int BLASFUNC(qtrti2)(char *, char *, int *, double *, int *, int *);
-int BLASFUNC(ctrti2)(char *, char *, int *, float  *, int *, int *);
-int BLASFUNC(ztrti2)(char *, char *, int *, double *, int *, int *);
-int BLASFUNC(xtrti2)(char *, char *, int *, double *, int *, int *);
-
-int BLASFUNC(strtri)(char *, char *, int *, float  *, int *, int *);
-int BLASFUNC(dtrtri)(char *, char *, int *, double *, int *, int *);
-int BLASFUNC(qtrtri)(char *, char *, int *, double *, int *, int *);
-int BLASFUNC(ctrtri)(char *, char *, int *, float  *, int *, int *);
-int BLASFUNC(ztrtri)(char *, char *, int *, double *, int *, int *);
-int BLASFUNC(xtrtri)(char *, char *, int *, double *, int *, int *);
-
-int BLASFUNC(spotri)(char *, int *, float  *, int *, int *);
-int BLASFUNC(dpotri)(char *, int *, double *, int *, int *);
-int BLASFUNC(qpotri)(char *, int *, double *, int *, int *);
-int BLASFUNC(cpotri)(char *, int *, float  *, int *, int *);
-int BLASFUNC(zpotri)(char *, int *, double *, int *, int *);
-int BLASFUNC(xpotri)(char *, int *, double *, int *, int *);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/lib/Eigen/src/plugins/ArrayCwiseBinaryOps.h b/lib/Eigen/src/plugins/ArrayCwiseBinaryOps.h
deleted file mode 100644
index 1951286f..00000000
--- a/lib/Eigen/src/plugins/ArrayCwiseBinaryOps.h
+++ /dev/null
@@ -1,253 +0,0 @@
-/** \returns an expression of the coefficient wise product of \c *this and \a other
-  *
-  * \sa MatrixBase::cwiseProduct
-  */
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE const EIGEN_CWISE_PRODUCT_RETURN_TYPE(Derived,OtherDerived)
-operator*(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_PRODUCT_RETURN_TYPE(Derived,OtherDerived)(derived(), other.derived());
-}
-
-/** \returns an expression of the coefficient wise quotient of \c *this and \a other
-  *
-  * \sa MatrixBase::cwiseQuotient
-  */
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived>
-operator/(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  return CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
-}
-
-/** \returns an expression of the coefficient-wise min of \c *this and \a other
-  *
-  * Example: \include Cwise_min.cpp
-  * Output: \verbinclude Cwise_min.out
-  *
-  * \sa max()
-  */
-EIGEN_MAKE_CWISE_BINARY_OP(min,internal::scalar_min_op)
-
-/** \returns an expression of the coefficient-wise min of \c *this and scalar \a other
-  *
-  * \sa max()
-  */
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived,
-                                        const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> >
-#ifdef EIGEN_PARSED_BY_DOXYGEN
-min
-#else
-(min)
-#endif
-(const Scalar &other) const
-{
-  return (min)(Derived::PlainObject::Constant(rows(), cols(), other));
-}
-
-/** \returns an expression of the coefficient-wise max of \c *this and \a other
-  *
-  * Example: \include Cwise_max.cpp
-  * Output: \verbinclude Cwise_max.out
-  *
-  * \sa min()
-  */
-EIGEN_MAKE_CWISE_BINARY_OP(max,internal::scalar_max_op)
-
-/** \returns an expression of the coefficient-wise max of \c *this and scalar \a other
-  *
-  * \sa min()
-  */
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived,
-                                        const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> >
-#ifdef EIGEN_PARSED_BY_DOXYGEN
-max
-#else
-(max)
-#endif
-(const Scalar &other) const
-{
-  return (max)(Derived::PlainObject::Constant(rows(), cols(), other));
-}
-
-
-#define EIGEN_MAKE_CWISE_COMP_OP(OP, COMPARATOR) \
-template<typename OtherDerived> \
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_cmp_op<Scalar, internal::cmp_ ## COMPARATOR>, const Derived, const OtherDerived> \
-OP(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const \
-{ \
-  return CwiseBinaryOp<internal::scalar_cmp_op<Scalar, internal::cmp_ ## COMPARATOR>, const Derived, const OtherDerived>(derived(), other.derived()); \
-}\
-typedef CwiseBinaryOp<internal::scalar_cmp_op<Scalar, internal::cmp_ ## COMPARATOR>, const Derived, const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> > Cmp ## COMPARATOR ## ReturnType; \
-typedef CwiseBinaryOp<internal::scalar_cmp_op<Scalar, internal::cmp_ ## COMPARATOR>, const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject>, const Derived > RCmp ## COMPARATOR ## ReturnType; \
-EIGEN_STRONG_INLINE const Cmp ## COMPARATOR ## ReturnType \
-OP(const Scalar& s) const { \
-  return this->OP(Derived::PlainObject::Constant(rows(), cols(), s)); \
-} \
-friend EIGEN_STRONG_INLINE const RCmp ## COMPARATOR ## ReturnType \
-OP(const Scalar& s, const Derived& d) { \
-  return Derived::PlainObject::Constant(d.rows(), d.cols(), s).OP(d); \
-}
-
-#define EIGEN_MAKE_CWISE_COMP_R_OP(OP, R_OP, RCOMPARATOR) \
-template<typename OtherDerived> \
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_cmp_op<Scalar, internal::cmp_##RCOMPARATOR>, const OtherDerived, const Derived> \
-OP(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const \
-{ \
-  return CwiseBinaryOp<internal::scalar_cmp_op<Scalar, internal::cmp_##RCOMPARATOR>, const OtherDerived, const Derived>(other.derived(), derived()); \
-} \
-\
-inline const RCmp ## RCOMPARATOR ## ReturnType \
-OP(const Scalar& s) const { \
-  return Derived::PlainObject::Constant(rows(), cols(), s).R_OP(*this); \
-} \
-friend inline const Cmp ## RCOMPARATOR ## ReturnType \
-OP(const Scalar& s, const Derived& d) { \
-  return d.R_OP(Derived::PlainObject::Constant(d.rows(), d.cols(), s)); \
-}
-
-
-/** \returns an expression of the coefficient-wise \< operator of *this and \a other
-  *
-  * Example: \include Cwise_less.cpp
-  * Output: \verbinclude Cwise_less.out
-  *
-  * \sa all(), any(), operator>(), operator<=()
-  */
-EIGEN_MAKE_CWISE_COMP_OP(operator<, LT)
-
-/** \returns an expression of the coefficient-wise \<= operator of *this and \a other
-  *
-  * Example: \include Cwise_less_equal.cpp
-  * Output: \verbinclude Cwise_less_equal.out
-  *
-  * \sa all(), any(), operator>=(), operator<()
-  */
-EIGEN_MAKE_CWISE_COMP_OP(operator<=, LE)
-
-/** \returns an expression of the coefficient-wise \> operator of *this and \a other
-  *
-  * Example: \include Cwise_greater.cpp
-  * Output: \verbinclude Cwise_greater.out
-  *
-  * \sa all(), any(), operator>=(), operator<()
-  */
-EIGEN_MAKE_CWISE_COMP_R_OP(operator>, operator<, LT)
-
-/** \returns an expression of the coefficient-wise \>= operator of *this and \a other
-  *
-  * Example: \include Cwise_greater_equal.cpp
-  * Output: \verbinclude Cwise_greater_equal.out
-  *
-  * \sa all(), any(), operator>(), operator<=()
-  */
-EIGEN_MAKE_CWISE_COMP_R_OP(operator>=, operator<=, LE)
-
-/** \returns an expression of the coefficient-wise == operator of *this and \a other
-  *
-  * \warning this performs an exact comparison, which is generally a bad idea with floating-point types.
-  * In order to check for equality between two vectors or matrices with floating-point coefficients, it is
-  * generally a far better idea to use a fuzzy comparison as provided by isApprox() and
-  * isMuchSmallerThan().
-  *
-  * Example: \include Cwise_equal_equal.cpp
-  * Output: \verbinclude Cwise_equal_equal.out
-  *
-  * \sa all(), any(), isApprox(), isMuchSmallerThan()
-  */
-EIGEN_MAKE_CWISE_COMP_OP(operator==, EQ)
-
-/** \returns an expression of the coefficient-wise != operator of *this and \a other
-  *
-  * \warning this performs an exact comparison, which is generally a bad idea with floating-point types.
-  * In order to check for equality between two vectors or matrices with floating-point coefficients, it is
-  * generally a far better idea to use a fuzzy comparison as provided by isApprox() and
-  * isMuchSmallerThan().
-  *
-  * Example: \include Cwise_not_equal.cpp
-  * Output: \verbinclude Cwise_not_equal.out
-  *
-  * \sa all(), any(), isApprox(), isMuchSmallerThan()
-  */
-EIGEN_MAKE_CWISE_COMP_OP(operator!=, NEQ)
-
-#undef EIGEN_MAKE_CWISE_COMP_OP
-#undef EIGEN_MAKE_CWISE_COMP_R_OP
-
-// scalar addition
-
-/** \returns an expression of \c *this with each coeff incremented by the constant \a scalar
-  *
-  * Example: \include Cwise_plus.cpp
-  * Output: \verbinclude Cwise_plus.out
-  *
-  * \sa operator+=(), operator-()
-  */
-inline const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived>
-operator+(const Scalar& scalar) const
-{
-  return CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived>(derived(), internal::scalar_add_op<Scalar>(scalar));
-}
-
-friend inline const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived>
-operator+(const Scalar& scalar,const EIGEN_CURRENT_STORAGE_BASE_CLASS<Derived>& other)
-{
-  return other + scalar;
-}
-
-/** \returns an expression of \c *this with each coeff decremented by the constant \a scalar
-  *
-  * Example: \include Cwise_minus.cpp
-  * Output: \verbinclude Cwise_minus.out
-  *
-  * \sa operator+(), operator-=()
-  */
-inline const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived>
-operator-(const Scalar& scalar) const
-{
-  return *this + (-scalar);
-}
-
-friend inline const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const CwiseUnaryOp<internal::scalar_opposite_op<Scalar>, const Derived> >
-operator-(const Scalar& scalar,const EIGEN_CURRENT_STORAGE_BASE_CLASS<Derived>& other)
-{
-  return (-other) + scalar;
-}
-
-/** \returns an expression of the coefficient-wise && operator of *this and \a other
-  *
-  * \warning this operator is for expression of bool only.
-  *
-  * Example: \include Cwise_boolean_and.cpp
-  * Output: \verbinclude Cwise_boolean_and.out
-  *
-  * \sa operator||(), select()
-  */
-template<typename OtherDerived>
-inline const CwiseBinaryOp<internal::scalar_boolean_and_op, const Derived, const OtherDerived>
-operator&&(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  EIGEN_STATIC_ASSERT((internal::is_same<bool,Scalar>::value && internal::is_same<bool,typename OtherDerived::Scalar>::value),
-                      THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL);
-  return CwiseBinaryOp<internal::scalar_boolean_and_op, const Derived, const OtherDerived>(derived(),other.derived());
-}
-
-/** \returns an expression of the coefficient-wise || operator of *this and \a other
-  *
-  * \warning this operator is for expression of bool only.
-  *
-  * Example: \include Cwise_boolean_or.cpp
-  * Output: \verbinclude Cwise_boolean_or.out
-  *
-  * \sa operator&&(), select()
-  */
-template<typename OtherDerived>
-inline const CwiseBinaryOp<internal::scalar_boolean_or_op, const Derived, const OtherDerived>
-operator||(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  EIGEN_STATIC_ASSERT((internal::is_same<bool,Scalar>::value && internal::is_same<bool,typename OtherDerived::Scalar>::value),
-                      THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL);
-  return CwiseBinaryOp<internal::scalar_boolean_or_op, const Derived, const OtherDerived>(derived(),other.derived());
-}
-
-
diff --git a/lib/Eigen/src/plugins/ArrayCwiseUnaryOps.h b/lib/Eigen/src/plugins/ArrayCwiseUnaryOps.h
deleted file mode 100644
index 1c3ed3fc..00000000
--- a/lib/Eigen/src/plugins/ArrayCwiseUnaryOps.h
+++ /dev/null
@@ -1,187 +0,0 @@
-
-
-/** \returns an expression of the coefficient-wise absolute value of \c *this
-  *
-  * Example: \include Cwise_abs.cpp
-  * Output: \verbinclude Cwise_abs.out
-  *
-  * \sa abs2()
-  */
-EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived>
-abs() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise squared absolute value of \c *this
-  *
-  * Example: \include Cwise_abs2.cpp
-  * Output: \verbinclude Cwise_abs2.out
-  *
-  * \sa abs(), square()
-  */
-EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived>
-abs2() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise exponential of *this.
-  *
-  * Example: \include Cwise_exp.cpp
-  * Output: \verbinclude Cwise_exp.out
-  *
-  * \sa pow(), log(), sin(), cos()
-  */
-inline const CwiseUnaryOp<internal::scalar_exp_op<Scalar>, const Derived>
-exp() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise logarithm of *this.
-  *
-  * Example: \include Cwise_log.cpp
-  * Output: \verbinclude Cwise_log.out
-  *
-  * \sa exp()
-  */
-inline const CwiseUnaryOp<internal::scalar_log_op<Scalar>, const Derived>
-log() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise square root of *this.
-  *
-  * Example: \include Cwise_sqrt.cpp
-  * Output: \verbinclude Cwise_sqrt.out
-  *
-  * \sa pow(), square()
-  */
-inline const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived>
-sqrt() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise cosine of *this.
-  *
-  * Example: \include Cwise_cos.cpp
-  * Output: \verbinclude Cwise_cos.out
-  *
-  * \sa sin(), acos()
-  */
-inline const CwiseUnaryOp<internal::scalar_cos_op<Scalar>, const Derived>
-cos() const
-{
-  return derived();
-}
-
-
-/** \returns an expression of the coefficient-wise sine of *this.
-  *
-  * Example: \include Cwise_sin.cpp
-  * Output: \verbinclude Cwise_sin.out
-  *
-  * \sa cos(), asin()
-  */
-inline const CwiseUnaryOp<internal::scalar_sin_op<Scalar>, const Derived>
-sin() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise arc cosine of *this.
-  *
-  * Example: \include Cwise_acos.cpp
-  * Output: \verbinclude Cwise_acos.out
-  *
-  * \sa cos(), asin()
-  */
-inline const CwiseUnaryOp<internal::scalar_acos_op<Scalar>, const Derived>
-acos() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise arc sine of *this.
-  *
-  * Example: \include Cwise_asin.cpp
-  * Output: \verbinclude Cwise_asin.out
-  *
-  * \sa sin(), acos()
-  */
-inline const CwiseUnaryOp<internal::scalar_asin_op<Scalar>, const Derived>
-asin() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise tan of *this.
-  *
-  * Example: \include Cwise_tan.cpp
-  * Output: \verbinclude Cwise_tan.out
-  *
-  * \sa cos(), sin()
-  */
-inline const CwiseUnaryOp<internal::scalar_tan_op<Scalar>, Derived>
-tan() const
-{
-  return derived();
-}
-
-
-/** \returns an expression of the coefficient-wise power of *this to the given exponent.
-  *
-  * Example: \include Cwise_pow.cpp
-  * Output: \verbinclude Cwise_pow.out
-  *
-  * \sa exp(), log()
-  */
-inline const CwiseUnaryOp<internal::scalar_pow_op<Scalar>, const Derived>
-pow(const Scalar& exponent) const
-{
-  return CwiseUnaryOp<internal::scalar_pow_op<Scalar>, const Derived>
-          (derived(), internal::scalar_pow_op<Scalar>(exponent));
-}
-
-
-/** \returns an expression of the coefficient-wise inverse of *this.
-  *
-  * Example: \include Cwise_inverse.cpp
-  * Output: \verbinclude Cwise_inverse.out
-  *
-  * \sa operator/(), operator*()
-  */
-inline const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived>
-inverse() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise square of *this.
-  *
-  * Example: \include Cwise_square.cpp
-  * Output: \verbinclude Cwise_square.out
-  *
-  * \sa operator/(), operator*(), abs2()
-  */
-inline const CwiseUnaryOp<internal::scalar_square_op<Scalar>, const Derived>
-square() const
-{
-  return derived();
-}
-
-/** \returns an expression of the coefficient-wise cube of *this.
-  *
-  * Example: \include Cwise_cube.cpp
-  * Output: \verbinclude Cwise_cube.out
-  *
-  * \sa square(), pow()
-  */
-inline const CwiseUnaryOp<internal::scalar_cube_op<Scalar>, const Derived>
-cube() const
-{
-  return derived();
-}
diff --git a/lib/Eigen/src/plugins/BlockMethods.h b/lib/Eigen/src/plugins/BlockMethods.h
deleted file mode 100644
index 2788251e..00000000
--- a/lib/Eigen/src/plugins/BlockMethods.h
+++ /dev/null
@@ -1,935 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-
-/** \internal expression type of a column */
-typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> ColXpr;
-typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> ConstColXpr;
-/** \internal expression type of a row */
-typedef Block<Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> RowXpr;
-typedef const Block<const Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> ConstRowXpr;
-/** \internal expression type of a block of whole columns */
-typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, Dynamic, !IsRowMajor> ColsBlockXpr;
-typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, Dynamic, !IsRowMajor> ConstColsBlockXpr;
-/** \internal expression type of a block of whole rows */
-typedef Block<Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> RowsBlockXpr;
-typedef const Block<const Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> ConstRowsBlockXpr;
-/** \internal expression type of a block of whole columns */
-template<int N> struct NColsBlockXpr { typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, N, !IsRowMajor> Type; };
-template<int N> struct ConstNColsBlockXpr { typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, N, !IsRowMajor> Type; };
-/** \internal expression type of a block of whole rows */
-template<int N> struct NRowsBlockXpr { typedef Block<Derived, N, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Type; };
-template<int N> struct ConstNRowsBlockXpr { typedef const Block<const Derived, N, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Type; };
-
-typedef VectorBlock<Derived> SegmentReturnType;
-typedef const VectorBlock<const Derived> ConstSegmentReturnType;
-template<int Size> struct FixedSegmentReturnType { typedef VectorBlock<Derived, Size> Type; };
-template<int Size> struct ConstFixedSegmentReturnType { typedef const VectorBlock<const Derived, Size> Type; };
-
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-
-/** \returns a dynamic-size expression of a block in *this.
-  *
-  * \param startRow the first row in the block
-  * \param startCol the first column in the block
-  * \param blockRows the number of rows in the block
-  * \param blockCols the number of columns in the block
-  *
-  * Example: \include MatrixBase_block_int_int_int_int.cpp
-  * Output: \verbinclude MatrixBase_block_int_int_int_int.out
-  *
-  * \note Even though the returned expression has dynamic size, in the case
-  * when it is applied to a fixed-size matrix, it inherits a fixed maximal size,
-  * which means that evaluating it does not cause a dynamic memory allocation.
-  *
-  * \sa class Block, block(Index,Index)
-  */
-inline Block<Derived> block(Index startRow, Index startCol, Index blockRows, Index blockCols)
-{
-  return Block<Derived>(derived(), startRow, startCol, blockRows, blockCols);
-}
-
-/** This is the const version of block(Index,Index,Index,Index). */
-inline const Block<const Derived> block(Index startRow, Index startCol, Index blockRows, Index blockCols) const
-{
-  return Block<const Derived>(derived(), startRow, startCol, blockRows, blockCols);
-}
-
-
-
-
-/** \returns a dynamic-size expression of a top-right corner of *this.
-  *
-  * \param cRows the number of rows in the corner
-  * \param cCols the number of columns in the corner
-  *
-  * Example: \include MatrixBase_topRightCorner_int_int.cpp
-  * Output: \verbinclude MatrixBase_topRightCorner_int_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline Block<Derived> topRightCorner(Index cRows, Index cCols)
-{
-  return Block<Derived>(derived(), 0, cols() - cCols, cRows, cCols);
-}
-
-/** This is the const version of topRightCorner(Index, Index).*/
-inline const Block<const Derived> topRightCorner(Index cRows, Index cCols) const
-{
-  return Block<const Derived>(derived(), 0, cols() - cCols, cRows, cCols);
-}
-
-/** \returns an expression of a fixed-size top-right corner of *this.
-  *
-  * \tparam CRows the number of rows in the corner
-  * \tparam CCols the number of columns in the corner
-  *
-  * Example: \include MatrixBase_template_int_int_topRightCorner.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_topRightCorner.out
-  *
-  * \sa class Block, block<int,int>(Index,Index)
-  */
-template<int CRows, int CCols>
-inline Block<Derived, CRows, CCols> topRightCorner()
-{
-  return Block<Derived, CRows, CCols>(derived(), 0, cols() - CCols);
-}
-
-/** This is the const version of topRightCorner<int, int>().*/
-template<int CRows, int CCols>
-inline const Block<const Derived, CRows, CCols> topRightCorner() const
-{
-  return Block<const Derived, CRows, CCols>(derived(), 0, cols() - CCols);
-}
-
-/** \returns an expression of a top-right corner of *this.
-  *
-  * \tparam CRows number of rows in corner as specified at compile-time
-  * \tparam CCols number of columns in corner as specified at compile-time
-  * \param  cRows number of rows in corner as specified at run-time
-  * \param  cCols number of columns in corner as specified at run-time
-  *
-  * This function is mainly useful for corners where the number of rows is specified at compile-time
-  * and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
-  * information should not contradict. In other words, \a cRows should equal \a CRows unless
-  * \a CRows is \a Dynamic, and the same for the number of columns.
-  *
-  * Example: \include MatrixBase_template_int_int_topRightCorner_int_int.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_topRightCorner_int_int.out
-  *
-  * \sa class Block
-  */
-template<int CRows, int CCols>
-inline Block<Derived, CRows, CCols> topRightCorner(Index cRows, Index cCols)
-{
-  return Block<Derived, CRows, CCols>(derived(), 0, cols() - cCols, cRows, cCols);
-}
-
-/** This is the const version of topRightCorner<int, int>(Index, Index).*/
-template<int CRows, int CCols>
-inline const Block<const Derived, CRows, CCols> topRightCorner(Index cRows, Index cCols) const
-{
-  return Block<const Derived, CRows, CCols>(derived(), 0, cols() - cCols, cRows, cCols);
-}
-
-
-
-/** \returns a dynamic-size expression of a top-left corner of *this.
-  *
-  * \param cRows the number of rows in the corner
-  * \param cCols the number of columns in the corner
-  *
-  * Example: \include MatrixBase_topLeftCorner_int_int.cpp
-  * Output: \verbinclude MatrixBase_topLeftCorner_int_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline Block<Derived> topLeftCorner(Index cRows, Index cCols)
-{
-  return Block<Derived>(derived(), 0, 0, cRows, cCols);
-}
-
-/** This is the const version of topLeftCorner(Index, Index).*/
-inline const Block<const Derived> topLeftCorner(Index cRows, Index cCols) const
-{
-  return Block<const Derived>(derived(), 0, 0, cRows, cCols);
-}
-
-/** \returns an expression of a fixed-size top-left corner of *this.
-  *
-  * The template parameters CRows and CCols are the number of rows and columns in the corner.
-  *
-  * Example: \include MatrixBase_template_int_int_topLeftCorner.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_topLeftCorner.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int CRows, int CCols>
-inline Block<Derived, CRows, CCols> topLeftCorner()
-{
-  return Block<Derived, CRows, CCols>(derived(), 0, 0);
-}
-
-/** This is the const version of topLeftCorner<int, int>().*/
-template<int CRows, int CCols>
-inline const Block<const Derived, CRows, CCols> topLeftCorner() const
-{
-  return Block<const Derived, CRows, CCols>(derived(), 0, 0);
-}
-
-/** \returns an expression of a top-left corner of *this.
-  *
-  * \tparam CRows number of rows in corner as specified at compile-time
-  * \tparam CCols number of columns in corner as specified at compile-time
-  * \param  cRows number of rows in corner as specified at run-time
-  * \param  cCols number of columns in corner as specified at run-time
-  *
-  * This function is mainly useful for corners where the number of rows is specified at compile-time
-  * and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
-  * information should not contradict. In other words, \a cRows should equal \a CRows unless
-  * \a CRows is \a Dynamic, and the same for the number of columns.
-  *
-  * Example: \include MatrixBase_template_int_int_topLeftCorner_int_int.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_topLeftCorner_int_int.out
-  *
-  * \sa class Block
-  */
-template<int CRows, int CCols>
-inline Block<Derived, CRows, CCols> topLeftCorner(Index cRows, Index cCols)
-{
-  return Block<Derived, CRows, CCols>(derived(), 0, 0, cRows, cCols);
-}
-
-/** This is the const version of topLeftCorner<int, int>(Index, Index).*/
-template<int CRows, int CCols>
-inline const Block<const Derived, CRows, CCols> topLeftCorner(Index cRows, Index cCols) const
-{
-  return Block<const Derived, CRows, CCols>(derived(), 0, 0, cRows, cCols);
-}
-
-
-
-/** \returns a dynamic-size expression of a bottom-right corner of *this.
-  *
-  * \param cRows the number of rows in the corner
-  * \param cCols the number of columns in the corner
-  *
-  * Example: \include MatrixBase_bottomRightCorner_int_int.cpp
-  * Output: \verbinclude MatrixBase_bottomRightCorner_int_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline Block<Derived> bottomRightCorner(Index cRows, Index cCols)
-{
-  return Block<Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
-}
-
-/** This is the const version of bottomRightCorner(Index, Index).*/
-inline const Block<const Derived> bottomRightCorner(Index cRows, Index cCols) const
-{
-  return Block<const Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
-}
-
-/** \returns an expression of a fixed-size bottom-right corner of *this.
-  *
-  * The template parameters CRows and CCols are the number of rows and columns in the corner.
-  *
-  * Example: \include MatrixBase_template_int_int_bottomRightCorner.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_bottomRightCorner.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int CRows, int CCols>
-inline Block<Derived, CRows, CCols> bottomRightCorner()
-{
-  return Block<Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
-}
-
-/** This is the const version of bottomRightCorner<int, int>().*/
-template<int CRows, int CCols>
-inline const Block<const Derived, CRows, CCols> bottomRightCorner() const
-{
-  return Block<const Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
-}
-
-/** \returns an expression of a bottom-right corner of *this.
-  *
-  * \tparam CRows number of rows in corner as specified at compile-time
-  * \tparam CCols number of columns in corner as specified at compile-time
-  * \param  cRows number of rows in corner as specified at run-time
-  * \param  cCols number of columns in corner as specified at run-time
-  *
-  * This function is mainly useful for corners where the number of rows is specified at compile-time
-  * and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
-  * information should not contradict. In other words, \a cRows should equal \a CRows unless
-  * \a CRows is \a Dynamic, and the same for the number of columns.
-  *
-  * Example: \include MatrixBase_template_int_int_bottomRightCorner_int_int.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_bottomRightCorner_int_int.out
-  *
-  * \sa class Block
-  */
-template<int CRows, int CCols>
-inline Block<Derived, CRows, CCols> bottomRightCorner(Index cRows, Index cCols)
-{
-  return Block<Derived, CRows, CCols>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
-}
-
-/** This is the const version of bottomRightCorner<int, int>(Index, Index).*/
-template<int CRows, int CCols>
-inline const Block<const Derived, CRows, CCols> bottomRightCorner(Index cRows, Index cCols) const
-{
-  return Block<const Derived, CRows, CCols>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
-}
-
-
-
-/** \returns a dynamic-size expression of a bottom-left corner of *this.
-  *
-  * \param cRows the number of rows in the corner
-  * \param cCols the number of columns in the corner
-  *
-  * Example: \include MatrixBase_bottomLeftCorner_int_int.cpp
-  * Output: \verbinclude MatrixBase_bottomLeftCorner_int_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline Block<Derived> bottomLeftCorner(Index cRows, Index cCols)
-{
-  return Block<Derived>(derived(), rows() - cRows, 0, cRows, cCols);
-}
-
-/** This is the const version of bottomLeftCorner(Index, Index).*/
-inline const Block<const Derived> bottomLeftCorner(Index cRows, Index cCols) const
-{
-  return Block<const Derived>(derived(), rows() - cRows, 0, cRows, cCols);
-}
-
-/** \returns an expression of a fixed-size bottom-left corner of *this.
-  *
-  * The template parameters CRows and CCols are the number of rows and columns in the corner.
-  *
-  * Example: \include MatrixBase_template_int_int_bottomLeftCorner.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_bottomLeftCorner.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int CRows, int CCols>
-inline Block<Derived, CRows, CCols> bottomLeftCorner()
-{
-  return Block<Derived, CRows, CCols>(derived(), rows() - CRows, 0);
-}
-
-/** This is the const version of bottomLeftCorner<int, int>().*/
-template<int CRows, int CCols>
-inline const Block<const Derived, CRows, CCols> bottomLeftCorner() const
-{
-  return Block<const Derived, CRows, CCols>(derived(), rows() - CRows, 0);
-}
-
-/** \returns an expression of a bottom-left corner of *this.
-  *
-  * \tparam CRows number of rows in corner as specified at compile-time
-  * \tparam CCols number of columns in corner as specified at compile-time
-  * \param  cRows number of rows in corner as specified at run-time
-  * \param  cCols number of columns in corner as specified at run-time
-  *
-  * This function is mainly useful for corners where the number of rows is specified at compile-time
-  * and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
-  * information should not contradict. In other words, \a cRows should equal \a CRows unless
-  * \a CRows is \a Dynamic, and the same for the number of columns.
-  *
-  * Example: \include MatrixBase_template_int_int_bottomLeftCorner_int_int.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_bottomLeftCorner_int_int.out
-  *
-  * \sa class Block
-  */
-template<int CRows, int CCols>
-inline Block<Derived, CRows, CCols> bottomLeftCorner(Index cRows, Index cCols)
-{
-  return Block<Derived, CRows, CCols>(derived(), rows() - cRows, 0, cRows, cCols);
-}
-
-/** This is the const version of bottomLeftCorner<int, int>(Index, Index).*/
-template<int CRows, int CCols>
-inline const Block<const Derived, CRows, CCols> bottomLeftCorner(Index cRows, Index cCols) const
-{
-  return Block<const Derived, CRows, CCols>(derived(), rows() - cRows, 0, cRows, cCols);
-}
-
-
-
-/** \returns a block consisting of the top rows of *this.
-  *
-  * \param n the number of rows in the block
-  *
-  * Example: \include MatrixBase_topRows_int.cpp
-  * Output: \verbinclude MatrixBase_topRows_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline RowsBlockXpr topRows(Index n)
-{
-  return RowsBlockXpr(derived(), 0, 0, n, cols());
-}
-
-/** This is the const version of topRows(Index).*/
-inline ConstRowsBlockXpr topRows(Index n) const
-{
-  return ConstRowsBlockXpr(derived(), 0, 0, n, cols());
-}
-
-/** \returns a block consisting of the top rows of *this.
-  *
-  * \tparam N the number of rows in the block as specified at compile-time
-  * \param n the number of rows in the block as specified at run-time
-  *
-  * The compile-time and run-time information should not contradict. In other words,
-  * \a n should equal \a N unless \a N is \a Dynamic.
-  *
-  * Example: \include MatrixBase_template_int_topRows.cpp
-  * Output: \verbinclude MatrixBase_template_int_topRows.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int N>
-inline typename NRowsBlockXpr<N>::Type topRows(Index n = N)
-{
-  return typename NRowsBlockXpr<N>::Type(derived(), 0, 0, n, cols());
-}
-
-/** This is the const version of topRows<int>().*/
-template<int N>
-inline typename ConstNRowsBlockXpr<N>::Type topRows(Index n = N) const
-{
-  return typename ConstNRowsBlockXpr<N>::Type(derived(), 0, 0, n, cols());
-}
-
-
-
-/** \returns a block consisting of the bottom rows of *this.
-  *
-  * \param n the number of rows in the block
-  *
-  * Example: \include MatrixBase_bottomRows_int.cpp
-  * Output: \verbinclude MatrixBase_bottomRows_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline RowsBlockXpr bottomRows(Index n)
-{
-  return RowsBlockXpr(derived(), rows() - n, 0, n, cols());
-}
-
-/** This is the const version of bottomRows(Index).*/
-inline ConstRowsBlockXpr bottomRows(Index n) const
-{
-  return ConstRowsBlockXpr(derived(), rows() - n, 0, n, cols());
-}
-
-/** \returns a block consisting of the bottom rows of *this.
-  *
-  * \tparam N the number of rows in the block as specified at compile-time
-  * \param n the number of rows in the block as specified at run-time
-  *
-  * The compile-time and run-time information should not contradict. In other words,
-  * \a n should equal \a N unless \a N is \a Dynamic.
-  *
-  * Example: \include MatrixBase_template_int_bottomRows.cpp
-  * Output: \verbinclude MatrixBase_template_int_bottomRows.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int N>
-inline typename NRowsBlockXpr<N>::Type bottomRows(Index n = N)
-{
-  return typename NRowsBlockXpr<N>::Type(derived(), rows() - n, 0, n, cols());
-}
-
-/** This is the const version of bottomRows<int>().*/
-template<int N>
-inline typename ConstNRowsBlockXpr<N>::Type bottomRows(Index n = N) const
-{
-  return typename ConstNRowsBlockXpr<N>::Type(derived(), rows() - n, 0, n, cols());
-}
-
-
-
-/** \returns a block consisting of a range of rows of *this.
-  *
-  * \param startRow the index of the first row in the block
-  * \param n the number of rows in the block
-  *
-  * Example: \include DenseBase_middleRows_int.cpp
-  * Output: \verbinclude DenseBase_middleRows_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline RowsBlockXpr middleRows(Index startRow, Index n)
-{
-  return RowsBlockXpr(derived(), startRow, 0, n, cols());
-}
-
-/** This is the const version of middleRows(Index,Index).*/
-inline ConstRowsBlockXpr middleRows(Index startRow, Index n) const
-{
-  return ConstRowsBlockXpr(derived(), startRow, 0, n, cols());
-}
-
-/** \returns a block consisting of a range of rows of *this.
-  *
-  * \tparam N the number of rows in the block as specified at compile-time
-  * \param startRow the index of the first row in the block
-  * \param n the number of rows in the block as specified at run-time
-  *
-  * The compile-time and run-time information should not contradict. In other words,
-  * \a n should equal \a N unless \a N is \a Dynamic.
-  *
-  * Example: \include DenseBase_template_int_middleRows.cpp
-  * Output: \verbinclude DenseBase_template_int_middleRows.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int N>
-inline typename NRowsBlockXpr<N>::Type middleRows(Index startRow, Index n = N)
-{
-  return typename NRowsBlockXpr<N>::Type(derived(), startRow, 0, n, cols());
-}
-
-/** This is the const version of middleRows<int>().*/
-template<int N>
-inline typename ConstNRowsBlockXpr<N>::Type middleRows(Index startRow, Index n = N) const
-{
-  return typename ConstNRowsBlockXpr<N>::Type(derived(), startRow, 0, n, cols());
-}
-
-
-
-/** \returns a block consisting of the left columns of *this.
-  *
-  * \param n the number of columns in the block
-  *
-  * Example: \include MatrixBase_leftCols_int.cpp
-  * Output: \verbinclude MatrixBase_leftCols_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline ColsBlockXpr leftCols(Index n)
-{
-  return ColsBlockXpr(derived(), 0, 0, rows(), n);
-}
-
-/** This is the const version of leftCols(Index).*/
-inline ConstColsBlockXpr leftCols(Index n) const
-{
-  return ConstColsBlockXpr(derived(), 0, 0, rows(), n);
-}
-
-/** \returns a block consisting of the left columns of *this.
-  *
-  * \tparam N the number of columns in the block as specified at compile-time
-  * \param n the number of columns in the block as specified at run-time
-  *
-  * The compile-time and run-time information should not contradict. In other words,
-  * \a n should equal \a N unless \a N is \a Dynamic.
-  *
-  * Example: \include MatrixBase_template_int_leftCols.cpp
-  * Output: \verbinclude MatrixBase_template_int_leftCols.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int N>
-inline typename NColsBlockXpr<N>::Type leftCols(Index n = N)
-{
-  return typename NColsBlockXpr<N>::Type(derived(), 0, 0, rows(), n);
-}
-
-/** This is the const version of leftCols<int>().*/
-template<int N>
-inline typename ConstNColsBlockXpr<N>::Type leftCols(Index n = N) const
-{
-  return typename ConstNColsBlockXpr<N>::Type(derived(), 0, 0, rows(), n);
-}
-
-
-
-/** \returns a block consisting of the right columns of *this.
-  *
-  * \param n the number of columns in the block
-  *
-  * Example: \include MatrixBase_rightCols_int.cpp
-  * Output: \verbinclude MatrixBase_rightCols_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline ColsBlockXpr rightCols(Index n)
-{
-  return ColsBlockXpr(derived(), 0, cols() - n, rows(), n);
-}
-
-/** This is the const version of rightCols(Index).*/
-inline ConstColsBlockXpr rightCols(Index n) const
-{
-  return ConstColsBlockXpr(derived(), 0, cols() - n, rows(), n);
-}
-
-/** \returns a block consisting of the right columns of *this.
-  *
-  * \tparam N the number of columns in the block as specified at compile-time
-  * \param n the number of columns in the block as specified at run-time
-  *
-  * The compile-time and run-time information should not contradict. In other words,
-  * \a n should equal \a N unless \a N is \a Dynamic.
-  *
-  * Example: \include MatrixBase_template_int_rightCols.cpp
-  * Output: \verbinclude MatrixBase_template_int_rightCols.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int N>
-inline typename NColsBlockXpr<N>::Type rightCols(Index n = N)
-{
-  return typename NColsBlockXpr<N>::Type(derived(), 0, cols() - n, rows(), n);
-}
-
-/** This is the const version of rightCols<int>().*/
-template<int N>
-inline typename ConstNColsBlockXpr<N>::Type rightCols(Index n = N) const
-{
-  return typename ConstNColsBlockXpr<N>::Type(derived(), 0, cols() - n, rows(), n);
-}
-
-
-
-/** \returns a block consisting of a range of columns of *this.
-  *
-  * \param startCol the index of the first column in the block
-  * \param numCols the number of columns in the block
-  *
-  * Example: \include DenseBase_middleCols_int.cpp
-  * Output: \verbinclude DenseBase_middleCols_int.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-inline ColsBlockXpr middleCols(Index startCol, Index numCols)
-{
-  return ColsBlockXpr(derived(), 0, startCol, rows(), numCols);
-}
-
-/** This is the const version of middleCols(Index,Index).*/
-inline ConstColsBlockXpr middleCols(Index startCol, Index numCols) const
-{
-  return ConstColsBlockXpr(derived(), 0, startCol, rows(), numCols);
-}
-
-/** \returns a block consisting of a range of columns of *this.
-  *
-  * \tparam N the number of columns in the block as specified at compile-time
-  * \param startCol the index of the first column in the block
-  * \param n the number of columns in the block as specified at run-time
-  *
-  * The compile-time and run-time information should not contradict. In other words,
-  * \a n should equal \a N unless \a N is \a Dynamic.
-  *
-  * Example: \include DenseBase_template_int_middleCols.cpp
-  * Output: \verbinclude DenseBase_template_int_middleCols.out
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int N>
-inline typename NColsBlockXpr<N>::Type middleCols(Index startCol, Index n = N)
-{
-  return typename NColsBlockXpr<N>::Type(derived(), 0, startCol, rows(), n);
-}
-
-/** This is the const version of middleCols<int>().*/
-template<int N>
-inline typename ConstNColsBlockXpr<N>::Type middleCols(Index startCol, Index n = N) const
-{
-  return typename ConstNColsBlockXpr<N>::Type(derived(), 0, startCol, rows(), n);
-}
-
-
-
-/** \returns a fixed-size expression of a block in *this.
-  *
-  * The template parameters \a BlockRows and \a BlockCols are the number of
-  * rows and columns in the block.
-  *
-  * \param startRow the first row in the block
-  * \param startCol the first column in the block
-  *
-  * Example: \include MatrixBase_block_int_int.cpp
-  * Output: \verbinclude MatrixBase_block_int_int.out
-  *
-  * \note since block is a templated member, the keyword template has to be used
-  * if the matrix type is also a template parameter: \code m.template block<3,3>(1,1); \endcode
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int BlockRows, int BlockCols>
-inline Block<Derived, BlockRows, BlockCols> block(Index startRow, Index startCol)
-{
-  return Block<Derived, BlockRows, BlockCols>(derived(), startRow, startCol);
-}
-
-/** This is the const version of block<>(Index, Index). */
-template<int BlockRows, int BlockCols>
-inline const Block<const Derived, BlockRows, BlockCols> block(Index startRow, Index startCol) const
-{
-  return Block<const Derived, BlockRows, BlockCols>(derived(), startRow, startCol);
-}
-
-/** \returns an expression of a block in *this.
-  *
-  * \tparam BlockRows number of rows in block as specified at compile-time
-  * \tparam BlockCols number of columns in block as specified at compile-time
-  * \param  startRow  the first row in the block
-  * \param  startCol  the first column in the block
-  * \param  blockRows number of rows in block as specified at run-time
-  * \param  blockCols number of columns in block as specified at run-time
-  *
-  * This function is mainly useful for blocks where the number of rows is specified at compile-time
-  * and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
-  * information should not contradict. In other words, \a blockRows should equal \a BlockRows unless
-  * \a BlockRows is \a Dynamic, and the same for the number of columns.
-  *
-  * Example: \include MatrixBase_template_int_int_block_int_int_int_int.cpp
-  * Output: \verbinclude MatrixBase_template_int_int_block_int_int_int_int.cpp
-  *
-  * \sa class Block, block(Index,Index,Index,Index)
-  */
-template<int BlockRows, int BlockCols>
-inline Block<Derived, BlockRows, BlockCols> block(Index startRow, Index startCol, 
-                                                  Index blockRows, Index blockCols)
-{
-  return Block<Derived, BlockRows, BlockCols>(derived(), startRow, startCol, blockRows, blockCols);
-}
-
-/** This is the const version of block<>(Index, Index, Index, Index). */
-template<int BlockRows, int BlockCols>
-inline const Block<const Derived, BlockRows, BlockCols> block(Index startRow, Index startCol,
-                                                              Index blockRows, Index blockCols) const
-{
-  return Block<const Derived, BlockRows, BlockCols>(derived(), startRow, startCol, blockRows, blockCols);
-}
-
-/** \returns an expression of the \a i-th column of *this. Note that the numbering starts at 0.
-  *
-  * Example: \include MatrixBase_col.cpp
-  * Output: \verbinclude MatrixBase_col.out
-  *
-  * \sa row(), class Block */
-inline ColXpr col(Index i)
-{
-  return ColXpr(derived(), i);
-}
-
-/** This is the const version of col(). */
-inline ConstColXpr col(Index i) const
-{
-  return ConstColXpr(derived(), i);
-}
-
-/** \returns an expression of the \a i-th row of *this. Note that the numbering starts at 0.
-  *
-  * Example: \include MatrixBase_row.cpp
-  * Output: \verbinclude MatrixBase_row.out
-  *
-  * \sa col(), class Block */
-inline RowXpr row(Index i)
-{
-  return RowXpr(derived(), i);
-}
-
-/** This is the const version of row(). */
-inline ConstRowXpr row(Index i) const
-{
-  return ConstRowXpr(derived(), i);
-}
-
-/** \returns a dynamic-size expression of a segment (i.e. a vector block) in *this.
-  *
-  * \only_for_vectors
-  *
-  * \param start the first coefficient in the segment
-  * \param n the number of coefficients in the segment
-  *
-  * Example: \include MatrixBase_segment_int_int.cpp
-  * Output: \verbinclude MatrixBase_segment_int_int.out
-  *
-  * \note Even though the returned expression has dynamic size, in the case
-  * when it is applied to a fixed-size vector, it inherits a fixed maximal size,
-  * which means that evaluating it does not cause a dynamic memory allocation.
-  *
-  * \sa class Block, segment(Index)
-  */
-inline SegmentReturnType segment(Index start, Index n)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return SegmentReturnType(derived(), start, n);
-}
-
-
-/** This is the const version of segment(Index,Index).*/
-inline ConstSegmentReturnType segment(Index start, Index n) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return ConstSegmentReturnType(derived(), start, n);
-}
-
-/** \returns a dynamic-size expression of the first coefficients of *this.
-  *
-  * \only_for_vectors
-  *
-  * \param n the number of coefficients in the segment
-  *
-  * Example: \include MatrixBase_start_int.cpp
-  * Output: \verbinclude MatrixBase_start_int.out
-  *
-  * \note Even though the returned expression has dynamic size, in the case
-  * when it is applied to a fixed-size vector, it inherits a fixed maximal size,
-  * which means that evaluating it does not cause a dynamic memory allocation.
-  *
-  * \sa class Block, block(Index,Index)
-  */
-inline SegmentReturnType head(Index n)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return SegmentReturnType(derived(), 0, n);
-}
-
-/** This is the const version of head(Index).*/
-inline ConstSegmentReturnType head(Index n) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return ConstSegmentReturnType(derived(), 0, n);
-}
-
-/** \returns a dynamic-size expression of the last coefficients of *this.
-  *
-  * \only_for_vectors
-  *
-  * \param n the number of coefficients in the segment
-  *
-  * Example: \include MatrixBase_end_int.cpp
-  * Output: \verbinclude MatrixBase_end_int.out
-  *
-  * \note Even though the returned expression has dynamic size, in the case
-  * when it is applied to a fixed-size vector, it inherits a fixed maximal size,
-  * which means that evaluating it does not cause a dynamic memory allocation.
-  *
-  * \sa class Block, block(Index,Index)
-  */
-inline SegmentReturnType tail(Index n)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return SegmentReturnType(derived(), this->size() - n, n);
-}
-
-/** This is the const version of tail(Index).*/
-inline ConstSegmentReturnType tail(Index n) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return ConstSegmentReturnType(derived(), this->size() - n, n);
-}
-
-/** \returns a fixed-size expression of a segment (i.e. a vector block) in \c *this
-  *
-  * \only_for_vectors
-  *
-  * \tparam N the number of coefficients in the segment as specified at compile-time
-  * \param start the index of the first element in the segment
-  * \param n the number of coefficients in the segment as specified at compile-time
-  *
-  * The compile-time and run-time information should not contradict. In other words,
-  * \a n should equal \a N unless \a N is \a Dynamic.
-  *
-  * Example: \include MatrixBase_template_int_segment.cpp
-  * Output: \verbinclude MatrixBase_template_int_segment.out
-  *
-  * \sa class Block
-  */
-template<int N>
-inline typename FixedSegmentReturnType<N>::Type segment(Index start, Index n = N)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return typename FixedSegmentReturnType<N>::Type(derived(), start, n);
-}
-
-/** This is the const version of segment<int>(Index).*/
-template<int N>
-inline typename ConstFixedSegmentReturnType<N>::Type segment(Index start, Index n = N) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return typename ConstFixedSegmentReturnType<N>::Type(derived(), start, n);
-}
-
-/** \returns a fixed-size expression of the first coefficients of *this.
-  *
-  * \only_for_vectors
-  *
-  * \tparam N the number of coefficients in the segment as specified at compile-time
-  * \param  n the number of coefficients in the segment as specified at run-time
-  *
-  * The compile-time and run-time information should not contradict. In other words,
-  * \a n should equal \a N unless \a N is \a Dynamic.
-  *
-  * Example: \include MatrixBase_template_int_start.cpp
-  * Output: \verbinclude MatrixBase_template_int_start.out
-  *
-  * \sa class Block
-  */
-template<int N>
-inline typename FixedSegmentReturnType<N>::Type head(Index n = N)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return typename FixedSegmentReturnType<N>::Type(derived(), 0, n);
-}
-
-/** This is the const version of head<int>().*/
-template<int N>
-inline typename ConstFixedSegmentReturnType<N>::Type head(Index n = N) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return typename ConstFixedSegmentReturnType<N>::Type(derived(), 0, n);
-}
-
-/** \returns a fixed-size expression of the last coefficients of *this.
-  *
-  * \only_for_vectors
-  *
-  * \tparam N the number of coefficients in the segment as specified at compile-time
-  * \param  n the number of coefficients in the segment as specified at run-time
-  *
-  * The compile-time and run-time information should not contradict. In other words,
-  * \a n should equal \a N unless \a N is \a Dynamic.
-  *
-  * Example: \include MatrixBase_template_int_end.cpp
-  * Output: \verbinclude MatrixBase_template_int_end.out
-  *
-  * \sa class Block
-  */
-template<int N>
-inline typename FixedSegmentReturnType<N>::Type tail(Index n = N)
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return typename FixedSegmentReturnType<N>::Type(derived(), size() - n);
-}
-
-/** This is the const version of tail<int>.*/
-template<int N>
-inline typename ConstFixedSegmentReturnType<N>::Type tail(Index n = N) const
-{
-  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
-  return typename ConstFixedSegmentReturnType<N>::Type(derived(), size() - n);
-}
diff --git a/lib/Eigen/src/plugins/CMakeLists.txt b/lib/Eigen/src/plugins/CMakeLists.txt
deleted file mode 100644
index 1a1d3ffb..00000000
--- a/lib/Eigen/src/plugins/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-FILE(GLOB Eigen_plugins_SRCS "*.h")
-
-INSTALL(FILES
-  ${Eigen_plugins_SRCS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/plugins COMPONENT Devel
-  )
diff --git a/lib/Eigen/src/plugins/CommonCwiseBinaryOps.h b/lib/Eigen/src/plugins/CommonCwiseBinaryOps.h
deleted file mode 100644
index 688d2244..00000000
--- a/lib/Eigen/src/plugins/CommonCwiseBinaryOps.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// This file is a base class plugin containing common coefficient wise functions.
-
-/** \returns an expression of the difference of \c *this and \a other
-  *
-  * \note If you want to substract a given scalar from all coefficients, see Cwise::operator-().
-  *
-  * \sa class CwiseBinaryOp, operator-=()
-  */
-EIGEN_MAKE_CWISE_BINARY_OP(operator-,internal::scalar_difference_op)
-
-/** \returns an expression of the sum of \c *this and \a other
-  *
-  * \note If you want to add a given scalar to all coefficients, see Cwise::operator+().
-  *
-  * \sa class CwiseBinaryOp, operator+=()
-  */
-EIGEN_MAKE_CWISE_BINARY_OP(operator+,internal::scalar_sum_op)
-
-/** \returns an expression of a custom coefficient-wise operator \a func of *this and \a other
-  *
-  * The template parameter \a CustomBinaryOp is the type of the functor
-  * of the custom operator (see class CwiseBinaryOp for an example)
-  *
-  * Here is an example illustrating the use of custom functors:
-  * \include class_CwiseBinaryOp.cpp
-  * Output: \verbinclude class_CwiseBinaryOp.out
-  *
-  * \sa class CwiseBinaryOp, operator+(), operator-(), cwiseProduct()
-  */
-template<typename CustomBinaryOp, typename OtherDerived>
-EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived>
-binaryExpr(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other, const CustomBinaryOp& func = CustomBinaryOp()) const
-{
-  return CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived>(derived(), other.derived(), func);
-}
-
diff --git a/lib/Eigen/src/plugins/CommonCwiseUnaryOps.h b/lib/Eigen/src/plugins/CommonCwiseUnaryOps.h
deleted file mode 100644
index 08e931aa..00000000
--- a/lib/Eigen/src/plugins/CommonCwiseUnaryOps.h
+++ /dev/null
@@ -1,172 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// This file is a base class plugin containing common coefficient wise functions.
-
-#ifndef EIGEN_PARSED_BY_DOXYGEN
-
-/** \internal Represents a scalar multiple of an expression */
-typedef CwiseUnaryOp<internal::scalar_multiple_op<Scalar>, const Derived> ScalarMultipleReturnType;
-/** \internal Represents a quotient of an expression by a scalar*/
-typedef CwiseUnaryOp<internal::scalar_quotient1_op<Scalar>, const Derived> ScalarQuotient1ReturnType;
-/** \internal the return type of conjugate() */
-typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
-                    const CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, const Derived>,
-                    const Derived&
-                  >::type ConjugateReturnType;
-/** \internal the return type of real() const */
-typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
-                    const CwiseUnaryOp<internal::scalar_real_op<Scalar>, const Derived>,
-                    const Derived&
-                  >::type RealReturnType;
-/** \internal the return type of real() */
-typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
-                    CwiseUnaryView<internal::scalar_real_ref_op<Scalar>, Derived>,
-                    Derived&
-                  >::type NonConstRealReturnType;
-/** \internal the return type of imag() const */
-typedef CwiseUnaryOp<internal::scalar_imag_op<Scalar>, const Derived> ImagReturnType;
-/** \internal the return type of imag() */
-typedef CwiseUnaryView<internal::scalar_imag_ref_op<Scalar>, Derived> NonConstImagReturnType;
-
-#endif // not EIGEN_PARSED_BY_DOXYGEN
-
-/** \returns an expression of the opposite of \c *this
-  */
-inline const CwiseUnaryOp<internal::scalar_opposite_op<typename internal::traits<Derived>::Scalar>, const Derived>
-operator-() const { return derived(); }
-
-
-/** \returns an expression of \c *this scaled by the scalar factor \a scalar */
-inline const ScalarMultipleReturnType
-operator*(const Scalar& scalar) const
-{
-  return CwiseUnaryOp<internal::scalar_multiple_op<Scalar>, const Derived>
-    (derived(), internal::scalar_multiple_op<Scalar>(scalar));
-}
-
-#ifdef EIGEN_PARSED_BY_DOXYGEN
-const ScalarMultipleReturnType operator*(const RealScalar& scalar) const;
-#endif
-
-/** \returns an expression of \c *this divided by the scalar value \a scalar */
-inline const CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const Derived>
-operator/(const Scalar& scalar) const
-{
-  return CwiseUnaryOp<internal::scalar_quotient1_op<Scalar>, const Derived>
-    (derived(), internal::scalar_quotient1_op<Scalar>(scalar));
-}
-
-/** Overloaded for efficient real matrix times complex scalar value */
-inline const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived>
-operator*(const std::complex<Scalar>& scalar) const
-{
-  return CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived>
-    (*static_cast<const Derived*>(this), internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >(scalar));
-}
-
-inline friend const ScalarMultipleReturnType
-operator*(const Scalar& scalar, const StorageBaseType& matrix)
-{ return matrix*scalar; }
-
-inline friend const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived>
-operator*(const std::complex<Scalar>& scalar, const StorageBaseType& matrix)
-{ return matrix*scalar; }
-
-/** \returns an expression of *this with the \a Scalar type casted to
-  * \a NewScalar.
-  *
-  * The template parameter \a NewScalar is the type we are casting the scalars to.
-  *
-  * \sa class CwiseUnaryOp
-  */
-template<typename NewType>
-typename internal::cast_return_type<Derived,const CwiseUnaryOp<internal::scalar_cast_op<typename internal::traits<Derived>::Scalar, NewType>, const Derived> >::type
-cast() const
-{
-  return derived();
-}
-
-/** \returns an expression of the complex conjugate of \c *this.
-  *
-  * \sa adjoint() */
-inline ConjugateReturnType
-conjugate() const
-{
-  return ConjugateReturnType(derived());
-}
-
-/** \returns a read-only expression of the real part of \c *this.
-  *
-  * \sa imag() */
-inline RealReturnType
-real() const { return derived(); }
-
-/** \returns an read-only expression of the imaginary part of \c *this.
-  *
-  * \sa real() */
-inline const ImagReturnType
-imag() const { return derived(); }
-
-/** \brief Apply a unary operator coefficient-wise
-  * \param[in]  func  Functor implementing the unary operator
-  * \tparam  CustomUnaryOp Type of \a func  
-  * \returns An expression of a custom coefficient-wise unary operator \a func of *this
-  *
-  * The function \c ptr_fun() from the C++ standard library can be used to make functors out of normal functions.
-  *
-  * Example:
-  * \include class_CwiseUnaryOp_ptrfun.cpp
-  * Output: \verbinclude class_CwiseUnaryOp_ptrfun.out
-  *
-  * Genuine functors allow for more possibilities, for instance it may contain a state.
-  *
-  * Example:
-  * \include class_CwiseUnaryOp.cpp
-  * Output: \verbinclude class_CwiseUnaryOp.out
-  *
-  * \sa class CwiseUnaryOp, class CwiseBinaryOp
-  */
-template<typename CustomUnaryOp>
-inline const CwiseUnaryOp<CustomUnaryOp, const Derived>
-unaryExpr(const CustomUnaryOp& func = CustomUnaryOp()) const
-{
-  return CwiseUnaryOp<CustomUnaryOp, const Derived>(derived(), func);
-}
-
-/** \returns an expression of a custom coefficient-wise unary operator \a func of *this
-  *
-  * The template parameter \a CustomUnaryOp is the type of the functor
-  * of the custom unary operator.
-  *
-  * Example:
-  * \include class_CwiseUnaryOp.cpp
-  * Output: \verbinclude class_CwiseUnaryOp.out
-  *
-  * \sa class CwiseUnaryOp, class CwiseBinaryOp
-  */
-template<typename CustomViewOp>
-inline const CwiseUnaryView<CustomViewOp, const Derived>
-unaryViewExpr(const CustomViewOp& func = CustomViewOp()) const
-{
-  return CwiseUnaryView<CustomViewOp, const Derived>(derived(), func);
-}
-
-/** \returns a non const expression of the real part of \c *this.
-  *
-  * \sa imag() */
-inline NonConstRealReturnType
-real() { return derived(); }
-
-/** \returns a non const expression of the imaginary part of \c *this.
-  *
-  * \sa real() */
-inline NonConstImagReturnType
-imag() { return derived(); }
diff --git a/lib/Eigen/src/plugins/MatrixCwiseBinaryOps.h b/lib/Eigen/src/plugins/MatrixCwiseBinaryOps.h
deleted file mode 100644
index c4a042b7..00000000
--- a/lib/Eigen/src/plugins/MatrixCwiseBinaryOps.h
+++ /dev/null
@@ -1,143 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// This file is a base class plugin containing matrix specifics coefficient wise functions.
-
-/** \returns an expression of the Schur product (coefficient wise product) of *this and \a other
-  *
-  * Example: \include MatrixBase_cwiseProduct.cpp
-  * Output: \verbinclude MatrixBase_cwiseProduct.out
-  *
-  * \sa class CwiseBinaryOp, cwiseAbs2
-  */
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE const EIGEN_CWISE_PRODUCT_RETURN_TYPE(Derived,OtherDerived)
-cwiseProduct(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  return EIGEN_CWISE_PRODUCT_RETURN_TYPE(Derived,OtherDerived)(derived(), other.derived());
-}
-
-/** \returns an expression of the coefficient-wise == operator of *this and \a other
-  *
-  * \warning this performs an exact comparison, which is generally a bad idea with floating-point types.
-  * In order to check for equality between two vectors or matrices with floating-point coefficients, it is
-  * generally a far better idea to use a fuzzy comparison as provided by isApprox() and
-  * isMuchSmallerThan().
-  *
-  * Example: \include MatrixBase_cwiseEqual.cpp
-  * Output: \verbinclude MatrixBase_cwiseEqual.out
-  *
-  * \sa cwiseNotEqual(), isApprox(), isMuchSmallerThan()
-  */
-template<typename OtherDerived>
-inline const CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived>
-cwiseEqual(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  return CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
-}
-
-/** \returns an expression of the coefficient-wise != operator of *this and \a other
-  *
-  * \warning this performs an exact comparison, which is generally a bad idea with floating-point types.
-  * In order to check for equality between two vectors or matrices with floating-point coefficients, it is
-  * generally a far better idea to use a fuzzy comparison as provided by isApprox() and
-  * isMuchSmallerThan().
-  *
-  * Example: \include MatrixBase_cwiseNotEqual.cpp
-  * Output: \verbinclude MatrixBase_cwiseNotEqual.out
-  *
-  * \sa cwiseEqual(), isApprox(), isMuchSmallerThan()
-  */
-template<typename OtherDerived>
-inline const CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived>
-cwiseNotEqual(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  return CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
-}
-
-/** \returns an expression of the coefficient-wise min of *this and \a other
-  *
-  * Example: \include MatrixBase_cwiseMin.cpp
-  * Output: \verbinclude MatrixBase_cwiseMin.out
-  *
-  * \sa class CwiseBinaryOp, max()
-  */
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const OtherDerived>
-cwiseMin(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  return CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
-}
-
-/** \returns an expression of the coefficient-wise min of *this and scalar \a other
-  *
-  * \sa class CwiseBinaryOp, min()
-  */
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const ConstantReturnType>
-cwiseMin(const Scalar &other) const
-{
-  return cwiseMin(Derived::Constant(rows(), cols(), other));
-}
-
-/** \returns an expression of the coefficient-wise max of *this and \a other
-  *
-  * Example: \include MatrixBase_cwiseMax.cpp
-  * Output: \verbinclude MatrixBase_cwiseMax.out
-  *
-  * \sa class CwiseBinaryOp, min()
-  */
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const OtherDerived>
-cwiseMax(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  return CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
-}
-
-/** \returns an expression of the coefficient-wise max of *this and scalar \a other
-  *
-  * \sa class CwiseBinaryOp, min()
-  */
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const ConstantReturnType>
-cwiseMax(const Scalar &other) const
-{
-  return cwiseMax(Derived::Constant(rows(), cols(), other));
-}
-
-
-/** \returns an expression of the coefficient-wise quotient of *this and \a other
-  *
-  * Example: \include MatrixBase_cwiseQuotient.cpp
-  * Output: \verbinclude MatrixBase_cwiseQuotient.out
-  *
-  * \sa class CwiseBinaryOp, cwiseProduct(), cwiseInverse()
-  */
-template<typename OtherDerived>
-EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived>
-cwiseQuotient(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
-{
-  return CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived>(derived(), other.derived());
-}
-
-typedef CwiseBinaryOp<internal::scalar_cmp_op<Scalar,internal::cmp_EQ>, const Derived, const ConstantReturnType> CwiseScalarEqualReturnType;
-
-/** \returns an expression of the coefficient-wise == operator of \c *this and a scalar \a s
-  *
-  * \warning this performs an exact comparison, which is generally a bad idea with floating-point types.
-  * In order to check for equality between two vectors or matrices with floating-point coefficients, it is
-  * generally a far better idea to use a fuzzy comparison as provided by isApprox() and
-  * isMuchSmallerThan().
-  *
-  * \sa cwiseEqual(const MatrixBase<OtherDerived> &) const
-  */
-inline const CwiseScalarEqualReturnType
-cwiseEqual(const Scalar& s) const
-{
-  return CwiseScalarEqualReturnType(derived(), Derived::Constant(rows(), cols(), s), internal::scalar_cmp_op<Scalar,internal::cmp_EQ>());
-}
diff --git a/lib/Eigen/src/plugins/MatrixCwiseUnaryOps.h b/lib/Eigen/src/plugins/MatrixCwiseUnaryOps.h
deleted file mode 100644
index 8de10935..00000000
--- a/lib/Eigen/src/plugins/MatrixCwiseUnaryOps.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
-// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-// This file is a base class plugin containing matrix specifics coefficient wise functions.
-
-/** \returns an expression of the coefficient-wise absolute value of \c *this
-  *
-  * Example: \include MatrixBase_cwiseAbs.cpp
-  * Output: \verbinclude MatrixBase_cwiseAbs.out
-  *
-  * \sa cwiseAbs2()
-  */
-EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived>
-cwiseAbs() const { return derived(); }
-
-/** \returns an expression of the coefficient-wise squared absolute value of \c *this
-  *
-  * Example: \include MatrixBase_cwiseAbs2.cpp
-  * Output: \verbinclude MatrixBase_cwiseAbs2.out
-  *
-  * \sa cwiseAbs()
-  */
-EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived>
-cwiseAbs2() const { return derived(); }
-
-/** \returns an expression of the coefficient-wise square root of *this.
-  *
-  * Example: \include MatrixBase_cwiseSqrt.cpp
-  * Output: \verbinclude MatrixBase_cwiseSqrt.out
-  *
-  * \sa cwisePow(), cwiseSquare()
-  */
-inline const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived>
-cwiseSqrt() const { return derived(); }
-
-/** \returns an expression of the coefficient-wise inverse of *this.
-  *
-  * Example: \include MatrixBase_cwiseInverse.cpp
-  * Output: \verbinclude MatrixBase_cwiseInverse.out
-  *
-  * \sa cwiseProduct()
-  */
-inline const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived>
-cwiseInverse() const { return derived(); }
-
diff --git a/lib/Make.inc b/lib/Make.inc
index 070a69a7..e4800112 100644
--- a/lib/Make.inc
+++ b/lib/Make.inc
@@ -1,3 +1,3 @@
-HFILES=./tensors/Tensor_extract_merge.h ./tensors/Tensor_exp.h ./tensors/Tensor_index.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_determinant.h ./tensors/Tensor_outer.h ./tensors/Tensor_trace.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_logical.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_class.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith.h ./tensors/Tensor_unary.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_traits.h ./stencil/Lebesgue.h ./PerfCount.h ./FFT.h ./Communicator.h ./simd/Grid_vector_types.h ./simd/Grid_qpx.h ./simd/Grid_imci.h ./simd/Grid_avx.h ./simd/Intel512single.h ./simd/Grid_vector_unops.h ./simd/Grid_neon.h ./simd/Intel512common.h ./simd/Intel512wilson.h ./simd/Intel512imci.h ./simd/Intel512double.h ./simd/Grid_generic.h ./simd/Grid_avx512.h ./simd/Grid_sse4.h ./simd/Intel512avx.h ./Threads.h ./Timer.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/SparseMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/Francis.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/Householder.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Matrix.h ./Algorithms.h ./lattice/Lattice_base.h ./lattice/Lattice_overload.h ./lattice/Lattice_ET.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_trace.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_arith.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_rng.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reality.h ./lattice/Lattice_transpose.h ./lattice/Lattice_transfer.h ./lattice/Lattice_conformable.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./lattice/Lattice_reduction.h ./Cartesian.h ./Simd.h ./Init.h ./serialisation/TextIO.h ./serialisation/Serialisation.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/XmlIO.h ./serialisation/BinaryIO.h ./communicator/Communicator_base.h ./Log.h ./Lattice.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./cshift/Cshift_common.h ./Lexicographic.h ./Tensors.h ./Cshift.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/Smearing.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/ZMobiusFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/ActionBase.h ./qcd/QCD.h ./qcd/spin/TwoSpinor.h ./qcd/spin/Dirac.h ./qcd/representations/fundamental.h ./qcd/representations/hmc_types.h ./qcd/representations/adjoint.h ./qcd/utils/CovariantCshift.h ./qcd/utils/SUnAdjoint.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./AlignedAllocator.h ./pugixml/pugixml.h ./Stencil.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Grid.h
+HFILES=./tensors/Tensor_extract_merge.h ./tensors/Tensor_exp.h ./tensors/Tensor_index.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_determinant.h ./tensors/Tensor_outer.h ./tensors/Tensor_trace.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_logical.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_class.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith.h ./tensors/Tensor_unary.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_traits.h ./stencil/Lebesgue.h ./PerfCount.h ./FFT.h ./Communicator.h ./simd/Grid_vector_types.h ./simd/Grid_qpx.h ./simd/Grid_imci.h ./simd/Grid_avx.h ./simd/Intel512single.h ./simd/Grid_vector_unops.h ./simd/Grid_neon.h ./simd/Intel512common.h ./simd/Intel512wilson.h ./simd/Intel512imci.h ./simd/Intel512double.h ./simd/Grid_generic.h ./simd/Grid_avx512.h ./simd/Grid_sse4.h ./simd/Intel512avx.h ./Threads.h ./Timer.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/SparseMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/Francis.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/Householder.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Matrix.h ./Algorithms.h ./fftw/fftw3.h ./lattice/Lattice_base.h ./lattice/Lattice_overload.h ./lattice/Lattice_ET.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_trace.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_arith.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_rng.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reality.h ./lattice/Lattice_transpose.h ./lattice/Lattice_transfer.h ./lattice/Lattice_conformable.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./lattice/Lattice_reduction.h ./Cartesian.h ./Simd.h ./Init.h ./serialisation/TextIO.h ./serialisation/Serialisation.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/XmlIO.h ./serialisation/BinaryIO.h ./communicator/Communicator_base.h ./Log.h ./Lattice.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./cshift/Cshift_common.h ./Lexicographic.h ./Tensors.h ./Cshift.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/Smearing.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/ZMobiusFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/ActionBase.h ./qcd/QCD.h ./qcd/spin/TwoSpinor.h ./qcd/spin/Dirac.h ./qcd/representations/fundamental.h ./qcd/representations/hmc_types.h ./qcd/representations/two_index_symmetrical.h ./qcd/representations/adjoint.h ./qcd/utils/CovariantCshift.h ./qcd/utils/SUnTwoIndex.h ./qcd/utils/SUnAdjoint.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./AlignedAllocator.h ./pugixml/pugixml.h ./Stencil.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Grid.h
 
 CCFILES=./stencil/Stencil_common.cc ./stencil/Lebesgue.cc ./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./PerfCount.cc ./serialisation/BinaryIO.cc ./serialisation/XmlIO.cc ./serialisation/TextIO.cc ./qcd/hmc/HMC.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/CayleyFermion5Ddense.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/CayleyFermion5Dcache.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/CayleyFermion5Dssp.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/CayleyFermion5Dvec.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./Init.cc ./pugixml/pugixml.cc ./Log.cc
diff --git a/lib/fftw/fftw3.h b/lib/fftw/fftw3.h
new file mode 100644
index 00000000..1bf34396
--- /dev/null
+++ b/lib/fftw/fftw3.h
@@ -0,0 +1,412 @@
+/*
+ * Copyright (c) 2003, 2007-14 Matteo Frigo
+ * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
+ *
+ * The following statement of license applies *only* to this header file,
+ * and *not* to the other files distributed with FFTW or derived therefrom:
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/***************************** NOTE TO USERS *********************************
+ *
+ *                 THIS IS A HEADER FILE, NOT A MANUAL
+ *
+ *    If you want to know how to use FFTW, please read the manual,
+ *    online at http://www.fftw.org/doc/ and also included with FFTW.
+ *    For a quick start, see the manual's tutorial section.
+ *
+ *   (Reading header files to learn how to use a library is a habit
+ *    stemming from code lacking a proper manual.  Arguably, it's a
+ *    *bad* habit in most cases, because header files can contain
+ *    interfaces that are not part of the public, stable API.)
+ *
+ ****************************************************************************/
+
+#ifndef FFTW3_H
+#define FFTW3_H
+
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+/* If <complex.h> is included, use the C99 complex type.  Otherwise
+   define a type bit-compatible with C99 complex */
+#if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I)
+#  define FFTW_DEFINE_COMPLEX(R, C) typedef R _Complex C
+#else
+#  define FFTW_DEFINE_COMPLEX(R, C) typedef R C[2]
+#endif
+
+#define FFTW_CONCAT(prefix, name) prefix ## name
+#define FFTW_MANGLE_DOUBLE(name) FFTW_CONCAT(fftw_, name)
+#define FFTW_MANGLE_FLOAT(name) FFTW_CONCAT(fftwf_, name)
+#define FFTW_MANGLE_LONG_DOUBLE(name) FFTW_CONCAT(fftwl_, name)
+#define FFTW_MANGLE_QUAD(name) FFTW_CONCAT(fftwq_, name)
+
+/* IMPORTANT: for Windows compilers, you should add a line
+        #define FFTW_DLL
+   here and in kernel/ifftw.h if you are compiling/using FFTW as a
+   DLL, in order to do the proper importing/exporting, or
+   alternatively compile with -DFFTW_DLL or the equivalent
+   command-line flag.  This is not necessary under MinGW/Cygwin, where
+   libtool does the imports/exports automatically. */
+#if defined(FFTW_DLL) && (defined(_WIN32) || defined(__WIN32__))
+   /* annoying Windows syntax for shared-library declarations */
+#  if defined(COMPILING_FFTW) /* defined in api.h when compiling FFTW */
+#    define FFTW_EXTERN extern __declspec(dllexport) 
+#  else /* user is calling FFTW; import symbol */
+#    define FFTW_EXTERN extern __declspec(dllimport) 
+#  endif
+#else
+#  define FFTW_EXTERN extern
+#endif
+
+enum fftw_r2r_kind_do_not_use_me {
+     FFTW_R2HC=0, FFTW_HC2R=1, FFTW_DHT=2,
+     FFTW_REDFT00=3, FFTW_REDFT01=4, FFTW_REDFT10=5, FFTW_REDFT11=6,
+     FFTW_RODFT00=7, FFTW_RODFT01=8, FFTW_RODFT10=9, FFTW_RODFT11=10
+};
+
+struct fftw_iodim_do_not_use_me {
+     int n;                     /* dimension size */
+     int is;			/* input stride */
+     int os;			/* output stride */
+};
+
+#include <stddef.h> /* for ptrdiff_t */
+struct fftw_iodim64_do_not_use_me {
+     ptrdiff_t n;                     /* dimension size */
+     ptrdiff_t is;			/* input stride */
+     ptrdiff_t os;			/* output stride */
+};
+
+typedef void (*fftw_write_char_func_do_not_use_me)(char c, void *);
+typedef int (*fftw_read_char_func_do_not_use_me)(void *);
+
+/*
+  huge second-order macro that defines prototypes for all API
+  functions.  We expand this macro for each supported precision
+ 
+  X: name-mangling macro
+  R: real data type
+  C: complex data type
+*/
+
+#define FFTW_DEFINE_API(X, R, C)					   \
+									   \
+FFTW_DEFINE_COMPLEX(R, C);						   \
+									   \
+typedef struct X(plan_s) *X(plan);					   \
+									   \
+typedef struct fftw_iodim_do_not_use_me X(iodim);			   \
+typedef struct fftw_iodim64_do_not_use_me X(iodim64);			   \
+									   \
+typedef enum fftw_r2r_kind_do_not_use_me X(r2r_kind);			   \
+									   \
+typedef fftw_write_char_func_do_not_use_me X(write_char_func);		   \
+typedef fftw_read_char_func_do_not_use_me X(read_char_func);		   \
+									   \
+FFTW_EXTERN void X(execute)(const X(plan) p);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft)(int rank, const int *n,			   \
+		    C *in, C *out, int sign, unsigned flags);		   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_1d)(int n, C *in, C *out, int sign,	   \
+		       unsigned flags);					   \
+FFTW_EXTERN X(plan) X(plan_dft_2d)(int n0, int n1,			   \
+		       C *in, C *out, int sign, unsigned flags);	   \
+FFTW_EXTERN X(plan) X(plan_dft_3d)(int n0, int n1, int n2,		   \
+		       C *in, C *out, int sign, unsigned flags);	   \
+									   \
+FFTW_EXTERN X(plan) X(plan_many_dft)(int rank, const int *n,		   \
+                         int howmany,					   \
+                         C *in, const int *inembed,			   \
+                         int istride, int idist,			   \
+                         C *out, const int *onembed,			   \
+                         int ostride, int odist,			   \
+                         int sign, unsigned flags);			   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru_dft)(int rank, const X(iodim) *dims,	   \
+			 int howmany_rank,				   \
+			 const X(iodim) *howmany_dims,			   \
+			 C *in, C *out,					   \
+			 int sign, unsigned flags);			   \
+FFTW_EXTERN X(plan) X(plan_guru_split_dft)(int rank, const X(iodim) *dims, \
+			 int howmany_rank,				   \
+			 const X(iodim) *howmany_dims,			   \
+			 R *ri, R *ii, R *ro, R *io,			   \
+			 unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru64_dft)(int rank,			   \
+                         const X(iodim64) *dims,			   \
+			 int howmany_rank,				   \
+			 const X(iodim64) *howmany_dims,		   \
+			 C *in, C *out,					   \
+			 int sign, unsigned flags);			   \
+FFTW_EXTERN X(plan) X(plan_guru64_split_dft)(int rank,			   \
+                         const X(iodim64) *dims,			   \
+			 int howmany_rank,				   \
+			 const X(iodim64) *howmany_dims,		   \
+			 R *ri, R *ii, R *ro, R *io,			   \
+			 unsigned flags);				   \
+									   \
+FFTW_EXTERN void X(execute_dft)(const X(plan) p, C *in, C *out);	   \
+FFTW_EXTERN void X(execute_split_dft)(const X(plan) p, R *ri, R *ii,	   \
+                                      R *ro, R *io);			   \
+									   \
+FFTW_EXTERN X(plan) X(plan_many_dft_r2c)(int rank, const int *n,	   \
+                             int howmany,				   \
+                             R *in, const int *inembed,			   \
+                             int istride, int idist,			   \
+                             C *out, const int *onembed,		   \
+                             int ostride, int odist,			   \
+                             unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_r2c)(int rank, const int *n,		   \
+                        R *in, C *out, unsigned flags);			   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_r2c_1d)(int n,R *in,C *out,unsigned flags); \
+FFTW_EXTERN X(plan) X(plan_dft_r2c_2d)(int n0, int n1,			   \
+			   R *in, C *out, unsigned flags);		   \
+FFTW_EXTERN X(plan) X(plan_dft_r2c_3d)(int n0, int n1,			   \
+			   int n2,					   \
+			   R *in, C *out, unsigned flags);		   \
+									   \
+									   \
+FFTW_EXTERN X(plan) X(plan_many_dft_c2r)(int rank, const int *n,	   \
+			     int howmany,				   \
+			     C *in, const int *inembed,			   \
+			     int istride, int idist,			   \
+			     R *out, const int *onembed,		   \
+			     int ostride, int odist,			   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_c2r)(int rank, const int *n,		   \
+                        C *in, R *out, unsigned flags);			   \
+									   \
+FFTW_EXTERN X(plan) X(plan_dft_c2r_1d)(int n,C *in,R *out,unsigned flags); \
+FFTW_EXTERN X(plan) X(plan_dft_c2r_2d)(int n0, int n1,			   \
+			   C *in, R *out, unsigned flags);		   \
+FFTW_EXTERN X(plan) X(plan_dft_c2r_3d)(int n0, int n1,			   \
+			   int n2,					   \
+			   C *in, R *out, unsigned flags);		   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru_dft_r2c)(int rank, const X(iodim) *dims,   \
+			     int howmany_rank,				   \
+			     const X(iodim) *howmany_dims,		   \
+			     R *in, C *out,				   \
+			     unsigned flags);				   \
+FFTW_EXTERN X(plan) X(plan_guru_dft_c2r)(int rank, const X(iodim) *dims,   \
+			     int howmany_rank,				   \
+			     const X(iodim) *howmany_dims,		   \
+			     C *in, R *out,				   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru_split_dft_r2c)(				   \
+                             int rank, const X(iodim) *dims,		   \
+			     int howmany_rank,				   \
+			     const X(iodim) *howmany_dims,		   \
+			     R *in, R *ro, R *io,			   \
+			     unsigned flags);				   \
+FFTW_EXTERN X(plan) X(plan_guru_split_dft_c2r)(				   \
+                             int rank, const X(iodim) *dims,		   \
+			     int howmany_rank,				   \
+			     const X(iodim) *howmany_dims,		   \
+			     R *ri, R *ii, R *out,			   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru64_dft_r2c)(int rank,			   \
+                             const X(iodim64) *dims,			   \
+			     int howmany_rank,				   \
+			     const X(iodim64) *howmany_dims,		   \
+			     R *in, C *out,				   \
+			     unsigned flags);				   \
+FFTW_EXTERN X(plan) X(plan_guru64_dft_c2r)(int rank,			   \
+                             const X(iodim64) *dims,			   \
+			     int howmany_rank,				   \
+			     const X(iodim64) *howmany_dims,		   \
+			     C *in, R *out,				   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru64_split_dft_r2c)(			   \
+                             int rank, const X(iodim64) *dims,		   \
+			     int howmany_rank,				   \
+			     const X(iodim64) *howmany_dims,		   \
+			     R *in, R *ro, R *io,			   \
+			     unsigned flags);				   \
+FFTW_EXTERN X(plan) X(plan_guru64_split_dft_c2r)(			   \
+                             int rank, const X(iodim64) *dims,		   \
+			     int howmany_rank,				   \
+			     const X(iodim64) *howmany_dims,		   \
+			     R *ri, R *ii, R *out,			   \
+			     unsigned flags);				   \
+									   \
+FFTW_EXTERN void X(execute_dft_r2c)(const X(plan) p, R *in, C *out);	   \
+FFTW_EXTERN void X(execute_dft_c2r)(const X(plan) p, C *in, R *out);	   \
+									   \
+FFTW_EXTERN void X(execute_split_dft_r2c)(const X(plan) p,		   \
+                                          R *in, R *ro, R *io);		   \
+FFTW_EXTERN void X(execute_split_dft_c2r)(const X(plan) p,		   \
+                                          R *ri, R *ii, R *out);	   \
+									   \
+FFTW_EXTERN X(plan) X(plan_many_r2r)(int rank, const int *n,		   \
+                         int howmany,					   \
+                         R *in, const int *inembed,			   \
+                         int istride, int idist,			   \
+                         R *out, const int *onembed,			   \
+                         int ostride, int odist,			   \
+                         const X(r2r_kind) *kind, unsigned flags);	   \
+									   \
+FFTW_EXTERN X(plan) X(plan_r2r)(int rank, const int *n, R *in, R *out,	   \
+                    const X(r2r_kind) *kind, unsigned flags);		   \
+									   \
+FFTW_EXTERN X(plan) X(plan_r2r_1d)(int n, R *in, R *out,		   \
+                       X(r2r_kind) kind, unsigned flags);		   \
+FFTW_EXTERN X(plan) X(plan_r2r_2d)(int n0, int n1, R *in, R *out,	   \
+                       X(r2r_kind) kind0, X(r2r_kind) kind1,		   \
+                       unsigned flags);					   \
+FFTW_EXTERN X(plan) X(plan_r2r_3d)(int n0, int n1, int n2,		   \
+                       R *in, R *out, X(r2r_kind) kind0,		   \
+                       X(r2r_kind) kind1, X(r2r_kind) kind2,		   \
+                       unsigned flags);					   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru_r2r)(int rank, const X(iodim) *dims,	   \
+                         int howmany_rank,				   \
+                         const X(iodim) *howmany_dims,			   \
+                         R *in, R *out,					   \
+                         const X(r2r_kind) *kind, unsigned flags);	   \
+									   \
+FFTW_EXTERN X(plan) X(plan_guru64_r2r)(int rank, const X(iodim64) *dims,   \
+                         int howmany_rank,				   \
+                         const X(iodim64) *howmany_dims,		   \
+                         R *in, R *out,					   \
+                         const X(r2r_kind) *kind, unsigned flags);	   \
+									   \
+FFTW_EXTERN void X(execute_r2r)(const X(plan) p, R *in, R *out);	   \
+									   \
+FFTW_EXTERN void X(destroy_plan)(X(plan) p);				   \
+FFTW_EXTERN void X(forget_wisdom)(void);				   \
+FFTW_EXTERN void X(cleanup)(void);					   \
+									   \
+FFTW_EXTERN void X(set_timelimit)(double t);				   \
+									   \
+FFTW_EXTERN void X(plan_with_nthreads)(int nthreads);			   \
+FFTW_EXTERN int X(init_threads)(void);					   \
+FFTW_EXTERN void X(cleanup_threads)(void);				   \
+									   \
+FFTW_EXTERN int X(export_wisdom_to_filename)(const char *filename);	   \
+FFTW_EXTERN void X(export_wisdom_to_file)(FILE *output_file);		   \
+FFTW_EXTERN char *X(export_wisdom_to_string)(void);			   \
+FFTW_EXTERN void X(export_wisdom)(X(write_char_func) write_char,   	   \
+                                  void *data);				   \
+FFTW_EXTERN int X(import_system_wisdom)(void);				   \
+FFTW_EXTERN int X(import_wisdom_from_filename)(const char *filename);	   \
+FFTW_EXTERN int X(import_wisdom_from_file)(FILE *input_file);		   \
+FFTW_EXTERN int X(import_wisdom_from_string)(const char *input_string);	   \
+FFTW_EXTERN int X(import_wisdom)(X(read_char_func) read_char, void *data); \
+									   \
+FFTW_EXTERN void X(fprint_plan)(const X(plan) p, FILE *output_file);	   \
+FFTW_EXTERN void X(print_plan)(const X(plan) p);			   \
+FFTW_EXTERN char *X(sprint_plan)(const X(plan) p);			   \
+									   \
+FFTW_EXTERN void *X(malloc)(size_t n);					   \
+FFTW_EXTERN R *X(alloc_real)(size_t n);					   \
+FFTW_EXTERN C *X(alloc_complex)(size_t n);				   \
+FFTW_EXTERN void X(free)(void *p);					   \
+									   \
+FFTW_EXTERN void X(flops)(const X(plan) p,				   \
+                          double *add, double *mul, double *fmas);	   \
+FFTW_EXTERN double X(estimate_cost)(const X(plan) p);			   \
+FFTW_EXTERN double X(cost)(const X(plan) p);				   \
+									   \
+FFTW_EXTERN int X(alignment_of)(R *p);                                     \
+FFTW_EXTERN const char X(version)[];                                       \
+FFTW_EXTERN const char X(cc)[];						   \
+FFTW_EXTERN const char X(codelet_optim)[];
+
+
+/* end of FFTW_DEFINE_API macro */
+
+FFTW_DEFINE_API(FFTW_MANGLE_DOUBLE, double, fftw_complex)
+FFTW_DEFINE_API(FFTW_MANGLE_FLOAT, float, fftwf_complex)
+FFTW_DEFINE_API(FFTW_MANGLE_LONG_DOUBLE, long double, fftwl_complex)
+
+/* __float128 (quad precision) is a gcc extension on i386, x86_64, and ia64
+   for gcc >= 4.6 (compiled in FFTW with --enable-quad-precision) */
+#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) \
+ && !(defined(__ICC) || defined(__INTEL_COMPILER)) \
+ && (defined(__i386__) || defined(__x86_64__) || defined(__ia64__))
+#  if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I)
+/* note: __float128 is a typedef, which is not supported with the _Complex
+         keyword in gcc, so instead we use this ugly __attribute__ version.
+         However, we can't simply pass the __attribute__ version to
+         FFTW_DEFINE_API because the __attribute__ confuses gcc in pointer
+         types.  Hence redefining FFTW_DEFINE_COMPLEX.  Ugh. */
+#    undef FFTW_DEFINE_COMPLEX
+#    define FFTW_DEFINE_COMPLEX(R, C) typedef _Complex float __attribute__((mode(TC))) C
+#  endif
+FFTW_DEFINE_API(FFTW_MANGLE_QUAD, __float128, fftwq_complex)
+#endif
+
+#define FFTW_FORWARD (-1)
+#define FFTW_BACKWARD (+1)
+
+#define FFTW_NO_TIMELIMIT (-1.0)
+
+/* documented flags */
+#define FFTW_MEASURE (0U)
+#define FFTW_DESTROY_INPUT (1U << 0)
+#define FFTW_UNALIGNED (1U << 1)
+#define FFTW_CONSERVE_MEMORY (1U << 2)
+#define FFTW_EXHAUSTIVE (1U << 3) /* NO_EXHAUSTIVE is default */
+#define FFTW_PRESERVE_INPUT (1U << 4) /* cancels FFTW_DESTROY_INPUT */
+#define FFTW_PATIENT (1U << 5) /* IMPATIENT is default */
+#define FFTW_ESTIMATE (1U << 6)
+#define FFTW_WISDOM_ONLY (1U << 21)
+
+/* undocumented beyond-guru flags */
+#define FFTW_ESTIMATE_PATIENT (1U << 7)
+#define FFTW_BELIEVE_PCOST (1U << 8)
+#define FFTW_NO_DFT_R2HC (1U << 9)
+#define FFTW_NO_NONTHREADED (1U << 10)
+#define FFTW_NO_BUFFERING (1U << 11)
+#define FFTW_NO_INDIRECT_OP (1U << 12)
+#define FFTW_ALLOW_LARGE_GENERIC (1U << 13) /* NO_LARGE_GENERIC is default */
+#define FFTW_NO_RANK_SPLITS (1U << 14)
+#define FFTW_NO_VRANK_SPLITS (1U << 15)
+#define FFTW_NO_VRECURSE (1U << 16)
+#define FFTW_NO_SIMD (1U << 17)
+#define FFTW_NO_SLOW (1U << 18)
+#define FFTW_NO_FIXED_RADIX_LARGE_N (1U << 19)
+#define FFTW_ALLOW_PRUNING (1U << 20)
+
+#ifdef __cplusplus
+}  /* extern "C" */
+#endif /* __cplusplus */
+
+#endif /* FFTW3_H */
diff --git a/lib/qcd/representations/two_index_symmetrical.h b/lib/qcd/representations/two_index_symmetrical.h
new file mode 100644
index 00000000..5343fd0c
--- /dev/null
+++ b/lib/qcd/representations/two_index_symmetrical.h
@@ -0,0 +1,91 @@
+/*
+ *  Policy classes for the HMC
+ *  Author: Guido Cossu
+*/
+
+#ifndef ADJOINT_H
+#define ADJOINT_H
+
+namespace Grid {
+namespace QCD {
+
+/*
+* This is an helper class for the HMC
+* Should contain only the data for the adjoint representation
+* and the facility to convert from the fundamental -> adjoint
+*/
+
+template <int ncolour, TwoIndexSymmetry S>
+class TwoIndexSymmetricRep {
+ public:
+  // typdef to be used by the Representations class in HMC to get the
+  // types for the higher representation fields
+  typedef typename SU_TwoIndex<ncolour,S>::LatticeTwoIndexMatrix LatticeMatrix;
+  typedef typename SU_TwoIndex<ncolour,S>::LatticeTwoIndexField  LatticeField;
+  static const int Dimension = ncolour * (ncolour + S) / 2;
+
+  LatticeField U;
+
+  explicit TwoIndexSymmetricRep(GridBase *grid) : U(grid) {}
+
+  void update_representation(const LatticeGaugeField &Uin) {
+    std::cout << GridLogDebug << "Updating TwoIndex representation\n";
+    // Uin is in the fundamental representation
+    // get the U in AdjointRep
+    // (U)(ij)_(lk) = 
+    // e^a = 
+    conformable(U, Uin);
+    U = zero;
+    LatticeColourMatrix tmp(Uin._grid);
+
+    Vector<typename SU<ncolour>::Matrix> ta(Dimension);
+
+    // FIXME probably not very efficient to get all the generators
+    // everytime
+    for (int a = 0; a < Dimension; a++) SU<ncolour>::generator(a, ta[a]);
+
+    for (int mu = 0; mu < Nd; mu++) {
+      auto Uin_mu = peekLorentz(Uin, mu);
+      auto U_mu = peekLorentz(U, mu);
+
+    }
+  }
+
+  LatticeGaugeField RtoFundamentalProject(const LatticeField &in,
+                                          Real scale = 1.0) const {
+    LatticeGaugeField out(in._grid);
+    out = zero;
+
+    for (int mu = 0; mu < Nd; mu++) {
+      LatticeColourMatrix out_mu(in._grid);  // fundamental representation
+      LatticeMatrix in_mu = peekLorentz(in, mu);
+
+      out_mu = zero;
+
+      typename SU<ncolour>::LatticeAlgebraVector h(in._grid);
+      projectOnAlgebra(h, in_mu, double(Nc + 2*S) );  // factor T(r)/T(fund)
+      FundamentalLieAlgebraMatrix(h, out_mu);   // apply scale only once
+      pokeLorentz(out, out_mu, mu);
+    }
+    return out;
+  }
+
+ private:
+  void projectOnAlgebra(typename SU<ncolour>::LatticeAlgebraVector &h_out,
+                        const LatticeMatrix &in, Real scale = 1.0) const {
+    SU_TwoIndex<ncolour,S>::projectOnAlgebra(h_out, in, scale);
+  }
+
+  void FundamentalLieAlgebraMatrix(
+      typename SU<ncolour>::LatticeAlgebraVector &h,
+      typename SU<ncolour>::LatticeMatrix &out, Real scale = 1.0) const {
+    SU<ncolour>::FundamentalLieAlgebraMatrix(h, out, scale);
+  }
+};
+
+  typedef TwoIndexRep< Nc,     Symmetric > TwoIndexSymmetricRepresentation;
+  typedef TwoIndexRep< Nc, AntiSymmetric > TwoIndexAntiSymmetricRepresentation;
+}
+}
+
+#endif
diff --git a/lib/qcd/utils/SUnTwoIndex.h b/lib/qcd/utils/SUnTwoIndex.h
new file mode 100644
index 00000000..07fcc7e7
--- /dev/null
+++ b/lib/qcd/utils/SUnTwoIndex.h
@@ -0,0 +1,163 @@
+#ifndef QCD_UTIL_SUNADJOINT_H
+#define QCD_UTIL_SUNADJOINT_H
+
+////////////////////////////////////////////////////////////////////////
+//
+// * Two index representation generators
+//
+// * Normalisation for the fundamental generators: 
+//   trace ta tb = 1/2 delta_ab = T_F delta_ab
+//   T_F = 1/2  for SU(N) groups
+//
+//
+//   base for NxN two index (anti-symmetric) matrices
+//   normalized to 1 (d_ij is the kroenecker delta)
+//
+//   (e^(ij)_{kl} = 1 / sqrt(2) (d_ik d_jl +/- d_jk d_il)
+//
+//   Then the generators are written as
+//
+//   (iT^(ij))_lk = i 
+//
+////////////////////////////////////////////////////////////////////////
+
+namespace Grid {
+  namespace QCD {
+
+    enum TwoIndexSymmetry {Symmetric = 1, AntiSymmetric = -1};
+    
+    template <int ncolour, TwoIndexSymmetry S>
+    class SU_TwoIndex : public SU<ncolour> {
+    public:
+      static const int Dimension = ncolour * (ncolour + S) / 2;
+    
+      template <typename vtype>
+      using iSUnTwoIndexMatrix =
+	iScalar<iScalar<iMatrix<vtype, Dimension > > >;
+    
+      typedef iSUnTwoIndexMatrix<Complex> TIMatrix;
+      typedef iSUnTwoIndexMatrix<ComplexF> TIMatrixF;
+      typedef iSUnTwoIndexMatrix<ComplexD> TIMatrixD;
+    
+      typedef iSUnTwoIndexMatrix<vComplex> vTIMatrix;
+      typedef iSUnTwoIndexMatrix<vComplexF> vTIMatrixF;
+      typedef iSUnTwoIndexMatrix<vComplexD> vTIMatrixD;
+    
+      typedef Lattice<vAMatrix>  LatticeTwoIndexMatrix;
+      typedef Lattice<vAMatrixF> LatticeTwoIndexMatrixF;
+      typedef Lattice<vAMatrixD> LatticeTwoIndexMatrixD;
+    
+      typedef Lattice<iVector<iScalar<iMatrix<vComplex, Dimension> >, Nd> >
+      LatticeTwoIndexField;
+      typedef Lattice<iVector<iScalar<iMatrix<vComplexF, Dimension> >, Nd> >
+      LatticeTwoIndexFieldF;
+      typedef Lattice<iVector<iScalar<iMatrix<vComplexD, Dimension> >, Nd> >
+      LatticeTwoIndexFieldD;
+    
+    
+
+
+      template <class cplx>
+      static void generator(int Index, iSUnTwoIndexMatrix<cplx> &iTwoIdxTa) {
+	// returns i(T)^(ij) necessary for the projectors
+	// see definitions above
+	iTwoIdxTa = zero;
+	Vector<typename SU<ncolour>::template iSUnMatrix<cplx> > tij(Dimension);
+	typename SU<ncolour>::template iSUnMatrix<cplx> tmp;
+
+
+	for (int a = 0; a < Dimension; a++) {
+
+	}
+      }
+
+      static void printGenerators(void) {
+	for (int gen = 0; gen < Dimension; gen++) {
+	  AMatrix ta;
+	  generator(gen, ta);
+	  std::cout << GridLogMessage << "Nc = " << ncolour << " t_" << gen
+		    << std::endl;
+	  std::cout << GridLogMessage << ta << std::endl;
+	}
+      }
+
+      static void testGenerators(void) {
+	TIMatrix TwoIndexTa;
+
+      }
+
+      static void TwoIndexLieAlgebraMatrix(const typename SU<ncolour>::LatticeAlgebraVector &h,
+					   LatticeTwoIndexMatrix &out, Real scale = 1.0) {
+	conformable(h, out);
+	GridBase *grid = out._grid;
+	LatticeAdjMatrix la(grid);
+	TIMatrix iTa;
+
+	out = zero;
+	for (int a = 0; a < Dimension; a++) {
+	  generator(a, iTa);
+	  la = peekColour(h, a) * iTa;
+	  out += la;
+	}
+	out *= scale;
+      }
+
+      // Projects the algebra components a lattice matrix (of dimension ncol*ncol -1 )
+      static void projectOnAlgebra(typename SU<ncolour>::LatticeAlgebraVector &h_out, const LatticeTwoIndexMatrix &in, Real scale = 1.0) {
+	conformable(h_out, in);
+	h_out = zero;
+	TIMatrix iTa;
+	Real coefficient = - 2.0/(ncolour + 2*S) * scale;// 2/(Nc +/- 2) for the normalization of the trace in the two index rep
+
+	for (int a = 0; a < Dimension; a++) {
+	  generator(a, iTa);
+	  auto tmp = real(trace(iTa * in)) * coefficient;
+	  pokeColour(h_out, tmp, a);
+	}
+      }
+
+      // a projector that keeps the generators stored to avoid the overhead of recomputing them 
+      static void projector(typename SU<ncolour>::LatticeAlgebraVector &h_out, const LatticeTwoIndexMatrix &in, Real scale = 1.0) {
+	conformable(h_out, in);
+	static std::vector<TIMatrix> iTa(Dimension);  // to store the generators
+	h_out = zero;
+	static bool precalculated = false; 
+	if (!precalculated){
+	  precalculated = true;
+	  for (int a = 0; a < Dimension; a++) generator(a, iTa[a]);
+	}
+
+	Real coefficient = - 2.0/(ncolour + 2*S) * scale; // 2/(Nc +/- 2) for the normalization of the trace in the two index rep
+
+	for (int a = 0; a < Dimension; a++) {
+	  auto tmp = real(trace(iTa[a] * in)) * coefficient; 
+	  pokeColour(h_out, tmp, a);
+	}
+      }
+
+
+    };
+
+
+
+
+    // Some useful type names
+    typedef SU_TwoIndex<2, Symmetric> SU2TwoIndexSymm;
+    typedef SU_TwoIndex<3, Symmetric> SU3TwoIndexSymm;
+    typedef SU_TwoIndex<4, Symmetric> SU4TwoIndexSymm;
+    typedef SU_TwoIndex<5, Symmetric> SU5TwoIndexSymm;
+
+    typedef SU_TwoIndex<Nc, Symmetric> TwoIndexSymmMatrices;
+
+    typedef SU_TwoIndex<2, AntiSymmetric> SU2TwoIndexAntiSymm;
+    typedef SU_TwoIndex<3, AntiSymmetric> SU3TwoIndexAntiSymm;
+    typedef SU_TwoIndex<4, AntiSymmetric> SU4TwoIndexAntiSymm;
+    typedef SU_TwoIndex<5, AntiSymmetric> SU5TwoIndexAntiSymm;
+
+    typedef SU_TwoIndex<Nc, AntiSymmetric> TwoIndexAntiSymmMatrices;
+
+    
+  }
+}
+
+#endif

From 2e74520821e4b0549d83ffcf61effd5334a589a2 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 16 Sep 2016 15:25:49 +0100
Subject: [PATCH 142/295] removed libtool use (BG/Q compatibility)

---
 configure.ac    | 4 +---
 lib/Makefile.am | 6 +++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/configure.ac b/configure.ac
index d064345b..a987eabb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,6 +10,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AC_LANG(C++)
 CXXFLAGS="-O3 $CXXFLAGS"
 AC_PROG_CXX
+AC_PROG_RANLIB
 
 ############ openmp  ###############
 AC_OPENMP
@@ -22,9 +23,6 @@ AM_CXXFLAGS="$OPENMP_CXXFLAGS $AM_CXXFLAGS"
 AM_LDFLAGS="$OPENMP_CXXFLAGS $AM_LDFLAGS"
 fi
 
-############ libtool ###############
-LT_INIT
-
 ############### Checks for header files
 AC_CHECK_HEADERS(stdint.h)
 AC_CHECK_HEADERS(mm_malloc.h)
diff --git a/lib/Makefile.am b/lib/Makefile.am
index a7ef229a..bc752af5 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -17,8 +17,8 @@ endif
 include Make.inc
 include Eigen.inc
 
-lib_LTLIBRARIES = libGrid.la
+lib_LIBRARIES = libGrid.a
 
-libGrid_la_SOURCES             = $(CCFILES) $(extra_sources)
-libGrid_ladir                  = $(pkgincludedir)
+libGrid_a_SOURCES              = $(CCFILES) $(extra_sources)
+libGrid_adir                   = $(pkgincludedir)
 nobase_dist_pkginclude_HEADERS = $(HFILES) $(eigen_files) Config.h

From 0724f7af75764f7617dc945a7382ff6d289c1cf4 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <a.portelli@soton.ac.uk>
Date: Mon, 19 Sep 2016 18:09:12 +0100
Subject: [PATCH 143/295] QPX single precision implementation

---
 lib/Stencil.h       |   2 +-
 lib/simd/Grid_qpx.h | 151 ++++++++++++++++++++++++++++++++++++++------
 tests/Test_simd.cc  |   3 +-
 3 files changed, 132 insertions(+), 24 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index 47c1b977..79479879 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -265,7 +265,7 @@
 	 //	 _mm_prefetch((char *)&_entries[ent],_MM_HINT_T0);
        }
        inline uint64_t GetInfo(int &ptype,int &local,int &perm,int point,int ent,uint64_t base) {
-	 _mm_prefetch((char *)&_entries[ent+1],_MM_HINT_T0);
+	 //_mm_prefetch((char *)&_entries[ent+1],_MM_HINT_T0);
 	 local = _entries[ent]._is_local;
 	 perm  = _entries[ent]._permute;
 	 if (perm)  ptype = _permute_type[point]; 
diff --git a/lib/simd/Grid_qpx.h b/lib/simd/Grid_qpx.h
index 6ac83290..07933f52 100644
--- a/lib/simd/Grid_qpx.h
+++ b/lib/simd/Grid_qpx.h
@@ -27,20 +27,31 @@
 
 namespace Grid {
 namespace Optimization {
+  typedef struct 
+  {
+    float v0,v1,v2,v3;
+  } vector4float;
+
   inline std::ostream & operator<<(std::ostream& stream, const vector4double a)
   {
     stream << "{"<<vec_extract(a,0)<<","<<vec_extract(a,1)<<","<<vec_extract(a,2)<<","<<vec_extract(a,3)<<"}";
     return stream;
   };
+
+  inline std::ostream & operator<<(std::ostream& stream, const vector4float a)
+  {
+    stream << "{"<< a.v0 <<","<< a.v1 <<","<< a.v2 <<","<< a.v3 <<"}";
+    return stream;
+  };
   
   struct Vsplat{
     //Complex float
-    inline vector4double operator()(float a, float b){
-      return (vector4double){(double)a, (double)b, (double)a, (double)b};
+    inline vector4float operator()(float a, float b){
+      return (vector4float){a, b, a, b};
     }
     // Real float
-    inline vector4double operator()(float a){
-      return (vector4double){(double)a, (double)a, (double)a, (double)a};
+    inline vector4float operator()(float a){
+      return (vector4float){a, a, a, a};
     }
     //Complex double
     inline vector4double operator()(double a, double b){
@@ -61,6 +72,18 @@ namespace Optimization {
     inline void operator()(vector4double a, float *f){
       vec_st(a, 0, f);
     }
+
+    inline void operator()(vector4double a, vector4float &f){
+      vec_st(a, 0, (float *)(&f));
+    }
+
+    inline void operator()(vector4float a, float *f){
+      f[0] = a.v0;
+      f[1] = a.v1;
+      f[2] = a.v2;
+      f[3] = a.v3;
+    }
+
     //Double
     inline void operator()(vector4double a, double *d){
       vec_st(a, 0, d);
@@ -76,6 +99,18 @@ namespace Optimization {
     inline void operator()(float *f, vector4double a){
       vec_st(a, 0, f);
     }
+
+    inline void operator()(vector4float f, vector4double a){
+      vec_st(a, 0, (float *)(&f));
+    }
+
+    inline void operator()(float *f, vector4float a){
+      f[0] = a.v0;
+      f[1] = a.v1;
+      f[2] = a.v2;
+      f[3] = a.v3;
+    }
+
     //Double
     inline void operator()(double *d, vector4double a){
       vec_st(a, 0, d);
@@ -85,17 +120,23 @@ namespace Optimization {
   
   struct Vset{
     // Complex float
-    inline vector4double operator()(Grid::ComplexF *a){
-      return vec_ld(0, (float *)a);
+    inline vector4float operator()(Grid::ComplexF *a){
+      return (vector4float){a[0].real(), a[0].imag(), a[1].real(), a[1].imag()};
     }
     // Complex double
     inline vector4double operator()(Grid::ComplexD *a){
       return vec_ld(0, (double *)a);
     }
+
     // Real float
-    inline vector4double operator()(float *a){
-      return vec_ld(0, a);
+    inline vector4float operator()(float *a){
+      return (vector4float){a[0], a[1], a[2], a[3]};
     }
+
+    inline vector4double operator()(vector4float a){
+      return vec_ld(0, (float *)(&a));
+    }
+
     // Real double
     inline vector4double operator()(double *a){
       return vec_ld(0, a);
@@ -122,11 +163,42 @@ namespace Optimization {
   /////////////////////////////////////////////////////
   // Arithmetic operations
   /////////////////////////////////////////////////////
+  #define FLOAT_WRAP_2(fn, pref)\
+  pref vector4float fn(vector4float a, vector4float b)\
+  {\
+    vector4double ad, bd, rd;\
+    vector4float  r;\
+    \
+    ad = Vset()(a);\
+    bd = Vset()(b);\
+    rd = fn(ad, bd);\
+    Vstore()(rd, r);\
+    \
+    return r;\
+  }
+
+  #define FLOAT_WRAP_1(fn, pref)\
+  pref vector4float fn(vector4float a)\
+  {\
+    vector4double ad, rd;\
+    vector4float  r;\
+    \
+    ad = Vset()(a);\
+    rd = fn(ad);\
+    Vstore()(rd, r);\
+    \
+    return r;\
+  }
+
   struct Sum{
     //Complex/Real double
     inline vector4double operator()(vector4double a, vector4double b){
       return vec_add(a, b);
     }
+
+    //Complex/Real float
+    FLOAT_WRAP_2(operator(), inline)
+
     //Integer
     inline int operator()(int a, int b){
       return a + b;
@@ -138,6 +210,10 @@ namespace Optimization {
     inline vector4double operator()(vector4double a, vector4double b){
       return vec_sub(a, b);
     }
+
+    //Complex/Real float
+    FLOAT_WRAP_2(operator(), inline)
+
     //Integer
     inline int operator()(int a, int b){
       return a - b;
@@ -149,6 +225,9 @@ namespace Optimization {
     inline vector4double operator()(vector4double a, vector4double b){
       return vec_xxnpmadd(a, b, vec_xmul(b, a));
     }
+
+    // Complex float
+    FLOAT_WRAP_2(operator(), inline)
   };
   
   struct Mult{
@@ -156,6 +235,10 @@ namespace Optimization {
     inline vector4double operator()(vector4double a, vector4double b){
       return vec_mul(a, b);
     }
+
+    // Real float
+    FLOAT_WRAP_2(operator(), inline)
+
     // Integer
     inline int operator()(int a, int b){
       return a*b;
@@ -167,6 +250,9 @@ namespace Optimization {
     inline vector4double operator()(vector4double v){
       return vec_mul(v, (vector4double){1., -1., 1., -1.});
     }
+
+    // Complex float
+    FLOAT_WRAP_1(operator(), inline)
   };
   
   struct TimesMinusI{
@@ -175,6 +261,9 @@ namespace Optimization {
       return vec_xxcpnmadd(v, (vector4double){1., 1., 1., 1.},
                                (vector4double){0., 0., 0., 0.});
     }
+
+    // Complex float
+    FLOAT_WRAP_2(operator(), inline)
   };
   
   struct TimesI{
@@ -183,9 +272,13 @@ namespace Optimization {
       return vec_xxcpnmadd(v, (vector4double){-1., -1., -1., -1.},
                               (vector4double){0., 0., 0., 0.});
     }
+
+    // Complex float
+    FLOAT_WRAP_2(operator(), inline)
   };
 
   struct Permute{
+    //Complex double
     static inline vector4double Permute0(vector4double v){ //0123 -> 2301
       return vec_perm(v, v, vec_gpci(02301));
     };
@@ -198,6 +291,12 @@ namespace Optimization {
     static inline vector4double Permute3(vector4double v){
       return v;
     };
+
+    // Complex float
+    FLOAT_WRAP_1(Permute0, static inline)
+    FLOAT_WRAP_1(Permute1, static inline)
+    FLOAT_WRAP_1(Permute2, static inline)
+    FLOAT_WRAP_1(Permute3, static inline)
   };
   
   struct Rotate{
@@ -218,31 +317,42 @@ namespace Optimization {
         default: assert(0);
       }
     }
+
+    static inline vector4float rotate(vector4float v, int n){
+      vector4double vd, rd;
+      vector4float  r;
+
+      vd = Vset()(v);
+      rd = rotate(vd, n);
+      Vstore()(rd, r);
+
+      return r;
+    }
   };
   
   //Complex float Reduce
   template<>
   inline Grid::ComplexF
-  Reduce<Grid::ComplexF, vector4double>::operator()(vector4double v) { //2 complex
-    vector4double v1,v2;
+  Reduce<Grid::ComplexF, vector4float>::operator()(vector4float v) { //2 complex
+    vector4float v1,v2;
     
     v1 = Optimization::Permute::Permute0(v);
-    v1 = vec_add(v1, v);
+    v1 = Optimization::Sum()(v1, v);
     
-    return Grid::ComplexF((float)vec_extract(v1, 0), (float)vec_extract(v1, 1));
+    return Grid::ComplexF(v1.v0, v1.v1);
   }
   //Real float Reduce
   template<>
   inline Grid::RealF
-  Reduce<Grid::RealF, vector4double>::operator()(vector4double v){ //4 floats
-    vector4double v1,v2;
+  Reduce<Grid::RealF, vector4float>::operator()(vector4float v){ //4 floats
+    vector4float v1,v2;
     
     v1 = Optimization::Permute::Permute0(v);
-    v1 = vec_add(v1, v);
+    v1 = Optimization::Sum()(v1, v);
     v2 = Optimization::Permute::Permute1(v1);
-    v1 = vec_add(v1, v2);
+    v1 = Optimization::Sum()(v1, v2);
     
-    return (float)vec_extract(v1, 0);
+    return v1.v0;
   }
   
   
@@ -283,10 +393,9 @@ namespace Optimization {
 
 ////////////////////////////////////////////////////////////////////////////////
 // Here assign types
-
-typedef vector4double SIMD_Ftype;  // Single precision type
-typedef vector4double SIMD_Dtype; // Double precision type
-typedef int SIMD_Itype; // Integer type
+typedef Optimization::vector4float SIMD_Ftype;  // Single precision type
+typedef vector4double              SIMD_Dtype; // Double precision type
+typedef int                        SIMD_Itype; // Integer type
 
 // prefetch utilities
 inline void v_prefetch0(int size, const char *ptr){};
diff --git a/tests/Test_simd.cc b/tests/Test_simd.cc
index 5d84b9ef..189f0559 100644
--- a/tests/Test_simd.cc
+++ b/tests/Test_simd.cc
@@ -157,10 +157,9 @@ void Tester(const functor &func)
   std::cout << GridLogMessage << " " << func.name() << std::endl;
 
   std::cout << GridLogDebug << v_input1 << std::endl;
+  std::cout << GridLogDebug << v_input2 << std::endl;
   std::cout << GridLogDebug << v_result << std::endl;
 
-
-
   int ok=0;
   for(int i=0;i<Nsimd;i++){
     if ( abs(reference[i]-result[i])>1.0e-7){

From 65ca174dbbb938cef617a40aea7f106f23babab4 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 20 Sep 2016 11:25:06 +0100
Subject: [PATCH 144/295] gitignore update

---
 .gitignore | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.gitignore b/.gitignore
index f972b7f5..e82ecf9c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -94,6 +94,10 @@ build.sh
 ################
 lib/Eigen/*
 
+# FFTW source #
+################
+lib/fftw/*
+
 # libtool macros #
 ##################
 m4/lt*

From d2573189d8d79d20fb5d3d7ea115d996ad431bca Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 20 Sep 2016 12:30:24 +0100
Subject: [PATCH 145/295] build system: FFTW fix

---
 configure.ac | 34 ++++++++++++----------------------
 1 file changed, 12 insertions(+), 22 deletions(-)

diff --git a/configure.ac b/configure.ac
index a987eabb..db379510 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,23 +73,6 @@ AC_ARG_WITH([fftw],
             [AM_CXXFLAGS="-I$with_fftw/include $AM_CXXFLAGS"]
             [AM_LDFLAGS="-L$with_fftw/lib $AM_LDFLAGS"])
 
-#
-# What about the MKL library replacement for fftw3 ?  How do we know if fftw_execute
-# can be found in MKL? 
-#
-AC_CHECK_LIB([fftw3],[fftw_execute],
-	[AC_DEFINE([HAVE_FFTW],[1],[Define to 1 if you have the `FFTW' library (-lfftw3).])] [ac_fftw=yes],
-        [ac_fftw=no])
-
-case ${ac_fftw} in
-    no)
-        echo WARNING libfftw3 not found FFT routines will not work
-        ;;
-    yes)
-        AM_LDFLAGS="$AM_LDFLAGS -lfftw3 -lfftw3f"
-esac
-
-
 ################ Get compiler informations
 AC_LANG([C++])
 AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
@@ -103,7 +86,6 @@ AC_DEFINE_UNQUOTED([GXX_VERSION],["$GXX_VERSION"],
 ############### Checks for library functions
 CXXFLAGS_CPY=$CXXFLAGS
 LDFLAGS_CPY=$LDFLAGS
-LIBS_CPY=$LIBS
 CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS"
 LDFLAGS="$AM_LDFLAGS $LDFLAGS"
 AC_CHECK_FUNCS([gettimeofday])
@@ -122,6 +104,11 @@ if test "${ac_LAPACK}x" != "nox"; then
     AC_CHECK_LIB([lapack],[LAPACKE_sbdsdc],[],
                  [AC_MSG_ERROR("LAPACK enabled but library not found")])
 fi
+AC_CHECK_LIB([fftw3],[fftw_execute],
+  [AC_DEFINE([HAVE_FFTW],[1],[Define to 1 if you have the `FFTW' library (-lfftw3).])]
+  [have_fftw=true]
+  [LIBS="$LIBS -lfftw3 -lfftw3f"],
+  [AC_MSG_WARN([**** FFTW library not found, Grid can still compile but FFT-based routines will not work ****])])
 CXXFLAGS=$CXXFLAGS_CPY
 LDFLAGS=$LDFLAGS_CPY
 
@@ -337,12 +324,15 @@ Summary of configuration for $PACKAGE v$VERSION
 - RNG choice                    : ${ac_RNG} 
 - GMP                           : `if test "x$have_gmp" = xtrue; then echo yes; else echo no; fi`
 - LAPACK                        : ${ac_LAPACK}
-- FFTW                          : ${ac_fftw}
+- FFTW                          : `if test "x$have_fftw" = xtrue; then echo yes; else echo no; fi`
 - build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
 - graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
 ----- BUILD FLAGS -------------------------------------
-- CXXFLAGS:  "${AM_CXXFLAGS} ${CXXFLAGS}"
-- LDFLAGS:   "${AM_LDFLAGS} ${LDFLAGS}"
-- LIBS:      "${LIBS} "
+- CXXFLAGS:
+`echo ${AM_CXXFLAGS} ${CXXFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+- LDFLAGS:
+`echo ${AM_LDFLAGS} ${LDFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+- LIBS:
+`echo ${LIBS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
 -------------------------------------------------------
 "

From b6597b74e7f32cd120be00316e7cecea92a784b3 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Thu, 22 Sep 2016 14:17:37 +0100
Subject: [PATCH 146/295] Added support for the Two index Symmetric and
 Antisymmetric representations

Tested for HMC convergence: OK
Added also a test file showing an example for mixed representations
---
 lib/Make.inc                                  |   2 +-
 lib/qcd/QCD.h                                 |   9 +-
 lib/qcd/action/Actions.h                      |   8 +
 lib/qcd/action/fermion/FermionOperatorImpl.h  |   6 +-
 lib/qcd/action/fermion/WilsonFermion.cc       |   1 +
 lib/qcd/action/fermion/WilsonKernels.cc       |   1 +
 lib/qcd/representations/hmc_types.h           |   1 +
 .../{two_index_symmetrical.h => two_index.h}  |  58 +--
 lib/qcd/utils/SUnTwoIndex.h                   | 372 ++++++++++++------
 tests/core/Test_lie_generators.cc             | 340 +++++++++++++++-
 tests/hmc/Make.inc                            |  10 +-
 ..._WilsonMixedRepresentationsFermionGauge.cc | 113 ++++++
 ...hmc_WilsonTwoIndexSymmetricFermionGauge.cc | 103 +++++
 13 files changed, 850 insertions(+), 174 deletions(-)
 rename lib/qcd/representations/{two_index_symmetrical.h => two_index.h} (51%)
 create mode 100644 tests/hmc/Test_hmc_WilsonMixedRepresentationsFermionGauge.cc
 create mode 100644 tests/hmc/Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc

diff --git a/lib/Make.inc b/lib/Make.inc
index e4800112..a2c00e4a 100644
--- a/lib/Make.inc
+++ b/lib/Make.inc
@@ -1,3 +1,3 @@
-HFILES=./tensors/Tensor_extract_merge.h ./tensors/Tensor_exp.h ./tensors/Tensor_index.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_determinant.h ./tensors/Tensor_outer.h ./tensors/Tensor_trace.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_logical.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_class.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith.h ./tensors/Tensor_unary.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_traits.h ./stencil/Lebesgue.h ./PerfCount.h ./FFT.h ./Communicator.h ./simd/Grid_vector_types.h ./simd/Grid_qpx.h ./simd/Grid_imci.h ./simd/Grid_avx.h ./simd/Intel512single.h ./simd/Grid_vector_unops.h ./simd/Grid_neon.h ./simd/Intel512common.h ./simd/Intel512wilson.h ./simd/Intel512imci.h ./simd/Intel512double.h ./simd/Grid_generic.h ./simd/Grid_avx512.h ./simd/Grid_sse4.h ./simd/Intel512avx.h ./Threads.h ./Timer.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/SparseMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/Francis.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/Householder.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Matrix.h ./Algorithms.h ./fftw/fftw3.h ./lattice/Lattice_base.h ./lattice/Lattice_overload.h ./lattice/Lattice_ET.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_trace.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_arith.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_rng.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reality.h ./lattice/Lattice_transpose.h ./lattice/Lattice_transfer.h ./lattice/Lattice_conformable.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./lattice/Lattice_reduction.h ./Cartesian.h ./Simd.h ./Init.h ./serialisation/TextIO.h ./serialisation/Serialisation.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/XmlIO.h ./serialisation/BinaryIO.h ./communicator/Communicator_base.h ./Log.h ./Lattice.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./cshift/Cshift_common.h ./Lexicographic.h ./Tensors.h ./Cshift.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/Smearing.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/ZMobiusFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/ActionBase.h ./qcd/QCD.h ./qcd/spin/TwoSpinor.h ./qcd/spin/Dirac.h ./qcd/representations/fundamental.h ./qcd/representations/hmc_types.h ./qcd/representations/two_index_symmetrical.h ./qcd/representations/adjoint.h ./qcd/utils/CovariantCshift.h ./qcd/utils/SUnTwoIndex.h ./qcd/utils/SUnAdjoint.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./AlignedAllocator.h ./pugixml/pugixml.h ./Stencil.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Grid.h
+HFILES=./tensors/Tensor_extract_merge.h ./tensors/Tensor_exp.h ./tensors/Tensor_index.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_determinant.h ./tensors/Tensor_outer.h ./tensors/Tensor_trace.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_logical.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_class.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith.h ./tensors/Tensor_unary.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_traits.h ./stencil/Lebesgue.h ./PerfCount.h ./FFT.h ./Communicator.h ./simd/Grid_vector_types.h ./simd/Grid_qpx.h ./simd/Grid_imci.h ./simd/Grid_avx.h ./simd/Intel512single.h ./simd/Grid_vector_unops.h ./simd/Grid_neon.h ./simd/Intel512common.h ./simd/Intel512wilson.h ./simd/Intel512imci.h ./simd/Intel512double.h ./simd/Grid_generic.h ./simd/Grid_avx512.h ./simd/Grid_sse4.h ./simd/Intel512avx.h ./Threads.h ./Timer.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/SparseMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/Francis.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/Householder.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Matrix.h ./Algorithms.h ./fftw/fftw3.h ./lattice/Lattice_base.h ./lattice/Lattice_overload.h ./lattice/Lattice_ET.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_trace.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_arith.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_rng.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reality.h ./lattice/Lattice_transpose.h ./lattice/Lattice_transfer.h ./lattice/Lattice_conformable.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./lattice/Lattice_reduction.h ./Cartesian.h ./Simd.h ./Init.h ./serialisation/TextIO.h ./serialisation/Serialisation.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/XmlIO.h ./serialisation/BinaryIO.h ./communicator/Communicator_base.h ./Log.h ./Lattice.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./cshift/Cshift_common.h ./Lexicographic.h ./Tensors.h ./Cshift.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/Smearing.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/ZMobiusFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/ActionBase.h ./qcd/QCD.h ./qcd/spin/TwoSpinor.h ./qcd/spin/Dirac.h ./qcd/representations/fundamental.h ./qcd/representations/hmc_types.h ./qcd/representations/adjoint.h ./qcd/representations/two_index.h ./qcd/utils/CovariantCshift.h ./qcd/utils/SUnTwoIndex.h ./qcd/utils/SUnAdjoint.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./AlignedAllocator.h ./pugixml/pugixml.h ./Stencil.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Grid.h
 
 CCFILES=./stencil/Stencil_common.cc ./stencil/Lebesgue.cc ./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./PerfCount.cc ./serialisation/BinaryIO.cc ./serialisation/XmlIO.cc ./serialisation/TextIO.cc ./qcd/hmc/HMC.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/CayleyFermion5Ddense.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/CayleyFermion5Dcache.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/CayleyFermion5Dssp.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/CayleyFermion5Dvec.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./Init.cc ./pugixml/pugixml.cc ./Log.cc
diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index 1f6636d9..829752c7 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -45,7 +45,7 @@ namespace QCD {
     static const int Zm = 6;
     static const int Tm = 7;
 
-    static const int Nc=3;
+    static const int Nc=2;
     static const int Ns=4;
     static const int Nd=4;
     static const int Nhs=2; // half spinor
@@ -499,12 +499,13 @@ namespace QCD {
 #include <Grid/qcd/spin/TwoSpinor.h>
 #include <Grid/qcd/utils/LinalgUtils.h>
 #include <Grid/qcd/utils/CovariantCshift.h>
-	
+
+// Include representations 	
 #include <Grid/qcd/utils/SUn.h>
 #include <Grid/qcd/utils/SUnAdjoint.h>
-	
+#include <Grid/qcd/utils/SUnTwoIndex.h>
 #include <Grid/qcd/representations/hmc_types.h>
-	
+
 #include <Grid/qcd/action/Actions.h>
 
 #include <Grid/qcd/smearing/Smearing.h>
diff --git a/lib/qcd/action/Actions.h b/lib/qcd/action/Actions.h
index c2b27737..ba6e577d 100644
--- a/lib/qcd/action/Actions.h
+++ b/lib/qcd/action/Actions.h
@@ -120,6 +120,10 @@ typedef SymanzikGaugeAction<ConjugateGimplD>        ConjugateSymanzikGaugeAction
   template class A<WilsonAdjImplF>; \
   template class A<WilsonAdjImplD>; 
 
+#define TwoIndexFermOpTemplateInstantiate(A) \
+  template class A<WilsonTwoIndexSymmetricImplF>; \
+  template class A<WilsonTwoIndexSymmetricImplD>; 
+
 #define FermOp5dVecTemplateInstantiate(A) \
   template class A<DomainWallVec5dImplF>;	\
   template class A<DomainWallVec5dImplD>;	\
@@ -180,6 +184,10 @@ typedef WilsonFermion<WilsonAdjImplR> WilsonAdjFermionR;
 typedef WilsonFermion<WilsonAdjImplF> WilsonAdjFermionF;
 typedef WilsonFermion<WilsonAdjImplD> WilsonAdjFermionD;
 
+typedef WilsonFermion<WilsonTwoIndexSymmetricImplR> WilsonTwoIndexSymmetricFermionR;
+typedef WilsonFermion<WilsonTwoIndexSymmetricImplF> WilsonTwoIndexSymmetricFermionF;
+typedef WilsonFermion<WilsonTwoIndexSymmetricImplD> WilsonTwoIndexSymmetricFermionD;
+
 typedef WilsonTMFermion<WilsonImplR> WilsonTMFermionR;
 typedef WilsonTMFermion<WilsonImplF> WilsonTMFermionF;
 typedef WilsonTMFermion<WilsonImplD> WilsonTMFermionD;
diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index b716e92f..910bf488 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -522,7 +522,11 @@ namespace Grid {
     typedef WilsonImpl<vComplex,  AdjointRepresentation > WilsonAdjImplR;   // Real.. whichever prec
     typedef WilsonImpl<vComplexF, AdjointRepresentation > WilsonAdjImplF;  // Float
     typedef WilsonImpl<vComplexD, AdjointRepresentation > WilsonAdjImplD;  // Double
-    
+
+    typedef WilsonImpl<vComplex,  TwoIndexSymmetricRepresentation > WilsonTwoIndexSymmetricImplR;   // Real.. whichever prec
+    typedef WilsonImpl<vComplexF, TwoIndexSymmetricRepresentation > WilsonTwoIndexSymmetricImplF;  // Float
+    typedef WilsonImpl<vComplexD, TwoIndexSymmetricRepresentation > WilsonTwoIndexSymmetricImplD;  // Double
+
     typedef DomainWallVec5dImpl<vComplex ,Nc> DomainWallVec5dImplR; // Real.. whichever prec
     typedef DomainWallVec5dImpl<vComplexF,Nc> DomainWallVec5dImplF; // Float
     typedef DomainWallVec5dImpl<vComplexD,Nc> DomainWallVec5dImplD; // Double
diff --git a/lib/qcd/action/fermion/WilsonFermion.cc b/lib/qcd/action/fermion/WilsonFermion.cc
index aef2b674..d887e05b 100644
--- a/lib/qcd/action/fermion/WilsonFermion.cc
+++ b/lib/qcd/action/fermion/WilsonFermion.cc
@@ -309,6 +309,7 @@ void WilsonFermion<Impl>::DhopInternal(StencilImpl &st, LebesgueOrder &lo,
 
 FermOpTemplateInstantiate(WilsonFermion);
 AdjointFermOpTemplateInstantiate(WilsonFermion);
+TwoIndexFermOpTemplateInstantiate(WilsonFermion);
 GparityFermOpTemplateInstantiate(WilsonFermion);
 }
 }
diff --git a/lib/qcd/action/fermion/WilsonKernels.cc b/lib/qcd/action/fermion/WilsonKernels.cc
index 082eac71..49bd98c5 100644
--- a/lib/qcd/action/fermion/WilsonKernels.cc
+++ b/lib/qcd/action/fermion/WilsonKernels.cc
@@ -526,6 +526,7 @@ void WilsonKernels<Impl>::DiracOptDhopDir(
 
 FermOpTemplateInstantiate(WilsonKernels);
 AdjointFermOpTemplateInstantiate(WilsonKernels);
+TwoIndexFermOpTemplateInstantiate(WilsonKernels);
 
 }}
 
diff --git a/lib/qcd/representations/hmc_types.h b/lib/qcd/representations/hmc_types.h
index fbfb5d03..7ab15e9b 100644
--- a/lib/qcd/representations/hmc_types.h
+++ b/lib/qcd/representations/hmc_types.h
@@ -2,6 +2,7 @@
 #define HMC_TYPES_H
 
 #include <Grid/qcd/representations/adjoint.h>
+#include <Grid/qcd/representations/two_index.h>
 #include <Grid/qcd/representations/fundamental.h>
 #include <tuple>
 #include <utility>
diff --git a/lib/qcd/representations/two_index_symmetrical.h b/lib/qcd/representations/two_index.h
similarity index 51%
rename from lib/qcd/representations/two_index_symmetrical.h
rename to lib/qcd/representations/two_index.h
index 5343fd0c..082a52a5 100644
--- a/lib/qcd/representations/two_index_symmetrical.h
+++ b/lib/qcd/representations/two_index.h
@@ -1,53 +1,62 @@
 /*
  *  Policy classes for the HMC
- *  Author: Guido Cossu
+ *  Authors: Guido Cossu, David Preti
 */
 
-#ifndef ADJOINT_H
-#define ADJOINT_H
+#ifndef SUN2INDEX_H_H
+#define SUN2INDEX_H_H
 
 namespace Grid {
 namespace QCD {
 
 /*
-* This is an helper class for the HMC
-* Should contain only the data for the adjoint representation
-* and the facility to convert from the fundamental -> adjoint
-*/
+ * This is an helper class for the HMC
+ * Should contain only the data for the two index representations
+ * and the facility to convert from the fundamental -> two index
+ * The templated parameter TwoIndexSymmetry choses between the 
+ * symmetric and antisymmetric representations
+ * 
+ * There is an 
+ * enum TwoIndexSymmetry { Symmetric = 1, AntiSymmetric = -1 };
+ * in the SUnTwoIndex.h file
+ */
 
 template <int ncolour, TwoIndexSymmetry S>
-class TwoIndexSymmetricRep {
+class TwoIndexRep {
  public:
   // typdef to be used by the Representations class in HMC to get the
   // types for the higher representation fields
-  typedef typename SU_TwoIndex<ncolour,S>::LatticeTwoIndexMatrix LatticeMatrix;
-  typedef typename SU_TwoIndex<ncolour,S>::LatticeTwoIndexField  LatticeField;
+  typedef typename SU_TwoIndex<ncolour, S>::LatticeTwoIndexMatrix LatticeMatrix;
+  typedef typename SU_TwoIndex<ncolour, S>::LatticeTwoIndexField LatticeField;
   static const int Dimension = ncolour * (ncolour + S) / 2;
 
   LatticeField U;
 
-  explicit TwoIndexSymmetricRep(GridBase *grid) : U(grid) {}
+  explicit TwoIndexRep(GridBase *grid) : U(grid) {}
 
   void update_representation(const LatticeGaugeField &Uin) {
     std::cout << GridLogDebug << "Updating TwoIndex representation\n";
     // Uin is in the fundamental representation
-    // get the U in AdjointRep
-    // (U)(ij)_(lk) = 
-    // e^a = 
+    // get the U in TwoIndexRep
+    // (U)_{(ij)(lk)} = tr [ adj(e^(ij)) U e^(lk) transpose(U) ]
     conformable(U, Uin);
     U = zero;
     LatticeColourMatrix tmp(Uin._grid);
 
-    Vector<typename SU<ncolour>::Matrix> ta(Dimension);
+    Vector<typename SU<ncolour>::Matrix> eij(Dimension);
 
-    // FIXME probably not very efficient to get all the generators
-    // everytime
-    for (int a = 0; a < Dimension; a++) SU<ncolour>::generator(a, ta[a]);
+    for (int a = 0; a < Dimension; a++)
+      SU_TwoIndex<ncolour, S>::base(a, eij[a]);
 
     for (int mu = 0; mu < Nd; mu++) {
       auto Uin_mu = peekLorentz(Uin, mu);
       auto U_mu = peekLorentz(U, mu);
-
+      for (int a = 0; a < Dimension; a++) {
+        tmp = transpose(Uin_mu) * adj(eij[a]) * Uin_mu;
+        for (int b = 0; b < Dimension; b++)
+          pokeColour(U_mu, trace(tmp * eij[b]), a, b);
+      }
+      pokeLorentz(U, U_mu, mu);
     }
   }
 
@@ -63,8 +72,8 @@ class TwoIndexSymmetricRep {
       out_mu = zero;
 
       typename SU<ncolour>::LatticeAlgebraVector h(in._grid);
-      projectOnAlgebra(h, in_mu, double(Nc + 2*S) );  // factor T(r)/T(fund)
-      FundamentalLieAlgebraMatrix(h, out_mu);   // apply scale only once
+      projectOnAlgebra(h, in_mu, double(Nc + 2 * S));  // factor T(r)/T(fund)
+      FundamentalLieAlgebraMatrix(h, out_mu);          // apply scale only once
       pokeLorentz(out, out_mu, mu);
     }
     return out;
@@ -73,7 +82,7 @@ class TwoIndexSymmetricRep {
  private:
   void projectOnAlgebra(typename SU<ncolour>::LatticeAlgebraVector &h_out,
                         const LatticeMatrix &in, Real scale = 1.0) const {
-    SU_TwoIndex<ncolour,S>::projectOnAlgebra(h_out, in, scale);
+    SU_TwoIndex<ncolour, S>::projectOnAlgebra(h_out, in, scale);
   }
 
   void FundamentalLieAlgebraMatrix(
@@ -83,9 +92,8 @@ class TwoIndexSymmetricRep {
   }
 };
 
-  typedef TwoIndexRep< Nc,     Symmetric > TwoIndexSymmetricRepresentation;
-  typedef TwoIndexRep< Nc, AntiSymmetric > TwoIndexAntiSymmetricRepresentation;
+typedef TwoIndexRep<Nc, Symmetric> TwoIndexSymmetricRepresentation;
+typedef TwoIndexRep<Nc, AntiSymmetric> TwoIndexAntiSymmetricRepresentation;
 }
 }
-
 #endif
diff --git a/lib/qcd/utils/SUnTwoIndex.h b/lib/qcd/utils/SUnTwoIndex.h
index 07fcc7e7..44d756a7 100644
--- a/lib/qcd/utils/SUnTwoIndex.h
+++ b/lib/qcd/utils/SUnTwoIndex.h
@@ -1,11 +1,8 @@
-#ifndef QCD_UTIL_SUNADJOINT_H
-#define QCD_UTIL_SUNADJOINT_H
-
 ////////////////////////////////////////////////////////////////////////
 //
 // * Two index representation generators
 //
-// * Normalisation for the fundamental generators: 
+// * Normalisation for the fundamental generators:
 //   trace ta tb = 1/2 delta_ab = T_F delta_ab
 //   T_F = 1/2  for SU(N) groups
 //
@@ -17,147 +14,262 @@
 //
 //   Then the generators are written as
 //
-//   (iT^(ij))_lk = i 
+//   (iT_a)^(ij)(lk) = i * ( tr[e^(ij)^dag e^(lk) T^trasp_a] +
+//   tr[e^(lk)e^(ij)^dag T_a] )  //
+//   
 //
 ////////////////////////////////////////////////////////////////////////
 
+// Authors: David Preti, Guido Cossu
+
+#ifndef QCD_UTIL_SUN2INDEX_H
+#define QCD_UTIL_SUN2INDEX_H
+
+
 namespace Grid {
-  namespace QCD {
+namespace QCD {
 
-    enum TwoIndexSymmetry {Symmetric = 1, AntiSymmetric = -1};
-    
-    template <int ncolour, TwoIndexSymmetry S>
-    class SU_TwoIndex : public SU<ncolour> {
-    public:
-      static const int Dimension = ncolour * (ncolour + S) / 2;
-    
-      template <typename vtype>
-      using iSUnTwoIndexMatrix =
-	iScalar<iScalar<iMatrix<vtype, Dimension > > >;
-    
-      typedef iSUnTwoIndexMatrix<Complex> TIMatrix;
-      typedef iSUnTwoIndexMatrix<ComplexF> TIMatrixF;
-      typedef iSUnTwoIndexMatrix<ComplexD> TIMatrixD;
-    
-      typedef iSUnTwoIndexMatrix<vComplex> vTIMatrix;
-      typedef iSUnTwoIndexMatrix<vComplexF> vTIMatrixF;
-      typedef iSUnTwoIndexMatrix<vComplexD> vTIMatrixD;
-    
-      typedef Lattice<vAMatrix>  LatticeTwoIndexMatrix;
-      typedef Lattice<vAMatrixF> LatticeTwoIndexMatrixF;
-      typedef Lattice<vAMatrixD> LatticeTwoIndexMatrixD;
-    
-      typedef Lattice<iVector<iScalar<iMatrix<vComplex, Dimension> >, Nd> >
+enum TwoIndexSymmetry { Symmetric = 1, AntiSymmetric = -1 };
+
+inline Real delta(int a, int b) { return (a == b) ? 1.0 : 0.0; }
+
+template <int ncolour, TwoIndexSymmetry S>
+class SU_TwoIndex : public SU<ncolour> {
+ public:
+  static const int Dimension = ncolour * (ncolour + S) / 2;
+  static const int NumGenerators = SU<ncolour>::AdjointDimension;
+
+  template <typename vtype>
+  using iSUnTwoIndexMatrix = iScalar<iScalar<iMatrix<vtype, Dimension> > >;
+
+  typedef iSUnTwoIndexMatrix<Complex> TIMatrix;
+  typedef iSUnTwoIndexMatrix<ComplexF> TIMatrixF;
+  typedef iSUnTwoIndexMatrix<ComplexD> TIMatrixD;
+
+  typedef iSUnTwoIndexMatrix<vComplex> vTIMatrix;
+  typedef iSUnTwoIndexMatrix<vComplexF> vTIMatrixF;
+  typedef iSUnTwoIndexMatrix<vComplexD> vTIMatrixD;
+
+  typedef Lattice<vTIMatrix> LatticeTwoIndexMatrix;
+  typedef Lattice<vTIMatrixF> LatticeTwoIndexMatrixF;
+  typedef Lattice<vTIMatrixD> LatticeTwoIndexMatrixD;
+
+  typedef Lattice<iVector<iScalar<iMatrix<vComplex, Dimension> >, Nd> >
       LatticeTwoIndexField;
-      typedef Lattice<iVector<iScalar<iMatrix<vComplexF, Dimension> >, Nd> >
+  typedef Lattice<iVector<iScalar<iMatrix<vComplexF, Dimension> >, Nd> >
       LatticeTwoIndexFieldF;
-      typedef Lattice<iVector<iScalar<iMatrix<vComplexD, Dimension> >, Nd> >
+  typedef Lattice<iVector<iScalar<iMatrix<vComplexD, Dimension> >, Nd> >
       LatticeTwoIndexFieldD;
-    
-    
 
+  template <typename vtype>
+  using iSUnMatrix = iScalar<iScalar<iMatrix<vtype, ncolour> > >;
 
-      template <class cplx>
-      static void generator(int Index, iSUnTwoIndexMatrix<cplx> &iTwoIdxTa) {
-	// returns i(T)^(ij) necessary for the projectors
-	// see definitions above
-	iTwoIdxTa = zero;
-	Vector<typename SU<ncolour>::template iSUnMatrix<cplx> > tij(Dimension);
-	typename SU<ncolour>::template iSUnMatrix<cplx> tmp;
+  typedef iSUnMatrix<Complex> Matrix;
+  typedef iSUnMatrix<ComplexF> MatrixF;
+  typedef iSUnMatrix<ComplexD> MatrixD;
 
+  template <class cplx>
+  static void base(int Index, iSUnMatrix<cplx> &eij) {
+    // returns (e)^(ij)_{kl} necessary for change of base U_F -> U_R
+    assert(Index < NumGenerators);
+    eij = zero;
 
-	for (int a = 0; a < Dimension; a++) {
-
-	}
+    // for the linearisation of the 2 indexes 
+    static int a[ncolour * (ncolour - 1) / 2][2]; // store the a <-> i,j
+    static bool filled = false;
+    if (!filled) {
+      int counter = 0;
+      for (int i = 1; i < ncolour; i++) {
+        for (int j = 0; j < i; j++) {
+          a[counter++][0] = i;
+          a[counter++][1] = j;
+        }
       }
+      filled = true;
+    }
 
-      static void printGenerators(void) {
-	for (int gen = 0; gen < Dimension; gen++) {
-	  AMatrix ta;
-	  generator(gen, ta);
-	  std::cout << GridLogMessage << "Nc = " << ncolour << " t_" << gen
-		    << std::endl;
-	  std::cout << GridLogMessage << ta << std::endl;
-	}
-      }
-
-      static void testGenerators(void) {
-	TIMatrix TwoIndexTa;
-
-      }
-
-      static void TwoIndexLieAlgebraMatrix(const typename SU<ncolour>::LatticeAlgebraVector &h,
-					   LatticeTwoIndexMatrix &out, Real scale = 1.0) {
-	conformable(h, out);
-	GridBase *grid = out._grid;
-	LatticeAdjMatrix la(grid);
-	TIMatrix iTa;
-
-	out = zero;
-	for (int a = 0; a < Dimension; a++) {
-	  generator(a, iTa);
-	  la = peekColour(h, a) * iTa;
-	  out += la;
-	}
-	out *= scale;
-      }
-
-      // Projects the algebra components a lattice matrix (of dimension ncol*ncol -1 )
-      static void projectOnAlgebra(typename SU<ncolour>::LatticeAlgebraVector &h_out, const LatticeTwoIndexMatrix &in, Real scale = 1.0) {
-	conformable(h_out, in);
-	h_out = zero;
-	TIMatrix iTa;
-	Real coefficient = - 2.0/(ncolour + 2*S) * scale;// 2/(Nc +/- 2) for the normalization of the trace in the two index rep
-
-	for (int a = 0; a < Dimension; a++) {
-	  generator(a, iTa);
-	  auto tmp = real(trace(iTa * in)) * coefficient;
-	  pokeColour(h_out, tmp, a);
-	}
-      }
-
-      // a projector that keeps the generators stored to avoid the overhead of recomputing them 
-      static void projector(typename SU<ncolour>::LatticeAlgebraVector &h_out, const LatticeTwoIndexMatrix &in, Real scale = 1.0) {
-	conformable(h_out, in);
-	static std::vector<TIMatrix> iTa(Dimension);  // to store the generators
-	h_out = zero;
-	static bool precalculated = false; 
-	if (!precalculated){
-	  precalculated = true;
-	  for (int a = 0; a < Dimension; a++) generator(a, iTa[a]);
-	}
-
-	Real coefficient = - 2.0/(ncolour + 2*S) * scale; // 2/(Nc +/- 2) for the normalization of the trace in the two index rep
-
-	for (int a = 0; a < Dimension; a++) {
-	  auto tmp = real(trace(iTa[a] * in)) * coefficient; 
-	  pokeColour(h_out, tmp, a);
-	}
-      }
-
-
-    };
-
-
-
-
-    // Some useful type names
-    typedef SU_TwoIndex<2, Symmetric> SU2TwoIndexSymm;
-    typedef SU_TwoIndex<3, Symmetric> SU3TwoIndexSymm;
-    typedef SU_TwoIndex<4, Symmetric> SU4TwoIndexSymm;
-    typedef SU_TwoIndex<5, Symmetric> SU5TwoIndexSymm;
-
-    typedef SU_TwoIndex<Nc, Symmetric> TwoIndexSymmMatrices;
-
-    typedef SU_TwoIndex<2, AntiSymmetric> SU2TwoIndexAntiSymm;
-    typedef SU_TwoIndex<3, AntiSymmetric> SU3TwoIndexAntiSymm;
-    typedef SU_TwoIndex<4, AntiSymmetric> SU4TwoIndexAntiSymm;
-    typedef SU_TwoIndex<5, AntiSymmetric> SU5TwoIndexAntiSymm;
-
-    typedef SU_TwoIndex<Nc, AntiSymmetric> TwoIndexAntiSymmMatrices;
-
-    
+    if (Index < ncolour * (ncolour - 1) / 2) {
+      baseOffDiagonal(a[Index][0], a[Index][1], eij);
+    } else {
+      baseDiagonal(Index, eij);
+    }
   }
+
+  template <class cplx>
+  static void baseDiagonal(int Index, iSUnMatrix<cplx> &eij) {
+    eij = zero;
+    eij()()(Index - ncolour * (ncolour - 1) / 2,
+            Index - ncolour * (ncolour - 1) / 2) = 1.0;
+  }
+
+  template <class cplx>
+  static void baseOffDiagonal(int i, int j, iSUnMatrix<cplx> &eij) {
+    eij = zero;
+    for (int k = 0; k < ncolour; k++)
+      for (int l = 0; l < ncolour; l++)
+        eij()()(l, k) = delta(i, k) * delta(j, l) +
+                        S * delta(j, k) * delta(i, l);
+
+    RealD nrm = 1. / std::sqrt(2.0);
+    eij = eij * nrm;
+  }
+
+  static void printBase(void) {
+    for (int gen = 0; gen < Dimension; gen++) {
+      Matrix tmp;
+      base(gen, tmp);
+      std::cout << GridLogMessage << "Nc = " << ncolour << " t_" << gen
+                << std::endl;
+      std::cout << GridLogMessage << tmp << std::endl;
+    }
+  }
+
+  template <class cplx>
+  static void generator(int Index, iSUnTwoIndexMatrix<cplx> &i2indTa) {
+    Vector<typename SU<ncolour>::template iSUnMatrix<cplx> > ta(
+        ncolour * ncolour - 1);
+    Vector<typename SU<ncolour>::template iSUnMatrix<cplx> > eij(Dimension);
+    typename SU<ncolour>::template iSUnMatrix<cplx> tmp;
+    i2indTa = zero;
+    
+    for (int a = 0; a < ncolour * ncolour - 1; a++)
+      SU<ncolour>::generator(a, ta[a]);
+    
+    for (int a = 0; a < Dimension; a++) base(a, eij[a]);
+
+    for (int a = 0; a < Dimension; a++) {
+      tmp = transpose(ta[Index]) * adj(eij[a]) + adj(eij[a]) * ta[Index];
+      for (int b = 0; b < Dimension; b++) {
+        typename SU<ncolour>::template iSUnMatrix<cplx> tmp1 =
+            tmp * eij[b]; 
+        Complex iTr = TensorRemove(timesI(trace(tmp1)));
+        i2indTa()()(a, b) = iTr;
+      }
+    }
+  }
+
+  static void printGenerators(void) {
+    for (int gen = 0; gen < ncolour * ncolour - 1; gen++) {
+      TIMatrix i2indTa;
+      generator(gen, i2indTa);
+      std::cout << GridLogMessage << "Nc = " << ncolour << " t_" << gen
+                << std::endl;
+      std::cout << GridLogMessage << i2indTa << std::endl;
+    }
+  }
+
+  static void testGenerators(void) {
+    TIMatrix i2indTa, i2indTb;
+    std::cout << GridLogMessage << "2IndexRep - Checking if traceless"
+              << std::endl;
+    for (int a = 0; a < ncolour * ncolour - 1; a++) {
+      generator(a, i2indTa);
+      std::cout << GridLogMessage << a << std::endl;
+      assert(norm2(trace(i2indTa)) < 1.0e-6);
+    }
+    std::cout << GridLogMessage << std::endl;
+
+    std::cout << GridLogMessage << "2IndexRep - Checking if antihermitean"
+              << std::endl;
+    for (int a = 0; a < ncolour * ncolour - 1; a++) {
+      generator(a, i2indTa);
+      std::cout << GridLogMessage << a << std::endl;
+      assert(norm2(adj(i2indTa) + i2indTa) < 1.0e-6);
+    }
+
+    std::cout << GridLogMessage << std::endl;
+    std::cout << GridLogMessage
+              << "2IndexRep - Checking Tr[Ta*Tb]=delta(a,b)*(N +- 2)/2"
+              << std::endl;
+    for (int a = 0; a < ncolour * ncolour - 1; a++) {
+      for (int b = 0; b < ncolour * ncolour - 1; b++) {
+        generator(a, i2indTa);
+        generator(b, i2indTb);
+
+        // generator returns iTa, so we need a minus sign here
+        Complex Tr = -TensorRemove(trace(i2indTa * i2indTb));
+        std::cout << GridLogMessage << "a=" << a << "b=" << b << "Tr=" << Tr
+                  << std::endl;
+      }
+    }
+    std::cout << GridLogMessage << std::endl;
+  }
+
+  static void TwoIndexLieAlgebraMatrix(
+      const typename SU<ncolour>::LatticeAlgebraVector &h,
+      LatticeTwoIndexMatrix &out, Real scale = 1.0) {
+    conformable(h, out);
+    GridBase *grid = out._grid;
+    LatticeTwoIndexMatrix la(grid);
+    TIMatrix i2indTa;
+
+    out = zero;
+    for (int a = 0; a < ncolour * ncolour - 1; a++) {
+      generator(a, i2indTa);
+      la = peekColour(h, a) * i2indTa;
+      out += la;
+    }
+    out *= scale;
+  }
+
+  // Projects the algebra components 
+  // of a lattice matrix ( of dimension ncol*ncol -1 )
+  static void projectOnAlgebra(
+      typename SU<ncolour>::LatticeAlgebraVector &h_out,
+      const LatticeTwoIndexMatrix &in, Real scale = 1.0) {
+    conformable(h_out, in);
+    h_out = zero;
+    TIMatrix i2indTa;
+    Real coefficient = -2.0 / (ncolour + 2 * S) * scale;
+    // 2/(Nc +/- 2) for the normalization of the trace in the two index rep
+    for (int a = 0; a < ncolour * ncolour - 1; a++) {
+      generator(a, i2indTa);
+      auto tmp = real(trace(i2indTa * in)) * coefficient;
+      pokeColour(h_out, tmp, a);
+    }
+  }
+
+  // a projector that keeps the generators stored to avoid the overhead of
+  // recomputing them
+  static void projector(typename SU<ncolour>::LatticeAlgebraVector &h_out,
+                        const LatticeTwoIndexMatrix &in, Real scale = 1.0) {
+    conformable(h_out, in);
+    // to store the generators
+    static std::vector<TIMatrix> i2indTa(ncolour * ncolour -1); 
+    h_out = zero;
+    static bool precalculated = false;
+    if (!precalculated) {
+      precalculated = true;
+      for (int a = 0; a < ncolour * ncolour - 1; a++) generator(a, i2indTa[a]);
+    }
+
+    Real coefficient =
+        -2.0 / (ncolour + 2 * S) * scale;  // 2/(Nc +/- 2) for the normalization
+                                           // of the trace in the two index rep
+
+    for (int a = 0; a < ncolour * ncolour - 1; a++) {
+      auto tmp = real(trace(i2indTa[a] * in)) * coefficient;
+      pokeColour(h_out, tmp, a);
+    }
+  }
+};
+
+// Some useful type names
+typedef SU_TwoIndex<Nc, Symmetric> TwoIndexSymmMatrices;
+typedef SU_TwoIndex<Nc, AntiSymmetric> TwoIndexAntiSymmMatrices;
+
+typedef SU_TwoIndex<2, Symmetric> SU2TwoIndexSymm;
+typedef SU_TwoIndex<3, Symmetric> SU3TwoIndexSymm;
+typedef SU_TwoIndex<4, Symmetric> SU4TwoIndexSymm;
+typedef SU_TwoIndex<5, Symmetric> SU5TwoIndexSymm;
+
+typedef SU_TwoIndex<2, AntiSymmetric> SU2TwoIndexAntiSymm;
+typedef SU_TwoIndex<3, AntiSymmetric> SU3TwoIndexAntiSymm;
+typedef SU_TwoIndex<4, AntiSymmetric> SU4TwoIndexAntiSymm;
+typedef SU_TwoIndex<5, AntiSymmetric> SU5TwoIndexAntiSymm;
+
+
+}
 }
 
 #endif
diff --git a/tests/core/Test_lie_generators.cc b/tests/core/Test_lie_generators.cc
index e4140d46..28c66a28 100644
--- a/tests/core/Test_lie_generators.cc
+++ b/tests/core/Test_lie_generators.cc
@@ -8,6 +8,7 @@ Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: Guido Cossu <guido.cossu@ed.ac.uk>
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -30,9 +31,13 @@ directory
 #include <Grid/Grid.h>
 
 #include <Grid/qcd/utils/CovariantCshift.h>
+
 #include <Grid/qcd/utils/SUn.h>
 #include <Grid/qcd/utils/SUnAdjoint.h>
+#include <Grid/qcd/utils/SUnTwoIndex.h>
+
 #include <Grid/qcd/representations/adjoint.h>
+#include <Grid/qcd/representations/two_index.h>
 #include <Grid/qcd/utils/WilsonLoops.h>
 
 using namespace std;
@@ -79,13 +84,6 @@ int main(int argc, char** argv) {
   SU4::testGenerators();
   SU4Adjoint::testGenerators();
 
-  //  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
-  //  std::cout<<GridLogMessage<<"* Generators for SU(5)"<<std::endl;
-  //  std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
-  //  SU5::printGenerators();
-  //  SU5::testGenerators();
-
-
   // Projectors 
   GridParallelRNG gridRNG(grid);
   gridRNG.SeedRandomDevice();
@@ -112,12 +110,14 @@ int main(int argc, char** argv) {
   AdjointRep<Nc> AdjRep(grid);
 
   // AdjointRepresentation has the predefined number of colours Nc
-  Representations<FundamentalRepresentation, AdjointRepresentation> RepresentationTypes(grid);  
+  Representations<FundamentalRepresentation, AdjointRepresentation, TwoIndexSymmetricRepresentation> RepresentationTypes(grid);  
 
+  
   LatticeGaugeField U(grid), V(grid);
   SU<Nc>::HotConfiguration<LatticeGaugeField>(gridRNG, U);
   SU<Nc>::HotConfiguration<LatticeGaugeField>(gridRNG, V);
 
+  // Adjoint representation
   // Test group structure
   // (U_f * V_f)_r = U_r * V_r
   LatticeGaugeField UV(grid);
@@ -129,7 +129,7 @@ int main(int argc, char** argv) {
   }
 
   AdjRep.update_representation(UV);
-  typename AdjointRep<Nc>::LatticeField UVr = AdjRep.U;  // (U_f * V_f)_r
+  typename AdjointRep<Nc>::LatticeField UVr = AdjRep.U;  // (U_f * V_f)_r 
 
 
   AdjRep.update_representation(U);
@@ -147,7 +147,7 @@ int main(int argc, char** argv) {
   }
 
   typename AdjointRep<Nc>::LatticeField Diff_check = UVr - UrVr;
-  std::cout << GridLogMessage << "Group structure SU("<<Nc<<") check difference : " << norm2(Diff_check) << std::endl;
+  std::cout << GridLogMessage << "Group structure SU("<<Nc<<") check difference (Adjoint representation) : " << norm2(Diff_check) << std::endl;
 
   // Check correspondence of algebra and group transformations
   // Create a random vector
@@ -161,7 +161,7 @@ int main(int argc, char** argv) {
   SU<Nc>::LatticeAlgebraVector h_adj2(grid);
   SU_Adjoint<Nc>::projectOnAlgebra(h_adj2, Ar);
   SU<Nc>::LatticeAlgebraVector h_diff = h_adj - h_adj2;
-  std::cout << GridLogMessage << "Projections structure check vector difference : " << norm2(h_diff) << std::endl;
+  std::cout << GridLogMessage << "Projections structure check vector difference (Adjoint representation) : " << norm2(h_diff) << std::endl;
 
   // Exponentiate
   typename AdjointRep<Nc>::LatticeMatrix Uadj(grid);
@@ -210,5 +210,323 @@ int main(int argc, char** argv) {
   typename AdjointRep<Nc>::LatticeMatrix Diff_check_mat = Ur0 - Uadj;
   std::cout << GridLogMessage << "Projections structure check group difference : " << norm2(Diff_check_mat) << std::endl;
 
+
+
+
+  // TwoIndexRep tests
+
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+
+
+  
+  std::cout << GridLogMessage << "* eS^{ij} base for SU(2)" << std::endl;
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+  std::cout << GridLogMessage << "Dimension of Two Index Symmetric representation: "<< SU2TwoIndexSymm::Dimension << std::endl;
+  SU2TwoIndexSymm::printBase();
+      std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+        std::cout << GridLogMessage << "Generators of Two Index Symmetric representation: "<< SU2TwoIndexSymm::Dimension << std::endl;
+  SU2TwoIndexSymm::printGenerators();
+        std::cout << GridLogMessage << "Test of Two Index Symmetric Generators: "<< SU2TwoIndexSymm::Dimension << std::endl;
+  SU2TwoIndexSymm::testGenerators();
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+
+
+  
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+  std::cout << GridLogMessage << "* eAS^{ij} base for SU(2)" << std::endl;
+  
+  std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+  std::cout << GridLogMessage << "Dimension of Two Index anti-Symmetric representation: "<< SU2TwoIndexAntiSymm::Dimension << std::endl;
+  SU2TwoIndexAntiSymm::printBase();
+      std::cout << GridLogMessage << "*********************************************"
+            << std::endl;
+        std::cout << GridLogMessage << "Dimension of Two Index anti-Symmetric representation: "<< SU2TwoIndexAntiSymm::Dimension << std::endl;
+  SU2TwoIndexAntiSymm::printGenerators();
+  std::cout << GridLogMessage << "Test of Two Index anti-Symmetric Generators: "<< SU2TwoIndexAntiSymm::Dimension << std::endl;
+  SU2TwoIndexAntiSymm::testGenerators();
+  
+  
+  
+  std::cout << GridLogMessage << "*********************************************"
+      << std::endl;
+  std::cout << GridLogMessage << "Test for the Two Index Symmetric projectors"
+      << std::endl;
+  // Projectors 
+  SU3TwoIndexSymm::LatticeTwoIndexMatrix Gauss2(grid);
+  random(gridRNG,Gauss2);
+  
+  std::cout << GridLogMessage << "Start projectOnAlgebra" << std::endl;
+  SU3TwoIndexSymm::projectOnAlgebra(ha, Gauss2);
+  std::cout << GridLogMessage << "end projectOnAlgebra" << std::endl;
+  std::cout << GridLogMessage << "Start projector" << std::endl;
+  SU3TwoIndexSymm::projector(hb, Gauss2);
+  std::cout << GridLogMessage << "end projector" << std::endl;
+  
+  std::cout << GridLogMessage << "ReStart projector" << std::endl;
+  SU3TwoIndexSymm::projector(hb, Gauss2);
+  std::cout << GridLogMessage << "end projector" << std::endl;
+  SU3::LatticeAlgebraVector diff2 = ha - hb;
+  std::cout << GridLogMessage << "Difference: " << norm2(diff) << std::endl;
+  std::cout << GridLogMessage << "*********************************************"
+      << std::endl;
+
+  
+    std::cout << GridLogMessage << "*********************************************"
+      << std::endl;
+  std::cout << GridLogMessage << "Test for the Two index anti-Symmetric projectors"
+      << std::endl;
+  // Projectors
+  SU3TwoIndexAntiSymm::LatticeTwoIndexMatrix Gauss2a(grid);
+  random(gridRNG,Gauss2a);
+  
+  std::cout << GridLogMessage << "Start projectOnAlgebra" << std::endl;
+  SU3TwoIndexAntiSymm::projectOnAlgebra(ha, Gauss2a);
+  std::cout << GridLogMessage << "end projectOnAlgebra" << std::endl;
+  std::cout << GridLogMessage << "Start projector" << std::endl;
+  SU3TwoIndexAntiSymm::projector(hb, Gauss2a);
+  std::cout << GridLogMessage << "end projector" << std::endl;
+  
+  std::cout << GridLogMessage << "ReStart projector" << std::endl;
+  SU3TwoIndexAntiSymm::projector(hb, Gauss2a);
+  std::cout << GridLogMessage << "end projector" << std::endl;
+  SU3::LatticeAlgebraVector diff2a = ha - hb;
+  std::cout << GridLogMessage << "Difference: " << norm2(diff2a) << std::endl;
+  std::cout << GridLogMessage << "*********************************************"
+      << std::endl;
+    
+  
+  std::cout << GridLogMessage << "Two index Symmetric: Checking Group Structure"
+      << std::endl;
+  // Testing HMC representation classes
+  TwoIndexRep< Nc, Symmetric > TIndexRep(grid);
+
+  // Test group structure
+  // (U_f * V_f)_r = U_r * V_r
+  LatticeGaugeField U2(grid), V2(grid);
+  SU<Nc>::HotConfiguration<LatticeGaugeField>(gridRNG, U2);
+  SU<Nc>::HotConfiguration<LatticeGaugeField>(gridRNG, V2);
+  
+  LatticeGaugeField UV2(grid);
+  UV2 = zero;
+  for (int mu = 0; mu < Nd; mu++) {
+    SU<Nc>::LatticeMatrix Umu2 = peekLorentz(U2,mu);
+    SU<Nc>::LatticeMatrix Vmu2 = peekLorentz(V2,mu);
+    pokeLorentz(UV2,Umu2*Vmu2, mu);
+  }
+  
+  TIndexRep.update_representation(UV2);
+  typename TwoIndexRep< Nc, Symmetric >::LatticeField UVr2 = TIndexRep.U;  // (U_f * V_f)_r
+  
+  TIndexRep.update_representation(U2);
+  typename TwoIndexRep< Nc, Symmetric >::LatticeField Ur2 = TIndexRep.U;  // U_r
+  
+  TIndexRep.update_representation(V2);
+  typename TwoIndexRep< Nc, Symmetric >::LatticeField Vr2 = TIndexRep.U;  // V_r
+  
+  typename TwoIndexRep< Nc, Symmetric >::LatticeField Ur2Vr2(grid);
+  Ur2Vr2 = zero;
+  for (int mu = 0; mu < Nd; mu++) {
+    typename TwoIndexRep< Nc, Symmetric >::LatticeMatrix Urmu2 = peekLorentz(Ur2,mu);
+    typename TwoIndexRep< Nc, Symmetric >::LatticeMatrix Vrmu2 = peekLorentz(Vr2,mu);
+    pokeLorentz(Ur2Vr2,Urmu2*Vrmu2, mu);
+  }
+  
+  typename TwoIndexRep< Nc, Symmetric >::LatticeField Diff_check2 = UVr2 - Ur2Vr2;
+  std::cout << GridLogMessage << "Group structure SU("<<Nc<<") check difference (Two Index Symmetric): " << norm2(Diff_check2) << std::endl;
+
+  
+  // Check correspondence of algebra and group transformations
+  // Create a random vector
+  SU<Nc>::LatticeAlgebraVector h_sym(grid);
+  typename TwoIndexRep< Nc, Symmetric>::LatticeMatrix Ar_sym(grid);
+  random(gridRNG,h_sym);
+  h_sym = real(h_sym);
+  SU_TwoIndex<Nc,Symmetric>::TwoIndexLieAlgebraMatrix(h_sym,Ar_sym);
+  
+  // Re-extract h_sym
+  SU<Nc>::LatticeAlgebraVector h_sym2(grid);
+  SU_TwoIndex< Nc, Symmetric>::projectOnAlgebra(h_sym2, Ar_sym);
+  SU<Nc>::LatticeAlgebraVector h_diff_sym = h_sym - h_sym2;
+  std::cout << GridLogMessage << "Projections structure check vector difference (Two Index Symmetric): " << norm2(h_diff_sym) << std::endl;
+
+  
+  // Exponentiate
+  typename TwoIndexRep< Nc, Symmetric>::LatticeMatrix U2iS(grid);
+  U2iS  = expMat(Ar_sym, 1.0, 16);
+  
+  typename TwoIndexRep< Nc, Symmetric>::LatticeMatrix uno2iS(grid);
+  uno2iS = 1.0;
+  // Check matrix U2iS, must be real orthogonal
+  typename TwoIndexRep< Nc, Symmetric>::LatticeMatrix Ucheck2iS = U2iS - conjugate(U2iS);
+  std::cout << GridLogMessage << "Reality check: " << norm2(Ucheck2iS)
+      << std::endl;
+  
+  Ucheck2iS = U2iS * adj(U2iS) - uno2iS;
+  std::cout << GridLogMessage << "orthogonality check 1: " << norm2(Ucheck2iS)
+      << std::endl;
+  Ucheck2iS = adj(U2iS) * U2iS - uno2iS;
+  std::cout << GridLogMessage << "orthogonality check 2: " << norm2(Ucheck2iS)
+      << std::endl;
+  
+  
+  
+  // Construct the fundamental matrix in the group
+  SU<Nc>::LatticeMatrix Af_sym(grid);
+  SU<Nc>::FundamentalLieAlgebraMatrix(h_sym,Af_sym);
+  SU<Nc>::LatticeMatrix Ufund2(grid);
+  Ufund2  = expMat(Af_sym, 1.0, 16);
+  SU<Nc>::LatticeMatrix UnitCheck2(grid);
+  UnitCheck2 = Ufund2 * adj(Ufund2) - uno_f;
+  std::cout << GridLogMessage << "unitarity check 1: " << norm2(UnitCheck2)
+      << std::endl;
+  UnitCheck2 = adj(Ufund2) * Ufund2 - uno_f;
+  std::cout << GridLogMessage << "unitarity check 2: " << norm2(UnitCheck2)
+      << std::endl;
+  
+
+  // Tranform to the 2Index Sym representation
+  U = zero; // fill this with only one direction
+  pokeLorentz(U,Ufund2,0); // the representation transf acts on full gauge fields
+  
+  TIndexRep.update_representation(U);
+  Ur2 = TIndexRep.U;  // U_r  
+  typename TwoIndexRep< Nc, Symmetric>::LatticeMatrix Ur02 = peekLorentz(Ur2,0); // this should be the same as U2iS
+  
+  typename TwoIndexRep< Nc, Symmetric>::LatticeMatrix Diff_check_mat2 = Ur02 - U2iS;
+  std::cout << GridLogMessage << "Projections structure check group difference (Two Index Symmetric): " << norm2(Diff_check_mat2) << std::endl;
+  
+
+
+
+  if (SU2TwoIndexAntiSymm::Dimension != 1){
+
+  std::cout << GridLogMessage << "*********************************************"
+      << std::endl;
+    
+  
+  std::cout << GridLogMessage << "Two Index anti-Symmetric: Check Group Structure"
+      << std::endl;
+  // Testing HMC representation classes
+  TwoIndexRep< Nc, AntiSymmetric > TIndexRepA(grid);
+
+
+  // Test group structure
+  // (U_f * V_f)_r = U_r * V_r
+  LatticeGaugeField U2A(grid), V2A(grid);
+  SU<Nc>::HotConfiguration<LatticeGaugeField>(gridRNG, U2A);
+  SU<Nc>::HotConfiguration<LatticeGaugeField>(gridRNG, V2A);
+  
+  LatticeGaugeField UV2A(grid);
+  UV2A = zero;
+  for (int mu = 0; mu < Nd; mu++) {
+    SU<Nc>::LatticeMatrix Umu2A = peekLorentz(U2,mu);
+    SU<Nc>::LatticeMatrix Vmu2A = peekLorentz(V2,mu);
+    pokeLorentz(UV2A,Umu2A*Vmu2A, mu);
+  }
+  
+  TIndexRep.update_representation(UV2A);
+  typename TwoIndexRep< Nc, AntiSymmetric >::LatticeField UVr2A = TIndexRepA.U;  // (U_f * V_f)_r
+  
+  TIndexRep.update_representation(U2A);
+  typename TwoIndexRep< Nc, AntiSymmetric >::LatticeField Ur2A = TIndexRepA.U;  // U_r
+  
+  TIndexRep.update_representation(V2A);
+  typename TwoIndexRep< Nc, AntiSymmetric >::LatticeField Vr2A = TIndexRepA.U;  // V_r
+  
+  typename TwoIndexRep< Nc, AntiSymmetric >::LatticeField Ur2Vr2A(grid);
+  Ur2Vr2A = zero;
+  for (int mu = 0; mu < Nd; mu++) {
+    typename TwoIndexRep< Nc, AntiSymmetric >::LatticeMatrix Urmu2A = peekLorentz(Ur2A,mu);
+    typename TwoIndexRep< Nc, AntiSymmetric >::LatticeMatrix Vrmu2A = peekLorentz(Vr2A,mu);
+    pokeLorentz(Ur2Vr2A,Urmu2A*Vrmu2A, mu);
+  }
+  
+  typename TwoIndexRep< Nc, AntiSymmetric >::LatticeField Diff_check2A = UVr2A - Ur2Vr2A;
+  std::cout << GridLogMessage << "Group structure SU("<<Nc<<") check difference (Two Index anti-Symmetric): " << norm2(Diff_check2A) << std::endl;
+
+  
+  // Check correspondence of algebra and group transformations
+  // Create a random vector
+  SU<Nc>::LatticeAlgebraVector h_Asym(grid);
+  typename TwoIndexRep< Nc, AntiSymmetric>::LatticeMatrix Ar_Asym(grid);
+  random(gridRNG,h_Asym);
+  h_Asym = real(h_Asym);
+  SU_TwoIndex< Nc, AntiSymmetric>::TwoIndexLieAlgebraMatrix(h_Asym,Ar_Asym);
+  
+  // Re-extract h_sym
+  SU<Nc>::LatticeAlgebraVector h_Asym2(grid);
+  SU_TwoIndex< Nc, AntiSymmetric>::projectOnAlgebra(h_Asym2, Ar_Asym);
+  SU<Nc>::LatticeAlgebraVector h_diff_Asym = h_Asym - h_Asym2;
+  std::cout << GridLogMessage << "Projections structure check vector difference (Two Index anti-Symmetric): " << norm2(h_diff_Asym) << std::endl;
+
+  
+  // Exponentiate
+  typename TwoIndexRep< Nc, AntiSymmetric>::LatticeMatrix U2iAS(grid);
+  U2iAS  = expMat(Ar_Asym, 1.0, 16);
+  
+  typename TwoIndexRep< Nc, AntiSymmetric>::LatticeMatrix uno2iAS(grid);
+  uno2iAS = 1.0;
+  // Check matrix U2iS, must be real orthogonal
+  typename TwoIndexRep< Nc, AntiSymmetric>::LatticeMatrix Ucheck2iAS = U2iAS - conjugate(U2iAS);
+  std::cout << GridLogMessage << "Reality check: " << norm2(Ucheck2iAS)
+      << std::endl;
+  
+  Ucheck2iAS = U2iAS * adj(U2iAS) - uno2iAS;
+  std::cout << GridLogMessage << "orthogonality check 1: " << norm2(Ucheck2iAS)
+      << std::endl;
+  Ucheck2iAS = adj(U2iAS) * U2iAS - uno2iAS;
+  std::cout << GridLogMessage << "orthogonality check 2: " << norm2(Ucheck2iAS)
+      << std::endl;
+  
+  
+  
+  // Construct the fundamental matrix in the group
+  SU<Nc>::LatticeMatrix Af_Asym(grid);
+  SU<Nc>::FundamentalLieAlgebraMatrix(h_Asym,Af_Asym);
+  SU<Nc>::LatticeMatrix Ufund2A(grid);
+  Ufund2A  = expMat(Af_Asym, 1.0, 16);
+  SU<Nc>::LatticeMatrix UnitCheck2A(grid);
+  UnitCheck2A = Ufund2A * adj(Ufund2A) - uno_f;
+  std::cout << GridLogMessage << "unitarity check 1: " << norm2(UnitCheck2A)
+      << std::endl;
+  UnitCheck2A = adj(Ufund2A) * Ufund2A - uno_f;
+  std::cout << GridLogMessage << "unitarity check 2: " << norm2(UnitCheck2A)
+      << std::endl;
+  
+
+  // Tranform to the 2Index Sym representation
+  U = zero; // fill this with only one direction
+  pokeLorentz(U,Ufund2A,0); // the representation transf acts on full gauge fields
+  
+  TIndexRepA.update_representation(U);
+  Ur2A = TIndexRepA.U;  // U_r  
+  typename TwoIndexRep< Nc, AntiSymmetric>::LatticeMatrix Ur02A = peekLorentz(Ur2A,0); // this should be the same as U2iS
+  
+  typename TwoIndexRep< Nc, AntiSymmetric>::LatticeMatrix Diff_check_mat2A = Ur02A - U2iAS;
+  std::cout << GridLogMessage << "Projections structure check group difference (Two Index anti-Symmetric): " << norm2(Diff_check_mat2A) << std::endl;
+  
+} else  {
+  std::cout << GridLogMessage << "Skipping Two Index anti-Symmetric tests "
+                                 "because representation is trivial (dim = 1)"
+            << std::endl;
+}
+
+
+
+
+
+
+
+
+
+  
   Grid_finalize();
 }
diff --git a/tests/hmc/Make.inc b/tests/hmc/Make.inc
index 8ffd4fec..f6f9c6b5 100644
--- a/tests/hmc/Make.inc
+++ b/tests/hmc/Make.inc
@@ -1,5 +1,5 @@
-tests: Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonAdjointFermionGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_multishift_sqrt Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio
-EXTRA_PROGRAMS = Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonAdjointFermionGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonRatio Test_multishift_sqrt Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio
+tests: Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonAdjointFermionGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonMixedRepresentationsFermionGauge Test_hmc_WilsonRatio Test_hmc_WilsonTwoIndexSymmetricFermionGauge Test_multishift_sqrt Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio
+EXTRA_PROGRAMS = Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonAdjointFermionGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonMixedRepresentationsFermionGauge Test_hmc_WilsonRatio Test_hmc_WilsonTwoIndexSymmetricFermionGauge Test_multishift_sqrt Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio
 
 Test_hmc_EODWFRatio_SOURCES=Test_hmc_EODWFRatio.cc
 Test_hmc_EODWFRatio_LDADD=-lGrid
@@ -34,9 +34,15 @@ Test_hmc_WilsonFermionGauge_LDADD=-lGrid
 Test_hmc_WilsonGauge_SOURCES=Test_hmc_WilsonGauge.cc
 Test_hmc_WilsonGauge_LDADD=-lGrid
 
+Test_hmc_WilsonMixedRepresentationsFermionGauge_SOURCES=Test_hmc_WilsonMixedRepresentationsFermionGauge.cc
+Test_hmc_WilsonMixedRepresentationsFermionGauge_LDADD=-lGrid
+
 Test_hmc_WilsonRatio_SOURCES=Test_hmc_WilsonRatio.cc
 Test_hmc_WilsonRatio_LDADD=-lGrid
 
+Test_hmc_WilsonTwoIndexSymmetricFermionGauge_SOURCES=Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc
+Test_hmc_WilsonTwoIndexSymmetricFermionGauge_LDADD=-lGrid
+
 Test_multishift_sqrt_SOURCES=Test_multishift_sqrt.cc
 Test_multishift_sqrt_LDADD=-lGrid
 
diff --git a/tests/hmc/Test_hmc_WilsonMixedRepresentationsFermionGauge.cc b/tests/hmc/Test_hmc_WilsonMixedRepresentationsFermionGauge.cc
new file mode 100644
index 00000000..593012b4
--- /dev/null
+++ b/tests/hmc/Test_hmc_WilsonMixedRepresentationsFermionGauge.cc
@@ -0,0 +1,113 @@
+/*************************************************************************************
+
+Grid physics library, www.github.com/paboyle/Grid
+
+Source file: ./tests/Test_hmc_WilsonAdjointFermionGauge.cc
+
+Copyright (C) 2015
+
+Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: neo <cossu@post.kek.jp>
+Author: paboyle <paboyle@ph.ed.ac.uk>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
+#include "Grid/Grid.h"
+
+using namespace std;
+using namespace Grid;
+using namespace Grid::QCD;
+
+namespace Grid {
+namespace QCD {
+
+// Here change the allowed (higher) representations
+typedef Representations< FundamentalRepresentation, AdjointRepresentation , TwoIndexSymmetricRepresentation> TheRepresentations;
+
+class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
+ public:
+  void BuildTheAction(int argc, char **argv)
+
+  {
+    typedef WilsonAdjImplR AdjImplPolicy; // gauge field implemetation for the pseudofermions
+    typedef WilsonAdjFermionR AdjFermionAction; // type of lattice fermions (Wilson, DW, ...)
+    typedef WilsonTwoIndexSymmetricImplR SymmImplPolicy; 
+    typedef WilsonTwoIndexSymmetricFermionR SymmFermionAction; 
+
+ 
+    typedef typename AdjFermionAction::FermionField AdjFermionField;
+    typedef typename SymmFermionAction::FermionField SymmFermionField;
+
+    UGrid = SpaceTimeGrid::makeFourDimGrid(
+        GridDefaultLatt(), GridDefaultSimd(Nd, vComplex::Nsimd()),
+        GridDefaultMpi());
+    UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
+
+    FGrid = UGrid;
+    FrbGrid = UrbGrid;
+
+    // temporarily need a gauge field
+    //LatticeGaugeField U(UGrid);
+    AdjointRepresentation::LatticeField UA(UGrid);
+    TwoIndexSymmetricRepresentation::LatticeField US(UGrid);
+
+    // Gauge action
+    WilsonGaugeActionR Waction(2.25);
+
+    Real adjoint_mass = -0.1;
+    Real symm_mass = -0.5;
+    AdjFermionAction AdjFermOp(UA, *FGrid, *FrbGrid, adjoint_mass);
+    SymmFermionAction SymmFermOp(US, *FGrid, *FrbGrid, symm_mass);
+
+    ConjugateGradient<AdjFermionField> CG_adj(1.0e-8, 10000, false);
+    ConjugateGradient<SymmFermionField> CG_symm(1.0e-8, 10000, false);
+
+    // Pass two solvers: one for the force computation and one for the action
+    TwoFlavourPseudoFermionAction<AdjImplPolicy> Nf2_Adj(AdjFermOp, CG_adj, CG_adj);
+    TwoFlavourPseudoFermionAction<SymmImplPolicy> Nf2_Symm(SymmFermOp, CG_symm, CG_symm);
+
+    // Collect actions
+    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level1(1);
+    Level1.push_back(&Nf2_Adj);
+    Level1.push_back(&Nf2_Symm);
+
+    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level2(4);
+    Level2.push_back(&Waction);
+
+    TheAction.push_back(Level1);
+    TheAction.push_back(Level2);
+
+    Run(argc, argv);
+  };
+};
+}
+}
+
+int main(int argc, char **argv) {
+  Grid_init(&argc, &argv);
+
+  int threads = GridThread::GetThreads();
+  std::cout << GridLogMessage << "Grid is setup to use " << threads
+            << " threads" << std::endl;
+
+  HmcRunner TheHMC;
+
+  TheHMC.BuildTheAction(argc, argv);
+}
diff --git a/tests/hmc/Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc b/tests/hmc/Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc
new file mode 100644
index 00000000..acd932d7
--- /dev/null
+++ b/tests/hmc/Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc
@@ -0,0 +1,103 @@
+/*************************************************************************************
+
+Grid physics library, www.github.com/paboyle/Grid
+
+Source file: ./tests/Test_hmc_WilsonAdjointFermionGauge.cc
+
+Copyright (C) 2015
+
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+Author: neo <cossu@post.kek.jp>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
+#include "Grid/Grid.h"
+
+using namespace std;
+using namespace Grid;
+using namespace Grid::QCD;
+
+namespace Grid {
+namespace QCD {
+
+// Here change the allowed (higher) representations
+typedef Representations< FundamentalRepresentation, TwoIndexSymmetricRepresentation > TheRepresentations;
+
+
+class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
+ public:
+  void BuildTheAction(int argc, char **argv)
+
+  {
+    typedef WilsonTwoIndexSymmetricImplR ImplPolicy; // gauge field implemetation for the pseudofermions
+    typedef WilsonTwoIndexSymmetricFermionR FermionAction; // type of lattice fermions (Wilson, DW, ...)
+    typedef typename FermionAction::FermionField FermionField;
+
+    UGrid = SpaceTimeGrid::makeFourDimGrid(
+        GridDefaultLatt(), GridDefaultSimd(Nd, vComplex::Nsimd()),
+        GridDefaultMpi());
+    UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
+
+    FGrid = UGrid;
+    FrbGrid = UrbGrid;
+
+    // temporarily need a gauge field
+    TwoIndexSymmetricRepresentation::LatticeField U(UGrid);
+
+    // Gauge action
+    WilsonGaugeActionR Waction(2.0);
+
+    Real mass = -0.0;
+    FermionAction FermOp(U, *FGrid, *FrbGrid, mass);
+
+    ConjugateGradient<FermionField> CG(1.0e-8, 10000, false);
+
+    // Pass two solvers: one for the force computation and one for the action
+    TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
+
+    // Set smearing (true/false), default: false
+    Nf2.is_smeared = false;
+
+    // Collect actions
+    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level1(1);
+    Level1.push_back(&Nf2);
+
+    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level2(4);
+    Level2.push_back(&Waction);
+
+    TheAction.push_back(Level1);
+    TheAction.push_back(Level2);
+
+    Run(argc, argv);
+  };
+};
+}
+}
+
+int main(int argc, char **argv) {
+  Grid_init(&argc, &argv);
+
+  int threads = GridThread::GetThreads();
+  std::cout << GridLogMessage << "Grid is setup to use " << threads
+            << " threads" << std::endl;
+
+  HmcRunner TheHMC;
+
+  TheHMC.BuildTheAction(argc, argv);
+}

From 6ffadca1530b2d29aa503958362f8eb7d16570cb Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Thu, 22 Sep 2016 14:22:54 +0100
Subject: [PATCH 147/295] Restored number of colours to 3

---
 lib/qcd/QCD.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index 829752c7..f434bdd9 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -45,7 +45,7 @@ namespace QCD {
     static const int Zm = 6;
     static const int Tm = 7;
 
-    static const int Nc=2;
+    static const int Nc=3;
     static const int Ns=4;
     static const int Nd=4;
     static const int Nhs=2; // half spinor

From 510e340e16e67ff6143967367d266cdae901ea64 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Thu, 22 Sep 2016 22:16:21 +0100
Subject: [PATCH 148/295] Debugged last commit for the Two index representation

---
 lib/qcd/utils/SUnTwoIndex.h       | 5 +++--
 tests/core/Test_lie_generators.cc | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/qcd/utils/SUnTwoIndex.h b/lib/qcd/utils/SUnTwoIndex.h
index 44d756a7..0c09f5e2 100644
--- a/lib/qcd/utils/SUnTwoIndex.h
+++ b/lib/qcd/utils/SUnTwoIndex.h
@@ -81,8 +81,9 @@ class SU_TwoIndex : public SU<ncolour> {
       int counter = 0;
       for (int i = 1; i < ncolour; i++) {
         for (int j = 0; j < i; j++) {
-          a[counter++][0] = i;
-          a[counter++][1] = j;
+          a[counter][0] = i;
+          a[counter][1] = j;
+          counter++;
         }
       }
       filled = true;
diff --git a/tests/core/Test_lie_generators.cc b/tests/core/Test_lie_generators.cc
index 28c66a28..5623b74b 100644
--- a/tests/core/Test_lie_generators.cc
+++ b/tests/core/Test_lie_generators.cc
@@ -406,7 +406,7 @@ int main(int argc, char** argv) {
 
 
 
-  if (SU2TwoIndexAntiSymm::Dimension != 1){
+  if (TwoIndexRep<Nc, AntiSymmetric >::Dimension != 1){
 
   std::cout << GridLogMessage << "*********************************************"
       << std::endl;

From c4ac6e7e8f4ec7563a68e7650e769ab0203ff01e Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 23 Sep 2016 10:47:42 +0100
Subject: [PATCH 149/295] Consolidating HMC interface

Uniformed interface for standard action in fundamental rep and Hirep
---
 lib/qcd/action/ActionBase.h                   | 38 +++++--------------
 lib/qcd/hmc/HmcRunner.h                       |  2 +-
 lib/qcd/hmc/integrators/Integrator.h          |  4 +-
 .../hmc/integrators/Integrator_algorithm.h    |  6 +--
 .../hmc/Test_hmc_WilsonAdjointFermionGauge.cc |  5 +--
 ..._WilsonMixedRepresentationsFermionGauge.cc |  6 +--
 ...hmc_WilsonTwoIndexSymmetricFermionGauge.cc |  4 +-
 7 files changed, 22 insertions(+), 43 deletions(-)

diff --git a/lib/qcd/action/ActionBase.h b/lib/qcd/action/ActionBase.h
index e6c8b0f8..56d6b8e0 100644
--- a/lib/qcd/action/ActionBase.h
+++ b/lib/qcd/action/ActionBase.h
@@ -45,27 +45,6 @@ class Action {
   virtual ~Action(){};
 };
 
-// Could derive PseudoFermion action with a PF field, FermionField, and a Grid;
-// implement refresh
-/*
-template<class GaugeField, class FermionField>
-class PseudoFermionAction : public Action<GaugeField> {
- public:
-  FermionField Phi;
-  GridParallelRNG &pRNG;
-  GridBase &Grid;
-
-  PseudoFermionAction(GridBase &_Grid,GridParallelRNG &_pRNG) : Grid(_Grid),
-Phi(&_Grid), pRNG(_pRNG) {
-  };
-
-  virtual void refresh(const GaugeField &gauge) {
-    gaussian(Phi,pRNG);
-  };
-
-};
-*/
-
 // Indexing of tuple types
 template <class T, class Tuple>
 struct Index;
@@ -80,6 +59,7 @@ struct Index<T, std::tuple<U, Types...>> {
   static const std::size_t value = 1 + Index<T, std::tuple<Types...>>::value;
 };
 
+/*
 template <class GaugeField>
 struct ActionLevel {
  public:
@@ -99,10 +79,10 @@ struct ActionLevel {
 
   void push_back(ActPtr ptr) { actions.push_back(ptr); }
 };
+*/
 
-
-template <class GaugeField, class Repr>
-struct ActionLevelHirep {
+template <class GaugeField, class Repr = NoHirep >
+struct ActionLevel {
  public:
   unsigned int multiplier; 
 
@@ -118,9 +98,9 @@ struct ActionLevelHirep {
   std::vector<ActPtr>& actions;
 
   // Temporary conversion between ActionLevel and ActionLevelHirep
-  ActionLevelHirep(ActionLevel<GaugeField>& AL ):actions(AL.actions), multiplier(AL.multiplier){}
+  //ActionLevelHirep(ActionLevel<GaugeField>& AL ):actions(AL.actions), multiplier(AL.multiplier){}
 
-  ActionLevelHirep(unsigned int mul = 1) : actions(std::get<0>(actions_hirep)), multiplier(mul) {
+  ActionLevel(unsigned int mul = 1) : actions(std::get<0>(actions_hirep)), multiplier(mul) {
     // initialize the hirep vectors to zero.
     //apply(this->resize, actions_hirep, 0); //need a working resize
     assert(mul >= 1);
@@ -162,11 +142,11 @@ struct ActionLevelHirep {
 };
 
 
-template <class GaugeField>
-using ActionSet = std::vector<ActionLevel<GaugeField> >;
+//template <class GaugeField>
+//using ActionSet = std::vector<ActionLevel<GaugeField> >;
 
 template <class GaugeField, class R>
-using ActionSetHirep = std::vector<ActionLevelHirep<GaugeField, R> >;
+using ActionSet = std::vector<ActionLevel<GaugeField, R> >;
 
 }
 }
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index dafd2a01..a31ba784 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -39,7 +39,7 @@ class NerscHmcRunnerTemplate {
 
   enum StartType_t { ColdStart, HotStart, TepidStart, CheckpointStart };
 
-  ActionSetHirep<GaugeField, RepresentationsPolicy> TheAction;
+  ActionSet<GaugeField, RepresentationsPolicy> TheAction;
 
   GridCartesian *UGrid;
   GridCartesian *FGrid;
diff --git a/lib/qcd/hmc/integrators/Integrator.h b/lib/qcd/hmc/integrators/Integrator.h
index b2fbf039..f89b7959 100644
--- a/lib/qcd/hmc/integrators/Integrator.h
+++ b/lib/qcd/hmc/integrators/Integrator.h
@@ -71,7 +71,7 @@ class Integrator {
 
   IntegratorParameters Params;
 
-  const ActionSetHirep<GaugeField, RepresentationPolicy> as;
+  const ActionSet<GaugeField, RepresentationPolicy> as;
 
   int levels;  //
   double t_U;  // Track time passing on each level and for U and for P
@@ -180,7 +180,7 @@ class Integrator {
 
  public:
   Integrator(GridBase* grid, IntegratorParameters Par,
-             ActionSetHirep<GaugeField, RepresentationPolicy>& Aset,
+             ActionSet<GaugeField, RepresentationPolicy>& Aset,
              SmearingPolicy& Sm)
       : Params(Par),
         as(Aset),
diff --git a/lib/qcd/hmc/integrators/Integrator_algorithm.h b/lib/qcd/hmc/integrators/Integrator_algorithm.h
index 3c89a14d..cd289b08 100644
--- a/lib/qcd/hmc/integrators/Integrator_algorithm.h
+++ b/lib/qcd/hmc/integrators/Integrator_algorithm.h
@@ -101,7 +101,7 @@ namespace Grid{
 
       LeapFrog(GridBase* grid, 
 	       IntegratorParameters Par,
-	       ActionSet<GaugeField> & Aset,
+	       ActionSet<GaugeField, RepresentationPolicy> & Aset,
 	       SmearingPolicy & Sm):
 	Integrator<GaugeField, SmearingPolicy, RepresentationPolicy>(grid,Par,Aset,Sm) {};
 
@@ -151,7 +151,7 @@ namespace Grid{
 
       MinimumNorm2(GridBase* grid, 
 		   IntegratorParameters Par,
-		   ActionSetHirep<GaugeField, RepresentationPolicy> & Aset,
+		   ActionSet<GaugeField, RepresentationPolicy> & Aset,
 		   SmearingPolicy& Sm):
 	Integrator<GaugeField, SmearingPolicy, RepresentationPolicy>(grid,Par,Aset,Sm) {};
 
@@ -215,7 +215,7 @@ namespace Grid{
       // Looks like dH scales as dt^4. tested wilson/wilson 2 level.
     ForceGradient(GridBase* grid, 
 		  IntegratorParameters Par,
-		  ActionSet<GaugeField> & Aset,
+		  ActionSet<GaugeField, RepresentationPolicy> & Aset,
 		  SmearingPolicy &Sm):
       Integrator<GaugeField, SmearingPolicy, RepresentationPolicy>(grid,Par,Aset, Sm) {};
 
diff --git a/tests/hmc/Test_hmc_WilsonAdjointFermionGauge.cc b/tests/hmc/Test_hmc_WilsonAdjointFermionGauge.cc
index bec35e2e..51171e8e 100644
--- a/tests/hmc/Test_hmc_WilsonAdjointFermionGauge.cc
+++ b/tests/hmc/Test_hmc_WilsonAdjointFermionGauge.cc
@@ -40,7 +40,6 @@ namespace QCD {
 
 // Here change the allowed (higher) representations
 typedef Representations< FundamentalRepresentation, AdjointRepresentation > TheRepresentations;
-//typedef Representations< FundamentalRepresentation > TheRepresentations;
 
 
 class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
@@ -80,10 +79,10 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     Nf2.is_smeared = false;
 
     // Collect actions
-    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level1(1);
+    ActionLevel<LatticeGaugeField, TheRepresentations > Level1(1);
     Level1.push_back(&Nf2);
 
-    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level2(4);
+    ActionLevel<LatticeGaugeField, TheRepresentations > Level2(4);
     Level2.push_back(&Waction);
 
     TheAction.push_back(Level1);
diff --git a/tests/hmc/Test_hmc_WilsonMixedRepresentationsFermionGauge.cc b/tests/hmc/Test_hmc_WilsonMixedRepresentationsFermionGauge.cc
index 593012b4..50cb219e 100644
--- a/tests/hmc/Test_hmc_WilsonMixedRepresentationsFermionGauge.cc
+++ b/tests/hmc/Test_hmc_WilsonMixedRepresentationsFermionGauge.cc
@@ -69,7 +69,7 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     TwoIndexSymmetricRepresentation::LatticeField US(UGrid);
 
     // Gauge action
-    WilsonGaugeActionR Waction(2.25);
+    WilsonGaugeActionR Waction(5.6);
 
     Real adjoint_mass = -0.1;
     Real symm_mass = -0.5;
@@ -84,11 +84,11 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     TwoFlavourPseudoFermionAction<SymmImplPolicy> Nf2_Symm(SymmFermOp, CG_symm, CG_symm);
 
     // Collect actions
-    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level1(1);
+    ActionLevel<LatticeGaugeField, TheRepresentations > Level1(1);
     Level1.push_back(&Nf2_Adj);
     Level1.push_back(&Nf2_Symm);
 
-    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level2(4);
+    ActionLevel<LatticeGaugeField, TheRepresentations > Level2(4);
     Level2.push_back(&Waction);
 
     TheAction.push_back(Level1);
diff --git a/tests/hmc/Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc b/tests/hmc/Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc
index acd932d7..b027b111 100644
--- a/tests/hmc/Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc
+++ b/tests/hmc/Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc
@@ -75,10 +75,10 @@ class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
     Nf2.is_smeared = false;
 
     // Collect actions
-    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level1(1);
+    ActionLevel<LatticeGaugeField, TheRepresentations > Level1(1);
     Level1.push_back(&Nf2);
 
-    ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level2(4);
+    ActionLevel<LatticeGaugeField, TheRepresentations > Level2(4);
     Level2.push_back(&Waction);
 
     TheAction.push_back(Level1);

From 15d8f5c88cc3bd02eafce924d86dfb6c771ed72c Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 23 Sep 2016 11:05:36 +0100
Subject: [PATCH 150/295] Small change to the configure.ac to include the
 canonical names

---
 configure.ac | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/configure.ac b/configure.ac
index db379510..b6f4c6b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,11 +1,15 @@
 AC_PREREQ([2.63])
 AC_INIT([Grid], [0.5.1-dev], [https://github.com/paboyle/Grid], [Grid])
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+AC_CANONICAL_TARGET
 AM_INIT_AUTOMAKE(subdir-objects)
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([lib/Grid.h])
 AC_CONFIG_HEADERS([lib/Config.h])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+
 ############### Checks for programs
 AC_LANG(C++)
 CXXFLAGS="-O3 $CXXFLAGS"

From 04a437c92c42e3a36f35d7d85817a6812693d8ef Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 23 Sep 2016 11:12:45 +0100
Subject: [PATCH 151/295] Minor modification to the filelist script

---
 configure                               | 14530 ++--------------------
 scripts/filelist                        |    35 +-
 tests/qdpxx/Test_qdpxx_loops_staples.cc |     0
 tests/qdpxx/Test_qdpxx_munprec.cc       |     0
 4 files changed, 1224 insertions(+), 13341 deletions(-)
 mode change 100755 => 100644 tests/qdpxx/Test_qdpxx_loops_staples.cc
 mode change 100755 => 100644 tests/qdpxx/Test_qdpxx_munprec.cc

diff --git a/configure b/configure
index 94ba6616..286a8abd 100755
--- a/configure
+++ b/configure
@@ -198,14 +198,6 @@ test -x / || exit 1"
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
   test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
 test \$(( 1 + 1 )) = 2 || exit 1"
   if (eval "$as_required") 2>/dev/null; then :
   as_have_required=yes
@@ -564,8 +556,6 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 # Sed expression to map a string onto a valid variable name.
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
-SHELL=${CONFIG_SHELL-/bin/sh}
-
 
 test -n "$DJDIR" || exec 7<&0 </dev/null
 exec 6>&1
@@ -658,46 +648,18 @@ MPI_CXXLDFLAGS
 MPI_CXXFLAGS
 MPICXX
 GXX_VERSION
-HAVE_CXX11
-CXXCPP
-CPP
-LT_SYS_LIBRARY_PATH
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
 ac_ct_CC
 CFLAGS
 CC
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-LIBTOOL
+HAVE_CXX11
+EGREP
+GREP
+CXXCPP
 OPENMP_CXXFLAGS
+RANLIB
 am__fastdepCXX_FALSE
 am__fastdepCXX_TRUE
 CXXDEPMODE
@@ -742,6 +704,18 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
 target_alias
 host_alias
 build_alias
@@ -787,14 +761,6 @@ enable_option_checking
 enable_silent_rules
 enable_dependency_tracking
 enable_openmp
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_aix_soname
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
 with_gmp
 with_mpfr
 enable_lapack
@@ -819,11 +785,9 @@ LDFLAGS
 LIBS
 CPPFLAGS
 CCC
+CXXCPP
 CC
-CFLAGS
-LT_SYS_LIBRARY_PATH
-CPP
-CXXCPP'
+CFLAGS'
 
 
 # Initialize some variables set by options.
@@ -1440,6 +1404,7 @@ Program names:
 System types:
   --build=BUILD     configure for building on BUILD [guessed]
   --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+  --target=TARGET   configure for building compilers for TARGET [HOST]
 _ACEOF
 fi
 
@@ -1460,11 +1425,6 @@ Optional Features:
   --disable-dependency-tracking
                           speeds up one-time build
   --disable-openmp        do not use OpenMP
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-lapack=yes|no|prefix
                           enable LAPACK
   --enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC
@@ -1487,14 +1447,6 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-aix-soname=aix|svr4|both
-                          shared library versioning (aka "SONAME") variant to
-                          provide on AIX, [default=aix].
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
-                          compiler's sysroot if not specified).
   --with-gmp=prefix       try this for a non-standard install prefix of the
                           GMP library
   --with-mpfr=prefix      try this for a non-standard install prefix of the
@@ -1510,12 +1462,9 @@ Some influential environment variables:
   LIBS        libraries to pass to the linker, e.g. -l<library>
   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
+  CXXCPP      C++ preprocessor
   CC          C compiler command
   CFLAGS      C compiler flags
-  LT_SYS_LIBRARY_PATH
-              User-defined run-time library search path.
-  CPP         C preprocessor
-  CXXCPP      C++ preprocessor
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -1681,267 +1630,6 @@ fi
 
 } # ac_fn_cxx_try_link
 
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
 # ac_fn_cxx_try_cpp LINENO
 # ------------------------
 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
@@ -2070,6 +1758,79 @@ fi
 
 } # ac_fn_cxx_check_header_mongrel
 
+# ac_fn_cxx_try_run LINENO
+# ------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_cxx_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_run
+
+# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_cxx_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_header_compile
+
 # ac_fn_cxx_check_decl LINENO SYMBOL VAR INCLUDES
 # -----------------------------------------------
 # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
@@ -2224,6 +1985,44 @@ $as_echo "$ac_res" >&6; }
 
 } # ac_fn_c_find_uintX_t
 
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
 # ac_fn_cxx_check_func LINENO FUNC VAR
 # ------------------------------------
 # Tests whether FUNC exists, setting the cache variable VAR accordingly
@@ -2642,8 +2441,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-am__api_version='1.15'
-
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
   if test -f "$ac_dir/install-sh"; then
@@ -2673,6 +2470,118 @@ ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
 ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if ${ac_cv_target+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$target_alias" = x; then
+  ac_cv_target=$ac_cv_host
+else
+  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
+case $ac_cv_target in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
+esac
+target=$ac_cv_target
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_target
+shift
+target_cpu=$1
+target_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+target_os=$*
+IFS=$ac_save_IFS
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
+
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+  test "$program_prefix$program_suffix$program_transform_name" = \
+    NONENONEs,x,x, &&
+  program_prefix=${target_alias}-
+am__api_version='1.15'
+
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
@@ -3294,6 +3203,7 @@ fi
 AM_BACKSLASH='\'
 
 
+
 ############### Checks for programs
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
@@ -4000,6 +3910,98 @@ else
 fi
 
 
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
 
 ############ openmp  ###############
 
@@ -4078,171 +4080,840 @@ AM_CXXFLAGS="$OPENMP_CXXFLAGS $AM_CXXFLAGS"
 AM_LDFLAGS="$OPENMP_CXXFLAGS $AM_LDFLAGS"
 fi
 
-############ libtool ###############
-case `pwd` in
-  *\ * | *\	*)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4.6'
-macro_revision='2.4.6'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain=$ac_aux_dir/ltmain.sh
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
+############### Checks for header files
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if ${ac_cv_prog_CXXCPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
 else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
+  ac_cv_path_GREP=$GREP
 fi
 
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
 {
-    $ECHO ""
-}
 
-case $ECHO in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in stdint.h
+do :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdint_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STDINT_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in mm_malloc.h
+do :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "mm_malloc.h" "ac_cv_header_mm_malloc_h" "$ac_includes_default"
+if test "x$ac_cv_header_mm_malloc_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MM_MALLOC_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in malloc/malloc.h
+do :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "malloc/malloc.h" "ac_cv_header_malloc_malloc_h" "$ac_includes_default"
+if test "x$ac_cv_header_malloc_malloc_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MALLOC_MALLOC_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in malloc.h
+do :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default"
+if test "x$ac_cv_header_malloc_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MALLOC_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in endian.h
+do :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default"
+if test "x$ac_cv_header_endian_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_ENDIAN_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in execinfo.h
+do :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default"
+if test "x$ac_cv_header_execinfo_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_EXECINFO_H 1
+_ACEOF
+
+fi
+
+done
+
+ac_fn_cxx_check_decl "$LINENO" "ntohll" "ac_cv_have_decl_ntohll" "#include <arpa/inet.h>
+"
+if test "x$ac_cv_have_decl_ntohll" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_NTOHLL $ac_have_decl
+_ACEOF
+
+ac_fn_cxx_check_decl "$LINENO" "be64toh" "ac_cv_have_decl_be64toh" "#include <arpa/inet.h>
+"
+if test "x$ac_cv_have_decl_be64toh" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_BE64TOH $ac_have_decl
+_ACEOF
+
+
+############### Checks for typedefs, structures, and compiler characteristics
+ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t"
+case $ac_cv_c_uint32_t in #(
+  no|yes) ;; #(
+  *)
+
+$as_echo "#define _UINT32_T 1" >>confdefs.h
+
+
+cat >>confdefs.h <<_ACEOF
+#define uint32_t $ac_cv_c_uint32_t
+_ACEOF
+;;
+  esac
+
+ac_fn_c_find_uintX_t "$LINENO" "64" "ac_cv_c_uint64_t"
+case $ac_cv_c_uint64_t in #(
+  no|yes) ;; #(
+  *)
+
+$as_echo "#define _UINT64_T 1" >>confdefs.h
+
+
+cat >>confdefs.h <<_ACEOF
+#define uint64_t $ac_cv_c_uint64_t
+_ACEOF
+;;
+  esac
+
+
+############### GMP and MPFR #################
+
+# Check whether --with-gmp was given.
+if test "${with_gmp+set}" = set; then :
+  withval=$with_gmp; AM_CXXFLAGS="-I$with_gmp/include $AM_CXXFLAGS"
+    AM_LDFLAGS="-L$with_gmp/lib" $AM_LDFLAGS
+fi
+
+
+# Check whether --with-mpfr was given.
+if test "${with_mpfr+set}" = set; then :
+  withval=$with_mpfr; AM_CXXFLAGS="-I$with_mpfr/include $AM_CXXFLAGS"
+    AM_LDFLAGS="-L$with_mpfr/lib $AM_LDFLAGS"
+fi
+
+
+################## lapack ####################
+# Check whether --enable-lapack was given.
+if test "${enable_lapack+set}" = set; then :
+  enableval=$enable_lapack; ac_LAPACK=${enable_lapack}
+else
+  ac_LAPACK=no
+fi
+
+
+case ${ac_LAPACK} in
+    no)
+        ;;
+    yes)
+
+$as_echo "#define USE_LAPACK 1" >>confdefs.h
+;;
+    *)
+        AM_CXXFLAGS="-I$ac_LAPACK/include $AM_CXXFLAGS"
+        AM_LDFLAGS="-L$ac_LAPACK/lib $AM_LDFLAGS"
+
+$as_echo "#define USE_LAPACK 1" >>confdefs.h
+
 esac
 
+################## FFTW3 ####################
+
+# Check whether --with-fftw was given.
+if test "${with_fftw+set}" = set; then :
+  withval=$with_fftw; AM_CXXFLAGS="-I$with_fftw/include $AM_CXXFLAGS"
+            AM_LDFLAGS="-L$with_fftw/lib $AM_LDFLAGS"
+fi
+
+
+################ Get compiler informations
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+    ax_cxx_compile_cxx11_required=true
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+  ac_success=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
+$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
+if ${ax_cv_cxx_compile_cxx11+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+  template <typename T>
+    struct check
+    {
+      static_assert(sizeof(int) <= sizeof(T), "not big enough");
+    };
+
+    struct Base {
+    virtual void f() {}
+    };
+    struct Child : public Base {
+    virtual void f() override {}
+    };
+
+    typedef check<check<bool>> right_angle_brackets;
+
+    int a;
+    decltype(a) b;
+
+    typedef check<int> check_type;
+    check_type c;
+    check_type&& cr = static_cast<check_type&&>(c);
+
+    auto d = a;
+    auto l = [](){};
+    // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
+    struct use_l { use_l() { l(); } };
+
+    // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+    // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
+    namespace test_template_alias_sfinae {
+        struct foo {};
+
+        template<typename T>
+        using member = typename T::member_type;
+
+        template<typename T>
+        void func(...) {}
+
+        template<typename T>
+        void func(member<T>*) {}
+
+        void test();
+
+        void test() {
+            func<foo>(0);
+        }
+    }
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ax_cv_cxx_compile_cxx11=yes
+else
+  ax_cv_cxx_compile_cxx11=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
+$as_echo "$ax_cv_cxx_compile_cxx11" >&6; }
+  if test x$ax_cv_cxx_compile_cxx11 = xyes; then
+    ac_success=yes
+  fi
 
 
 
+    if test x$ac_success = xno; then
+            for switch in -std=c++11 -std=c++0x +std=c++11; do
+      cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
+$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
+if eval \${$cachevar+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_CXXFLAGS="$CXXFLAGS"
+         CXXFLAGS="$CXXFLAGS $switch"
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+  template <typename T>
+    struct check
+    {
+      static_assert(sizeof(int) <= sizeof(T), "not big enough");
+    };
+
+    struct Base {
+    virtual void f() {}
+    };
+    struct Child : public Base {
+    virtual void f() override {}
+    };
+
+    typedef check<check<bool>> right_angle_brackets;
+
+    int a;
+    decltype(a) b;
+
+    typedef check<int> check_type;
+    check_type c;
+    check_type&& cr = static_cast<check_type&&>(c);
+
+    auto d = a;
+    auto l = [](){};
+    // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
+    struct use_l { use_l() { l(); } };
+
+    // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+    // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
+    namespace test_template_alias_sfinae {
+        struct foo {};
+
+        template<typename T>
+        using member = typename T::member_type;
+
+        template<typename T>
+        void func(...) {}
+
+        template<typename T>
+        void func(member<T>*) {}
+
+        void test();
+
+        void test() {
+            func<foo>(0);
+        }
+    }
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval $cachevar=yes
+else
+  eval $cachevar=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+         CXXFLAGS="$ac_save_CXXFLAGS"
+fi
+eval ac_res=\$$cachevar
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+      if eval test x\$$cachevar = xyes; then
+        CXXFLAGS="$CXXFLAGS $switch"
+        ac_success=yes
+        break
+      fi
+    done
+  fi
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  if test x$ax_cxx_compile_cxx11_required = xtrue; then
+    if test x$ac_success = xno; then
+      as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
+    fi
+  else
+    if test x$ac_success = xno; then
+      HAVE_CXX11=0
+      { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
+$as_echo "$as_me: No compiler with C++11 support was found" >&6;}
+    else
+      HAVE_CXX11=1
+
+$as_echo "#define HAVE_CXX11 1" >>confdefs.h
+
+    fi
 
 
+  fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler vendor" >&5
+$as_echo_n "checking for C++ compiler vendor... " >&6; }
+if ${ax_cv_cxx_compiler_vendor+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+    # note: don't check for gcc first since some other compilers define __GNUC__
+  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
+           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
+           pathscale: __PATHCC__,__PATHSCALE__
+           clang:     __clang__
+           cray:      _CRAYC
+           fujitsu:   __FUJITSU
+           gnu:       __GNUC__
+           sun:       __SUNPRO_C,__SUNPRO_CC
+           hp:        __HP_cc,__HP_aCC
+           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
+           borland:   __BORLANDC__,__CODEGEARC__,__TURBOC__
+           comeau:    __COMO__
+           kai:       __KCC
+           lcc:       __LCC__
+           sgi:       __sgi,sgi
+           microsoft: _MSC_VER
+           metrowerks: __MWERKS__
+           watcom:    __WATCOMC__
+           portland:  __PGI
+	   tcc:       __TINYC__
+           unknown:   UNKNOWN"
+  for ventest in $vendors; do
+    case $ventest in
+      *:) vendor=$ventest; continue ;;
+      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
+    esac
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+      #if !($vencpp)
+        thisisanerror;
+      #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+  ax_cv_cxx_compiler_vendor=`echo $vendor | cut -d: -f1`
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compiler_vendor" >&5
+$as_echo "$ax_cv_cxx_compiler_vendor" >&6; }
 
 
-
-
-
-
-
+cat >>confdefs.h <<_ACEOF
+#define CXX_COMP_VENDOR "$ax_cv_cxx_compiler_vendor"
+_ACEOF
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -4970,11757 +5641,6 @@ else
 fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test yes = "$GCC"; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return, which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD=$ac_prog
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test yes = "$with_gnu_ld"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD=$ac_dir/$ac_prog
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test no != "$with_gnu_ld" && break
-	;;
-      *)
-	test yes != "$with_gnu_ld" && break
-	;;
-      esac
-    fi
-  done
-  IFS=$lt_save_ifs
-else
-  lt_cv_path_LD=$LD # Let the user override the test with a path.
-fi
-fi
-
-LD=$lt_cv_path_LD
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM=$NM
-else
-  lt_nm_to_check=${ac_tool_prefix}nm
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS=$lt_save_ifs
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm=$ac_dir/$lt_tmp_nm
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
-	case $build_os in
-	mingw*) lt_bad_file=conftest.nm/nofile ;;
-	*) lt_bad_file=/dev/null ;;
-	esac
-	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
-	*$lt_bad_file* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break 2
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break 2
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS=$lt_save_ifs
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test no != "$lt_cv_path_NM"; then
-  NM=$lt_cv_path_NM
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols -headers"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test : != "$DUMPBIN"; then
-    NM=$DUMPBIN
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring=ABCD
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len" && \
-       test undefined != "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
-	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-	      test 17 != "$i" # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n "$lt_cv_sys_max_cmd_len"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test yes != "$GCC"; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test yes = "$GCC"; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# 'unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# that responds to the $file_magic_cmd with a given extended regex.
-# If you have 'file' or equivalent on your system and you're not sure
-# whether 'pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd* | netbsdelf*-gnu)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd* | bitrig*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-os2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh;
-  # decide which one to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd=$ECHO
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test 0 -eq "$ac_status"; then
-	# Ensure the archiver fails upon bogus file names.
-	rm -f conftest.$ac_objext libconftest.a
-	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-	if test 0 -ne "$ac_status"; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test no = "$lt_cv_ar_at_file"; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  bitrig* | openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test ia64 = "$host_cpu"; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  # Gets list of data symbols to import.
-  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
-  # Adjust the below global symbol transforms to fixup imported variables.
-  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
-  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
-  lt_c_name_lib_hook="\
-  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
-  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
-else
-  # Disable hooks by default.
-  lt_cv_sys_global_symbol_to_import=
-  lt_cdecl_hook=
-  lt_c_name_hook=
-  lt_c_name_lib_hook=
-fi
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n"\
-$lt_cdecl_hook\
-" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
-$lt_c_name_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
-
-# Transform an extracted symbol line into symbol name with lib prefix and
-# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
-$lt_c_name_lib_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function,
-    # D for any global variable and I for any imported variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
-"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
-"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
-"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
-"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-	  cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-	  cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_globsym_save_LIBS=$LIBS
-	  lt_globsym_save_CFLAGS=$CFLAGS
-	  LIBS=conftstm.$ac_objext
-	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-	    pipe_works=yes
-	  fi
-	  LIBS=$lt_globsym_save_LIBS
-	  CFLAGS=$lt_globsym_save_CFLAGS
-	else
-	  echo "cannot find nm_test_func in $nlist" >&5
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test yes = "$pipe_works"; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case $with_sysroot in #(
- yes)
-   if test yes = "$GCC"; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
-$as_echo "$with_sysroot" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
-$as_echo_n "checking for a working dd... " >&6; }
-if ${ac_cv_path_lt_DD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-: ${lt_DD:=$DD}
-if test -z "$lt_DD"; then
-  ac_path_lt_DD_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in dd; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_lt_DD" || continue
-if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
-fi
-      $ac_path_lt_DD_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_lt_DD"; then
-    :
-  fi
-else
-  ac_cv_path_lt_DD=$lt_DD
-fi
-
-rm -f conftest.i conftest2.i conftest.out
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
-$as_echo "$ac_cv_path_lt_DD" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
-$as_echo_n "checking how to truncate binary pipes... " >&6; }
-if ${lt_cv_truncate_bin+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-lt_cv_truncate_bin=
-if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
-fi
-rm -f conftest.i conftest2.i conftest.out
-test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
-$as_echo "$lt_cv_truncate_bin" >&6; }
-
-
-
-
-
-
-
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
-    for cc_temp in $*""; do
-      case $cc_temp in
-        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-        \-*) ;;
-        *) break;;
-      esac
-    done
-    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test no = "$enable_libtool_lock" || enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out what ABI is being produced by ac_compile, and set mode
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-	HPUX_IA64_MODE=32
-	;;
-      *ELF-64*)
-	HPUX_IA64_MODE=64
-	;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test yes = "$lt_cv_prog_gnu_ld"; then
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -melf32bsmip"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -melf32bmipn32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -melf64bmip"
-	;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -32"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -n32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -64"
-	  ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-mips64*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    emul=elf
-    case `/usr/bin/file conftest.$ac_objext` in
-      *32-bit*)
-	emul="${emul}32"
-	;;
-      *64-bit*)
-	emul="${emul}64"
-	;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *MSB*)
-	emul="${emul}btsmip"
-	;;
-      *LSB*)
-	emul="${emul}ltsmip"
-	;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *N32*)
-	emul="${emul}n32"
-	;;
-    esac
-    LD="${LD-ld} -m $emul"
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.  Note that the listed cases only cover the
-  # situations where additional linker options are needed (such as when
-  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
-  # vice versa); the common cases where no linker options are needed do
-  # not appear in the list.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_i386_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    case `/usr/bin/file conftest.o` in
-	      *x86-64*)
-		LD="${LD-ld} -m elf32_x86_64"
-		;;
-	      *)
-		LD="${LD-ld} -m elf_i386"
-		;;
-	    esac
-	    ;;
-	  powerpc64le-*linux*)
-	    LD="${LD-ld} -m elf32lppclinux"
-	    ;;
-	  powerpc64-*linux*)
-	    LD="${LD-ld} -m elf32ppclinux"
-	    ;;
-	  s390x-*linux*)
-	    LD="${LD-ld} -m elf_s390"
-	    ;;
-	  sparc64-*linux*)
-	    LD="${LD-ld} -m elf32_sparc"
-	    ;;
-	esac
-	;;
-      *64-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_x86_64_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_x86_64"
-	    ;;
-	  powerpcle-*linux*)
-	    LD="${LD-ld} -m elf64lppc"
-	    ;;
-	  powerpc-*linux*)
-	    LD="${LD-ld} -m elf64ppc"
-	    ;;
-	  s390*-*linux*|s390*-*tpf*)
-	    LD="${LD-ld} -m elf64_s390"
-	    ;;
-	  sparc*-*linux*)
-	    LD="${LD-ld} -m elf64_sparc"
-	    ;;
-	esac
-	;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS=$CFLAGS
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test yes != "$lt_cv_cc_needs_belf"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS=$SAVE_CFLAGS
-  fi
-  ;;
-*-*solaris*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*|x86_64-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD=${LD-ld}_sol2
-        fi
-        ;;
-      *)
-	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks=$enable_libtool_lock
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test yes != "$lt_cv_path_mainfest_tool"; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "$LT_MULTI_MODULE"; then
-	# By default we will add the -single_module flag. You can override
-	# by either setting the environment variable LT_MULTI_MODULE
-	# non-empty at configure time, or by adding -multi_module to the
-	# link flags.
-	rm -rf libconftest.dylib*
-	echo "int foo(void){return 1;}" > conftest.c
-	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-	# If there is a non-empty error log, and "single_module"
-	# appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-	  cat conftest.err >&5
-	# Otherwise, if the output was created with a 0 exit code from
-	# the compiler, it worked.
-	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
-	  lt_cv_apple_cc_single_mod=yes
-	else
-	  cat conftest.err >&5
-	fi
-	rm -rf libconftest.dylib*
-	rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-	LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-	cat conftest.err >&5
-      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
-	lt_cv_ld_force_load=yes
-      else
-	cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
-	10.[012][,.]*)
-	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
-	10.*)
-	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test yes = "$lt_cv_apple_cc_single_mod"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test yes = "$lt_cv_ld_exported_symbols_list"; then
-      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
-    fi
-    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-#       string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-#       string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-#       "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-#       VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
-    case x$2 in
-    x)
-        ;;
-    *:)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
-        ;;
-    x:*)
-        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    *::*)
-        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
-        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
-        ;;
-    *)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    esac
-}
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-func_stripname_cnf ()
-{
-  case $2 in
-  .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
-  *)  func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
-  esac
-} # func_stripname_cnf
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for pkg in $enableval; do
-	IFS=$lt_save_ifs
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for pkg in $enableval; do
-	IFS=$lt_save_ifs
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for lt_pkg in $withval; do
-	IFS=$lt_save_ifs
-	if test "X$lt_pkg" = "X$lt_p"; then
-	  pic_mode=yes
-	fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac
-else
-  pic_mode=default
-fi
-
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for pkg in $enableval; do
-	IFS=$lt_save_ifs
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-  shared_archive_member_spec=
-case $host,$enable_shared in
-power*-*-aix[5-9]*,yes)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
-$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
-
-# Check whether --with-aix-soname was given.
-if test "${with_aix_soname+set}" = set; then :
-  withval=$with_aix_soname; case $withval in
-    aix|svr4|both)
-      ;;
-    *)
-      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
-      ;;
-    esac
-    lt_cv_with_aix_soname=$with_aix_soname
-else
-  if ${lt_cv_with_aix_soname+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_with_aix_soname=aix
-fi
-
-    with_aix_soname=$lt_cv_with_aix_soname
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
-$as_echo "$with_aix_soname" >&6; }
-  if test aix != "$with_aix_soname"; then
-    # For the AIX way of multilib, we name the shared archive member
-    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
-    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
-    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
-    # the AIX toolchain works better with OBJECT_MODE set (default 32).
-    if test 64 = "${OBJECT_MODE-32}"; then
-      shared_archive_member_spec=shr_64
-    else
-      shared_archive_member_spec=shr
-    fi
-  fi
-  ;;
-*)
-  with_aix_soname=aix
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS=$ltmain
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}"; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test set != "${COLLECT_NAMES+set}"; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-old_CC=$CC
-old_CFLAGS=$CFLAGS
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-func_cc_basename $compiler
-cc_basename=$func_cc_basename_result
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD=$MAGIC_CMD
-  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/${ac_tool_prefix}file"; then
-      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS=$lt_save_ifs
-  MAGIC_CMD=$lt_save_MAGIC_CMD
-  ;;
-esac
-fi
-
-MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD=$MAGIC_CMD
-  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/file"; then
-      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS=$lt_save_ifs
-  MAGIC_CMD=$lt_save_MAGIC_CMD
-  ;;
-esac
-fi
-
-MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC=$CC
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test yes = "$GCC"; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test yes = "$GCC"; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test ia64 = "$host_cpu"; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      fi
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the '-m68020' flag to GCC prevents building anything better,
-            # like '-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      case $host_os in
-      os2*)
-	lt_prog_compiler_static='$wl-static'
-	;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic='-fPIC'
-	;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test ia64 = "$host_cpu"; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      else
-	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      case $cc_basename in
-      nagfor*)
-        # NAG Fortran compiler
-        lt_prog_compiler_wl='-Wl,-Wl,,'
-        lt_prog_compiler_pic='-PIC'
-        lt_prog_compiler_static='-Bstatic'
-        ;;
-      esac
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      case $host_os in
-      os2*)
-	lt_prog_compiler_static='$wl-static'
-	;;
-      esac
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='$wl-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-      case $cc_basename in
-      # old Intel for x86_64, which still supported -KPIC.
-      ecc*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-KPIC'
-	lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fPIC'
-	lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='--shared'
-	lt_prog_compiler_static='--static'
-	;;
-      nagfor*)
-	# NAG Fortran compiler
-	lt_prog_compiler_wl='-Wl,-Wl,,'
-	lt_prog_compiler_pic='-PIC'
-	lt_prog_compiler_static='-Bstatic'
-	;;
-      tcc*)
-	# Fabrice Bellard et al's Tiny C Compiler
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fPIC'
-	lt_prog_compiler_static='-static'
-	;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fpic'
-	lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-qpic'
-	lt_prog_compiler_static='-qstaticlink'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  lt_prog_compiler_pic='-KPIC'
-	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl=''
-	  ;;
-	*Sun\ F* | *Sun*Fortran*)
-	  lt_prog_compiler_pic='-KPIC'
-	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl='-Qoption ld '
-	  ;;
-	*Sun\ C*)
-	  # Sun C 5.9
-	  lt_prog_compiler_pic='-KPIC'
-	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl='-Wl,'
-	  ;;
-        *Intel*\ [CF]*Compiler*)
-	  lt_prog_compiler_wl='-Wl,'
-	  lt_prog_compiler_pic='-fPIC'
-	  lt_prog_compiler_static='-static'
-	  ;;
-	*Portland\ Group*)
-	  lt_prog_compiler_wl='-Wl,'
-	  lt_prog_compiler_pic='-fpic'
-	  lt_prog_compiler_static='-Bstatic'
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-	lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-	lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic='-Kconform_pic'
-	lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms that do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_pic_works"; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS=$LDFLAGS
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_static_works"; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links=nottested
-if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test no = "$hard_links"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ' (' and ')$', so one must not match beginning or
-  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
-  # as well as any symbol that contains 'd'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test yes != "$GCC"; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd* | bitrig*)
-    with_gnu_ld=no
-    ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test yes = "$with_gnu_ld"; then
-    case $host_os in
-      aix*)
-	# The AIX port of GNU ld has always aspired to compatibility
-	# with the native linker.  However, as the warning in the GNU ld
-	# block says, versions before 2.19.5* couldn't really create working
-	# shared libraries, regardless of the interface used.
-	case `$LD -v 2>&1` in
-	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-	  *)
-	    lt_use_gnu_ld_interface=yes
-	    ;;
-	esac
-	;;
-      *)
-	lt_use_gnu_ld_interface=yes
-	;;
-    esac
-  fi
-
-  if test yes = "$lt_use_gnu_ld_interface"; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='$wl'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-    export_dynamic_flag_spec='$wl--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test ia64 != "$host_cpu"; then
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	allow_undefined_flag=unsupported
-	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='$wl--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file, use it as
-	# is; otherwise, prepend EXPORTS...
-	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
-          cp $export_symbols $output_objdir/$soname.def;
-        else
-          echo EXPORTS > $output_objdir/$soname.def;
-          cat $export_symbols >> $output_objdir/$soname.def;
-        fi~
-        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      shrext_cmds=.dll
-      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	prefix_cmds="$SED"~
-	if test EXPORTS = "`$SED 1q $export_symbols`"; then
-	  prefix_cmds="$prefix_cmds -e 1d";
-	fi~
-	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
-      export_dynamic_flag_spec='$wl-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test linux-dietlibc = "$host_os"; then
-	case $cc_basename in
-	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
-	esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-	 && test no = "$tmp_diet"
-      then
-	tmp_addflag=' $pic_flag'
-	tmp_sharedflag='-shared'
-	case $cc_basename,$host_cpu in
-        pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95* | pgfortran*)
-					# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	lf95*)				# Lahey Fortran 8.1
-	  whole_archive_flag_spec=
-	  tmp_sharedflag='--shared' ;;
-        nagfor*)                        # NAGFOR 5.3
-          tmp_sharedflag='-Wl,-shared' ;;
-	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-	  tmp_sharedflag='-qmkshrobj'
-	  tmp_addflag= ;;
-	nvcc*)	# Cuda Compiler Driver 2.2
-	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	  compiler_needs_object=yes
-	  ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	  compiler_needs_object=yes
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	esac
-	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-
-        if test yes = "$supports_anon_versioning"; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-            echo "local: *; };" >> $output_objdir/$libname.ver~
-            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
-        fi
-
-	case $cc_basename in
-	tcc*)
-	  export_dynamic_flag_spec='-rdynamic'
-	  ;;
-	xlf* | bgf* | bgxlf* | mpixlf*)
-	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-	  hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-	  if test yes = "$supports_anon_versioning"; then
-	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-              echo "local: *; };" >> $output_objdir/$libname.ver~
-              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-	  fi
-	  ;;
-	esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-	;;
-	*)
-	  # For security reasons, it is highly recommended that you always
-	  # use absolute paths for naming shared libraries, and exclude the
-	  # DT_RUNPATH tag from executables and libraries.  But doing so
-	  # requires that you compile everything twice, which is a pain.
-	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-	  else
-	    ld_shlibs=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test no = "$ld_shlibs"; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test ia64 = "$host_cpu"; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
-	# Without the "-l" option, or with the "-B" option, AIX nm treats
-	# weak defined symbols like other global defined symbols, whereas
-	# GNU nm marks them as "W".
-	# While the 'weak' keyword is ignored in the Export File, we need
-	# it in the Import File for the 'aix-soname' feature, so we have
-	# to replace the "-B" option with "-P" for AIX nm.
-	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
-	else
-	  export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
-
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# have runtime linking enabled, and use it for executables.
-	# For shared libraries, we enable/disable runtime linking
-	# depending on the kind of the shared library created -
-	# when "with_aix_soname,aix_use_runtimelinking" is:
-	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
-	# "aix,yes"  lib.so          shared, rtl:yes, for executables
-	#            lib.a           static archive
-	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
-	#            lib.a(lib.so.V) shared, rtl:no,  for executables
-	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
-	#            lib.a(lib.so.V) shared, rtl:no
-	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
-	#            lib.a           static archive
-	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	  for ld_flag in $LDFLAGS; do
-	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
-	    aix_use_runtimelinking=yes
-	    break
-	  fi
-	  done
-	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
-	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
-	    # so we don't have lib.a shared libs to link our executables.
-	    # We have to force runtime linking in this case.
-	    aix_use_runtimelinking=yes
-	    LDFLAGS="$LDFLAGS -Wl,-brtl"
-	  fi
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='$wl-f,'
-      case $with_aix_soname,$aix_use_runtimelinking in
-      aix,*) ;; # traditional, no import file
-      svr4,* | *,yes) # use import file
-	# The Import File defines what to hardcode.
-	hardcode_direct=no
-	hardcode_direct_absolute=no
-	;;
-      esac
-
-      if test yes = "$GCC"; then
-	case $host_os in aix4.[012]|aix4.[012].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`$CC -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	  # We have reworked collect2
-	  :
-	  else
-	  # We have old collect2
-	  hardcode_direct=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  hardcode_minus_L=yes
-	  hardcode_libdir_flag_spec='-L$libdir'
-	  hardcode_libdir_separator=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test yes = "$aix_use_runtimelinking"; then
-	  shared_flag="$shared_flag "'$wl-G'
-	fi
-	# Need to ensure runtime linking is disabled for the traditional
-	# shared library, or the linker may eventually find shared libraries
-	# /with/ Import File - we do not want to mix them.
-	shared_flag_aix='-shared'
-	shared_flag_svr4='-shared $wl-G'
-      else
-	# not using gcc
-	if test ia64 = "$host_cpu"; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test yes = "$aix_use_runtimelinking"; then
-	    shared_flag='$wl-G'
-	  else
-	    shared_flag='$wl-bM:SRE'
-	  fi
-	  shared_flag_aix='$wl-bM:SRE'
-	  shared_flag_svr4='$wl-G'
-	fi
-      fi
-
-      export_dynamic_flag_spec='$wl-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
-      else
-	if test ia64 = "$host_cpu"; then
-	  hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
-	  allow_undefined_flag="-z nodefs"
-	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an
-	 # empty executable.
-	 if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-	 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  no_undefined_flag=' $wl-bernotok'
-	  allow_undefined_flag=' $wl-berok'
-	  if test yes = "$with_gnu_ld"; then
-	    # We only use this code for GNU lds that support --whole-archive.
-	    whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
-	  else
-	    # Exported symbols can be pulled into shared objects from archives
-	    whole_archive_flag_spec='$convenience'
-	  fi
-	  archive_cmds_need_lc=yes
-	  archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
-	  # -brtl affects multiple linker settings, -berok does not and is overridden later
-	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
-	  if test svr4 != "$with_aix_soname"; then
-	    # This is similar to how AIX traditionally builds its shared libraries.
-	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
-	  fi
-	  if test aix != "$with_aix_soname"; then
-	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
-	  else
-	    # used by -dlpreopen to get the symbols
-	    archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
-	  fi
-	  archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-	# Native MSVC
-	hardcode_libdir_flag_spec=' '
-	allow_undefined_flag=unsupported
-	always_export_symbols=yes
-	file_list_spec='@'
-	# Tell ltmain to make .lib files, not .a files.
-	libext=lib
-	# Tell ltmain to make .dll files, not .so files.
-	shrext_cmds=.dll
-	# FIXME: Setting linknames here is a bad hack.
-	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
-	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
-            cp "$export_symbols" "$output_objdir/$soname.def";
-            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
-          else
-            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
-          fi~
-          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-          linknames='
-	# The linker will not automatically build a static lib if we build a DLL.
-	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-	enable_shared_with_static_runtimes=yes
-	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-	# Don't use ranlib
-	old_postinstall_cmds='chmod 644 $oldlib'
-	postlink_cmds='lt_outputfile="@OUTPUT@"~
-          lt_tool_outputfile="@TOOL_OUTPUT@"~
-          case $lt_outputfile in
-            *.exe|*.EXE) ;;
-            *)
-              lt_outputfile=$lt_outputfile.exe
-              lt_tool_outputfile=$lt_tool_outputfile.exe
-              ;;
-          esac~
-          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
-            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-            $RM "$lt_outputfile.manifest";
-          fi'
-	;;
-      *)
-	# Assume MSVC wrapper
-	hardcode_libdir_flag_spec=' '
-	allow_undefined_flag=unsupported
-	# Tell ltmain to make .lib files, not .a files.
-	libext=lib
-	# Tell ltmain to make .dll files, not .so files.
-	shrext_cmds=.dll
-	# FIXME: Setting linknames here is a bad hack.
-	archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-	# The linker will automatically build a .lib file if we build a DLL.
-	old_archive_from_new_cmds='true'
-	# FIXME: Should let the user specify the lib program.
-	old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-	enable_shared_with_static_runtimes=yes
-	;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test yes = "$lt_cv_ld_force_load"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag=$_lt_dar_allow_undefined
-  case $cc_basename in
-     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test yes = "$_lt_dar_can_shared"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
-    archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
-    module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test yes = "$GCC"; then
-	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-      else
-	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='$wl-E'
-      ;;
-
-    hpux10*)
-      if test yes,no = "$GCC,$with_gnu_ld"; then
-	archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test no = "$with_gnu_ld"; then
-	hardcode_libdir_flag_spec='$wl+b $wl$libdir'
-	hardcode_libdir_separator=:
-	hardcode_direct=yes
-	hardcode_direct_absolute=yes
-	export_dynamic_flag_spec='$wl-E'
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test yes,no = "$GCC,$with_gnu_ld"; then
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-
-	  # Older versions of the 11.00 compiler do not understand -b yet
-	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS=$LDFLAGS
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test yes = "$lt_cv_prog_compiler__b"; then
-    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-	  ;;
-	esac
-      fi
-      if test no = "$with_gnu_ld"; then
-	hardcode_libdir_flag_spec='$wl+b $wl$libdir'
-	hardcode_libdir_separator=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  hardcode_direct=no
-	  hardcode_shlibpath_var=no
-	  ;;
-	*)
-	  hardcode_direct=yes
-	  hardcode_direct_absolute=yes
-	  export_dynamic_flag_spec='$wl-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  hardcode_minus_L=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test yes = "$GCC"; then
-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-	# Try to use the -exported_symbol ld option, if it does not
-	# work, assume that -exports_file does not work either and
-	# implicitly export all symbols.
-	# This should be the same for all languages, so no per-tag cache variable.
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS=$LDFLAGS
-	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
-	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS=$save_LDFLAGS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-	if test yes = "$lt_cv_irix_exported_symbol"; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
-	fi
-	link_all_deplibs=no
-      else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    linux*)
-      case $cc_basename in
-      tcc*)
-	# Fabrice Bellard et al's Tiny C Compiler
-	ld_shlibs=yes
-	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      esac
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd* | bitrig*)
-      if test -f /usr/libexec/ld.so; then
-	hardcode_direct=yes
-	hardcode_shlibpath_var=no
-	hardcode_direct_absolute=yes
-	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
-	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
-	  export_dynamic_flag_spec='$wl-E'
-	else
-	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
-	fi
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      shrext_cmds=.dll
-      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	prefix_cmds="$SED"~
-	if test EXPORTS = "`$SED 1q $export_symbols`"; then
-	  prefix_cmds="$prefix_cmds -e 1d";
-	fi~
-	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    osf3*)
-      if test yes = "$GCC"; then
-	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
-	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-      else
-	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test yes = "$GCC"; then
-	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
-	archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-	hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-      else
-	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
-
-	# Both c and cxx compiler support -rpath directly
-	hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test yes = "$GCC"; then
-	wlarc='$wl'
-	archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-	case `$CC -V 2>&1` in
-	*"Compilers 5.0"*)
-	  wlarc=''
-	  archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-	  ;;
-	*)
-	  wlarc='$wl'
-	  archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-	  ;;
-	esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands '-z linker_flag'.  GCC discards it without '$wl',
-	# but is careful enough not to reorder.
-	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test yes = "$GCC"; then
-	  whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
-	else
-	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test sequent = "$host_vendor"; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  reload_cmds='$CC -r -o $output$reload_objs'
-	  hardcode_direct=no
-        ;;
-	motorola)
-	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	hardcode_shlibpath_var=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='$wl-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test yes = "$GCC"; then
-	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We CANNOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='$wl-z,text'
-      allow_undefined_flag='$wl-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='$wl-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='$wl-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test yes = "$GCC"; then
-	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test sni = "$host_vendor"; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-	export_dynamic_flag_spec='$wl-Blargedynsym'
-	;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test no = "$ld_shlibs" && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test yes,yes = "$GCC,$enable_shared"; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-	  soname=conftest
-	  lib=conftest
-	  libobjs=conftest.$ac_objext
-	  deplibs=
-	  wl=$lt_prog_compiler_wl
-	  pic_flag=$lt_prog_compiler_pic
-	  compiler_flags=-v
-	  linker_flags=-v
-	  verstring=
-	  output_objdir=.
-	  libname=conftest
-	  lt_save_allow_undefined_flag=$allow_undefined_flag
-	  allow_undefined_flag=
-	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-	  then
-	    lt_cv_archive_cmds_need_lc=no
-	  else
-	    lt_cv_archive_cmds_need_lc=yes
-	  fi
-	  allow_undefined_flag=$lt_save_allow_undefined_flag
-	else
-	  cat conftest.err 1>&5
-	fi
-	$RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test yes = "$GCC"; then
-  case $host_os in
-    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
-    *) lt_awk_arg='/^libraries:/' ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
-    *) lt_sed_strip_eq='s|=/|/|g' ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary...
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  # ...but if some path component already ends with the multilib dir we assume
-  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
-  case "$lt_multi_os_dir; $lt_search_path_spec " in
-  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
-    lt_multi_os_dir=
-    ;;
-  esac
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
-    elif test -n "$lt_multi_os_dir"; then
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS = " "; FS = "/|\n";} {
-  lt_foo = "";
-  lt_count = 0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo = "/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=.so
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-
-
-case $host_os in
-aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='$libname$release$shared_ext$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test ia64 = "$host_cpu"; then
-    # AIX 5 supports IA64
-    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line '#! .'.  This would cause the generated library to
-    # depend on '.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # Using Import Files as archive members, it is possible to support
-    # filename-based versioning of shared library archives on AIX. While
-    # this would work for both with and without runtime linking, it will
-    # prevent static linking of such archives. So we do filename-based
-    # shared library versioning with .so extension only, which is used
-    # when both runtime linking and shared linking is enabled.
-    # Unfortunately, runtime linking may impact performance, so we do
-    # not want this to be the default eventually. Also, we use the
-    # versioned .so libs for executables only if there is the -brtl
-    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
-    # To allow for filename-based versioning support, we need to create
-    # libNAME.so.V as an archive file, containing:
-    # *) an Import File, referring to the versioned filename of the
-    #    archive as well as the shared archive member, telling the
-    #    bitwidth (32 or 64) of that shared object, and providing the
-    #    list of exported symbols of that shared object, eventually
-    #    decorated with the 'weak' keyword
-    # *) the shared object with the F_LOADONLY flag set, to really avoid
-    #    it being seen by the linker.
-    # At run time we better use the real file rather than another symlink,
-    # but for link time we create the symlink libNAME.so -> libNAME.so.V
-
-    case $with_aix_soname,$aix_use_runtimelinking in
-    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    aix,yes) # traditional libtool
-      dynamic_linker='AIX unversionable lib.so'
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-      ;;
-    aix,no) # traditional AIX only
-      dynamic_linker='AIX lib.a(lib.so.V)'
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      ;;
-    svr4,*) # full svr4 only
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,yes) # both, prefer svr4
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # unpreferred sharedlib libNAME.a needs extra handling
-      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
-      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,no) # both, prefer aix
-      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
-      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
-      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
-      ;;
-    esac
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='$libname$shared_ext'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \$file`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-    library_names_spec='$libname.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec=$LIB
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \$file`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
-  soname_spec='$libname$release$major$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[23].*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-      soname_spec='$libname$release$shared_ext$major'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2.*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    if test 32 = "$HPUX_IA64_MODE"; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
-    fi
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test yes = "$lt_cv_prog_gnu_ld"; then
-		version_type=linux # correct to gnu/linux during the next big refactor
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='$libname$release$shared_ext$major'
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
-  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-linux*android*)
-  version_type=none # Android doesn't support versioned libraries.
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext'
-  soname_spec='$libname$release$shared_ext'
-  finish_cmds=
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  dynamic_linker='Android linker'
-  # Don't embed -rpath directories since the linker doesn't support them.
-  hardcode_libdir_flag_spec='-L$libdir'
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Ideally, we could use ldconfig to report *all* directores which are
-  # searched for libraries, however this is still not possible.  Aside from not
-  # being certain /sbin/ldconfig is available, command
-  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
-  # even though it is searched at run-time.  Try to do the best guess by
-  # appending ld.so.conf contents (and includes) to the search path.
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd* | bitrig*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec=/usr/lib
-  need_lib_prefix=no
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    need_version=no
-  else
-    need_version=yes
-  fi
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-os2*)
-  libname_spec='$name'
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-  # OS/2 can only load a DLL with a base name of 8 characters or less.
-  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
-    v=$($ECHO $release$versuffix | tr -d .-);
-    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
-    $ECHO $n$v`$shared_ext'
-  library_names_spec='${libname}_dll.$libext'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=BEGINLIBPATH
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  postinstall_cmds='base_file=`basename \$file`~
-    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
-    dldir=$destdir/`dirname \$dlpath`~
-    test -d \$dldir || mkdir -p \$dldir~
-    $install_prog $dir/$dlname \$dldir/$dlname~
-    chmod a+x \$dldir/$dlname~
-    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-    fi'
-  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
-    dlpath=$dir/\$dldll~
-    $RM \$dlpath'
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='$libname$release$shared_ext$major'
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test yes = "$with_gnu_ld"; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec; then
-    version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
-    soname_spec='$libname$shared_ext.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=sco
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test yes = "$with_gnu_ld"; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test no = "$dynamic_linker" && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test yes = "$GCC"; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
-  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
-fi
-
-if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
-  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
-fi
-
-# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
-configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
-
-# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
-func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
-
-# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
-configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test yes = "$hardcode_automatic"; then
-
-  # We can hardcode non-existent directories.
-  if test no != "$hardcode_direct" &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
-     test no != "$hardcode_minus_L"; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test relink = "$hardcode_action" ||
-   test yes = "$inherit_rpath"; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test yes = "$shlibpath_overrides_runpath" ||
-     test no = "$enable_shared"; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test yes != "$enable_dlopen"; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen=load_add_on
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen=LoadLibrary
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen=dlopen
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-    # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else
-
-    lt_cv_dlopen=dyld
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  tpf*)
-    # Don't try to run any link tests for TPF.  We know it's impossible
-    # because TPF is a cross-compiler, and we know how we open DSOs.
-    lt_cv_dlopen=dlopen
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=no
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen=shl_load
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test no = "$lt_cv_dlopen"; then
-    enable_dlopen=no
-  else
-    enable_dlopen=yes
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS=$CPPFLAGS
-    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS=$LDFLAGS
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS=$LIBS
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  	  if test yes = "$cross_compiling"; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisibility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-	}
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test yes = "$lt_cv_dlopen_self"; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  	  if test yes = "$cross_compiling"; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisibility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-	}
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS=$save_CPPFLAGS
-    LDFLAGS=$save_LDFLAGS
-    LIBS=$save_LIBS
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP"; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report what library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test no = "$can_build_shared" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test yes = "$enable_shared" && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test ia64 != "$host_cpu"; then
-      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
-      yes,aix,yes) ;;			# shared object as lib.so file only
-      yes,svr4,*) ;;			# shared object as lib.so archive member only
-      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
-      esac
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test yes = "$enable_shared" || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CC=$lt_save_CC
-
-      if test -n "$CXX" && ( test no != "$CXX" &&
-    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
-    (test g++ != "$CXX"))); then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if ${ac_cv_prog_CXXCPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-else
-  _lt_caught_CXX_error=yes
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-compiler_needs_object_CXX=no
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_direct_absolute_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-inherit_rpath_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-reload_flag_CXX=$reload_flag
-reload_cmds_CXX=$reload_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_caught_CXX_error"; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="int some_variable = 0;"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-  # save warnings/boilerplate of simple test code
-  ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-  ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_CFLAGS=$CFLAGS
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  CFLAGS=$CXXFLAGS
-  compiler=$CC
-  compiler_CXX=$CC
-  func_cc_basename $compiler
-cc_basename=$func_cc_basename_result
-
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test yes = "$GXX"; then
-      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-    else
-      lt_prog_compiler_no_builtin_flag_CXX=
-    fi
-
-    if test yes = "$GXX"; then
-      # Set up default GNU C++ configuration
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test yes = "$GCC"; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return, which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD=$ac_prog
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test yes = "$with_gnu_ld"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD=$ac_dir/$ac_prog
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test no != "$with_gnu_ld" && break
-	;;
-      *)
-	test yes != "$with_gnu_ld" && break
-	;;
-      esac
-    fi
-  done
-  IFS=$lt_save_ifs
-else
-  lt_cv_path_LD=$LD # Let the user override the test with a path.
-fi
-fi
-
-LD=$lt_cv_path_LD
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test yes = "$with_gnu_ld"; then
-        archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-        archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-
-        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-        export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='$wl'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-	  $GREP 'no-whole-archive' > /dev/null; then
-          whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-        else
-          whole_archive_flag_spec_CXX=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-    ld_shlibs_CXX=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-      aix[4-9]*)
-        if test ia64 = "$host_cpu"; then
-          # On IA64, the linker does run time linking by default, so we don't
-          # have to do anything special.
-          aix_use_runtimelinking=no
-          exp_sym_flag='-Bexport'
-          no_entry_flag=
-        else
-          aix_use_runtimelinking=no
-
-          # Test if we are trying to use run time linking or normal
-          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # have runtime linking enabled, and use it for executables.
-          # For shared libraries, we enable/disable runtime linking
-          # depending on the kind of the shared library created -
-          # when "with_aix_soname,aix_use_runtimelinking" is:
-          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
-          # "aix,yes"  lib.so          shared, rtl:yes, for executables
-          #            lib.a           static archive
-          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
-          #            lib.a(lib.so.V) shared, rtl:no,  for executables
-          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
-          #            lib.a(lib.so.V) shared, rtl:no
-          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
-          #            lib.a           static archive
-          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	    for ld_flag in $LDFLAGS; do
-	      case $ld_flag in
-	      *-brtl*)
-	        aix_use_runtimelinking=yes
-	        break
-	        ;;
-	      esac
-	    done
-	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
-	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
-	      # so we don't have lib.a shared libs to link our executables.
-	      # We have to force runtime linking in this case.
-	      aix_use_runtimelinking=yes
-	      LDFLAGS="$LDFLAGS -Wl,-brtl"
-	    fi
-	    ;;
-          esac
-
-          exp_sym_flag='-bexport'
-          no_entry_flag='-bnoentry'
-        fi
-
-        # When large executables or shared objects are built, AIX ld can
-        # have problems creating the table of contents.  If linking a library
-        # or program results in "error TOC overflow" add -mminimal-toc to
-        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-        archive_cmds_CXX=''
-        hardcode_direct_CXX=yes
-        hardcode_direct_absolute_CXX=yes
-        hardcode_libdir_separator_CXX=':'
-        link_all_deplibs_CXX=yes
-        file_list_spec_CXX='$wl-f,'
-        case $with_aix_soname,$aix_use_runtimelinking in
-        aix,*) ;;	# no import file
-        svr4,* | *,yes) # use import file
-          # The Import File defines what to hardcode.
-          hardcode_direct_CXX=no
-          hardcode_direct_absolute_CXX=no
-          ;;
-        esac
-
-        if test yes = "$GXX"; then
-          case $host_os in aix4.[012]|aix4.[012].*)
-          # We only want to do this on AIX 4.2 and lower, the check
-          # below for broken collect2 doesn't work under 4.3+
-	  collect2name=`$CC -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	    # We have reworked collect2
-	    :
-	  else
-	    # We have old collect2
-	    hardcode_direct_CXX=unsupported
-	    # It fails to find uninstalled libraries when the uninstalled
-	    # path is not listed in the libpath.  Setting hardcode_minus_L
-	    # to unsupported forces relinking
-	    hardcode_minus_L_CXX=yes
-	    hardcode_libdir_flag_spec_CXX='-L$libdir'
-	    hardcode_libdir_separator_CXX=
-	  fi
-          esac
-          shared_flag='-shared'
-	  if test yes = "$aix_use_runtimelinking"; then
-	    shared_flag=$shared_flag' $wl-G'
-	  fi
-	  # Need to ensure runtime linking is disabled for the traditional
-	  # shared library, or the linker may eventually find shared libraries
-	  # /with/ Import File - we do not want to mix them.
-	  shared_flag_aix='-shared'
-	  shared_flag_svr4='-shared $wl-G'
-        else
-          # not using gcc
-          if test ia64 = "$host_cpu"; then
-	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	  # chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-          else
-	    if test yes = "$aix_use_runtimelinking"; then
-	      shared_flag='$wl-G'
-	    else
-	      shared_flag='$wl-bM:SRE'
-	    fi
-	    shared_flag_aix='$wl-bM:SRE'
-	    shared_flag_svr4='$wl-G'
-          fi
-        fi
-
-        export_dynamic_flag_spec_CXX='$wl-bexpall'
-        # It seems that -bexpall does not export symbols beginning with
-        # underscore (_), so it is better to generate a list of symbols to
-	# export.
-        always_export_symbols_CXX=yes
-	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          # The "-G" linker flag allows undefined symbols.
-          no_undefined_flag_CXX='-bernotok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath__CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }'
-  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath__CXX"; then
-    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath__CXX"; then
-    lt_cv_aix_libpath__CXX=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath__CXX
-fi
-
-          hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
-
-          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
-        else
-          if test ia64 = "$host_cpu"; then
-	    hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
-	    allow_undefined_flag_CXX="-z nodefs"
-	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
-          else
-	    # Determine the default libpath from the value encoded in an
-	    # empty executable.
-	    if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath__CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }'
-  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath__CXX"; then
-    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath__CXX"; then
-    lt_cv_aix_libpath__CXX=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath__CXX
-fi
-
-	    hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
-	    # Warning - without using the other run time loading flags,
-	    # -berok will link without error, but may produce a broken library.
-	    no_undefined_flag_CXX=' $wl-bernotok'
-	    allow_undefined_flag_CXX=' $wl-berok'
-	    if test yes = "$with_gnu_ld"; then
-	      # We only use this code for GNU lds that support --whole-archive.
-	      whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
-	    else
-	      # Exported symbols can be pulled into shared objects from archives
-	      whole_archive_flag_spec_CXX='$convenience'
-	    fi
-	    archive_cmds_need_lc_CXX=yes
-	    archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
-	    # -brtl affects multiple linker settings, -berok does not and is overridden later
-	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
-	    if test svr4 != "$with_aix_soname"; then
-	      # This is similar to how AIX traditionally builds its shared
-	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
-	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
-	    fi
-	    if test aix != "$with_aix_soname"; then
-	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
-	    else
-	      # used by -dlpreopen to get the symbols
-	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
-	    fi
-	    archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
-          fi
-        fi
-        ;;
-
-      beos*)
-	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	  allow_undefined_flag_CXX=unsupported
-	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-	  # support --undefined.  This deserves some investigation.  FIXME
-	  archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	else
-	  ld_shlibs_CXX=no
-	fi
-	;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-	  # FIXME: insert proper C++ library support
-	  ld_shlibs_CXX=no
-	  ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-	case $GXX,$cc_basename in
-	,cl* | no,cl*)
-	  # Native MSVC
-	  # hardcode_libdir_flag_spec is actually meaningless, as there is
-	  # no search path for DLLs.
-	  hardcode_libdir_flag_spec_CXX=' '
-	  allow_undefined_flag_CXX=unsupported
-	  always_export_symbols_CXX=yes
-	  file_list_spec_CXX='@'
-	  # Tell ltmain to make .lib files, not .a files.
-	  libext=lib
-	  # Tell ltmain to make .dll files, not .so files.
-	  shrext_cmds=.dll
-	  # FIXME: Setting linknames here is a bad hack.
-	  archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
-	  archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
-              cp "$export_symbols" "$output_objdir/$soname.def";
-              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
-            else
-              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
-            fi~
-            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-            linknames='
-	  # The linker will not automatically build a static lib if we build a DLL.
-	  # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
-	  enable_shared_with_static_runtimes_CXX=yes
-	  # Don't use ranlib
-	  old_postinstall_cmds_CXX='chmod 644 $oldlib'
-	  postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
-            lt_tool_outputfile="@TOOL_OUTPUT@"~
-            case $lt_outputfile in
-              *.exe|*.EXE) ;;
-              *)
-                lt_outputfile=$lt_outputfile.exe
-                lt_tool_outputfile=$lt_tool_outputfile.exe
-                ;;
-            esac~
-            func_to_tool_file "$lt_outputfile"~
-            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
-              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-              $RM "$lt_outputfile.manifest";
-            fi'
-	  ;;
-	*)
-	  # g++
-	  # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-	  # as there is no search path for DLLs.
-	  hardcode_libdir_flag_spec_CXX='-L$libdir'
-	  export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
-	  allow_undefined_flag_CXX=unsupported
-	  always_export_symbols_CXX=no
-	  enable_shared_with_static_runtimes_CXX=yes
-
-	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	    # If the export-symbols file already is a .def file, use it as
-	    # is; otherwise, prepend EXPORTS...
-	    archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
-              cp $export_symbols $output_objdir/$soname.def;
-            else
-              echo EXPORTS > $output_objdir/$soname.def;
-              cat $export_symbols >> $output_objdir/$soname.def;
-            fi~
-            $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	  else
-	    ld_shlibs_CXX=no
-	  fi
-	  ;;
-	esac
-	;;
-      darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc_CXX=no
-  hardcode_direct_CXX=no
-  hardcode_automatic_CXX=yes
-  hardcode_shlibpath_var_CXX=unsupported
-  if test yes = "$lt_cv_ld_force_load"; then
-    whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-
-  else
-    whole_archive_flag_spec_CXX=''
-  fi
-  link_all_deplibs_CXX=yes
-  allow_undefined_flag_CXX=$_lt_dar_allow_undefined
-  case $cc_basename in
-     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test yes = "$_lt_dar_can_shared"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
-    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
-    archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
-    module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
-       if test yes != "$lt_cv_apple_cc_single_mod"; then
-      archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
-      archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
-    fi
-
-  else
-  ld_shlibs_CXX=no
-  fi
-
-	;;
-
-      os2*)
-	hardcode_libdir_flag_spec_CXX='-L$libdir'
-	hardcode_minus_L_CXX=yes
-	allow_undefined_flag_CXX=unsupported
-	shrext_cmds=.dll
-	archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	  $ECHO EXPORTS >> $output_objdir/$libname.def~
-	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	  emximp -o $lib $output_objdir/$libname.def'
-	archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	  $ECHO EXPORTS >> $output_objdir/$libname.def~
-	  prefix_cmds="$SED"~
-	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
-	    prefix_cmds="$prefix_cmds -e 1d";
-	  fi~
-	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	  emximp -o $lib $output_objdir/$libname.def'
-	old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-	enable_shared_with_static_runtimes_CXX=yes
-	;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          ghcx*)
-	    # Green Hills C++ Compiler
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      freebsd2.*)
-        # C++ shared libraries reported to be fairly broken before
-	# switch to ELF
-        ld_shlibs_CXX=no
-        ;;
-
-      freebsd-elf*)
-        archive_cmds_need_lc_CXX=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        ld_shlibs_CXX=yes
-        ;;
-
-      haiku*)
-        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-        link_all_deplibs_CXX=yes
-        ;;
-
-      hpux9*)
-        hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
-        hardcode_libdir_separator_CXX=:
-        export_dynamic_flag_spec_CXX='$wl-E'
-        hardcode_direct_CXX=yes
-        hardcode_minus_L_CXX=yes # Not in the search PATH,
-				             # but as the default
-				             # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            ld_shlibs_CXX=no
-            ;;
-          aCC*)
-            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-            ;;
-          *)
-            if test yes = "$GXX"; then
-              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              ld_shlibs_CXX=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test no = "$with_gnu_ld"; then
-	  hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
-	  hardcode_libdir_separator_CXX=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-	      export_dynamic_flag_spec_CXX='$wl-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            hardcode_direct_CXX=no
-            hardcode_shlibpath_var_CXX=no
-            ;;
-          *)
-            hardcode_direct_CXX=yes
-            hardcode_direct_absolute_CXX=yes
-            hardcode_minus_L_CXX=yes # Not in the search PATH,
-					         # but as the default
-					         # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          aCC*)
-	    case $host_cpu in
-	      hppa*64*)
-	        archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      ia64*)
-	        archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      *)
-	        archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	    esac
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-          *)
-	    if test yes = "$GXX"; then
-	      if test no = "$with_gnu_ld"; then
-	        case $host_cpu in
-	          hppa*64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          ia64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          *)
-	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	        esac
-	      fi
-	    else
-	      # FIXME: insert proper C++ library support
-	      ld_shlibs_CXX=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      interix[3-9]*)
-	hardcode_direct_CXX=no
-	hardcode_shlibpath_var_CXX=no
-	hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	export_dynamic_flag_spec_CXX='$wl-E'
-	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-	# Instead, shared libraries are loaded at an image base (0x10000000 by
-	# default) and relocated if they conflict, which is a slow very memory
-	# consuming and fragmenting process.  To avoid this, we pick a random,
-	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-	archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-	    # SGI C++
-	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    if test yes = "$GXX"; then
-	      if test no = "$with_gnu_ld"; then
-	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-	      else
-	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
-	      fi
-	    fi
-	    link_all_deplibs_CXX=yes
-	    ;;
-        esac
-        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-        hardcode_libdir_separator_CXX=:
-        inherit_rpath_CXX=yes
-        ;;
-
-      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	    archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
-	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	    old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-	    ;;
-	  icpc* | ecpc* )
-	    # Intel C++
-	    with_gnu_ld=yes
-	    # version 8.0 and above of icpc choke on multiply defined symbols
-	    # if we add $predep_objects and $postdep_objects, however 7.1 and
-	    # earlier do not add the objects themselves.
-	    case `$CC -V 2>&1` in
-	      *"Version 7."*)
-	        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-		archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	      *)  # Version 8.0 or newer
-	        tmp_idyn=
-	        case $host_cpu in
-		  ia64*) tmp_idyn=' -i_dynamic';;
-		esac
-	        archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-		archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	    esac
-	    archive_cmds_need_lc_CXX=no
-	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-	    whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
-	    ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-	    case `$CC -V` in
-	    *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
-	      prelink_cmds_CXX='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
-	      old_archive_cmds_CXX='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
-                $RANLIB $oldlib'
-	      archive_cmds_CXX='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-	      archive_expsym_cmds_CXX='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-	      ;;
-	    *) # Version 6 and above use weak symbols
-	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-	      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-	      ;;
-	    esac
-
-	    hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
-	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-	    whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-            ;;
-	  cxx*)
-	    # Compaq C++
-	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-	    archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
-
-	    runpath_var=LD_RUN_PATH
-	    hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-	    hardcode_libdir_separator_CXX=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
-	    ;;
-	  xl* | mpixl* | bgxl*)
-	    # IBM XL 8.0 on PPC, with GNU ld
-	    hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-	    archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	    if test yes = "$supports_anon_versioning"; then
-	      archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
-                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-                echo "local: *; };" >> $output_objdir/$libname.ver~
-                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
-	    fi
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      no_undefined_flag_CXX=' -zdefs'
-	      archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
-	      hardcode_libdir_flag_spec_CXX='-R$libdir'
-	      whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	      compiler_needs_object_CXX=yes
-
-	      # Not sure whether something based on
-	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	      # would be better.
-	      output_verbose_link_cmd='func_echo_all'
-
-	      # Archives containing C++ object files must be created using
-	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	      # necessary to make sure instantiated templates are included
-	      # in the archive.
-	      old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-	;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-	  *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-	esac
-	;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	  archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-	  wlarc=
-	  hardcode_libdir_flag_spec_CXX='-R$libdir'
-	  hardcode_direct_CXX=yes
-	  hardcode_shlibpath_var_CXX=no
-	fi
-	# Workaround some broken pre-1.5 toolchains
-	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-	;;
-
-      *nto* | *qnx*)
-        ld_shlibs_CXX=yes
-	;;
-
-      openbsd* | bitrig*)
-	if test -f /usr/libexec/ld.so; then
-	  hardcode_direct_CXX=yes
-	  hardcode_shlibpath_var_CXX=no
-	  hardcode_direct_absolute_CXX=yes
-	  archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-	  hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
-	    archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
-	    export_dynamic_flag_spec_CXX='$wl-E'
-	    whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-	  fi
-	  output_verbose_link_cmd=func_echo_all
-	else
-	  ld_shlibs_CXX=no
-	fi
-	;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	    hardcode_libdir_separator_CXX=:
-
-	    # Archives containing C++ object files must be created using
-	    # the KAI C++ compiler.
-	    case $host in
-	      osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
-	      *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
-	    esac
-	    ;;
-          RCC*)
-	    # Rational C++ 2.4.1
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          cxx*)
-	    case $host in
-	      osf3*)
-	        allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
-	        archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-		;;
-	      *)
-	        allow_undefined_flag_CXX=' -expect_unresolved \*'
-	        archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-                  echo "-hidden">> $lib.exp~
-                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
-                  $RM $lib.exp'
-	        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-		;;
-	    esac
-
-	    hardcode_libdir_separator_CXX=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-	  *)
-	    if test yes,no = "$GXX,$with_gnu_ld"; then
-	      allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
-	      case $host in
-	        osf3*)
-	          archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-		  ;;
-	        *)
-	          archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-		  ;;
-	      esac
-
-	      hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-	      hardcode_libdir_separator_CXX=:
-
-	      # Commands to make compiler produce verbose output that lists
-	      # what "hidden" libraries, object files and flags are used when
-	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-	    else
-	      # FIXME: insert proper C++ library support
-	      ld_shlibs_CXX=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.x
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          lcc*)
-	    # Lucid
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-            archive_cmds_need_lc_CXX=yes
-	    no_undefined_flag_CXX=' -zdefs'
-	    archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	    archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	    hardcode_libdir_flag_spec_CXX='-R$libdir'
-	    hardcode_shlibpath_var_CXX=no
-	    case $host_os in
-	      solaris2.[0-5] | solaris2.[0-5].*) ;;
-	      *)
-		# The compiler driver will combine and reorder linker options,
-		# but understands '-z linker_flag'.
-	        # Supported since Solaris 2.6 (maybe 2.5.1?)
-		whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
-	        ;;
-	    esac
-	    link_all_deplibs_CXX=yes
-
-	    output_verbose_link_cmd='func_echo_all'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	    ;;
-          gcx*)
-	    # Green Hills C++ Compiler
-	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-
-	    # The C++ compiler must be used to create the archive.
-	    old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    # GNU C++ compiler with Solaris linker
-	    if test yes,no = "$GXX,$with_gnu_ld"; then
-	      no_undefined_flag_CXX=' $wl-z ${wl}defs'
-	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      else
-	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
-	        # platform.
-	        archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      fi
-
-	      hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
-	      case $host_os in
-		solaris2.[0-5] | solaris2.[0-5].*) ;;
-		*)
-		  whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
-		  ;;
-	      esac
-	    fi
-	    ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag_CXX='$wl-z,text'
-      archive_cmds_need_lc_CXX=no
-      hardcode_shlibpath_var_CXX=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-	  archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-      esac
-      ;;
-
-      sysv5* | sco3.2v5* | sco5v6*)
-	# Note: We CANNOT use -z defs as we might desire, because we do not
-	# link with -lc, and that would cause any symbols used from libc to
-	# always be unresolved, which means just about no library would
-	# ever link correctly.  If we're not using GNU ld we use -z text
-	# though, which does catch some bad symbols but isn't as heavy-handed
-	# as -z defs.
-	no_undefined_flag_CXX='$wl-z,text'
-	allow_undefined_flag_CXX='$wl-z,nodefs'
-	archive_cmds_need_lc_CXX=no
-	hardcode_shlibpath_var_CXX=no
-	hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
-	hardcode_libdir_separator_CXX=':'
-	link_all_deplibs_CXX=yes
-	export_dynamic_flag_spec_CXX='$wl-Bexport'
-	runpath_var='LD_RUN_PATH'
-
-	case $cc_basename in
-          CC*)
-	    archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
-              '"$old_archive_cmds_CXX"
-	    reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
-              '"$reload_cmds_CXX"
-	    ;;
-	  *)
-	    archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-	    # NonStop-UX NCC 3.20
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-    esac
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-    test no = "$ld_shlibs_CXX" && can_build_shared=no
-
-    GCC_CXX=$GXX
-    LD_CXX=$LD
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    # Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
-cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
-esac
-
-if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case $prev$p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test x-L = "$p" ||
-          test x-R = "$p"; then
-	 prev=$p
-	 continue
-       fi
-
-       # Expand the sysroot to ease extracting the directories later.
-       if test -z "$prev"; then
-         case $p in
-         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
-         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
-         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
-         esac
-       fi
-       case $p in
-       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
-       esac
-       if test no = "$pre_test_object_deps_done"; then
-	 case $prev in
-	 -L | -R)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$compiler_lib_search_path_CXX"; then
-	     compiler_lib_search_path_CXX=$prev$p
-	   else
-	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$postdeps_CXX"; then
-	   postdeps_CXX=$prev$p
-	 else
-	   postdeps_CXX="${postdeps_CXX} $prev$p"
-	 fi
-       fi
-       prev=
-       ;;
-
-    *.lto.$objext) ;; # Ignore GCC LTO objects
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test no = "$pre_test_object_deps_done"; then
-	 if test -z "$predep_objects_CXX"; then
-	   predep_objects_CXX=$p
-	 else
-	   predep_objects_CXX="$predep_objects_CXX $p"
-	 fi
-       else
-	 if test -z "$postdep_objects_CXX"; then
-	   postdep_objects_CXX=$p
-	 else
-	   postdep_objects_CXX="$postdep_objects_CXX $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling CXX test program"
-fi
-
-$RM -f confest.$objext
-CFLAGS=$_lt_libdeps_save_CFLAGS
-
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix[3-9]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  predep_objects_CXX=
-  postdep_objects_CXX=
-  postdeps_CXX=
-  ;;
-esac
-
-
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
-esac
- compiler_lib_search_dirs_CXX=
-if test -n "${compiler_lib_search_path_CXX}"; then
- compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
-
-
-  # C++ specific cases for pic, static, wl, etc.
-  if test yes = "$GXX"; then
-    lt_prog_compiler_wl_CXX='-Wl,'
-    lt_prog_compiler_static_CXX='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test ia64 = "$host_cpu"; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_CXX='-Bstatic'
-      fi
-      lt_prog_compiler_pic_CXX='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic_CXX='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the '-m68020' flag to GCC prevents building anything better,
-            # like '-m68040'.
-            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
-      case $host_os in
-      os2*)
-	lt_prog_compiler_static_CXX='$wl-static'
-	;;
-      esac
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_CXX='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      lt_prog_compiler_pic_CXX=
-      ;;
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static_CXX=
-      ;;
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic_CXX=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	;;
-      *)
-	lt_prog_compiler_pic_CXX='-fPIC'
-	;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic_CXX='-fPIC -shared'
-      ;;
-    *)
-      lt_prog_compiler_pic_CXX='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[4-9]*)
-	# All AIX code is PIC.
-	if test ia64 = "$host_cpu"; then
-	  # AIX 5 now supports IA64 processor
-	  lt_prog_compiler_static_CXX='-Bstatic'
-	else
-	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-      mingw* | cygwin* | os2* | pw32* | cegcc*)
-	# This hack is so that the source file can tell whether it is being
-	# built for inclusion in a dll (and should export symbols for example).
-	lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
-	;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
-	    if test ia64 != "$host_cpu"; then
-	      lt_prog_compiler_pic_CXX='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      lt_prog_compiler_pic_CXX='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    lt_prog_compiler_pic_CXX='-fPIC'
-	    ;;
-	  ecpc* )
-	    # old Intel C++ for x86_64, which still supported -KPIC.
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-static'
-	    ;;
-	  icpc* )
-	    # Intel C++, used to be incompatible with GCC.
-	    # ICC 10 doesn't accept -KPIC any more.
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-fPIC'
-	    lt_prog_compiler_static_CXX='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-fpic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
-	    # IBM XL 8.0, 9.0 on PPC and BlueGene
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-qpic'
-	    lt_prog_compiler_static_CXX='-qstaticlink'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      lt_prog_compiler_pic_CXX='-KPIC'
-	      lt_prog_compiler_static_CXX='-Bstatic'
-	      lt_prog_compiler_wl_CXX='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    lt_prog_compiler_pic_CXX='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd* | netbsdelf*-gnu)
-	;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        lt_prog_compiler_pic_CXX='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    lt_prog_compiler_wl_CXX='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    lt_prog_compiler_pic_CXX='-pic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	lt_prog_compiler_can_build_shared_CXX=no
-	;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms that do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_CXX=
-    ;;
-  *)
-    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
-lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works_CXX=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"  ## exclude from sc_useless_quotes_in_assignment
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works_CXX=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
-    case $lt_prog_compiler_pic_CXX in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
-     esac
-else
-    lt_prog_compiler_pic_CXX=
-     lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works_CXX=no
-   save_LDFLAGS=$LDFLAGS
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works_CXX=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_CXX=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
-    :
-else
-    lt_prog_compiler_static_CXX=
-fi
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-
-hard_links=nottested
-if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test no = "$hard_links"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  case $host_os in
-  aix[4-9]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
-    # Without the "-l" option, or with the "-B" option, AIX nm treats
-    # weak defined symbols like other global defined symbols, whereas
-    # GNU nm marks them as "W".
-    # While the 'weak' keyword is ignored in the Export File, we need
-    # it in the Import File for the 'aix-soname' feature, so we have
-    # to replace the "-B" option with "-P" for AIX nm.
-    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
-    else
-      export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    export_symbols_cmds_CXX=$ltdll_cmds
-    ;;
-  cygwin* | mingw* | cegcc*)
-    case $cc_basename in
-    cl*)
-      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-      ;;
-    *)
-      export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-      ;;
-    esac
-    ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs_CXX=no
-    ;;
-  *)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-    ;;
-  esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-test no = "$ld_shlibs_CXX" && can_build_shared=no
-
-with_gnu_ld_CXX=$with_gnu_ld
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_CXX=yes
-
-  if test yes,yes = "$GCC,$enable_shared"; then
-    case $archive_cmds_CXX in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-	  soname=conftest
-	  lib=conftest
-	  libobjs=conftest.$ac_objext
-	  deplibs=
-	  wl=$lt_prog_compiler_wl_CXX
-	  pic_flag=$lt_prog_compiler_pic_CXX
-	  compiler_flags=-v
-	  linker_flags=-v
-	  verstring=
-	  output_objdir=.
-	  libname=conftest
-	  lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
-	  allow_undefined_flag_CXX=
-	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-	  then
-	    lt_cv_archive_cmds_need_lc_CXX=no
-	  else
-	    lt_cv_archive_cmds_need_lc_CXX=yes
-	  fi
-	  allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
-	else
-	  cat conftest.err 1>&5
-	fi
-	$RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
-      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=.so
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-
-
-case $host_os in
-aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='$libname$release$shared_ext$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test ia64 = "$host_cpu"; then
-    # AIX 5 supports IA64
-    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line '#! .'.  This would cause the generated library to
-    # depend on '.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # Using Import Files as archive members, it is possible to support
-    # filename-based versioning of shared library archives on AIX. While
-    # this would work for both with and without runtime linking, it will
-    # prevent static linking of such archives. So we do filename-based
-    # shared library versioning with .so extension only, which is used
-    # when both runtime linking and shared linking is enabled.
-    # Unfortunately, runtime linking may impact performance, so we do
-    # not want this to be the default eventually. Also, we use the
-    # versioned .so libs for executables only if there is the -brtl
-    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
-    # To allow for filename-based versioning support, we need to create
-    # libNAME.so.V as an archive file, containing:
-    # *) an Import File, referring to the versioned filename of the
-    #    archive as well as the shared archive member, telling the
-    #    bitwidth (32 or 64) of that shared object, and providing the
-    #    list of exported symbols of that shared object, eventually
-    #    decorated with the 'weak' keyword
-    # *) the shared object with the F_LOADONLY flag set, to really avoid
-    #    it being seen by the linker.
-    # At run time we better use the real file rather than another symlink,
-    # but for link time we create the symlink libNAME.so -> libNAME.so.V
-
-    case $with_aix_soname,$aix_use_runtimelinking in
-    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    aix,yes) # traditional libtool
-      dynamic_linker='AIX unversionable lib.so'
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-      ;;
-    aix,no) # traditional AIX only
-      dynamic_linker='AIX lib.a(lib.so.V)'
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      ;;
-    svr4,*) # full svr4 only
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,yes) # both, prefer svr4
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # unpreferred sharedlib libNAME.a needs extra handling
-      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
-      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,no) # both, prefer aix
-      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
-      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
-      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
-      ;;
-    esac
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='$libname$shared_ext'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \$file`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-    library_names_spec='$libname.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec=$LIB
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \$file`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
-  soname_spec='$libname$release$major$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[23].*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-      soname_spec='$libname$release$shared_ext$major'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2.*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    if test 32 = "$HPUX_IA64_MODE"; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
-    fi
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test yes = "$lt_cv_prog_gnu_ld"; then
-		version_type=linux # correct to gnu/linux during the next big refactor
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='$libname$release$shared_ext$major'
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
-  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-linux*android*)
-  version_type=none # Android doesn't support versioned libraries.
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext'
-  soname_spec='$libname$release$shared_ext'
-  finish_cmds=
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  dynamic_linker='Android linker'
-  # Don't embed -rpath directories since the linker doesn't support them.
-  hardcode_libdir_flag_spec_CXX='-L$libdir'
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
-	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Ideally, we could use ldconfig to report *all* directores which are
-  # searched for libraries, however this is still not possible.  Aside from not
-  # being certain /sbin/ldconfig is available, command
-  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
-  # even though it is searched at run-time.  Try to do the best guess by
-  # appending ld.so.conf contents (and includes) to the search path.
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd* | bitrig*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec=/usr/lib
-  need_lib_prefix=no
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    need_version=no
-  else
-    need_version=yes
-  fi
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-os2*)
-  libname_spec='$name'
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-  # OS/2 can only load a DLL with a base name of 8 characters or less.
-  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
-    v=$($ECHO $release$versuffix | tr -d .-);
-    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
-    $ECHO $n$v`$shared_ext'
-  library_names_spec='${libname}_dll.$libext'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=BEGINLIBPATH
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  postinstall_cmds='base_file=`basename \$file`~
-    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
-    dldir=$destdir/`dirname \$dlpath`~
-    test -d \$dldir || mkdir -p \$dldir~
-    $install_prog $dir/$dlname \$dldir/$dlname~
-    chmod a+x \$dldir/$dlname~
-    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-    fi'
-  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
-    dlpath=$dir/\$dldll~
-    $RM \$dlpath'
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='$libname$release$shared_ext$major'
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test yes = "$with_gnu_ld"; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec; then
-    version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
-    soname_spec='$libname$shared_ext.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=sco
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test yes = "$with_gnu_ld"; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test no = "$dynamic_linker" && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test yes = "$GCC"; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
-  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
-fi
-
-if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
-  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
-fi
-
-# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
-configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
-
-# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
-func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
-
-# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
-configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" ||
-   test -n "$runpath_var_CXX" ||
-   test yes = "$hardcode_automatic_CXX"; then
-
-  # We can hardcode non-existent directories.
-  if test no != "$hardcode_direct_CXX" &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
-     test no != "$hardcode_minus_L_CXX"; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_CXX=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_CXX=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_CXX=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
-$as_echo "$hardcode_action_CXX" >&6; }
-
-if test relink = "$hardcode_action_CXX" ||
-   test yes = "$inherit_rpath_CXX"; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test yes = "$shlibpath_overrides_runpath" ||
-     test no = "$enable_shared"; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test yes != "$_lt_caught_CXX_error"
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-############### Checks for header files
-
-for ac_header in stdint.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdint_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDINT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in mm_malloc.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "mm_malloc.h" "ac_cv_header_mm_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_mm_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MM_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in malloc/malloc.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "malloc/malloc.h" "ac_cv_header_malloc_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_malloc_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MALLOC_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in malloc.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in endian.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default"
-if test "x$ac_cv_header_endian_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ENDIAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in execinfo.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default"
-if test "x$ac_cv_header_execinfo_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_EXECINFO_H 1
-_ACEOF
-
-fi
-
-done
-
-ac_fn_cxx_check_decl "$LINENO" "ntohll" "ac_cv_have_decl_ntohll" "#include <arpa/inet.h>
-"
-if test "x$ac_cv_have_decl_ntohll" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_NTOHLL $ac_have_decl
-_ACEOF
-
-ac_fn_cxx_check_decl "$LINENO" "be64toh" "ac_cv_have_decl_be64toh" "#include <arpa/inet.h>
-"
-if test "x$ac_cv_have_decl_be64toh" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_BE64TOH $ac_have_decl
-_ACEOF
-
-
-############### Checks for typedefs, structures, and compiler characteristics
-ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t"
-case $ac_cv_c_uint32_t in #(
-  no|yes) ;; #(
-  *)
-
-$as_echo "#define _UINT32_T 1" >>confdefs.h
-
-
-cat >>confdefs.h <<_ACEOF
-#define uint32_t $ac_cv_c_uint32_t
-_ACEOF
-;;
-  esac
-
-ac_fn_c_find_uintX_t "$LINENO" "64" "ac_cv_c_uint64_t"
-case $ac_cv_c_uint64_t in #(
-  no|yes) ;; #(
-  *)
-
-$as_echo "#define _UINT64_T 1" >>confdefs.h
-
-
-cat >>confdefs.h <<_ACEOF
-#define uint64_t $ac_cv_c_uint64_t
-_ACEOF
-;;
-  esac
-
-
-############### GMP and MPFR #################
-
-# Check whether --with-gmp was given.
-if test "${with_gmp+set}" = set; then :
-  withval=$with_gmp; AM_CXXFLAGS="-I$with_gmp/include $AM_CXXFLAGS"
-    AM_LDFLAGS="-L$with_gmp/lib" $AM_LDFLAGS
-fi
-
-
-# Check whether --with-mpfr was given.
-if test "${with_mpfr+set}" = set; then :
-  withval=$with_mpfr; AM_CXXFLAGS="-I$with_mpfr/include $AM_CXXFLAGS"
-    AM_LDFLAGS="-L$with_mpfr/lib $AM_LDFLAGS"
-fi
-
-
-################## lapack ####################
-# Check whether --enable-lapack was given.
-if test "${enable_lapack+set}" = set; then :
-  enableval=$enable_lapack; ac_LAPACK=${enable_lapack}
-else
-  ac_LAPACK=no
-fi
-
-
-case ${ac_LAPACK} in
-    no)
-        ;;
-    yes)
-
-$as_echo "#define USE_LAPACK 1" >>confdefs.h
-;;
-    *)
-        AM_CXXFLAGS="-I$ac_LAPACK/include $AM_CXXFLAGS"
-        AM_LDFLAGS="-L$ac_LAPACK/lib $AM_LDFLAGS"
-
-$as_echo "#define USE_LAPACK 1" >>confdefs.h
-
-esac
-
-################## FFTW3 ####################
-
-# Check whether --with-fftw was given.
-if test "${with_fftw+set}" = set; then :
-  withval=$with_fftw; AM_CXXFLAGS="-I$with_fftw/include $AM_CXXFLAGS"
-            AM_LDFLAGS="-L$with_fftw/lib $AM_LDFLAGS"
-fi
-
-
-#
-# What about the MKL library replacement for fftw3 ?  How do we know if fftw_execute
-# can be found in MKL?
-#
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fftw_execute in -lfftw3" >&5
-$as_echo_n "checking for fftw_execute in -lfftw3... " >&6; }
-if ${ac_cv_lib_fftw3_fftw_execute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lfftw3  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char fftw_execute ();
-int
-main ()
-{
-return fftw_execute ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_fftw3_fftw_execute=yes
-else
-  ac_cv_lib_fftw3_fftw_execute=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_execute" >&5
-$as_echo "$ac_cv_lib_fftw3_fftw_execute" >&6; }
-if test "x$ac_cv_lib_fftw3_fftw_execute" = xyes; then :
-
-$as_echo "#define HAVE_FFTW 1" >>confdefs.h
- ac_fftw=yes
-else
-  ac_fftw=no
-fi
-
-
-case ${ac_fftw} in
-    no)
-        echo WARNING libfftw3 not found FFT routines will not work
-        ;;
-    yes)
-        AM_LDFLAGS="$AM_LDFLAGS -lfftw3 -lfftw3f"
-esac
-
-
-################ Get compiler informations
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-    ax_cxx_compile_cxx11_required=true
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-  ac_success=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
-$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
-if ${ax_cv_cxx_compile_cxx11+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-  template <typename T>
-    struct check
-    {
-      static_assert(sizeof(int) <= sizeof(T), "not big enough");
-    };
-
-    struct Base {
-    virtual void f() {}
-    };
-    struct Child : public Base {
-    virtual void f() override {}
-    };
-
-    typedef check<check<bool>> right_angle_brackets;
-
-    int a;
-    decltype(a) b;
-
-    typedef check<int> check_type;
-    check_type c;
-    check_type&& cr = static_cast<check_type&&>(c);
-
-    auto d = a;
-    auto l = [](){};
-    // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
-    struct use_l { use_l() { l(); } };
-
-    // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
-    // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
-    namespace test_template_alias_sfinae {
-        struct foo {};
-
-        template<typename T>
-        using member = typename T::member_type;
-
-        template<typename T>
-        void func(...) {}
-
-        template<typename T>
-        void func(member<T>*) {}
-
-        void test();
-
-        void test() {
-            func<foo>(0);
-        }
-    }
-
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_cxx_compile_cxx11=yes
-else
-  ax_cv_cxx_compile_cxx11=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
-$as_echo "$ax_cv_cxx_compile_cxx11" >&6; }
-  if test x$ax_cv_cxx_compile_cxx11 = xyes; then
-    ac_success=yes
-  fi
-
-
-
-    if test x$ac_success = xno; then
-            for switch in -std=c++11 -std=c++0x +std=c++11; do
-      cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
-$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
-if eval \${$cachevar+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_CXXFLAGS="$CXXFLAGS"
-         CXXFLAGS="$CXXFLAGS $switch"
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-  template <typename T>
-    struct check
-    {
-      static_assert(sizeof(int) <= sizeof(T), "not big enough");
-    };
-
-    struct Base {
-    virtual void f() {}
-    };
-    struct Child : public Base {
-    virtual void f() override {}
-    };
-
-    typedef check<check<bool>> right_angle_brackets;
-
-    int a;
-    decltype(a) b;
-
-    typedef check<int> check_type;
-    check_type c;
-    check_type&& cr = static_cast<check_type&&>(c);
-
-    auto d = a;
-    auto l = [](){};
-    // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
-    struct use_l { use_l() { l(); } };
-
-    // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
-    // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
-    namespace test_template_alias_sfinae {
-        struct foo {};
-
-        template<typename T>
-        using member = typename T::member_type;
-
-        template<typename T>
-        void func(...) {}
-
-        template<typename T>
-        void func(member<T>*) {}
-
-        void test();
-
-        void test() {
-            func<foo>(0);
-        }
-    }
-
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  eval $cachevar=yes
-else
-  eval $cachevar=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         CXXFLAGS="$ac_save_CXXFLAGS"
-fi
-eval ac_res=\$$cachevar
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-      if eval test x\$$cachevar = xyes; then
-        CXXFLAGS="$CXXFLAGS $switch"
-        ac_success=yes
-        break
-      fi
-    done
-  fi
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  if test x$ax_cxx_compile_cxx11_required = xtrue; then
-    if test x$ac_success = xno; then
-      as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
-    fi
-  else
-    if test x$ac_success = xno; then
-      HAVE_CXX11=0
-      { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
-$as_echo "$as_me: No compiler with C++11 support was found" >&6;}
-    else
-      HAVE_CXX11=1
-
-$as_echo "#define HAVE_CXX11 1" >>confdefs.h
-
-    fi
-
-
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler vendor" >&5
-$as_echo_n "checking for C++ compiler vendor... " >&6; }
-if ${ax_cv_cxx_compiler_vendor+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    # note: don't check for gcc first since some other compilers define __GNUC__
-  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
-           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
-           pathscale: __PATHCC__,__PATHSCALE__
-           clang:     __clang__
-           cray:      _CRAYC
-           fujitsu:   __FUJITSU
-           gnu:       __GNUC__
-           sun:       __SUNPRO_C,__SUNPRO_CC
-           hp:        __HP_cc,__HP_aCC
-           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
-           borland:   __BORLANDC__,__CODEGEARC__,__TURBOC__
-           comeau:    __COMO__
-           kai:       __KCC
-           lcc:       __LCC__
-           sgi:       __sgi,sgi
-           microsoft: _MSC_VER
-           metrowerks: __MWERKS__
-           watcom:    __WATCOMC__
-           portland:  __PGI
-	   tcc:       __TINYC__
-           unknown:   UNKNOWN"
-  for ventest in $vendors; do
-    case $ventest in
-      *:) vendor=$ventest; continue ;;
-      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
-    esac
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-      #if !($vencpp)
-        thisisanerror;
-      #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-  ax_cv_cxx_compiler_vendor=`echo $vendor | cut -d: -f1`
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compiler_vendor" >&5
-$as_echo "$ax_cv_cxx_compiler_vendor" >&6; }
-
-
-cat >>confdefs.h <<_ACEOF
-#define CXX_COMP_VENDOR "$ax_cv_cxx_compiler_vendor"
-_ACEOF
-
 
   GXX_VERSION=""
 
@@ -16823,7 +5743,6 @@ _ACEOF
 ############### Checks for library functions
 CXXFLAGS_CPY=$CXXFLAGS
 LDFLAGS_CPY=$LDFLAGS
-LIBS_CPY=$LIBS
 CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS"
 LDFLAGS="$AM_LDFLAGS $LDFLAGS"
 for ac_func in gettimeofday
@@ -16980,6 +5899,53 @@ else
 fi
 
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fftw_execute in -lfftw3" >&5
+$as_echo_n "checking for fftw_execute in -lfftw3... " >&6; }
+if ${ac_cv_lib_fftw3_fftw_execute+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lfftw3  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char fftw_execute ();
+int
+main ()
+{
+return fftw_execute ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  ac_cv_lib_fftw3_fftw_execute=yes
+else
+  ac_cv_lib_fftw3_fftw_execute=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_execute" >&5
+$as_echo "$ac_cv_lib_fftw3_fftw_execute" >&6; }
+if test "x$ac_cv_lib_fftw3_fftw_execute" = xyes; then :
+
+$as_echo "#define HAVE_FFTW 1" >>confdefs.h
+
+  have_fftw=true
+  LIBS="$LIBS -lfftw3 -lfftw3f"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: **** FFTW library not found, Grid can still compile but FFT-based routines will not work ****" >&5
+$as_echo "$as_me: WARNING: **** FFTW library not found, Grid can still compile but FFT-based routines will not work ****" >&2;}
+fi
+
 CXXFLAGS=$CXXFLAGS_CPY
 LDFLAGS=$LDFLAGS_CPY
 
@@ -17030,6 +5996,11 @@ $as_echo "#define IMCI 1" >>confdefs.h
 
 $as_echo "#define GENERIC_VEC 1" >>confdefs.h
 
+        SIMD_FLAGS='';;
+      QPX|BGQ)
+
+$as_echo "#define QPX 1" >>confdefs.h
+
         SIMD_FLAGS='';;
       *)
         as_fn_error $? "\"SIMD option ${ac_SIMD} not supported by the GCC/Clang compiler\"" "$LINENO" 5;;
@@ -18484,387 +7455,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
-configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
-predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
-postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
-predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
-postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
-LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
-reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
-reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
-GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
-inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
-always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
-include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
-prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
-predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
-postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
-predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
-postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-PATH_SEPARATOR \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_import \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-lt_cv_nm_interface \
-nm_file_list_spec \
-lt_cv_truncate_bin \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib \
-compiler_lib_search_dirs \
-predep_objects \
-postdep_objects \
-predeps \
-postdeps \
-compiler_lib_search_path \
-LD_CXX \
-reload_flag_CXX \
-compiler_CXX \
-lt_prog_compiler_no_builtin_flag_CXX \
-lt_prog_compiler_pic_CXX \
-lt_prog_compiler_wl_CXX \
-lt_prog_compiler_static_CXX \
-lt_cv_prog_compiler_c_o_CXX \
-export_dynamic_flag_spec_CXX \
-whole_archive_flag_spec_CXX \
-compiler_needs_object_CXX \
-with_gnu_ld_CXX \
-allow_undefined_flag_CXX \
-no_undefined_flag_CXX \
-hardcode_libdir_flag_spec_CXX \
-hardcode_libdir_separator_CXX \
-exclude_expsyms_CXX \
-include_expsyms_CXX \
-file_list_spec_CXX \
-compiler_lib_search_dirs_CXX \
-predep_objects_CXX \
-postdep_objects_CXX \
-predeps_CXX \
-postdeps_CXX \
-compiler_lib_search_path_CXX; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-configure_time_dlsearch_path \
-configure_time_lt_sys_library_path \
-reload_cmds_CXX \
-old_archive_cmds_CXX \
-old_archive_from_new_cmds_CXX \
-old_archive_from_expsyms_cmds_CXX \
-archive_cmds_CXX \
-archive_expsym_cmds_CXX \
-module_cmds_CXX \
-module_expsym_cmds_CXX \
-export_symbols_cmds_CXX \
-prelink_cmds_CXX \
-postlink_cmds_CXX; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-
-# See if we are running on zsh, and set the options that allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}"; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-
-
-
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -18875,7 +7465,6 @@ do
   case $ac_config_target in
     "lib/Config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/Config.h" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "docs/doxy.cfg") CONFIG_FILES="$CONFIG_FILES docs/doxy.cfg" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
@@ -19575,716 +8164,6 @@ $as_echo X"$file" |
     done
   done
 }
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options that allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}"; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile=${ofile}T
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-
-# Provide generalized library-building support services.
-# Written by Gordon Matzigkeit, 1996
-
-# Copyright (C) 2014 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program or library that is built
-# using GNU Libtool, you may include this file under the  same
-# distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags='CXX '
-
-# Configured defaults for sys_lib_dlsearch_path munging.
-: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shared archive member basename,for filename based shared library versioning on AIX.
-shared_archive_member_spec=$shared_archive_member_spec
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm into a list of symbols to manually relocate.
-global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# The name lister interface.
-nm_interface=$lt_lt_cv_nm_interface
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and where our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# Command to truncate a binary pipe.
-lt_truncate_bin=$lt_lt_cv_truncate_bin
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Detected run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
-
-# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
-configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \$shlibpath_var if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects
-postdep_objects=$lt_postdep_objects
-predeps=$lt_predeps
-postdeps=$lt_postdeps
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-    cat <<'_LT_EOF' >> "$cfgfile"
-
-# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
-
-# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-#       string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-#       string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-#       "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-#       VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
-    case x$2 in
-    x)
-        ;;
-    *:)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
-        ;;
-    x:*)
-        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    *::*)
-        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
-        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
-        ;;
-    *)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    esac
-}
-
-
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
-    for cc_temp in $*""; do
-      case $cc_temp in
-        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-        \-*) ;;
-        *) break;;
-      esac
-    done
-    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-
-
-# ### END FUNCTIONS SHARED WITH CONFIGURE
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test set != "${COLLECT_NAMES+set}"; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain=$ac_aux_dir/ltmain.sh
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
-
-    cat <<_LT_EOF >> "$ofile"
-
-# ### BEGIN LIBTOOL TAG CONFIG: CXX
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag_CXX
-reload_cmds=$lt_reload_cmds_CXX
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds_CXX
-
-# A language specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object_CXX
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld_CXX
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \$shlibpath_var if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute_CXX
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath_CXX
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds_CXX
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds_CXX
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec_CXX
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects_CXX
-postdep_objects=$lt_postdep_objects_CXX
-predeps=$lt_predeps_CXX
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# ### END LIBTOOL TAG CONFIG: CXX
-_LT_EOF
-
  ;;
 
   esac
@@ -20345,12 +8224,15 @@ Summary of configuration for $PACKAGE v$VERSION
 - RNG choice                    : ${ac_RNG}
 - GMP                           : `if test "x$have_gmp" = xtrue; then echo yes; else echo no; fi`
 - LAPACK                        : ${ac_LAPACK}
-- FFTW                          : ${ac_fftw}
+- FFTW                          : `if test "x$have_fftw" = xtrue; then echo yes; else echo no; fi`
 - build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
 - graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
 ----- BUILD FLAGS -------------------------------------
-- CXXFLAGS:  "${AM_CXXFLAGS} ${CXXFLAGS}"
-- LDFLAGS:   "${AM_LDFLAGS} ${LDFLAGS}"
-- LIBS:      "${LIBS} "
+- CXXFLAGS:
+`echo ${AM_CXXFLAGS} ${CXXFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+- LDFLAGS:
+`echo ${AM_LDFLAGS} ${LDFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+- LIBS:
+`echo ${LIBS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
 -------------------------------------------------------
 "
diff --git a/scripts/filelist b/scripts/filelist
index d59210a5..0802c2a6 100755
--- a/scripts/filelist
+++ b/scripts/filelist
@@ -13,21 +13,22 @@ echo CCFILES=$CCFILES >> Make.inc
 
 # tests Make.inc
 cd $home/tests
-dirs=`find . -type d `
+dirs=`find . -type d -not -path '*/\.*'`
 for subdir in $dirs; do
-	cd $home/tests/$subdir
-	TESTS=`ls T*.cc`
-	TESTLIST=`echo ${TESTS} | sed s/.cc//g `
-	PREF=`[ $subdir = '.' ] && echo noinst || echo EXTRA`
-	echo "tests: ${TESTLIST}" > Make.inc
-	echo ${PREF}_PROGRAMS = ${TESTLIST} >> Make.inc
+    cd $home/tests/$subdir
+    pwd
+    TESTS=`ls T*.cc`
+    TESTLIST=`echo ${TESTS} | sed s/.cc//g `
+    PREF=`[ $subdir = '.' ] && echo noinst || echo EXTRA`
+    echo "tests: ${TESTLIST}" > Make.inc
+    echo ${PREF}_PROGRAMS = ${TESTLIST} >> Make.inc
+    echo >> Make.inc
+    for f in $TESTS; do
+	BNAME=`basename $f .cc`
+	echo ${BNAME}_SOURCES=$f  >> Make.inc
+	echo ${BNAME}_LDADD=-lGrid>> Make.inc
 	echo >> Make.inc
-	for f in $TESTS; do
-		BNAME=`basename $f .cc`
-		echo ${BNAME}_SOURCES=$f  >> Make.inc
-		echo ${BNAME}_LDADD=-lGrid>> Make.inc
-		echo >> Make.inc
-	done
+    done
 done
 
 # benchmarks Make.inc
@@ -38,10 +39,10 @@ TESTLIST=`echo ${TESTS} | sed s/.cc//g `
 echo bin_PROGRAMS = ${TESTLIST} > Make.inc
 echo >> Make.inc
 for f in $TESTS; do
-	BNAME=`basename $f .cc`
-	echo ${BNAME}_SOURCES=$f  >> Make.inc
-	echo ${BNAME}_LDADD=-lGrid>> Make.inc
-	echo >> Make.inc
+    BNAME=`basename $f .cc`
+    echo ${BNAME}_SOURCES=$f  >> Make.inc
+    echo ${BNAME}_LDADD=-lGrid>> Make.inc
+    echo >> Make.inc
 done
 
 cd ..
diff --git a/tests/qdpxx/Test_qdpxx_loops_staples.cc b/tests/qdpxx/Test_qdpxx_loops_staples.cc
old mode 100755
new mode 100644
diff --git a/tests/qdpxx/Test_qdpxx_munprec.cc b/tests/qdpxx/Test_qdpxx_munprec.cc
old mode 100755
new mode 100644

From 296396646d1198fc09709bde98d498aaf70302ed Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:36:14 +0100
Subject: [PATCH 152/295] FPE's on macos set up

---
 lib/Init.cc | 39 +++++++++++++++++++++++----------------
 lib/Init.h  |  1 -
 2 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/lib/Init.cc b/lib/Init.cc
index 4cb4bb50..cff43185 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -46,23 +46,10 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #include <iterator>
 #include <cstdlib>
 #include <memory>
-#include <cxxabi.h>
 
 
 namespace Grid {
 
-    std::string demangle(const char* name) {
-
-      int status = -4; // some arbitrary value to eliminate the compiler warning
-
-      // enable c++11 by passing the flag -std=c++11 to g++
-      std::unique_ptr<char, void(*)(void*)> res {
-	abi::__cxa_demangle(name, NULL, NULL, &status),
-	  std::free
-	  };
-
-      return (status==0) ? res.get() : name ;
-    }
 
 //////////////////////////////////////////////////////
 // Convenience functions to access stadard command line arg
@@ -343,10 +330,30 @@ void Grid_sa_signal_handler(int sig,siginfo_t *si,void * ptr)
   exit(0);
   return;
 };
-#ifdef GRID_FPE
+
+
 #define _GNU_SOURCE
 #include <fenv.h>
+
+#ifdef __APPLE__
+static int
+feenableexcept (unsigned int excepts)
+{
+  static fenv_t fenv;
+  unsigned int new_excepts = excepts & FE_ALL_EXCEPT,
+    old_excepts;  // previous masks
+
+  if ( fegetenv (&fenv) ) return -1;
+  old_excepts = fenv.__control & FE_ALL_EXCEPT;
+
+  // unmask
+  fenv.__control &= ~new_excepts;
+  fenv.__mxcsr   &= ~(new_excepts << 7);
+
+  return ( fesetenv (&fenv) ? -1 : old_excepts );
+}
 #endif
+
 void Grid_debug_handler_init(void)
 {
   struct sigaction sa,osa;
@@ -355,9 +362,9 @@ void Grid_debug_handler_init(void)
   sa.sa_flags    = SA_SIGINFO;
   sigaction(SIGSEGV,&sa,NULL);
   sigaction(SIGTRAP,&sa,NULL);
-#ifdef GRID_FPE
+
   feenableexcept( FE_INVALID|FE_OVERFLOW|FE_DIVBYZERO);
+
   sigaction(SIGFPE,&sa,NULL);
-#endif
 }
 }
diff --git a/lib/Init.h b/lib/Init.h
index 6eb07a49..8986d24b 100644
--- a/lib/Init.h
+++ b/lib/Init.h
@@ -52,7 +52,6 @@ namespace Grid {
   void GridCmdOptionCSL(std::string str,std::vector<std::string> & vec);
   void GridCmdOptionIntVector(std::string &str,std::vector<int> & vec);
 
-  std::string demangle(const char* name) ;
 
   void GridParseLayout(char **argv,int argc,
 		       std::vector<int> &latt,

From 567b6cf23f5b33bb101965fc7613b969373db20a Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:36:51 +0100
Subject: [PATCH 153/295] demangle moves to logging

---
 lib/Log.cc | 15 +++++++++++++++
 lib/Log.h  |  3 ++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/lib/Log.cc b/lib/Log.cc
index 2082570d..5152bd77 100644
--- a/lib/Log.cc
+++ b/lib/Log.cc
@@ -31,8 +31,23 @@ directory
 /*  END LEGAL */
 #include <Grid.h>
 
+#include <cxxabi.h>
+
 namespace Grid {
 
+  std::string demangle(const char* name) {
+    
+    int status = -4; // some arbitrary value to eliminate the compiler warning
+    
+    // enable c++11 by passing the flag -std=c++11 to g++
+    std::unique_ptr<char, void(*)(void*)> res {
+      abi::__cxa_demangle(name, NULL, NULL, &status),
+	std::free
+	};
+    
+    return (status==0) ? res.get() : name ;
+  }
+  
 GridStopWatch Logger::StopWatch;
 std::ostream Logger::devnull(0);
 
diff --git a/lib/Log.h b/lib/Log.h
index 156f52ee..9f9e19a7 100644
--- a/lib/Log.h
+++ b/lib/Log.h
@@ -143,6 +143,7 @@ extern GridLogger GridLogIterative  ;
 extern GridLogger GridLogIntegrator  ;
 extern Colours    GridLogColours;
 
+ std::string demangle(const char* name) ;
 
 #define _NBACKTRACE (256)
 extern void * Grid_backtrace_buffer[_NBACKTRACE];
@@ -161,7 +162,7 @@ std::fclose(fp);	    \
 int symbols    = backtrace        (Grid_backtrace_buffer,_NBACKTRACE);\
 char **strings = backtrace_symbols(Grid_backtrace_buffer,symbols);\
 for (int i = 0; i < symbols; i++){\
-  std::fprintf (fp,"BackTrace Strings: %d %s\n",i, strings[i]); std::fflush(fp); \
+  std::fprintf (fp,"BackTrace Strings: %d %s\n",i, demangle(strings[i]).c_str()); std::fflush(fp); \
 }\
 }
 #else 

From 16b37b956cb8018ba9acfab1424305854dde750a Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:37:59 +0100
Subject: [PATCH 154/295] divide goes to ET

---
 lib/lattice/Lattice_base.h | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/lib/lattice/Lattice_base.h b/lib/lattice/Lattice_base.h
index 3bfa5613..b97e1359 100644
--- a/lib/lattice/Lattice_base.h
+++ b/lib/lattice/Lattice_base.h
@@ -303,17 +303,6 @@ PARALLEL_FOR_LOOP
         *this = (*this)+r;
         return *this;
     }
-    
-    strong_inline friend Lattice<vobj> operator / (const Lattice<vobj> &lhs,const Lattice<vobj> &rhs){
-        conformable(lhs,rhs);
-        Lattice<vobj> ret(lhs._grid);
-PARALLEL_FOR_LOOP
-        for(int ss=0;ss<lhs._grid->oSites();ss++){
-	  ret._odata[ss] = lhs._odata[ss]*pow(rhs._odata[ss],-1.0);
-        }
-        return ret;
-    };
-
  }; // class Lattice
 
   template<class vobj> std::ostream& operator<< (std::ostream& stream, const Lattice<vobj> &o){

From 81a7a0307698246638776d1fad7a6610b6116e83 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:38:17 +0100
Subject: [PATCH 155/295] Integer <<

---
 lib/Simd.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/Simd.h b/lib/Simd.h
index 9568c555..adc2849d 100644
--- a/lib/Simd.h
+++ b/lib/Simd.h
@@ -237,6 +237,18 @@ namespace Grid {
     stream<<">";
     return stream;
   }
+  inline std::ostream& operator<< (std::ostream& stream, const vInteger &o){
+    int nn=vInteger::Nsimd();
+    std::vector<Integer,alignedAllocator<Integer> > buf(nn);
+    vstore(o,&buf[0]);
+    stream<<"<";
+    for(int i=0;i<nn;i++){
+      stream<<buf[i];
+      if(i<nn-1) stream<<",";
+    }
+    stream<<">";
+    return stream;
+  }
 
 
 }

From 52a39f0fcdcdf152b495a86630f377e92277985b Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:38:38 +0100
Subject: [PATCH 156/295] Divide in ET

---
 lib/lattice/Lattice_ET.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/lattice/Lattice_ET.h b/lib/lattice/Lattice_ET.h
index 7ebac99d..1bb83901 100644
--- a/lib/lattice/Lattice_ET.h
+++ b/lib/lattice/Lattice_ET.h
@@ -261,6 +261,7 @@ GridUnopClass(UnaryExp, exp(a));
 GridBinOpClass(BinaryAdd, lhs + rhs);
 GridBinOpClass(BinarySub, lhs - rhs);
 GridBinOpClass(BinaryMul, lhs *rhs);
+GridBinOpClass(BinaryDiv, lhs /rhs);
 
 GridBinOpClass(BinaryAnd, lhs &rhs);
 GridBinOpClass(BinaryOr, lhs | rhs);
@@ -385,6 +386,7 @@ GRID_DEF_UNOP(exp, UnaryExp);
 GRID_DEF_BINOP(operator+, BinaryAdd);
 GRID_DEF_BINOP(operator-, BinarySub);
 GRID_DEF_BINOP(operator*, BinaryMul);
+GRID_DEF_BINOP(operator/, BinaryDiv);
 
 GRID_DEF_BINOP(operator&, BinaryAnd);
 GRID_DEF_BINOP(operator|, BinaryOr);

From b6713ecb60c2a0095ae4af44911b4bd6600d03a8 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:39:09 +0100
Subject: [PATCH 157/295] Momentum space rules for Overlap, DWF untested to
 date

---
 lib/qcd/action/fermion/WilsonFermion.cc   |   2 +
 lib/qcd/action/fermion/WilsonFermion5D.cc | 164 ++++++++++++++++++++++
 lib/qcd/action/fermion/WilsonFermion5D.h  |   3 +
 3 files changed, 169 insertions(+)

diff --git a/lib/qcd/action/fermion/WilsonFermion.cc b/lib/qcd/action/fermion/WilsonFermion.cc
index caf1913d..55fbfa01 100644
--- a/lib/qcd/action/fermion/WilsonFermion.cc
+++ b/lib/qcd/action/fermion/WilsonFermion.cc
@@ -184,7 +184,9 @@ namespace QCD {
     num   = num + wilson*in;     // -i gmu sin k + 2 sin^2 k/2 + m
 
     denom= denom+wilson*wilson; // sin^2 k + (2 sin^2 k/2 + m)^2
+
     denom= one/denom;
+
     out = num*denom; // [ -i gmu sin k + 2 sin^2 k/2 + m] / [ sin^2 k + (2 sin^2 k/2 + m)^2 ]
 
   }
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.cc b/lib/qcd/action/fermion/WilsonFermion5D.cc
index ef7e84ab..28f02b67 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.cc
+++ b/lib/qcd/action/fermion/WilsonFermion5D.cc
@@ -392,6 +392,170 @@ void WilsonFermion5D<Impl>::DW(const FermionField &in, FermionField &out,int dag
   axpy(out,4.0-M5,in,out);
 }
 
+template<class Impl>
+void WilsonFermion5D<Impl>::MomentumSpacePropagatorHt(FermionField &out,const FermionField &in) 
+{
+    // what type LatticeComplex 
+    GridBase *_grid = _FourDimGrid;
+    conformable(_grid,out._grid);
+
+    typedef typename FermionField::vector_type vector_type;
+    typedef typename FermionField::scalar_type ScalComplex;
+    typedef iSinglet<ScalComplex> Tcomplex;
+    typedef Lattice<iSinglet<vector_type> > LatComplex;
+
+    Gamma::GammaMatrix Gmu [] = {
+      Gamma::GammaX,
+      Gamma::GammaY,
+      Gamma::GammaZ,
+      Gamma::GammaT
+    };
+
+    std::vector<int> latt_size   = _grid->_fdimensions;
+
+
+    LatComplex    sk(_grid);  sk = zero;
+    LatComplex    sk2(_grid); sk2= zero;
+
+    LatComplex    W(_grid); W= zero;
+    LatComplex    a(_grid); a= zero;
+    LatComplex    cosha(_grid); a= zero;
+
+    LatComplex     one  (_grid);     one = ScalComplex(1.0,0.0);
+
+    FermionField   num  (_grid); num  = zero;
+    LatComplex denom(_grid); denom= zero;
+    LatComplex kmu(_grid); 
+    ScalComplex ci(0.0,1.0);
+
+    for(int mu=0;mu<Nd;mu++) {
+
+      LatticeCoordinate(kmu,mu);
+
+      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+
+      kmu = TwoPiL * kmu;
+
+      sk2 = sk2 + 2.0*sin(kmu*0.5)*sin(kmu*0.5);
+      sk  = sk  + sin(kmu)*sin(kmu); 
+
+      num = num - sin(kmu)*ci*(Gamma(Gmu[mu])*in);
+
+    }
+
+    W = one - M5 - sk2;
+    cosha =  (one + W*W + sk) / (W*2.0);
+    
+    for(int idx=0;idx<_grid->lSites();idx++){
+      Tcomplex cc;
+      RealD sgn;
+      std::vector<int> lcoor(Nd);
+      _grid->LocalIndexToLocalCoor(idx,lcoor);
+      peekLocalSite(cc,cosha,lcoor);
+      sgn= ::fabs(real(cc));
+      cc = ScalComplex(::acosh(sgn),0.0);
+      pokeLocalSite(cc,a,lcoor);
+    }
+
+  std::cout << "Ht mom space num" << norm2(num)<<std::endl;// num ok
+  std::cout << "Ht mom space W  " << norm2(W)<<std::endl;// w ok
+  std::cout << "Ht mom space a  " << norm2(a)<<std::endl;// a ok
+  denom= ( exp(a) ); 
+  std::cout << "Ht mom space den" << norm2(denom)<<std::endl;
+  denom= ( exp(a) * W  ); 
+  std::cout << "Ht mom space den W" << norm2(denom)<<std::endl;
+  denom= ( exp(a) * W - one ); 
+  std::cout << "Ht mom space den W- 1" << norm2(denom)<<std::endl;
+  denom=where(sk==ScalComplex(0,0),one,denom);
+  std::cout << "Ht mom space den W- 1" << denom<<std::endl;
+  std::cout << "Ht mom space one " << norm2(one)<<std::endl;
+  denom= one/denom;
+  std::cout << "Ht mom space div " << norm2(denom)<<std::endl;
+  out = num*denom;
+  std::cout << "Ht mom space out" << norm2(out)<<std::endl;
+}
+
+template<class Impl>
+void WilsonFermion5D<Impl>::MomentumSpacePropagatorHw(FermionField &out,const FermionField &in) 
+{
+    // what type LatticeComplex 
+    GridBase *_grid = _FourDimGrid;
+    conformable(_grid,out._grid);
+
+    typedef typename FermionField::vector_type vector_type;
+    typedef typename FermionField::scalar_type ScalComplex;
+
+    typedef Lattice<iSinglet<vector_type> > LatComplex;
+
+    Gamma::GammaMatrix Gmu [] = {
+      Gamma::GammaX,
+      Gamma::GammaY,
+      Gamma::GammaZ,
+      Gamma::GammaT
+    };
+
+    std::vector<int> latt_size   = _grid->_fdimensions;
+
+
+    LatComplex    sk(_grid);  sk = zero;
+    LatComplex    sk2(_grid); sk2= zero;
+
+    LatComplex    w_k(_grid); w_k= zero;
+    LatComplex    b_k(_grid); b_k= zero;
+
+    LatComplex     one  (_grid); one = ScalComplex(1.0,0.0);
+
+    FermionField   num  (_grid); num  = zero;
+    LatComplex denom(_grid); denom= zero;
+    LatComplex kmu(_grid); 
+    ScalComplex ci(0.0,1.0);
+
+    for(int mu=0;mu<Nd;mu++) {
+
+      LatticeCoordinate(kmu,mu);
+
+      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+
+      kmu = TwoPiL * kmu;
+
+      sk2 = sk2 + 2.0*sin(kmu*0.5)*sin(kmu*0.5);
+      sk  = sk  + sin(kmu)*sin(kmu); 
+
+      num = num - sin(kmu)*ci*(Gamma(Gmu[mu])*in);
+
+    }
+
+    b_k = sk2 - M5;
+     
+    w_k = sqrt(sk + b_k*b_k);
+
+    std::cout << "Hw M5 " << M5<<std::endl;
+    std::cout << "Hw mom space NUM" << norm2(num)<<std::endl;
+    std::cout << "Hw mom space BK" << norm2(b_k)<<std::endl;
+    std::cout << "Hw mom space BK" << b_k<<std::endl;
+    std::cout << "Hw mom space WK" << norm2(w_k)<<std::endl;
+    std::cout << "Hw mom space WK" << w_k<<std::endl;
+
+    denom= ( w_k + b_k ) * (2.0 * M5);
+    denom=where(sk==ScalComplex(0,0),one,denom);
+
+    std::cout << "Hw mom space DEMON" << norm2(denom)<<std::endl;
+
+    std::cout << "Hw mom space DEMON" << denom<<std::endl;
+    
+    std::cout << "Hw mom space one" << norm2(one)<<std::endl;
+
+    denom= one/denom;
+
+    std::cout << "Hw mom space div " << norm2(denom)<<std::endl;
+
+    std::cout << "denom " << denom<<std::endl;
+
+    out = num*denom;
+    std::cout << "Hw mom space OUT" << norm2(out)<<std::endl;
+}
+
+
 FermOpTemplateInstantiate(WilsonFermion5D);
 GparityFermOpTemplateInstantiate(WilsonFermion5D);
   
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.h b/lib/qcd/action/fermion/WilsonFermion5D.h
index 4ff37007..a56bee11 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.h
+++ b/lib/qcd/action/fermion/WilsonFermion5D.h
@@ -88,6 +88,9 @@ namespace Grid {
       virtual void DhopDerivEO(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
       virtual void DhopDerivOE(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
 
+      void MomentumSpacePropagatorHt(FermionField &out,const FermionField &in) ;
+      void MomentumSpacePropagatorHw(FermionField &out,const FermionField &in) ;
+
       // Implement hopping term non-hermitian hopping term; half cb or both
       // Implement s-diagonal DW
       void DW    (const FermionField &in, FermionField &out,int dag);

From 836e9295652de09e5e25512f11e2692e1f8ae1f7 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:42:22 +0100
Subject: [PATCH 158/295] Divide handling improved

---
 lib/simd/Grid_avx.h          | 17 ++++++-
 lib/simd/Grid_avx512.h       | 12 +++++
 lib/simd/Grid_imci.h         | 12 +++++
 lib/simd/Grid_sse4.h         | 15 ++++++
 lib/simd/Grid_vector_types.h | 90 ++++++++++++++++++++++--------------
 5 files changed, 110 insertions(+), 36 deletions(-)

diff --git a/lib/simd/Grid_avx.h b/lib/simd/Grid_avx.h
index 03faabee..33496e07 100644
--- a/lib/simd/Grid_avx.h
+++ b/lib/simd/Grid_avx.h
@@ -365,6 +365,18 @@ namespace Optimization {
     }
   };
 
+  struct Div{
+    // Real float
+    inline __m256 operator()(__m256 a, __m256 b){
+      return _mm256_div_ps(a,b);
+    }
+    // Real double
+    inline __m256d operator()(__m256d a, __m256d b){
+      return _mm256_div_pd(a,b);
+    }
+  };
+
+
   struct Conj{
     // Complex single
     inline __m256 operator()(__m256 in){
@@ -473,7 +485,7 @@ namespace Optimization {
   }
 
 #endif
-
+  /*
     inline std::ostream & operator << (std::ostream& stream, const __m256 a)
     {
       const float *p=(const float *)&a;
@@ -486,7 +498,7 @@ namespace Optimization {
       stream<< "{"<<p[0]<<","<<p[1]<<","<<p[2]<<","<<p[3]<<"}";
       return stream;
     };
-
+  */
   struct Rotate{
 
     static inline __m256 rotate(__m256 in,int n){ 
@@ -631,6 +643,7 @@ namespace Optimization {
   // Arithmetic operations
   typedef Optimization::Sum         SumSIMD;
   typedef Optimization::Sub         SubSIMD;
+  typedef Optimization::Div         DivSIMD;
   typedef Optimization::Mult        MultSIMD;
   typedef Optimization::MultComplex MultComplexSIMD;
   typedef Optimization::Conj        ConjSIMD;
diff --git a/lib/simd/Grid_avx512.h b/lib/simd/Grid_avx512.h
index b057a61b..394b75d6 100644
--- a/lib/simd/Grid_avx512.h
+++ b/lib/simd/Grid_avx512.h
@@ -230,6 +230,17 @@ namespace Optimization {
     }
   };
 
+  struct Div{
+    // Real float
+    inline __m512 operator()(__m512 a, __m512 b){
+      return _mm512_div_ps(a,b);
+    }
+    // Real double
+    inline __m512d operator()(__m512d a, __m512d b){
+      return _mm512_div_pd(a,b);
+    }
+  };
+
 
   struct Conj{
     // Complex single
@@ -427,6 +438,7 @@ namespace Optimization {
   typedef Optimization::Sum         SumSIMD;
   typedef Optimization::Sub         SubSIMD;
   typedef Optimization::Mult        MultSIMD;
+  typedef Optimization::Div         DivSIMD;
   typedef Optimization::MultComplex MultComplexSIMD;
   typedef Optimization::Conj        ConjSIMD;
   typedef Optimization::TimesMinusI TimesMinusISIMD;
diff --git a/lib/simd/Grid_imci.h b/lib/simd/Grid_imci.h
index 119a31a3..48cff96d 100644
--- a/lib/simd/Grid_imci.h
+++ b/lib/simd/Grid_imci.h
@@ -244,6 +244,17 @@ namespace Optimization {
     }
   };
 
+  struct Div{
+    // Real float
+    inline __m512 operator()(__m512 a, __m512 b){
+      return _mm512_div_ps(a,b);
+    }
+    // Real double
+    inline __m512d operator()(__m512d a, __m512d b){
+      return _mm512_div_pd(a,b);
+    }
+  };
+
 
   struct Conj{
     // Complex single
@@ -437,6 +448,7 @@ namespace Optimization {
   // Arithmetic operations
   typedef Optimization::Sum         SumSIMD;
   typedef Optimization::Sub         SubSIMD;
+  typedef Optimization::Div         DivSIMD;
   typedef Optimization::Mult        MultSIMD;
   typedef Optimization::MultComplex MultComplexSIMD;
   typedef Optimization::Conj        ConjSIMD;
diff --git a/lib/simd/Grid_sse4.h b/lib/simd/Grid_sse4.h
index a4002373..560eda11 100644
--- a/lib/simd/Grid_sse4.h
+++ b/lib/simd/Grid_sse4.h
@@ -224,6 +224,18 @@ namespace Optimization {
     }
   };
 
+  struct Div{
+    // Real float
+    inline __m128 operator()(__m128 a, __m128 b){
+      return _mm_div_ps(a,b);
+    }
+    // Real double
+    inline __m128d operator()(__m128d a, __m128d b){
+      return _mm_div_pd(a,b);
+    }
+  };
+
+
   struct Conj{
     // Complex single
     inline __m128 operator()(__m128 in){
@@ -372,6 +384,8 @@ namespace Optimization {
   }
 }
 
+
+
 //////////////////////////////////////////////////////////////////////////////////////
 // Here assign types 
 
@@ -398,6 +412,7 @@ namespace Optimization {
   // Arithmetic operations
   typedef Optimization::Sum         SumSIMD;
   typedef Optimization::Sub         SubSIMD;
+  typedef Optimization::Div         DivSIMD;
   typedef Optimization::Mult        MultSIMD;
   typedef Optimization::MultComplex MultComplexSIMD;
   typedef Optimization::Conj        ConjSIMD;
diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index 30576fb6..4c3e903d 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -77,38 +77,24 @@ struct RealPart<std::complex<T> > {
 //////////////////////////////////////
 // demote a vector to real type
 //////////////////////////////////////
-
 // type alias used to simplify the syntax of std::enable_if
-template <typename T>
-using Invoke = typename T::type;
-template <typename Condition, typename ReturnType>
-using EnableIf = Invoke<std::enable_if<Condition::value, ReturnType> >;
-template <typename Condition, typename ReturnType>
-using NotEnableIf = Invoke<std::enable_if<!Condition::value, ReturnType> >;
+template <typename T> using Invoke = typename T::type;
+template <typename Condition, typename ReturnType> using EnableIf = Invoke<std::enable_if<Condition::value, ReturnType> >;
+template <typename Condition, typename ReturnType> using NotEnableIf = Invoke<std::enable_if<!Condition::value, ReturnType> >;
 
 ////////////////////////////////////////////////////////
 // Check for complexity with type traits
-template <typename T>
-struct is_complex : public std::false_type {};
-template <>
-struct is_complex<std::complex<double> > : public std::true_type {};
-template <>
-struct is_complex<std::complex<float> > : public std::true_type {};
+template <typename T> struct is_complex : public std::false_type {};
+template <> struct is_complex<std::complex<double> > : public std::true_type {};
+template <> struct is_complex<std::complex<float> > : public std::true_type {};
 
-template <typename T>
-using IfReal = Invoke<std::enable_if<std::is_floating_point<T>::value, int> >;
-template <typename T>
-using IfComplex = Invoke<std::enable_if<is_complex<T>::value, int> >;
-template <typename T>
-using IfInteger = Invoke<std::enable_if<std::is_integral<T>::value, int> >;
+template <typename T> using IfReal       = Invoke<std::enable_if<std::is_floating_point<T>::value, int> >;
+template <typename T> using IfComplex    = Invoke<std::enable_if<is_complex<T>::value, int> >;
+template <typename T> using IfInteger    = Invoke<std::enable_if<std::is_integral<T>::value, int> >;
 
-template <typename T>
-using IfNotReal =
-    Invoke<std::enable_if<!std::is_floating_point<T>::value, int> >;
-template <typename T>
-using IfNotComplex = Invoke<std::enable_if<!is_complex<T>::value, int> >;
-template <typename T>
-using IfNotInteger = Invoke<std::enable_if<!std::is_integral<T>::value, int> >;
+template <typename T> using IfNotReal    = Invoke<std::enable_if<!std::is_floating_point<T>::value, int> >;
+template <typename T> using IfNotComplex = Invoke<std::enable_if<!is_complex<T>::value, int> >;
+template <typename T> using IfNotInteger = Invoke<std::enable_if<!std::is_integral<T>::value, int> >;
 
 ////////////////////////////////////////////////////////
 // Define the operation templates functors
@@ -285,6 +271,20 @@ class Grid_simd {
     return a * b;
   }
 
+  //////////////////////////////////
+  // Divides
+  //////////////////////////////////
+  friend inline Grid_simd operator/(const Scalar_type &a, Grid_simd b) {
+    Grid_simd va;
+    vsplat(va, a);
+    return va / b;
+  }
+  friend inline Grid_simd operator/(Grid_simd b, const Scalar_type &a) {
+    Grid_simd va;
+    vsplat(va, a);
+    return b / a;
+  }
+
   ///////////////////////
   // Unary negation
   ///////////////////////
@@ -428,7 +428,6 @@ inline void rotate(Grid_simd<S,V> &ret,Grid_simd<S,V> b,int nrot)
   ret.v = Optimization::Rotate::rotate(b.v,2*nrot);
 }
 
-
 template <class S, class V> 
 inline void vbroadcast(Grid_simd<S,V> &ret,const Grid_simd<S,V> &src,int lane){
   S* typepun =(S*) &src;
@@ -512,7 +511,6 @@ template <class S, class V, IfInteger<S> = 0>
 inline void vfalse(Grid_simd<S, V> &ret) {
   vsplat(ret, 0);
 }
-
 template <class S, class V>
 inline void zeroit(Grid_simd<S, V> &z) {
   vzero(z);
@@ -530,7 +528,6 @@ inline void vstream(Grid_simd<S, V> &out, const Grid_simd<S, V> &in) {
   typedef typename S::value_type T;
   binary<void>((T *)&out.v, in.v, VstreamSIMD());
 }
-
 template <class S, class V, IfInteger<S> = 0>
 inline void vstream(Grid_simd<S, V> &out, const Grid_simd<S, V> &in) {
   out = in;
@@ -569,6 +566,36 @@ inline Grid_simd<S, V> operator*(Grid_simd<S, V> a, Grid_simd<S, V> b) {
   return ret;
 };
 
+// Distinguish between complex types and others
+template <class S, class V, IfComplex<S> = 0>
+inline Grid_simd<S, V> operator/(Grid_simd<S, V> a, Grid_simd<S, V> b) {
+  typedef Grid_simd<S, V> simd;
+
+  simd ret;
+  simd den;
+  typename simd::conv_t conv;
+
+  ret = a * conjugate(b) ;
+  den = b * conjugate(b) ;
+
+  
+  auto real_den = toReal(den);
+
+  ret.v=binary<V>(ret.v, real_den.v, DivSIMD());
+
+  std::cout << " Div call from complex "<<a<<" / " << b<< " = " <<ret<< std::endl;
+
+  return ret;
+};
+
+// Real/Integer types
+template <class S, class V, IfNotComplex<S> = 0>
+inline Grid_simd<S, V> operator/(Grid_simd<S, V> a, Grid_simd<S, V> b) {
+  Grid_simd<S, V> ret;
+  ret.v = binary<V>(a.v, b.v, DivSIMD());
+  return ret;
+};
+
 ///////////////////////
 // Conjugate
 ///////////////////////
@@ -582,7 +609,6 @@ template <class S, class V, IfNotComplex<S> = 0>
 inline Grid_simd<S, V> conjugate(const Grid_simd<S, V> &in) {
   return in;  // for real objects
 }
-
 // Suppress adj for integer types... // odd; why conjugate above but not adj??
 template <class S, class V, IfNotInteger<S> = 0>
 inline Grid_simd<S, V> adj(const Grid_simd<S, V> &in) {
@@ -596,14 +622,12 @@ template <class S, class V, IfComplex<S> = 0>
 inline void timesMinusI(Grid_simd<S, V> &ret, const Grid_simd<S, V> &in) {
   ret.v = binary<V>(in.v, ret.v, TimesMinusISIMD());
 }
-
 template <class S, class V, IfComplex<S> = 0>
 inline Grid_simd<S, V> timesMinusI(const Grid_simd<S, V> &in) {
   Grid_simd<S, V> ret;
   timesMinusI(ret, in);
   return ret;
 }
-
 template <class S, class V, IfNotComplex<S> = 0>
 inline Grid_simd<S, V> timesMinusI(const Grid_simd<S, V> &in) {
   return in;
@@ -616,14 +640,12 @@ template <class S, class V, IfComplex<S> = 0>
 inline void timesI(Grid_simd<S, V> &ret, const Grid_simd<S, V> &in) {
   ret.v = binary<V>(in.v, ret.v, TimesISIMD());
 }
-
 template <class S, class V, IfComplex<S> = 0>
 inline Grid_simd<S, V> timesI(const Grid_simd<S, V> &in) {
   Grid_simd<S, V> ret;
   timesI(ret, in);
   return ret;
 }
-
 template <class S, class V, IfNotComplex<S> = 0>
 inline Grid_simd<S, V> timesI(const Grid_simd<S, V> &in) {
   return in;

From 2ba7d43dddd40e010c30716aa74200d2ae84a62a Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:43:14 +0100
Subject: [PATCH 159/295] Divide handling

---
 lib/tensors/Tensor_arith_mul.h | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/lib/tensors/Tensor_arith_mul.h b/lib/tensors/Tensor_arith_mul.h
index 917f7373..c24853b7 100644
--- a/lib/tensors/Tensor_arith_mul.h
+++ b/lib/tensors/Tensor_arith_mul.h
@@ -126,6 +126,36 @@ iVector<rtype,N> operator * (const iVector<mtype,N>& lhs,const iScalar<vtype>& r
     mult(&ret,&lhs,&rhs);
     return ret;
 }
+
+//////////////////////////////////////////////////////////////////
+// Divide by scalar
+//////////////////////////////////////////////////////////////////
+template<class rtype,class vtype> strong_inline
+iScalar<rtype> operator / (const iScalar<rtype>& lhs,const iScalar<vtype>& rhs)
+{
+    iScalar<rtype> ret;
+    ret._internal = lhs._internal/rhs._internal;
+    return ret;
+}
+template<class rtype,class vtype,int N> strong_inline
+iVector<rtype,N> operator / (const iVector<rtype,N>& lhs,const iScalar<vtype>& rhs)
+{
+    iVector<rtype,N> ret;
+    for(int i=0;i<N;i++){
+      ret._internal[i] = lhs._internal[i]/rhs._internal;
+    }
+    return ret;
+}
+template<class rtype,class vtype,int N> strong_inline
+iMatrix<rtype,N> operator / (const iMatrix<rtype,N>& lhs,const iScalar<vtype>& rhs)
+{
+    iMatrix<rtype,N> ret;
+    for(int i=0;i<N;i++){
+    for(int j=0;j<N;j++){
+      ret._internal[i][j] = lhs._internal[i][j]/rhs._internal;
+    }}
+    return ret;
+}
     
     //////////////////////////////////////////////////////////////////
     // Glue operators to mult routines. Must resolve return type cleverly from typeof(internal)

From 7089b6d5a58912d7a18bf07c3bdc7a0848f82690 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:43:40 +0100
Subject: [PATCH 160/295] Setting up but not implemented some QED rules

---
 lib/qcd/action/gauge/Photon.h | 126 ++++++++++++++++++++++++++++++++++
 1 file changed, 126 insertions(+)
 create mode 100644 lib/qcd/action/gauge/Photon.h

diff --git a/lib/qcd/action/gauge/Photon.h b/lib/qcd/action/gauge/Photon.h
new file mode 100644
index 00000000..a7556b19
--- /dev/null
+++ b/lib/qcd/action/gauge/Photon.h
@@ -0,0 +1,126 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/qcd/action/gauge/Photon.h
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#ifndef QCD_PHOTON_ACTION_H
+#define QCD_PHOTON_ACTION_H
+
+namespace Grid{
+  namespace QCD{
+
+    template<class Gimpl>
+    class Photon  {
+      
+    public:
+
+      INHERIT_GIMPL_TYPES(Gimpl);
+
+      enum PhotonType { FEYNMAN_L, FEYNMAN_TL };
+
+      PhotonType GaugeBC;
+      
+      Photon(PhotonType _GaugeBC) : GaugeBC(_GaugeBC){};
+
+      void  FreePropagator (const GaugeField &in,GaugeField &out) {
+	FFT theFFT((GridCartesian *) in._grid);
+
+	GaugeField in_k(in._grid);
+	GaugeField prop_k(in._grid);
+
+	theFFT.FFT_all_dim(in_k,in,FFT::forward);
+        MomentumSpacePropagator(prop_k,in_k);
+	theFFT.FFT_all_dim(out,prop_k,FFT::backward);
+      }
+      void  MomentumSpacePropagator(GaugeField &out,const GaugeField &in) {
+	if ( GaugeBC == FEYNMAN_L ) { 
+	  FeynmanGaugeMomentumSpacePropagator_L(out,in);
+	} else if ( GaugeBC == FEYNMAN_TL ) { 
+	  FeynmanGaugeMomentumSpacePropagator_TL(out,in);
+	} else {  // No coulomb yet
+	  assert(0);
+	}
+      } 
+      void  FeynmanGaugeMomentumSpacePropagator_L(GaugeField &out, const GaugeField &in) { 
+
+	FeynmanGaugeMomentumSpacePropagator_TL(out,in);
+
+	GridBase *grid = out._grid;
+	LatticeInteger     coor(grid);
+	GaugeField zz(grid); zz=zero;
+
+	// xyzt
+	for(int d = 0; d < grid->_ndimension-1;d++){
+	  LatticeCoordinate(coor,d);
+	  out = where(coor==Integer(0),zz,out);
+	}
+      }
+      void  FeynmanGaugeMomentumSpacePropagator_TL(GaugeField &out, const GaugeField &in) { 
+
+
+	// what type LatticeComplex 
+	GridBase *grid = out._grid;
+	int nd = grid->_ndimension;
+
+	typedef typename GaugeField::vector_type vector_type;
+	typedef typename GaugeField::scalar_type ScalComplex;
+	typedef Lattice<iSinglet<vector_type> > LatComplex;
+    
+	std::vector<int> latt_size   = grid->_fdimensions;
+
+	LatComplex denom(grid); denom= zero;
+	LatComplex   one(grid); one = ScalComplex(1.0,0.0);
+
+	LatComplex kmu(grid); 
+	ScalComplex ci(0.0,1.0);
+	// momphase = n * 2pi / L
+	for(int mu=0;mu<Nd;mu++) {
+	  
+	  LatticeCoordinate(kmu,mu);
+	  
+	  RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+
+	  kmu = TwoPiL * kmu ;
+	  
+	  denom = denom + 4.0*sin(kmu*0.5)*sin(kmu*0.5); // Wilson term
+	}
+	std::vector<int> zero_mode(nd,0);
+	TComplexD Tone = ComplexD(1.0,0.0);
+	TComplexD Tzero= ComplexD(0.0,0.0);
+
+	pokeSite(Tone,denom,zero_mode); 
+
+	denom= one/denom;
+	
+	pokeSite(Tzero,denom,zero_mode); 
+
+	out = zero;
+	out = in*denom;
+      };
+
+    };
+
+}}
+#endif

From 34f887ca1c35234717568ee80c9edbab6df7eef4 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:44:36 +0100
Subject: [PATCH 161/295] Test_fft not complete; preparing for tests of
 momentum space DWF and Overlap feynman rules but not there yet.

---
 tests/core/Test_fft.cc | 98 ++++++++++++++++++++++++++++++++++++------
 1 file changed, 84 insertions(+), 14 deletions(-)

diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
index c076695d..a20791fb 100644
--- a/tests/core/Test_fft.cc
+++ b/tests/core/Test_fft.cc
@@ -27,6 +27,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     *************************************************************************************/
     /*  END LEGAL */
 #include <Grid/Grid.h>
+#include <Grid/qcd/action/gauge/Photon.h>
 
 using namespace Grid;
 using namespace Grid::QCD;
@@ -127,27 +128,96 @@ int main (int argc, char ** argv)
   pRNG.SeedFixedIntegers(seeds);
 
   LatticeGaugeFieldD Umu(&GRID);
-  LatticeFermionD    src(&GRID); gaussian(pRNG,src);
-  LatticeFermionD    tmp(&GRID);
-  LatticeFermionD    ref(&GRID);
 
   SU3::ColdConfiguration(pRNG,Umu); // Unit gauge
   
-  RealD mass=0.1;
-  WilsonFermionD Dw(Umu,GRID,RBGRID,mass);
+  {
+    LatticeFermionD    src(&GRID); gaussian(pRNG,src);
+    LatticeFermionD    tmp(&GRID);
+    LatticeFermionD    ref(&GRID);
+    
+    RealD mass=0.1;
+    WilsonFermionD Dw(Umu,GRID,RBGRID,mass);
+    
+    Dw.M(src,tmp);
 
-  Dw.M(src,tmp);
+    std::cout << " src = " <<norm2(src)<<std::endl;
+    std::cout << " tmp = " <<norm2(tmp)<<std::endl;
+    
+    Dw.FreePropagator(tmp,ref);
 
-  std::cout << " src = " <<norm2(src)<<std::endl;
-  std::cout << " tmp = " <<norm2(tmp)<<std::endl;
+    std::cout << " ref = " <<norm2(ref)<<std::endl;
+    
+    ref = ref - src;
+    
+    std::cout << " ref-src = " <<norm2(ref)<<std::endl;
+  }
 
-  Dw.FreePropagator(tmp,ref);
+  {
+    LatticeFermionD    src(&GRID); gaussian(pRNG,src);
+    LatticeFermionD    tmp(&GRID);
+    LatticeFermionD    ref(&GRID);
 
-  std::cout << " ref = " <<norm2(ref)<<std::endl;
-  
-  ref = ref - src;
-  
-  std::cout << " ref-src = " <<norm2(ref)<<std::endl;
+    const int Ls=8;
+    GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,&GRID);
+    GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,&GRID);
 
+    RealD mass=0.1;
+    RealD M5  =0.9;
+    DomainWallFermionD Ddwf(Umu,*FGrid,*FrbGrid,GRID,RBGRID,mass,M5);
+
+    // Need to solve and project 4d. New test required.
+
+    Ddwf.MomentumSpacePropagatorHw(ref,src) ;
+    std::cout << " Hw Mom space \n";
+
+
+    Ddwf.MomentumSpacePropagatorHt(ref,src) ;
+    std::cout << " Ht Mom space \n";
+
+      
+    {   
+      Gamma G5(Gamma::Gamma5);
+
+      LatticeFermionD    src5(FGrid); src5=zero;
+      LatticeFermionD    result5(FGrid); result5=zero;
+      LatticeFermionD    result4(&GRID); 
+
+      const int sdir=0;
+      
+      tmp =   (src + G5*src)*0.5;
+      InsertSlice(tmp,src5,Ls-1,sdir);
+      
+      tmp =   (src - G5*src)*0.5;
+      InsertSlice(tmp,src5,0,sdir);
+      
+      MdagMLinearOperator<DomainWallFermionD,LatticeFermionD> HermOp(Ddwf);
+      ConjugateGradient<LatticeFermionD> CG(1.0e-4,1000);
+      CG(HermOp,src5,result5);
+      result5 = zero;
+
+      ExtractSlice(tmp,result5,0,sdir);
+      result4 = (tmp+G5*tmp)*0.5;
+      
+      ExtractSlice(tmp,result5,Ls-1,sdir);
+      result4 = result4+(tmp-G5*tmp)*0.5;
+
+      std::cout << "src     "<<norm2(src)<<std::endl;
+      std::cout << "src5    "<<norm2(src5)<<std::endl;
+      std::cout << "result4 "<<norm2(result4)<<std::endl;
+      std::cout << "ref     "<<norm2(ref)<<std::endl;
+    }
+  }
+
+  {
+    typedef GaugeImplTypes<vComplexD, 1> QEDGimplTypesD;
+    typedef Photon<QEDGimplTypesD>       QEDGaction;
+    QEDGaction Maxwell(QEDGaction::FEYNMAN_L);
+    QEDGaction::GaugeField Prop(&GRID);Prop=zero;
+    QEDGaction::GaugeField Source(&GRID);Source=zero;
+
+    Maxwell.FreePropagator (Source,Prop);
+    std::cout << " MaxwellFree propagator\n";
+  }
   Grid_finalize();
 }

From 167cc2650ea8ad87f9920326513feea559ffc523 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 09:58:09 +0100
Subject: [PATCH 162/295] GNU SOURCE problem on travis

---
 lib/Init.cc | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/Init.cc b/lib/Init.cc
index cff43185..2f9619a9 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -331,8 +331,6 @@ void Grid_sa_signal_handler(int sig,siginfo_t *si,void * ptr)
   return;
 };
 
-
-#define _GNU_SOURCE
 #include <fenv.h>
 
 #ifdef __APPLE__

From 9353b6edfe7fd0567f40fad0f0dfb497a5d91c22 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 10:09:13 +0100
Subject: [PATCH 163/295] Fenv out of grid namespace

---
 lib/Init.cc | 41 ++++++++++++++++++++---------------------
 1 file changed, 20 insertions(+), 21 deletions(-)

diff --git a/lib/Init.cc b/lib/Init.cc
index 2f9619a9..221c056d 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -48,6 +48,26 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #include <memory>
 
 
+#include <fenv.h>
+#ifdef __APPLE__
+static int
+feenableexcept (unsigned int excepts)
+{
+  static fenv_t fenv;
+  unsigned int new_excepts = excepts & FE_ALL_EXCEPT,
+    old_excepts;  // previous masks
+
+  if ( fegetenv (&fenv) ) return -1;
+  old_excepts = fenv.__control & FE_ALL_EXCEPT;
+
+  // unmask
+  fenv.__control &= ~new_excepts;
+  fenv.__mxcsr   &= ~(new_excepts << 7);
+
+  return ( fesetenv (&fenv) ? -1 : old_excepts );
+}
+#endif
+
 namespace Grid {
 
 
@@ -331,27 +351,6 @@ void Grid_sa_signal_handler(int sig,siginfo_t *si,void * ptr)
   return;
 };
 
-#include <fenv.h>
-
-#ifdef __APPLE__
-static int
-feenableexcept (unsigned int excepts)
-{
-  static fenv_t fenv;
-  unsigned int new_excepts = excepts & FE_ALL_EXCEPT,
-    old_excepts;  // previous masks
-
-  if ( fegetenv (&fenv) ) return -1;
-  old_excepts = fenv.__control & FE_ALL_EXCEPT;
-
-  // unmask
-  fenv.__control &= ~new_excepts;
-  fenv.__mxcsr   &= ~(new_excepts << 7);
-
-  return ( fesetenv (&fenv) ? -1 : old_excepts );
-}
-#endif
-
 void Grid_debug_handler_init(void)
 {
   struct sigaction sa,osa;

From 87acd06990090acae4f19ae147ca794d243764f5 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 26 Sep 2016 10:11:34 +0100
Subject: [PATCH 164/295] Use streaming stores

---
 lib/simd/Intel512common.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/simd/Intel512common.h b/lib/simd/Intel512common.h
index dabbf6d8..74793638 100644
--- a/lib/simd/Intel512common.h
+++ b/lib/simd/Intel512common.h
@@ -139,8 +139,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #define ZLOADd(OFF,PTR,ri,ir)  VLOADd(OFF,PTR,ir)  VSHUFd(ir,ri)
 
 
-#define VSTOREf(OFF,PTR,SRC)   "vmovaps " #SRC "," #OFF "*64(" #PTR ")"  ";\n"
-#define VSTOREd(OFF,PTR,SRC)   "vmovapd " #SRC "," #OFF "*64(" #PTR ")"  ";\n"
+#define VSTOREf(OFF,PTR,SRC)   "vmovntps " #SRC "," #OFF "*64(" #PTR ")"  ";\n"
+#define VSTOREd(OFF,PTR,SRC)   "vmovntpd " #SRC "," #OFF "*64(" #PTR ")"  ";\n"
 
 // Swaps Re/Im ; could unify this with IMCI
 #define VSHUFd(A,DEST)         "vpshufd  $0x4e," #A "," #DEST  ";\n"    

From 798ff34d7e559b04f24f724fea70c642fbf4b824 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 27 Sep 2016 11:29:31 +0100
Subject: [PATCH 165/295] configure removed: please don't commit configure!

---
 configure | 8238 -----------------------------------------------------
 1 file changed, 8238 deletions(-)
 delete mode 100755 configure

diff --git a/configure b/configure
deleted file mode 100755
index 286a8abd..00000000
--- a/configure
+++ /dev/null
@@ -1,8238 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Grid 0.5.1-dev.
-#
-# Report bugs to <https://github.com/paboyle/Grid>.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-	 /*)
-	   for as_base in sh bash ksh sh5; do
-	     # Try only shells that exist, to save several forks.
-	     as_shell=$as_dir/$as_base
-	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-	   done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: https://github.com/paboyle/Grid about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='	';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='Grid'
-PACKAGE_TARNAME='Grid'
-PACKAGE_VERSION='0.5.1-dev'
-PACKAGE_STRING='Grid 0.5.1-dev'
-PACKAGE_BUGREPORT='https://github.com/paboyle/Grid'
-PACKAGE_URL=''
-
-ac_unique_file="lib/Grid.h"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-AM_LDFLAGS
-AM_CXXFLAGS
-AM_CFLAGS
-enable_latex_docs
-enable_html_docs
-enable_dot
-DOXYGEN_DOC_FALSE
-DOXYGEN_DOC_TRUE
-DOT
-DOXYGEN
-BUILD_CHROMA_REGRESSION_FALSE
-BUILD_CHROMA_REGRESSION_TRUE
-BUILD_COMMS_NONE_FALSE
-BUILD_COMMS_NONE_TRUE
-BUILD_COMMS_MPI_FALSE
-BUILD_COMMS_MPI_TRUE
-BUILD_COMMS_SHMEM_FALSE
-BUILD_COMMS_SHMEM_TRUE
-MPI_CXXLDFLAGS
-MPI_CXXFLAGS
-MPICXX
-GXX_VERSION
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-ac_ct_CC
-CFLAGS
-CC
-HAVE_CXX11
-EGREP
-GREP
-CXXCPP
-OPENMP_CXXFLAGS
-RANLIB
-am__fastdepCXX_FALSE
-am__fastdepCXX_TRUE
-CXXDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CXX
-CPPFLAGS
-LDFLAGS
-CXXFLAGS
-CXX
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-runstatedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_silent_rules
-enable_dependency_tracking
-enable_openmp
-with_gmp
-with_mpfr
-enable_lapack
-with_fftw
-enable_simd
-enable_precision
-enable_comms
-enable_rng
-enable_timers
-enable_chroma
-enable_doxygen
-enable_dot
-enable_html_docs
-enable_latex_docs
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CXX
-CXXFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CCC
-CXXCPP
-CC
-CFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
-		datadir sysconfdir sharedstatedir localstatedir includedir \
-		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir runstatedir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_myself" : 'X\(//\)[^/]' \| \
-	 X"$as_myself" : 'X\(//\)$' \| \
-	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-	pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures Grid 0.5.1-dev to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/Grid]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of Grid 0.5.1-dev:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-silent-rules   less verbose build output (undo: "make V=1")
-  --disable-silent-rules  verbose build output (undo: "make V=0")
-  --enable-dependency-tracking
-                          do not reject slow dependency extractors
-  --disable-dependency-tracking
-                          speeds up one-time build
-  --disable-openmp        do not use OpenMP
-  --enable-lapack=yes|no|prefix
-                          enable LAPACK
-  --enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC
-                          Select instructions to be SSE4.0, AVX 1.0, AVX
-                          2.0+FMA, AVX 512, IMCI
-  --enable-precision=single|double
-                          Select default word size of Real
-  --enable-comms=none|mpi|mpi-auto|shmem
-                          Select communications
-  --enable-rng=ranlux48|mt19937
-                          Select Random Number Generator to be used
-  --enable-timers         Enable system dependent high res timers
-  --enable-chroma         Expect chroma compiled under c++11
-  --enable-doxygen        enable documentation generation with doxygen (auto)
-  --enable-dot            use 'dot' to generate graphs in doxygen (auto)
-  --enable-html-docs      enable HTML generation with doxygen (yes)
-  --enable-latex-docs     enable LaTeX documentation generation with doxygen
-                          (no)
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-gmp=prefix       try this for a non-standard install prefix of the
-                          GMP library
-  --with-mpfr=prefix      try this for a non-standard install prefix of the
-                          MPFR library
-  --with-fftw=prefix      try this for a non-standard install prefix of the
-                          FFTW3 library
-
-Some influential environment variables:
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CXXCPP      C++ preprocessor
-  CC          C compiler command
-  CFLAGS      C compiler flags
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <https://github.com/paboyle/Grid>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-Grid configure 0.5.1-dev
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_cxx_try_compile LINENO
-# ----------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_compile
-
-# ac_fn_cxx_try_link LINENO
-# -------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_link
-
-# ac_fn_cxx_try_cpp LINENO
-# ------------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_cpp
-
-# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
-# ---------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_cxx_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ---------------------------------------------- ##
-## Report this to https://github.com/paboyle/Grid ##
-## ---------------------------------------------- ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_header_mongrel
-
-# ac_fn_cxx_try_run LINENO
-# ------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_cxx_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_run
-
-# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
-# ---------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_cxx_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_header_compile
-
-# ac_fn_cxx_check_decl LINENO SYMBOL VAR INCLUDES
-# -----------------------------------------------
-# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-# accordingly.
-ac_fn_cxx_check_decl ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  as_decl_name=`echo $2|sed 's/ *(.*//'`
-  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-#ifndef $as_decl_name
-#ifdef __cplusplus
-  (void) $as_decl_use;
-#else
-  (void) $as_decl_name;
-#endif
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_decl
-
-# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES
-# ---------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_cxx_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-	 return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-	    return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_type
-
-# ac_fn_c_find_uintX_t LINENO BITS VAR
-# ------------------------------------
-# Finds an unsigned integer type with width BITS, setting cache variable VAR
-# accordingly.
-ac_fn_c_find_uintX_t ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
-$as_echo_n "checking for uint$2_t... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-     # Order is important - never check a type that is potentially smaller
-     # than half of the expected target width.
-     for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \
-	 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
-test_array [0] = 0;
-return test_array [0];
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  case $ac_type in #(
-  uint$2_t) :
-    eval "$3=yes" ;; #(
-  *) :
-    eval "$3=\$ac_type" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-       if eval test \"x\$"$3"\" = x"no"; then :
-
-else
-  break
-fi
-     done
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_find_uintX_t
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_cxx_check_func LINENO FUNC VAR
-# ------------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_cxx_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by Grid $as_me 0.5.1-dev, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-	ac_must_keep_next=false # Got value, back to normal.
-      else
-	case $ac_arg in
-	  *=* | --config-cache | -C | -disable-* | --disable-* \
-	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-	  | -with-* | --with-* | -without-* | --without-* | --x)
-	    case "$ac_configure_args0 " in
-	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-	    esac
-	    ;;
-	  -* ) ac_must_keep_next=true ;;
-	esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-	"s/'\''/'\''\\\\'\'''\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-	eval ac_val=\$$ac_var
-	case $ac_val in
-	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-	esac
-	$as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-	# differences in whitespace do not lead to failure.
-	ac_old_val_w=`echo x $ac_old_val`
-	ac_new_val_w=`echo x $ac_new_val`
-	if test "$ac_old_val_w" != "$ac_new_val_w"; then
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-	  ac_cache_corrupted=:
-	else
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-	  eval $ac_var=\$ac_old_val
-	fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-am__api_version='1.15'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    rm -rf conftest.one conftest.two conftest.dir
-	    echo one > conftest.one
-	    echo two > conftest.two
-	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-	      test -s conftest.one && test -s conftest.two &&
-	      test -s conftest.dir/conftest.one &&
-	      test -s conftest.dir/conftest.two
-	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	      break 3
-	    fi
-	  fi
-	fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   am_has_slept=no
-   for am_try in 1 2; do
-     echo "timestamp, slept: $am_has_slept" > conftest.file
-     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-     if test "$*" = "X"; then
-	# -L didn't work.
-	set X `ls -t "$srcdir/configure" conftest.file`
-     fi
-     if test "$*" != "X $srcdir/configure conftest.file" \
-	&& test "$*" != "X conftest.file $srcdir/configure"; then
-
-	# If neither matched, then we have a broken ls.  This can happen
-	# if, for instance, CONFIG_SHELL is bash and it inherits a
-	# broken ls alias from the environment.  This has actually
-	# happened.  Such a system could not be considered "sane".
-	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-  alias in your environment" "$LINENO" 5
-     fi
-     if test "$2" = conftest.file || test $am_try -eq 2; then
-       break
-     fi
-     # Just in case.
-     sleep 1
-     am_has_slept=yes
-   done
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
-  ( sleep 1 ) &
-  am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
-  am_missing_run="$MISSING "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip".  However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
-	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-	     'mkdir (GNU coreutils) '* | \
-	     'mkdir (coreutils) '* | \
-	     'mkdir (fileutils) '4.1*)
-	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-	       break 3;;
-	   esac
-	 done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-	@echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=1;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-	@$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
-    AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='Grid'
- VERSION='0.5.1-dev'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# For better backward compatibility.  To be removed once Automake 1.9.x
-# dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
-mkdir_p='$(MKDIR_P)'
-
-# We need awk for the "check" target (and possibly the TAP driver).  The
-# system "awk" is bad on some platforms.
-# Always define AMTAR for backward compatibility.  Yes, it's still used
-# in the wild :-(  We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar  pax cpio none'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes.  So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
-  cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present.  This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message.  This
-can help us improve future automake versions.
-
-END
-  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
-    echo 'Configuration will proceed anyway, since you have set the' >&2
-    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
-    echo >&2
-  else
-    cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
-    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
-  fi
-fi
-
-
-
-ac_config_headers="$ac_config_headers lib/Config.h"
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=0;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-	@$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
-    AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-
-
-############### Checks for programs
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CXXFLAGS="-O3 $CXXFLAGS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
-$as_echo_n "checking whether the C++ compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-	;;
-    [ab].out )
-	# We found the default executable, but exeext='' is most
-	# certainly right.
-	break;;
-    *.* )
-	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-	then :; else
-	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	fi
-	# We set ac_cv_exeext here because the later test for it is not
-	# safe: cross compilers may not add the suffix if given an `-o'
-	# argument, so we may need to know it at that point already.
-	# Even if this section looks crufty: it has the advantage of
-	# actually working.
-	break;;
-    * )
-	break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C++ compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
-$as_echo_n "checking for C++ compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C++ compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if ${ac_cv_cxx_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if ${ac_cv_prog_cxx_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-else
-  CXXFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-  am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CXX"  am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-############ openmp  ###############
-
-
-  OPENMP_CXXFLAGS=
-  # Check whether --enable-openmp was given.
-if test "${enable_openmp+set}" = set; then :
-  enableval=$enable_openmp;
-fi
-
-  if test "$enable_openmp" != no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CXX option to support OpenMP" >&5
-$as_echo_n "checking for $CXX option to support OpenMP... " >&6; }
-if ${ac_cv_prog_cxx_openmp+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifndef _OPENMP
- choke me
-#endif
-#include <omp.h>
-int main () { return omp_get_num_threads (); }
-
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_prog_cxx_openmp='none needed'
-else
-  ac_cv_prog_cxx_openmp='unsupported'
-	  	  	  	  	  	  	                                	  	  	  	  	  	  for ac_option in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp -homp \
-                           -Popenmp --openmp; do
-	    ac_save_CXXFLAGS=$CXXFLAGS
-	    CXXFLAGS="$CXXFLAGS $ac_option"
-	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifndef _OPENMP
- choke me
-#endif
-#include <omp.h>
-int main () { return omp_get_num_threads (); }
-
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_prog_cxx_openmp=$ac_option
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-	    CXXFLAGS=$ac_save_CXXFLAGS
-	    if test "$ac_cv_prog_cxx_openmp" != unsupported; then
-	      break
-	    fi
-	  done
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_openmp" >&5
-$as_echo "$ac_cv_prog_cxx_openmp" >&6; }
-    case $ac_cv_prog_cxx_openmp in #(
-      "none needed" | unsupported)
-	;; #(
-      *)
-	OPENMP_CXXFLAGS=$ac_cv_prog_cxx_openmp ;;
-    esac
-  fi
-
-
-
-ac_openmp=no
-
-if test "${OPENMP_CXXFLAGS}X" != "X"; then
-ac_openmp=yes
-AM_CXXFLAGS="$OPENMP_CXXFLAGS $AM_CXXFLAGS"
-AM_LDFLAGS="$OPENMP_CXXFLAGS $AM_LDFLAGS"
-fi
-
-############### Checks for header files
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if ${ac_cv_prog_CXXCPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in stdint.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdint_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDINT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in mm_malloc.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "mm_malloc.h" "ac_cv_header_mm_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_mm_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MM_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in malloc/malloc.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "malloc/malloc.h" "ac_cv_header_malloc_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_malloc_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MALLOC_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in malloc.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in endian.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default"
-if test "x$ac_cv_header_endian_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ENDIAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in execinfo.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default"
-if test "x$ac_cv_header_execinfo_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_EXECINFO_H 1
-_ACEOF
-
-fi
-
-done
-
-ac_fn_cxx_check_decl "$LINENO" "ntohll" "ac_cv_have_decl_ntohll" "#include <arpa/inet.h>
-"
-if test "x$ac_cv_have_decl_ntohll" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_NTOHLL $ac_have_decl
-_ACEOF
-
-ac_fn_cxx_check_decl "$LINENO" "be64toh" "ac_cv_have_decl_be64toh" "#include <arpa/inet.h>
-"
-if test "x$ac_cv_have_decl_be64toh" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_BE64TOH $ac_have_decl
-_ACEOF
-
-
-############### Checks for typedefs, structures, and compiler characteristics
-ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t"
-case $ac_cv_c_uint32_t in #(
-  no|yes) ;; #(
-  *)
-
-$as_echo "#define _UINT32_T 1" >>confdefs.h
-
-
-cat >>confdefs.h <<_ACEOF
-#define uint32_t $ac_cv_c_uint32_t
-_ACEOF
-;;
-  esac
-
-ac_fn_c_find_uintX_t "$LINENO" "64" "ac_cv_c_uint64_t"
-case $ac_cv_c_uint64_t in #(
-  no|yes) ;; #(
-  *)
-
-$as_echo "#define _UINT64_T 1" >>confdefs.h
-
-
-cat >>confdefs.h <<_ACEOF
-#define uint64_t $ac_cv_c_uint64_t
-_ACEOF
-;;
-  esac
-
-
-############### GMP and MPFR #################
-
-# Check whether --with-gmp was given.
-if test "${with_gmp+set}" = set; then :
-  withval=$with_gmp; AM_CXXFLAGS="-I$with_gmp/include $AM_CXXFLAGS"
-    AM_LDFLAGS="-L$with_gmp/lib" $AM_LDFLAGS
-fi
-
-
-# Check whether --with-mpfr was given.
-if test "${with_mpfr+set}" = set; then :
-  withval=$with_mpfr; AM_CXXFLAGS="-I$with_mpfr/include $AM_CXXFLAGS"
-    AM_LDFLAGS="-L$with_mpfr/lib $AM_LDFLAGS"
-fi
-
-
-################## lapack ####################
-# Check whether --enable-lapack was given.
-if test "${enable_lapack+set}" = set; then :
-  enableval=$enable_lapack; ac_LAPACK=${enable_lapack}
-else
-  ac_LAPACK=no
-fi
-
-
-case ${ac_LAPACK} in
-    no)
-        ;;
-    yes)
-
-$as_echo "#define USE_LAPACK 1" >>confdefs.h
-;;
-    *)
-        AM_CXXFLAGS="-I$ac_LAPACK/include $AM_CXXFLAGS"
-        AM_LDFLAGS="-L$ac_LAPACK/lib $AM_LDFLAGS"
-
-$as_echo "#define USE_LAPACK 1" >>confdefs.h
-
-esac
-
-################## FFTW3 ####################
-
-# Check whether --with-fftw was given.
-if test "${with_fftw+set}" = set; then :
-  withval=$with_fftw; AM_CXXFLAGS="-I$with_fftw/include $AM_CXXFLAGS"
-            AM_LDFLAGS="-L$with_fftw/lib $AM_LDFLAGS"
-fi
-
-
-################ Get compiler informations
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-    ax_cxx_compile_cxx11_required=true
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-  ac_success=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
-$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
-if ${ax_cv_cxx_compile_cxx11+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-  template <typename T>
-    struct check
-    {
-      static_assert(sizeof(int) <= sizeof(T), "not big enough");
-    };
-
-    struct Base {
-    virtual void f() {}
-    };
-    struct Child : public Base {
-    virtual void f() override {}
-    };
-
-    typedef check<check<bool>> right_angle_brackets;
-
-    int a;
-    decltype(a) b;
-
-    typedef check<int> check_type;
-    check_type c;
-    check_type&& cr = static_cast<check_type&&>(c);
-
-    auto d = a;
-    auto l = [](){};
-    // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
-    struct use_l { use_l() { l(); } };
-
-    // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
-    // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
-    namespace test_template_alias_sfinae {
-        struct foo {};
-
-        template<typename T>
-        using member = typename T::member_type;
-
-        template<typename T>
-        void func(...) {}
-
-        template<typename T>
-        void func(member<T>*) {}
-
-        void test();
-
-        void test() {
-            func<foo>(0);
-        }
-    }
-
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ax_cv_cxx_compile_cxx11=yes
-else
-  ax_cv_cxx_compile_cxx11=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
-$as_echo "$ax_cv_cxx_compile_cxx11" >&6; }
-  if test x$ax_cv_cxx_compile_cxx11 = xyes; then
-    ac_success=yes
-  fi
-
-
-
-    if test x$ac_success = xno; then
-            for switch in -std=c++11 -std=c++0x +std=c++11; do
-      cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
-$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
-if eval \${$cachevar+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_CXXFLAGS="$CXXFLAGS"
-         CXXFLAGS="$CXXFLAGS $switch"
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-  template <typename T>
-    struct check
-    {
-      static_assert(sizeof(int) <= sizeof(T), "not big enough");
-    };
-
-    struct Base {
-    virtual void f() {}
-    };
-    struct Child : public Base {
-    virtual void f() override {}
-    };
-
-    typedef check<check<bool>> right_angle_brackets;
-
-    int a;
-    decltype(a) b;
-
-    typedef check<int> check_type;
-    check_type c;
-    check_type&& cr = static_cast<check_type&&>(c);
-
-    auto d = a;
-    auto l = [](){};
-    // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
-    struct use_l { use_l() { l(); } };
-
-    // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
-    // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
-    namespace test_template_alias_sfinae {
-        struct foo {};
-
-        template<typename T>
-        using member = typename T::member_type;
-
-        template<typename T>
-        void func(...) {}
-
-        template<typename T>
-        void func(member<T>*) {}
-
-        void test();
-
-        void test() {
-            func<foo>(0);
-        }
-    }
-
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  eval $cachevar=yes
-else
-  eval $cachevar=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         CXXFLAGS="$ac_save_CXXFLAGS"
-fi
-eval ac_res=\$$cachevar
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-      if eval test x\$$cachevar = xyes; then
-        CXXFLAGS="$CXXFLAGS $switch"
-        ac_success=yes
-        break
-      fi
-    done
-  fi
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  if test x$ax_cxx_compile_cxx11_required = xtrue; then
-    if test x$ac_success = xno; then
-      as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
-    fi
-  else
-    if test x$ac_success = xno; then
-      HAVE_CXX11=0
-      { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
-$as_echo "$as_me: No compiler with C++11 support was found" >&6;}
-    else
-      HAVE_CXX11=1
-
-$as_echo "#define HAVE_CXX11 1" >>confdefs.h
-
-    fi
-
-
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler vendor" >&5
-$as_echo_n "checking for C++ compiler vendor... " >&6; }
-if ${ax_cv_cxx_compiler_vendor+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    # note: don't check for gcc first since some other compilers define __GNUC__
-  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
-           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
-           pathscale: __PATHCC__,__PATHSCALE__
-           clang:     __clang__
-           cray:      _CRAYC
-           fujitsu:   __FUJITSU
-           gnu:       __GNUC__
-           sun:       __SUNPRO_C,__SUNPRO_CC
-           hp:        __HP_cc,__HP_aCC
-           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
-           borland:   __BORLANDC__,__CODEGEARC__,__TURBOC__
-           comeau:    __COMO__
-           kai:       __KCC
-           lcc:       __LCC__
-           sgi:       __sgi,sgi
-           microsoft: _MSC_VER
-           metrowerks: __MWERKS__
-           watcom:    __WATCOMC__
-           portland:  __PGI
-	   tcc:       __TINYC__
-           unknown:   UNKNOWN"
-  for ventest in $vendors; do
-    case $ventest in
-      *:) vendor=$ventest; continue ;;
-      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
-    esac
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-      #if !($vencpp)
-        thisisanerror;
-      #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-  ax_cv_cxx_compiler_vendor=`echo $vendor | cut -d: -f1`
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compiler_vendor" >&5
-$as_echo "$ax_cv_cxx_compiler_vendor" >&6; }
-
-
-cat >>confdefs.h <<_ACEOF
-#define CXX_COMP_VENDOR "$ax_cv_cxx_compiler_vendor"
-_ACEOF
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
-   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-
-  GXX_VERSION=""
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc accepts -dumpversion option" >&5
-$as_echo_n "checking if gcc accepts -dumpversion option... " >&6; }
-
-if  test "x$GCC" = "xyes" ; then :
-
-if  test -z "" ; then :
-
-ax_gcc_option_test="int main()
-{
-return 0;
-}"
-
-else
-
-ax_gcc_option_test=""
-
-fi
-
-# Dump the test program to file
-cat <<EOF > conftest.c
-$ax_gcc_option_test
-EOF
-
-# Dump back the file to the log, useful for debugging purposes
-{ ac_try='cat conftest.c 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }
-
-if  { ac_try='$CC  -dumpversion -c conftest.c 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; } ; then :
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-    ax_gcc_version_option=yes
-
-
-else
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-    ax_gcc_version_option=no
-
-
-fi
-
-else
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no gcc available" >&5
-$as_echo "no gcc available" >&6; }
-
-fi
-
-  if test "x$GXX" = "xyes"; then :
-
-    if test "x$ax_gxx_version_option" != "no"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking gxx version" >&5
-$as_echo_n "checking gxx version... " >&6; }
-if ${ax_cv_gxx_version+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        ax_cv_gxx_version="`$CXX -dumpversion`"
-        if test "x$ax_cv_gxx_version" = "x"; then :
-
-          ax_cv_gxx_version=""
-
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gxx_version" >&5
-$as_echo "$ax_cv_gxx_version" >&6; }
-      GXX_VERSION=$ax_cv_gxx_version
-
-fi
-
-fi
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define GXX_VERSION "$GXX_VERSION"
-_ACEOF
-
-
-############### Checks for library functions
-CXXFLAGS_CPY=$CXXFLAGS
-LDFLAGS_CPY=$LDFLAGS
-CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS"
-LDFLAGS="$AM_LDFLAGS $LDFLAGS"
-for ac_func in gettimeofday
-do :
-  ac_fn_cxx_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday"
-if test "x$ac_cv_func_gettimeofday" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETTIMEOFDAY 1
-_ACEOF
-
-fi
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpf_init in -lgmp" >&5
-$as_echo_n "checking for __gmpf_init in -lgmp... " >&6; }
-if ${ac_cv_lib_gmp___gmpf_init+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgmp  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char __gmpf_init ();
-int
-main ()
-{
-return __gmpf_init ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_gmp___gmpf_init=yes
-else
-  ac_cv_lib_gmp___gmpf_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpf_init" >&5
-$as_echo "$ac_cv_lib_gmp___gmpf_init" >&6; }
-if test "x$ac_cv_lib_gmp___gmpf_init" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5
-$as_echo_n "checking for mpfr_init in -lmpfr... " >&6; }
-if ${ac_cv_lib_mpfr_mpfr_init+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lmpfr  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char mpfr_init ();
-int
-main ()
-{
-return mpfr_init ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_mpfr_mpfr_init=yes
-else
-  ac_cv_lib_mpfr_mpfr_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5
-$as_echo "$ac_cv_lib_mpfr_mpfr_init" >&6; }
-if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes; then :
-
-$as_echo "#define HAVE_LIBMPFR 1" >>confdefs.h
-
-                 have_mpfr=true
-                 LIBS="$LIBS -lmpfr"
-else
-  as_fn_error $? "MPFR library not found" "$LINENO" 5
-fi
-
-
-$as_echo "#define HAVE_LIBGMP 1" >>confdefs.h
-
-             have_gmp=true
-             LIBS="$LIBS -lgmp"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: **** GMP library not found, Grid can still compile but RHMC will not work ****" >&5
-$as_echo "$as_me: WARNING: **** GMP library not found, Grid can still compile but RHMC will not work ****" >&2;}
-fi
-
-
-if test "${ac_LAPACK}x" != "nox"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LAPACKE_sbdsdc in -llapack" >&5
-$as_echo_n "checking for LAPACKE_sbdsdc in -llapack... " >&6; }
-if ${ac_cv_lib_lapack_LAPACKE_sbdsdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-llapack  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char LAPACKE_sbdsdc ();
-int
-main ()
-{
-return LAPACKE_sbdsdc ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_lapack_LAPACKE_sbdsdc=yes
-else
-  ac_cv_lib_lapack_LAPACKE_sbdsdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lapack_LAPACKE_sbdsdc" >&5
-$as_echo "$ac_cv_lib_lapack_LAPACKE_sbdsdc" >&6; }
-if test "x$ac_cv_lib_lapack_LAPACKE_sbdsdc" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBLAPACK 1
-_ACEOF
-
-  LIBS="-llapack $LIBS"
-
-else
-  as_fn_error $? "\"LAPACK enabled but library not found\"" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fftw_execute in -lfftw3" >&5
-$as_echo_n "checking for fftw_execute in -lfftw3... " >&6; }
-if ${ac_cv_lib_fftw3_fftw_execute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lfftw3  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char fftw_execute ();
-int
-main ()
-{
-return fftw_execute ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_fftw3_fftw_execute=yes
-else
-  ac_cv_lib_fftw3_fftw_execute=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_execute" >&5
-$as_echo "$ac_cv_lib_fftw3_fftw_execute" >&6; }
-if test "x$ac_cv_lib_fftw3_fftw_execute" = xyes; then :
-
-$as_echo "#define HAVE_FFTW 1" >>confdefs.h
-
-  have_fftw=true
-  LIBS="$LIBS -lfftw3 -lfftw3f"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: **** FFTW library not found, Grid can still compile but FFT-based routines will not work ****" >&5
-$as_echo "$as_me: WARNING: **** FFTW library not found, Grid can still compile but FFT-based routines will not work ****" >&2;}
-fi
-
-CXXFLAGS=$CXXFLAGS_CPY
-LDFLAGS=$LDFLAGS_CPY
-
-############### SIMD instruction selection
-# Check whether --enable-simd was given.
-if test "${enable_simd+set}" = set; then :
-  enableval=$enable_simd; \
-	ac_SIMD=${enable_simd}
-else
-  ac_SIMD=GEN
-fi
-
-
-case ${ax_cv_cxx_compiler_vendor} in
-  clang|gnu)
-    case ${ac_SIMD} in
-      SSE4)
-
-$as_echo "#define SSE4 1" >>confdefs.h
-
-        SIMD_FLAGS='-msse4.2';;
-      AVX)
-
-$as_echo "#define AVX1 1" >>confdefs.h
-
-        SIMD_FLAGS='-mavx';;
-      AVXFMA4)
-
-$as_echo "#define AVXFMA4 1" >>confdefs.h
-
-        SIMD_FLAGS='-mavx -mfma4';;
-      AVX2)
-
-$as_echo "#define AVX2 1" >>confdefs.h
-
-        SIMD_FLAGS='-mavx2 -mfma';;
-      AVX512|AVX512MIC|KNL)
-
-$as_echo "#define AVX512 1" >>confdefs.h
-
-        SIMD_FLAGS='-mavx512f -mavx512pf -mavx512er -mavx512cd';;
-      IMCI|KNC)
-
-$as_echo "#define IMCI 1" >>confdefs.h
-
-        SIMD_FLAGS='';;
-      GEN)
-
-$as_echo "#define GENERIC_VEC 1" >>confdefs.h
-
-        SIMD_FLAGS='';;
-      QPX|BGQ)
-
-$as_echo "#define QPX 1" >>confdefs.h
-
-        SIMD_FLAGS='';;
-      *)
-        as_fn_error $? "\"SIMD option ${ac_SIMD} not supported by the GCC/Clang compiler\"" "$LINENO" 5;;
-    esac;;
-  intel)
-    case ${ac_SIMD} in
-      SSE4)
-
-$as_echo "#define SSE4 1" >>confdefs.h
-
-        SIMD_FLAGS='-msse4.2 -xsse4.2';;
-      AVX)
-
-$as_echo "#define AVX1 1" >>confdefs.h
-
-        SIMD_FLAGS='-mavx -xavx';;
-      AVXFMA4)
-
-$as_echo "#define AVXFMA4 1" >>confdefs.h
-
-        SIMD_FLAGS='-mavx -xavx -mfma';;
-      AVX2)
-
-$as_echo "#define AVX2 1" >>confdefs.h
-
-        SIMD_FLAGS='-march=core-avx2 -xcore-avx2';;
-      AVX512)
-
-$as_echo "#define AVX512 1" >>confdefs.h
-
-        SIMD_FLAGS='-xcore-avx512';;
-      AVX512MIC|KNL)
-
-$as_echo "#define AVX512 1" >>confdefs.h
-
-        SIMD_FLAGS='-xmic-avx512';;
-      IMCI|KNC)
-
-$as_echo "#define IMCI 1" >>confdefs.h
-
-        SIMD_FLAGS='';;
-      GEN)
-
-$as_echo "#define GENERIC_VEC 1" >>confdefs.h
-
-        SIMD_FLAGS='';;
-      *)
-        as_fn_error $? "\"SIMD option ${ac_SIMD} not supported by the Intel compiler\"" "$LINENO" 5;;
-    esac;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Compiler unknown, using generic vector code" >&5
-$as_echo "$as_me: WARNING: Compiler unknown, using generic vector code" >&2;}
-
-$as_echo "#define GENERIC_VEC 1" >>confdefs.h
-;;
-esac
-AM_CXXFLAGS="$SIMD_FLAGS $AM_CXXFLAGS"
-AM_CFLAGS="$SIMD_FLAGS $AM_CFLAGS"
-
-case ${ac_SIMD} in
-  AVX512|AVX512MIC|KNL)
-
-$as_echo "#define TEST_ZMM 1" >>confdefs.h
-;;
-  *)
-	;;
-esac
-
-############### precision selection
-# Check whether --enable-precision was given.
-if test "${enable_precision+set}" = set; then :
-  enableval=$enable_precision; ac_PRECISION=${enable_precision}
-else
-  ac_PRECISION=double
-fi
-
-case ${ac_PRECISION} in
-     single)
-
-$as_echo "#define GRID_DEFAULT_PRECISION_SINGLE 1" >>confdefs.h
-
-     ;;
-     double)
-
-$as_echo "#define GRID_DEFAULT_PRECISION_DOUBLE 1" >>confdefs.h
-
-     ;;
-esac
-
-############### communication type selection
-# Check whether --enable-comms was given.
-if test "${enable_comms+set}" = set; then :
-  enableval=$enable_comms; ac_COMMS=${enable_comms}
-else
-  ac_COMMS=none
-fi
-
-
-case ${ac_COMMS} in
-     none)
-
-$as_echo "#define GRID_COMMS_NONE 1" >>confdefs.h
-
-     ;;
-     mpi-auto)
-
-$as_echo "#define GRID_COMMS_MPI 1" >>confdefs.h
-
-
-
-
-         if [ ! -z "$MPICXX" ]; then
-
-     # Try to find a working MPI compiler from the supplied names
-     for ac_prog in $MPICXX
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MPICXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MPICXX in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_MPICXX="$MPICXX" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_MPICXX="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-MPICXX=$ac_cv_path_MPICXX
-if test -n "$MPICXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5
-$as_echo "$MPICXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$MPICXX" && break
-done
-test -n "$MPICXX" || MPICXX="not-found"
-
-
-     # Figure out what the compiler responds to to get it to show us the compile
-     # and link lines.  After this part of the macro, we'll have a valid
-     # lx_mpi_command_line
-     printf "checking whether $MPICXX responds to '-showme:compile'... "
-     lx_mpi_compile_line=`$MPICXX -showme:compile 2>/dev/null`
-     if [ "$?" -eq 0 ]; then
-         echo yes
-         lx_mpi_link_line=`$MPICXX -showme:link 2>/dev/null`
-     else
-         echo no
-         printf "checking whether $MPICXX responds to '-showme'... "
-         lx_mpi_command_line=`$MPICXX -showme 2>/dev/null`
-         if [ "$?" -ne 0 ]; then
-             echo no
-             printf "checking whether $MPICXX responds to '-compile-info'... "
-             lx_mpi_compile_line=`$MPICXX -compile-info 2>/dev/null`
-             if [ "$?" -eq 0 ]; then
-                 echo yes
-                 lx_mpi_link_line=`$MPICXX -link-info 2>/dev/null`
-             else
-                 echo no
-                 printf "checking whether $MPICXX responds to '-show'... "
-                 lx_mpi_command_line=`$MPICXX -show 2>/dev/null`
-                 if [ "$?" -eq 0 ]; then
-                     echo yes
-                 else
-                     echo no
-                 fi
-             fi
-         else
-             echo yes
-         fi
-     fi
-
-     if [ ! -z "$lx_mpi_compile_line" -a ! -z "$lx_mpi_link_line" ]; then
-         lx_mpi_command_line="$lx_mpi_compile_line $lx_mpi_link_line"
-     fi
-
-     if [ ! -z "$lx_mpi_command_line" ]; then
-         # Now extract the different parts of the MPI command line.  Do these separately in case we need to
-         # parse them all out in future versions of this macro.
-         lx_mpi_defines=`    echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-D\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-         lx_mpi_includes=`   echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-I\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-         lx_mpi_link_paths=` echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-L\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-         lx_mpi_libs=`       echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-l\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-         lx_mpi_link_args=`  echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-Wl,\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-
-         # Create variables and clean up newlines and multiple spaces
-         MPI_CXXFLAGS="$lx_mpi_defines $lx_mpi_includes"
-         MPI_CXXLDFLAGS="$lx_mpi_link_paths $lx_mpi_libs $lx_mpi_link_args"
-         MPI_CXXFLAGS=`  echo "$MPI_CXXFLAGS"   | tr '\n' ' ' | sed 's/^[ \t]*//;s/[ \t]*$//' | sed 's/  +/ /g'`
-         MPI_CXXLDFLAGS=`echo "$MPI_CXXLDFLAGS" | tr '\n' ' ' | sed 's/^[ \t]*//;s/[ \t]*$//' | sed 's/  +/ /g'`
-
-         OLD_CPPFLAGS=$CPPFLAGS
-         OLD_LIBS=$LIBS
-         CPPFLAGS=$MPI_CXXFLAGS
-         LIBS=$MPI_CXXLDFLAGS
-
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <mpi.h>
-int
-main ()
-{
-int rank, size;
-                      MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-                      MPI_Comm_size(MPI_COMM_WORLD, &size);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  # Add a define for testing at compile time.
-
-$as_echo "#define HAVE_MPI 1" >>confdefs.h
-
-                      have_CXX_mpi='yes'
-else
-  # zero out mpi flags so we don't link against the faulty library.
-                      MPI_CXXFLAGS=""
-                      MPI_CXXLDFLAGS=""
-                      have_CXX_mpi='no'
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-         # AC_SUBST everything.
-
-
-
-
-         LIBS=$OLD_LIBS
-         CPPFLAGS=$OLD_CPPFLAGS
-     else
-         echo Unable to find suitable MPI Compiler. Try setting MPICXX.
-         have_CXX_mpi='no'
-     fi
-
-         else
-
-     # Try to find a working MPI compiler from the supplied names
-     for ac_prog in mpicxx mpiCC mpic++ mpig++ mpiicpc mpipgCC mpixlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MPICXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MPICXX in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_MPICXX="$MPICXX" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_MPICXX="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-MPICXX=$ac_cv_path_MPICXX
-if test -n "$MPICXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5
-$as_echo "$MPICXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$MPICXX" && break
-done
-test -n "$MPICXX" || MPICXX="not-found"
-
-
-     # Figure out what the compiler responds to to get it to show us the compile
-     # and link lines.  After this part of the macro, we'll have a valid
-     # lx_mpi_command_line
-     printf "checking whether $MPICXX responds to '-showme:compile'... "
-     lx_mpi_compile_line=`$MPICXX -showme:compile 2>/dev/null`
-     if [ "$?" -eq 0 ]; then
-         echo yes
-         lx_mpi_link_line=`$MPICXX -showme:link 2>/dev/null`
-     else
-         echo no
-         printf "checking whether $MPICXX responds to '-showme'... "
-         lx_mpi_command_line=`$MPICXX -showme 2>/dev/null`
-         if [ "$?" -ne 0 ]; then
-             echo no
-             printf "checking whether $MPICXX responds to '-compile-info'... "
-             lx_mpi_compile_line=`$MPICXX -compile-info 2>/dev/null`
-             if [ "$?" -eq 0 ]; then
-                 echo yes
-                 lx_mpi_link_line=`$MPICXX -link-info 2>/dev/null`
-             else
-                 echo no
-                 printf "checking whether $MPICXX responds to '-show'... "
-                 lx_mpi_command_line=`$MPICXX -show 2>/dev/null`
-                 if [ "$?" -eq 0 ]; then
-                     echo yes
-                 else
-                     echo no
-                 fi
-             fi
-         else
-             echo yes
-         fi
-     fi
-
-     if [ ! -z "$lx_mpi_compile_line" -a ! -z "$lx_mpi_link_line" ]; then
-         lx_mpi_command_line="$lx_mpi_compile_line $lx_mpi_link_line"
-     fi
-
-     if [ ! -z "$lx_mpi_command_line" ]; then
-         # Now extract the different parts of the MPI command line.  Do these separately in case we need to
-         # parse them all out in future versions of this macro.
-         lx_mpi_defines=`    echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-D\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-         lx_mpi_includes=`   echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-I\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-         lx_mpi_link_paths=` echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-L\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-         lx_mpi_libs=`       echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-l\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-         lx_mpi_link_args=`  echo "$lx_mpi_command_line" | grep -o -- '\(^\| \)-Wl,\([^\"[:space:]]\+\|\"[^\"[:space:]]\+\"\)'`
-
-         # Create variables and clean up newlines and multiple spaces
-         MPI_CXXFLAGS="$lx_mpi_defines $lx_mpi_includes"
-         MPI_CXXLDFLAGS="$lx_mpi_link_paths $lx_mpi_libs $lx_mpi_link_args"
-         MPI_CXXFLAGS=`  echo "$MPI_CXXFLAGS"   | tr '\n' ' ' | sed 's/^[ \t]*//;s/[ \t]*$//' | sed 's/  +/ /g'`
-         MPI_CXXLDFLAGS=`echo "$MPI_CXXLDFLAGS" | tr '\n' ' ' | sed 's/^[ \t]*//;s/[ \t]*$//' | sed 's/  +/ /g'`
-
-         OLD_CPPFLAGS=$CPPFLAGS
-         OLD_LIBS=$LIBS
-         CPPFLAGS=$MPI_CXXFLAGS
-         LIBS=$MPI_CXXLDFLAGS
-
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <mpi.h>
-int
-main ()
-{
-int rank, size;
-                      MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-                      MPI_Comm_size(MPI_COMM_WORLD, &size);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  # Add a define for testing at compile time.
-
-$as_echo "#define HAVE_MPI 1" >>confdefs.h
-
-                      have_CXX_mpi='yes'
-else
-  # zero out mpi flags so we don't link against the faulty library.
-                      MPI_CXXFLAGS=""
-                      MPI_CXXLDFLAGS=""
-                      have_CXX_mpi='no'
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-         # AC_SUBST everything.
-
-
-
-
-         LIBS=$OLD_LIBS
-         CPPFLAGS=$OLD_CPPFLAGS
-     else
-         echo Unable to find suitable MPI Compiler. Try setting MPICXX.
-         have_CXX_mpi='no'
-     fi
-
-         fi
-
-
-       if test "x$have_CXX_mpi" = 'xno'; then as_fn_error $? "\"MPI not found\"" "$LINENO" 5; fi
-       AM_CXXFLAGS="$MPI_CXXFLAGS $AM_CXXFLAGS"
-       AM_CFLAGS="$MPI_CFLAGS $AM_CFLAGS"
-       AM_LDFLAGS="`echo $MPI_CXXLDFLAGS | sed -E 's/-l[^ ]+//g'` $AM_LDFLAGS"
-       LIBS="`echo $MPI_CXXLDFLAGS | sed -E 's/-L[^ ]+//g'` $LIBS"
-     ;;
-     mpi)
-
-$as_echo "#define GRID_COMMS_MPI 1" >>confdefs.h
-
-     ;;
-     shmem)
-
-$as_echo "#define GRID_COMMS_SHMEM 1" >>confdefs.h
-
-     ;;
-     *)
-     as_fn_error $? "${ac_COMMS} unsupported --enable-comms option" "$LINENO" 5;
-     ;;
-esac
- if  test "X${ac_COMMS}X" == "XshmemX" ; then
-  BUILD_COMMS_SHMEM_TRUE=
-  BUILD_COMMS_SHMEM_FALSE='#'
-else
-  BUILD_COMMS_SHMEM_TRUE='#'
-  BUILD_COMMS_SHMEM_FALSE=
-fi
-
- if  test "X${ac_COMMS}X" == "XmpiX" || test "X${ac_COMMS}X" == "Xmpi-autoX" ; then
-  BUILD_COMMS_MPI_TRUE=
-  BUILD_COMMS_MPI_FALSE='#'
-else
-  BUILD_COMMS_MPI_TRUE='#'
-  BUILD_COMMS_MPI_FALSE=
-fi
-
- if  test "X${ac_COMMS}X" == "XnoneX" ; then
-  BUILD_COMMS_NONE_TRUE=
-  BUILD_COMMS_NONE_FALSE='#'
-else
-  BUILD_COMMS_NONE_TRUE='#'
-  BUILD_COMMS_NONE_FALSE=
-fi
-
-
-############### RNG selection
-# Check whether --enable-rng was given.
-if test "${enable_rng+set}" = set; then :
-  enableval=$enable_rng; \
-	ac_RNG=${enable_rng}
-else
-  ac_RNG=ranlux48
-fi
-
-
-case ${ac_RNG} in
-     ranlux48)
-
-$as_echo "#define RNG_RANLUX 1" >>confdefs.h
-
-     ;;
-     mt19937)
-
-$as_echo "#define RNG_MT19937 1" >>confdefs.h
-
-     ;;
-     *)
-      as_fn_error $? "${ac_RNG} unsupported --enable-rng option" "$LINENO" 5;
-     ;;
-esac
-
-############### timer option
-# Check whether --enable-timers was given.
-if test "${enable_timers+set}" = set; then :
-  enableval=$enable_timers; \
-	ac_TIMERS=${enable_timers}
-else
-  ac_TIMERS=yes
-fi
-
-case ${ac_TIMERS} in
-     yes)
-
-$as_echo "#define TIMERS_ON 1" >>confdefs.h
-
-     ;;
-     no)
-
-$as_echo "#define TIMERS_OFF 1" >>confdefs.h
-
-     ;;
-     *)
-      as_fn_error $? "${ac_TIMERS} unsupported --enable-timers option" "$LINENO" 5;
-     ;;
-esac
-
-############### Chroma regression test
-# Check whether --enable-chroma was given.
-if test "${enable_chroma+set}" = set; then :
-  enableval=$enable_chroma; ac_CHROMA=yes
-else
-  ac_CHROMA=no
-fi
-
-case ${ac_CHROMA} in
-     yes|no)
-     ;;
-     *)
-       as_fn_error $? "${ac_CHROMA} unsupported --enable-chroma option" "$LINENO" 5;
-     ;;
-esac
- if  test "X${ac_CHROMA}X" == "XyesX" ; then
-  BUILD_CHROMA_REGRESSION_TRUE=
-  BUILD_CHROMA_REGRESSION_FALSE='#'
-else
-  BUILD_CHROMA_REGRESSION_TRUE='#'
-  BUILD_CHROMA_REGRESSION_FALSE=
-fi
-
-
-############### Doxygen
-
-# Check whether --enable-doxygen was given.
-if test "${enable_doxygen+set}" = set; then :
-  enableval=$enable_doxygen;
-fi
-
-
-# Check whether --enable-dot was given.
-if test "${enable_dot+set}" = set; then :
-  enableval=$enable_dot;
-fi
-
-# Check whether --enable-html-docs was given.
-if test "${enable_html_docs+set}" = set; then :
-  enableval=$enable_html_docs;
-else
-   enable_html_docs=yes
-fi
-
-# Check whether --enable-latex-docs was given.
-if test "${enable_latex_docs+set}" = set; then :
-  enableval=$enable_latex_docs;
-else
-  enable_latex_docs=no
-fi
-
-
-if test "x$enable_doxygen" = xno; then
- enable_doc=no
-else
- # Extract the first word of "doxygen", so it can be a program name with args.
-set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DOXYGEN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DOXYGEN"; then
-  ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DOXYGEN="doxygen"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DOXYGEN=$ac_cv_prog_DOXYGEN
-if test -n "$DOXYGEN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
-$as_echo "$DOXYGEN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test x$DOXYGEN = x; then
-  if test "x$enable_doxygen" = xyes; then
-   as_fn_error $? "could not find doxygen" "$LINENO" 5
-  fi
-  enable_doc=no
- else
-  doxy_ver=`doxygen --version`
-  doxy_major=`expr "$doxy_ver" : '\([0-9]\)\..*'`
-  doxy_minor=`expr "$doxy_ver" : '[0-9]\.\([0-9]\).*'`
-  if test $doxy_major -eq "1" -a $doxy_minor -ge "3" ; then
-   enable_doc=yes
-   # Extract the first word of "dot", so it can be a program name with args.
-set dummy dot; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DOT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DOT"; then
-  ac_cv_prog_DOT="$DOT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DOT="dot"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DOT=$ac_cv_prog_DOT
-if test -n "$DOT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
-$as_echo "$DOT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: doxygen version $doxy_ver too old, doxygen will not be used." >&5
-$as_echo "$as_me: WARNING: doxygen version $doxy_ver too old, doxygen will not be used." >&2;}
-   enable_doc=no
-  fi
- fi
-fi
-
- if test x$enable_doc = xyes; then
-  DOXYGEN_DOC_TRUE=
-  DOXYGEN_DOC_FALSE='#'
-else
-  DOXYGEN_DOC_TRUE='#'
-  DOXYGEN_DOC_FALSE=
-fi
-
-
-if test x$DOT = x; then
- if test "x$enable_dot" = xyes; then
-  as_fn_error $? "could not find dot" "$LINENO" 5
- fi
- enable_dot=no
-else
- enable_dot=yes
-fi
-
-
-
-
-
-
-if test -n "$DOXYGEN"
-then
-ac_config_files="$ac_config_files docs/doxy.cfg"
-
-fi
-
-############### Ouput
-cwd=`pwd -P`; cd ${srcdir}; abs_srcdir=`pwd -P`; cd ${cwd}
-AM_CXXFLAGS="-I${abs_srcdir}/include $AM_CXXFLAGS"
-AM_CFLAGS="-I${abs_srcdir}/include $AM_CFLAGS"
-AM_LDFLAGS="-L${cwd}/lib $AM_LDFLAGS"
-
-
-
-ac_config_files="$ac_config_files Makefile"
-
-ac_config_files="$ac_config_files lib/Makefile"
-
-ac_config_files="$ac_config_files tests/Makefile"
-
-ac_config_files="$ac_config_files tests/IO/Makefile"
-
-ac_config_files="$ac_config_files tests/core/Makefile"
-
-ac_config_files="$ac_config_files tests/debug/Makefile"
-
-ac_config_files="$ac_config_files tests/forces/Makefile"
-
-ac_config_files="$ac_config_files tests/hmc/Makefile"
-
-ac_config_files="$ac_config_files tests/solver/Makefile"
-
-ac_config_files="$ac_config_files tests/qdpxx/Makefile"
-
-ac_config_files="$ac_config_files benchmarks/Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-	"s/'/'\\\\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-	cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-	  mv -f confcache "$cache_file"$$ &&
-	  mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-	  mv -f confcache "$cache_file" ;;
-	esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
-   if test -n "$am_sleep_pid"; then
-     # Hide warnings about reused PIDs.
-     wait $am_sleep_pid 2>/dev/null
-   fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_COMMS_SHMEM_TRUE}" && test -z "${BUILD_COMMS_SHMEM_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_COMMS_SHMEM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_COMMS_MPI_TRUE}" && test -z "${BUILD_COMMS_MPI_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_COMMS_MPI\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_COMMS_NONE_TRUE}" && test -z "${BUILD_COMMS_NONE_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_COMMS_NONE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_CHROMA_REGRESSION_TRUE}" && test -z "${BUILD_CHROMA_REGRESSION_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_CHROMA_REGRESSION\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${DOXYGEN_DOC_TRUE}" && test -z "${DOXYGEN_DOC_FALSE}"; then
-  as_fn_error $? "conditional \"DOXYGEN_DOC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='	';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by Grid $as_me 0.5.1-dev, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <https://github.com/paboyle/Grid>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-Grid config.status 0.5.1-dev
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "lib/Config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/Config.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "docs/doxy.cfg") CONFIG_FILES="$CONFIG_FILES docs/doxy.cfg" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "tests/IO/Makefile") CONFIG_FILES="$CONFIG_FILES tests/IO/Makefile" ;;
-    "tests/core/Makefile") CONFIG_FILES="$CONFIG_FILES tests/core/Makefile" ;;
-    "tests/debug/Makefile") CONFIG_FILES="$CONFIG_FILES tests/debug/Makefile" ;;
-    "tests/forces/Makefile") CONFIG_FILES="$CONFIG_FILES tests/forces/Makefile" ;;
-    "tests/hmc/Makefile") CONFIG_FILES="$CONFIG_FILES tests/hmc/Makefile" ;;
-    "tests/solver/Makefile") CONFIG_FILES="$CONFIG_FILES tests/solver/Makefile" ;;
-    "tests/qdpxx/Makefile") CONFIG_FILES="$CONFIG_FILES tests/qdpxx/Makefile" ;;
-    "benchmarks/Makefile") CONFIG_FILES="$CONFIG_FILES benchmarks/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = ""
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
-h
-s///
-s/^/:/
-s/[	 ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[	 ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[	 ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
-	 # because $ac_f cannot contain `:'.
-	 test -f "$ac_f" ||
-	   case $ac_f in
-	   [\\/$]*) false;;
-	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-	   esac ||
-	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-	`' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_file" : 'X\(//\)[^/]' \| \
-	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$_am_arg" : 'X\(//\)[^/]' \| \
-	 X"$_am_arg" : 'X\(//\)$' \| \
-	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Older Autoconf quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named 'Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$mf" : 'X\(//\)[^/]' \| \
-	 X"$mf" : 'X\(//\)$' \| \
-	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running 'make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "$am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$file" : 'X\(//\)[^/]' \| \
-	 X"$file" : 'X\(//\)$' \| \
-	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
-echo "
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Summary of configuration for $PACKAGE v$VERSION
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
------ PLATFORM ----------------------------------------
-- architecture (build)          : $build_cpu
-- os (build)                    : $build_os
-- architecture (target)         : $target_cpu
-- os (target)                   : $target_os
-- compiler vendor               : ${ax_cv_cxx_compiler_vendor}
-- compiler version              : ${ax_cv_gxx_version}
------ BUILD OPTIONS -----------------------------------
-- SIMD                          : ${ac_SIMD}
-- Threading                     : ${ac_openmp}
-- Communications type           : ${ac_COMMS}
-- Default precision             : ${ac_PRECISION}
-- RNG choice                    : ${ac_RNG}
-- GMP                           : `if test "x$have_gmp" = xtrue; then echo yes; else echo no; fi`
-- LAPACK                        : ${ac_LAPACK}
-- FFTW                          : `if test "x$have_fftw" = xtrue; then echo yes; else echo no; fi`
-- build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
-- graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
------ BUILD FLAGS -------------------------------------
-- CXXFLAGS:
-`echo ${AM_CXXFLAGS} ${CXXFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
-- LDFLAGS:
-`echo ${AM_LDFLAGS} ${LDFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
-- LIBS:
-`echo ${LIBS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
--------------------------------------------------------
-"

From 536e2ff0731cebe9111857423e400f686a10e77a Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 27 Sep 2016 11:54:03 +0100
Subject: [PATCH 166/295] *.inc removed: please don't commit these files
 either!

---
 lib/Eigen.inc         | 287 ------------------------------------------
 lib/Make.inc          |   3 -
 tests/core/Make.inc   |  69 ----------
 tests/forces/Make.inc |  36 ------
 4 files changed, 395 deletions(-)
 delete mode 100644 lib/Eigen.inc
 delete mode 100644 lib/Make.inc
 delete mode 100644 tests/core/Make.inc
 delete mode 100644 tests/forces/Make.inc

diff --git a/lib/Eigen.inc b/lib/Eigen.inc
deleted file mode 100644
index 2992b0f0..00000000
--- a/lib/Eigen.inc
+++ /dev/null
@@ -1,287 +0,0 @@
-eigen_files =\
-  Eigen/Householder \
-  Eigen/Core \
-  Eigen/StdDeque \
-  Eigen/StdVector \
-  Eigen/SuperLUSupport \
-  Eigen/CholmodSupport \
-  Eigen/LeastSquares \
-  Eigen/PaStiXSupport \
-  Eigen/Sparse \
-  Eigen/Cholesky \
-  Eigen/Eigen2Support \
-  Eigen/QtAlignedMalloc \
-  Eigen/SparseLU \
-  Eigen/SparseCore \
-  Eigen/UmfPackSupport \
-  Eigen/SPQRSupport \
-  Eigen/Eigen \
-  Eigen/SparseCholesky \
-  Eigen/StdList \
-  Eigen/Geometry \
-  Eigen/OrderingMethods \
-  Eigen/SparseQR \
-  Eigen/MetisSupport \
-  Eigen/IterativeLinearSolvers \
-  Eigen/Dense \
-  Eigen/LU \
-  Eigen/Array \
-  Eigen/PardisoSupport \
-  Eigen/Eigenvalues \
-  Eigen/QR \
-  Eigen/src/Householder/BlockHouseholder.h \
-  Eigen/src/Householder/HouseholderSequence.h \
-  Eigen/src/Householder/Householder.h \
-  Eigen/src/Core/Swap.h \
-  Eigen/src/Core/Dot.h \
-  Eigen/src/Core/BandMatrix.h \
-  Eigen/src/Core/ForceAlignedAccess.h \
-  Eigen/src/Core/Map.h \
-  Eigen/src/Core/products/GeneralBlockPanelKernel.h \
-  Eigen/src/Core/products/CoeffBasedProduct.h \
-  Eigen/src/Core/products/TriangularSolverMatrix.h \
-  Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h \
-  Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h \
-  Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h \
-  Eigen/src/Core/products/SelfadjointMatrixVector.h \
-  Eigen/src/Core/products/TriangularMatrixMatrix.h \
-  Eigen/src/Core/products/GeneralMatrixVector.h \
-  Eigen/src/Core/products/TriangularSolverMatrix_MKL.h \
-  Eigen/src/Core/products/SelfadjointMatrixMatrix.h \
-  Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h \
-  Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h \
-  Eigen/src/Core/products/GeneralMatrixMatrix.h \
-  Eigen/src/Core/products/TriangularSolverVector.h \
-  Eigen/src/Core/products/TriangularMatrixVector_MKL.h \
-  Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h \
-  Eigen/src/Core/products/GeneralMatrixVector_MKL.h \
-  Eigen/src/Core/products/SelfadjointProduct.h \
-  Eigen/src/Core/products/SelfadjointRank2Update.h \
-  Eigen/src/Core/products/TriangularMatrixVector.h \
-  Eigen/src/Core/products/Parallelizer.h \
-  Eigen/src/Core/NoAlias.h \
-  Eigen/src/Core/ReturnByValue.h \
-  Eigen/src/Core/MapBase.h \
-  Eigen/src/Core/Reverse.h \
-  Eigen/src/Core/CwiseUnaryView.h \
-  Eigen/src/Core/NumTraits.h \
-  Eigen/src/Core/Block.h \
-  Eigen/src/Core/CwiseBinaryOp.h \
-  Eigen/src/Core/CoreIterators.h \
-  Eigen/src/Core/IO.h \
-  Eigen/src/Core/NestByValue.h \
-  Eigen/src/Core/CwiseNullaryOp.h \
-  Eigen/src/Core/DenseStorage.h \
-  Eigen/src/Core/arch/SSE/Complex.h \
-  Eigen/src/Core/arch/SSE/PacketMath.h \
-  Eigen/src/Core/arch/SSE/MathFunctions.h \
-  Eigen/src/Core/arch/NEON/Complex.h \
-  Eigen/src/Core/arch/NEON/PacketMath.h \
-  Eigen/src/Core/arch/AltiVec/Complex.h \
-  Eigen/src/Core/arch/AltiVec/PacketMath.h \
-  Eigen/src/Core/arch/Default/Settings.h \
-  Eigen/src/Core/Redux.h \
-  Eigen/src/Core/Assign_MKL.h \
-  Eigen/src/Core/Transpose.h \
-  Eigen/src/Core/Transpositions.h \
-  Eigen/src/Core/ArrayWrapper.h \
-  Eigen/src/Core/PlainObjectBase.h \
-  Eigen/src/Core/GlobalFunctions.h \
-  Eigen/src/Core/CwiseUnaryOp.h \
-  Eigen/src/Core/TriangularMatrix.h \
-  Eigen/src/Core/VectorBlock.h \
-  Eigen/src/Core/util/MKL_support.h \
-  Eigen/src/Core/util/Constants.h \
-  Eigen/src/Core/util/Macros.h \
-  Eigen/src/Core/util/Memory.h \
-  Eigen/src/Core/util/ForwardDeclarations.h \
-  Eigen/src/Core/util/XprHelper.h \
-  Eigen/src/Core/util/ReenableStupidWarnings.h \
-  Eigen/src/Core/util/BlasUtil.h \
-  Eigen/src/Core/util/Meta.h \
-  Eigen/src/Core/util/StaticAssert.h \
-  Eigen/src/Core/util/DisableStupidWarnings.h \
-  Eigen/src/Core/util/NonMPL2.h \
-  Eigen/src/Core/Replicate.h \
-  Eigen/src/Core/Stride.h \
-  Eigen/src/Core/Flagged.h \
-  Eigen/src/Core/DiagonalProduct.h \
-  Eigen/src/Core/BooleanRedux.h \
-  Eigen/src/Core/CommaInitializer.h \
-  Eigen/src/Core/Random.h \
-  Eigen/src/Core/DiagonalMatrix.h \
-  Eigen/src/Core/SolveTriangular.h \
-  Eigen/src/Core/Ref.h \
-  Eigen/src/Core/EigenBase.h \
-  Eigen/src/Core/MatrixBase.h \
-  Eigen/src/Core/SelfCwiseBinaryOp.h \
-  Eigen/src/Core/Diagonal.h \
-  Eigen/src/Core/DenseBase.h \
-  Eigen/src/Core/VectorwiseOp.h \
-  Eigen/src/Core/MathFunctions.h \
-  Eigen/src/Core/GeneralProduct.h \
-  Eigen/src/Core/Functors.h \
-  Eigen/src/Core/PermutationMatrix.h \
-  Eigen/src/Core/ProductBase.h \
-  Eigen/src/Core/Assign.h \
-  Eigen/src/Core/SelfAdjointView.h \
-  Eigen/src/Core/Fuzzy.h \
-  Eigen/src/Core/StableNorm.h \
-  Eigen/src/Core/Array.h \
-  Eigen/src/Core/Visitor.h \
-  Eigen/src/Core/GenericPacketMath.h \
-  Eigen/src/Core/ArrayBase.h \
-  Eigen/src/Core/Matrix.h \
-  Eigen/src/Core/Select.h \
-  Eigen/src/Core/DenseCoeffsBase.h \
-  Eigen/src/SuperLUSupport/SuperLUSupport.h \
-  Eigen/src/CholmodSupport/CholmodSupport.h \
-  Eigen/src/PaStiXSupport/PaStiXSupport.h \
-  Eigen/src/StlSupport/StdVector.h \
-  Eigen/src/StlSupport/StdList.h \
-  Eigen/src/StlSupport/details.h \
-  Eigen/src/StlSupport/StdDeque.h \
-  Eigen/src/Cholesky/LDLT.h \
-  Eigen/src/Cholesky/LLT_MKL.h \
-  Eigen/src/Cholesky/LLT.h \
-  Eigen/src/Eigen2Support/Macros.h \
-  Eigen/src/Eigen2Support/Memory.h \
-  Eigen/src/Eigen2Support/Block.h \
-  Eigen/src/Eigen2Support/LeastSquares.h \
-  Eigen/src/Eigen2Support/Cwise.h \
-  Eigen/src/Eigen2Support/QR.h \
-  Eigen/src/Eigen2Support/Geometry/Transform.h \
-  Eigen/src/Eigen2Support/Geometry/RotationBase.h \
-  Eigen/src/Eigen2Support/Geometry/Translation.h \
-  Eigen/src/Eigen2Support/Geometry/AngleAxis.h \
-  Eigen/src/Eigen2Support/Geometry/Quaternion.h \
-  Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h \
-  Eigen/src/Eigen2Support/Geometry/Hyperplane.h \
-  Eigen/src/Eigen2Support/Geometry/All.h \
-  Eigen/src/Eigen2Support/Geometry/AlignedBox.h \
-  Eigen/src/Eigen2Support/Geometry/Scaling.h \
-  Eigen/src/Eigen2Support/Geometry/Rotation2D.h \
-  Eigen/src/Eigen2Support/VectorBlock.h \
-  Eigen/src/Eigen2Support/CwiseOperators.h \
-  Eigen/src/Eigen2Support/TriangularSolver.h \
-  Eigen/src/Eigen2Support/Meta.h \
-  Eigen/src/Eigen2Support/SVD.h \
-  Eigen/src/Eigen2Support/LU.h \
-  Eigen/src/Eigen2Support/MathFunctions.h \
-  Eigen/src/Eigen2Support/Minor.h \
-  Eigen/src/Eigen2Support/Lazy.h \
-  Eigen/src/SparseLU/SparseLU_panel_bmod.h \
-  Eigen/src/SparseLU/SparseLU_Structs.h \
-  Eigen/src/SparseLU/SparseLU.h \
-  Eigen/src/SparseLU/SparseLU_column_dfs.h \
-  Eigen/src/SparseLU/SparseLUImpl.h \
-  Eigen/src/SparseLU/SparseLU_Utils.h \
-  Eigen/src/SparseLU/SparseLU_copy_to_ucol.h \
-  Eigen/src/SparseLU/SparseLU_column_bmod.h \
-  Eigen/src/SparseLU/SparseLU_pruneL.h \
-  Eigen/src/SparseLU/SparseLU_gemm_kernel.h \
-  Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h \
-  Eigen/src/SparseLU/SparseLU_pivotL.h \
-  Eigen/src/SparseLU/SparseLU_relax_snode.h \
-  Eigen/src/SparseLU/SparseLU_heap_relax_snode.h \
-  Eigen/src/SparseLU/SparseLU_kernel_bmod.h \
-  Eigen/src/SparseLU/SparseLU_Memory.h \
-  Eigen/src/SparseLU/SparseLU_panel_dfs.h \
-  Eigen/src/SparseCore/ConservativeSparseSparseProduct.h \
-  Eigen/src/SparseCore/SparseFuzzy.h \
-  Eigen/src/SparseCore/MappedSparseMatrix.h \
-  Eigen/src/SparseCore/SparseColEtree.h \
-  Eigen/src/SparseCore/SparseRedux.h \
-  Eigen/src/SparseCore/SparseView.h \
-  Eigen/src/SparseCore/CompressedStorage.h \
-  Eigen/src/SparseCore/SparseDiagonalProduct.h \
-  Eigen/src/SparseCore/SparseTranspose.h \
-  Eigen/src/SparseCore/SparseMatrix.h \
-  Eigen/src/SparseCore/SparseCwiseUnaryOp.h \
-  Eigen/src/SparseCore/SparseProduct.h \
-  Eigen/src/SparseCore/SparseVector.h \
-  Eigen/src/SparseCore/SparseUtil.h \
-  Eigen/src/SparseCore/SparseBlock.h \
-  Eigen/src/SparseCore/AmbiVector.h \
-  Eigen/src/SparseCore/TriangularSolver.h \
-  Eigen/src/SparseCore/SparsePermutation.h \
-  Eigen/src/SparseCore/SparseCwiseBinaryOp.h \
-  Eigen/src/SparseCore/SparseMatrixBase.h \
-  Eigen/src/SparseCore/SparseSelfAdjointView.h \
-  Eigen/src/SparseCore/SparseDot.h \
-  Eigen/src/SparseCore/SparseTriangularView.h \
-  Eigen/src/SparseCore/SparseDenseProduct.h \
-  Eigen/src/SparseCore/SparseSparseProductWithPruning.h \
-  Eigen/src/UmfPackSupport/UmfPackSupport.h \
-  Eigen/src/misc/Solve.h \
-  Eigen/src/misc/blas.h \
-  Eigen/src/misc/SparseSolve.h \
-  Eigen/src/misc/Kernel.h \
-  Eigen/src/misc/Image.h \
-  Eigen/src/SPQRSupport/SuiteSparseQRSupport.h \
-  Eigen/src/SparseCholesky/SimplicialCholesky.h \
-  Eigen/src/SparseCholesky/SimplicialCholesky_impl.h \
-  Eigen/src/Geometry/EulerAngles.h \
-  Eigen/src/Geometry/Transform.h \
-  Eigen/src/Geometry/RotationBase.h \
-  Eigen/src/Geometry/Translation.h \
-  Eigen/src/Geometry/AngleAxis.h \
-  Eigen/src/Geometry/arch/Geometry_SSE.h \
-  Eigen/src/Geometry/Quaternion.h \
-  Eigen/src/Geometry/ParametrizedLine.h \
-  Eigen/src/Geometry/Hyperplane.h \
-  Eigen/src/Geometry/OrthoMethods.h \
-  Eigen/src/Geometry/AlignedBox.h \
-  Eigen/src/Geometry/Scaling.h \
-  Eigen/src/Geometry/Homogeneous.h \
-  Eigen/src/Geometry/Umeyama.h \
-  Eigen/src/Geometry/Rotation2D.h \
-  Eigen/src/OrderingMethods/Amd.h \
-  Eigen/src/OrderingMethods/Eigen_Colamd.h \
-  Eigen/src/OrderingMethods/Ordering.h \
-  Eigen/src/SparseQR/SparseQR.h \
-  Eigen/src/MetisSupport/MetisSupport.h \
-  Eigen/src/IterativeLinearSolvers/BiCGSTAB.h \
-  Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h \
-  Eigen/src/IterativeLinearSolvers/IncompleteLUT.h \
-  Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h \
-  Eigen/src/IterativeLinearSolvers/ConjugateGradient.h \
-  Eigen/src/plugins/MatrixCwiseBinaryOps.h \
-  Eigen/src/plugins/CommonCwiseUnaryOps.h \
-  Eigen/src/plugins/ArrayCwiseUnaryOps.h \
-  Eigen/src/plugins/CommonCwiseBinaryOps.h \
-  Eigen/src/plugins/MatrixCwiseUnaryOps.h \
-  Eigen/src/plugins/ArrayCwiseBinaryOps.h \
-  Eigen/src/plugins/BlockMethods.h \
-  Eigen/src/LU/Inverse.h \
-  Eigen/src/LU/arch/Inverse_SSE.h \
-  Eigen/src/LU/PartialPivLU.h \
-  Eigen/src/LU/FullPivLU.h \
-  Eigen/src/LU/PartialPivLU_MKL.h \
-  Eigen/src/LU/Determinant.h \
-  Eigen/src/PardisoSupport/PardisoSupport.h \
-  Eigen/src/Eigenvalues/EigenSolver.h \
-  Eigen/src/Eigenvalues/RealSchur_MKL.h \
-  Eigen/src/Eigenvalues/Tridiagonalization.h \
-  Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h \
-  Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h \
-  Eigen/src/Eigenvalues/ComplexSchur.h \
-  Eigen/src/Eigenvalues/RealSchur.h \
-  Eigen/src/Eigenvalues/GeneralizedEigenSolver.h \
-  Eigen/src/Eigenvalues/RealQZ.h \
-  Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h \
-  Eigen/src/Eigenvalues/ComplexSchur_MKL.h \
-  Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h \
-  Eigen/src/Eigenvalues/HessenbergDecomposition.h \
-  Eigen/src/Eigenvalues/ComplexEigenSolver.h \
-  Eigen/src/QR/HouseholderQR_MKL.h \
-  Eigen/src/QR/FullPivHouseholderQR.h \
-  Eigen/src/QR/ColPivHouseholderQR.h \
-  Eigen/src/QR/ColPivHouseholderQR_MKL.h \
-  Eigen/src/QR/HouseholderQR.h \
-  Eigen/src/SVD/JacobiSVD_MKL.h \
-  Eigen/src/SVD/UpperBidiagonalization.h \
-  Eigen/src/SVD/JacobiSVD.h \
-  Eigen/src/Jacobi/Jacobi.h \
-  Eigen/SVD \
-  Eigen/Jacobi
diff --git a/lib/Make.inc b/lib/Make.inc
deleted file mode 100644
index a2c00e4a..00000000
--- a/lib/Make.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-HFILES=./tensors/Tensor_extract_merge.h ./tensors/Tensor_exp.h ./tensors/Tensor_index.h ./tensors/Tensor_arith_add.h ./tensors/Tensor_determinant.h ./tensors/Tensor_outer.h ./tensors/Tensor_trace.h ./tensors/Tensor_arith_mac.h ./tensors/Tensor_logical.h ./tensors/Tensor_reality.h ./tensors/Tensor_arith_sub.h ./tensors/Tensor_Ta.h ./tensors/Tensor_class.h ./tensors/Tensor_inner.h ./tensors/Tensor_arith_mul.h ./tensors/Tensor_transpose.h ./tensors/Tensor_arith.h ./tensors/Tensor_unary.h ./tensors/Tensor_arith_scalar.h ./tensors/Tensor_traits.h ./stencil/Lebesgue.h ./PerfCount.h ./FFT.h ./Communicator.h ./simd/Grid_vector_types.h ./simd/Grid_qpx.h ./simd/Grid_imci.h ./simd/Grid_avx.h ./simd/Intel512single.h ./simd/Grid_vector_unops.h ./simd/Grid_neon.h ./simd/Intel512common.h ./simd/Intel512wilson.h ./simd/Intel512imci.h ./simd/Intel512double.h ./simd/Grid_generic.h ./simd/Grid_avx512.h ./simd/Grid_sse4.h ./simd/Intel512avx.h ./Threads.h ./Timer.h ./algorithms/approx/bigfloat_double.h ./algorithms/approx/bigfloat.h ./algorithms/approx/Chebyshev.h ./algorithms/approx/Remez.h ./algorithms/approx/Zolotarev.h ./algorithms/approx/MultiShiftFunction.h ./algorithms/SparseMatrix.h ./algorithms/LinearOperator.h ./algorithms/Preconditioner.h ./algorithms/CoarsenedMatrix.h ./algorithms/iterative/AdefGeneric.h ./algorithms/iterative/ImplicitlyRestartedLanczos.h ./algorithms/iterative/ConjugateGradientMultiShift.h ./algorithms/iterative/DenseMatrix.h ./algorithms/iterative/ConjugateResidual.h ./algorithms/iterative/EigenSort.h ./algorithms/iterative/MatrixUtils.h ./algorithms/iterative/ConjugateGradientMixedPrec.h ./algorithms/iterative/PrecGeneralisedConjugateResidual.h ./algorithms/iterative/NormalEquations.h ./algorithms/iterative/Francis.h ./algorithms/iterative/SchurRedBlack.h ./algorithms/iterative/ConjugateGradient.h ./algorithms/iterative/Householder.h ./algorithms/iterative/PrecConjugateResidual.h ./algorithms/iterative/Matrix.h ./Algorithms.h ./fftw/fftw3.h ./lattice/Lattice_base.h ./lattice/Lattice_overload.h ./lattice/Lattice_ET.h ./lattice/Lattice_comparison_utils.h ./lattice/Lattice_trace.h ./lattice/Lattice_coordinate.h ./lattice/Lattice_arith.h ./lattice/Lattice_peekpoke.h ./lattice/Lattice_local.h ./lattice/Lattice_rng.h ./lattice/Lattice_comparison.h ./lattice/Lattice_reality.h ./lattice/Lattice_transpose.h ./lattice/Lattice_transfer.h ./lattice/Lattice_conformable.h ./lattice/Lattice_unary.h ./lattice/Lattice_where.h ./lattice/Lattice_reduction.h ./Cartesian.h ./Simd.h ./Init.h ./serialisation/TextIO.h ./serialisation/Serialisation.h ./serialisation/MacroMagic.h ./serialisation/BaseIO.h ./serialisation/XmlIO.h ./serialisation/BinaryIO.h ./communicator/Communicator_base.h ./Log.h ./Lattice.h ./cshift/Cshift_mpi.h ./cshift/Cshift_none.h ./cshift/Cshift_common.h ./Lexicographic.h ./Tensors.h ./Cshift.h ./parallelIO/NerscIO.h ./parallelIO/BinaryIO.h ./qcd/smearing/BaseSmearing.h ./qcd/smearing/GaugeConfiguration.h ./qcd/smearing/StoutSmearing.h ./qcd/smearing/APEsmearing.h ./qcd/smearing/Smearing.h ./qcd/hmc/HmcRunner.h ./qcd/hmc/NerscCheckpointer.h ./qcd/hmc/integrators/Integrator.h ./qcd/hmc/integrators/Integrator_algorithm.h ./qcd/hmc/HMC.h ./qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h ./qcd/action/fermion/WilsonFermion5D.h ./qcd/action/fermion/MobiusFermion.h ./qcd/action/fermion/MobiusZolotarevFermion.h ./qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h ./qcd/action/fermion/DomainWallFermion.h ./qcd/action/fermion/ZMobiusFermion.h ./qcd/action/fermion/WilsonFermion.h ./qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h ./qcd/action/fermion/FermionOperatorImpl.h ./qcd/action/fermion/g5HermitianLinop.h ./qcd/action/fermion/ContinuedFractionFermion5D.h ./qcd/action/fermion/WilsonTMFermion.h ./qcd/action/fermion/FermionOperator.h ./qcd/action/fermion/OverlapWilsonContfracTanhFermion.h ./qcd/action/fermion/PartialFractionFermion5D.h ./qcd/action/fermion/CayleyFermion5D.h ./qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h ./qcd/action/fermion/ScaledShamirFermion.h ./qcd/action/fermion/ShamirZolotarevFermion.h ./qcd/action/fermion/WilsonKernels.h ./qcd/action/fermion/WilsonCompressor.h ./qcd/action/fermion/WilsonKernelsAsmBody.h ./qcd/action/ActionParams.h ./qcd/action/Actions.h ./qcd/action/pseudofermion/OneFlavourRationalRatio.h ./qcd/action/pseudofermion/OneFlavourEvenOddRational.h ./qcd/action/pseudofermion/TwoFlavourEvenOdd.h ./qcd/action/pseudofermion/OneFlavourEvenOddRationalRatio.h ./qcd/action/pseudofermion/TwoFlavourRatio.h ./qcd/action/pseudofermion/EvenOddSchurDifferentiable.h ./qcd/action/pseudofermion/TwoFlavour.h ./qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h ./qcd/action/pseudofermion/OneFlavourRational.h ./qcd/action/gauge/WilsonGaugeAction.h ./qcd/action/gauge/PlaqPlusRectangleAction.h ./qcd/action/gauge/GaugeImpl.h ./qcd/action/ActionBase.h ./qcd/QCD.h ./qcd/spin/TwoSpinor.h ./qcd/spin/Dirac.h ./qcd/representations/fundamental.h ./qcd/representations/hmc_types.h ./qcd/representations/adjoint.h ./qcd/representations/two_index.h ./qcd/utils/CovariantCshift.h ./qcd/utils/SUnTwoIndex.h ./qcd/utils/SUnAdjoint.h ./qcd/utils/LinalgUtils.h ./qcd/utils/SpaceTimeGrid.h ./qcd/utils/SUn.h ./qcd/utils/WilsonLoops.h ./AlignedAllocator.h ./pugixml/pugixml.h ./Stencil.h ./cartesian/Cartesian_red_black.h ./cartesian/Cartesian_base.h ./cartesian/Cartesian_full.h ./Grid.h
-
-CCFILES=./stencil/Stencil_common.cc ./stencil/Lebesgue.cc ./algorithms/approx/MultiShiftFunction.cc ./algorithms/approx/Remez.cc ./algorithms/approx/Zolotarev.cc ./PerfCount.cc ./serialisation/BinaryIO.cc ./serialisation/XmlIO.cc ./serialisation/TextIO.cc ./qcd/hmc/HMC.cc ./qcd/action/fermion/CayleyFermion5D.cc ./qcd/action/fermion/ContinuedFractionFermion5D.cc ./qcd/action/fermion/CayleyFermion5Ddense.cc ./qcd/action/fermion/WilsonKernelsHand.cc ./qcd/action/fermion/WilsonTMFermion.cc ./qcd/action/fermion/WilsonFermion.cc ./qcd/action/fermion/CayleyFermion5Dcache.cc ./qcd/action/fermion/WilsonKernelsAsm.cc ./qcd/action/fermion/CayleyFermion5Dssp.cc ./qcd/action/fermion/WilsonKernels.cc ./qcd/action/fermion/WilsonFermion5D.cc ./qcd/action/fermion/PartialFractionFermion5D.cc ./qcd/action/fermion/CayleyFermion5Dvec.cc ./qcd/spin/Dirac.cc ./qcd/utils/SpaceTimeGrid.cc ./Init.cc ./pugixml/pugixml.cc ./Log.cc
diff --git a/tests/core/Make.inc b/tests/core/Make.inc
deleted file mode 100644
index e99f8146..00000000
--- a/tests/core/Make.inc
+++ /dev/null
@@ -1,69 +0,0 @@
-tests: Test_cf_coarsen_support Test_checker Test_contfrac_even_odd Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_even_odd Test_dwf_rb5d Test_fft Test_fftf Test_gamma Test_GaugeAction Test_gparity Test_gpwilson_even_odd Test_lie_generators Test_main Test_quenched_update Test_RectPlaq Test_rng Test_rng_fixed Test_wilson_even_odd Test_wilson_tm_even_odd
-EXTRA_PROGRAMS = Test_cf_coarsen_support Test_checker Test_contfrac_even_odd Test_cshift_red_black Test_cshift_red_black_rotate Test_cshift_rotate Test_dwf_even_odd Test_dwf_rb5d Test_fft Test_fftf Test_gamma Test_GaugeAction Test_gparity Test_gpwilson_even_odd Test_lie_generators Test_main Test_quenched_update Test_RectPlaq Test_rng Test_rng_fixed Test_wilson_even_odd Test_wilson_tm_even_odd
-
-Test_cf_coarsen_support_SOURCES=Test_cf_coarsen_support.cc
-Test_cf_coarsen_support_LDADD=-lGrid
-
-Test_checker_SOURCES=Test_checker.cc
-Test_checker_LDADD=-lGrid
-
-Test_contfrac_even_odd_SOURCES=Test_contfrac_even_odd.cc
-Test_contfrac_even_odd_LDADD=-lGrid
-
-Test_cshift_red_black_SOURCES=Test_cshift_red_black.cc
-Test_cshift_red_black_LDADD=-lGrid
-
-Test_cshift_red_black_rotate_SOURCES=Test_cshift_red_black_rotate.cc
-Test_cshift_red_black_rotate_LDADD=-lGrid
-
-Test_cshift_rotate_SOURCES=Test_cshift_rotate.cc
-Test_cshift_rotate_LDADD=-lGrid
-
-Test_dwf_even_odd_SOURCES=Test_dwf_even_odd.cc
-Test_dwf_even_odd_LDADD=-lGrid
-
-Test_dwf_rb5d_SOURCES=Test_dwf_rb5d.cc
-Test_dwf_rb5d_LDADD=-lGrid
-
-Test_fft_SOURCES=Test_fft.cc
-Test_fft_LDADD=-lGrid
-
-Test_fftf_SOURCES=Test_fftf.cc
-Test_fftf_LDADD=-lGrid
-
-Test_gamma_SOURCES=Test_gamma.cc
-Test_gamma_LDADD=-lGrid
-
-Test_GaugeAction_SOURCES=Test_GaugeAction.cc
-Test_GaugeAction_LDADD=-lGrid
-
-Test_gparity_SOURCES=Test_gparity.cc
-Test_gparity_LDADD=-lGrid
-
-Test_gpwilson_even_odd_SOURCES=Test_gpwilson_even_odd.cc
-Test_gpwilson_even_odd_LDADD=-lGrid
-
-Test_lie_generators_SOURCES=Test_lie_generators.cc
-Test_lie_generators_LDADD=-lGrid
-
-Test_main_SOURCES=Test_main.cc
-Test_main_LDADD=-lGrid
-
-Test_quenched_update_SOURCES=Test_quenched_update.cc
-Test_quenched_update_LDADD=-lGrid
-
-Test_RectPlaq_SOURCES=Test_RectPlaq.cc
-Test_RectPlaq_LDADD=-lGrid
-
-Test_rng_SOURCES=Test_rng.cc
-Test_rng_LDADD=-lGrid
-
-Test_rng_fixed_SOURCES=Test_rng_fixed.cc
-Test_rng_fixed_LDADD=-lGrid
-
-Test_wilson_even_odd_SOURCES=Test_wilson_even_odd.cc
-Test_wilson_even_odd_LDADD=-lGrid
-
-Test_wilson_tm_even_odd_SOURCES=Test_wilson_tm_even_odd.cc
-Test_wilson_tm_even_odd_LDADD=-lGrid
-
diff --git a/tests/forces/Make.inc b/tests/forces/Make.inc
deleted file mode 100644
index 5391ec59..00000000
--- a/tests/forces/Make.inc
+++ /dev/null
@@ -1,36 +0,0 @@
-tests: Test_contfrac_force Test_dwf_force Test_dwf_gpforce Test_gpdwf_force Test_gp_rect_force Test_gpwilson_force Test_partfrac_force Test_rect_force Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi
-EXTRA_PROGRAMS = Test_contfrac_force Test_dwf_force Test_dwf_gpforce Test_gpdwf_force Test_gp_rect_force Test_gpwilson_force Test_partfrac_force Test_rect_force Test_wilson_force Test_wilson_force_phiMdagMphi Test_wilson_force_phiMphi
-
-Test_contfrac_force_SOURCES=Test_contfrac_force.cc
-Test_contfrac_force_LDADD=-lGrid
-
-Test_dwf_force_SOURCES=Test_dwf_force.cc
-Test_dwf_force_LDADD=-lGrid
-
-Test_dwf_gpforce_SOURCES=Test_dwf_gpforce.cc
-Test_dwf_gpforce_LDADD=-lGrid
-
-Test_gpdwf_force_SOURCES=Test_gpdwf_force.cc
-Test_gpdwf_force_LDADD=-lGrid
-
-Test_gp_rect_force_SOURCES=Test_gp_rect_force.cc
-Test_gp_rect_force_LDADD=-lGrid
-
-Test_gpwilson_force_SOURCES=Test_gpwilson_force.cc
-Test_gpwilson_force_LDADD=-lGrid
-
-Test_partfrac_force_SOURCES=Test_partfrac_force.cc
-Test_partfrac_force_LDADD=-lGrid
-
-Test_rect_force_SOURCES=Test_rect_force.cc
-Test_rect_force_LDADD=-lGrid
-
-Test_wilson_force_SOURCES=Test_wilson_force.cc
-Test_wilson_force_LDADD=-lGrid
-
-Test_wilson_force_phiMdagMphi_SOURCES=Test_wilson_force_phiMdagMphi.cc
-Test_wilson_force_phiMdagMphi_LDADD=-lGrid
-
-Test_wilson_force_phiMphi_SOURCES=Test_wilson_force_phiMphi.cc
-Test_wilson_force_phiMphi_LDADD=-lGrid
-

From 7ea4b959a4cda6b42b5bdcb07d6c8080798b4c3c Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 27 Sep 2016 11:54:37 +0100
Subject: [PATCH 167/295] hopefully more portable configure output

---
 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index b6f4c6b9..0b5992a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -333,10 +333,10 @@ Summary of configuration for $PACKAGE v$VERSION
 - graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
 ----- BUILD FLAGS -------------------------------------
 - CXXFLAGS:
-`echo ${AM_CXXFLAGS} ${CXXFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+`echo ${AM_CXXFLAGS} ${CXXFLAGS} | tr ' ' '\n' | sed 's/^-/    -/g'`
 - LDFLAGS:
-`echo ${AM_LDFLAGS} ${LDFLAGS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+`echo ${AM_LDFLAGS} ${LDFLAGS} | tr ' ' '\n' | sed 's/^-/    -/g'`
 - LIBS:
-`echo ${LIBS} | sed 's/ -/\n\t-/g' | sed 's/^-/\t-/g'`
+`echo ${LIBS} | tr ' ' '\n' | sed 's/^-/    -/g'`
 -------------------------------------------------------
 "

From c78bbd0f8ce1e73f1515ece5686b45112f8468c1 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Tue, 4 Oct 2016 15:37:32 +0100
Subject: [PATCH 168/295] Fix ASM compilation

---
 lib/qcd/action/fermion/WilsonKernels.h     | 23 +++---------
 lib/qcd/action/fermion/WilsonKernelsAsm.cc | 42 ++++++++++++++++++++++
 2 files changed, 47 insertions(+), 18 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index a1a93e9a..23c145de 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -196,24 +196,11 @@ namespace Grid {
 				    WilsonKernels(const ImplParams &p = ImplParams());
 				  };
     
-	///////////////////////////////////////////////////////////
-	// Default to no assembler implementation
-	///////////////////////////////////////////////////////////
-	template<class Impl>
-	  void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-							 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							 int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
-	{
-	  assert(0);
-	}
-	template<class Impl>
-	  void WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-							    std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
-							    int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
-	{
-	  assert(0);
-	}
-  
       }
     }
+
+
+
+
+
 #endif
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index d2cb4285..b09699ef 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -31,9 +31,30 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #include <Grid.h>
 
+
 namespace Grid {
   namespace QCD {
     
+    ///////////////////////////////////////////////////////////
+    // Default to no assembler implementation
+    ///////////////////////////////////////////////////////////
+    template<class Impl>
+      void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+                             std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+                             int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+    {
+      assert(0);
+    }
+    template<class Impl>
+      void WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
+                                std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+                                int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+    {
+      assert(0);
+    }
+
+
+
 #if defined(AVX512) 
     
     
@@ -102,6 +123,27 @@ namespace Grid {
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 				    
 #endif
+
+
+#define INSTANTIATE_ASM(A)\
+template void WilsonKernels<A>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,\
+                                   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
+                                  int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);\
+template void WilsonKernels<A>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,\
+                                   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
+                                  int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);\
+
+
+INSTANTIATE_ASM(WilsonImplF);
+INSTANTIATE_ASM(WilsonImplD);
+INSTANTIATE_ASM(ZWilsonImplF);
+INSTANTIATE_ASM(ZWilsonImplD);
+INSTANTIATE_ASM(GparityWilsonImplF);
+INSTANTIATE_ASM(GparityWilsonImplD);
+INSTANTIATE_ASM(DomainWallVec5dImplF);
+INSTANTIATE_ASM(DomainWallVec5dImplD);
+INSTANTIATE_ASM(ZDomainWallVec5dImplF);
+INSTANTIATE_ASM(ZDomainWallVec5dImplD);
   }
 }
 

From 98439847cf1b8f285dd027014009e7104c637d1f Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 5 Oct 2016 14:57:20 +0100
Subject: [PATCH 169/295] configure portability fix

---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 0b5992a0..7ba7e7be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,7 +47,7 @@ AC_ARG_WITH([gmp],
     [AS_HELP_STRING([--with-gmp=prefix],
     [try this for a non-standard install prefix of the GMP library])],
     [AM_CXXFLAGS="-I$with_gmp/include $AM_CXXFLAGS"]
-    [AM_LDFLAGS="-L$with_gmp/lib" $AM_LDFLAGS])
+    [AM_LDFLAGS="-L$with_gmp/lib $AM_LDFLAGS"])
 AC_ARG_WITH([mpfr],
     [AS_HELP_STRING([--with-mpfr=prefix],
     [try this for a non-standard install prefix of the MPFR library])],

From 4089984431753af7e290b2b6f221877e57db0f42 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 6 Oct 2016 09:25:12 +0100
Subject: [PATCH 170/295] Timing hooks

---
 benchmarks/Benchmark_dwf.cc               | 10 ++++-
 lib/Stencil.h                             | 46 +++++++++++++++++------
 lib/qcd/action/fermion/WilsonFermion5D.cc | 34 +++++++++++++++++
 lib/qcd/action/fermion/WilsonFermion5D.h  |  6 +++
 4 files changed, 82 insertions(+), 14 deletions(-)

diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index c4a7c29e..0d3e2653 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -148,6 +148,7 @@ int main (int argc, char ** argv)
   int ncall =100;
   if (1) {
 
+    Dw.ZeroCounters();
     double t0=usecond();
     for(int i=0;i<ncall;i++){
       __SSC_START;
@@ -166,7 +167,7 @@ int main (int argc, char ** argv)
     std::cout<<GridLogMessage << "mflop/s per node =  "<< flops/(t1-t0)/NP<<std::endl;
     err = ref-result; 
     std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<<std::endl;
-    //    Dw.Report();
+    Dw.Report();
   }
 
   if (1)
@@ -190,6 +191,7 @@ int main (int argc, char ** argv)
     }}}}}
     std::cout<<"src norms "<< norm2(src)<<" " <<norm2(ssrc)<<std::endl;
     double t0=usecond();
+    sDw.ZeroCounters();
     for(int i=0;i<ncall;i++){
       __SSC_START;
       sDw.Dhop(ssrc,sresult,0);
@@ -202,7 +204,7 @@ int main (int argc, char ** argv)
     std::cout<<GridLogMessage << "Called Dw sinner "<<ncall<<" times in "<<t1-t0<<" us"<<std::endl;
     std::cout<<GridLogMessage << "mflop/s =   "<< flops/(t1-t0)<<std::endl;
     std::cout<<GridLogMessage << "mflop/s per node =  "<< flops/(t1-t0)/NP<<std::endl;
-    //  sDw.Report();
+    sDw.Report();
   
     if(0){
       for(int i=0;i< PerformanceCounter::NumTypes(); i++ ){
@@ -259,6 +261,7 @@ int main (int argc, char ** argv)
       sr_e = zero;
       sr_o = zero;
 
+      sDw.ZeroCounters();
       double t0=usecond();
       for(int i=0;i<ncall;i++){
 	sDw.DhopEO(ssrc_o,sr_e,DaggerNo);
@@ -270,6 +273,7 @@ int main (int argc, char ** argv)
 
       std::cout<<GridLogMessage << "sDeo mflop/s =   "<< flops/(t1-t0)<<std::endl;
       std::cout<<GridLogMessage << "sDeo mflop/s per node   "<< flops/(t1-t0)/NP<<std::endl;
+      sDw.Report();
 
       sDw.DhopEO(ssrc_o,sr_e,DaggerNo);
       sDw.DhopOE(ssrc_e,sr_o,DaggerNo);
@@ -327,6 +331,7 @@ int main (int argc, char ** argv)
   std::cout<<GridLogMessage << "src_o"<<norm2(src_o)<<std::endl;
 
   {
+    Dw.ZeroCounters();
     double t0=usecond();
     for(int i=0;i<ncall;i++){
       Dw.DhopEO(src_o,r_e,DaggerNo);
@@ -338,6 +343,7 @@ int main (int argc, char ** argv)
 
     std::cout<<GridLogMessage << "Deo mflop/s =   "<< flops/(t1-t0)<<std::endl;
     std::cout<<GridLogMessage << "Deo mflop/s per node   "<< flops/(t1-t0)/NP<<std::endl;
+    Dw.Report();
   }
   Dw.DhopEO(src_o,r_e,DaggerNo);
   Dw.DhopOE(src_e,r_o,DaggerNo);
diff --git a/lib/Stencil.h b/lib/Stencil.h
index 79479879..2c2ae3c3 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -301,6 +301,39 @@
        double gathermtime;
        double splicetime;
        double nosplicetime;
+       double calls;
+
+       void ZeroCounters(void) {
+	 gathertime=0;
+	 jointime=0;
+	 commtime=0;
+	 halogtime=0;
+	 mergetime=0;
+	 spintime=0;
+	 gathermtime=0;
+	 splicetime=0;
+	 nosplicetime=0;
+	 comms_bytes=0;
+	 calls=0;
+       };
+
+       void Report(void) {
+#define PRINTIT(A)	\
+ std::cout << GridLogMessage << " Stencil " << #A << " "<< A/calls<<std::endl;
+	 if ( calls > 0 ) {
+ std::cout << GridLogMessage << " Stencil calls "<<calls<<std::endl;
+       PRINTIT(jointime);
+       PRINTIT(gathertime);
+       PRINTIT(commtime);
+       PRINTIT(halogtime);
+       PRINTIT(mergetime);
+       PRINTIT(spintime);
+       PRINTIT(comms_bytes);
+       PRINTIT(gathermtime);
+       PRINTIT(splicetime);
+       PRINTIT(nosplicetime);
+	 }
+       };
  #endif
 
    CartesianStencil(GridBase *grid,
@@ -310,18 +343,6 @@
 				      const std::vector<int> &distances) 
      :   _permute_type(npoints), _comm_buf_size(npoints)
      {
- #ifdef TIMING_HACK
-       gathertime=0;
-       jointime=0;
-       commtime=0;
-       halogtime=0;
-       mergetime=0;
-       spintime=0;
-       gathermtime=0;
-       splicetime=0;
-       nosplicetime=0;
-       comms_bytes=0;
- #endif
        _npoints = npoints;
        _grid    = grid;
        _directions = directions;
@@ -623,6 +644,7 @@
        template<class compressor>
        void HaloExchange(const Lattice<vobj> &source,compressor &compress) 
        {
+	 calls++;
 	 Mergers.resize(0);
          Packets.resize(0);
          HaloGather(source,compress);
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.cc b/lib/qcd/action/fermion/WilsonFermion5D.cc
index ef7e84ab..ddabd4eb 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.cc
+++ b/lib/qcd/action/fermion/WilsonFermion5D.cc
@@ -175,6 +175,35 @@ WilsonFermion5D<Impl>::WilsonFermion5D(int simd,GaugeField &_Umu,
 }  
   */
      
+template<class Impl>
+void WilsonFermion5D<Impl>::Report(void)
+{
+  if ( Calls > 0 ) {
+  std::cout << GridLogMessage << "WilsonFermion5D Dhop Calls  " <<Calls <<std::endl;
+  std::cout << GridLogMessage << "WilsonFermion5D CommTime    " <<CommTime/Calls<<" us" <<std::endl;
+  std::cout << GridLogMessage << "WilsonFermion5D ComputeTime " <<ComputeTime/Calls<<" us" <<std::endl;
+
+  std::cout << GridLogMessage << "WilsonFermion5D Stencil"<<std::endl;
+  Stencil.Report();
+
+  std::cout << GridLogMessage << "WilsonFermion5D StencilEven"<<std::endl;
+  StencilEven.Report();
+
+  std::cout << GridLogMessage << "WilsonFermion5D StencilOdd"<<std::endl;
+  StencilOdd.Report();
+  }
+}
+template<class Impl>
+void WilsonFermion5D<Impl>::ZeroCounters(void) {
+  Calls=0;
+  CommTime=0;
+  ComputeTime=0;
+  Stencil.ZeroCounters();
+  StencilEven.ZeroCounters();
+  StencilOdd.ZeroCounters();
+}
+
+
 template<class Impl>
 void WilsonFermion5D<Impl>::ImportGauge(const GaugeField &_Umu)
 {
@@ -326,13 +355,17 @@ void WilsonFermion5D<Impl>::DhopInternal(StencilImpl & st, LebesgueOrder &lo,
 					 DoubledGaugeField & U,
 					 const FermionField &in, FermionField &out,int dag)
 {
+  Calls++;
   //  assert((dag==DaggerNo) ||(dag==DaggerYes));
   Compressor compressor(dag);
 
   int LLs = in._grid->_rdimensions[0];
   
+  CommTime-=usecond();
   st.HaloExchange(in,compressor);
+  CommTime+=usecond();
   
+  ComputeTime-=usecond();
   // Dhop takes the 4d grid from U, and makes a 5d index for fermion
   if ( dag == DaggerYes ) {
 PARALLEL_FOR_LOOP
@@ -349,6 +382,7 @@ PARALLEL_FOR_LOOP
       Kernels::DiracOptDhopSite(st,lo,U,st.comm_buf,sF,sU,LLs,1,in,out);
     }
   }
+  ComputeTime+=usecond();
 }
 
 
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.h b/lib/qcd/action/fermion/WilsonFermion5D.h
index 4ff37007..35016cb2 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.h
+++ b/lib/qcd/action/fermion/WilsonFermion5D.h
@@ -61,6 +61,12 @@ namespace Grid {
      INHERIT_IMPL_TYPES(Impl);
      typedef WilsonKernels<Impl> Kernels;
 
+     void Report(void);
+     void ZeroCounters(void);
+     double Calls;
+     double CommTime;
+     double ComputeTime;
+
       ///////////////////////////////////////////////////////////////
       // Implement the abstract base
       ///////////////////////////////////////////////////////////////

From 2e453dfbf55ace50652af28ec7559a9204c90591 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Thu, 6 Oct 2016 17:52:45 +0100
Subject: [PATCH 171/295] Added some instrumentation to benchmark the force
 computation

---
 benchmarks/Benchmark_dwf.cc                   |  50 ++--
 lib/Stencil.h                                 |  25 +-
 lib/algorithms/iterative/ConjugateGradient.h  | 261 +++++++++---------
 lib/qcd/action/fermion/WilsonFermion5D.cc     | 189 ++++++++-----
 lib/qcd/action/fermion/WilsonFermion5D.h      |  11 +-
 .../pseudofermion/TwoFlavourEvenOddRatio.h    |   6 +-
 tests/hmc/Test_hmc_EODWFRatio.cc              |   6 +
 tests/solver/Test_dwf_cg_prec.cc              | 126 +++++----
 tests/solver/Test_wilson_cg_prec.cc           |   1 +
 9 files changed, 377 insertions(+), 298 deletions(-)

diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index 0d3e2653..bc9ab708 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -86,18 +86,6 @@ int main (int argc, char ** argv)
   LatticeFermion    tmp(FGrid);
   LatticeFermion    err(FGrid);
 
-  /*  src=zero;
-  std::vector<int> origin(5,0);
-  SpinColourVector f=zero;
-  for(int sp=0;sp<4;sp++){
-  for(int co=0;co<3;co++){
-    f()(sp)(co)=Complex(1.0,0.0); 
-  }}
-  pokeSite(f,src,origin);
-  */
-
-  ColourMatrix cm = Complex(1.0,0.0);
-
   LatticeGaugeField Umu(UGrid); 
   random(RNG4,Umu);
 
@@ -144,7 +132,8 @@ int main (int argc, char ** argv)
 
   DomainWallFermionR Dw(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
   
-  std::cout<<GridLogMessage << "Calling Dw"<<std::endl;
+  std::cout<<GridLogMessage << "Naive wilson implementation "<<std::endl;
+  std::cout << GridLogMessage<< "Calling Dw"<<std::endl;
   int ncall =100;
   if (1) {
 
@@ -189,7 +178,7 @@ int main (int argc, char ** argv)
       peekSite(tmp,src,site);
       pokeSite(tmp,ssrc,site);
     }}}}}
-    std::cout<<"src norms "<< norm2(src)<<" " <<norm2(ssrc)<<std::endl;
+    std::cout<<GridLogMessage<< "src norms "<< norm2(src)<<" " <<norm2(ssrc)<<std::endl;
     double t0=usecond();
     sDw.ZeroCounters();
     for(int i=0;i<ncall;i++){
@@ -201,23 +190,23 @@ int main (int argc, char ** argv)
     double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
     double flops=1344*volume*ncall;
 
-    std::cout<<GridLogMessage << "Called Dw sinner "<<ncall<<" times in "<<t1-t0<<" us"<<std::endl;
+    std::cout<<GridLogMessage << "Called Dw s_inner "<<ncall<<" times in "<<t1-t0<<" us"<<std::endl;
     std::cout<<GridLogMessage << "mflop/s =   "<< flops/(t1-t0)<<std::endl;
     std::cout<<GridLogMessage << "mflop/s per node =  "<< flops/(t1-t0)/NP<<std::endl;
     sDw.Report();
   
     if(0){
       for(int i=0;i< PerformanceCounter::NumTypes(); i++ ){
-	sDw.Dhop(ssrc,sresult,0);
-	PerformanceCounter Counter(i);
-	Counter.Start();
-	sDw.Dhop(ssrc,sresult,0);
-	Counter.Stop();
-	Counter.Report();
+  sDw.Dhop(ssrc,sresult,0);
+  PerformanceCounter Counter(i);
+  Counter.Start();
+  sDw.Dhop(ssrc,sresult,0);
+  Counter.Stop();
+  Counter.Report();
       }
     }
 
-    std::cout<<"res norms "<< norm2(result)<<" " <<norm2(sresult)<<std::endl;
+    std::cout<<GridLogMessage<< "res norms "<< norm2(result)<<" " <<norm2(sresult)<<std::endl;
 
 
     RealF sum=0;
@@ -232,12 +221,12 @@ int main (int argc, char ** argv)
       peekSite(simd,sresult,site);
       sum=sum+norm2(normal-simd);
       if (norm2(normal-simd) > 1.0e-6 ) {
-	std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" "<<norm2(normal-simd)<<std::endl;
-	std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" normal "<<normal<<std::endl;
-	std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" simd   "<<simd<<std::endl;
+  std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" "<<norm2(normal-simd)<<std::endl;
+  std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" normal "<<normal<<std::endl;
+  std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" simd   "<<simd<<std::endl;
       }
     }}}}}
-    std::cout<<" difference between normal and simd is "<<sum<<std::endl;
+    std::cout<<GridLogMessage<<" difference between normal and simd is "<<sum<<std::endl;
 
 
     if (1) {
@@ -263,8 +252,8 @@ int main (int argc, char ** argv)
 
       sDw.ZeroCounters();
       double t0=usecond();
-      for(int i=0;i<ncall;i++){
-	sDw.DhopEO(ssrc_o,sr_e,DaggerNo);
+      for (int i = 0; i < ncall; i++) {
+        sDw.DhopEO(ssrc_o, sr_e, DaggerNo);
       }
       double t1=usecond();
 
@@ -298,18 +287,19 @@ int main (int argc, char ** argv)
       //    ref =  src - Gamma(Gamma::GammaX)* src ; // 1+gamma_x
       tmp = U[mu]*Cshift(src,mu+1,1);
       for(int i=0;i<ref._odata.size();i++){
-	ref._odata[i]+= tmp._odata[i] + Gamma(Gmu[mu])*tmp._odata[i]; ;
+  ref._odata[i]+= tmp._odata[i] + Gamma(Gmu[mu])*tmp._odata[i]; ;
       }
 
       tmp =adj(U[mu])*src;
       tmp =Cshift(tmp,mu+1,-1);
       for(int i=0;i<ref._odata.size();i++){
-	ref._odata[i]+= tmp._odata[i] - Gamma(Gmu[mu])*tmp._odata[i]; ;
+  ref._odata[i]+= tmp._odata[i] - Gamma(Gmu[mu])*tmp._odata[i]; ;
       }
     }
     ref = -0.5*ref;
   }
   Dw.Dhop(src,result,1);
+  std::cout << GridLogMessage << "Naive wilson implementation Dag" << std::endl;
   std::cout<<GridLogMessage << "Called DwDag"<<std::endl;
   std::cout<<GridLogMessage << "norm result "<< norm2(result)<<std::endl;
   std::cout<<GridLogMessage << "norm ref    "<< norm2(ref)<<std::endl;
diff --git a/lib/Stencil.h b/lib/Stencil.h
index 2c2ae3c3..f5056485 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -106,7 +106,6 @@
  #define SERIAL_SENDS
 
        void AddPacket(void *xmit,void * rcv, Integer to,Integer from,Integer bytes){
-	 comms_bytes+=2.0*bytes;
  #ifdef SEND_IMMEDIATE
 	 commtime-=usecond();
 	 _grid->SendToRecvFrom(xmit,to,rcv,from,bytes);
@@ -304,23 +303,23 @@
        double calls;
 
        void ZeroCounters(void) {
-	 gathertime=0;
-	 jointime=0;
-	 commtime=0;
-	 halogtime=0;
-	 mergetime=0;
-	 spintime=0;
-	 gathermtime=0;
-	 splicetime=0;
-	 nosplicetime=0;
-	 comms_bytes=0;
-	 calls=0;
+         gathertime = 0.;
+         jointime = 0.;
+         commtime = 0.;
+         halogtime = 0.;
+         mergetime = 0.;
+         spintime = 0.;
+         gathermtime = 0.;
+         splicetime = 0.;
+         nosplicetime = 0.;
+         comms_bytes = 0.;
+         calls = 0.;
        };
 
        void Report(void) {
 #define PRINTIT(A)	\
  std::cout << GridLogMessage << " Stencil " << #A << " "<< A/calls<<std::endl;
-	 if ( calls > 0 ) {
+	 if ( calls > 0. ) {
  std::cout << GridLogMessage << " Stencil calls "<<calls<<std::endl;
        PRINTIT(jointime);
        PRINTIT(gathertime);
diff --git a/lib/algorithms/iterative/ConjugateGradient.h b/lib/algorithms/iterative/ConjugateGradient.h
index f5102019..f340eb38 100644
--- a/lib/algorithms/iterative/ConjugateGradient.h
+++ b/lib/algorithms/iterative/ConjugateGradient.h
@@ -1,153 +1,168 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./lib/algorithms/iterative/ConjugateGradient.h
+Source file: ./lib/algorithms/iterative/ConjugateGradient.h
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: paboyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #ifndef GRID_CONJUGATE_GRADIENT_H
 #define GRID_CONJUGATE_GRADIENT_H
 
 namespace Grid {
 
-    /////////////////////////////////////////////////////////////
-    // Base classes for iterative processes based on operators
-    // single input vec, single output vec.
-    /////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////
+// Base classes for iterative processes based on operators
+// single input vec, single output vec.
+/////////////////////////////////////////////////////////////
 
-  template<class Field> 
-    class ConjugateGradient : public OperatorFunction<Field> {
-public:                                                
-    bool ErrorOnNoConverge; //throw an assert when the CG fails to converge. Defaults true.
-    RealD   Tolerance;
-    Integer MaxIterations;
-  ConjugateGradient(RealD tol,Integer maxit, bool err_on_no_conv = true) : Tolerance(tol), MaxIterations(maxit), ErrorOnNoConverge(err_on_no_conv){ 
-    };
+template <class Field>
+class ConjugateGradient : public OperatorFunction<Field> {
+ public:
+  bool ErrorOnNoConverge;  // throw an assert when the CG fails to converge.
+                           // Defaults true.
+  RealD Tolerance;
+  Integer MaxIterations;
+  ConjugateGradient(RealD tol, Integer maxit, bool err_on_no_conv = true)
+      : Tolerance(tol),
+        MaxIterations(maxit),
+        ErrorOnNoConverge(err_on_no_conv){};
 
+  void operator()(LinearOperatorBase<Field> &Linop, const Field &src,
+                  Field &psi) {
+    psi.checkerboard = src.checkerboard;
+    conformable(psi, src);
 
-    void operator() (LinearOperatorBase<Field> &Linop,const Field &src, Field &psi){
+    RealD cp, c, a, d, b, ssq, qq, b_pred;
 
-      psi.checkerboard = src.checkerboard;
-      conformable(psi,src);
+    Field p(src);
+    Field mmp(src);
+    Field r(src);
 
-      RealD cp,c,a,d,b,ssq,qq,b_pred;
-      
-      Field   p(src);
-      Field mmp(src);
-      Field   r(src);
-      
-      //Initial residual computation & set up
-      RealD guess = norm2(psi);
-      assert(std::isnan(guess)==0);
+    // Initial residual computation & set up
+    RealD guess = norm2(psi);
+    assert(std::isnan(guess) == 0);
 
-      Linop.HermOpAndNorm(psi,mmp,d,b);
-      
-      r= src-mmp;
-      p= r;
-      
-      a  =norm2(p);
-      cp =a;
-      ssq=norm2(src);
+    
+    Linop.HermOpAndNorm(psi, mmp, d, b);
+    
 
-      std::cout<<GridLogIterative <<std::setprecision(4)<< "ConjugateGradient: guess "<<guess<<std::endl;
-      std::cout<<GridLogIterative <<std::setprecision(4)<< "ConjugateGradient:   src "<<ssq  <<std::endl;
-      std::cout<<GridLogIterative <<std::setprecision(4)<< "ConjugateGradient:    mp "<<d    <<std::endl;
-      std::cout<<GridLogIterative <<std::setprecision(4)<< "ConjugateGradient:   mmp "<<b    <<std::endl;
-      std::cout<<GridLogIterative <<std::setprecision(4)<< "ConjugateGradient:  cp,r "<<cp   <<std::endl;
-      std::cout<<GridLogIterative <<std::setprecision(4)<< "ConjugateGradient:     p "<<a    <<std::endl;
+    r = src - mmp;
+    p = r;
 
-      RealD rsq =  Tolerance* Tolerance*ssq;
-      
-      //Check if guess is really REALLY good :)
-      if ( cp <= rsq ) {
-	return;
-      }
-      
-      std::cout<<GridLogIterative << std::setprecision(4)<< "ConjugateGradient: k=0 residual "<<cp<<" target "<<rsq<<std::endl;
+    a = norm2(p);
+    cp = a;
+    ssq = norm2(src);
 
-      GridStopWatch LinalgTimer;
-      GridStopWatch MatrixTimer;
-      GridStopWatch SolverTimer;
+    std::cout << GridLogIterative << std::setprecision(4)
+              << "ConjugateGradient: guess " << guess << std::endl;
+    std::cout << GridLogIterative << std::setprecision(4)
+              << "ConjugateGradient:   src " << ssq << std::endl;
+    std::cout << GridLogIterative << std::setprecision(4)
+              << "ConjugateGradient:    mp " << d << std::endl;
+    std::cout << GridLogIterative << std::setprecision(4)
+              << "ConjugateGradient:   mmp " << b << std::endl;
+    std::cout << GridLogIterative << std::setprecision(4)
+              << "ConjugateGradient:  cp,r " << cp << std::endl;
+    std::cout << GridLogIterative << std::setprecision(4)
+              << "ConjugateGradient:     p " << a << std::endl;
 
-      SolverTimer.Start();
-      int k;
-      for (k=1;k<=MaxIterations;k++){
-	
-	c=cp;
+    RealD rsq = Tolerance * Tolerance * ssq;
 
-	MatrixTimer.Start();
-	Linop.HermOpAndNorm(p,mmp,d,qq);
-	MatrixTimer.Stop();
-
-	LinalgTimer.Start();
-	//	RealD    qqck = norm2(mmp);
-	//	ComplexD dck  = innerProduct(p,mmp);
-      
-	a      = c/d;
-	b_pred = a*(a*qq-d)/c;
-
-	cp = axpy_norm(r,-a,mmp,r);
-	b = cp/c;
-	
-	// Fuse these loops ; should be really easy
-	psi= a*p+psi;
-	p  = p*b+r;
-	  
-	LinalgTimer.Stop();
-	std::cout<<GridLogIterative<<"ConjugateGradient: Iteration " <<k<<" residual "<<cp<< " target "<< rsq<<std::endl;
-	
-	// Stopping condition
-	if ( cp <= rsq ) { 
-	  
-	  SolverTimer.Stop();
-	  Linop.HermOpAndNorm(psi,mmp,d,qq);
-	  p=mmp-src;
-	  
-	  RealD mmpnorm = sqrt(norm2(mmp));
-	  RealD psinorm = sqrt(norm2(psi));
-	  RealD srcnorm = sqrt(norm2(src));
-	  RealD resnorm = sqrt(norm2(p));
-	  RealD true_residual = resnorm/srcnorm;
-
-	  std::cout<<GridLogMessage<<"ConjugateGradient: Converged on iteration " <<k
-		   <<" computed residual "<<sqrt(cp/ssq)
-		   <<" true residual "    <<true_residual
-		   <<" target "<<Tolerance<<std::endl;
-	  std::cout<<GridLogMessage<<"Time elapsed: Total "<< SolverTimer.Elapsed() << " Matrix  "<<MatrixTimer.Elapsed() << " Linalg "<<LinalgTimer.Elapsed();
-	  std::cout<<std::endl;
-	  
-	  if(ErrorOnNoConverge)
-	    assert(true_residual/Tolerance < 1000.0);
-
-	  return;
-	}
-      }
-      std::cout<<GridLogMessage<<"ConjugateGradient did NOT converge"<<std::endl;
-      if(ErrorOnNoConverge)	
-	assert(0);
+    // Check if guess is really REALLY good :)
+    if (cp <= rsq) {
+      return;
     }
-  };
+
+    std::cout << GridLogIterative << std::setprecision(4)
+              << "ConjugateGradient: k=0 residual " << cp << " target " << rsq
+              << std::endl;
+
+    GridStopWatch LinalgTimer;
+    GridStopWatch MatrixTimer;
+    GridStopWatch SolverTimer;
+
+    SolverTimer.Start();
+    int k;
+    for (k = 1; k <= MaxIterations; k++) {
+      c = cp;
+
+      MatrixTimer.Start();
+      Linop.HermOpAndNorm(p, mmp, d, qq);
+      MatrixTimer.Stop();
+
+      LinalgTimer.Start();
+      //  RealD    qqck = norm2(mmp);
+      //  ComplexD dck  = innerProduct(p,mmp);
+
+      a = c / d;
+      b_pred = a * (a * qq - d) / c;
+
+      cp = axpy_norm(r, -a, mmp, r);
+      b = cp / c;
+
+      // Fuse these loops ; should be really easy
+      psi = a * p + psi;
+      p = p * b + r;
+
+      LinalgTimer.Stop();
+      std::cout << GridLogIterative << "ConjugateGradient: Iteration " << k
+                << " residual " << cp << " target " << rsq << std::endl;
+
+      // Stopping condition
+      if (cp <= rsq) {
+        SolverTimer.Stop();
+        Linop.HermOpAndNorm(psi, mmp, d, qq);
+        p = mmp - src;
+
+        RealD mmpnorm = sqrt(norm2(mmp));
+        RealD psinorm = sqrt(norm2(psi));
+        RealD srcnorm = sqrt(norm2(src));
+        RealD resnorm = sqrt(norm2(p));
+        RealD true_residual = resnorm / srcnorm;
+
+        std::cout << GridLogMessage
+                  << "ConjugateGradient: Converged on iteration " << k << std::endl;
+        std::cout << GridLogMessage << "Computed residual " << sqrt(cp / ssq)
+                  << " true residual " << true_residual << " target "
+                  << Tolerance << std::endl;
+        std::cout << GridLogMessage << "Time elapsed: Iterations "
+                  << SolverTimer.Elapsed() << " Matrix  "
+                  << MatrixTimer.Elapsed() << " Linalg "
+                  << LinalgTimer.Elapsed();
+        std::cout << std::endl;
+
+        if (ErrorOnNoConverge) assert(true_residual / Tolerance < 1000.0);
+
+        return;
+      }
+    }
+    std::cout << GridLogMessage << "ConjugateGradient did NOT converge"
+              << std::endl;
+    if (ErrorOnNoConverge) assert(0);
+  }
+};
 }
 #endif
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.cc b/lib/qcd/action/fermion/WilsonFermion5D.cc
index ddabd4eb..3ced3443 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.cc
+++ b/lib/qcd/action/fermion/WilsonFermion5D.cc
@@ -42,11 +42,11 @@ const std::vector<int> WilsonFermion5DStatic::displacements({1,1,1,1,-1,-1,-1,-1
   // 5d lattice for DWF.
 template<class Impl>
 WilsonFermion5D<Impl>::WilsonFermion5D(GaugeField &_Umu,
-				       GridCartesian         &FiveDimGrid,
-				       GridRedBlackCartesian &FiveDimRedBlackGrid,
-				       GridCartesian         &FourDimGrid,
-				       GridRedBlackCartesian &FourDimRedBlackGrid,
-				       RealD _M5,const ImplParams &p) :
+               GridCartesian         &FiveDimGrid,
+               GridRedBlackCartesian &FiveDimRedBlackGrid,
+               GridCartesian         &FourDimGrid,
+               GridRedBlackCartesian &FourDimRedBlackGrid,
+               RealD _M5,const ImplParams &p) :
   Kernels(p),
   _FiveDimGrid        (&FiveDimGrid),
   _FiveDimRedBlackGrid(&FiveDimRedBlackGrid),
@@ -135,10 +135,10 @@ WilsonFermion5D<Impl>::WilsonFermion5D(GaugeField &_Umu,
   /*
 template<class Impl>
 WilsonFermion5D<Impl>::WilsonFermion5D(int simd,GaugeField &_Umu,
-				       GridCartesian         &FiveDimGrid,
-				       GridRedBlackCartesian &FiveDimRedBlackGrid,
-				       GridCartesian         &FourDimGrid,
-				       RealD _M5,const ImplParams &p) :
+               GridCartesian         &FiveDimGrid,
+               GridRedBlackCartesian &FiveDimRedBlackGrid,
+               GridCartesian         &FourDimGrid,
+               RealD _M5,const ImplParams &p) :
 {
   int nsimd = Simd::Nsimd();
 
@@ -178,26 +178,64 @@ WilsonFermion5D<Impl>::WilsonFermion5D(int simd,GaugeField &_Umu,
 template<class Impl>
 void WilsonFermion5D<Impl>::Report(void)
 {
-  if ( Calls > 0 ) {
-  std::cout << GridLogMessage << "WilsonFermion5D Dhop Calls  " <<Calls <<std::endl;
-  std::cout << GridLogMessage << "WilsonFermion5D CommTime    " <<CommTime/Calls<<" us" <<std::endl;
-  std::cout << GridLogMessage << "WilsonFermion5D ComputeTime " <<ComputeTime/Calls<<" us" <<std::endl;
+    std::vector<int> latt = GridDefaultLatt();          
+    RealD volume = Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt[mu];
+    RealD NP = _FourDimGrid->_Nprocessors;
 
-  std::cout << GridLogMessage << "WilsonFermion5D Stencil"<<std::endl;
-  Stencil.Report();
+  if ( DhopCalls > 0 ) {
+    std::cout << GridLogMessage << "#### Dhop calls report " << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Number of Dhop Calls     : " << DhopCalls  << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Total Communication time : " << DhopCommTime
+              << " us" << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D CommTime/Calls           : "
+              << DhopCommTime / DhopCalls << " us" << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Total Compute time       : "
+              << DhopComputeTime << " us" << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D ComputeTime/Calls        : "
+              << DhopComputeTime / DhopCalls << " us" << std::endl;
 
-  std::cout << GridLogMessage << "WilsonFermion5D StencilEven"<<std::endl;
-  StencilEven.Report();
+    RealD mflops = 1344*volume*DhopCalls/DhopComputeTime;
+    std::cout << GridLogMessage << "Average mflops/s per call                : " << mflops << std::endl;
+    std::cout << GridLogMessage << "Average mflops/s per call per node       : " << mflops/NP << std::endl;
 
-  std::cout << GridLogMessage << "WilsonFermion5D StencilOdd"<<std::endl;
-  StencilOdd.Report();
+   }
+
+  if ( DerivCalls > 0 ) {
+  std::cout << GridLogMessage << "#### Deriv calls report "<< std::endl;
+  std::cout << GridLogMessage << "WilsonFermion5D Number of Deriv Calls    : " <<DerivCalls <<std::endl;
+  std::cout << GridLogMessage << "WilsonFermion5D Total Communication time : " <<DerivCommTime <<" us"<<std::endl;
+  std::cout << GridLogMessage << "WilsonFermion5D CommTime/Calls           : " <<DerivCommTime/DerivCalls<<" us" <<std::endl;
+  std::cout << GridLogMessage << "WilsonFermion5D Total Compute time       : " <<DerivComputeTime <<" us"<<std::endl;
+  std::cout << GridLogMessage << "WilsonFermion5D ComputeTime/Calls        : " <<DerivComputeTime/DerivCalls<<" us" <<std::endl;
+  std::cout << GridLogMessage << "WilsonFermion5D Total Dhop Compute time  : " <<DerivDhopComputeTime <<" us"<<std::endl;
+  std::cout << GridLogMessage << "WilsonFermion5D Dhop ComputeTime/Calls   : " <<DerivDhopComputeTime/DerivCalls<<" us" <<std::endl;
+
+
+
+  RealD mflops = 144*volume*DerivCalls/DerivDhopComputeTime;
+  std::cout << GridLogMessage << "Average mflops/s per call                : " << mflops << std::endl;
+  std::cout << GridLogMessage << "Average mflops/s per call per node       : " << mflops/NP << std::endl;
+
+  }
+
+  if (DerivCalls > 0 || DhopCalls > 0){
+  std::cout << GridLogMessage << "WilsonFermion5D Stencil"<<std::endl;  Stencil.Report();
+  std::cout << GridLogMessage << "WilsonFermion5D StencilEven"<<std::endl;  StencilEven.Report();
+  std::cout << GridLogMessage << "WilsonFermion5D StencilOdd"<<std::endl;  StencilOdd.Report();
   }
 }
+
 template<class Impl>
 void WilsonFermion5D<Impl>::ZeroCounters(void) {
-  Calls=0;
-  CommTime=0;
-  ComputeTime=0;
+  DhopCalls       = 0;
+  DhopCommTime    = 0;
+  DhopComputeTime = 0;
+
+  DerivCalls       = 0;
+  DerivCommTime    = 0;
+  DerivComputeTime = 0;
+  DerivDhopComputeTime = 0;
+
   Stencil.ZeroCounters();
   StencilEven.ZeroCounters();
   StencilOdd.ZeroCounters();
@@ -244,12 +282,13 @@ PARALLEL_FOR_LOOP
 
 template<class Impl>
 void WilsonFermion5D<Impl>::DerivInternal(StencilImpl & st,
-					  DoubledGaugeField & U,
-					  GaugeField &mat,
-					  const FermionField &A,
-					  const FermionField &B,
-					  int dag)
+            DoubledGaugeField & U,
+            GaugeField &mat,
+            const FermionField &A,
+            const FermionField &B,
+            int dag)
 {
+  DerivCalls++;
   assert((dag==DaggerNo) ||(dag==DaggerYes));
 
   conformable(st._grid,A._grid);
@@ -260,51 +299,53 @@ void WilsonFermion5D<Impl>::DerivInternal(StencilImpl & st,
   FermionField Btilde(B._grid);
   FermionField Atilde(B._grid);
 
+  DerivCommTime-=usecond();
   st.HaloExchange(B,compressor);
+  DerivCommTime+=usecond();
 
   Atilde=A;
 
-  for(int mu=0;mu<Nd;mu++){
-      
+  DerivComputeTime-=usecond();
+  for (int mu = 0; mu < Nd; mu++) {
     ////////////////////////////////////////////////////////////////////////
     // Flip gamma if dag
     ////////////////////////////////////////////////////////////////////////
     int gamma = mu;
-    if ( !dag ) gamma+= Nd;
+    if (!dag) gamma += Nd;
 
     ////////////////////////
     // Call the single hop
     ////////////////////////
 
-PARALLEL_FOR_LOOP
-    for(int sss=0;sss<U._grid->oSites();sss++){
-      for(int s=0;s<Ls;s++){
-	int sU=sss;
-	int sF = s+Ls*sU;
+    DerivDhopComputeTime -= usecond();
+    PARALLEL_FOR_LOOP
+    for (int sss = 0; sss < U._grid->oSites(); sss++) {
+      for (int s = 0; s < Ls; s++) {
+        int sU = sss;
+        int sF = s + Ls * sU;
 
-	assert ( sF< B._grid->oSites());
-	assert ( sU< U._grid->oSites());
+        assert(sF < B._grid->oSites());
+        assert(sU < U._grid->oSites());
 
-	Kernels::DiracOptDhopDir(st,U,st.comm_buf,sF,sU,B,Btilde,mu,gamma);
-
-    ////////////////////////////
-    // spin trace outer product
-    ////////////////////////////
+        Kernels::DiracOptDhopDir(st, U, st.comm_buf, sF, sU, B, Btilde, mu,
+                                 gamma);
 
+        ////////////////////////////
+        // spin trace outer product
+        ////////////////////////////
       }
-
     }
-
-    Impl::InsertForce5D(mat,Btilde,Atilde,mu);
-
+    DerivDhopComputeTime += usecond();
+    Impl::InsertForce5D(mat, Btilde, Atilde, mu);
   }
+  DerivComputeTime += usecond();
 }
 
 template<class Impl>
 void WilsonFermion5D<Impl>::DhopDeriv(      GaugeField &mat,
-					    const FermionField &A,
-					    const FermionField &B,
-					    int dag)
+              const FermionField &A,
+              const FermionField &B,
+              int dag)
 {
   conformable(A._grid,FermionGrid());  
   conformable(A._grid,B._grid);
@@ -317,9 +358,9 @@ void WilsonFermion5D<Impl>::DhopDeriv(      GaugeField &mat,
 
 template<class Impl>
 void WilsonFermion5D<Impl>::DhopDerivEO(GaugeField &mat,
-					const FermionField &A,
-					const FermionField &B,
-					int dag)
+          const FermionField &A,
+          const FermionField &B,
+          int dag)
 {
   conformable(A._grid,FermionRedBlackGrid());
   conformable(GaugeRedBlackGrid(),mat._grid);
@@ -335,9 +376,9 @@ void WilsonFermion5D<Impl>::DhopDerivEO(GaugeField &mat,
 
 template<class Impl>
 void WilsonFermion5D<Impl>::DhopDerivOE(GaugeField &mat,
-				  const FermionField &A,
-				  const FermionField &B,
-				  int dag)
+          const FermionField &A,
+          const FermionField &B,
+          int dag)
 {
   conformable(A._grid,FermionRedBlackGrid());
   conformable(GaugeRedBlackGrid(),mat._grid);
@@ -352,37 +393,39 @@ void WilsonFermion5D<Impl>::DhopDerivOE(GaugeField &mat,
 
 template<class Impl>
 void WilsonFermion5D<Impl>::DhopInternal(StencilImpl & st, LebesgueOrder &lo,
-					 DoubledGaugeField & U,
-					 const FermionField &in, FermionField &out,int dag)
+           DoubledGaugeField & U,
+           const FermionField &in, FermionField &out,int dag)
 {
-  Calls++;
+  DhopCalls++;
   //  assert((dag==DaggerNo) ||(dag==DaggerYes));
   Compressor compressor(dag);
 
   int LLs = in._grid->_rdimensions[0];
   
-  CommTime-=usecond();
+  DhopCommTime-=usecond();
   st.HaloExchange(in,compressor);
-  CommTime+=usecond();
+  DhopCommTime+=usecond();
   
-  ComputeTime-=usecond();
+  DhopComputeTime-=usecond();
   // Dhop takes the 4d grid from U, and makes a 5d index for fermion
-  if ( dag == DaggerYes ) {
-PARALLEL_FOR_LOOP
-    for(int ss=0;ss<U._grid->oSites();ss++){
-	int sU=ss;
-	int sF=LLs*sU;
-	Kernels::DiracOptDhopSiteDag(st,lo,U,st.comm_buf,sF,sU,LLs,1,in,out);
+  if (dag == DaggerYes) {
+    PARALLEL_FOR_LOOP
+    for (int ss = 0; ss < U._grid->oSites(); ss++) {
+      int sU = ss;
+      int sF = LLs * sU;
+      Kernels::DiracOptDhopSiteDag(st, lo, U, st.comm_buf, sF, sU, LLs, 1, in,
+                                   out);
     }
   } else {
-PARALLEL_FOR_LOOP
-    for(int ss=0;ss<U._grid->oSites();ss++){
-      int sU=ss;
-      int sF=LLs*sU;
-      Kernels::DiracOptDhopSite(st,lo,U,st.comm_buf,sF,sU,LLs,1,in,out);
+    PARALLEL_FOR_LOOP
+    for (int ss = 0; ss < U._grid->oSites(); ss++) {
+      int sU = ss;
+      int sF = LLs * sU;
+      Kernels::DiracOptDhopSite(st, lo, U, st.comm_buf, sF, sU, LLs, 1, in,
+                                out);
     }
   }
-  ComputeTime+=usecond();
+  DhopComputeTime+=usecond();
 }
 
 
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.h b/lib/qcd/action/fermion/WilsonFermion5D.h
index 35016cb2..b9c35b7c 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.h
+++ b/lib/qcd/action/fermion/WilsonFermion5D.h
@@ -63,9 +63,14 @@ namespace Grid {
 
      void Report(void);
      void ZeroCounters(void);
-     double Calls;
-     double CommTime;
-     double ComputeTime;
+     double DhopCalls;
+     double DhopCommTime;
+     double DhopComputeTime;
+
+     double DerivCalls;
+     double DerivCommTime;
+     double DerivComputeTime;
+     double DerivDhopComputeTime;
 
       ///////////////////////////////////////////////////////////////
       // Implement the abstract base
diff --git a/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h b/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h
index edb6beaa..5e3b80d9 100644
--- a/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h
+++ b/lib/qcd/action/pseudofermion/TwoFlavourEvenOddRatio.h
@@ -131,9 +131,11 @@ namespace Grid{
 	Vpc.MpcDag(PhiOdd,Y);           // Y= Vdag phi
 	X=zero;
 	ActionSolver(Mpc,Y,X);          // X= (MdagM)^-1 Vdag phi
-	Mpc.Mpc(X,Y);                   // Y=  Mdag^-1 Vdag phi
+	//Mpc.Mpc(X,Y);                   // Y=  Mdag^-1 Vdag phi
+	// Multiply by Ydag
+	RealD action = real(innerProduct(Y,X));
 
-	RealD action = norm2(Y);
+	//RealD action = norm2(Y);
 
 	// The EE factorised block; normally can replace with zero if det is constant (gauge field indept)
 	// Only really clover term that creates this. Leave the EE portion as a future to do to make most
diff --git a/tests/hmc/Test_hmc_EODWFRatio.cc b/tests/hmc/Test_hmc_EODWFRatio.cc
index 78f81dd9..20ef7db6 100644
--- a/tests/hmc/Test_hmc_EODWFRatio.cc
+++ b/tests/hmc/Test_hmc_EODWFRatio.cc
@@ -76,6 +76,12 @@ public:
     TheAction.push_back(Level1);
 
     Run(argc,argv);
+
+    std::cout << GridLogMessage << "Numerator report, Pauli-Villars term         : " << std::endl;
+    NumOp.Report();
+    std::cout << GridLogMessage << "Denominator report, Dw(m) term (includes CG) : " << std::endl;
+    DenOp.Report();
+    
   };
 
 };
diff --git a/tests/solver/Test_dwf_cg_prec.cc b/tests/solver/Test_dwf_cg_prec.cc
index c03998ff..d248c560 100644
--- a/tests/solver/Test_dwf_cg_prec.cc
+++ b/tests/solver/Test_dwf_cg_prec.cc
@@ -1,87 +1,105 @@
-    /*************************************************************************************
+/*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+Grid physics library, www.github.com/paboyle/Grid
 
-    Source file: ./tests/Test_dwf_cg_prec.cc
+Source file: ./tests/Test_dwf_cg_prec.cc
 
-    Copyright (C) 2015
+Copyright (C) 2015
 
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+See the full license in the file "LICENSE" in the top level distribution
+directory
+*************************************************************************************/
+/*  END LEGAL */
 #include <Grid/Grid.h>
 
 using namespace std;
 using namespace Grid;
 using namespace Grid::QCD;
 
-template<class d>
+template <class d>
 struct scal {
   d internal;
 };
 
-  Gamma::GammaMatrix Gmu [] = {
-    Gamma::GammaX,
-    Gamma::GammaY,
-    Gamma::GammaZ,
-    Gamma::GammaT
-  };
+Gamma::GammaMatrix Gmu[] = {Gamma::GammaX, Gamma::GammaY, Gamma::GammaZ,
+                            Gamma::GammaT};
 
-int main (int argc, char ** argv)
-{
-  Grid_init(&argc,&argv);
+int main(int argc, char** argv) {
+  Grid_init(&argc, &argv);
 
-  const int Ls=8;
+  const int Ls = 16;
 
-  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
-  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
-  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
-  GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid);
+  GridCartesian* UGrid = SpaceTimeGrid::makeFourDimGrid(
+      GridDefaultLatt(), GridDefaultSimd(Nd, vComplex::Nsimd()),
+      GridDefaultMpi());
+  GridRedBlackCartesian* UrbGrid =
+      SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
+  GridCartesian* FGrid = SpaceTimeGrid::makeFiveDimGrid(Ls, UGrid);
+  GridRedBlackCartesian* FrbGrid =
+      SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls, UGrid);
 
-  std::vector<int> seeds4({1,2,3,4});
-  std::vector<int> seeds5({5,6,7,8});
-  GridParallelRNG          RNG5(FGrid);  RNG5.SeedFixedIntegers(seeds5);
-  GridParallelRNG          RNG4(UGrid);  RNG4.SeedFixedIntegers(seeds4);
+  std::vector<int> seeds4({1, 2, 3, 4});
+  std::vector<int> seeds5({5, 6, 7, 8});
+  GridParallelRNG RNG5(FGrid);
+  RNG5.SeedFixedIntegers(seeds5);
+  GridParallelRNG RNG4(UGrid);
+  RNG4.SeedFixedIntegers(seeds4);
 
-  LatticeFermion    src(FGrid); random(RNG5,src);
-  LatticeFermion result(FGrid); result=zero;
-  LatticeGaugeField Umu(UGrid); 
+  LatticeFermion src(FGrid);
+  random(RNG5, src);
+  LatticeFermion result(FGrid);
+  result = zero;
+  LatticeGaugeField Umu(UGrid);
 
-  SU3::HotConfiguration(RNG4,Umu);
+  SU3::HotConfiguration(RNG4, Umu);
 
-  std::vector<LatticeColourMatrix> U(4,UGrid);
-  for(int mu=0;mu<Nd;mu++){
-    U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
+  std::cout << GridLogMessage << "Lattice dimensions: " << GridDefaultLatt()
+            << "   Ls: " << Ls << std::endl;
+
+  std::vector<LatticeColourMatrix> U(4, UGrid);
+  for (int mu = 0; mu < Nd; mu++) {
+    U[mu] = PeekIndex<LorentzIndex>(Umu, mu);
   }
-  
-  RealD mass=0.1;
-  RealD M5=1.8;
-  DomainWallFermionR Ddwf(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
 
-  LatticeFermion    src_o(FrbGrid);
+  RealD mass = 0.01;
+  RealD M5 = 1.8;
+  DomainWallFermionR Ddwf(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mass, M5);
+
+  LatticeFermion src_o(FrbGrid);
   LatticeFermion result_o(FrbGrid);
-  pickCheckerboard(Odd,src_o,src);
-  result_o=zero;
+  pickCheckerboard(Odd, src_o, src);
+  result_o = zero;
 
-  SchurDiagMooeeOperator<DomainWallFermionR,LatticeFermion> HermOpEO(Ddwf);
-  ConjugateGradient<LatticeFermion> CG(1.0e-8,10000);
-  CG(HermOpEO,src_o,result_o);
+  GridStopWatch CGTimer;
+
+  SchurDiagMooeeOperator<DomainWallFermionR, LatticeFermion> HermOpEO(Ddwf);
+  ConjugateGradient<LatticeFermion> CG(1.0e-8, 10000, 0);// switch off the assert
+
+  CGTimer.Start();
+  CG(HermOpEO, src_o, result_o);
+  CGTimer.Stop();
+
+  std::cout << GridLogMessage << "Total CG time : " << CGTimer.Elapsed()
+            << std::endl;
+
+  std::cout << GridLogMessage << "######## Dhop calls summary" << std::endl;
+  Ddwf.Report();
 
   Grid_finalize();
 }
diff --git a/tests/solver/Test_wilson_cg_prec.cc b/tests/solver/Test_wilson_cg_prec.cc
index 5fd2ec8c..7cc9d574 100644
--- a/tests/solver/Test_wilson_cg_prec.cc
+++ b/tests/solver/Test_wilson_cg_prec.cc
@@ -83,6 +83,7 @@ int main (int argc, char ** argv)
   SchurDiagMooeeOperator<WilsonFermionR,LatticeFermion> HermOpEO(Dw);
   ConjugateGradient<LatticeFermion> CG(1.0e-8,10000);
   CG(HermOpEO,src_o,result_o);
+  
 
   Grid_finalize();
 }

From 77c8a94dae77170047951dc49a2525dcbdc0b5c2 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Sun, 9 Oct 2016 12:55:12 +0100
Subject: [PATCH 172/295] AVXFMA4 flag fix for Intel Compiler

---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 7ba7e7be..827a15a9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -161,7 +161,7 @@ case ${ax_cv_cxx_compiler_vendor} in
         SIMD_FLAGS='-mavx -xavx';;
       AVXFMA4)
         AC_DEFINE([AVXFMA4],[1],[AVX intrinsics with FMA4])
-        SIMD_FLAGS='-mavx -xavx -mfma';;
+        SIMD_FLAGS='-mavx -mfma';;
       AVX2)
         AC_DEFINE([AVX2],[1],[AVX2 intrinsics])
         SIMD_FLAGS='-march=core-avx2 -xcore-avx2';;

From b56c9ffa5272d975ae7ff9294a7faa6764081566 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 10 Oct 2016 14:43:37 +0100
Subject: [PATCH 173/295] Fix for AVXFMA

---
 configure.ac                                 | 8 +++++++-
 lib/qcd/action/fermion/FermionOperatorImpl.h | 6 +++---
 tests/hmc/Test_hmc_EODWFRatio.cc             | 4 +++-
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/configure.ac b/configure.ac
index 827a15a9..b7205b4a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -117,7 +117,7 @@ CXXFLAGS=$CXXFLAGS_CPY
 LDFLAGS=$LDFLAGS_CPY
 
 ############### SIMD instruction selection
-AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE4|AVX|AVXFMA4|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC],\
+AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE4|AVX|AVXFMA4|AVXFMA|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC],\
 	[Select instructions to be SSE4.0, AVX 1.0, AVX 2.0+FMA, AVX 512, IMCI])],\
 	[ac_SIMD=${enable_simd}],[ac_SIMD=GEN])
 
@@ -133,6 +133,9 @@ case ${ax_cv_cxx_compiler_vendor} in
       AVXFMA4)
         AC_DEFINE([AVXFMA4],[1],[AVX intrinsics with FMA4])
         SIMD_FLAGS='-mavx -mfma4';;
+      AVXFMA)
+        AC_DEFINE([AVXFMA],[1],[AVX intrinsics with FMA3])
+        SIMD_FLAGS='-mavx -mfma';;
       AVX2)
         AC_DEFINE([AVX2],[1],[AVX2 intrinsics])
         SIMD_FLAGS='-mavx2 -mfma';;
@@ -162,6 +165,9 @@ case ${ax_cv_cxx_compiler_vendor} in
       AVXFMA4)
         AC_DEFINE([AVXFMA4],[1],[AVX intrinsics with FMA4])
         SIMD_FLAGS='-mavx -mfma';;
+      AVXFMA)
+        AC_DEFINE([AVXFMA],[1],[AVX intrinsics with FMA4])
+        SIMD_FLAGS='-mavx -mfma';;
       AVX2)
         AC_DEFINE([AVX2],[1],[AVX2 intrinsics])
         SIMD_FLAGS='-march=core-avx2 -xcore-avx2';;
diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 910bf488..4248ec4c 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -186,10 +186,10 @@ namespace Grid {
       inline void InsertForce5D(GaugeField &mat, FermionField &Btilde, FermionField &Atilde,int mu){
 	
 	int Ls=Btilde._grid->_fdimensions[0];
-	
 	GaugeLinkField tmp(mat._grid);
 	tmp = zero;
-	PARALLEL_FOR_LOOP
+
+        PARALLEL_FOR_LOOP
 	  for(int sss=0;sss<tmp._grid->oSites();sss++){
 	    int sU=sss;
 	    for(int s=0;s<Ls;s++){
@@ -198,7 +198,7 @@ namespace Grid {
 	    }
 	  }
 	PokeIndex<LorentzIndex>(mat,tmp,mu);
-	
+
       }
     };
 
diff --git a/tests/hmc/Test_hmc_EODWFRatio.cc b/tests/hmc/Test_hmc_EODWFRatio.cc
index 20ef7db6..02b312b8 100644
--- a/tests/hmc/Test_hmc_EODWFRatio.cc
+++ b/tests/hmc/Test_hmc_EODWFRatio.cc
@@ -75,8 +75,10 @@ public:
     Level1.push_back(&Waction);
     TheAction.push_back(Level1);
 
+    NumOp.ZeroCounters();
+    DenOp.ZeroCounters();
     Run(argc,argv);
-
+    
     std::cout << GridLogMessage << "Numerator report, Pauli-Villars term         : " << std::endl;
     NumOp.Report();
     std::cout << GridLogMessage << "Denominator report, Dw(m) term (includes CG) : " << std::endl;

From 611b5d74baebba6215e48a2a15c4642309c8a839 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 10 Oct 2016 15:26:17 +0100
Subject: [PATCH 174/295] Fix for AVX+FMA3 compilation

---
 lib/simd/Grid_avx.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/simd/Grid_avx.h b/lib/simd/Grid_avx.h
index 03faabee..05f2f1ab 100644
--- a/lib/simd/Grid_avx.h
+++ b/lib/simd/Grid_avx.h
@@ -442,7 +442,7 @@ namespace Optimization {
 #define _mm256_alignr_epi64(ret,a,b,n) ret=(__m256d) _mm256_alignr_epi8((__m256i)a,(__m256i)b,(n*8)%16)
 #endif
 
-#if defined (AVX1) 
+#if defined (AVX1) || defined (AVXFMA)
 
 #define _mm256_alignr_epi32(ret,a,b,n) {	\
     __m128 aa, bb;				\

From 082ae350c66a0f514bb5f4bd009a28c5ba9bbb35 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:42:30 +0100
Subject: [PATCH 175/295] static schedule by default

---
 lib/Threads.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/Threads.h b/lib/Threads.h
index 9d1295e5..5abe2ca4 100644
--- a/lib/Threads.h
+++ b/lib/Threads.h
@@ -37,7 +37,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #ifdef GRID_OMP
 #include <omp.h>
-#define PARALLEL_FOR_LOOP _Pragma("omp parallel for ")
+#define PARALLEL_FOR_LOOP _Pragma("omp parallel for schedule(static)")
 #define PARALLEL_NESTED_LOOP2 _Pragma("omp parallel for collapse(2)")
 #else
 #define PARALLEL_FOR_LOOP 

From 09ca32d678461ad1da759e286d7007d629584bd4 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:42:55 +0100
Subject: [PATCH 176/295] Dminus added for Cayley

---
 lib/qcd/action/fermion/CayleyFermion5D.cc | 24 +++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/lib/qcd/action/fermion/CayleyFermion5D.cc b/lib/qcd/action/fermion/CayleyFermion5D.cc
index c4196043..57b047d4 100644
--- a/lib/qcd/action/fermion/CayleyFermion5D.cc
+++ b/lib/qcd/action/fermion/CayleyFermion5D.cc
@@ -50,6 +50,30 @@ namespace QCD {
    mass(_mass)
  { }
 
+template<class Impl>  
+void CayleyFermion5D<Impl>::Dminus(const FermionField &psi, FermionField &chi)
+{
+  int Ls=this->Ls;
+  FermionField tmp(psi._grid);
+
+  this->DW(psi,tmp,DaggerNo);
+
+  for(int s=0;s<Ls;s++){
+    axpby_ssp(chi,Coeff_t(1.0),psi,-cs[s],tmp,s,s);// chi = (1-c[s] D_W) psi
+  }
+}
+template<class Impl>  
+void CayleyFermion5D<Impl>::DminusDag(const FermionField &psi, FermionField &chi)
+{
+  int Ls=this->Ls;
+  FermionField tmp(psi._grid);
+
+  this->DW(psi,tmp,DaggerYes);
+
+  for(int s=0;s<Ls;s++){
+    axpby_ssp(chi,Coeff_t(1.0),psi,-cs[s],tmp,s,s);// chi = (1-c[s] D_W) psi
+  }
+}
 template<class Impl>  
 void CayleyFermion5D<Impl>::M5D   (const FermionField &psi, FermionField &chi)
 {

From c0d5b99016d6ac9914c5b9eeee8a5fc6c760f54b Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:43:19 +0100
Subject: [PATCH 177/295] Dminus

---
 lib/qcd/action/fermion/CayleyFermion5D.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/qcd/action/fermion/CayleyFermion5D.h b/lib/qcd/action/fermion/CayleyFermion5D.h
index 53a93a05..1d8c2b95 100644
--- a/lib/qcd/action/fermion/CayleyFermion5D.h
+++ b/lib/qcd/action/fermion/CayleyFermion5D.h
@@ -56,6 +56,9 @@ namespace Grid {
       virtual void   M5D   (const FermionField &psi, FermionField &chi);
       virtual void   M5Ddag(const FermionField &psi, FermionField &chi);
 
+      virtual void   Dminus(const FermionField &psi, FermionField &chi);
+      virtual void   DminusDag(const FermionField &psi, FermionField &chi);
+
       /////////////////////////////////////////////////////
       // Instantiate different versions depending on Impl
       /////////////////////////////////////////////////////
@@ -117,6 +120,7 @@ namespace Grid {
 		      GridRedBlackCartesian &FourDimRedBlackGrid,
 		      RealD _mass,RealD _M5,const ImplParams &p= ImplParams());
 
+
     protected:
       void SetCoefficientsZolotarev(RealD zolohi,Approx::zolotarev_data *zdata,RealD b,RealD c);
       void SetCoefficientsTanh(Approx::zolotarev_data *zdata,RealD b,RealD c);

From d7ce164e6e25ef2fd2047583d5b74753b6a64769 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:43:36 +0100
Subject: [PATCH 178/295] Feynman rule for DWF

---
 lib/qcd/action/fermion/DomainWallFermion.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/qcd/action/fermion/DomainWallFermion.h b/lib/qcd/action/fermion/DomainWallFermion.h
index b72ca8ec..c0b6b6aa 100644
--- a/lib/qcd/action/fermion/DomainWallFermion.h
+++ b/lib/qcd/action/fermion/DomainWallFermion.h
@@ -42,6 +42,10 @@ namespace Grid {
      INHERIT_IMPL_TYPES(Impl);
     public:
 
+      void  MomentumSpacePropagator(FermionField &out,const FermionField &in,RealD _m) { 
+	this->MomentumSpacePropagatorHt(out,in,_m);
+      };
+
       virtual void   Instantiatable(void) {};
       // Constructors
       DomainWallFermion(GaugeField &_Umu,
@@ -51,6 +55,7 @@ namespace Grid {
 			GridRedBlackCartesian &FourDimRedBlackGrid,
 			RealD _mass,RealD _M5,const ImplParams &p= ImplParams()) : 
 
+
       CayleyFermion5D<Impl>(_Umu,
 			    FiveDimGrid,
 			    FiveDimRedBlackGrid,

From c0145745047b2500f19b57cfa4c28d2aa7ac3ddc Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:44:00 +0100
Subject: [PATCH 179/295] A "please implement me" feynman rule. If this were
 abstract virtual it would require/force implementation

---
 lib/qcd/action/fermion/FermionOperator.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/qcd/action/fermion/FermionOperator.h b/lib/qcd/action/fermion/FermionOperator.h
index daee2e5b..742c6e08 100644
--- a/lib/qcd/action/fermion/FermionOperator.h
+++ b/lib/qcd/action/fermion/FermionOperator.h
@@ -92,15 +92,16 @@ namespace Grid {
       virtual void  Mdir   (const FermionField &in, FermionField &out,int dir,int disp)=0;   // case by case Wilson, Clover, Cayley, ContFrac, PartFrac
 
 
-      virtual void  MomentumSpacePropagator(FermionField &out,const FermionField &in) { assert(0);};
-      virtual void  FreePropagator(const FermionField &in,FermionField &out) { 
+      virtual void  MomentumSpacePropagator(FermionField &out,const FermionField &in,RealD _m) { assert(0);};
+
+      virtual void  FreePropagator(const FermionField &in,FermionField &out,RealD mass) { 
 	FFT theFFT((GridCartesian *) in._grid);
 
 	FermionField in_k(in._grid);
 	FermionField prop_k(in._grid);
 
 	theFFT.FFT_all_dim(in_k,in,FFT::forward);
-        this->MomentumSpacePropagator(prop_k,in_k);
+        this->MomentumSpacePropagator(prop_k,in_k,mass);
 	theFFT.FFT_all_dim(out,prop_k,FFT::backward);
       };
 

From 6f26d2e8d4133ce88a1ca5056b083ecdf7d545b6 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:45:18 +0100
Subject: [PATCH 180/295] Overlap tree level feynman rule

---
 lib/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h b/lib/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h
index cd23ddd5..9cab0e22 100644
--- a/lib/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h
+++ b/lib/qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h
@@ -42,7 +42,11 @@ namespace Grid {
      INHERIT_IMPL_TYPES(Impl);
     public:
 
-      // Constructors
+     void  MomentumSpacePropagator(FermionField &out,const FermionField &in,RealD _m) { 
+       this->MomentumSpacePropagatorHw(out,in,_m);
+     };
+
+     // Constructors
     OverlapWilsonCayleyTanhFermion(GaugeField &_Umu,
 				   GridCartesian         &FiveDimGrid,
 				   GridRedBlackCartesian &FiveDimRedBlackGrid,

From 616e7cd83eb4c45b3102c6a232c5f26b61517a01 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:45:48 +0100
Subject: [PATCH 181/295] Mass parameter

---
 lib/qcd/action/fermion/WilsonFermion.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonFermion.cc b/lib/qcd/action/fermion/WilsonFermion.cc
index 55fbfa01..36c1870c 100644
--- a/lib/qcd/action/fermion/WilsonFermion.cc
+++ b/lib/qcd/action/fermion/WilsonFermion.cc
@@ -137,7 +137,7 @@ namespace QCD {
     MooeeInv(in,out);
   }
   template<class Impl>
-  void WilsonFermion<Impl>:: MomentumSpacePropagator(FermionField &out, const FermionField &in) {
+  void WilsonFermion<Impl>:: MomentumSpacePropagator(FermionField &out, const FermionField &in,RealD _m) {
 
     // what type LatticeComplex 
     conformable(_grid,out._grid);
@@ -179,7 +179,7 @@ namespace QCD {
       denom=denom + sin(kmu)*sin(kmu);
     }
 
-    wilson = wilson + mass;     // 2 sin^2 k/2 + m
+    wilson = wilson + _m;     // 2 sin^2 k/2 + m
 
     num   = num + wilson*in;     // -i gmu sin k + 2 sin^2 k/2 + m
 

From 657e0a8f4d457f0350826e2a12eff6643f031ccd Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:46:10 +0100
Subject: [PATCH 182/295] Mass parameter

---
 lib/qcd/action/fermion/WilsonFermion.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/qcd/action/fermion/WilsonFermion.h b/lib/qcd/action/fermion/WilsonFermion.h
index c050c0eb..3a1ba432 100644
--- a/lib/qcd/action/fermion/WilsonFermion.h
+++ b/lib/qcd/action/fermion/WilsonFermion.h
@@ -78,7 +78,7 @@ namespace Grid {
       virtual void MooeeInv(const FermionField &in, FermionField &out) ;
       virtual void MooeeInvDag(const FermionField &in, FermionField &out) ;
 
-      virtual void  MomentumSpacePropagator(FermionField &out,const FermionField &in) ;
+      virtual void  MomentumSpacePropagator(FermionField &out,const FermionField &in,RealD _mass) ;
 
       ////////////////////////
       // Derivative interface

From 96f1d1b828f613a7d2278a441cc86ee59cfd2526 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:46:45 +0100
Subject: [PATCH 183/295] Debugged Domain wall and Overlap feynman rules
 (infinite Ls, finite mass).

---
 lib/qcd/action/fermion/WilsonFermion5D.cc | 184 ++++++++++------------
 1 file changed, 81 insertions(+), 103 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonFermion5D.cc b/lib/qcd/action/fermion/WilsonFermion5D.cc
index 28f02b67..ea3e8535 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.cc
+++ b/lib/qcd/action/fermion/WilsonFermion5D.cc
@@ -393,92 +393,95 @@ void WilsonFermion5D<Impl>::DW(const FermionField &in, FermionField &out,int dag
 }
 
 template<class Impl>
-void WilsonFermion5D<Impl>::MomentumSpacePropagatorHt(FermionField &out,const FermionField &in) 
+void WilsonFermion5D<Impl>::MomentumSpacePropagatorHt(FermionField &out,const FermionField &in, RealD mass) 
 {
-    // what type LatticeComplex 
-    GridBase *_grid = _FourDimGrid;
-    conformable(_grid,out._grid);
+  // what type LatticeComplex 
+  GridBase *_grid = _FourDimGrid;
+  conformable(_grid,out._grid);
+  
+  typedef typename FermionField::vector_type vector_type;
+  typedef typename FermionField::scalar_type ScalComplex;
+  typedef iSinglet<ScalComplex> Tcomplex;
+  typedef Lattice<iSinglet<vector_type> > LatComplex;
+  
+  Gamma::GammaMatrix Gmu [] = {
+    Gamma::GammaX,
+    Gamma::GammaY,
+    Gamma::GammaZ,
+    Gamma::GammaT
+  };
 
-    typedef typename FermionField::vector_type vector_type;
-    typedef typename FermionField::scalar_type ScalComplex;
-    typedef iSinglet<ScalComplex> Tcomplex;
-    typedef Lattice<iSinglet<vector_type> > LatComplex;
+  std::vector<int> latt_size   = _grid->_fdimensions;
 
-    Gamma::GammaMatrix Gmu [] = {
-      Gamma::GammaX,
-      Gamma::GammaY,
-      Gamma::GammaZ,
-      Gamma::GammaT
-    };
+  
+  FermionField   num  (_grid); num  = zero;
 
-    std::vector<int> latt_size   = _grid->_fdimensions;
+  LatComplex    sk(_grid);  sk = zero;
+  LatComplex    sk2(_grid); sk2= zero;
+  LatComplex    W(_grid); W= zero;
+  LatComplex    a(_grid); a= zero;
+  LatComplex    one  (_grid); one = ScalComplex(1.0,0.0);
+  LatComplex denom(_grid); denom= zero;
+  LatComplex cosha(_grid); 
+  LatComplex kmu(_grid); 
+  LatComplex Wea(_grid); 
+  LatComplex Wema(_grid); 
 
-
-    LatComplex    sk(_grid);  sk = zero;
-    LatComplex    sk2(_grid); sk2= zero;
-
-    LatComplex    W(_grid); W= zero;
-    LatComplex    a(_grid); a= zero;
-    LatComplex    cosha(_grid); a= zero;
-
-    LatComplex     one  (_grid);     one = ScalComplex(1.0,0.0);
-
-    FermionField   num  (_grid); num  = zero;
-    LatComplex denom(_grid); denom= zero;
-    LatComplex kmu(_grid); 
-    ScalComplex ci(0.0,1.0);
-
-    for(int mu=0;mu<Nd;mu++) {
-
-      LatticeCoordinate(kmu,mu);
-
-      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
-
-      kmu = TwoPiL * kmu;
-
-      sk2 = sk2 + 2.0*sin(kmu*0.5)*sin(kmu*0.5);
-      sk  = sk  + sin(kmu)*sin(kmu); 
-
-      num = num - sin(kmu)*ci*(Gamma(Gmu[mu])*in);
-
-    }
-
-    W = one - M5 - sk2;
-    cosha =  (one + W*W + sk) / (W*2.0);
+  ScalComplex ci(0.0,1.0);
+  
+  for(int mu=0;mu<Nd;mu++) {
     
-    for(int idx=0;idx<_grid->lSites();idx++){
-      Tcomplex cc;
-      RealD sgn;
-      std::vector<int> lcoor(Nd);
-      _grid->LocalIndexToLocalCoor(idx,lcoor);
-      peekLocalSite(cc,cosha,lcoor);
-      sgn= ::fabs(real(cc));
-      cc = ScalComplex(::acosh(sgn),0.0);
-      pokeLocalSite(cc,a,lcoor);
-    }
+    LatticeCoordinate(kmu,mu);
+    
+    RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+    
+    kmu = TwoPiL * kmu;
+    
+    sk2 = sk2 + 2.0*sin(kmu*0.5)*sin(kmu*0.5);
+    sk  = sk  +     sin(kmu)    *sin(kmu); 
+    
+    num = num - sin(kmu)*ci*(Gamma(Gmu[mu])*in);
+    
+  }
+  
+  W = one - M5 + sk2;
 
-  std::cout << "Ht mom space num" << norm2(num)<<std::endl;// num ok
-  std::cout << "Ht mom space W  " << norm2(W)<<std::endl;// w ok
-  std::cout << "Ht mom space a  " << norm2(a)<<std::endl;// a ok
-  denom= ( exp(a) ); 
-  std::cout << "Ht mom space den" << norm2(denom)<<std::endl;
-  denom= ( exp(a) * W  ); 
-  std::cout << "Ht mom space den W" << norm2(denom)<<std::endl;
-  denom= ( exp(a) * W - one ); 
-  std::cout << "Ht mom space den W- 1" << norm2(denom)<<std::endl;
-  denom=where(sk==ScalComplex(0,0),one,denom);
-  std::cout << "Ht mom space den W- 1" << denom<<std::endl;
-  std::cout << "Ht mom space one " << norm2(one)<<std::endl;
-  denom= one/denom;
-  std::cout << "Ht mom space div " << norm2(denom)<<std::endl;
-  out = num*denom;
-  std::cout << "Ht mom space out" << norm2(out)<<std::endl;
+  ////////////////////////////////////////////
+  // Cosh alpha -> alpha
+  ////////////////////////////////////////////
+  cosha =  (one + W*W + sk) / (W*2.0);
+
+  // FIXME Need a Lattice acosh
+  for(int idx=0;idx<_grid->lSites();idx++){
+    std::vector<int> lcoor(Nd);
+    Tcomplex cc;
+    RealD sgn;
+    _grid->LocalIndexToLocalCoor(idx,lcoor);
+    peekLocalSite(cc,cosha,lcoor);
+    assert((double)real(cc)>=1.0);
+    assert(fabs((double)imag(cc))<=1.0e-15);
+    cc = ScalComplex(::acosh(real(cc)),0.0);
+    pokeLocalSite(cc,a,lcoor);
+  }
+  
+  Wea = ( exp( a) * W  ); 
+  Wema= ( exp(-a) * W  ); 
+  
+  num   = num + ( one - Wema ) * mass * in;
+  denom= ( Wea - one ) + mass*mass * (one - Wema); 
+  out = num/denom;
 }
 
 template<class Impl>
-void WilsonFermion5D<Impl>::MomentumSpacePropagatorHw(FermionField &out,const FermionField &in) 
+void WilsonFermion5D<Impl>::MomentumSpacePropagatorHw(FermionField &out,const FermionField &in,RealD mass) 
 {
-    // what type LatticeComplex 
+    Gamma::GammaMatrix Gmu [] = {
+      Gamma::GammaX,
+      Gamma::GammaY,
+      Gamma::GammaZ,
+      Gamma::GammaT
+    };
+
     GridBase *_grid = _FourDimGrid;
     conformable(_grid,out._grid);
 
@@ -487,16 +490,9 @@ void WilsonFermion5D<Impl>::MomentumSpacePropagatorHw(FermionField &out,const Fe
 
     typedef Lattice<iSinglet<vector_type> > LatComplex;
 
-    Gamma::GammaMatrix Gmu [] = {
-      Gamma::GammaX,
-      Gamma::GammaY,
-      Gamma::GammaZ,
-      Gamma::GammaT
-    };
 
     std::vector<int> latt_size   = _grid->_fdimensions;
 
-
     LatComplex    sk(_grid);  sk = zero;
     LatComplex    sk2(_grid); sk2= zero;
 
@@ -524,35 +520,17 @@ void WilsonFermion5D<Impl>::MomentumSpacePropagatorHw(FermionField &out,const Fe
       num = num - sin(kmu)*ci*(Gamma(Gmu[mu])*in);
 
     }
+    num = num + mass * in ;
 
     b_k = sk2 - M5;
      
     w_k = sqrt(sk + b_k*b_k);
 
-    std::cout << "Hw M5 " << M5<<std::endl;
-    std::cout << "Hw mom space NUM" << norm2(num)<<std::endl;
-    std::cout << "Hw mom space BK" << norm2(b_k)<<std::endl;
-    std::cout << "Hw mom space BK" << b_k<<std::endl;
-    std::cout << "Hw mom space WK" << norm2(w_k)<<std::endl;
-    std::cout << "Hw mom space WK" << w_k<<std::endl;
-
-    denom= ( w_k + b_k ) * (2.0 * M5);
-    denom=where(sk==ScalComplex(0,0),one,denom);
-
-    std::cout << "Hw mom space DEMON" << norm2(denom)<<std::endl;
-
-    std::cout << "Hw mom space DEMON" << denom<<std::endl;
-    
-    std::cout << "Hw mom space one" << norm2(one)<<std::endl;
+    denom= ( w_k + b_k + mass*mass) ;
 
     denom= one/denom;
-
-    std::cout << "Hw mom space div " << norm2(denom)<<std::endl;
-
-    std::cout << "denom " << denom<<std::endl;
-
     out = num*denom;
-    std::cout << "Hw mom space OUT" << norm2(out)<<std::endl;
+
 }
 
 

From 3619167d6246222b675aa9e1e9fb9541525c5671 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:47:33 +0100
Subject: [PATCH 184/295] Mass parameter

---
 lib/qcd/action/fermion/WilsonFermion5D.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonFermion5D.h b/lib/qcd/action/fermion/WilsonFermion5D.h
index a56bee11..fc8b5d41 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.h
+++ b/lib/qcd/action/fermion/WilsonFermion5D.h
@@ -88,8 +88,8 @@ namespace Grid {
       virtual void DhopDerivEO(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
       virtual void DhopDerivOE(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
 
-      void MomentumSpacePropagatorHt(FermionField &out,const FermionField &in) ;
-      void MomentumSpacePropagatorHw(FermionField &out,const FermionField &in) ;
+      void MomentumSpacePropagatorHt(FermionField &out,const FermionField &in,RealD mass) ;
+      void MomentumSpacePropagatorHw(FermionField &out,const FermionField &in,RealD mass) ;
 
       // Implement hopping term non-hermitian hopping term; half cb or both
       // Implement s-diagonal DW

From dc389e467c833c13ed1a4a882009351297ff1b12 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:48:05 +0100
Subject: [PATCH 185/295] axpy_ssp for any coeff type via template

---
 lib/qcd/utils/LinalgUtils.h | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/lib/qcd/utils/LinalgUtils.h b/lib/qcd/utils/LinalgUtils.h
index c2cb95ee..e7e6a794 100644
--- a/lib/qcd/utils/LinalgUtils.h
+++ b/lib/qcd/utils/LinalgUtils.h
@@ -39,8 +39,8 @@ namespace QCD{
 //on the 5d (rb4d) checkerboarded lattices
 ////////////////////////////////////////////////////////////////////////
 
-template<class vobj> 
-void axpibg5x(Lattice<vobj> &z,const Lattice<vobj> &x,RealD a,RealD b)
+template<class vobj,class Coeff>
+void axpibg5x(Lattice<vobj> &z,const Lattice<vobj> &x,Coeff a,Coeff b)
 {
   z.checkerboard = x.checkerboard;
   conformable(x,z);
@@ -57,8 +57,8 @@ PARALLEL_FOR_LOOP
   }
 }
 
-template<class vobj> 
-void axpby_ssp(Lattice<vobj> &z, RealD a,const Lattice<vobj> &x,RealD b,const Lattice<vobj> &y,int s,int sp)
+template<class vobj,class Coeff> 
+void axpby_ssp(Lattice<vobj> &z, Coeff a,const Lattice<vobj> &x,Coeff b,const Lattice<vobj> &y,int s,int sp)
 {
   z.checkerboard = x.checkerboard;
   conformable(x,y);
@@ -72,8 +72,8 @@ PARALLEL_FOR_LOOP
   }
 }
 
-template<class vobj> 
-void ag5xpby_ssp(Lattice<vobj> &z,RealD a,const Lattice<vobj> &x,RealD b,const Lattice<vobj> &y,int s,int sp)
+template<class vobj,class Coeff> 
+void ag5xpby_ssp(Lattice<vobj> &z,Coeff a,const Lattice<vobj> &x,Coeff b,const Lattice<vobj> &y,int s,int sp)
 {
   z.checkerboard = x.checkerboard;
   conformable(x,y);
@@ -90,8 +90,8 @@ PARALLEL_FOR_LOOP
   }
 }
 
-template<class vobj> 
-void axpbg5y_ssp(Lattice<vobj> &z,RealD a,const Lattice<vobj> &x,RealD b,const Lattice<vobj> &y,int s,int sp)
+template<class vobj,class Coeff> 
+void axpbg5y_ssp(Lattice<vobj> &z,Coeff a,const Lattice<vobj> &x,Coeff b,const Lattice<vobj> &y,int s,int sp)
 {
   z.checkerboard = x.checkerboard;
   conformable(x,y);
@@ -108,8 +108,8 @@ PARALLEL_FOR_LOOP
   }
 }
 
-template<class vobj> 
-void ag5xpbg5y_ssp(Lattice<vobj> &z,RealD a,const Lattice<vobj> &x,RealD b,const Lattice<vobj> &y,int s,int sp)
+template<class vobj,class Coeff> 
+void ag5xpbg5y_ssp(Lattice<vobj> &z,Coeff a,const Lattice<vobj> &x,Coeff b,const Lattice<vobj> &y,int s,int sp)
 {
   z.checkerboard = x.checkerboard;
   conformable(x,y);
@@ -127,8 +127,8 @@ PARALLEL_FOR_LOOP
   }
 }
 
-template<class vobj> 
-void axpby_ssp_pminus(Lattice<vobj> &z,RealD a,const Lattice<vobj> &x,RealD b,const Lattice<vobj> &y,int s,int sp)
+template<class vobj,class Coeff> 
+void axpby_ssp_pminus(Lattice<vobj> &z,Coeff a,const Lattice<vobj> &x,Coeff b,const Lattice<vobj> &y,int s,int sp)
 {
   z.checkerboard = x.checkerboard;
   conformable(x,y);
@@ -144,8 +144,8 @@ PARALLEL_FOR_LOOP
   }
 }
 
-template<class vobj> 
-void axpby_ssp_pplus(Lattice<vobj> &z,RealD a,const Lattice<vobj> &x,RealD b,const Lattice<vobj> &y,int s,int sp)
+template<class vobj,class Coeff> 
+void axpby_ssp_pplus(Lattice<vobj> &z,Coeff a,const Lattice<vobj> &x,Coeff b,const Lattice<vobj> &y,int s,int sp)
 {
   z.checkerboard = x.checkerboard;
   conformable(x,y);

From db749f103f86fbf3977cccd66b7b06f3d9687a9a Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:48:35 +0100
Subject: [PATCH 186/295] Add Wilson, DWF, Overlap feynman rule tests

---
 tests/core/Test_fft.cc | 346 ++++++++++++++++++++++++++++++++++-------
 1 file changed, 289 insertions(+), 57 deletions(-)

diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
index a20791fb..562a53a1 100644
--- a/tests/core/Test_fft.cc
+++ b/tests/core/Test_fft.cc
@@ -1,6 +1,6 @@
     /*************************************************************************************
 
-    Grid physics library, www.github.com/paboyle/Grid 
+    grid` physics library, www.github.com/paboyle/Grid 
 
     Source file: ./tests/Test_cshift.cc
 
@@ -61,18 +61,22 @@ int main (int argc, char ** argv)
   LatticeSpinMatrixD    S(&GRID);
   LatticeSpinMatrixD    Stilde(&GRID);
   
-  std::vector<int> p({1,2,3,2});
+  std::vector<int> p({1,3,2,3});
 
   one = ComplexD(1.0,0.0);
   zz  = ComplexD(0.0,0.0);
 
   ComplexD ci(0.0,1.0);
 
+
+  std::cout<<"*************************************************"<<std::endl;
+  std::cout<<"Testing Fourier xfrom of known plane wave        "<<std::endl;
+  std::cout<<"*************************************************"<<std::endl;
   C=zero;
   for(int mu=0;mu<4;mu++){
     RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
     LatticeCoordinate(coor,mu);
-    C = C - (TwoPiL * p[mu]) * coor;
+    C = C + (TwoPiL * p[mu]) * coor;
   }
 
   C = exp(C*ci);
@@ -82,11 +86,11 @@ int main (int argc, char ** argv)
 
   FFT theFFT(&GRID);
 
-  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);  C=Ctilde;
+  std::cout<<" Benchmarking FFT of LatticeComplex  "<<std::endl;
+  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<" Mflops "<<std::endl;
   theFFT.FFT_dim(Ctilde,C,1,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<" Mflops "<<std::endl;
-  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);  C=Ctilde;
-  theFFT.FFT_dim(Ctilde,C,3,FFT::forward);  
-
+  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<" Mflops "<<std::endl;
+  theFFT.FFT_dim(Ctilde,C,3,FFT::forward);            std::cout << theFFT.MFlops()<<" Mflops "<<std::endl;
 
   //  C=zero;
   //  Ctilde = where(abs(Ctilde)<1.0e-10,C,Ctilde);
@@ -95,9 +99,11 @@ int main (int argc, char ** argv)
 
   Cref=zero;
   pokeSite(cVol,Cref,p);
+  //  std::cout <<"Ctilde "<< Ctilde <<std::endl;
+  //  std::cout <<"Cref   "<< Cref <<std::endl;
+
   Cref=Cref-Ctilde;
   std::cout << "diff scalar "<<norm2(Cref) << std::endl;
-
   C=Csav;
   theFFT.FFT_all_dim(Ctilde,C,FFT::forward);
   theFFT.FFT_all_dim(Cref,Ctilde,FFT::backward); 
@@ -107,10 +113,11 @@ int main (int argc, char ** argv)
   Cref= Cref - C;
   std::cout << " invertible check " << norm2(Cref)<<std::endl;
 
-  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde;
+  std::cout<<" Benchmarking FFT of LatticeSpinMatrix  "<<std::endl;
+  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<" mflops "<<std::endl;
   theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<" mflops "<<std::endl;
-  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;
-  theFFT.FFT_dim(Stilde,S,3,FFT::forward);
+  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<" mflops "<<std::endl;
+  theFFT.FFT_dim(Stilde,S,3,FFT::forward);std::cout << theFFT.MFlops()<<" mflops "<<std::endl;
 
   SpinMatrixD Sp; 
   Sp = zero; Sp = Sp+cVol;
@@ -124,94 +131,319 @@ int main (int argc, char ** argv)
   /*
    */
   std::vector<int> seeds({1,2,3,4});
+  GridSerialRNG          sRNG;  sRNG.SeedFixedIntegers(seeds); // naughty seeding
   GridParallelRNG          pRNG(&GRID);
   pRNG.SeedFixedIntegers(seeds);
 
   LatticeGaugeFieldD Umu(&GRID);
 
   SU3::ColdConfiguration(pRNG,Umu); // Unit gauge
-  
+  //  Umu=zero;
+  ////////////////////////////////////////////////////
+  // Wilson test
+  ////////////////////////////////////////////////////
   {
     LatticeFermionD    src(&GRID); gaussian(pRNG,src);
     LatticeFermionD    tmp(&GRID);
     LatticeFermionD    ref(&GRID);
     
-    RealD mass=0.1;
+    RealD mass=0.01;
     WilsonFermionD Dw(Umu,GRID,RBGRID,mass);
     
     Dw.M(src,tmp);
 
-    std::cout << " src = " <<norm2(src)<<std::endl;
-    std::cout << " tmp = " <<norm2(tmp)<<std::endl;
+    std::cout << "Dw src = " <<norm2(src)<<std::endl;
+    std::cout << "Dw tmp = " <<norm2(tmp)<<std::endl;
     
-    Dw.FreePropagator(tmp,ref);
+    Dw.FreePropagator(tmp,ref,mass);
 
-    std::cout << " ref = " <<norm2(ref)<<std::endl;
+    std::cout << "Dw ref = " <<norm2(ref)<<std::endl;
     
     ref = ref - src;
     
-    std::cout << " ref-src = " <<norm2(ref)<<std::endl;
+    std::cout << "Dw ref-src = " <<norm2(ref)<<std::endl;
   }
 
+  ////////////////////////////////////////////////////
+  // Dwf matrix
+  ////////////////////////////////////////////////////
   {
-    LatticeFermionD    src(&GRID); gaussian(pRNG,src);
-    LatticeFermionD    tmp(&GRID);
-    LatticeFermionD    ref(&GRID);
+    std::cout<<"****************************************"<<std::endl;
+    std::cout<<"Testing Fourier representation of Ddwf"<<std::endl;
+    std::cout<<"****************************************"<<std::endl;
+    
+    const int Ls=16;
+    const int sdir=0;
+    RealD mass=0.01;
+    RealD M5  =1.0;
+    Gamma G5(Gamma::Gamma5);
 
-    const int Ls=8;
     GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,&GRID);
     GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,&GRID);
 
-    RealD mass=0.1;
-    RealD M5  =0.9;
+    std::cout<<"Making Ddwf"<<std::endl;
     DomainWallFermionD Ddwf(Umu,*FGrid,*FrbGrid,GRID,RBGRID,mass,M5);
 
-    // Need to solve and project 4d. New test required.
-
-    Ddwf.MomentumSpacePropagatorHw(ref,src) ;
-    std::cout << " Hw Mom space \n";
-
-
-    Ddwf.MomentumSpacePropagatorHt(ref,src) ;
-    std::cout << " Ht Mom space \n";
+    GridParallelRNG          RNG5(FGrid);      RNG5.SeedFixedIntegers(seeds);
+    LatticeFermionD    src5(FGrid); gaussian(RNG5,src5);
+    LatticeFermionD    src5_p(FGrid); 
+    LatticeFermionD    result5(FGrid); 
+    LatticeFermionD    ref5(FGrid); 
+    LatticeFermionD    tmp5(FGrid); 
 
+    /////////////////////////////////////////////////////////////////
+    // result5 is the non pert operator in 4d mom space
+    /////////////////////////////////////////////////////////////////
+    Ddwf.M(src5,tmp5); 
+    ref5 = tmp5;
+    
+    FFT theFFT5(FGrid);
       
-    {   
-      Gamma G5(Gamma::Gamma5);
+    theFFT5.FFT_dim(result5,tmp5,1,FFT::forward); tmp5 = result5;
+    theFFT5.FFT_dim(result5,tmp5,2,FFT::forward); tmp5 = result5;
+    theFFT5.FFT_dim(result5,tmp5,3,FFT::forward); tmp5 = result5;
+    theFFT5.FFT_dim(result5,tmp5,4,FFT::forward); result5 = result5*ComplexD(::sqrt(1.0/vol),0.0);
+    
+    std::cout<<"Fourier xformed Ddwf"<<std::endl;
+    
+    tmp5 = src5;
+    theFFT5.FFT_dim(src5_p,tmp5,1,FFT::forward); tmp5 = src5_p;
+    theFFT5.FFT_dim(src5_p,tmp5,2,FFT::forward); tmp5 = src5_p;
+    theFFT5.FFT_dim(src5_p,tmp5,3,FFT::forward); tmp5 = src5_p;
+    theFFT5.FFT_dim(src5_p,tmp5,4,FFT::forward); src5_p = src5_p*ComplexD(::sqrt(1.0/vol),0.0);
 
-      LatticeFermionD    src5(FGrid); src5=zero;
-      LatticeFermionD    result5(FGrid); result5=zero;
-      LatticeFermionD    result4(&GRID); 
-
-      const int sdir=0;
+    std::cout<<"Fourier xformed src5"<<std::endl;
       
-      tmp =   (src + G5*src)*0.5;
-      InsertSlice(tmp,src5,Ls-1,sdir);
+    /////////////////////////////////////////////////////////////////
+    // work out the predicted from Fourier
+    /////////////////////////////////////////////////////////////////
+    Gamma::GammaMatrix Gmu [] = {
+      Gamma::GammaX,
+      Gamma::GammaY,
+      Gamma::GammaZ,
+      Gamma::GammaT,
+      Gamma::Gamma5
+    };
+    LatticeFermionD    Kinetic(FGrid); Kinetic = zero;
+    LatticeComplexD    kmu(FGrid); 
+    LatticeInteger     scoor(FGrid); 
+    LatticeComplexD    sk (FGrid); sk = zero;
+    LatticeComplexD    sk2(FGrid); sk2= zero;
+    LatticeComplexD    W(FGrid); W= zero;
+    //      LatticeComplexD    a(FGrid); a= zero;
+    LatticeComplexD    one(FGrid); one =ComplexD(1.0,0.0);
+    ComplexD ci(0.0,1.0);
+    
+    for(int mu=0;mu<Nd;mu++) {
       
-      tmp =   (src - G5*src)*0.5;
-      InsertSlice(tmp,src5,0,sdir);
+      LatticeCoordinate(kmu,mu+1);
       
-      MdagMLinearOperator<DomainWallFermionD,LatticeFermionD> HermOp(Ddwf);
-      ConjugateGradient<LatticeFermionD> CG(1.0e-4,1000);
-      CG(HermOp,src5,result5);
-      result5 = zero;
-
-      ExtractSlice(tmp,result5,0,sdir);
-      result4 = (tmp+G5*tmp)*0.5;
+      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+      
+      kmu = TwoPiL * kmu;
+      
+      sk2 = sk2 + 2.0*sin(kmu*0.5)*sin(kmu*0.5);
+      sk  = sk  +     sin(kmu)    *sin(kmu); 
+      
+      // -1/2 Dw ->  1/2 gmu (eip - emip) = i sinp gmu
+      Kinetic = Kinetic + sin(kmu)*ci*(Gamma(Gmu[mu])*src5_p);
       
-      ExtractSlice(tmp,result5,Ls-1,sdir);
-      result4 = result4+(tmp-G5*tmp)*0.5;
-
-      std::cout << "src     "<<norm2(src)<<std::endl;
-      std::cout << "src5    "<<norm2(src5)<<std::endl;
-      std::cout << "result4 "<<norm2(result4)<<std::endl;
-      std::cout << "ref     "<<norm2(ref)<<std::endl;
     }
+    
+    // NB implicit sum over mu
+    //
+    // 1-1/2 Dw = 1 - 1/2 ( eip+emip)
+    //          = - 1/2 (ei - 2 +  emi) 
+    //          = - 1/4 2 (eih - eimh)(eih - eimh) 
+    //          = 2 sink/2 ink/2 = sk2
+    
+    W = one - M5 + sk2; 
+    Kinetic = Kinetic + W * src5_p;
+    
+    LatticeCoordinate(scoor,sdir);
+    
+    tmp5 = Cshift(src5_p,sdir,+1);
+    tmp5 = (tmp5 - G5*tmp5)*0.5;
+    tmp5 = where(scoor==Integer(Ls-1),mass*tmp5,-tmp5);
+    Kinetic = Kinetic + tmp5;
+    
+    tmp5 = Cshift(src5_p,sdir,-1);
+    tmp5 = (tmp5 + G5*tmp5)*0.5;
+    tmp5 = where(scoor==Integer(0),mass*tmp5,-tmp5);
+    Kinetic = Kinetic + tmp5;
+    
+    std::cout<<"Momentum space Ddwf  "<< norm2(Kinetic)<<std::endl;
+    std::cout<<"Stencil Ddwf         "<< norm2(result5)<<std::endl;
+    
+    result5 = result5 - Kinetic;
+    std::cout<<"diff "<< norm2(result5)<<std::endl;
+    
+  }
+
+  ////////////////////////////////////////////////////
+  // Dwf prop
+  ////////////////////////////////////////////////////
+  {
+    std::cout<<"****************************************"<<std::endl;
+    std::cout << "Testing Ddwf Ht Mom space 4d propagator \n";
+    std::cout<<"****************************************"<<std::endl;
+
+    LatticeFermionD    src(&GRID); gaussian(pRNG,src);
+    LatticeFermionD    tmp(&GRID);
+    LatticeFermionD    ref(&GRID);
+    LatticeFermionD    diff(&GRID);
+
+    std::vector<int> point(4,0);
+    src=zero;
+    SpinColourVectorD ferm; gaussian(sRNG,ferm);
+    pokeSite(ferm,src,point);
+
+    const int Ls=32;
+    GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,&GRID);
+    GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,&GRID);
+
+    RealD mass=0.01;
+    RealD M5  =0.8;
+    DomainWallFermionD Ddwf(Umu,*FGrid,*FrbGrid,GRID,RBGRID,mass,M5);
+
+    // Momentum space prop
+    std::cout << " Solving by FFT and Feynman rules" <<std::endl;
+    Ddwf.FreePropagator(src,ref,mass) ;
+
+    Gamma G5(Gamma::Gamma5);
+
+    LatticeFermionD    src5(FGrid); src5=zero;
+    LatticeFermionD    tmp5(FGrid); 
+    LatticeFermionD    result5(FGrid); result5=zero;
+    LatticeFermionD    result4(&GRID); 
+    const int sdir=0;
+
+    ////////////////////////////////////////////////////////////////////////
+    // Domain wall physical field source
+    ////////////////////////////////////////////////////////////////////////
+    /*
+	chi_5[0]   = chiralProjectPlus(chi);
+	chi_5[Ls-1]= chiralProjectMinus(chi);
+    */      
+    tmp =   (src + G5*src)*0.5;      InsertSlice(tmp,src5,   0,sdir);
+    tmp =   (src - G5*src)*0.5;      InsertSlice(tmp,src5,Ls-1,sdir);
+    
+    ////////////////////////////////////////////////////////////////////////
+    // Conjugate gradient on normal equations system
+    ////////////////////////////////////////////////////////////////////////
+    std::cout << " Solving by Conjugate Gradient (CGNE)" <<std::endl;
+    Ddwf.Mdag(src5,tmp5);
+    src5=tmp5;
+    MdagMLinearOperator<DomainWallFermionD,LatticeFermionD> HermOp(Ddwf);
+    ConjugateGradient<LatticeFermionD> CG(1.0e-16,10000);
+    CG(HermOp,src5,result5);
+    
+    ////////////////////////////////////////////////////////////////////////
+    // Domain wall physical field propagator
+    ////////////////////////////////////////////////////////////////////////
+    /*
+      psi  = chiralProjectMinus(psi_5[0]);
+      psi += chiralProjectPlus(psi_5[Ls-1]);
+    */
+    ExtractSlice(tmp,result5,0   ,sdir);   result4 =         (tmp-G5*tmp)*0.5;
+    ExtractSlice(tmp,result5,Ls-1,sdir);   result4 = result4+(tmp+G5*tmp)*0.5;
+    
+    std::cout << " Taking difference" <<std::endl;
+    std::cout << "Ddwf result4 "<<norm2(result4)<<std::endl;
+    std::cout << "Ddwf ref     "<<norm2(ref)<<std::endl;
+    
+    diff = ref - result4;
+    std::cout << "result - ref     "<<norm2(diff)<<std::endl;
+
+  }
+
+
+
+  ////////////////////////////////////////////////////
+  // Dwf prop
+  ////////////////////////////////////////////////////
+  {
+    std::cout<<"****************************************"<<std::endl;
+    std::cout << "Testing Dov Ht Mom space 4d propagator \n";
+    std::cout<<"****************************************"<<std::endl;
+
+    LatticeFermionD    src(&GRID); gaussian(pRNG,src);
+    LatticeFermionD    tmp(&GRID);
+    LatticeFermionD    ref(&GRID);
+    LatticeFermionD    diff(&GRID);
+
+    std::vector<int> point(4,0);
+    src=zero;
+    SpinColourVectorD ferm; gaussian(sRNG,ferm);
+    pokeSite(ferm,src,point);
+
+    const int Ls=48;
+    GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,&GRID);
+    GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,&GRID);
+
+    RealD mass=0.01;
+    RealD M5  =0.8;
+
+    OverlapWilsonCayleyTanhFermionD Dov(Umu,*FGrid,*FrbGrid,GRID,RBGRID,mass,M5,1.0);
+
+    // Momentum space prop
+    std::cout << " Solving by FFT and Feynman rules" <<std::endl;
+    Dov.FreePropagator(src,ref,mass) ;
+
+    Gamma G5(Gamma::Gamma5);
+
+    LatticeFermionD    src5(FGrid); src5=zero;
+    LatticeFermionD    tmp5(FGrid); 
+    LatticeFermionD    result5(FGrid); result5=zero;
+    LatticeFermionD    result4(&GRID); 
+    const int sdir=0;
+
+    ////////////////////////////////////////////////////////////////////////
+    // Domain wall physical field source; need D_minus
+    ////////////////////////////////////////////////////////////////////////
+    /*
+	chi_5[0]   = chiralProjectPlus(chi);
+	chi_5[Ls-1]= chiralProjectMinus(chi);
+    */      
+    tmp =   (src + G5*src)*0.5;      InsertSlice(tmp,src5,   0,sdir);
+    tmp =   (src - G5*src)*0.5;      InsertSlice(tmp,src5,Ls-1,sdir);
+
+    
+    ////////////////////////////////////////////////////////////////////////
+    // Conjugate gradient on normal equations system
+    ////////////////////////////////////////////////////////////////////////
+    std::cout << " Solving by Conjugate Gradient (CGNE)" <<std::endl;
+    Dov.Dminus(src5,tmp5);
+    src5=tmp5;
+    Dov.Mdag(src5,tmp5);
+    src5=tmp5;
+    MdagMLinearOperator<OverlapWilsonCayleyTanhFermionD,LatticeFermionD> HermOp(Dov);
+    ConjugateGradient<LatticeFermionD> CG(1.0e-16,10000);
+    CG(HermOp,src5,result5);
+    
+    ////////////////////////////////////////////////////////////////////////
+    // Domain wall physical field propagator
+    ////////////////////////////////////////////////////////////////////////
+    /*
+      psi  = chiralProjectMinus(psi_5[0]);
+      psi += chiralProjectPlus(psi_5[Ls-1]);
+    */
+    ExtractSlice(tmp,result5,0   ,sdir);   result4 =         (tmp-G5*tmp)*0.5;
+    ExtractSlice(tmp,result5,Ls-1,sdir);   result4 = result4+(tmp+G5*tmp)*0.5;
+    
+    std::cout << " Taking difference" <<std::endl;
+    std::cout << "Dov result4 "<<norm2(result4)<<std::endl;
+    std::cout << "Dov ref     "<<norm2(ref)<<std::endl;
+    
+    diff = ref - result4;
+    std::cout << "result - ref     "<<norm2(diff)<<std::endl;
+
   }
 
   {
     typedef GaugeImplTypes<vComplexD, 1> QEDGimplTypesD;
     typedef Photon<QEDGimplTypesD>       QEDGaction;
+
     QEDGaction Maxwell(QEDGaction::FEYNMAN_L);
     QEDGaction::GaugeField Prop(&GRID);Prop=zero;
     QEDGaction::GaugeField Source(&GRID);Source=zero;

From 3d5c9a1ee98146322cb48eb6674b47f1fcfc6063 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:50:13 +0100
Subject: [PATCH 187/295] No compile fix on clang++ 3.9

---
 lib/simd/Grid_avx.h | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/lib/simd/Grid_avx.h b/lib/simd/Grid_avx.h
index 33496e07..902142d2 100644
--- a/lib/simd/Grid_avx.h
+++ b/lib/simd/Grid_avx.h
@@ -450,13 +450,12 @@ namespace Optimization {
   };
 
 #if defined (AVX2) || defined (AVXFMA4) 
-#define _mm256_alignr_epi32(ret,a,b,n) ret=(__m256) _mm256_alignr_epi8((__m256i)a,(__m256i)b,(n*4)%16)
-#define _mm256_alignr_epi64(ret,a,b,n) ret=(__m256d) _mm256_alignr_epi8((__m256i)a,(__m256i)b,(n*8)%16)
+#define _mm256_alignr_epi32_grid(ret,a,b,n) ret=(__m256)  _mm256_alignr_epi8((__m256i)a,(__m256i)b,(n*4)%16)
+#define _mm256_alignr_epi64_grid(ret,a,b,n) ret=(__m256d) _mm256_alignr_epi8((__m256i)a,(__m256i)b,(n*8)%16)
 #endif
 
 #if defined (AVX1) 
-
-#define _mm256_alignr_epi32(ret,a,b,n) {	\
+#define _mm256_alignr_epi32_grid(ret,a,b,n) {	\
     __m128 aa, bb;				\
 						\
     aa  = _mm256_extractf128_ps(a,1);		\
@@ -470,7 +469,7 @@ namespace Optimization {
     ret = _mm256_insertf128_ps(ret,aa,0);	\
   }
 
-#define _mm256_alignr_epi64(ret,a,b,n) {	\
+#define _mm256_alignr_epi64_grid(ret,a,b,n) {	\
     __m128d aa, bb;				\
 						\
     aa  = _mm256_extractf128_pd(a,1);		\
@@ -530,9 +529,9 @@ namespace Optimization {
       __m256 tmp = Permute::Permute0(in);
       __m256 ret;
       if ( n > 3 ) { 
-	_mm256_alignr_epi32(ret,in,tmp,n);  
+	_mm256_alignr_epi32_grid(ret,in,tmp,n);  
       } else {
-        _mm256_alignr_epi32(ret,tmp,in,n);          
+        _mm256_alignr_epi32_grid(ret,tmp,in,n);          
       }
       //      std::cout << " align epi32 n=" <<n<<" in "<<tmp<<in<<" -> "<< ret <<std::endl;
       return ret;
@@ -543,9 +542,9 @@ namespace Optimization {
       __m256d tmp = Permute::Permute0(in);
       __m256d ret;
       if ( n > 1 ) {
-	_mm256_alignr_epi64(ret,in,tmp,n);          
+	_mm256_alignr_epi64_grid(ret,in,tmp,n);          
       } else {
-        _mm256_alignr_epi64(ret,tmp,in,n);          
+        _mm256_alignr_epi64_grid(ret,tmp,in,n);          
       }
       //      std::cout << " align epi64 n=" <<n<<" in "<<tmp<<in<<" -> "<< ret <<std::endl;
       return ret;

From 8d11681aac62ac368a195f1c0f36c8b4335514fa Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 10 Oct 2016 23:50:42 +0100
Subject: [PATCH 188/295] verbose remove

---
 lib/simd/Grid_vector_types.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h
index 4c3e903d..e1592eef 100644
--- a/lib/simd/Grid_vector_types.h
+++ b/lib/simd/Grid_vector_types.h
@@ -583,8 +583,6 @@ inline Grid_simd<S, V> operator/(Grid_simd<S, V> a, Grid_simd<S, V> b) {
 
   ret.v=binary<V>(ret.v, real_den.v, DivSIMD());
 
-  std::cout << " Div call from complex "<<a<<" / " << b<< " = " <<ret<< std::endl;
-
   return ret;
 };
 

From 6f408256bc346cdbfe95c2ff40e3133f8ad3ff06 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Tue, 11 Oct 2016 10:03:01 +0100
Subject: [PATCH 189/295] FMA4 option moved on the align

---
 lib/simd/Grid_avx.h | 23 +++--------------------
 1 file changed, 3 insertions(+), 20 deletions(-)

diff --git a/lib/simd/Grid_avx.h b/lib/simd/Grid_avx.h
index 902142d2..3268fee3 100644
--- a/lib/simd/Grid_avx.h
+++ b/lib/simd/Grid_avx.h
@@ -449,12 +449,12 @@ namespace Optimization {
 
   };
 
-#if defined (AVX2) || defined (AVXFMA4) 
+#if defined (AVX2)
 #define _mm256_alignr_epi32_grid(ret,a,b,n) ret=(__m256)  _mm256_alignr_epi8((__m256i)a,(__m256i)b,(n*4)%16)
 #define _mm256_alignr_epi64_grid(ret,a,b,n) ret=(__m256d) _mm256_alignr_epi8((__m256i)a,(__m256i)b,(n*8)%16)
 #endif
 
-#if defined (AVX1) 
+#if defined (AVX1) || defined (AVXFMA4)  
 #define _mm256_alignr_epi32_grid(ret,a,b,n) {	\
     __m128 aa, bb;				\
 						\
@@ -484,20 +484,7 @@ namespace Optimization {
   }
 
 #endif
-  /*
-    inline std::ostream & operator << (std::ostream& stream, const __m256 a)
-    {
-      const float *p=(const float *)&a;
-      stream<< "{"<<p[0]<<","<<p[1]<<","<<p[2]<<","<<p[3]<<","<<p[4]<<","<<p[5]<<","<<p[6]<<","<<p[7]<<"}";
-      return stream;
-    };
-    inline std::ostream & operator<< (std::ostream& stream, const __m256d a)
-    {
-      const double *p=(const double *)&a;
-      stream<< "{"<<p[0]<<","<<p[1]<<","<<p[2]<<","<<p[3]<<"}";
-      return stream;
-    };
-  */
+
   struct Rotate{
 
     static inline __m256 rotate(__m256 in,int n){ 
@@ -533,7 +520,6 @@ namespace Optimization {
       } else {
         _mm256_alignr_epi32_grid(ret,tmp,in,n);          
       }
-      //      std::cout << " align epi32 n=" <<n<<" in "<<tmp<<in<<" -> "<< ret <<std::endl;
       return ret;
     };
 
@@ -546,14 +532,11 @@ namespace Optimization {
       } else {
         _mm256_alignr_epi64_grid(ret,tmp,in,n);          
       }
-      //      std::cout << " align epi64 n=" <<n<<" in "<<tmp<<in<<" -> "<< ret <<std::endl;
       return ret;
     };
 
   };
 
-
-
   //Complex float Reduce
   template<>
     inline Grid::ComplexF Reduce<Grid::ComplexF, __m256>::operator()(__m256 in){

From 6e01264bb7f5bafa2bc5b2043a93d77d8393f378 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Tue, 11 Oct 2016 10:03:39 +0100
Subject: [PATCH 190/295] don't use static by default

---
 lib/Threads.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/Threads.h b/lib/Threads.h
index 5abe2ca4..9d1295e5 100644
--- a/lib/Threads.h
+++ b/lib/Threads.h
@@ -37,7 +37,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #ifdef GRID_OMP
 #include <omp.h>
-#define PARALLEL_FOR_LOOP _Pragma("omp parallel for schedule(static)")
+#define PARALLEL_FOR_LOOP _Pragma("omp parallel for ")
 #define PARALLEL_NESTED_LOOP2 _Pragma("omp parallel for collapse(2)")
 #else
 #define PARALLEL_FOR_LOOP 

From 42cd148f5e450e1f22de3d53001256883716980e Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Tue, 11 Oct 2016 16:06:06 +0100
Subject: [PATCH 191/295] Base pointer for comms buffer under AVX512 assembly

---
 lib/Stencil.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index f5056485..061accc3 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -265,16 +265,18 @@
        }
        inline uint64_t GetInfo(int &ptype,int &local,int &perm,int point,int ent,uint64_t base) {
 	 //_mm_prefetch((char *)&_entries[ent+1],_MM_HINT_T0);
+	 uint64_t cbase = & comm_buf[0];
 	 local = _entries[ent]._is_local;
 	 perm  = _entries[ent]._permute;
 	 if (perm)  ptype = _permute_type[point]; 
-	 if (local) return base + _entries[ent]._byte_offset;
-	 else       return _entries[ent]._byte_offset;
+	 if (local) return  base + _entries[ent]._byte_offset;
+	 else       return cbase +_entries[ent]._byte_offset;
        }
        inline uint64_t GetPFInfo(int ent,uint64_t base) {
+	 uint64_t cbase = & comm_buf[0];
 	 int local = _entries[ent]._is_local;
-	 if (local) return base + _entries[ent]._byte_offset;
-	 else       return        _entries[ent]._byte_offset;
+	 if (local) return  base + _entries[ent]._byte_offset;
+	 else       return cbase + _entries[ent]._byte_offset;
        }
 
        // Comms buffers

From 7240d731843c2f86e75ecfda5de1eb680bf9baca Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Tue, 11 Oct 2016 22:21:07 +0100
Subject: [PATCH 192/295] Parallelise the x faces; fix the segv on KNL with
 comms

---
 lib/cartesian/Cartesian_base.h      |  7 ++-----
 lib/cartesian/Cartesian_full.h      |  7 +++++++
 lib/cartesian/Cartesian_red_black.h | 25 ++++++++++++++++++++++++-
 lib/cshift/Cshift_common.h          | 11 +++++++++--
 4 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/lib/cartesian/Cartesian_base.h b/lib/cartesian/Cartesian_base.h
index b69c3435..8a24c87b 100644
--- a/lib/cartesian/Cartesian_base.h
+++ b/lib/cartesian/Cartesian_base.h
@@ -81,11 +81,8 @@ public:
     virtual int CheckerBoardDestination(int source_cb,int shift,int dim)=0;
     virtual int CheckerBoardShift(int source_cb,int dim,int shift,int osite)=0;
     virtual int CheckerBoardShiftForCB(int source_cb,int dim,int shift,int cb)=0;
-    int  CheckerBoardFromOindex (int Oindex){
-      std::vector<int> ocoor;
-      oCoorFromOindex(ocoor,Oindex); 
-      return CheckerBoard(ocoor);
-    }
+    virtual int CheckerBoardFromOindex (int Oindex)=0;
+    virtual int CheckerBoardFromOindexTable (int Oindex)=0;
 
     //////////////////////////////////////////////////////////////////////////////////////////////
     // Local layout calculations
diff --git a/lib/cartesian/Cartesian_full.h b/lib/cartesian/Cartesian_full.h
index 1f8f7514..14ab8b55 100644
--- a/lib/cartesian/Cartesian_full.h
+++ b/lib/cartesian/Cartesian_full.h
@@ -39,6 +39,13 @@ class GridCartesian: public GridBase {
 
 public:
 
+    virtual int  CheckerBoardFromOindexTable (int Oindex) {
+      return 0;
+    }
+    virtual int  CheckerBoardFromOindex (int Oindex)
+    {
+      return 0;
+    }
     virtual int CheckerBoarded(int dim){
       return 0;
     }
diff --git a/lib/cartesian/Cartesian_red_black.h b/lib/cartesian/Cartesian_red_black.h
index 9f5a1103..3c10403f 100644
--- a/lib/cartesian/Cartesian_red_black.h
+++ b/lib/cartesian/Cartesian_red_black.h
@@ -43,6 +43,7 @@ class GridRedBlackCartesian : public GridBase
 public:
     std::vector<int> _checker_dim_mask;
     int              _checker_dim;
+    std::vector<int> _checker_board;
 
     virtual int CheckerBoarded(int dim){
       if( dim==_checker_dim) return 1;
@@ -72,12 +73,20 @@ public:
       // or by looping over x,y,z and multiply rather than computing checkerboard.
 	  
       if ( (source_cb+ocb)&1 ) {
-
 	return (shift)/2;
       } else {
 	return (shift+1)/2;
       }
     }
+    virtual int  CheckerBoardFromOindexTable (int Oindex) {
+      return _checker_board[Oindex];
+    }
+    virtual int  CheckerBoardFromOindex (int Oindex)
+    {
+      std::vector<int> ocoor;
+      oCoorFromOindex(ocoor,Oindex);
+      return CheckerBoard(ocoor);
+    }
     virtual int CheckerBoardShift(int source_cb,int dim,int shift,int osite){
 
       if(dim != _checker_dim) return shift;
@@ -185,6 +194,8 @@ public:
 	  _ostride[d] = _ostride[d-1]*_rdimensions[d-1];
 	  _istride[d] = _istride[d-1]*_simd_layout[d-1];
 	}
+
+
       }
             
       ////////////////////////////////////////////////////////////////////////////////////////////
@@ -205,6 +216,18 @@ public:
 	_slice_nblock[d]=nblock;
 	block = block*_rdimensions[d];
       }
+
+      ////////////////////////////////////////////////
+      // Create a checkerboard lookup table
+      ////////////////////////////////////////////////
+      int rvol = 1;
+      for(int d=0;d<_ndimension;d++){
+	rvol=rvol * _rdimensions[d];
+      }
+      _checker_board.resize(rvol);
+      for(int osite=0;osite<_osites;osite++){
+	_checker_board[osite] = CheckerBoardFromOindex (osite);
+      }
       
     };
 protected:
diff --git a/lib/cshift/Cshift_common.h b/lib/cshift/Cshift_common.h
index b8e1284a..b0e9b798 100644
--- a/lib/cshift/Cshift_common.h
+++ b/lib/cshift/Cshift_common.h
@@ -1,3 +1,4 @@
+
     /*************************************************************************************
 
     Grid physics library, www.github.com/paboyle/Grid 
@@ -56,6 +57,7 @@ Gather_plane_simple (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<
   
   int e1=rhs._grid->_slice_nblock[dimension];
   int e2=rhs._grid->_slice_block[dimension];
+
   int stride=rhs._grid->_slice_stride[dimension];
   if ( cbmask == 0x3 ) { 
 PARALLEL_NESTED_LOOP2
@@ -68,15 +70,20 @@ PARALLEL_NESTED_LOOP2
     }
   } else { 
      int bo=0;
+     std::vector<std::pair<int,int> > table;
      for(int n=0;n<e1;n++){
        for(int b=0;b<e2;b++){
 	 int o  = n*stride;
-	 int ocb=1<<rhs._grid->CheckerBoardFromOindex(o+b);// Could easily be a table lookup
+	 int ocb=1<<rhs._grid->CheckerBoardFromOindexTable(o+b);
 	 if ( ocb &cbmask ) {
-	   buffer[off+bo++]=compress(rhs._odata[so+o+b]);
+	   table.push_back(std::pair<int,int> (bo++,o+b));
 	 }
        }
      }
+PARALLEL_FOR_LOOP     
+     for(int i=0;i<table.size();i++){
+       buffer[off+table[i].first]=compress(rhs._odata[so+table[i].second]);
+     }
   }
 }
 

From 0f182f033b3421041ccea8f2dae35d9036ac2b4d Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Tue, 11 Oct 2016 22:29:06 +0100
Subject: [PATCH 193/295] Drop macos with gcc

---
 .travis.yml | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index de9c54d3..ae3efda8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,10 +9,6 @@ matrix:
     - os:        osx
       osx_image: xcode7.2
       compiler: clang
-    - os:        osx
-      osx_image: xcode7.2
-      compiler: gcc
-      env: VERSION=-5
     - compiler: gcc
       addons:
         apt:

From f7c2aa3ba54db5edec66a7cc3af521dddd5b8dc9 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 12 Oct 2016 00:29:13 +0100
Subject: [PATCH 194/295] runtime by default

---
 lib/Threads.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/Threads.h b/lib/Threads.h
index 9d1295e5..b8915d74 100644
--- a/lib/Threads.h
+++ b/lib/Threads.h
@@ -37,7 +37,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #ifdef GRID_OMP
 #include <omp.h>
-#define PARALLEL_FOR_LOOP _Pragma("omp parallel for ")
+#define PARALLEL_FOR_LOOP _Pragma("omp parallel for schedule(runtime)")
 #define PARALLEL_NESTED_LOOP2 _Pragma("omp parallel for collapse(2)")
 #else
 #define PARALLEL_FOR_LOOP 

From 6b27c42dfe1d5c010e83804843a9b89bbf5480fd Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 12 Oct 2016 00:29:39 +0100
Subject: [PATCH 195/295] Cosmetic

---
 lib/qcd/action/gauge/Photon.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/qcd/action/gauge/Photon.h b/lib/qcd/action/gauge/Photon.h
index a7556b19..29d40f8b 100644
--- a/lib/qcd/action/gauge/Photon.h
+++ b/lib/qcd/action/gauge/Photon.h
@@ -77,8 +77,8 @@ namespace Grid{
 	  out = where(coor==Integer(0),zz,out);
 	}
       }
-      void  FeynmanGaugeMomentumSpacePropagator_TL(GaugeField &out, const GaugeField &in) { 
 
+      void  FeynmanGaugeMomentumSpacePropagator_TL(GaugeField &out, const GaugeField &in) { 
 
 	// what type LatticeComplex 
 	GridBase *grid = out._grid;
@@ -92,8 +92,8 @@ namespace Grid{
 
 	LatComplex denom(grid); denom= zero;
 	LatComplex   one(grid); one = ScalComplex(1.0,0.0);
+	LatComplex   kmu(grid); 
 
-	LatComplex kmu(grid); 
 	ScalComplex ci(0.0,1.0);
 	// momphase = n * 2pi / L
 	for(int mu=0;mu<Nd;mu++) {

From a123dcd7e9e54daad79522fa41dc7a899983835c Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 12 Oct 2016 00:29:57 +0100
Subject: [PATCH 196/295] Static required for shmem. Reading same object twice
 requires csum reset

---
 lib/parallelIO/BinaryIO.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/parallelIO/BinaryIO.h b/lib/parallelIO/BinaryIO.h
index 184209dc..acd96a39 100644
--- a/lib/parallelIO/BinaryIO.h
+++ b/lib/parallelIO/BinaryIO.h
@@ -457,7 +457,7 @@ class BinaryIO {
     // available (how short sighted is that?)
     //////////////////////////////////////////////////////////
     Umu = zero;
-    static uint32_t csum=0;
+    static uint32_t csum; csum=0;
     fobj fileObj;
     static sobj siteObj; // Static to place in symmetric region for SHMEM
 

From 2d4a45c75849431d3654af6fdf6a86c4f670db32 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 12 Oct 2016 09:14:15 +0100
Subject: [PATCH 197/295] Typecast pointer

---
 lib/Stencil.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index 061accc3..83aace54 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -265,15 +265,15 @@
        }
        inline uint64_t GetInfo(int &ptype,int &local,int &perm,int point,int ent,uint64_t base) {
 	 //_mm_prefetch((char *)&_entries[ent+1],_MM_HINT_T0);
-	 uint64_t cbase = & comm_buf[0];
+	 uint64_t cbase = (uint64_t) & comm_buf[0];
 	 local = _entries[ent]._is_local;
 	 perm  = _entries[ent]._permute;
 	 if (perm)  ptype = _permute_type[point]; 
 	 if (local) return  base + _entries[ent]._byte_offset;
-	 else       return cbase +_entries[ent]._byte_offset;
+	 else       return cbase + _entries[ent]._byte_offset;
        }
        inline uint64_t GetPFInfo(int ent,uint64_t base) {
-	 uint64_t cbase = & comm_buf[0];
+	 uint64_t cbase =  (uint64_t)& comm_buf[0];
 	 int local = _entries[ent]._is_local;
 	 if (local) return  base + _entries[ent]._byte_offset;
 	 else       return cbase + _entries[ent]._byte_offset;

From 81f2aeaece16b3ac4ab15ba92e0390095d96ab3c Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Wed, 12 Oct 2016 11:45:22 +0100
Subject: [PATCH 198/295] KNL streaming stores, and KNL performance coutners

---
 benchmarks/Benchmark_dwf.cc                   |   2 +
 benchmarks/Benchmark_dwf_sweep.cc             |   2 +-
 configure.ac                                  |  14 ++
 lib/AlignedAllocator.h                        |   5 +-
 lib/Stat.cc                                   | 233 ++++++++++++++++++
 lib/Stat.h                                    | 100 ++++++++
 lib/Threads.h                                 |   6 +-
 lib/cartesian/Cartesian_red_black.h           |   2 +-
 lib/qcd/action/fermion/WilsonFermion5D.cc     |  22 ++
 lib/qcd/action/fermion/WilsonFermion5D.h      |   3 +
 lib/qcd/action/fermion/WilsonKernelsAsmBody.h |   4 +
 lib/simd/Intel512common.h                     |   7 +-
 12 files changed, 393 insertions(+), 7 deletions(-)
 create mode 100644 lib/Stat.cc
 create mode 100644 lib/Stat.h

diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index bc9ab708..6a283085 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -251,11 +251,13 @@ int main (int argc, char ** argv)
       sr_o = zero;
 
       sDw.ZeroCounters();
+      sDw.stat.init("DhopEO");
       double t0=usecond();
       for (int i = 0; i < ncall; i++) {
         sDw.DhopEO(ssrc_o, sr_e, DaggerNo);
       }
       double t1=usecond();
+      sDw.stat.print();
 
       double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
       double flops=(1344.0*volume*ncall)/2;
diff --git a/benchmarks/Benchmark_dwf_sweep.cc b/benchmarks/Benchmark_dwf_sweep.cc
index 18d2f389..ee78a33d 100644
--- a/benchmarks/Benchmark_dwf_sweep.cc
+++ b/benchmarks/Benchmark_dwf_sweep.cc
@@ -51,7 +51,7 @@ int main (int argc, char ** argv)
 {
   Grid_init(&argc,&argv);
 
-  const int Ls=16;
+  const int Ls=8;
   int threads = GridThread::GetThreads();
   std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
 
diff --git a/configure.ac b/configure.ac
index b7205b4a..7bcdc49f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,6 +70,20 @@ case ${ac_LAPACK} in
         AC_DEFINE([USE_LAPACK],[1],[use LAPACK])
 esac
 
+################## first-touch ####################
+AC_ARG_ENABLE([numa],
+    [AC_HELP_STRING([--enable-numa=yes|no|prefix], [enable first touch numa opt])], 
+    [ac_NUMA=${enable_NUMA}],[ac_NUMA=no])
+
+case ${ac_NUMA} in
+    no)
+        ;;
+    yes)
+        AC_DEFINE([GRID_NUMA],[1],[First touch numa locality]);;
+    *)
+        AC_DEFINE([GRID_NUMA],[1],[First touch numa locality]);;
+esac
+
 ################## FFTW3 ####################
 AC_ARG_WITH([fftw],    
             [AS_HELP_STRING([--with-fftw=prefix],
diff --git a/lib/AlignedAllocator.h b/lib/AlignedAllocator.h
index 2cd8263d..8f69971d 100644
--- a/lib/AlignedAllocator.h
+++ b/lib/AlignedAllocator.h
@@ -113,9 +113,8 @@ public:
 
 #endif
     _Tp tmp;
-#undef FIRST_TOUCH_OPTIMISE
-#ifdef FIRST_TOUCH_OPTIMISE
-#pragma omp parallel for 
+#ifdef GRID_NUMA
+#pragma omp parallel for schedule(static)
   for(int i=0;i<__n;i++){
     ptr[i]=tmp;
   }
diff --git a/lib/Stat.cc b/lib/Stat.cc
new file mode 100644
index 00000000..9a025225
--- /dev/null
+++ b/lib/Stat.cc
@@ -0,0 +1,233 @@
+#include <Grid.h>
+#include <PerfCount.h>
+#include <Stat.h>
+
+
+namespace Grid { 
+
+
+bool PmuStat::pmu_initialized=false;
+
+
+void PmuStat::init(const char *regname)
+{
+  name = regname;
+  if (!pmu_initialized)
+    {
+      std::cout<<"initialising pmu"<<std::endl;
+      pmu_initialized = true;
+      pmu_init();
+    }
+  clear();
+}
+void PmuStat::clear(void)
+{
+  count = 0;
+  tregion = 0;
+  pmc0 = 0;
+  pmc1 = 0;
+  inst = 0;
+  cyc = 0;
+  ref = 0;
+  tcycles = 0;
+  reads = 0;
+  writes = 0;
+}
+void PmuStat::print(void)
+{
+  std::cout <<"Reg "<<std::string(name)<<":\n";
+  std::cout <<"  region "<<tregion<<std::endl;
+  std::cout <<"  cycles "<<tcycles<<std::endl;
+  std::cout <<"  inst   "<<inst   <<std::endl;
+  std::cout <<"  cyc    "<<cyc    <<std::endl;
+  std::cout <<"  ref    "<<ref    <<std::endl;
+  std::cout <<"  pmc0   "<<pmc0   <<std::endl;
+  std::cout <<"  pmc1   "<<pmc1   <<std::endl;
+  std::cout <<"  count  "<<count  <<std::endl;
+  std::cout <<"  reads  "<<reads  <<std::endl;
+  std::cout <<"  writes "<<writes <<std::endl;
+}
+void PmuStat::start(void)
+{
+  pmu_start();
+  ++count;
+  xmemctrs(&mrstart, &mwstart);
+  tstart = _rdtsc();
+}
+void PmuStat::enter(int t)
+{
+  counters[0][t] = _rdpmc(0);
+  counters[1][t] = _rdpmc(1);
+  counters[2][t] = _rdpmc((1<<30)|0);
+  counters[3][t] = _rdpmc((1<<30)|1);
+  counters[4][t] = _rdpmc((1<<30)|2);
+  counters[5][t] = _rdtsc();
+}
+void PmuStat::exit(int t)
+{
+  counters[0][t] = _rdpmc(0) - counters[0][t];
+  counters[1][t] = _rdpmc(1) - counters[1][t];
+  counters[2][t] = _rdpmc((1<<30)|0) - counters[2][t];
+  counters[3][t] = _rdpmc((1<<30)|1) - counters[3][t];
+  counters[4][t] = _rdpmc((1<<30)|2) - counters[4][t];
+  counters[5][t] = _rdtsc() - counters[5][t];
+}
+void PmuStat::accum(int nthreads)
+{
+  tend = _rdtsc();
+  xmemctrs(&mrend, &mwend);
+  pmu_stop();
+  for (int t = 0; t < nthreads; ++t) {
+    pmc0 += counters[0][t];
+    pmc1 += counters[1][t];
+    inst += counters[2][t];
+    cyc += counters[3][t];
+    ref += counters[4][t];
+    tcycles += counters[5][t];
+  }
+  uint64_t region = tend - tstart;
+  tregion += region;
+  uint64_t mreads = mrend - mrstart;
+  reads += mreads;
+  uint64_t mwrites = mwend - mwstart;
+  writes += mwrites;
+}
+
+
+void PmuStat::pmu_fini(void) {}
+void PmuStat::pmu_start(void) {};
+void PmuStat::pmu_stop(void) {};
+void PmuStat::pmu_init(void)
+{
+#ifdef _KNIGHTS_LANDING_
+  KNLsetup();
+#endif
+}
+void PmuStat::xmemctrs(uint64_t *mr, uint64_t *mw)
+{
+#ifdef _KNIGHTS_LANDING_
+  ctrs c;
+  KNLreadctrs(c);
+  uint64_t emr = 0, emw = 0;
+  for (int i = 0; i < NEDC; ++i)
+    {
+      emr += c.edcrd[i];
+      emw += c.edcwr[i];
+    }
+  *mr = emr;
+  *mw = emw;
+#else
+  *mr = *mw = 0;
+#endif
+}
+
+#ifdef _KNIGHTS_LANDING_
+
+struct knl_gbl_ PmuStat::gbl;
+
+#define PMU_MEM
+
+void PmuStat::KNLevsetup(const char *ename, int &fd, int event, int umask)
+{
+  char fname[1024];
+  snprintf(fname, sizeof(fname), "%s/type", ename);
+  FILE *fp = fopen(fname, "r");
+  if (fp == 0) {
+    ::printf("open %s", fname);
+    ::exit(0);
+  }
+  int type;
+  int ret = fscanf(fp, "%d", &type);
+  assert(ret == 1);
+  fclose(fp);
+  //  std::cout << "Using PMU type "<<type<<" from " << std::string(ename) <<std::endl;
+
+  struct perf_event_attr hw = {};
+  hw.size = sizeof(hw);
+  hw.type = type;
+  // see /sys/devices/uncore_*/format/*
+  // All of the events we are interested in are configured the same way, but
+  // that isn't always true. Proper code would parse the format files
+  hw.config = event | (umask << 8);
+  //hw.read_format = PERF_FORMAT_GROUP;
+  // unfortunately the above only works within a single PMU; might
+  // as well just read them one at a time
+  int cpu = 0;
+  fd = perf_event_open(&hw, -1, cpu, -1, 0);
+  if (fd == -1) {
+    ::printf("CPU %d, box %s, event 0x%lx", cpu, ename, hw.config);
+    ::exit(0);
+  } else { 
+    //    std::cout << "event "<<std::string(ename)<<" set up for fd "<<fd<<" hw.config "<<hw.config <<std::endl;
+  }
+}
+
+
+ void PmuStat::KNLsetup(void){
+
+   int ret;
+   char fname[1024];
+
+   // MC RPQ inserts and WPQ inserts (reads & writes)
+   for (int mc = 0; mc < NMC; ++mc)
+     {
+       ::snprintf(fname, sizeof(fname), "/sys/devices/uncore_imc_%d",mc);
+       // RPQ Inserts
+       KNLevsetup(fname, gbl.mc_rd[mc], 0x1, 0x1);
+       // WPQ Inserts
+       KNLevsetup(fname, gbl.mc_wr[mc], 0x2, 0x1);
+     }
+   // EDC RPQ inserts and WPQ inserts
+   for (int edc=0; edc < NEDC; ++edc)
+     {
+       ::snprintf(fname, sizeof(fname), "/sys/devices/uncore_edc_eclk_%d",edc);
+       // RPQ inserts
+       KNLevsetup(fname, gbl.edc_rd[edc], 0x1, 0x1);
+       // WPQ inserts
+       KNLevsetup(fname, gbl.edc_wr[edc], 0x2, 0x1);
+     }
+   // EDC HitE, HitM, MissE, MissM
+   for (int edc=0; edc < NEDC; ++edc)
+     {
+       ::snprintf(fname, sizeof(fname), "/sys/devices/uncore_edc_uclk_%d", edc);
+       KNLevsetup(fname, gbl.edc_hite[edc], 0x2, 0x1);
+       KNLevsetup(fname, gbl.edc_hitm[edc], 0x2, 0x2);
+       KNLevsetup(fname, gbl.edc_misse[edc], 0x2, 0x4);
+       KNLevsetup(fname, gbl.edc_missm[edc], 0x2, 0x8);
+     }
+ }
+
+uint64_t PmuStat::KNLreadctr(int fd)
+{
+  uint64_t data;
+  size_t s = ::read(fd, &data, sizeof(data));
+  if (s != sizeof(uint64_t)){
+    ::printf("read counter %lu", s);
+    ::exit(0);
+  }
+  return data;
+}
+
+void PmuStat::KNLreadctrs(ctrs &c)
+{
+  for (int i = 0; i < NMC; ++i)
+    {
+      c.mcrd[i] = KNLreadctr(gbl.mc_rd[i]);
+      c.mcwr[i] = KNLreadctr(gbl.mc_wr[i]);
+    }
+  for (int i = 0; i < NEDC; ++i)
+    {
+      c.edcrd[i] = KNLreadctr(gbl.edc_rd[i]);
+      c.edcwr[i] = KNLreadctr(gbl.edc_wr[i]);
+    }
+  for (int i = 0; i < NEDC; ++i)
+    {
+      c.edchite[i] = KNLreadctr(gbl.edc_hite[i]);
+      c.edchitm[i] = KNLreadctr(gbl.edc_hitm[i]);
+      c.edcmisse[i] = KNLreadctr(gbl.edc_misse[i]);
+      c.edcmissm[i] = KNLreadctr(gbl.edc_missm[i]);
+    }
+}
+
+#endif
+}
diff --git a/lib/Stat.h b/lib/Stat.h
new file mode 100644
index 00000000..e93e1538
--- /dev/null
+++ b/lib/Stat.h
@@ -0,0 +1,100 @@
+#ifndef _GRID_STAT_H
+#define _GRID_STAT_H
+
+#ifdef AVX512
+#define _KNIGHTS_LANDING_
+#endif
+
+#ifdef _KNIGHTS_LANDING_
+
+#define NMC 6
+#define NEDC 8
+namespace Grid { 
+struct ctrs
+{
+    uint64_t mcrd[NMC];
+    uint64_t mcwr[NMC];
+    uint64_t edcrd[NEDC]; 
+    uint64_t edcwr[NEDC];
+    uint64_t edchite[NEDC];
+    uint64_t edchitm[NEDC];
+    uint64_t edcmisse[NEDC];
+    uint64_t edcmissm[NEDC];
+};
+// Peter/Azusa:
+// Our modification of a code provided by Larry Meadows from Intel
+// Verified by email exchange non-NDA, ok for github. Should be as uses /sys/devices/ FS
+// so is already public and in the linux kernel for KNL.
+struct knl_gbl_
+{
+  int mc_rd[NMC];
+  int mc_wr[NMC];
+  int edc_rd[NEDC];
+  int edc_wr[NEDC];
+  int edc_hite[NEDC];
+  int edc_hitm[NEDC];
+  int edc_misse[NEDC];
+  int edc_missm[NEDC];
+};
+#endif
+
+class PmuStat
+{
+    const char *name;
+    __declspec(align(64)) uint64_t counters[8][256];
+#ifdef _KNIGHTS_LANDING_
+    static struct knl_gbl_ gbl;
+#endif
+
+    uint64_t reads;     // memory reads
+    uint64_t writes;    // memory writes
+    uint64_t mrstart;   // memory read counter at start of parallel region
+    uint64_t mrend;     // memory read counter at end of parallel region
+    uint64_t mwstart;   // memory write counter at start of parallel region
+    uint64_t mwend;     // memory write counter at end of parallel region
+
+    // cumulative counters
+    uint64_t count;     // number of invocations
+    uint64_t tregion;   // total time in parallel region (from thread 0)
+    uint64_t tcycles;   // total cycles inside parallel region
+    uint64_t inst, ref, cyc;   // fixed counters
+    uint64_t pmc0, pmc1;// pmu
+    // add memory counters here
+    // temp variables
+    uint64_t tstart;    // tsc at start of parallel region
+    uint64_t tend;      // tsc at end of parallel region
+    // map for ctrs values
+    // 0 pmc0 start
+    // 1 pmc0 end
+    // 2 pmc1 start
+    // 3 pmc1 end
+    // 4 tsc start
+    // 5 tsc end
+    static bool pmu_initialized;
+public:
+    static bool is_init(void){ return pmu_initialized;}
+    static void pmu_init(void);
+    static void pmu_fini(void);
+    static void pmu_start(void);
+    static void pmu_stop(void);
+    void accum(int nthreads);
+    static void xmemctrs(uint64_t *mr, uint64_t *mw);
+    void start(void);
+    void enter(int t);
+    void exit(int t);
+    void print(void);
+    void init(const char *regname);
+    void clear(void);
+#ifdef _KNIGHTS_LANDING_
+    static void     KNLsetup(void);
+    static uint64_t KNLreadctr(int fd);
+    static void     KNLreadctrs(ctrs &c);
+    static void     KNLevsetup(const char *ename, int &fd, int event, int umask);
+#endif
+    
+  };
+
+}
+
+#endif
+
diff --git a/lib/Threads.h b/lib/Threads.h
index 9d1295e5..d502dd82 100644
--- a/lib/Threads.h
+++ b/lib/Threads.h
@@ -37,7 +37,11 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #ifdef GRID_OMP
 #include <omp.h>
-#define PARALLEL_FOR_LOOP _Pragma("omp parallel for ")
+#ifdef GRID_NUMA
+#define PARALLEL_FOR_LOOP _Pragma("omp parallel for schedule(static)")
+#else
+#define PARALLEL_FOR_LOOP _Pragma("omp parallel for schedule(runtime)")
+#endif
 #define PARALLEL_NESTED_LOOP2 _Pragma("omp parallel for collapse(2)")
 #else
 #define PARALLEL_FOR_LOOP 
diff --git a/lib/cartesian/Cartesian_red_black.h b/lib/cartesian/Cartesian_red_black.h
index 3c10403f..db0508d5 100644
--- a/lib/cartesian/Cartesian_red_black.h
+++ b/lib/cartesian/Cartesian_red_black.h
@@ -178,7 +178,7 @@ public:
 	// all elements of a simd vector must have same checkerboard.
 	// If Ls vectorised, this must still be the case; e.g. dwf rb5d
 	if ( _simd_layout[d]>1 ) {
-	  if ( d != _checker_dim ) { 
+	  if ( checker_dim_mask[d] ) { 
 	    assert( (_rdimensions[d]&0x1) == 0 );
 	  }
 	}
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.cc b/lib/qcd/action/fermion/WilsonFermion5D.cc
index 3ced3443..a96b6fca 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.cc
+++ b/lib/qcd/action/fermion/WilsonFermion5D.cc
@@ -416,6 +416,28 @@ void WilsonFermion5D<Impl>::DhopInternal(StencilImpl & st, LebesgueOrder &lo,
       Kernels::DiracOptDhopSiteDag(st, lo, U, st.comm_buf, sF, sU, LLs, 1, in,
                                    out);
     }
+#ifdef AVX512
+  } else if (stat.is_init() ) {
+
+    int nthreads;
+    stat.start();
+    #pragma omp parallel
+    {
+    #pragma omp master
+    nthreads = omp_get_num_threads();
+    int mythread = omp_get_thread_num();
+    stat.enter(mythread);
+    #pragma omp for nowait
+   for(int ss=0;ss<U._grid->oSites();ss++)
+    {
+       int sU=ss;
+       int sF=LLs*sU;
+       Kernels::DiracOptDhopSite(st,lo,U,st.comm_buf,sF,sU,LLs,1,in,out);
+     }
+    stat.exit(mythread);
+    }
+    stat.accum(nthreads);
+#endif
   } else {
     PARALLEL_FOR_LOOP
     for (int ss = 0; ss < U._grid->oSites(); ss++) {
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.h b/lib/qcd/action/fermion/WilsonFermion5D.h
index b9c35b7c..bc7ec543 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.h
+++ b/lib/qcd/action/fermion/WilsonFermion5D.h
@@ -31,6 +31,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #ifndef  GRID_QCD_WILSON_FERMION_5D_H
 #define  GRID_QCD_WILSON_FERMION_5D_H
 
+#include <Grid/Stat.h>
+
 namespace Grid {
 
   namespace QCD {
@@ -60,6 +62,7 @@ namespace Grid {
     public:
      INHERIT_IMPL_TYPES(Impl);
      typedef WilsonKernels<Impl> Kernels;
+     PmuStat stat;
 
      void Report(void);
      void ZeroCounters(void);
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsmBody.h b/lib/qcd/action/fermion/WilsonKernelsAsmBody.h
index d236a774..12579d8c 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsmBody.h
+++ b/lib/qcd/action/fermion/WilsonKernelsAsmBody.h
@@ -134,7 +134,9 @@
   ////////////////////////////////
   // Xm
   ////////////////////////////////
+#ifndef STREAM_STORE
   basep= (uint64_t) &out._odata[ss];
+#endif
   //  basep= st.GetPFInfo(nent,plocal); nent++;
   if ( local ) {
     LOAD64(%r10,isigns);  // times i => shuffle and xor the real part sign bit
@@ -229,7 +231,9 @@
     LOAD_CHI(base);
   }
   base= (uint64_t) &out._odata[ss];
+#ifndef STREAM_STORE
   PREFETCH_CHIMU(base);
+#endif
   {
     MULT_2SPIN_DIR_PFTM(Tm,basep);
   }
diff --git a/lib/simd/Intel512common.h b/lib/simd/Intel512common.h
index dabbf6d8..dbfb30c2 100644
--- a/lib/simd/Intel512common.h
+++ b/lib/simd/Intel512common.h
@@ -138,9 +138,14 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #define ZLOADf(OFF,PTR,ri,ir)  VLOADf(OFF,PTR,ir)  VSHUFf(ir,ri)
 #define ZLOADd(OFF,PTR,ri,ir)  VLOADd(OFF,PTR,ir)  VSHUFd(ir,ri)
 
-
+#define STREAM_STORE
+#ifdef STREAM_STORE
+#define VSTOREf(OFF,PTR,SRC)   "vmovntps " #SRC "," #OFF "*64(" #PTR ")"  ";\n"
+#define VSTOREd(OFF,PTR,SRC)   "vmovntpd " #SRC "," #OFF "*64(" #PTR ")"  ";\n"
+#else
 #define VSTOREf(OFF,PTR,SRC)   "vmovaps " #SRC "," #OFF "*64(" #PTR ")"  ";\n"
 #define VSTOREd(OFF,PTR,SRC)   "vmovapd " #SRC "," #OFF "*64(" #PTR ")"  ";\n"
+#endif
 
 // Swaps Re/Im ; could unify this with IMCI
 #define VSHUFd(A,DEST)         "vpshufd  $0x4e," #A "," #DEST  ";\n"    

From 9b63e97108f6716795a1f63cc43b5a813dbb3e3e Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Wed, 12 Oct 2016 11:51:21 +0100
Subject: [PATCH 199/295] align not absolutely required and confuses clang++

---
 lib/Stat.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/Stat.h b/lib/Stat.h
index e93e1538..f3c0722e 100644
--- a/lib/Stat.h
+++ b/lib/Stat.h
@@ -40,11 +40,11 @@ struct knl_gbl_
 
 class PmuStat
 {
-    const char *name;
-    __declspec(align(64)) uint64_t counters[8][256];
+    uint64_t counters[8][256];
 #ifdef _KNIGHTS_LANDING_
     static struct knl_gbl_ gbl;
 #endif
+    const char *name;
 
     uint64_t reads;     // memory reads
     uint64_t writes;    // memory writes

From 496beffa883ca419e5b20c9a04ea40c85655a5be Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Wed, 12 Oct 2016 12:06:08 +0100
Subject: [PATCH 200/295] Fix non-KNL build

---
 lib/Stat.h | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/Stat.h b/lib/Stat.h
index f3c0722e..553c4f8a 100644
--- a/lib/Stat.h
+++ b/lib/Stat.h
@@ -5,11 +5,14 @@
 #define _KNIGHTS_LANDING_
 #endif
 
-#ifdef _KNIGHTS_LANDING_
+namespace Grid { 
 
+///////////////////////////////////////////////////////////////////////////////
+// Extra KNL counters from MCDRAM
+///////////////////////////////////////////////////////////////////////////////
+#ifdef _KNIGHTS_LANDING_
 #define NMC 6
 #define NEDC 8
-namespace Grid { 
 struct ctrs
 {
     uint64_t mcrd[NMC];
@@ -37,6 +40,7 @@ struct knl_gbl_
   int edc_missm[NEDC];
 };
 #endif
+///////////////////////////////////////////////////////////////////////////////
 
 class PmuStat
 {
@@ -95,6 +99,6 @@ public:
   };
 
 }
-
 #endif
 
+

From bd205a3293535f7be117ce04ca61a6e80223f174 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Wed, 12 Oct 2016 12:09:15 +0100
Subject: [PATCH 201/295] Fixing for non x86 and non KNL

---
 lib/Stat.cc | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/lib/Stat.cc b/lib/Stat.cc
index 9a025225..ed568517 100644
--- a/lib/Stat.cc
+++ b/lib/Stat.cc
@@ -11,6 +11,7 @@ bool PmuStat::pmu_initialized=false;
 
 void PmuStat::init(const char *regname)
 {
+#ifdef __x86_64__
   name = regname;
   if (!pmu_initialized)
     {
@@ -19,9 +20,11 @@ void PmuStat::init(const char *regname)
       pmu_init();
     }
   clear();
+#endif
 }
 void PmuStat::clear(void)
 {
+#ifdef __x86_64__
   count = 0;
   tregion = 0;
   pmc0 = 0;
@@ -32,9 +35,11 @@ void PmuStat::clear(void)
   tcycles = 0;
   reads = 0;
   writes = 0;
+#endif
 }
 void PmuStat::print(void)
 {
+#ifdef __x86_64__
   std::cout <<"Reg "<<std::string(name)<<":\n";
   std::cout <<"  region "<<tregion<<std::endl;
   std::cout <<"  cycles "<<tcycles<<std::endl;
@@ -46,34 +51,42 @@ void PmuStat::print(void)
   std::cout <<"  count  "<<count  <<std::endl;
   std::cout <<"  reads  "<<reads  <<std::endl;
   std::cout <<"  writes "<<writes <<std::endl;
+#endif
 }
 void PmuStat::start(void)
 {
+#ifdef __x86_64__
   pmu_start();
   ++count;
   xmemctrs(&mrstart, &mwstart);
   tstart = _rdtsc();
+#endif
 }
 void PmuStat::enter(int t)
 {
+#ifdef __x86_64__
   counters[0][t] = _rdpmc(0);
   counters[1][t] = _rdpmc(1);
   counters[2][t] = _rdpmc((1<<30)|0);
   counters[3][t] = _rdpmc((1<<30)|1);
   counters[4][t] = _rdpmc((1<<30)|2);
   counters[5][t] = _rdtsc();
+#endif
 }
 void PmuStat::exit(int t)
 {
+#ifdef __x86_64__
   counters[0][t] = _rdpmc(0) - counters[0][t];
   counters[1][t] = _rdpmc(1) - counters[1][t];
   counters[2][t] = _rdpmc((1<<30)|0) - counters[2][t];
   counters[3][t] = _rdpmc((1<<30)|1) - counters[3][t];
   counters[4][t] = _rdpmc((1<<30)|2) - counters[4][t];
   counters[5][t] = _rdtsc() - counters[5][t];
+#endif
 }
 void PmuStat::accum(int nthreads)
 {
+#ifdef __x86_64__
   tend = _rdtsc();
   xmemctrs(&mrend, &mwend);
   pmu_stop();
@@ -91,6 +104,7 @@ void PmuStat::accum(int nthreads)
   reads += mreads;
   uint64_t mwrites = mwend - mwstart;
   writes += mwrites;
+#endif
 }
 
 

From 6472b431f06079e3da8f50ea09d74e808d3fa661 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Wed, 12 Oct 2016 12:29:08 +0100
Subject: [PATCH 202/295] __rdpmc needed for gcc, clang++

---
 lib/Stat.cc | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/lib/Stat.cc b/lib/Stat.cc
index ed568517..7f2e4086 100644
--- a/lib/Stat.cc
+++ b/lib/Stat.cc
@@ -59,35 +59,35 @@ void PmuStat::start(void)
   pmu_start();
   ++count;
   xmemctrs(&mrstart, &mwstart);
-  tstart = _rdtsc();
+  tstart = __rdtsc();
 #endif
 }
 void PmuStat::enter(int t)
 {
 #ifdef __x86_64__
-  counters[0][t] = _rdpmc(0);
-  counters[1][t] = _rdpmc(1);
-  counters[2][t] = _rdpmc((1<<30)|0);
-  counters[3][t] = _rdpmc((1<<30)|1);
-  counters[4][t] = _rdpmc((1<<30)|2);
-  counters[5][t] = _rdtsc();
+  counters[0][t] = __rdpmc(0);
+  counters[1][t] = __rdpmc(1);
+  counters[2][t] = __rdpmc((1<<30)|0);
+  counters[3][t] = __rdpmc((1<<30)|1);
+  counters[4][t] = __rdpmc((1<<30)|2);
+  counters[5][t] = __rdtsc();
 #endif
 }
 void PmuStat::exit(int t)
 {
 #ifdef __x86_64__
-  counters[0][t] = _rdpmc(0) - counters[0][t];
-  counters[1][t] = _rdpmc(1) - counters[1][t];
-  counters[2][t] = _rdpmc((1<<30)|0) - counters[2][t];
-  counters[3][t] = _rdpmc((1<<30)|1) - counters[3][t];
-  counters[4][t] = _rdpmc((1<<30)|2) - counters[4][t];
-  counters[5][t] = _rdtsc() - counters[5][t];
+  counters[0][t] = __rdpmc(0) - counters[0][t];
+  counters[1][t] = __rdpmc(1) - counters[1][t];
+  counters[2][t] = __rdpmc((1<<30)|0) - counters[2][t];
+  counters[3][t] = __rdpmc((1<<30)|1) - counters[3][t];
+  counters[4][t] = __rdpmc((1<<30)|2) - counters[4][t];
+  counters[5][t] = __rdtsc() - counters[5][t];
 #endif
 }
 void PmuStat::accum(int nthreads)
 {
 #ifdef __x86_64__
-  tend = _rdtsc();
+  tend = __rdtsc();
   xmemctrs(&mrend, &mwend);
   pmu_stop();
   for (int t = 0; t < nthreads; ++t) {

From 8bbd9ebc270acb0aa277187d743644a0a5d818b0 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Wed, 12 Oct 2016 13:47:20 +0100
Subject: [PATCH 203/295] Reversing changes to Stencil class

---
 lib/Stat.h    | 2 +-
 lib/Stencil.h | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/Stat.h b/lib/Stat.h
index 553c4f8a..96bd594a 100644
--- a/lib/Stat.h
+++ b/lib/Stat.h
@@ -2,7 +2,7 @@
 #define _GRID_STAT_H
 
 #ifdef AVX512
-#define _KNIGHTS_LANDING_
+#define _KNIGHTS_LANDING_ROOTONLY
 #endif
 
 namespace Grid { 
diff --git a/lib/Stencil.h b/lib/Stencil.h
index 83aace54..72c55d0a 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -265,7 +265,7 @@
        }
        inline uint64_t GetInfo(int &ptype,int &local,int &perm,int point,int ent,uint64_t base) {
 	 //_mm_prefetch((char *)&_entries[ent+1],_MM_HINT_T0);
-	 uint64_t cbase = (uint64_t) & comm_buf[0];
+	 uint64_t cbase = (uint64_t) 0;
 	 local = _entries[ent]._is_local;
 	 perm  = _entries[ent]._permute;
 	 if (perm)  ptype = _permute_type[point]; 
@@ -273,7 +273,7 @@
 	 else       return cbase + _entries[ent]._byte_offset;
        }
        inline uint64_t GetPFInfo(int ent,uint64_t base) {
-	 uint64_t cbase =  (uint64_t)& comm_buf[0];
+	 uint64_t cbase =  (uint64_t) 0;
 	 int local = _entries[ent]._is_local;
 	 if (local) return  base + _entries[ent]._byte_offset;
 	 else       return cbase + _entries[ent]._byte_offset;

From 8b0d171c9af6e0569c7df8003f445b4b00dc9fdf Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Wed, 12 Oct 2016 17:49:32 +0100
Subject: [PATCH 204/295] 32bit issue on the KNL code variant where byte
 offsets were stored

---
 lib/Init.cc   |  6 +++---
 lib/Stencil.h | 19 +++++++++++--------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/lib/Init.cc b/lib/Init.cc
index 34e503a4..bd9638c3 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -246,15 +246,15 @@ void Grid_init(int *argc,char ***argv)
   std::cout <<std::endl;
   std::cout <<COL_RED  << "__|__|__|__|__"<<             "|__|__|_"<<COL_PURPLE<<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
   std::cout <<COL_RED  << "__|__|__|__|__"<<             "|__|__|_"<<COL_PURPLE<<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
-  std::cout <<COL_RED  << "__|__|  |  |  "<<             "|  |  | "<<COL_PURPLE<<" |  |  |"<<                "  |  |  | _|__"<<std::endl; 
-  std::cout <<COL_RED  << "__|__         "<<             "        "<<COL_PURPLE<<"        "<<                "          _|__"<<std::endl; 
+  std::cout <<COL_RED  << "__|_ |  |  |  "<<             "|  |  | "<<COL_PURPLE<<" |  |  |"<<                "  |  |  | _|__"<<std::endl; 
+  std::cout <<COL_RED  << "__|_          "<<             "        "<<COL_PURPLE<<"        "<<                "          _|__"<<std::endl; 
   std::cout <<COL_RED  << "__|_  "<<COL_GREEN<<" GGGG   "<<COL_RED<<" RRRR   "<<COL_BLUE  <<" III    "<<COL_PURPLE<<"DDDD  "<<COL_PURPLE<<"    _|__"<<std::endl;
   std::cout <<COL_RED  << "__|_  "<<COL_GREEN<<"G       "<<COL_RED<<" R   R  "<<COL_BLUE  <<"  I     "<<COL_PURPLE<<"D   D "<<COL_PURPLE<<"    _|__"<<std::endl;
   std::cout <<COL_RED  << "__|_  "<<COL_GREEN<<"G       "<<COL_RED<<" R   R  "<<COL_BLUE  <<"  I     "<<COL_PURPLE<<"D    D"<<COL_PURPLE<<"    _|__"<<std::endl;
   std::cout <<COL_BLUE << "__|_  "<<COL_GREEN<<"G  GG   "<<COL_RED<<" RRRR   "<<COL_BLUE  <<"  I     "<<COL_PURPLE<<"D    D"<<COL_GREEN <<"    _|__"<<std::endl;
   std::cout <<COL_BLUE << "__|_  "<<COL_GREEN<<"G   G   "<<COL_RED<<" R  R   "<<COL_BLUE  <<"  I     "<<COL_PURPLE<<"D   D "<<COL_GREEN <<"    _|__"<<std::endl;
   std::cout <<COL_BLUE << "__|_  "<<COL_GREEN<<" GGGG   "<<COL_RED<<" R   R  "<<COL_BLUE  <<" III    "<<COL_PURPLE<<"DDDD  "<<COL_GREEN <<"    _|__"<<std::endl;
-  std::cout <<COL_BLUE << "__|__         "<<             "        "<<COL_GREEN <<"        "<<                "          _|__"<<std::endl; 
+  std::cout <<COL_BLUE << "__|_          "<<             "        "<<COL_GREEN <<"        "<<                "          _|__"<<std::endl; 
   std::cout <<COL_BLUE << "__|__|__|__|__"<<             "|__|__|_"<<COL_GREEN <<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
   std::cout <<COL_BLUE << "__|__|__|__|__"<<             "|__|__|_"<<COL_GREEN <<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
   std::cout <<COL_BLUE << "  |  |  |  |  "<<             "|  |  | "<<COL_GREEN <<" |  |  |"<<                "  |  |  |  |  "<<std::endl; 
diff --git a/lib/Stencil.h b/lib/Stencil.h
index 72c55d0a..8282ba90 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -71,8 +71,8 @@
  namespace Grid {
 
    struct StencilEntry { 
-     uint32_t _offset;
-     uint32_t _byte_offset;
+     uint64_t _offset;
+     uint64_t _byte_offset;
      uint16_t _is_local;
      uint16_t _permute;
      uint32_t _around_the_world; //256 bits, 32 bytes, 1/2 cacheline
@@ -255,7 +255,8 @@
 	   if( _entries[i]._is_local ) {
 	     _entries[i]._byte_offset = _entries[i]._offset*sizeof(vobj);
 	   } else { 
-	     _entries[i]._byte_offset =(uint64_t)&comm_buf[0]+ _entries[i]._offset*sizeof(cobj);
+	     // PrecomputeByteOffsets [5] 16384/32768 140735768678528 140735781261056 2581581952
+	     _entries[i]._byte_offset = _entries[i]._offset*sizeof(cobj);
 	   }
 	 }
        };
@@ -264,16 +265,18 @@
 	 //	 _mm_prefetch((char *)&_entries[ent],_MM_HINT_T0);
        }
        inline uint64_t GetInfo(int &ptype,int &local,int &perm,int point,int ent,uint64_t base) {
-	 //_mm_prefetch((char *)&_entries[ent+1],_MM_HINT_T0);
-	 uint64_t cbase = (uint64_t) 0;
+	 uint64_t cbase = (uint64_t)&comm_buf[0];
 	 local = _entries[ent]._is_local;
 	 perm  = _entries[ent]._permute;
 	 if (perm)  ptype = _permute_type[point]; 
-	 if (local) return  base + _entries[ent]._byte_offset;
-	 else       return cbase + _entries[ent]._byte_offset;
+	 if (local) {
+	   return  base + _entries[ent]._byte_offset;
+	 } else {
+	   return cbase + _entries[ent]._byte_offset;
+	 }
        }
        inline uint64_t GetPFInfo(int ent,uint64_t base) {
-	 uint64_t cbase =  (uint64_t) 0;
+	 uint64_t cbase = (uint64_t)&comm_buf[0];
 	 int local = _entries[ent]._is_local;
 	 if (local) return  base + _entries[ent]._byte_offset;
 	 else       return cbase + _entries[ent]._byte_offset;

From c8079e6621bbdb048e45910dbd9d44faf324c886 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 13 Oct 2016 22:28:50 +0100
Subject: [PATCH 205/295] Time the face gateher in x-dir more carefully

---
 lib/Stencil.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 63 insertions(+), 3 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index 8282ba90..a47aa3ef 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -70,6 +70,60 @@
 
  namespace Grid {
 
+template<class vobj,class cobj,class compressor> void 
+Gather_plane_simple_stencil (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,int dimension,int plane,int cbmask,compressor &compress, int off=0,
+			     double &t_table ,double & t_data )
+{
+  int rd = rhs._grid->_rdimensions[dimension];
+
+  if ( !rhs._grid->CheckerBoarded(dimension) ) {
+    cbmask = 0x3;
+  }
+  
+  int so  = plane*rhs._grid->_ostride[dimension]; // base offset for start of plane 
+  
+  int e1=rhs._grid->_slice_nblock[dimension];
+  int e2=rhs._grid->_slice_block[dimension];
+
+  t_table = 0.0;
+  t_data  = 0.0;
+
+  int stride=rhs._grid->_slice_stride[dimension];
+  if ( cbmask == 0x3 ) { 
+  t_data-=usecond();
+PARALLEL_NESTED_LOOP2
+    for(int n=0;n<e1;n++){
+      for(int b=0;b<e2;b++){
+	int o  = n*stride;
+	int bo = n*e2;
+	buffer[off+bo+b]=compress(rhs._odata[so+o+b]);
+      }
+    }
+  t_data+=usecond();
+  } else { 
+     int bo=0;
+     t_table-=usecond();
+     std::vector<std::pair<int,int> > table;
+     for(int n=0;n<e1;n++){
+       for(int b=0;b<e2;b++){
+	 int o  = n*stride;
+	 int ocb=1<<rhs._grid->CheckerBoardFromOindexTable(o+b);
+	 if ( ocb &cbmask ) {
+	   table.push_back(std::pair<int,int> (bo++,o+b));
+	 }
+       }
+     }
+     t_table+=usecond();
+     t_data-=usecond();
+PARALLEL_FOR_LOOP     
+     for(int i=0;i<table.size();i++){
+       buffer[off+table[i].first]=compress(rhs._odata[so+table[i].second]);
+     }
+     t_data+=usecond();
+  }
+}
+
+
    struct StencilEntry { 
      uint64_t _offset;
      uint64_t _byte_offset;
@@ -102,8 +156,8 @@
 
        std::vector<Packet> Packets;
        
- #define SEND_IMMEDIATE
- #define SERIAL_SENDS
+#define SEND_IMMEDIATE
+#define SERIAL_SENDS
 
        void AddPacket(void *xmit,void * rcv, Integer to,Integer from,Integer bytes){
  #ifdef SEND_IMMEDIATE
@@ -305,6 +359,8 @@
        double gathermtime;
        double splicetime;
        double nosplicetime;
+       double t_data;
+       double t_table;
        double calls;
 
        void ZeroCounters(void) {
@@ -317,6 +373,8 @@
          gathermtime = 0.;
          splicetime = 0.;
          nosplicetime = 0.;
+	 t_data = 0.0;
+         t_table= 0.0;
          comms_bytes = 0.;
          calls = 0.;
        };
@@ -336,6 +394,8 @@
        PRINTIT(gathermtime);
        PRINTIT(splicetime);
        PRINTIT(nosplicetime);
+       PRINTIT(t_table);
+       PRINTIT(t_data);
 	 }
        };
  #endif
@@ -783,7 +843,7 @@
 	       int bytes = words * sizeof(cobj);
 
 	       gathertime-=usecond();
-	       Gather_plane_simple (rhs,u_send_buf,dimension,sx,cbmask,compress,u_comm_offset);
+	       Gather_plane_simple_stencil (rhs,u_send_buf,dimension,sx,cbmask,compress,u_comm_offset,t_table,t_data);
 	       gathertime+=usecond();
 
 	       int rank           = _grid->_processor;

From bc1a4d40ba71b9f4c474127d79e72e169fc0762a Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 17 Oct 2016 16:16:44 +0100
Subject: [PATCH 206/295] Faster integer handling avoid push_back

---
 lib/Stencil.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index a47aa3ef..910d16c5 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -71,7 +71,7 @@
  namespace Grid {
 
 template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple_stencil (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,int dimension,int plane,int cbmask,compressor &compress, int off=0,
+Gather_plane_simple_stencil (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,
 			     double &t_table ,double & t_data )
 {
   int rd = rhs._grid->_rdimensions[dimension];
@@ -103,20 +103,20 @@ PARALLEL_NESTED_LOOP2
   } else { 
      int bo=0;
      t_table-=usecond();
-     std::vector<std::pair<int,int> > table;
+     std::vector<std::pair<int,int> > table(e1*e2);
      for(int n=0;n<e1;n++){
        for(int b=0;b<e2;b++){
 	 int o  = n*stride;
 	 int ocb=1<<rhs._grid->CheckerBoardFromOindexTable(o+b);
 	 if ( ocb &cbmask ) {
-	   table.push_back(std::pair<int,int> (bo++,o+b));
+	   table[bo]=std::pair<int,int>(bo,o+b); bo++;
 	 }
        }
      }
      t_table+=usecond();
      t_data-=usecond();
 PARALLEL_FOR_LOOP     
-     for(int i=0;i<table.size();i++){
+     for(int i=0;i<bo;i++){
        buffer[off+table[i].first]=compress(rhs._odata[so+table[i].second]);
      }
      t_data+=usecond();

From 811ca45473f4fb9a4942057df7bc1e350df6f75c Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Mon, 17 Oct 2016 16:23:21 +0100
Subject: [PATCH 207/295] GNU clang hack for AVX512 since there are missing
 reduce intrinsics in Clang 3.9 and GCC-6 AVX512 support

---
 lib/simd/Grid_avx512.h | 62 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 61 insertions(+), 1 deletion(-)

diff --git a/lib/simd/Grid_avx512.h b/lib/simd/Grid_avx512.h
index b057a61b..821898d9 100644
--- a/lib/simd/Grid_avx512.h
+++ b/lib/simd/Grid_avx512.h
@@ -359,7 +359,67 @@ namespace Optimization {
 
   //////////////////////////////////////////////
   // Some Template specialization
+
+  // Hack for CLANG until mm512_reduce_add_ps etc... are implemented in GCC and Clang releases
+#undef GNU_CLANG_COMPILER 
+#ifdef GNU_CLANG_COMPILER
+  //Complex float Reduce
+  template<>
+    inline Grid::ComplexF Reduce<Grid::ComplexF, __m512>::operator()(__m512 in){
+    __m512 v1,v2;
+    v1=Optimization::Permute::Permute0(in); // avx 512; quad complex single
+    v1= _mm512_add_ps(v1,in);
+    v2=Optimization::Permute::Permute1(v1); 
+    v1 = _mm512_add_ps(v1,v2);
+    v2=Optimization::Permute::Permute2(v1); 
+    v1 = _mm512_add_ps(v1,v2);
+    u512f conv; conv.v = v1;
+    return Grid::ComplexF(conv.f[0],conv.f[1]);
+  }
   
+  //Real float Reduce
+  template<>
+    inline Grid::RealF Reduce<Grid::RealF, __m512>::operator()(__m512 in){
+    __m512 v1,v2;
+    v1 = Optimization::Permute::Permute0(in); // avx 512; octo-double
+    v1 = _mm512_add_ps(v1,in);
+    v2 = Optimization::Permute::Permute1(v1); 
+    v1 = _mm512_add_ps(v1,v2);
+    v2 = Optimization::Permute::Permute2(v1); 
+    v1 = _mm512_add_ps(v1,v2);
+    v2 = Optimization::Permute::Permute3(v1); 
+    v1 = _mm512_add_ps(v1,v2);
+    u512f conv; conv.v=v1;
+    return conv.f[0];
+  }
+  
+  
+  //Complex double Reduce
+  template<>
+    inline Grid::ComplexD Reduce<Grid::ComplexD, __m512d>::operator()(__m512d in){
+    __m512d v1;
+    v1 = Optimization::Permute::Permute0(in); // sse 128; paired complex single
+    v1 = _mm512_add_pd(v1,in);
+    v1 = Optimization::Permute::Permute1(in); // sse 128; paired complex single
+    v1 = _mm512_add_pd(v1,in);
+    u512d conv; conv.v = v1;
+    return Grid::ComplexD(conv.f[0],conv.f[1]);
+  }
+  
+  //Real double Reduce
+  template<>
+    inline Grid::RealD Reduce<Grid::RealD, __m512d>::operator()(__m512d in){
+    __m512d v1,v2;
+    v1 = Optimization::Permute::Permute0(in); // avx 512; quad double
+    v1 = _mm512_add_pd(v1,in);
+      v2 = Optimization::Permute::Permute1(v1); 
+      v1 = _mm512_add_pd(v1,v2);
+      v2 = Optimization::Permute::Permute2(v1); 
+      v1 = _mm512_add_pd(v1,v2);
+     u512d conv; conv.v = v1;
+     return conv.f[0];
+  }
+#else
   //Complex float Reduce
   template<>
   inline Grid::ComplexF Reduce<Grid::ComplexF, __m512>::operator()(__m512 in){
@@ -371,7 +431,6 @@ namespace Optimization {
     return _mm512_reduce_add_ps(in);
   }
   
-  
   //Complex double Reduce
   template<>
   inline Grid::ComplexD Reduce<Grid::ComplexD, __m512d>::operator()(__m512d in){
@@ -391,6 +450,7 @@ namespace Optimization {
     printf("Reduce : Missing integer implementation -> FIX\n");
     assert(0);
   }
+#endif
   
   
 }

From 7af9b8731847667eaf3b2e33a2457b977a7254ae Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Tue, 18 Oct 2016 09:51:37 +0100
Subject: [PATCH 208/295] Cache face tables to improve performance. Extract
 merge now looking poor.

---
 lib/Stencil.h | 118 +++++++++++++++++++++++++++++++-------------------
 1 file changed, 73 insertions(+), 45 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index 910d16c5..db608fe7 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -71,39 +71,31 @@
  namespace Grid {
 
 template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple_stencil (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,
-			     double &t_table ,double & t_data )
+Gather_plane_simple_table_compute (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,std::vector<std::pair<int,int> >& table)
 {
+  table.resize(0);
   int rd = rhs._grid->_rdimensions[dimension];
 
   if ( !rhs._grid->CheckerBoarded(dimension) ) {
     cbmask = 0x3;
   }
-  
-  int so  = plane*rhs._grid->_ostride[dimension]; // base offset for start of plane 
-  
+  int so= plane*rhs._grid->_ostride[dimension]; // base offset for start of plane 
   int e1=rhs._grid->_slice_nblock[dimension];
   int e2=rhs._grid->_slice_block[dimension];
 
-  t_table = 0.0;
-  t_data  = 0.0;
-
   int stride=rhs._grid->_slice_stride[dimension];
   if ( cbmask == 0x3 ) { 
-  t_data-=usecond();
-PARALLEL_NESTED_LOOP2
+    table.resize(e1*e2);
     for(int n=0;n<e1;n++){
       for(int b=0;b<e2;b++){
 	int o  = n*stride;
 	int bo = n*e2;
-	buffer[off+bo+b]=compress(rhs._odata[so+o+b]);
+	table[bo+b]=std::pair<int,int>(bo+b,o+b);
       }
     }
-  t_data+=usecond();
   } else { 
      int bo=0;
-     t_table-=usecond();
-     std::vector<std::pair<int,int> > table(e1*e2);
+     table.resize(e1*e2/2);
      for(int n=0;n<e1;n++){
        for(int b=0;b<e2;b++){
 	 int o  = n*stride;
@@ -113,16 +105,31 @@ PARALLEL_NESTED_LOOP2
 	 }
        }
      }
-     t_table+=usecond();
-     t_data-=usecond();
-PARALLEL_FOR_LOOP     
-     for(int i=0;i<bo;i++){
-       buffer[off+table[i].first]=compress(rhs._odata[so+table[i].second]);
-     }
-     t_data+=usecond();
   }
 }
 
+template<class vobj,class cobj,class compressor> void 
+Gather_plane_simple_table (std::vector<std::pair<int,int> >& table,const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,
+			   compressor &compress, int off,int so)
+{
+PARALLEL_FOR_LOOP     
+     for(int i=0;i<table.size();i++){
+       buffer[off+table[i].first]=compress(rhs._odata[so+table[i].second]);
+     }
+}
+
+template<class vobj,class cobj,class compressor> void 
+Gather_plane_simple_stencil (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,
+			     double &t_table ,double & t_data )
+{
+  std::vector<std::pair<int,int> > table;
+  Gather_plane_simple_table_compute (rhs, buffer,dimension,plane,cbmask,compress,off,table);
+  int so  = plane*rhs._grid->_ostride[dimension]; // base offset for start of plane 
+  Gather_plane_simple_table         (table,rhs,buffer,compress,off,so);
+}
+
+
+
 
    struct StencilEntry { 
      uint64_t _offset;
@@ -155,6 +162,9 @@ PARALLEL_FOR_LOOP
        };
 
        std::vector<Packet> Packets;
+
+       int face_table_computed;
+       std::vector<std::vector<std::pair<int,int> > > face_table ;
        
 #define SEND_IMMEDIATE
 #define SERIAL_SENDS
@@ -383,19 +393,22 @@ PARALLEL_FOR_LOOP
 #define PRINTIT(A)	\
  std::cout << GridLogMessage << " Stencil " << #A << " "<< A/calls<<std::endl;
 	 if ( calls > 0. ) {
- std::cout << GridLogMessage << " Stencil calls "<<calls<<std::endl;
-       PRINTIT(jointime);
-       PRINTIT(gathertime);
-       PRINTIT(commtime);
-       PRINTIT(halogtime);
-       PRINTIT(mergetime);
-       PRINTIT(spintime);
-       PRINTIT(comms_bytes);
-       PRINTIT(gathermtime);
-       PRINTIT(splicetime);
-       PRINTIT(nosplicetime);
-       PRINTIT(t_table);
-       PRINTIT(t_data);
+	   std::cout << GridLogMessage << " Stencil calls "<<calls<<std::endl;
+	   PRINTIT(halogtime);
+	   PRINTIT(gathertime);
+	   PRINTIT(gathermtime);
+	   PRINTIT(mergetime);
+	   if(comms_bytes>1.0){
+	     PRINTIT(comms_bytes);
+	     PRINTIT(commtime);
+	     std::cout << GridLogMessage << " Stencil " << comms_bytes/commtime/1000. << " GB/s "<<std::endl;
+	   }
+	   PRINTIT(jointime);
+	   PRINTIT(spintime);
+	   PRINTIT(splicetime);
+	   PRINTIT(nosplicetime);
+	   PRINTIT(t_table);
+	   PRINTIT(t_data);
 	 }
        };
  #endif
@@ -407,6 +420,7 @@ PARALLEL_FOR_LOOP
 				      const std::vector<int> &distances) 
      :   _permute_type(npoints), _comm_buf_size(npoints)
      {
+       face_table_computed=0;
        _npoints = npoints;
        _grid    = grid;
        _directions = directions;
@@ -734,7 +748,7 @@ PARALLEL_FOR_LOOP
        }
 #endif
        template<class compressor>
-       void HaloGatherDir(const Lattice<vobj> &source,compressor &compress,int point)
+       void HaloGatherDir(const Lattice<vobj> &source,compressor &compress,int point,int & face_idx)
        {
 	   int dimension    = _directions[point];
 	   int displacement = _distances[point];
@@ -762,23 +776,23 @@ PARALLEL_FOR_LOOP
 	     if ( sshift[0] == sshift[1] ) {
 	       if (splice_dim) {
 		 splicetime-=usecond();
-		 GatherSimd(source,dimension,shift,0x3,compress);
+		 GatherSimd(source,dimension,shift,0x3,compress,face_idx);
 		 splicetime+=usecond();
 	       } else { 
 		 nosplicetime-=usecond();
-		 Gather(source,dimension,shift,0x3,compress);
+		 Gather(source,dimension,shift,0x3,compress,face_idx);
 		 nosplicetime+=usecond();
 	       }
 	     } else {
 	       if(splice_dim){
 		 splicetime-=usecond();
-		 GatherSimd(source,dimension,shift,0x1,compress);// if checkerboard is unfavourable take two passes
-		 GatherSimd(source,dimension,shift,0x2,compress);// both with block stride loop iteration
+		 GatherSimd(source,dimension,shift,0x1,compress,face_idx);// if checkerboard is unfavourable take two passes
+		 GatherSimd(source,dimension,shift,0x2,compress,face_idx);// both with block stride loop iteration
 		 splicetime+=usecond();
 	       } else {
 		 nosplicetime-=usecond();
-		 Gather(source,dimension,shift,0x1,compress);
-		 Gather(source,dimension,shift,0x2,compress);
+		 Gather(source,dimension,shift,0x1,compress,face_idx);
+		 Gather(source,dimension,shift,0x2,compress,face_idx);
 		 nosplicetime+=usecond();
 	       }
 	     }
@@ -796,17 +810,19 @@ PARALLEL_FOR_LOOP
 	 u_comm_offset=0;
 
 	 // Gather all comms buffers
+	 int face_idx=0;
 	 for(int point = 0 ; point < _npoints; point++) {
 	   compress.Point(point);
-	   HaloGatherDir(source,compress,point);
+	   HaloGatherDir(source,compress,point,face_idx);
 	 }
+	 face_table_computed=1;
 
 	 assert(u_comm_offset==_unified_buffer_size);
 	 halogtime+=usecond();
        }
 
        template<class compressor>
-	 void Gather(const Lattice<vobj> &rhs,int dimension,int shift,int cbmask,compressor & compress)
+	 void Gather(const Lattice<vobj> &rhs,int dimension,int shift,int cbmask,compressor & compress,int &face_idx)
 	 {
 	   typedef typename cobj::vector_type vector_type;
 	   typedef typename cobj::scalar_type scalar_type;
@@ -843,8 +859,20 @@ PARALLEL_FOR_LOOP
 	       int bytes = words * sizeof(cobj);
 
 	       gathertime-=usecond();
-	       Gather_plane_simple_stencil (rhs,u_send_buf,dimension,sx,cbmask,compress,u_comm_offset,t_table,t_data);
+	       int so  = sx*rhs._grid->_ostride[dimension]; // base offset for start of plane 
+	       if ( !face_table_computed ) {
+		 t_table-=usecond();
+		 face_table.resize(face_idx+1);
+		 Gather_plane_simple_table_compute (rhs,u_send_buf,dimension,sx,cbmask,compress,u_comm_offset,face_table[face_idx]);
+		 t_table+=usecond();
+	       }
+	       t_data-=usecond();
+	       Gather_plane_simple_table         (face_table[face_idx],rhs,u_send_buf,compress,u_comm_offset,so);
+	       face_idx++;
+	       t_data+=usecond();
 	       gathertime+=usecond();
+	       
+	       //	       Gather_plane_simple_stencil (rhs,u_send_buf,dimension,sx,cbmask,compress,u_comm_offset,t_table,t_data);
 
 	       int rank           = _grid->_processor;
 	       int recv_from_rank;
@@ -867,7 +895,7 @@ PARALLEL_FOR_LOOP
 
 
        template<class compressor>
-	 void  GatherSimd(const Lattice<vobj> &rhs,int dimension,int shift,int cbmask,compressor &compress)
+	 void  GatherSimd(const Lattice<vobj> &rhs,int dimension,int shift,int cbmask,compressor &compress,int & face_idx)
 	 {
 	   const int Nsimd = _grid->Nsimd();
 

From 3cbe974eb48eb6ee97cb420b08475beeda5cc71b Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:55:21 +0100
Subject: [PATCH 209/295] Layout

---
 lib/tensors/Tensor_extract_merge.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/lib/tensors/Tensor_extract_merge.h b/lib/tensors/Tensor_extract_merge.h
index 41a431ad..a32d3785 100644
--- a/lib/tensors/Tensor_extract_merge.h
+++ b/lib/tensors/Tensor_extract_merge.h
@@ -250,8 +250,7 @@ void merge(vobj &vec,std::vector<typename vobj::scalar_object *> &extracted,int
   }
  }
 
-template<class vobj> inline 
-void merge1(vobj &vec,std::vector<typename vobj::scalar_object *> &extracted,int offset)
+template<class vobj> inline void merge1(vobj &vec,std::vector<typename vobj::scalar_object *> &extracted,int offset)
 {
   typedef typename vobj::scalar_type scalar_type ;
   typedef typename vobj::vector_type vector_type ;
@@ -269,8 +268,7 @@ void merge1(vobj &vec,std::vector<typename vobj::scalar_object *> &extracted,int
   }}
 }
 
-template<class vobj> inline 
-void merge2(vobj &vec,std::vector<typename vobj::scalar_object *> &extracted,int offset)
+template<class vobj> inline void merge2(vobj &vec,std::vector<typename vobj::scalar_object *> &extracted,int offset)
 {
   typedef typename vobj::scalar_type scalar_type ;
   typedef typename vobj::vector_type vector_type ;

From 8c043da5b7dd583c79e0b540277060e6311d27cc Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:56:05 +0100
Subject: [PATCH 210/295] SHMEM and comms allocator made different

---
 lib/AlignedAllocator.h | 130 ++++++++++++++++++++++++++++-------------
 1 file changed, 88 insertions(+), 42 deletions(-)

diff --git a/lib/AlignedAllocator.h b/lib/AlignedAllocator.h
index 8f69971d..d0de1ec3 100644
--- a/lib/AlignedAllocator.h
+++ b/lib/AlignedAllocator.h
@@ -40,14 +40,6 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #include <mm_malloc.h>
 #endif
 
-#ifdef GRID_COMMS_SHMEM
-extern "C" { 
-#include <mpp/shmem.h>
-extern void * shmem_align(size_t, size_t);
-extern void  shmem_free(void *);
-}
-#endif
-
 namespace Grid {
 
 ////////////////////////////////////////////////////////////////////
@@ -65,28 +57,81 @@ public:
   typedef _Tp        value_type;
 
   template<typename _Tp1>  struct rebind { typedef alignedAllocator<_Tp1> other; };
-
   alignedAllocator() throw() { }
-
   alignedAllocator(const alignedAllocator&) throw() { }
-
   template<typename _Tp1> alignedAllocator(const alignedAllocator<_Tp1>&) throw() { }
-
   ~alignedAllocator() throw() { }
-
   pointer       address(reference __x)       const { return &__x; }
-  //  const_pointer address(const_reference __x) const { return &__x; }
-
   size_type  max_size() const throw() { return size_t(-1) / sizeof(_Tp); }
 
   pointer allocate(size_type __n, const void* _p= 0)
   { 
+#ifdef HAVE_MM_MALLOC_H
+    _Tp * ptr = (_Tp *) _mm_malloc(__n*sizeof(_Tp),128);
+#else
+    _Tp * ptr = (_Tp *) memalign(128,__n*sizeof(_Tp));
+#endif
+
+    _Tp tmp;
+#ifdef GRID_NUMA
+#pragma omp parallel for schedule(static)
+  for(int i=0;i<__n;i++){
+    ptr[i]=tmp;
+  }
+#endif 
+    return ptr;
+  }
+
+  void deallocate(pointer __p, size_type) { 
+#ifdef HAVE_MM_MALLOC_H
+    _mm_free((void *)__p); 
+#else
+    free((void *)__p);
+#endif
+  }
+  void construct(pointer __p, const _Tp& __val) { };
+  void construct(pointer __p) { };
+  void destroy(pointer __p) { };
+};
+template<typename _Tp>  inline bool operator==(const alignedAllocator<_Tp>&, const alignedAllocator<_Tp>&){ return true; }
+template<typename _Tp>  inline bool operator!=(const alignedAllocator<_Tp>&, const alignedAllocator<_Tp>&){ return false; }
+
+//////////////////////////////////////////////////////////////////////////////////////////
+// MPI3 : comms must use shm region
+// SHMEM: comms must use symmetric heap
+//////////////////////////////////////////////////////////////////////////////////////////
 #ifdef GRID_COMMS_SHMEM
-
-    _Tp *ptr = (_Tp *) shmem_align(__n*sizeof(_Tp),64);
-
-
+extern "C" { 
+#include <mpp/shmem.h>
+extern void * shmem_align(size_t, size_t);
+extern void  shmem_free(void *);
+}
 #define PARANOID_SYMMETRIC_HEAP
+#endif
+
+template<typename _Tp>
+class commAllocator {
+public: 
+  typedef std::size_t     size_type;
+  typedef std::ptrdiff_t  difference_type;
+  typedef _Tp*       pointer;
+  typedef const _Tp* const_pointer;
+  typedef _Tp&       reference;
+  typedef const _Tp& const_reference;
+  typedef _Tp        value_type;
+
+  template<typename _Tp1>  struct rebind { typedef commAllocator<_Tp1> other; };
+  commAllocator() throw() { }
+  commAllocator(const commAllocator&) throw() { }
+  template<typename _Tp1> commAllocator(const commAllocator<_Tp1>&) throw() { }
+  ~commAllocator() throw() { }
+  pointer       address(reference __x)       const { return &__x; }
+  size_type  max_size() const throw() { return size_t(-1) / sizeof(_Tp); }
+
+#ifdef GRID_COMMS_SHMEM
+  pointer allocate(size_type __n, const void* _p= 0)
+  { 
+    _Tp *ptr = (_Tp *) shmem_align(__n*sizeof(_Tp),64);
 #ifdef PARANOID_SYMMETRIC_HEAP
     static void * bcast;
     static long  psync[_SHMEM_REDUCE_SYNC_SIZE];
@@ -99,51 +144,52 @@ public:
       BACKTRACEFILE();
       exit(0);
     }
-
     assert( bcast == (void *) ptr);
-
 #endif 
+    return ptr;
+  }
+  void deallocate(pointer __p, size_type) { 
+    shmem_free((void *)__p);
+  }
+#elif defined(GRID_COMMS_MPI3)
+  pointer allocate(size_type __n, const void* _p= 0)
+  { 
+#error "implement MPI3 windowed allocate"
+    
+  }
+  void deallocate(pointer __p, size_type) { 
+#error "implement MPI3 windowed allocate"
+  }
 #else
-
+  pointer allocate(size_type __n, const void* _p= 0)
 #ifdef HAVE_MM_MALLOC_H
     _Tp * ptr = (_Tp *) _mm_malloc(__n*sizeof(_Tp),128);
 #else
     _Tp * ptr = (_Tp *) memalign(128,__n*sizeof(_Tp));
 #endif
-
-#endif
-    _Tp tmp;
-#ifdef GRID_NUMA
-#pragma omp parallel for schedule(static)
-  for(int i=0;i<__n;i++){
-    ptr[i]=tmp;
-  }
-#endif 
     return ptr;
   }
-
   void deallocate(pointer __p, size_type) { 
-#ifdef GRID_COMMS_SHMEM
-    shmem_free((void *)__p);
-#else
 #ifdef HAVE_MM_MALLOC_H
     _mm_free((void *)__p); 
 #else
     free((void *)__p);
-#endif
 #endif
   }
+#endif
   void construct(pointer __p, const _Tp& __val) { };
   void construct(pointer __p) { };
-
   void destroy(pointer __p) { };
 };
+template<typename _Tp>  inline bool operator==(const commAllocator<_Tp>&, const commAllocator<_Tp>&){ return true; }
+template<typename _Tp>  inline bool operator!=(const commAllocator<_Tp>&, const commAllocator<_Tp>&){ return false; }
 
-template<typename _Tp>  inline bool
-operator==(const alignedAllocator<_Tp>&, const alignedAllocator<_Tp>&){ return true; }
-
-template<typename _Tp>  inline bool
-operator!=(const alignedAllocator<_Tp>&, const alignedAllocator<_Tp>&){ return false; }
+////////////////////////////////////////////////////////////////////////////////
+// Template typedefs
+////////////////////////////////////////////////////////////////////////////////
+template<class T> using Vector    = std::vector<T,alignedAllocator<T> >;           
+template<class T> using commVector = std::vector<T,commAllocator<T> >;              
+template<class T> using Matrix = std::vector<std::vector<T,alignedAllocator<T> > >;
     
 }; // namespace Grid
 #endif

From 39f1c880b8172b0354064e4971a27e3cf3aef3d6 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:56:40 +0100
Subject: [PATCH 211/295] mpi3

---
 configure.ac | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/configure.ac b/configure.ac
index 7bcdc49f..d6340a71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -244,6 +244,9 @@ case ${ac_COMMS} in
      mpi)
        AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
      ;;
+     mpi3)
+       AC_DEFINE([GRID_COMMS_MPI3],[1],[GRID_COMMS_MPI3] )
+     ;;
      shmem)
        AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
      ;;
@@ -253,6 +256,7 @@ case ${ac_COMMS} in
 esac
 AM_CONDITIONAL(BUILD_COMMS_SHMEM,[ test "X${ac_COMMS}X" == "XshmemX" ])
 AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" || test "X${ac_COMMS}X" == "Xmpi-autoX" ])
+AM_CONDITIONAL(BUILD_COMMS_MPI3,[ test "X${ac_COMMS}X" == "Xmpi3X"] )
 AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
 
 ############### RNG selection

From 4955672fc369baa88c83708838b8aef5502f8399 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:57:00 +0100
Subject: [PATCH 212/295] MPI3

---
 lib/Cshift.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/Cshift.h b/lib/Cshift.h
index bbc56cae..4eeb6cea 100644
--- a/lib/Cshift.h
+++ b/lib/Cshift.h
@@ -38,6 +38,10 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #include <Grid/cshift/Cshift_mpi.h>
 #endif 
 
+#ifdef GRID_COMMS_MPI3
+#include <Grid/cshift/Cshift_mpi.h>
+#endif 
+
 #ifdef GRID_COMMS_SHMEM
 #include <Grid/cshift/Cshift_mpi.h> // uses same implementation of communicator
 #endif 

From cbcfea466f75f185a171ffe529b9a14b7938aff3 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:57:14 +0100
Subject: [PATCH 213/295] MPI3

---
 lib/Makefile.am | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/Makefile.am b/lib/Makefile.am
index bc752af5..35e76cc8 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -3,6 +3,10 @@ if BUILD_COMMS_MPI
   extra_sources+=communicator/Communicator_mpi.cc
 endif
 
+if BUILD_COMMS_MPI3
+  extra_sources+=communicator/Communicator_mpi3.cc
+endif
+
 if BUILD_COMMS_SHMEM
   extra_sources+=communicator/Communicator_shmem.cc
 endif

From c7cccaaa69e7888db33fe8c8c82612da43dee15c Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:57:31 +0100
Subject: [PATCH 214/295] Comm vector for shmem

---
 lib/Stencil.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index db608fe7..65de9945 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -71,7 +71,7 @@
  namespace Grid {
 
 template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple_table_compute (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,std::vector<std::pair<int,int> >& table)
+Gather_plane_simple_table_compute (const Lattice<vobj> &rhs,commVector<cobj> &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,std::vector<std::pair<int,int> >& table)
 {
   table.resize(0);
   int rd = rhs._grid->_rdimensions[dimension];
@@ -109,7 +109,7 @@ Gather_plane_simple_table_compute (const Lattice<vobj> &rhs,std::vector<cobj,ali
 }
 
 template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple_table (std::vector<std::pair<int,int> >& table,const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,
+Gather_plane_simple_table (std::vector<std::pair<int,int> >& table,const Lattice<vobj> &rhs,commVector<cobj> &buffer,
 			   compressor &compress, int off,int so)
 {
 PARALLEL_FOR_LOOP     
@@ -119,7 +119,7 @@ PARALLEL_FOR_LOOP
 }
 
 template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple_stencil (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,
+Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,
 			     double &t_table ,double & t_data )
 {
   std::vector<std::pair<int,int> > table;
@@ -347,10 +347,10 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,std::vector<cobj,alignedAl
        }
 
        // Comms buffers
-       std::vector<Vector<scalar_object> > u_simd_send_buf;
-       std::vector<Vector<scalar_object> > u_simd_recv_buf;
-       Vector<cobj>          u_send_buf;
-       Vector<cobj>          comm_buf;
+       std::vector<commVector<scalar_object> > u_simd_send_buf;
+       std::vector<commVector<scalar_object> > u_simd_recv_buf;
+       commVector<cobj>          u_send_buf;
+       commVector<cobj>          comm_buf;
        int u_comm_offset;
        int _unified_buffer_size;
 

From 5fe2b85cbd951e2a0137e8ce291f0556bbb091ea Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:58:01 +0100
Subject: [PATCH 215/295] MPI3 and shared memory support

---
 lib/communicator/Communicator_base.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index 94d277e9..9b5ae8cb 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -34,6 +34,9 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifdef GRID_COMMS_MPI
 #include <mpi.h>
 #endif
+#ifdef GRID_COMMS_MPI3
+#include <mpi.h>
+#endif
 #ifdef GRID_COMMS_SHMEM
 #include <mpp/shmem.h>
 #endif
@@ -52,6 +55,29 @@ class CartesianCommunicator {
 #ifdef GRID_COMMS_MPI
     MPI_Comm communicator;
     typedef MPI_Request CommsRequest_t;
+#elif  GRID_COMMS_MPI3
+    MPI_Comm communicator;
+    typedef MPI_Request CommsRequest_t;
+
+    const int MAXLOG2RANKSPERNODE = 16; // 65536 ranks per node adequate for now
+
+    std::vector<int>  WorldDims;
+    std::vector<int>  GroupDims;
+    std::vector<int>  ShmDims;
+
+    std::vector<int> GroupCoor;
+    std::vector<int> ShmCoor;
+    std::vector<int> WorldCoor;
+
+    int GroupRank;
+    int ShmRank;
+    int WorldRank;
+
+    int GroupSize;
+    int ShmSize;
+    int WorldSize;
+
+    std::vector<int>  LexicographicToWorldRank;
 #else 
     typedef int CommsRequest_t;
 #endif

From 9b39f35ae6c3942f21541745cb50b79ec8077981 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:58:53 +0100
Subject: [PATCH 216/295] commVector different for SHMEM compat

---
 lib/cshift/Cshift_common.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/cshift/Cshift_common.h b/lib/cshift/Cshift_common.h
index b0e9b798..2b146daa 100644
--- a/lib/cshift/Cshift_common.h
+++ b/lib/cshift/Cshift_common.h
@@ -45,7 +45,7 @@ public:
 // Gather for when there is no need to SIMD split with compression
 ///////////////////////////////////////////////////////////////////
 template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple (const Lattice<vobj> &rhs,std::vector<cobj,alignedAllocator<cobj> > &buffer,int dimension,int plane,int cbmask,compressor &compress, int off=0)
+Gather_plane_simple (const Lattice<vobj> &rhs,commVector<cobj> &buffer,int dimension,int plane,int cbmask,compressor &compress, int off=0)
 {
   int rd = rhs._grid->_rdimensions[dimension];
 
@@ -114,6 +114,7 @@ PARALLEL_NESTED_LOOP2
 	int o      =   n*n1;
 	int offset = b+n*n2;
 	cobj temp =compress(rhs._odata[so+o+b]);
+
 	extract<cobj>(temp,pointers,offset);
 
       }
@@ -121,6 +122,7 @@ PARALLEL_NESTED_LOOP2
   } else { 
 
     assert(0); //Fixme think this is buggy
+
     for(int n=0;n<e1;n++){
       for(int b=0;b<e2;b++){
 	int o=n*rhs._grid->_slice_stride[dimension];
@@ -139,7 +141,7 @@ PARALLEL_NESTED_LOOP2
 //////////////////////////////////////////////////////
 // Gather for when there is no need to SIMD split
 //////////////////////////////////////////////////////
-template<class vobj> void Gather_plane_simple (const Lattice<vobj> &rhs,std::vector<vobj,alignedAllocator<vobj> > &buffer,             int dimension,int plane,int cbmask)
+template<class vobj> void Gather_plane_simple (const Lattice<vobj> &rhs,commVector<vobj> &buffer, int dimension,int plane,int cbmask)
 {
   SimpleCompressor<vobj> dontcompress;
   Gather_plane_simple (rhs,buffer,dimension,plane,cbmask,dontcompress);
@@ -157,7 +159,7 @@ template<class vobj> void Gather_plane_extract(const Lattice<vobj> &rhs,std::vec
 //////////////////////////////////////////////////////
 // Scatter for when there is no need to SIMD split
 //////////////////////////////////////////////////////
-template<class vobj> void Scatter_plane_simple (Lattice<vobj> &rhs,std::vector<vobj,alignedAllocator<vobj> > &buffer, int dimension,int plane,int cbmask)
+template<class vobj> void Scatter_plane_simple (Lattice<vobj> &rhs,commVector<vobj> &buffer, int dimension,int plane,int cbmask)
 {
   int rd = rhs._grid->_rdimensions[dimension];
 

From 4f8e636a438007a14ff95b2e59fe6297a6c38283 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:59:16 +0100
Subject: [PATCH 217/295] commVector

---
 lib/cshift/Cshift_mpi.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/cshift/Cshift_mpi.h b/lib/cshift/Cshift_mpi.h
index 704fda34..b3c07cd6 100644
--- a/lib/cshift/Cshift_mpi.h
+++ b/lib/cshift/Cshift_mpi.h
@@ -119,8 +119,8 @@ template<class vobj> void Cshift_comms(Lattice<vobj> &ret,const Lattice<vobj> &r
   assert(shift<fd);
   
   int buffer_size = rhs._grid->_slice_nblock[dimension]*rhs._grid->_slice_block[dimension];
-  std::vector<vobj,alignedAllocator<vobj> > send_buf(buffer_size);
-  std::vector<vobj,alignedAllocator<vobj> > recv_buf(buffer_size);
+  commVector<vobj> send_buf(buffer_size);
+  commVector<vobj> recv_buf(buffer_size);
 
   int cb= (cbmask==0x2)? Odd : Even;
   int sshift= rhs._grid->CheckerBoardShiftForCB(rhs.checkerboard,dimension,shift,cb);
@@ -191,8 +191,8 @@ template<class vobj> void  Cshift_comms_simd(Lattice<vobj> &ret,const Lattice<vo
   int buffer_size = grid->_slice_nblock[dimension]*grid->_slice_block[dimension];
   int words = sizeof(vobj)/sizeof(vector_type);
 
-  std::vector<Vector<scalar_object> >   send_buf_extract(Nsimd,Vector<scalar_object>(buffer_size) );
-  std::vector<Vector<scalar_object> >   recv_buf_extract(Nsimd,Vector<scalar_object>(buffer_size) );
+  std::vector<commVector<scalar_object> >   send_buf_extract(Nsimd,commVector<scalar_object>(buffer_size) );
+  std::vector<commVector<scalar_object> >   recv_buf_extract(Nsimd,commVector<scalar_object>(buffer_size) );
 
   int bytes = buffer_size*sizeof(scalar_object);
 

From f9d5e95d72291c54a5be219e9a3333e9296a45da Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 16:59:39 +0100
Subject: [PATCH 218/295] allocator template typedefs moved to AlignedAllocator

---
 lib/lattice/Lattice_base.h | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/lib/lattice/Lattice_base.h b/lib/lattice/Lattice_base.h
index 3bfa5613..e04c1443 100644
--- a/lib/lattice/Lattice_base.h
+++ b/lib/lattice/Lattice_base.h
@@ -65,9 +65,6 @@ public:
     
 class LatticeExpressionBase {};
 
-template<class T> using Vector = std::vector<T,alignedAllocator<T> >;               // Aligned allocator??
-template<class T> using Matrix = std::vector<std::vector<T,alignedAllocator<T> > >; // Aligned allocator??
-
 template <typename Op, typename T1>                           
 class LatticeUnaryExpression  : public std::pair<Op,std::tuple<T1> > , public LatticeExpressionBase {
  public:

From b58adc6a4bbfa461acb8cdc3d90133ea04ecc35f Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 17:00:15 +0100
Subject: [PATCH 219/295] commVector

---
 lib/communicator/Communicator_mpi3.cc       | 358 ++++++++++++++++++++
 lib/qcd/action/fermion/WilsonKernels.cc     |   6 +-
 lib/qcd/action/fermion/WilsonKernels.h      |  22 +-
 lib/qcd/action/fermion/WilsonKernelsAsm.cc  |  16 +-
 lib/qcd/action/fermion/WilsonKernelsHand.cc |  16 +-
 5 files changed, 388 insertions(+), 30 deletions(-)
 create mode 100644 lib/communicator/Communicator_mpi3.cc

diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
new file mode 100644
index 00000000..11734fd9
--- /dev/null
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -0,0 +1,358 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/communicator/Communicator_mpi.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include "Grid.h"
+#include <mpi.h>
+
+namespace Grid {
+
+// Global used by Init and nowhere else. How to hide?
+int Rank(void) {
+  int pe;
+  MPI_Comm_rank(MPI_COMM_WORLD,&pe);
+  return pe;
+}
+  // Should error check all MPI calls.
+void CartesianCommunicator::Init(int *argc, char ***argv) {
+  int flag;
+  MPI_Initialized(&flag); // needed to coexist with other libs apparently
+  if ( !flag ) {
+    MPI_Init(argc,argv);
+  }
+}
+  ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // Want to implement some magic ... Group sub-cubes into those on same node
+  //
+  ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+void CartesianCommunicator::ShiftedRanks(int dim,int shift,int &source,int &dest)
+{
+  std::vector<int> coor = _processor_coor;
+
+  assert(std::abs(shift) <_processors[dim]);
+
+  coor[dim] = (_processor_coor[dim] + shift + _processors[dim])%_processors[dim];
+  Lexicographic::IndexFromCoor(coor,source,_processors);
+  source = LexicographicToWorldRank[source];
+
+  coor[dim] = (_processor_coor[dim] - shift + _processors[dim])%_processors[dim];
+  Lexicographic::IndexFromCoor(coor,dest,_processors);
+  dest = LexicographicToWorldRank[dest];
+}
+int CartesianCommunicator::RankFromProcessorCoor(std::vector<int> &coor)
+{
+  int rank;
+  Lexicographic::IndexFromCoor(coor,rank,_processors);
+  rank = LexicographicToWorldRank[rank];
+  return rank;
+}
+void  CartesianCommunicator::ProcessorCoorFromRank(int rank, std::vector<int> &coor)
+{
+  Lexicographic::CoorFromIndex(coor,rank,_processors);
+  rank = LexicographicToWorldRank[rank];
+}
+
+CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
+{ 
+  _ndimension = processors.size();
+  std::cout << "Creating "<< _ndimension << " dim communicator "<<std::endl;
+  for(int d =0;d<_ndimension;d++){
+    std::cout << processors[d]<<" ";
+  };
+  std::cout << std::endl;
+
+  WorldDims = processors;
+
+  communicator = MPI_COMM_WORLD;
+  MPI_Comm shmcomm;
+  MPI_Comm_split_type(communicator, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL,&shmcomm);
+  MPI_Comm_rank(communicator,&WorldRank);
+  MPI_Comm_size(communicator,&WorldSize);
+  MPI_Comm_rank(shmcomm     ,&ShmRank);
+  MPI_Comm_size(shmcomm     ,&ShmSize);
+  GroupSize = WorldSize/ShmSize;
+
+  std::cout<< "Ranks per node "<< ShmSize << std::endl;
+  std::cout<< "Nodes          "<< GroupSize << std::endl;
+  std::cout<< "Ranks          "<< WorldSize << std::endl;
+  
+  ////////////////////////////////////////////////////////////////
+  // Assert power of two shm_size.
+  ////////////////////////////////////////////////////////////////
+  int log2size = -1;
+  for(int i=0;i<=MAXLOG2RANKSPERNODE;i++){  
+    if ( (0x1<<i) == ShmSize ) {
+      log2size = i;
+      break;
+    }
+  }
+  assert(log2size != -1);
+  
+  ////////////////////////////////////////////////////////////////
+  // Identify subblock of ranks on node spreading across dims
+  // in a maximally symmetrical way
+  ////////////////////////////////////////////////////////////////
+  int dim = 0;
+  
+  ShmDims.resize(_ndimension,1);
+  GroupDims.resize(_ndimension);
+  
+  ShmCoor.resize(_ndimension);
+  GroupCoor.resize(_ndimension);
+  WorldCoor.resize(_ndimension);
+  for(int l2=0;l2<log2size;l2++){
+    while ( WorldDims[dim] / ShmDims[dim] <= 1 ) dim=(dim+1)%_ndimension;
+    ShmDims[dim]*=2;
+    dim=(dim+1)%_ndimension;
+  }
+  
+  std::cout << "Shm group dims "<<std::endl;
+  for(int d =0;d<_ndimension;d++){
+    std::cout << ShmDims[d]<<" ";
+  };
+  std::cout << std::endl;
+
+  ////////////////////////////////////////////////////////////////
+  // Establish torus of processes and nodes with sub-blockings
+  ////////////////////////////////////////////////////////////////
+  for(int d=0;d<_ndimension;d++){
+    GroupDims[d] = WorldDims[d]/ShmDims[d];
+  }
+  std::cout << "Group dims "<<std::endl;
+  for(int d =0;d<_ndimension;d++){
+    std::cout << GroupDims[d]<<" ";
+  };
+  std::cout << std::endl;
+  
+  MPI_Group WorldGroup, ShmGroup;
+  MPI_Comm_group (communicator, &WorldGroup); 
+  MPI_Comm_group (shmcomm, &ShmGroup);
+  
+  std::vector<int> world_ranks(WorldSize); 
+  std::vector<int> group_ranks(WorldSize); 
+  std::vector<int> mygroup(GroupSize);
+  for(int r=0;r<WorldSize;r++) world_ranks[r]=r;
+  
+  MPI_Group_translate_ranks (WorldGroup,WorldSize,&world_ranks[0],ShmGroup, &group_ranks[0]); 
+
+  ////////////////////////////////////////////////////////////////
+  // Check processor counts match
+  ////////////////////////////////////////////////////////////////
+  _Nprocessors=1;
+  _processors = processors;
+  _processor_coor.resize(_ndimension);
+  for(int i=0;i<_ndimension;i++){
+    std::cout << " p " << _processors[i]<<std::endl;
+    _Nprocessors*=_processors[i];
+  }
+  std::cout << " World " <<WorldSize <<" Nproc "<<_Nprocessors<<std::endl;
+  assert(WorldSize==_Nprocessors);
+  
+  ///////////////////////////////////////////////////////////////////
+  // Identify who is in my group and noninate the leader
+  ///////////////////////////////////////////////////////////////////
+  int g=0;
+  for(int rank=0;rank<WorldSize;rank++){
+    if(group_ranks[rank]!=MPI_UNDEFINED){
+	  mygroup[g] = rank;
+    }
+  }
+  
+  std::sort(mygroup.begin(),mygroup.end(),std::greater<int>());
+  int myleader = mygroup[0];
+  
+  std::vector<int> leaders_1hot(WorldSize,0);
+  std::vector<int> leaders_group(GroupSize,0);
+  leaders_1hot [ myleader ] = 1;
+      
+  ///////////////////////////////////////////////////////////////////
+  // global sum leaders over comm world
+  ///////////////////////////////////////////////////////////////////
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,&leaders_1hot[0],WorldSize,MPI_INT,MPI_SUM,communicator);
+  assert(ierr==0);
+  
+  ///////////////////////////////////////////////////////////////////
+  // find the group leaders world rank
+  ///////////////////////////////////////////////////////////////////
+  int group=0;
+  for(int l=0;l<WorldSize;l++){
+    if(leaders_1hot[l]){
+      leaders_group[group++] = l;
+    }
+  }
+  
+  ///////////////////////////////////////////////////////////////////
+  // Identify the rank of the group in which I (and my leader) live
+  ///////////////////////////////////////////////////////////////////
+  GroupRank=-1;
+  for(int g=0;g<GroupSize;g++){
+    if (myleader == leaders_group[g]){
+      GroupRank=g;
+    }
+  }
+  assert(GroupRank!=-1);
+      
+  ////////////////////////////////////////////////////////////////
+  // Establish mapping between lexico physics coord and WorldRank
+  // 
+  ////////////////////////////////////////////////////////////////
+  LexicographicToWorldRank.resize(WorldSize,0);
+  Lexicographic::CoorFromIndex(GroupCoor,GroupRank,GroupDims);
+  Lexicographic::CoorFromIndex(ShmCoor,ShmRank,ShmDims);
+  for(int d=0;d<_ndimension;d++){
+    WorldCoor[d] = GroupCoor[d]*ShmDims[d]+ShmCoor[d];
+  }
+  _processor_coor = WorldCoor;
+
+  int lexico;
+  Lexicographic::IndexFromCoor(WorldCoor,lexico,WorldDims);
+  LexicographicToWorldRank[lexico]=WorldRank;
+  _processor = lexico;
+
+  ///////////////////////////////////////////////////////////////////
+  // global sum Lexico to World mapping
+  ///////////////////////////////////////////////////////////////////
+  ierr=MPI_Allreduce(MPI_IN_PLACE,&LexicographicToWorldRank[0],WorldSize,MPI_INT,MPI_SUM,communicator);
+  assert(ierr==0);
+  
+};
+
+void CartesianCommunicator::GlobalSum(uint32_t &u){
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,&u,1,MPI_UINT32_T,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSum(uint64_t &u){
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,&u,1,MPI_UINT64_T,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSum(float &f){
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,&f,1,MPI_FLOAT,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSumVector(float *f,int N)
+{
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,f,N,MPI_FLOAT,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSum(double &d)
+{
+  int ierr = MPI_Allreduce(MPI_IN_PLACE,&d,1,MPI_DOUBLE,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSumVector(double *d,int N)
+{
+  int ierr = MPI_Allreduce(MPI_IN_PLACE,d,N,MPI_DOUBLE,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+
+
+// Basic Halo comms primitive
+void CartesianCommunicator::SendToRecvFrom(void *xmit,
+					   int dest,
+					   void *recv,
+					   int from,
+					   int bytes)
+{
+  std::vector<CommsRequest_t> reqs(0);
+  SendToRecvFromBegin(reqs,xmit,dest,recv,from,bytes);
+  SendToRecvFromComplete(reqs);
+}
+
+void CartesianCommunicator::SendRecvPacket(void *xmit,
+					   void *recv,
+					   int sender,
+					   int receiver,
+					   int bytes)
+{
+  MPI_Status stat;
+  assert(sender != receiver);
+  int tag = sender;
+  if ( _processor == sender ) {
+    MPI_Send(xmit, bytes, MPI_CHAR,receiver,tag,communicator);
+  }
+  if ( _processor == receiver ) { 
+    MPI_Recv(recv, bytes, MPI_CHAR,sender,tag,communicator,&stat);
+  }
+}
+
+// Basic Halo comms primitive
+void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
+						void *xmit,
+						int dest,
+						void *recv,
+						int from,
+						int bytes)
+{
+  MPI_Request xrq;
+  MPI_Request rrq;
+  int rank = _processor;
+  int ierr;
+  ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
+  ierr|=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
+  
+  assert(ierr==0);
+
+  list.push_back(xrq);
+  list.push_back(rrq);
+}
+void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
+{
+  int nreq=list.size();
+  std::vector<MPI_Status> status(nreq);
+  int ierr = MPI_Waitall(nreq,&list[0],&status[0]);
+
+  assert(ierr==0);
+}
+
+void CartesianCommunicator::Barrier(void)
+{
+  int ierr = MPI_Barrier(communicator);
+  assert(ierr==0);
+}
+
+void CartesianCommunicator::Broadcast(int root,void* data, int bytes)
+{
+  int ierr=MPI_Bcast(data,
+		     bytes,
+		     MPI_BYTE,
+		     root,
+		     communicator);
+  assert(ierr==0);
+}
+
+void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes)
+{
+  int ierr= MPI_Bcast(data,
+		      bytes,
+		      MPI_BYTE,
+		      root,
+		      MPI_COMM_WORLD);
+  assert(ierr==0);
+}
+
+}
+
diff --git a/lib/qcd/action/fermion/WilsonKernels.cc b/lib/qcd/action/fermion/WilsonKernels.cc
index 49bd98c5..58e62cc8 100644
--- a/lib/qcd/action/fermion/WilsonKernels.cc
+++ b/lib/qcd/action/fermion/WilsonKernels.cc
@@ -45,7 +45,7 @@ WilsonKernels<Impl>::WilsonKernels(const ImplParams &p) : Base(p){};
 template <class Impl>
 void WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(
     StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf, int sF,
+    commVector<SiteHalfSpinor> &buf, int sF,
     int sU, const FermionField &in, FermionField &out) {
   SiteHalfSpinor tmp;
   SiteHalfSpinor chi;
@@ -222,7 +222,7 @@ void WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(
 template <class Impl>
 void WilsonKernels<Impl>::DiracOptGenericDhopSite(
     StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf, int sF,
+    commVector<SiteHalfSpinor> &buf, int sF,
     int sU, const FermionField &in, FermionField &out) {
   SiteHalfSpinor tmp;
   SiteHalfSpinor chi;
@@ -398,7 +398,7 @@ void WilsonKernels<Impl>::DiracOptGenericDhopSite(
 template <class Impl>
 void WilsonKernels<Impl>::DiracOptDhopDir(
     StencilImpl &st, DoubledGaugeField &U,
-    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf, int sF,
+    commVector<SiteHalfSpinor> &buf, int sF,
     int sU, const FermionField &in, FermionField &out, int dir, int gamma) {
   SiteHalfSpinor tmp;
   SiteHalfSpinor chi;
diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index 23c145de..66770c3c 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -58,7 +58,7 @@ namespace Grid {
       typename std::enable_if<Impl::Dimension == 3 && Nc == 3 &&EnableBool, void>::type
 	DiracOptDhopSite(
 			 StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-			 std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+			 commVector<SiteHalfSpinor> &buf,
 			 int sF, int sU, int Ls, int Ns, const FermionField &in,
 			 FermionField &out) {
 #ifdef AVX512
@@ -89,7 +89,7 @@ namespace Grid {
 	  typename std::enable_if<(Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool, void>::type
 	  DiracOptDhopSite(
 			   StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-			   std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+			   commVector<SiteHalfSpinor> &buf,
 			   int sF, int sU, int Ls, int Ns, const FermionField &in,
 			   FermionField &out) {
 	  for (int site = 0; site < Ns; site++) {
@@ -107,7 +107,7 @@ namespace Grid {
 				  void>::type
 	  DiracOptDhopSiteDag(
 			      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-			      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+			      commVector<SiteHalfSpinor> &buf,
 			      int sF, int sU, int Ls, int Ns, const FermionField &in,
 			      FermionField &out) {
 #ifdef AVX512
@@ -139,7 +139,7 @@ namespace Grid {
 				      void>::type
 				      DiracOptDhopSiteDag(
 							  StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-							  std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+							  commVector<SiteHalfSpinor> &buf,
 							  int sF, int sU, int Ls, int Ns, const FermionField &in,
 							  FermionField &out) {
 					for (int site = 0; site < Ns; site++) {
@@ -154,7 +154,7 @@ namespace Grid {
 
 				    void DiracOptDhopDir(
 							 StencilImpl &st, DoubledGaugeField &U,
-							 std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+							 commVector<SiteHalfSpinor> &buf,
 							 int sF, int sU, const FermionField &in, FermionField &out, int dirdisp,
 							 int gamma);
 
@@ -162,34 +162,34 @@ namespace Grid {
 				    // Specialised variants
 				    void DiracOptGenericDhopSite(
 								 StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-								 std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+								 commVector<SiteHalfSpinor> &buf,
 								 int sF, int sU, const FermionField &in, FermionField &out);
 
 				    void DiracOptGenericDhopSiteDag(
 								    StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-								    std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+								    commVector<SiteHalfSpinor> &buf,
 								    int sF, int sU, const FermionField &in, FermionField &out);
 
 				    void DiracOptAsmDhopSite(
 							     StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-							     std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+							     commVector<SiteHalfSpinor> &buf,
 							     int sF, int sU, int Ls, int Ns, const FermionField &in,
 							     FermionField &out);
 
 				    void DiracOptAsmDhopSiteDag(
 								StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-								std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+								commVector<SiteHalfSpinor> &buf,
 								int sF, int sU, int Ls, int Ns, const FermionField &in,
 								FermionField &out);
 
 				    void DiracOptHandDhopSite(
 							      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-							      std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+							      commVector<SiteHalfSpinor> &buf,
 							      int sF, int sU, const FermionField &in, FermionField &out);
 
 				    void DiracOptHandDhopSiteDag(
 								 StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-								 std::vector<SiteHalfSpinor, alignedAllocator<SiteHalfSpinor> > &buf,
+								 commVector<SiteHalfSpinor> &buf,
 								 int sF, int sU, const FermionField &in, FermionField &out);
 
 	public:
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index b09699ef..7857e89a 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -40,14 +40,14 @@ namespace Grid {
     ///////////////////////////////////////////////////////////
     template<class Impl>
       void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-                             std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+                             commVector<SiteHalfSpinor>  &buf,
                              int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
     {
       assert(0);
     }
     template<class Impl>
       void WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-                                std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+                                commVector<SiteHalfSpinor>  &buf,
                                 int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
     {
       assert(0);
@@ -86,14 +86,14 @@ namespace Grid {
 #undef KERNEL_DAG
     template<>
     void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-							 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							 commVector<SiteHalfSpinor>  &buf,
 							 int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
       
 #define KERNEL_DAG
     template<>
     void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-							    std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							    commVector<SiteHalfSpinor>  &buf,
 							    int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 				    
@@ -111,14 +111,14 @@ namespace Grid {
 #undef KERNEL_DAG
     template<>
     void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-								  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+								  commVector<SiteHalfSpinor>  &buf,
 								  int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 				    
 #define KERNEL_DAG
     template<>
     void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-								     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+								     commVector<SiteHalfSpinor>  &buf,
 								     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 				    
@@ -127,10 +127,10 @@ namespace Grid {
 
 #define INSTANTIATE_ASM(A)\
 template void WilsonKernels<A>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,\
-                                   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
+                                   commVector<SiteHalfSpinor>  &buf,\
                                   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);\
 template void WilsonKernels<A>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,\
-                                   std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
+                                   commVector<SiteHalfSpinor>  &buf,\
                                   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);\
 
 
diff --git a/lib/qcd/action/fermion/WilsonKernelsHand.cc b/lib/qcd/action/fermion/WilsonKernelsHand.cc
index 15c8ab56..9d7eac23 100644
--- a/lib/qcd/action/fermion/WilsonKernelsHand.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsHand.cc
@@ -313,7 +313,7 @@ namespace QCD {
 
   template<class Impl>
   void WilsonKernels<Impl>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-					       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+					       commVector<SiteHalfSpinor>  &buf,
 					       int ss,int sU,const FermionField &in, FermionField &out)
 {
   typedef typename Simd::scalar_type S;
@@ -556,7 +556,7 @@ namespace QCD {
 
   template<class Impl>
   void WilsonKernels<Impl>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-					       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+					       commVector<SiteHalfSpinor>  &buf,
 					       int ss,int sU,const FermionField &in, FermionField &out)
 {
   //  std::cout << "Hand op Dhop "<<std::endl;
@@ -804,7 +804,7 @@ namespace QCD {
   ////////////////////////////////////////////////
 template<>
 void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-							     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							     commVector<SiteHalfSpinor>  &buf,
 							     int sF,int sU,const FermionField &in, FermionField &out)
 {
   assert(0);
@@ -812,7 +812,7 @@ void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSite(StencilImpl &st,Leb
 
 template<>
 void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+								commVector<SiteHalfSpinor>  &buf,
 								int sF,int sU,const FermionField &in, FermionField &out)
 {
   assert(0);
@@ -820,7 +820,7 @@ void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,
 
 template<>
 void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-							     std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+							     commVector<SiteHalfSpinor>  &buf,
 							     int sF,int sU,const FermionField &in, FermionField &out)
 {
   assert(0);
@@ -828,7 +828,7 @@ void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSite(StencilImpl &st,Leb
 
 template<>
 void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
+								commVector<SiteHalfSpinor>  &buf,
 								int sF,int sU,const FermionField &in, FermionField &out)
 {
   assert(0);
@@ -841,10 +841,10 @@ void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,
 
 #define INSTANTIATE_THEM(A) \
 template void WilsonKernels<A>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,\
-							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
+							       commVector<SiteHalfSpinor>  &buf,\
 							       int ss,int sU,const FermionField &in, FermionField &out);\
 template void WilsonKernels<A>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,\
-								  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
+								  commVector<SiteHalfSpinor>  &buf,\
 								  int ss,int sU,const FermionField &in, FermionField &out);
 
 INSTANTIATE_THEM(WilsonImplF);

From 5b5925b8e5aa454467f9b53d35dcd9f779a302b2 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 20 Oct 2016 17:09:40 +0100
Subject: [PATCH 220/295] Forgot to add

---
 lib/AlignedAllocator.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/AlignedAllocator.h b/lib/AlignedAllocator.h
index d0de1ec3..89731246 100644
--- a/lib/AlignedAllocator.h
+++ b/lib/AlignedAllocator.h
@@ -161,7 +161,8 @@ public:
 #error "implement MPI3 windowed allocate"
   }
 #else
-  pointer allocate(size_type __n, const void* _p= 0)
+  pointer allocate(size_type __n, const void* _p= 0) 
+  {
 #ifdef HAVE_MM_MALLOC_H
     _Tp * ptr = (_Tp *) _mm_malloc(__n*sizeof(_Tp),128);
 #else
@@ -187,9 +188,9 @@ template<typename _Tp>  inline bool operator!=(const commAllocator<_Tp>&, const
 ////////////////////////////////////////////////////////////////////////////////
 // Template typedefs
 ////////////////////////////////////////////////////////////////////////////////
-template<class T> using Vector    = std::vector<T,alignedAllocator<T> >;           
+template<class T> using Vector     = std::vector<T,alignedAllocator<T> >;           
 template<class T> using commVector = std::vector<T,commAllocator<T> >;              
-template<class T> using Matrix = std::vector<std::vector<T,alignedAllocator<T> > >;
+template<class T> using Matrix     = std::vector<std::vector<T,alignedAllocator<T> > >;
     
 }; // namespace Grid
 #endif

From a762b1fb712fa620e5662e4e7d41a94925ecff00 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 21 Oct 2016 09:03:26 +0100
Subject: [PATCH 221/295] MPI3 working with a bounce through shared memory on
 my laptop. Longer term plan: make the "u_comm_buf" in Stencil point to the
 shared region and avoid the send between ranks on same node.

---
 benchmarks/Benchmark_dwf.cc           |   7 +-
 lib/AlignedAllocator.h                |   9 -
 lib/Init.cc                           |   2 +-
 lib/Log.cc                            |   2 +-
 lib/Threads.h                         |  17 ++
 lib/communicator/Communicator_base.h  |  26 ++-
 lib/communicator/Communicator_mpi.cc  |  11 +-
 lib/communicator/Communicator_mpi3.cc | 250 +++++++++++++++++---------
 8 files changed, 208 insertions(+), 116 deletions(-)

diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index 6a283085..a32d7535 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -208,7 +208,6 @@ int main (int argc, char ** argv)
 
     std::cout<<GridLogMessage<< "res norms "<< norm2(result)<<" " <<norm2(sresult)<<std::endl;
 
-
     RealF sum=0;
     for(int x=0;x<latt4[0];x++){
     for(int y=0;y<latt4[1];y++){
@@ -221,9 +220,9 @@ int main (int argc, char ** argv)
       peekSite(simd,sresult,site);
       sum=sum+norm2(normal-simd);
       if (norm2(normal-simd) > 1.0e-6 ) {
-  std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" "<<norm2(normal-simd)<<std::endl;
-  std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" normal "<<normal<<std::endl;
-  std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" simd   "<<simd<<std::endl;
+	std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" "<<norm2(normal-simd)<<std::endl;
+	std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" normal "<<normal<<std::endl;
+	std::cout << "site "<<x<<","<<y<<","<<z<<","<<t<<","<<s<<" simd   "<<simd<<std::endl;
       }
     }}}}}
     std::cout<<GridLogMessage<<" difference between normal and simd is "<<sum<<std::endl;
diff --git a/lib/AlignedAllocator.h b/lib/AlignedAllocator.h
index 89731246..44929ca8 100644
--- a/lib/AlignedAllocator.h
+++ b/lib/AlignedAllocator.h
@@ -151,15 +151,6 @@ public:
   void deallocate(pointer __p, size_type) { 
     shmem_free((void *)__p);
   }
-#elif defined(GRID_COMMS_MPI3)
-  pointer allocate(size_type __n, const void* _p= 0)
-  { 
-#error "implement MPI3 windowed allocate"
-    
-  }
-  void deallocate(pointer __p, size_type) { 
-#error "implement MPI3 windowed allocate"
-  }
 #else
   pointer allocate(size_type __n, const void* _p= 0) 
   {
diff --git a/lib/Init.cc b/lib/Init.cc
index bd9638c3..a21cbce0 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -279,7 +279,7 @@ void Grid_init(int *argc,char ***argv)
   
 void Grid_finalize(void)
 {
-#ifdef GRID_COMMS_MPI
+#if defined (GRID_COMMS_MPI) || defined (GRID_COMMS_MPI3)
   MPI_Finalize();
   Grid_unquiesce_nodes();
 #endif
diff --git a/lib/Log.cc b/lib/Log.cc
index 2082570d..a55a1c9e 100644
--- a/lib/Log.cc
+++ b/lib/Log.cc
@@ -73,7 +73,7 @@ void GridLogConfigure(std::vector<std::string> &logstreams) {
 ////////////////////////////////////////////////////////////
 void Grid_quiesce_nodes(void) {
   int me = 0;
-#ifdef GRID_COMMS_MPI
+#if defined(GRID_COMMS_MPI) || defined(GRID_COMMS_MPI3)
   MPI_Comm_rank(MPI_COMM_WORLD, &me);
 #endif
 #ifdef GRID_COMMS_SHMEM
diff --git a/lib/Threads.h b/lib/Threads.h
index d502dd82..70350685 100644
--- a/lib/Threads.h
+++ b/lib/Threads.h
@@ -31,6 +31,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #ifdef _OPENMP
 #define GRID_OMP
+#warning "OpenMP"
 #endif
 
 #define UNROLL  _Pragma("unroll")
@@ -127,6 +128,22 @@ class GridThread {
     ThreadBarrier();
   };
 
+  static void bcopy(const void *src, void *dst, size_t len) {
+#ifdef GRID_OMP
+#pragma omp parallel 
+    {
+      const char *c_src =(char *) src;
+      char *c_dest=(char *) dst;
+      int me,mywork,myoff;
+      GridThread::GetWorkBarrier(len,me, mywork,myoff);
+      bcopy(&c_src[myoff],&c_dest[myoff],mywork);
+    }
+#else 
+    bcopy(src,dst,len);
+#endif
+  }
+
+
 };
 
 }
diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index 9b5ae8cb..6d6602be 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -45,7 +45,7 @@ class CartesianCommunicator {
   public:    
 
   // Communicator should know nothing of the physics grid, only processor grid.
-
+  
     int              _Nprocessors;     // How many in all
     std::vector<int> _processors;      // Which dimensions get relayed out over processors lanes.
     int              _processor;       // linear processor rank
@@ -56,10 +56,13 @@ class CartesianCommunicator {
     MPI_Comm communicator;
     typedef MPI_Request CommsRequest_t;
 #elif  GRID_COMMS_MPI3
+    int shm_mode;
+
     MPI_Comm communicator;
     typedef MPI_Request CommsRequest_t;
 
-    const int MAXLOG2RANKSPERNODE = 16; // 65536 ranks per node adequate for now
+    const int MAXLOG2RANKSPERNODE = 16;     // 65536 ranks per node adequate for now
+    const uint64_t MAX_MPI_SHM_BYTES = 256*1024*1024; // 256MB shared memory for comms enought for 48^4 local vol comms
 
     std::vector<int>  WorldDims;
     std::vector<int>  GroupDims;
@@ -69,14 +72,23 @@ class CartesianCommunicator {
     std::vector<int> ShmCoor;
     std::vector<int> WorldCoor;
 
-    int GroupRank;
-    int ShmRank;
-    int WorldRank;
+    static std::vector<int> GroupRanks; 
+    static std::vector<int> MyGroup;
+    static int ShmSetup;
+    static MPI_Win ShmWindow; 
+    static MPI_Comm ShmComm;
 
-    int GroupSize;
-    int ShmSize;
+    void * ShmCommBuf;
+    std::vector<void *> ShmCommBufs;
+
+    int WorldRank;
     int WorldSize;
 
+    static int ShmRank;
+    static int ShmSize;
+    static int GroupSize;
+    static int GroupRank;
+
     std::vector<int>  LexicographicToWorldRank;
 #else 
     typedef int CommsRequest_t;
diff --git a/lib/communicator/Communicator_mpi.cc b/lib/communicator/Communicator_mpi.cc
index dff9811a..9c66202f 100644
--- a/lib/communicator/Communicator_mpi.cc
+++ b/lib/communicator/Communicator_mpi.cc
@@ -39,11 +39,11 @@ void CartesianCommunicator::Init(int *argc, char ***argv) {
   }
 }
 
-  int Rank(void) {
-    int pe;
-    MPI_Comm_rank(MPI_COMM_WORLD,&pe);
-    return pe;
-  }
+int Rank(void) {
+  int pe;
+  MPI_Comm_rank(MPI_COMM_WORLD,&pe);
+  return pe;
+}
 
 CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
 {
@@ -168,7 +168,6 @@ void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &
   int nreq=list.size();
   std::vector<MPI_Status> status(nreq);
   int ierr = MPI_Waitall(nreq,&list[0],&status[0]);
-
   assert(ierr==0);
 }
 
diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index 11734fd9..1a36e610 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -30,6 +30,8 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
 namespace Grid {
 
+
+
 // Global used by Init and nowhere else. How to hide?
 int Rank(void) {
   int pe;
@@ -76,29 +78,129 @@ void  CartesianCommunicator::ProcessorCoorFromRank(int rank, std::vector<int> &c
   rank = LexicographicToWorldRank[rank];
 }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Info that is setup once and indept of cartesian layout
+///////////////////////////////////////////////////////////////////////////////////////////////////
+int CartesianCommunicator::ShmSetup = 0;
+int CartesianCommunicator::ShmRank;
+int CartesianCommunicator::ShmSize;
+int CartesianCommunicator::GroupRank;
+int CartesianCommunicator::GroupSize;
+MPI_Comm CartesianCommunicator::ShmComm;
+MPI_Win  CartesianCommunicator::ShmWindow;
+std::vector<int> CartesianCommunicator::GroupRanks; 
+std::vector<int> CartesianCommunicator::MyGroup;
+
 CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
 { 
+
   _ndimension = processors.size();
-  std::cout << "Creating "<< _ndimension << " dim communicator "<<std::endl;
-  for(int d =0;d<_ndimension;d++){
-    std::cout << processors[d]<<" ";
-  };
-  std::cout << std::endl;
 
   WorldDims = processors;
 
   communicator = MPI_COMM_WORLD;
-  MPI_Comm shmcomm;
-  MPI_Comm_split_type(communicator, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL,&shmcomm);
   MPI_Comm_rank(communicator,&WorldRank);
   MPI_Comm_size(communicator,&WorldSize);
-  MPI_Comm_rank(shmcomm     ,&ShmRank);
-  MPI_Comm_size(shmcomm     ,&ShmSize);
-  GroupSize = WorldSize/ShmSize;
 
-  std::cout<< "Ranks per node "<< ShmSize << std::endl;
-  std::cout<< "Nodes          "<< GroupSize << std::endl;
-  std::cout<< "Ranks          "<< WorldSize << std::endl;
+  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // Plan: allocate a fixed SHM region. Scratch that is just used via some scheme during stencil comms, with no allocate free.
+  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // Does every grid need one, or could we share across all grids via a singleton/guard?
+  int ierr;
+
+  if ( !ShmSetup ) { 
+
+    MPI_Comm_split_type(communicator, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL,&ShmComm);
+    MPI_Comm_rank(ShmComm     ,&ShmRank);
+    MPI_Comm_size(ShmComm     ,&ShmSize);
+    GroupSize = WorldSize/ShmSize;
+
+    /////////////////////////////////////////////////////////////////////
+    // find world ranks in our SHM group (i.e. which ranks are on our node)
+    /////////////////////////////////////////////////////////////////////
+    MPI_Group WorldGroup, ShmGroup;
+    MPI_Comm_group (communicator, &WorldGroup); 
+    MPI_Comm_group (ShmComm, &ShmGroup);
+
+    std::vector<int> world_ranks(WorldSize); 
+    GroupRanks.resize(WorldSize); 
+    MyGroup.resize(ShmSize);
+    for(int r=0;r<WorldSize;r++) world_ranks[r]=r;
+  
+    MPI_Group_translate_ranks (WorldGroup,WorldSize,&world_ranks[0],ShmGroup, &GroupRanks[0]); 
+
+    ///////////////////////////////////////////////////////////////////
+    // Identify who is in my group and noninate the leader
+    ///////////////////////////////////////////////////////////////////
+    int g=0;
+    for(int rank=0;rank<WorldSize;rank++){
+      if(GroupRanks[rank]!=MPI_UNDEFINED){
+	assert(g<ShmSize);
+	MyGroup[g++] = rank;
+      }
+    }
+  
+    std::sort(MyGroup.begin(),MyGroup.end(),std::greater<int>());
+    int myleader = MyGroup[0];
+    
+    std::vector<int> leaders_1hot(WorldSize,0);
+    std::vector<int> leaders_group(GroupSize,0);
+    leaders_1hot [ myleader ] = 1;
+    
+    ///////////////////////////////////////////////////////////////////
+    // global sum leaders over comm world
+    ///////////////////////////////////////////////////////////////////
+    ierr=MPI_Allreduce(MPI_IN_PLACE,&leaders_1hot[0],WorldSize,MPI_INT,MPI_SUM,communicator);
+    assert(ierr==0);
+  
+    ///////////////////////////////////////////////////////////////////
+    // find the group leaders world rank
+    ///////////////////////////////////////////////////////////////////
+    int group=0;
+    for(int l=0;l<WorldSize;l++){
+      if(leaders_1hot[l]){
+	leaders_group[group++] = l;
+      }
+    }
+  
+    ///////////////////////////////////////////////////////////////////
+    // Identify the rank of the group in which I (and my leader) live
+    ///////////////////////////////////////////////////////////////////
+    GroupRank=-1;
+    for(int g=0;g<GroupSize;g++){
+      if (myleader == leaders_group[g]){
+	GroupRank=g;
+      }
+    }
+    assert(GroupRank!=-1);
+    
+    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    // allocate the shared window for our group
+    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    
+    ShmCommBuf = 0;
+    ierr = MPI_Win_allocate_shared(MAX_MPI_SHM_BYTES,1,MPI_INFO_NULL,ShmComm,&ShmCommBuf,&ShmWindow);
+    assert(ierr==0);
+
+    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    // Verbose for now
+    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    std::cout<< "Ranks per node "<< ShmSize << std::endl;
+    std::cout<< "Nodes          "<< GroupSize << std::endl;
+    std::cout<< "Ranks          "<< WorldSize << std::endl;
+    std::cout<< "Shm CommBuf "<< ShmCommBuf << std::endl;
+
+    // Done
+    ShmSetup=1;
+
+  }
+
+  ShmCommBufs.resize(ShmSize);
+  for(int r=0;r<ShmSize;r++){
+    MPI_Aint sz;
+    int dsp_unit;
+    MPI_Win_shared_query (ShmWindow, r, &sz, &dsp_unit, &ShmCommBufs[r]);
+  }
   
   ////////////////////////////////////////////////////////////////
   // Assert power of two shm_size.
@@ -120,7 +222,7 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   
   ShmDims.resize(_ndimension,1);
   GroupDims.resize(_ndimension);
-  
+    
   ShmCoor.resize(_ndimension);
   GroupCoor.resize(_ndimension);
   WorldCoor.resize(_ndimension);
@@ -129,12 +231,6 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
     ShmDims[dim]*=2;
     dim=(dim+1)%_ndimension;
   }
-  
-  std::cout << "Shm group dims "<<std::endl;
-  for(int d =0;d<_ndimension;d++){
-    std::cout << ShmDims[d]<<" ";
-  };
-  std::cout << std::endl;
 
   ////////////////////////////////////////////////////////////////
   // Establish torus of processes and nodes with sub-blockings
@@ -142,22 +238,6 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   for(int d=0;d<_ndimension;d++){
     GroupDims[d] = WorldDims[d]/ShmDims[d];
   }
-  std::cout << "Group dims "<<std::endl;
-  for(int d =0;d<_ndimension;d++){
-    std::cout << GroupDims[d]<<" ";
-  };
-  std::cout << std::endl;
-  
-  MPI_Group WorldGroup, ShmGroup;
-  MPI_Comm_group (communicator, &WorldGroup); 
-  MPI_Comm_group (shmcomm, &ShmGroup);
-  
-  std::vector<int> world_ranks(WorldSize); 
-  std::vector<int> group_ranks(WorldSize); 
-  std::vector<int> mygroup(GroupSize);
-  for(int r=0;r<WorldSize;r++) world_ranks[r]=r;
-  
-  MPI_Group_translate_ranks (WorldGroup,WorldSize,&world_ranks[0],ShmGroup, &group_ranks[0]); 
 
   ////////////////////////////////////////////////////////////////
   // Check processor counts match
@@ -166,55 +246,9 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   _processors = processors;
   _processor_coor.resize(_ndimension);
   for(int i=0;i<_ndimension;i++){
-    std::cout << " p " << _processors[i]<<std::endl;
     _Nprocessors*=_processors[i];
   }
-  std::cout << " World " <<WorldSize <<" Nproc "<<_Nprocessors<<std::endl;
   assert(WorldSize==_Nprocessors);
-  
-  ///////////////////////////////////////////////////////////////////
-  // Identify who is in my group and noninate the leader
-  ///////////////////////////////////////////////////////////////////
-  int g=0;
-  for(int rank=0;rank<WorldSize;rank++){
-    if(group_ranks[rank]!=MPI_UNDEFINED){
-	  mygroup[g] = rank;
-    }
-  }
-  
-  std::sort(mygroup.begin(),mygroup.end(),std::greater<int>());
-  int myleader = mygroup[0];
-  
-  std::vector<int> leaders_1hot(WorldSize,0);
-  std::vector<int> leaders_group(GroupSize,0);
-  leaders_1hot [ myleader ] = 1;
-      
-  ///////////////////////////////////////////////////////////////////
-  // global sum leaders over comm world
-  ///////////////////////////////////////////////////////////////////
-  int ierr=MPI_Allreduce(MPI_IN_PLACE,&leaders_1hot[0],WorldSize,MPI_INT,MPI_SUM,communicator);
-  assert(ierr==0);
-  
-  ///////////////////////////////////////////////////////////////////
-  // find the group leaders world rank
-  ///////////////////////////////////////////////////////////////////
-  int group=0;
-  for(int l=0;l<WorldSize;l++){
-    if(leaders_1hot[l]){
-      leaders_group[group++] = l;
-    }
-  }
-  
-  ///////////////////////////////////////////////////////////////////
-  // Identify the rank of the group in which I (and my leader) live
-  ///////////////////////////////////////////////////////////////////
-  GroupRank=-1;
-  for(int g=0;g<GroupSize;g++){
-    if (myleader == leaders_group[g]){
-      GroupRank=g;
-    }
-  }
-  assert(GroupRank!=-1);
       
   ////////////////////////////////////////////////////////////////
   // Establish mapping between lexico physics coord and WorldRank
@@ -309,16 +343,56 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 {
   MPI_Request xrq;
   MPI_Request rrq;
+  
   int rank = _processor;
   int ierr;
-  ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
-  ierr|=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
+  int tag;
+  int small = (bytes<MAX_MPI_SHM_BYTES) || (shm_mode==0);
+  static int sequence;
+  int check;
+  assert(dest != _processor);
+  assert(from != _processor);
   
-  assert(ierr==0);
-
-  list.push_back(xrq);
-  list.push_back(rrq);
+  int gdest = GroupRanks[dest];
+  int gme   = GroupRanks[_processor];
+  sequence++;
+  
+  assert(gme == ShmRank);
+  
+  if ( small && (dest !=MPI_UNDEFINED) ) {
+    char *ptr = (char *)ShmCommBufs[gdest];
+    assert(gme != gdest);
+    GridThread::bcopy(xmit,ptr,bytes);
+    bcopy(&_processor,&ptr[bytes],sizeof(_processor));
+    bcopy(&  sequence,&ptr[bytes+4],sizeof(sequence));
+  } else { 
+    ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
+    assert(ierr==0);
+    list.push_back(xrq);
+  }
+  
+  MPI_Win_sync (ShmWindow);   
+  MPI_Barrier  (ShmComm);
+  MPI_Win_sync (ShmWindow);   
+  
+  if (small && (from !=MPI_UNDEFINED) ) {
+    char *ptr = (char *)ShmCommBufs[ShmRank];
+    GridThread::bcopy(ptr,recv,bytes);
+    bcopy(&ptr[bytes]  ,&tag  ,sizeof(tag));
+    bcopy(&ptr[bytes+4],&check,sizeof(check));
+    assert(check==sequence);
+    assert(tag==from);
+  } else { 
+    ierr=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
+    assert(ierr==0);
+    list.push_back(rrq);
+  }
+  
+  MPI_Win_sync (ShmWindow);   
+  MPI_Barrier  (ShmComm);
+  MPI_Win_sync (ShmWindow);   
 }
+
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {
   int nreq=list.size();

From 202078eb1b9d02aa5eee05f1ffe0528801a3ef05 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 21 Oct 2016 09:07:20 +0100
Subject: [PATCH 222/295] Cray / OpenSHMEM ordering differs

---
 lib/AlignedAllocator.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/AlignedAllocator.h b/lib/AlignedAllocator.h
index 89731246..8301d811 100644
--- a/lib/AlignedAllocator.h
+++ b/lib/AlignedAllocator.h
@@ -130,8 +130,12 @@ public:
 
 #ifdef GRID_COMMS_SHMEM
   pointer allocate(size_type __n, const void* _p= 0)
-  { 
+  {
+#ifdef CRAY
     _Tp *ptr = (_Tp *) shmem_align(__n*sizeof(_Tp),64);
+#else
+    _Tp *ptr = (_Tp *) shmem_align(64,__n*sizeof(_Tp));
+#endif
 #ifdef PARANOID_SYMMETRIC_HEAP
     static void * bcast;
     static long  psync[_SHMEM_REDUCE_SYNC_SIZE];

From 20a091c3eddfdb67a82ece6413740a93650a2f98 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 21 Oct 2016 09:08:36 +0100
Subject: [PATCH 223/295] Intel vs. Clang intrinsics differences absorbed

---
 lib/simd/Grid_avx512.h | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/lib/simd/Grid_avx512.h b/lib/simd/Grid_avx512.h
index 821898d9..d4fd446c 100644
--- a/lib/simd/Grid_avx512.h
+++ b/lib/simd/Grid_avx512.h
@@ -41,6 +41,22 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 namespace Grid{
 namespace Optimization {
+
+  template<class vtype>
+  union uconv {
+    __m512 f;
+    vtype v;
+  };
+
+  union u512f {
+    __m512 v;
+    float f[8];
+  };
+
+  union u512d {
+    __m512 v;
+    double f[4];
+  };
   
   struct Vsplat{
     //Complex float
@@ -361,8 +377,9 @@ namespace Optimization {
   // Some Template specialization
 
   // Hack for CLANG until mm512_reduce_add_ps etc... are implemented in GCC and Clang releases
-#undef GNU_CLANG_COMPILER 
-#ifdef GNU_CLANG_COMPILER
+
+#ifndef __INTEL_COMPILER
+#warning "Slow reduction due to incomplete reduce intrinsics"
   //Complex float Reduce
   template<>
     inline Grid::ComplexF Reduce<Grid::ComplexF, __m512>::operator()(__m512 in){

From 306160ad9ad7675774931164e48154806c0ce6aa Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 21 Oct 2016 12:07:28 +0100
Subject: [PATCH 224/295] bcopy threaded

---
 lib/communicator/Communicator_mpi3.cc | 54 ++++++++++++++++++++++-----
 1 file changed, 44 insertions(+), 10 deletions(-)

diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index 1a36e610..240aa09e 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -196,10 +196,12 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   }
 
   ShmCommBufs.resize(ShmSize);
+  ShmStencilBufs.resize(ShmSize);
   for(int r=0;r<ShmSize;r++){
     MPI_Aint sz;
     int dsp_unit;
     MPI_Win_shared_query (ShmWindow, r, &sz, &dsp_unit, &ShmCommBufs[r]);
+    ShmStencilBufs[r] = (void *) ((uint64_t)ShmCommBufs[r]+MAX_MPI_SHM_BYTES/4);
   }
   
   ////////////////////////////////////////////////////////////////
@@ -341,30 +343,54 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 						int from,
 						int bytes)
 {
+#undef SHM_USE_BCOPY
   MPI_Request xrq;
   MPI_Request rrq;
   
+  static int sequence;
+
   int rank = _processor;
   int ierr;
   int tag;
-  int small = (bytes<MAX_MPI_SHM_BYTES) || (shm_mode==0);
-  static int sequence;
   int check;
+
   assert(dest != _processor);
   assert(from != _processor);
   
   int gdest = GroupRanks[dest];
   int gme   = GroupRanks[_processor];
+
   sequence++;
   
+  char *to_ptr   = (char *)ShmCommBufs[gdest];
+  char *from_ptr = (char *)ShmCommBufs[ShmRank];
+
+  int small = (bytes<MAX_MPI_SHM_BYTES) || (shm_mode==0);
+
+#ifndef SHM_USE_BCOPY
+  int words = bytes>>2;
+  assert(((size_t)bytes &0x3)==0);
+  assert(((size_t)xmit  &0x3)==0);
+  assert(((size_t)recv  &0x3)==0);
+#endif
+
   assert(gme == ShmRank);
   
   if ( small && (dest !=MPI_UNDEFINED) ) {
-    char *ptr = (char *)ShmCommBufs[gdest];
     assert(gme != gdest);
-    GridThread::bcopy(xmit,ptr,bytes);
-    bcopy(&_processor,&ptr[bytes],sizeof(_processor));
-    bcopy(&  sequence,&ptr[bytes+4],sizeof(sequence));
+    float *ip = (float *)xmit;
+    float *op = (float *)to_ptr;
+
+#ifdef SHM_USE_BCOPY
+    bcopy(ip,op,bytes);
+#else
+    PARALLEL_FOR_LOOP 
+    for(int w=0;w<words;w++) {
+      op[w]=ip[w];
+    }
+#endif
+    bcopy(&_processor,&to_ptr[bytes],sizeof(_processor));
+    bcopy(&  sequence,&to_ptr[bytes+4],sizeof(sequence));
   } else { 
     ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
     assert(ierr==0);
@@ -376,10 +402,18 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
   MPI_Win_sync (ShmWindow);   
   
   if (small && (from !=MPI_UNDEFINED) ) {
-    char *ptr = (char *)ShmCommBufs[ShmRank];
-    GridThread::bcopy(ptr,recv,bytes);
-    bcopy(&ptr[bytes]  ,&tag  ,sizeof(tag));
-    bcopy(&ptr[bytes+4],&check,sizeof(check));
+    float *ip = (float *)from_ptr;
+    float *op = (float *)recv;
+#ifdef SHM_USE_BCOPY
+    bcopy(ip,op,bytes);
+#else
+    PARALLEL_FOR_LOOP 
+    for(int w=0;w<words;w++) {
+      op[w]=ip[w];
+    }
+#endif
+    bcopy(&from_ptr[bytes]  ,&tag  ,sizeof(tag));
+    bcopy(&from_ptr[bytes+4],&check,sizeof(check));
     assert(check==sequence);
     assert(tag==from);
   } else { 

From 2c54a53d0a3b473c62b21f0ccd500e43ba197dea Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 21 Oct 2016 12:12:14 +0100
Subject: [PATCH 225/295] Compile verbose reduce

---
 lib/Threads.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/Threads.h b/lib/Threads.h
index 70350685..08e5d545 100644
--- a/lib/Threads.h
+++ b/lib/Threads.h
@@ -31,7 +31,6 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #ifdef _OPENMP
 #define GRID_OMP
-#warning "OpenMP"
 #endif
 
 #define UNROLL  _Pragma("unroll")

From 63d219498ba4a036d74c8520e7455c94543cff49 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 21 Oct 2016 13:10:13 +0100
Subject: [PATCH 226/295] first (dirty) implementation of Feynman stoctachtic
 EM field

---
 lib/qcd/action/gauge/Photon.h | 344 ++++++++++++++++++++++------------
 1 file changed, 226 insertions(+), 118 deletions(-)

diff --git a/lib/qcd/action/gauge/Photon.h b/lib/qcd/action/gauge/Photon.h
index 29d40f8b..ea6f21b9 100644
--- a/lib/qcd/action/gauge/Photon.h
+++ b/lib/qcd/action/gauge/Photon.h
@@ -1,126 +1,234 @@
-    /*************************************************************************************
-
-    Grid physics library, www.github.com/paboyle/Grid 
-
-    Source file: ./lib/qcd/action/gauge/Photon.h
-
-    Copyright (C) 2015
-
-Author: Peter Boyle <paboyle@ph.ed.ac.uk>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
+/*************************************************************************************
+ 
+ Grid physics library, www.github.com/paboyle/Grid
+ 
+ Source file: ./lib/qcd/action/gauge/Photon.h
+ 
+ Copyright (C) 2015
+ 
+ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+ 
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ 
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ 
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+ See the full license in the file "LICENSE" in the top level distribution directory
+ *************************************************************************************/
+/*  END LEGAL */
 #ifndef QCD_PHOTON_ACTION_H
 #define QCD_PHOTON_ACTION_H
 
 namespace Grid{
-  namespace QCD{
+namespace QCD{
+  
+  template<class Gimpl>
+  class Photon
+  {
+  public:
+    INHERIT_GIMPL_TYPES(Gimpl);
+    enum class Gauge    {Feynman, Coulomb, Landau};
+    enum class ZmScheme {QedL, QedTL};
+  public:
+    Photon(Gauge gauge, ZmScheme zmScheme);
+    virtual ~Photon(void) = default;
+    void FreePropagator(const GaugeField &in, GaugeField &out);
+    void MomentumSpacePropagator(const GaugeField &in, GaugeField &out);
+    void StochasticField(GaugeField &out, GridParallelRNG &rng);
+  private:
+    void kHatSquared(GaugeLinkField &out);
+    void zmSub(GaugeLinkField &out);
+  private:
+    Gauge    gauge_;
+    ZmScheme zmScheme_;
+  };
 
-    template<class Gimpl>
-    class Photon  {
-      
-    public:
-
-      INHERIT_GIMPL_TYPES(Gimpl);
-
-      enum PhotonType { FEYNMAN_L, FEYNMAN_TL };
-
-      PhotonType GaugeBC;
-      
-      Photon(PhotonType _GaugeBC) : GaugeBC(_GaugeBC){};
-
-      void  FreePropagator (const GaugeField &in,GaugeField &out) {
-	FFT theFFT((GridCartesian *) in._grid);
-
-	GaugeField in_k(in._grid);
-	GaugeField prop_k(in._grid);
-
-	theFFT.FFT_all_dim(in_k,in,FFT::forward);
-        MomentumSpacePropagator(prop_k,in_k);
-	theFFT.FFT_all_dim(out,prop_k,FFT::backward);
-      }
-      void  MomentumSpacePropagator(GaugeField &out,const GaugeField &in) {
-	if ( GaugeBC == FEYNMAN_L ) { 
-	  FeynmanGaugeMomentumSpacePropagator_L(out,in);
-	} else if ( GaugeBC == FEYNMAN_TL ) { 
-	  FeynmanGaugeMomentumSpacePropagator_TL(out,in);
-	} else {  // No coulomb yet
-	  assert(0);
-	}
-      } 
-      void  FeynmanGaugeMomentumSpacePropagator_L(GaugeField &out, const GaugeField &in) { 
-
-	FeynmanGaugeMomentumSpacePropagator_TL(out,in);
-
-	GridBase *grid = out._grid;
-	LatticeInteger     coor(grid);
-	GaugeField zz(grid); zz=zero;
-
-	// xyzt
-	for(int d = 0; d < grid->_ndimension-1;d++){
-	  LatticeCoordinate(coor,d);
-	  out = where(coor==Integer(0),zz,out);
-	}
-      }
-
-      void  FeynmanGaugeMomentumSpacePropagator_TL(GaugeField &out, const GaugeField &in) { 
-
-	// what type LatticeComplex 
-	GridBase *grid = out._grid;
-	int nd = grid->_ndimension;
-
-	typedef typename GaugeField::vector_type vector_type;
-	typedef typename GaugeField::scalar_type ScalComplex;
-	typedef Lattice<iSinglet<vector_type> > LatComplex;
+  template<class Gimpl>
+  Photon<Gimpl>::Photon(Gauge gauge, ZmScheme zmScheme)
+  : gauge_(gauge), zmScheme_(zmScheme)
+  {}
+  
+  template<class Gimpl>
+  void Photon<Gimpl>::FreePropagator (const GaugeField &in,GaugeField &out)
+  {
+    FFT theFFT(in._grid);
     
-	std::vector<int> latt_size   = grid->_fdimensions;
-
-	LatComplex denom(grid); denom= zero;
-	LatComplex   one(grid); one = ScalComplex(1.0,0.0);
-	LatComplex   kmu(grid); 
-
-	ScalComplex ci(0.0,1.0);
-	// momphase = n * 2pi / L
-	for(int mu=0;mu<Nd;mu++) {
-	  
-	  LatticeCoordinate(kmu,mu);
-	  
-	  RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
-
-	  kmu = TwoPiL * kmu ;
-	  
-	  denom = denom + 4.0*sin(kmu*0.5)*sin(kmu*0.5); // Wilson term
-	}
-	std::vector<int> zero_mode(nd,0);
-	TComplexD Tone = ComplexD(1.0,0.0);
-	TComplexD Tzero= ComplexD(0.0,0.0);
-
-	pokeSite(Tone,denom,zero_mode); 
-
-	denom= one/denom;
-	
-	pokeSite(Tzero,denom,zero_mode); 
-
-	out = zero;
-	out = in*denom;
-      };
-
-    };
-
+    GaugeField in_k(in._grid);
+    GaugeField prop_k(in._grid);
+    
+    theFFT.FFT_all_dim(in_k,in,FFT::forward);
+    MomentumSpacePropagator(prop_k,in_k);
+    theFFT.FFT_all_dim(out,prop_k,FFT::backward);
+  }
+  
+  template<class Gimpl>
+  void Photon<Gimpl>::kHatSquared(GaugeLinkField &out)
+  {
+    GridBase           *grid = out._grid;
+    GaugeLinkField     kmu(grid);
+    const unsigned int nd    = grid->_ndimension;
+    std::vector<int>   &l    = grid->_fdimensions;
+    
+    out = zero;
+    for(int mu = 0; mu < nd; mu++)
+    {
+      RealD twoPiL = M_PI*2./l[mu];
+      
+      LatticeCoordinate(kmu,mu);
+      kmu = 2.*sin(.5*twoPiL*kmu);
+      out = out + kmu*kmu;
+    }
+  }
+  
+  template<class Gimpl>
+  void Photon<Gimpl>::zmSub(GaugeLinkField &out)
+  {
+    GridBase           *grid = out._grid;
+    const unsigned int nd    = grid->_ndimension;
+    
+    switch (zmScheme_)
+    {
+      case ZmScheme::QedTL:
+      {
+        std::vector<int> zm(nd,0);
+        TComplexD        Tzero = ComplexD(0.0,0.0);
+        
+        pokeSite(Tzero, out, zm);
+        
+        break;
+      }
+      case ZmScheme::QedL:
+      {
+        LatticeInteger spNrm(grid), coor(grid);
+        GaugeLinkField z(grid);
+        
+        spNrm = zero;
+        for(int d = 0; d < grid->_ndimension - 1; d++)
+        {
+          LatticeCoordinate(coor,d);
+          spNrm = spNrm + coor*coor;
+        }
+        out = where(spNrm == 0, 0.*out, out);
+        
+        break;
+      }
+      default:
+        break;
+    }
+  }
+  
+  template<class Gimpl>
+  void Photon<Gimpl>::MomentumSpacePropagator(const GaugeField &in,
+                                               GaugeField &out)
+  {
+    GridBase           *grid = out._grid;
+    const unsigned int nd    = grid->_ndimension;
+    LatticeComplex     k2Inv(grid), one(grid);
+    
+    one = ComplexD(1.0,0.0);
+    kHatSquared(k2Inv);
+    
+    std::vector<int> zm(nd,0);
+    TComplexD Tone = ComplexD(1.0,0.0);
+    TComplexD Tzero= ComplexD(0.0,0.0);
+    
+    pokeSite(Tone, k2Inv, zm);
+    k2Inv = one/k2Inv;
+    pokeSite(Tzero, k2Inv,zm);
+    
+    out = in*k2Inv;
+  }
+  
+  template<class Gimpl>
+  void Photon<Gimpl>::StochasticField(GaugeField &out, GridParallelRNG &rng)
+  {
+    auto               *grid = out._grid;
+    const unsigned int nd = grid->_ndimension;
+    GaugeLinkField     k2(grid), r(grid);
+    GaugeField         aTilde(grid);
+    FFT                fft(grid);
+    
+    kHatSquared(k2);
+    zmSub(k2);
+    for(int mu = 0; mu < nd; mu++)
+    {
+      gaussian(rng, r);
+      r = k2*r;
+      pokeLorentz(aTilde, r, mu);
+    }
+    fft.FFT_all_dim(out, aTilde, FFT::backward);
+  }
+//  template<class Gimpl>
+//  void Photon<Gimpl>::FeynmanGaugeMomentumSpacePropagator_L(GaugeField &out,
+//                                                            const GaugeField &in)
+//  {
+//    
+//    FeynmanGaugeMomentumSpacePropagator_TL(out,in);
+//    
+//    GridBase *grid = out._grid;
+//    LatticeInteger     coor(grid);
+//    GaugeField zz(grid); zz=zero;
+//    
+//    // xyzt
+//    for(int d = 0; d < grid->_ndimension-1;d++){
+//      LatticeCoordinate(coor,d);
+//      out = where(coor==Integer(0),zz,out);
+//    }
+//  }
+//  
+//  template<class Gimpl>
+//  void Photon<Gimpl>::FeynmanGaugeMomentumSpacePropagator_TL(GaugeField &out,
+//                                                             const GaugeField &in)
+//  {
+//    
+//    // what type LatticeComplex
+//    GridBase *grid = out._grid;
+//    int nd = grid->_ndimension;
+//    
+//    typedef typename GaugeField::vector_type vector_type;
+//    typedef typename GaugeField::scalar_type ScalComplex;
+//    typedef Lattice<iSinglet<vector_type> > LatComplex;
+//    
+//    std::vector<int> latt_size   = grid->_fdimensions;
+//    
+//    LatComplex denom(grid); denom= zero;
+//    LatComplex   one(grid); one = ScalComplex(1.0,0.0);
+//    LatComplex   kmu(grid);
+//    
+//    ScalComplex ci(0.0,1.0);
+//    // momphase = n * 2pi / L
+//    for(int mu=0;mu<Nd;mu++) {
+//      
+//      LatticeCoordinate(kmu,mu);
+//      
+//      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+//      
+//      kmu = TwoPiL * kmu ;
+//      
+//      denom = denom + 4.0*sin(kmu*0.5)*sin(kmu*0.5); // Wilson term
+//    }
+//    std::vector<int> zero_mode(nd,0);
+//    TComplexD Tone = ComplexD(1.0,0.0);
+//    TComplexD Tzero= ComplexD(0.0,0.0);
+//    
+//    pokeSite(Tone,denom,zero_mode);
+//    
+//    denom= one/denom;
+//    
+//    pokeSite(Tzero,denom,zero_mode);
+//    
+//    out = zero;
+//    out = in*denom;
+//  };
+  
 }}
 #endif

From f331809c2715cd4dc1b0e486c77d8552010a79de Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 21 Oct 2016 13:35:37 +0100
Subject: [PATCH 227/295] Use variable type for loop

---
 lib/communicator/Communicator_mpi3.cc | 45 ++++++++++++++++++++-------
 1 file changed, 34 insertions(+), 11 deletions(-)

diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index 240aa09e..7d5ffff3 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -1,3 +1,4 @@
+
     /*************************************************************************************
 
     Grid physics library, www.github.com/paboyle/Grid 
@@ -181,6 +182,7 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
     ShmCommBuf = 0;
     ierr = MPI_Win_allocate_shared(MAX_MPI_SHM_BYTES,1,MPI_INFO_NULL,ShmComm,&ShmCommBuf,&ShmWindow);
     assert(ierr==0);
+    MPI_Win_lock_all (MPI_MODE_NOCHECK, ShmWindow);
 
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     // Verbose for now
@@ -368,22 +370,24 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
   int small = (bytes<MAX_MPI_SHM_BYTES) || (shm_mode==0);
 
 #ifndef SHM_USE_BCOPY
-  int words = bytes>>2;
-  assert(((size_t)bytes &0x3)==0);
-  assert(((size_t)xmit  &0x3)==0);
-  assert(((size_t)recv  &0x3)==0);
+  typedef double T;
+  int words = bytes/sizeof(T);
+  assert(((size_t)bytes &(sizeof(T)-1))==0);
+  //  assert(((size_t)xmit  &(sizeof(T)-1))==0);
+  //  assert(((size_t)recv  &(sizeof(T)-1))==0);
 #endif
 
   assert(gme == ShmRank);
-  
+
+  //  std::cerr << "proc dest from gme  gdest "<<_processor<<" "<<dest <<" "<< from <<" "<<gme<<" "<< gdest<<std::endl; Barrier();
   if ( small && (dest !=MPI_UNDEFINED) ) {
     assert(gme != gdest);
-    float *ip = (float *)xmit;
-    float *op = (float *)to_ptr;
 
 #ifdef SHM_USE_BCOPY
-    bcopy(ip,op,bytes);
+    bcopy(xmit,to_ptr,bytes);
 #else
+    T *ip = (T *)xmit;
+    T *op = (T *)to_ptr;
     PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
       op[w]=ip[w];
@@ -397,16 +401,19 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
     list.push_back(xrq);
   }
   
+  //  std::cout << "Syncing "<<std::endl; Barrier();
   MPI_Win_sync (ShmWindow);   
   MPI_Barrier  (ShmComm);
   MPI_Win_sync (ShmWindow);   
+
+  //  std::cout << "Receiving "<<std::endl; Barrier();
   
   if (small && (from !=MPI_UNDEFINED) ) {
-    float *ip = (float *)from_ptr;
-    float *op = (float *)recv;
 #ifdef SHM_USE_BCOPY
-    bcopy(ip,op,bytes);
+    bcopy(from_ptr,recv,bytes);
 #else
+    T *ip = (T *)from_ptr;
+    T *op = (T *)recv;
     PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
       op[w]=ip[w];
@@ -422,9 +429,25 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
     list.push_back(rrq);
   }
   
+  //  std::cout << "Syncing"<<std::endl; Barrier();
+
   MPI_Win_sync (ShmWindow);   
   MPI_Barrier  (ShmComm);
   MPI_Win_sync (ShmWindow);   
+
+#if 0
+  MPI_Request xrq;
+  MPI_Request rrq;
+  int rank = _processor;
+  int ierr;
+  ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
+  ierr|=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
+  
+  assert(ierr==0);
+
+  list.push_back(xrq);
+  list.push_back(rrq);
+#endif
 }
 
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)

From fad96cf2507a5a36bfe3fdd7f9dd9bb19be15543 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 21 Oct 2016 13:36:00 +0100
Subject: [PATCH 228/295] StencilBufs

---
 lib/communicator/Communicator_base.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index 6d6602be..f2a6bf00 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -80,6 +80,7 @@ class CartesianCommunicator {
 
     void * ShmCommBuf;
     std::vector<void *> ShmCommBufs;
+    std::vector<void *> ShmStencilBufs;
 
     int WorldRank;
     int WorldSize;

From 6a9eae6b6b5253fa6372f0a742110517e92b209a Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 21 Oct 2016 13:36:18 +0100
Subject: [PATCH 229/295] Reporting improvements

---
 lib/qcd/action/fermion/WilsonFermion5D.cc | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonFermion5D.cc b/lib/qcd/action/fermion/WilsonFermion5D.cc
index a96b6fca..7c4fafff 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.cc
+++ b/lib/qcd/action/fermion/WilsonFermion5D.cc
@@ -194,7 +194,7 @@ void WilsonFermion5D<Impl>::Report(void)
     std::cout << GridLogMessage << "WilsonFermion5D ComputeTime/Calls        : "
               << DhopComputeTime / DhopCalls << " us" << std::endl;
 
-    RealD mflops = 1344*volume*DhopCalls/DhopComputeTime;
+    RealD mflops = 1344*volume*DhopCalls/DhopComputeTime/2; // 2 for red black counting
     std::cout << GridLogMessage << "Average mflops/s per call                : " << mflops << std::endl;
     std::cout << GridLogMessage << "Average mflops/s per call per node       : " << mflops/NP << std::endl;
 
@@ -396,7 +396,6 @@ void WilsonFermion5D<Impl>::DhopInternal(StencilImpl & st, LebesgueOrder &lo,
            DoubledGaugeField & U,
            const FermionField &in, FermionField &out,int dag)
 {
-  DhopCalls++;
   //  assert((dag==DaggerNo) ||(dag==DaggerYes));
   Compressor compressor(dag);
 
@@ -454,6 +453,7 @@ void WilsonFermion5D<Impl>::DhopInternal(StencilImpl & st, LebesgueOrder &lo,
 template<class Impl>
 void WilsonFermion5D<Impl>::DhopOE(const FermionField &in, FermionField &out,int dag)
 {
+  DhopCalls++;
   conformable(in._grid,FermionRedBlackGrid());    // verifies half grid
   conformable(in._grid,out._grid); // drops the cb check
 
@@ -465,6 +465,7 @@ void WilsonFermion5D<Impl>::DhopOE(const FermionField &in, FermionField &out,int
 template<class Impl>
 void WilsonFermion5D<Impl>::DhopEO(const FermionField &in, FermionField &out,int dag)
 {
+  DhopCalls++;
   conformable(in._grid,FermionRedBlackGrid());    // verifies half grid
   conformable(in._grid,out._grid); // drops the cb check
 
@@ -476,6 +477,7 @@ void WilsonFermion5D<Impl>::DhopEO(const FermionField &in, FermionField &out,int
 template<class Impl>
 void WilsonFermion5D<Impl>::Dhop(const FermionField &in, FermionField &out,int dag)
 {
+  DhopCalls+=2;
   conformable(in._grid,FermionGrid()); // verifies full grid
   conformable(in._grid,out._grid);
 

From 462921e5491fbef99c93cfc460819890b0a63b66 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 21 Oct 2016 14:41:08 +0100
Subject: [PATCH 230/295] QED: fix stochastic field

---
 lib/qcd/action/gauge/Photon.h | 37 +++++++++++++++++------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

diff --git a/lib/qcd/action/gauge/Photon.h b/lib/qcd/action/gauge/Photon.h
index ea6f21b9..aac72898 100644
--- a/lib/qcd/action/gauge/Photon.h
+++ b/lib/qcd/action/gauge/Photon.h
@@ -45,7 +45,7 @@ namespace QCD{
     void MomentumSpacePropagator(const GaugeField &in, GaugeField &out);
     void StochasticField(GaugeField &out, GridParallelRNG &rng);
   private:
-    void kHatSquared(GaugeLinkField &out);
+    void invKHatSquared(GaugeLinkField &out);
     void zmSub(GaugeLinkField &out);
   private:
     Gauge    gauge_;
@@ -71,13 +71,17 @@ namespace QCD{
   }
   
   template<class Gimpl>
-  void Photon<Gimpl>::kHatSquared(GaugeLinkField &out)
+  void Photon<Gimpl>::invKHatSquared(GaugeLinkField &out)
   {
     GridBase           *grid = out._grid;
-    GaugeLinkField     kmu(grid);
+    GaugeLinkField     kmu(grid), one(grid);
     const unsigned int nd    = grid->_ndimension;
     std::vector<int>   &l    = grid->_fdimensions;
+    std::vector<int>   zm(nd,0);
+    TComplexD          Tone = ComplexD(1.0,0.0);
+    TComplexD          Tzero= ComplexD(0.0,0.0);
     
+    one = ComplexD(1.0,0.0);
     out = zero;
     for(int mu = 0; mu < nd; mu++)
     {
@@ -87,6 +91,9 @@ namespace QCD{
       kmu = 2.*sin(.5*twoPiL*kmu);
       out = out + kmu*kmu;
     }
+    pokeSite(Tone, out, zm);
+    out = one/out;
+    pokeSite(Tzero, out,zm);
   }
   
   template<class Gimpl>
@@ -131,19 +138,10 @@ namespace QCD{
                                                GaugeField &out)
   {
     GridBase           *grid = out._grid;
-    const unsigned int nd    = grid->_ndimension;
-    LatticeComplex     k2Inv(grid), one(grid);
+    LatticeComplex     k2Inv(grid);
     
-    one = ComplexD(1.0,0.0);
-    kHatSquared(k2Inv);
-    
-    std::vector<int> zm(nd,0);
-    TComplexD Tone = ComplexD(1.0,0.0);
-    TComplexD Tzero= ComplexD(0.0,0.0);
-    
-    pokeSite(Tone, k2Inv, zm);
-    k2Inv = one/k2Inv;
-    pokeSite(Tzero, k2Inv,zm);
+    invKHatSquared(k2Inv);
+    zmSub(k2Inv);
     
     out = in*k2Inv;
   }
@@ -153,16 +151,17 @@ namespace QCD{
   {
     auto               *grid = out._grid;
     const unsigned int nd = grid->_ndimension;
-    GaugeLinkField     k2(grid), r(grid);
+    GaugeLinkField     sqrtK2Inv(grid), r(grid);
     GaugeField         aTilde(grid);
     FFT                fft(grid);
     
-    kHatSquared(k2);
-    zmSub(k2);
+    invKHatSquared(sqrtK2Inv);
+    sqrtK2Inv = sqrt(real(sqrtK2Inv));
+    zmSub(sqrtK2Inv);
     for(int mu = 0; mu < nd; mu++)
     {
       gaussian(rng, r);
-      r = k2*r;
+      r = sqrtK2Inv*r;
       pokeLorentz(aTilde, r, mu);
     }
     fft.FFT_all_dim(out, aTilde, FFT::backward);

From 09fd5c43a711900e101dc1e3d2a449b8a4f1a93c Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 21 Oct 2016 15:17:39 +0100
Subject: [PATCH 231/295] Reasonably fast version

---
 lib/communicator/Communicator_mpi3.cc | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index 7d5ffff3..5c7bb09b 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -28,6 +28,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     /*  END LEGAL */
 #include "Grid.h"
 #include <mpi.h>
+#include <numaif.h>
 
 namespace Grid {
 
@@ -182,6 +183,15 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
     ShmCommBuf = 0;
     ierr = MPI_Win_allocate_shared(MAX_MPI_SHM_BYTES,1,MPI_INFO_NULL,ShmComm,&ShmCommBuf,&ShmWindow);
     assert(ierr==0);
+    for(uint64_t page=0;page<MAX_MPI_SHM_BYTES;page+=4096){
+      void *pages = (void *) ( page + ShmCommBuf );
+      int status;
+      int flags=MPOL_MF_MOVE_ALL;
+      int nodes=1; // numa domain == MCDRAM
+      unsigned long count=1;
+      ierr= move_pages(0,count, &pages,&nodes,&status,flags);
+      if (ierr && (page==0)) perror("numa relocate command failed");
+    }
     MPI_Win_lock_all (MPI_MODE_NOCHECK, ShmWindow);
 
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -367,10 +377,10 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
   char *to_ptr   = (char *)ShmCommBufs[gdest];
   char *from_ptr = (char *)ShmCommBufs[ShmRank];
 
-  int small = (bytes<MAX_MPI_SHM_BYTES) || (shm_mode==0);
+  int small = (bytes<MAX_MPI_SHM_BYTES);
 
 #ifndef SHM_USE_BCOPY
-  typedef double T;
+  typedef long long T __attribute__ ((__vector_size__ (16)));
   int words = bytes/sizeof(T);
   assert(((size_t)bytes &(sizeof(T)-1))==0);
   //  assert(((size_t)xmit  &(sizeof(T)-1))==0);

From 7c8f79b1479e9f15d1c82c27579f8741757a41f8 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 21 Oct 2016 15:20:12 +0100
Subject: [PATCH 232/295] more stochastic QED fixes

---
 lib/qcd/action/Actions.h      | 1 +
 lib/qcd/action/gauge/Photon.h | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/qcd/action/Actions.h b/lib/qcd/action/Actions.h
index ba6e577d..a23c6495 100644
--- a/lib/qcd/action/Actions.h
+++ b/lib/qcd/action/Actions.h
@@ -57,6 +57,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 ////////////////////////////////////////////
 // Gauge Actions
 ////////////////////////////////////////////
+#include <Grid/qcd/action/gauge/Photon.h>
 #include <Grid/qcd/action/gauge/WilsonGaugeAction.h>
 #include <Grid/qcd/action/gauge/PlaqPlusRectangleAction.h>
 
diff --git a/lib/qcd/action/gauge/Photon.h b/lib/qcd/action/gauge/Photon.h
index aac72898..0dd5a9dc 100644
--- a/lib/qcd/action/gauge/Photon.h
+++ b/lib/qcd/action/gauge/Photon.h
@@ -124,7 +124,7 @@ namespace QCD{
           LatticeCoordinate(coor,d);
           spNrm = spNrm + coor*coor;
         }
-        out = where(spNrm == 0, 0.*out, out);
+        out = where(spNrm == Integer(0), 0.*out, out);
         
         break;
       }
@@ -149,7 +149,7 @@ namespace QCD{
   template<class Gimpl>
   void Photon<Gimpl>::StochasticField(GaugeField &out, GridParallelRNG &rng)
   {
-    auto               *grid = out._grid;
+    auto               *grid = dynamic_cast<GridCartesian *>(out._grid);
     const unsigned int nd = grid->_ndimension;
     GaugeLinkField     sqrtK2Inv(grid), r(grid);
     GaugeField         aTilde(grid);

From 75ebd3a0d135fb58095362c7f6432c779f4745b2 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 21 Oct 2016 22:34:29 +0100
Subject: [PATCH 233/295] Typo fixes and rotate for CLANG

---
 lib/simd/Grid_avx512.h    | 12 +++++++++++-
 lib/simd/Intel512avx.h    |  2 +-
 lib/simd/Intel512common.h |  2 +-
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/lib/simd/Grid_avx512.h b/lib/simd/Grid_avx512.h
index 821898d9..45d6d988 100644
--- a/lib/simd/Grid_avx512.h
+++ b/lib/simd/Grid_avx512.h
@@ -41,6 +41,16 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 namespace Grid{
 namespace Optimization {
+
+  union u512f {
+    __m512 v;
+    float f[16];
+  };
+
+  union u512d {
+    __m512d v;
+    double f[8];
+  };
   
   struct Vsplat{
     //Complex float
@@ -361,7 +371,7 @@ namespace Optimization {
   // Some Template specialization
 
   // Hack for CLANG until mm512_reduce_add_ps etc... are implemented in GCC and Clang releases
-#undef GNU_CLANG_COMPILER 
+#define GNU_CLANG_COMPILER 
 #ifdef GNU_CLANG_COMPILER
   //Complex float Reduce
   template<>
diff --git a/lib/simd/Intel512avx.h b/lib/simd/Intel512avx.h
index cdd54a33..19157db4 100644
--- a/lib/simd/Intel512avx.h
+++ b/lib/simd/Intel512avx.h
@@ -53,7 +53,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #define ZMULMEM2SPd(O,P,tmp,B,C,Briir,Biirr,Criir,Ciirr)\
   VSHUFMEMd(O,P,tmp)  \
-  VMULMEMd(O,P,B,Biirr)  \ 
+  VMULMEMd(O,P,B,Biirr)  \
   VMULMEMd(O,P,C,Ciirr)  \
   VMULd(tmp,B,Briir)  \
   VMULd(tmp,C,Criir) 
diff --git a/lib/simd/Intel512common.h b/lib/simd/Intel512common.h
index dbfb30c2..cfa20c26 100644
--- a/lib/simd/Intel512common.h
+++ b/lib/simd/Intel512common.h
@@ -37,7 +37,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 // Opcodes common 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 #define MASK_REGS \
-  __asm__ ("mov     $0xAAAA, %%eax \n"\ 
+  __asm__ ("mov     $0xAAAA, %%eax \n"\
            "kmovw    %%eax, %%k6 \n"\
            "mov     $0x5555, %%eax \n"\
            "kmovw    %%eax, %%k7 \n" : : : "%eax");

From 910b8dd6a1d89443ed42306439161db09d05d81b Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 21 Oct 2016 22:35:29 +0100
Subject: [PATCH 234/295] use simd type

---
 lib/communicator/Communicator_mpi3.cc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index 5c7bb09b..be4e66a9 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -380,7 +380,7 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
   int small = (bytes<MAX_MPI_SHM_BYTES);
 
 #ifndef SHM_USE_BCOPY
-  typedef long long T __attribute__ ((__vector_size__ (16)));
+  typedef vRealD T;
   int words = bytes/sizeof(T);
   assert(((size_t)bytes &(sizeof(T)-1))==0);
   //  assert(((size_t)xmit  &(sizeof(T)-1))==0);
@@ -400,7 +400,7 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
     T *op = (T *)to_ptr;
     PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
-      op[w]=ip[w];
+      vstream(op[w],ip[w]);
     }
 #endif
     bcopy(&_processor,&to_ptr[bytes],sizeof(_processor));
@@ -426,7 +426,7 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
     T *op = (T *)recv;
     PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
-      op[w]=ip[w];
+      vstream(op[w],ip[w]);
     }
 #endif
     bcopy(&from_ptr[bytes]  ,&tag  ,sizeof(tag));

From 0fcd2e71882e555966a4d38ce9252128756cef13 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 21 Oct 2016 22:44:10 +0100
Subject: [PATCH 235/295] Simplify the comms structure prior to implementing
 Shared memory direct bouncs

---
 lib/Stencil.h | 168 +++++++++++++++-----------------------------------
 1 file changed, 49 insertions(+), 119 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index 65de9945..4850425b 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -70,20 +70,20 @@
 
  namespace Grid {
 
-template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple_table_compute (const Lattice<vobj> &rhs,commVector<cobj> &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,std::vector<std::pair<int,int> >& table)
+inline void Gather_plane_simple_table_compute (GridBase *grid,int dimension,int plane,int cbmask,
+					       int off,std::vector<std::pair<int,int> > & table)
 {
   table.resize(0);
-  int rd = rhs._grid->_rdimensions[dimension];
+  int rd = grid->_rdimensions[dimension];
 
-  if ( !rhs._grid->CheckerBoarded(dimension) ) {
+  if ( !grid->CheckerBoarded(dimension) ) {
     cbmask = 0x3;
   }
-  int so= plane*rhs._grid->_ostride[dimension]; // base offset for start of plane 
-  int e1=rhs._grid->_slice_nblock[dimension];
-  int e2=rhs._grid->_slice_block[dimension];
+  int so= plane*grid->_ostride[dimension]; // base offset for start of plane 
+  int e1=grid->_slice_nblock[dimension];
+  int e2=grid->_slice_block[dimension];
 
-  int stride=rhs._grid->_slice_stride[dimension];
+  int stride=grid->_slice_stride[dimension];
   if ( cbmask == 0x3 ) { 
     table.resize(e1*e2);
     for(int n=0;n<e1;n++){
@@ -99,7 +99,7 @@ Gather_plane_simple_table_compute (const Lattice<vobj> &rhs,commVector<cobj> &bu
      for(int n=0;n<e1;n++){
        for(int b=0;b<e2;b++){
 	 int o  = n*stride;
-	 int ocb=1<<rhs._grid->CheckerBoardFromOindexTable(o+b);
+	 int ocb=1<<grid->CheckerBoardFromOindexTable(o+b);
 	 if ( ocb &cbmask ) {
 	   table[bo]=std::pair<int,int>(bo,o+b); bo++;
 	 }
@@ -109,8 +109,7 @@ Gather_plane_simple_table_compute (const Lattice<vobj> &rhs,commVector<cobj> &bu
 }
 
 template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple_table (std::vector<std::pair<int,int> >& table,const Lattice<vobj> &rhs,commVector<cobj> &buffer,
-			   compressor &compress, int off,int so)
+Gather_plane_simple_table (std::vector<std::pair<int,int> >& table,const Lattice<vobj> &rhs,cobj *buffer,compressor &compress, int off,int so)
 {
 PARALLEL_FOR_LOOP     
      for(int i=0;i<table.size();i++){
@@ -119,11 +118,11 @@ PARALLEL_FOR_LOOP
 }
 
 template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,int dimension,int plane,int cbmask,compressor &compress, int off,
+Gather_plane_simple_stencil (const Lattice<vobj> &rhs,cobj *buffer,int dimension,int plane,int cbmask,compressor &compress, int off,
 			     double &t_table ,double & t_data )
 {
   std::vector<std::pair<int,int> > table;
-  Gather_plane_simple_table_compute (rhs, buffer,dimension,plane,cbmask,compress,off,table);
+  Gather_plane_simple_table_compute (rhs._grid,dimension,plane,cbmask,off,table);
   int so  = plane*rhs._grid->_ostride[dimension]; // base offset for start of plane 
   Gather_plane_simple_table         (table,rhs,buffer,compress,off,so);
 }
@@ -143,10 +142,11 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,i
    class CartesianStencil { // Stencil runs along coordinate axes only; NO diagonal fill in.
    public:
 
-       typedef uint32_t StencilInteger;
-       typedef typename cobj::vector_type vector_type;
-       typedef typename cobj::scalar_type scalar_type;
-       typedef typename cobj::scalar_object scalar_object;
+     typedef CartesianCommunicator::CommsRequest_t CommsRequest_t;
+     typedef uint32_t StencilInteger;
+     typedef typename cobj::vector_type vector_type;
+     typedef typename cobj::scalar_type scalar_type;
+     typedef typename cobj::scalar_object scalar_object;
 
        //////////////////////////////////////////
        // Comms packet queue for asynch thread
@@ -158,7 +158,6 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,i
 	 Integer to_rank;
 	 Integer from_rank;
 	 Integer bytes;
-	 volatile Integer done;
        };
 
        std::vector<Packet> Packets;
@@ -166,81 +165,39 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,i
        int face_table_computed;
        std::vector<std::vector<std::pair<int,int> > > face_table ;
        
-#define SEND_IMMEDIATE
-#define SERIAL_SENDS
-
        void AddPacket(void *xmit,void * rcv, Integer to,Integer from,Integer bytes){
- #ifdef SEND_IMMEDIATE
-	 commtime-=usecond();
-	 _grid->SendToRecvFrom(xmit,to,rcv,from,bytes);
-	 commtime+=usecond();
- #endif
 	 Packet p;
 	 p.send_buf = xmit;
 	 p.recv_buf = rcv;
 	 p.to_rank  = to;
 	 p.from_rank= from;
 	 p.bytes    = bytes;
-	 p.done     = 0;
 	 comms_bytes+=2.0*bytes;
 	 Packets.push_back(p);
-
        }
 
- #ifdef SERIAL_SENDS
-       void Communicate(void ) { 
-	 commtime-=usecond();
+       void CommunicateBegin(std::vector<std::vector<CommsRequest_t> > &reqs)
+       {
+	 reqs.resize(Packets.size());
+         commtime-=usecond();
 	 for(int i=0;i<Packets.size();i++){
- #ifndef SEND_IMMEDIATE
-	   _grid->SendToRecvFrom(
-				 Packets[i].send_buf,
-				 Packets[i].to_rank,
-				 Packets[i].recv_buf,
-				 Packets[i].from_rank,
-				 Packets[i].bytes);
- #endif
-	   Packets[i].done = 1;
+	   _grid->SendToRecvFromBegin(reqs[i],
+				      Packets[i].send_buf,
+				      Packets[i].to_rank,
+				      Packets[i].recv_buf,
+				      Packets[i].from_rank,
+				      Packets[i].bytes);
 	 }
 	 commtime+=usecond();
        }
- #else
-       void Communicate(void ) { 
-	 typedef CartesianCommunicator::CommsRequest_t CommsRequest_t;
-	 std::vector<std::vector<CommsRequest_t> > reqs(Packets.size());
-	 commtime-=usecond();
-	 const int concurrency=2;
-	 for(int i=0;i<Packets.size();i+=concurrency){
-	   for(int ii=0;ii<concurrency;ii++){
-	     int j = i+ii;
-	     if ( j<Packets.size() ) {
- #ifndef SEND_IMMEDIATE
-	       _grid->SendToRecvFromBegin(reqs[j],
-					  Packets[j].send_buf,
-					  Packets[j].to_rank,
-					  Packets[j].recv_buf,
-					  Packets[j].from_rank,
-					  Packets[j].bytes);
- #endif
-	     }
-	   }
-	   for(int ii=0;ii<concurrency;ii++){
-	     int j = i+ii;
-	     if ( j<Packets.size() ) {
- #ifndef SEND_IMMEDIATE
-	       _grid->SendToRecvFromComplete(reqs[i]);
- #endif
-	     }
-	   }
-	   for(int ii=0;ii<concurrency;ii++){
-	     int j = i+ii;
-	     if ( j<Packets.size() ) {
-	       Packets[j].done = 1;
-	     }
-	   }
+       void CommunicateComplete(std::vector<std::vector<CommsRequest_t> > &reqs)
+       {
+         commtime-=usecond();
+	 for(int i=0;i<Packets.size();i++){
+	   _grid->SendToRecvFromComplete(reqs[i]);
 	 }
 	 commtime+=usecond();
        }
- #endif
 
        ///////////////////////////////////////////
        // Simd merge queue for asynch comms
@@ -260,36 +217,19 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,i
 	 m.rpointers= rpointers;
 	 m.buffer_size = buffer_size;
 	 m.packet_id   = packet_id;
- #ifdef SEND_IMMEDIATE
-	 mergetime-=usecond();
- PARALLEL_FOR_LOOP
-	 for(int o=0;o<m.buffer_size;o++){
-	   merge1(m.mpointer[o],m.rpointers,o);
-	 }
-	 mergetime+=usecond();
- #else
 	 Mergers.push_back(m);
- #endif
-
        }
 
        void CommsMerge(void ) { 
-	 //PARALLEL_NESTED_LOOP2 
+
 	 for(int i=0;i<Mergers.size();i++){	
 
-	 spintime-=usecond();
-	 int packet_id = Mergers[i].packet_id;
-	 while(! Packets[packet_id].done ); // spin for completion
-	 spintime+=usecond();
-
- #ifndef SEND_IMMEDIATE
 	 mergetime-=usecond();
- PARALLEL_FOR_LOOP
+PARALLEL_FOR_LOOP
 	   for(int o=0;o<Mergers[i].buffer_size;o++){
 	     merge1(Mergers[i].mpointer[o],Mergers[i].rpointers,o);
 	   }
 	 mergetime+=usecond();
- #endif
 
 	 }
        }
@@ -346,11 +286,14 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,i
 	 else       return cbase + _entries[ent]._byte_offset;
        }
 
+       ///////////////////////////////////////////////////////////
        // Comms buffers
+       ///////////////////////////////////////////////////////////
        std::vector<commVector<scalar_object> > u_simd_send_buf;
        std::vector<commVector<scalar_object> > u_simd_recv_buf;
        commVector<cobj>          u_send_buf;
        commVector<cobj>          comm_buf;
+
        int u_comm_offset;
        int _unified_buffer_size;
 
@@ -483,7 +426,7 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,i
 	 }
        }
        u_send_buf.resize(_unified_buffer_size);
-       comm_buf.resize(_unified_buffer_size);
+         comm_buf.resize(_unified_buffer_size);
 
        PrecomputeByteOffsets();
 
@@ -722,31 +665,16 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,i
        template<class compressor>
        void HaloExchange(const Lattice<vobj> &source,compressor &compress) 
        {
+	 std::vector<std::vector<CommsRequest_t> > reqs;
 	 calls++;
 	 Mergers.resize(0);
          Packets.resize(0);
          HaloGather(source,compress);
-	 this->Communicate();
+	 this->CommunicateBegin(reqs);
+	 this->CommunicateComplete(reqs);
 	 CommsMerge(); // spins
        }
-#if 0
-       // Overlapping comms and compute typically slows down compute and  is useless
-       // unless memory bandwidth greatly exceeds network
-       template<class compressor>
-       std::thread HaloExchangeBegin(const Lattice<vobj> &source,compressor &compress) {
-	 Mergers.resize(0); 
-	 Packets.resize(0);
-	 HaloGather(source,compress);
-	 return std::thread([&] { this->Communicate(); });
-       }
-       void HaloExchangeComplete(std::thread &thr) 
-       {
-	 CommsMerge(); // spins
-	 jointime-=usecond();
-	 thr.join();
-	 jointime+=usecond();
-       }
-#endif
+
        template<class compressor>
        void HaloGatherDir(const Lattice<vobj> &source,compressor &compress,int point,int & face_idx)
        {
@@ -851,6 +779,9 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,i
 	     int sx        = (x+sshift)%rd;
 	     int comm_proc = ((x+sshift)/rd)%pd;
 
+	     cobj *u_send_buf_p;
+	     cobj   *comm_buf_p;
+
 	     if (comm_proc) {
 
 	       int words = buffer_size;
@@ -863,16 +794,15 @@ Gather_plane_simple_stencil (const Lattice<vobj> &rhs,commVector<cobj> &buffer,i
 	       if ( !face_table_computed ) {
 		 t_table-=usecond();
 		 face_table.resize(face_idx+1);
-		 Gather_plane_simple_table_compute (rhs,u_send_buf,dimension,sx,cbmask,compress,u_comm_offset,face_table[face_idx]);
+		 cobj *ptr; ptr = &u_send_buf[0];
+		 Gather_plane_simple_table_compute ((GridBase *)_grid,dimension,sx,cbmask,u_comm_offset,
+						    face_table[face_idx]);
 		 t_table+=usecond();
 	       }
 	       t_data-=usecond();
-	       Gather_plane_simple_table         (face_table[face_idx],rhs,u_send_buf,compress,u_comm_offset,so);
-	       face_idx++;
+	       Gather_plane_simple_table         (face_table[face_idx],rhs,&u_send_buf[0],compress,u_comm_offset,so);  face_idx++;
 	       t_data+=usecond();
 	       gathertime+=usecond();
-	       
-	       //	       Gather_plane_simple_stencil (rhs,u_send_buf,dimension,sx,cbmask,compress,u_comm_offset,t_table,t_data);
 
 	       int rank           = _grid->_processor;
 	       int recv_from_rank;

From c190221fd35eba678ec9810aa3b44816085d8283 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Sat, 22 Oct 2016 18:14:27 +0100
Subject: [PATCH 236/295] Internal SHM comms in non-simd directions working
 Need to fix simd directions

---
 benchmarks/Benchmark_dwf.cc                  |    8 +-
 lib/Stencil.h                                | 1609 +++++++++---------
 lib/communicator/Communicator_base.h         |   15 +-
 lib/communicator/Communicator_mpi.cc         |    8 +
 lib/communicator/Communicator_mpi3.cc        |  105 +-
 lib/communicator/Communicator_none.cc        |    8 +
 lib/communicator/Communicator_shmem.cc       |    8 +
 lib/qcd/action/fermion/FermionOperatorImpl.h |  857 +++++-----
 lib/qcd/action/fermion/WilsonFermion.cc      |    8 +-
 lib/qcd/action/fermion/WilsonFermion5D.cc    |  101 +-
 lib/qcd/action/fermion/WilsonFermion5D.h     |  289 ++--
 lib/qcd/action/fermion/WilsonKernels.cc      |   21 +-
 lib/qcd/action/fermion/WilsonKernels.h       |  275 ++-
 lib/qcd/action/fermion/WilsonKernelsAsm.cc   |   95 +-
 lib/qcd/action/fermion/WilsonKernelsHand.cc  |   55 +-
 tests/Test_stencil.cc                        |    6 +-
 16 files changed, 1729 insertions(+), 1739 deletions(-)

diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index a32d7535..f75f0385 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -153,7 +153,7 @@ int main (int argc, char ** argv)
     std::cout<<GridLogMessage << "norm result "<< norm2(result)<<std::endl;
     std::cout<<GridLogMessage << "norm ref    "<< norm2(ref)<<std::endl;
     std::cout<<GridLogMessage << "mflop/s =   "<< flops/(t1-t0)<<std::endl;
-    std::cout<<GridLogMessage << "mflop/s per node =  "<< flops/(t1-t0)/NP<<std::endl;
+    std::cout<<GridLogMessage << "mflop/s per rank =  "<< flops/(t1-t0)/NP<<std::endl;
     err = ref-result; 
     std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<<std::endl;
     Dw.Report();
@@ -192,7 +192,7 @@ int main (int argc, char ** argv)
 
     std::cout<<GridLogMessage << "Called Dw s_inner "<<ncall<<" times in "<<t1-t0<<" us"<<std::endl;
     std::cout<<GridLogMessage << "mflop/s =   "<< flops/(t1-t0)<<std::endl;
-    std::cout<<GridLogMessage << "mflop/s per node =  "<< flops/(t1-t0)/NP<<std::endl;
+    std::cout<<GridLogMessage << "mflop/s per rank =  "<< flops/(t1-t0)/NP<<std::endl;
     sDw.Report();
   
     if(0){
@@ -262,7 +262,7 @@ int main (int argc, char ** argv)
       double flops=(1344.0*volume*ncall)/2;
 
       std::cout<<GridLogMessage << "sDeo mflop/s =   "<< flops/(t1-t0)<<std::endl;
-      std::cout<<GridLogMessage << "sDeo mflop/s per node   "<< flops/(t1-t0)/NP<<std::endl;
+      std::cout<<GridLogMessage << "sDeo mflop/s per rank   "<< flops/(t1-t0)/NP<<std::endl;
       sDw.Report();
 
       sDw.DhopEO(ssrc_o,sr_e,DaggerNo);
@@ -333,7 +333,7 @@ int main (int argc, char ** argv)
     double flops=(1344.0*volume*ncall)/2;
 
     std::cout<<GridLogMessage << "Deo mflop/s =   "<< flops/(t1-t0)<<std::endl;
-    std::cout<<GridLogMessage << "Deo mflop/s per node   "<< flops/(t1-t0)/NP<<std::endl;
+    std::cout<<GridLogMessage << "Deo mflop/s per rank   "<< flops/(t1-t0)/NP<<std::endl;
     Dw.Report();
   }
   Dw.DhopEO(src_o,r_e,DaggerNo);
diff --git a/lib/Stencil.h b/lib/Stencil.h
index 4850425b..6b942539 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -32,6 +32,8 @@
 
  #include <Grid/stencil/Lebesgue.h>   // subdir aggregate
 
+const int ShmDirectCopy = 1;
+
  //////////////////////////////////////////////////////////////////////////////////////////
  // Must not lose sight that goal is to be able to construct really efficient
  // gather to a point stencil code. CSHIFT is not the best way, so need
@@ -68,7 +70,7 @@
  //
  //////////////////////////////////////////////////////////////////////////////////////////
 
- namespace Grid {
+namespace Grid {
 
 inline void Gather_plane_simple_table_compute (GridBase *grid,int dimension,int plane,int cbmask,
 					       int off,std::vector<std::pair<int,int> > & table)
@@ -117,822 +119,837 @@ PARALLEL_FOR_LOOP
      }
 }
 
-template<class vobj,class cobj,class compressor> void 
-Gather_plane_simple_stencil (const Lattice<vobj> &rhs,cobj *buffer,int dimension,int plane,int cbmask,compressor &compress, int off,
-			     double &t_table ,double & t_data )
-{
-  std::vector<std::pair<int,int> > table;
-  Gather_plane_simple_table_compute (rhs._grid,dimension,plane,cbmask,off,table);
-  int so  = plane*rhs._grid->_ostride[dimension]; // base offset for start of plane 
-  Gather_plane_simple_table         (table,rhs,buffer,compress,off,so);
-}
+struct StencilEntry { 
+  uint64_t _offset;
+  uint64_t _byte_offset;
+  uint16_t _is_local;
+  uint16_t _permute;
+  uint32_t _around_the_world; //256 bits, 32 bytes, 1/2 cacheline
+};
 
+template<class vobj,class cobj>
+class CartesianStencil { // Stencil runs along coordinate axes only; NO diagonal fill in.
+ public:
 
+  typedef CartesianCommunicator::CommsRequest_t CommsRequest_t;
+  typedef uint32_t StencilInteger;
+  typedef typename cobj::vector_type vector_type;
+  typedef typename cobj::scalar_type scalar_type;
+  typedef typename cobj::scalar_object scalar_object;
+  
+  //////////////////////////////////////////
+  // Comms packet queue for asynch thread
+  //////////////////////////////////////////
 
+  struct Packet {
+    void * send_buf;
+    void * recv_buf;
+    Integer to_rank;
+    Integer from_rank;
+    Integer bytes;
+  };
 
-   struct StencilEntry { 
-     uint64_t _offset;
-     uint64_t _byte_offset;
-     uint16_t _is_local;
-     uint16_t _permute;
-     uint32_t _around_the_world; //256 bits, 32 bytes, 1/2 cacheline
-   };
+  std::vector<Packet> Packets;
 
-   template<class vobj,class cobj>
-   class CartesianStencil { // Stencil runs along coordinate axes only; NO diagonal fill in.
-   public:
+  int face_table_computed;
+  std::vector<std::vector<std::pair<int,int> > > face_table ;
+  
+  void AddPacket(void *xmit,void * rcv, Integer to,Integer from,Integer bytes){
+    Packet p;
+    p.send_buf = xmit;
+    p.recv_buf = rcv;
+    p.to_rank  = to;
+    p.from_rank= from;
+    p.bytes    = bytes;
+    comms_bytes+=2.0*bytes;
+    Packets.push_back(p);
+  }
 
-     typedef CartesianCommunicator::CommsRequest_t CommsRequest_t;
-     typedef uint32_t StencilInteger;
-     typedef typename cobj::vector_type vector_type;
-     typedef typename cobj::scalar_type scalar_type;
-     typedef typename cobj::scalar_object scalar_object;
+  void CommunicateBegin(std::vector<std::vector<CommsRequest_t> > &reqs)
+  {
+    reqs.resize(Packets.size());
+    commtime-=usecond();
+    for(int i=0;i<Packets.size();i++){
+      if( ShmDirectCopy ) {
+	_grid->StencilSendToRecvFromBegin(reqs[i],
+					  Packets[i].send_buf,
+					  Packets[i].to_rank,
+					  Packets[i].recv_buf,
+					  Packets[i].from_rank,
+					  Packets[i].bytes);
+      }else{
+	_grid->SendToRecvFromBegin(reqs[i],
+				   Packets[i].send_buf,
+				   Packets[i].to_rank,
+				   Packets[i].recv_buf,
+				   Packets[i].from_rank,
+				   Packets[i].bytes);
+      }
+    }
+    commtime+=usecond();
+  }
+  void CommunicateComplete(std::vector<std::vector<CommsRequest_t> > &reqs)
+  {
+    commtime-=usecond();
+    for(int i=0;i<Packets.size();i++){
+      if( ShmDirectCopy ) 
+	_grid->StencilSendToRecvFromComplete(reqs[i]);
+      else 
+	_grid->SendToRecvFromComplete(reqs[i]);
+    }
+    commtime+=usecond();
+  }
 
-       //////////////////////////////////////////
-       // Comms packet queue for asynch thread
-       //////////////////////////////////////////
+  ///////////////////////////////////////////
+  // Simd merge queue for asynch comms
+  ///////////////////////////////////////////
+  struct Merge {
+    cobj * mpointer;
+    std::vector<scalar_object *> rpointers;
+    Integer buffer_size;
+    Integer packet_id;
+  };
+  
+  std::vector<Merge> Mergers;
 
-       struct Packet {
-	 void * send_buf;
-	 void * recv_buf;
-	 Integer to_rank;
-	 Integer from_rank;
-	 Integer bytes;
-       };
+  void AddMerge(cobj *merge_p,std::vector<scalar_object *> &rpointers,Integer buffer_size,Integer packet_id) {
+    Merge m;
+    m.mpointer = merge_p;
+    m.rpointers= rpointers;
+    m.buffer_size = buffer_size;
+    m.packet_id   = packet_id;
+    Mergers.push_back(m);
+  }
 
-       std::vector<Packet> Packets;
+  void CommsMerge(void ) { 
 
-       int face_table_computed;
-       std::vector<std::vector<std::pair<int,int> > > face_table ;
-       
-       void AddPacket(void *xmit,void * rcv, Integer to,Integer from,Integer bytes){
-	 Packet p;
-	 p.send_buf = xmit;
-	 p.recv_buf = rcv;
-	 p.to_rank  = to;
-	 p.from_rank= from;
-	 p.bytes    = bytes;
-	 comms_bytes+=2.0*bytes;
-	 Packets.push_back(p);
-       }
-
-       void CommunicateBegin(std::vector<std::vector<CommsRequest_t> > &reqs)
-       {
-	 reqs.resize(Packets.size());
-         commtime-=usecond();
-	 for(int i=0;i<Packets.size();i++){
-	   _grid->SendToRecvFromBegin(reqs[i],
-				      Packets[i].send_buf,
-				      Packets[i].to_rank,
-				      Packets[i].recv_buf,
-				      Packets[i].from_rank,
-				      Packets[i].bytes);
-	 }
-	 commtime+=usecond();
-       }
-       void CommunicateComplete(std::vector<std::vector<CommsRequest_t> > &reqs)
-       {
-         commtime-=usecond();
-	 for(int i=0;i<Packets.size();i++){
-	   _grid->SendToRecvFromComplete(reqs[i]);
-	 }
-	 commtime+=usecond();
-       }
-
-       ///////////////////////////////////////////
-       // Simd merge queue for asynch comms
-       ///////////////////////////////////////////
-       struct Merge {
-	 cobj * mpointer;
-	 std::vector<scalar_object *> rpointers;
-	 Integer buffer_size;
-	 Integer packet_id;
-       };
-
-       std::vector<Merge> Mergers;
-
-       void AddMerge(cobj *merge_p,std::vector<scalar_object *> &rpointers,Integer buffer_size,Integer packet_id) {
-	 Merge m;
-	 m.mpointer = merge_p;
-	 m.rpointers= rpointers;
-	 m.buffer_size = buffer_size;
-	 m.packet_id   = packet_id;
-	 Mergers.push_back(m);
-       }
-
-       void CommsMerge(void ) { 
-
-	 for(int i=0;i<Mergers.size();i++){	
-
-	 mergetime-=usecond();
+    for(int i=0;i<Mergers.size();i++){	
+      
+      mergetime-=usecond();
 PARALLEL_FOR_LOOP
-	   for(int o=0;o<Mergers[i].buffer_size;o++){
-	     merge1(Mergers[i].mpointer[o],Mergers[i].rpointers,o);
-	   }
-	 mergetime+=usecond();
+      for(int o=0;o<Mergers[i].buffer_size;o++){
+	merge1(Mergers[i].mpointer[o],Mergers[i].rpointers,o);
+      }
+      mergetime+=usecond();
 
-	 }
-       }
+    }
+  }
 
-       ////////////////////////////////////////
-       // Basic Grid and stencil info
-       ////////////////////////////////////////
+  ////////////////////////////////////////
+  // Basic Grid and stencil info
+  ////////////////////////////////////////
+  
+  int                               _checkerboard;
+  int                               _npoints; // Move to template param?
+  GridBase *                        _grid;
+  
+  // npoints of these
+  std::vector<int>                  _directions;
+  std::vector<int>                  _distances;
+  std::vector<int>                  _comm_buf_size;
+  std::vector<int>                  _permute_type;
+  
+  // npoints x Osites() of these
+  // Flat vector, change layout for cache friendly.
+  Vector<StencilEntry>  _entries;
+  
+  inline StencilEntry * GetEntry(int &ptype,int point,int osite) { ptype = _permute_type[point]; return & _entries[point+_npoints*osite]; }
+  
+  void PrecomputeByteOffsets(void){
+    for(int i=0;i<_entries.size();i++){
+      if( _entries[i]._is_local ) {
+	_entries[i]._byte_offset = _entries[i]._offset*sizeof(vobj);
+      } else { 
+	_entries[i]._byte_offset = _entries[i]._offset*sizeof(cobj);
+      }
+    }
+  };
 
-       int                               _checkerboard;
-       int                               _npoints; // Move to template param?
-       GridBase *                        _grid;
+  inline uint64_t Touch(int ent) {
+    //	 _mm_prefetch((char *)&_entries[ent],_MM_HINT_T0);
+  }
+  inline uint64_t GetInfo(int &ptype,int &local,int &perm,int point,int ent,uint64_t base) {
+    uint64_t cbase = (uint64_t)&u_recv_buf_p[0];
+    local = _entries[ent]._is_local;
+    perm  = _entries[ent]._permute;
+    if (perm)  ptype = _permute_type[point]; 
+    if (local) {
+      return  base + _entries[ent]._byte_offset;
+    } else {
+      return cbase + _entries[ent]._byte_offset;
+    }
+  }
+  inline uint64_t GetPFInfo(int ent,uint64_t base) {
+    uint64_t cbase = (uint64_t)&u_recv_buf_p[0];
+    int local = _entries[ent]._is_local;
+    if (local) return  base + _entries[ent]._byte_offset;
+    else       return cbase + _entries[ent]._byte_offset;
+  }
+  
+  ///////////////////////////////////////////////////////////
+  // Unified Comms buffers for all directions
+  ///////////////////////////////////////////////////////////
+  std::vector<commVector<scalar_object> > u_simd_send_buf;
+  std::vector<commVector<scalar_object> > u_simd_recv_buf;
+  commVector<cobj>          u_send_buf;
+  commVector<cobj>          u_recv_buf_hide;
+  cobj* u_recv_buf_p;
 
-       // npoints of these
-       std::vector<int>                  _directions;
-       std::vector<int>                  _distances;
-       std::vector<int>                  _comm_buf_size;
-       std::vector<int>                  _permute_type;
+  int u_comm_offset;
+  int _unified_buffer_size;
+  
+  cobj *CommBuf(void) { return u_recv_buf_p; }
 
-       // npoints x Osites() of these
-       // Flat vector, change layout for cache friendly.
-       Vector<StencilEntry>  _entries;
-
-       inline StencilEntry * GetEntry(int &ptype,int point,int osite) { ptype = _permute_type[point]; return & _entries[point+_npoints*osite]; }
-
-       void PrecomputeByteOffsets(void){
-	 for(int i=0;i<_entries.size();i++){
-	   if( _entries[i]._is_local ) {
-	     _entries[i]._byte_offset = _entries[i]._offset*sizeof(vobj);
-	   } else { 
-	     // PrecomputeByteOffsets [5] 16384/32768 140735768678528 140735781261056 2581581952
-	     _entries[i]._byte_offset = _entries[i]._offset*sizeof(cobj);
-	   }
-	 }
-       };
-
-       inline uint64_t Touch(int ent) {
-	 //	 _mm_prefetch((char *)&_entries[ent],_MM_HINT_T0);
-       }
-       inline uint64_t GetInfo(int &ptype,int &local,int &perm,int point,int ent,uint64_t base) {
-	 uint64_t cbase = (uint64_t)&comm_buf[0];
-	 local = _entries[ent]._is_local;
-	 perm  = _entries[ent]._permute;
-	 if (perm)  ptype = _permute_type[point]; 
-	 if (local) {
-	   return  base + _entries[ent]._byte_offset;
-	 } else {
-	   return cbase + _entries[ent]._byte_offset;
-	 }
-       }
-       inline uint64_t GetPFInfo(int ent,uint64_t base) {
-	 uint64_t cbase = (uint64_t)&comm_buf[0];
-	 int local = _entries[ent]._is_local;
-	 if (local) return  base + _entries[ent]._byte_offset;
-	 else       return cbase + _entries[ent]._byte_offset;
-       }
-
-       ///////////////////////////////////////////////////////////
-       // Comms buffers
-       ///////////////////////////////////////////////////////////
-       std::vector<commVector<scalar_object> > u_simd_send_buf;
-       std::vector<commVector<scalar_object> > u_simd_recv_buf;
-       commVector<cobj>          u_send_buf;
-       commVector<cobj>          comm_buf;
-
-       int u_comm_offset;
-       int _unified_buffer_size;
-
-       /////////////////////////////////////////
-       // Timing info; ugly; possibly temporary
-       /////////////////////////////////////////
+  /////////////////////////////////////////
+  // Timing info; ugly; possibly temporary
+  /////////////////////////////////////////
  #define TIMING_HACK
  #ifdef TIMING_HACK
-       double jointime;
-       double gathertime;
-       double commtime;
-       double halogtime;
-       double mergetime;
-       double spintime;
-       double comms_bytes;
-       double gathermtime;
-       double splicetime;
-       double nosplicetime;
-       double t_data;
-       double t_table;
-       double calls;
-
-       void ZeroCounters(void) {
-         gathertime = 0.;
-         jointime = 0.;
-         commtime = 0.;
-         halogtime = 0.;
-         mergetime = 0.;
-         spintime = 0.;
-         gathermtime = 0.;
-         splicetime = 0.;
-         nosplicetime = 0.;
-	 t_data = 0.0;
-         t_table= 0.0;
-         comms_bytes = 0.;
-         calls = 0.;
-       };
-
-       void Report(void) {
+  double jointime;
+  double gathertime;
+  double commtime;
+  double halogtime;
+  double mergetime;
+  double spintime;
+  double comms_bytes;
+  double gathermtime;
+  double splicetime;
+  double nosplicetime;
+  double t_data;
+  double t_table;
+  double calls;
+  
+  void ZeroCounters(void) {
+    gathertime = 0.;
+    jointime = 0.;
+    commtime = 0.;
+    halogtime = 0.;
+    mergetime = 0.;
+    spintime = 0.;
+    gathermtime = 0.;
+    splicetime = 0.;
+    nosplicetime = 0.;
+    t_data = 0.0;
+    t_table= 0.0;
+    comms_bytes = 0.;
+    calls = 0.;
+  };
+  
+  void Report(void) {
 #define PRINTIT(A)	\
  std::cout << GridLogMessage << " Stencil " << #A << " "<< A/calls<<std::endl;
-	 if ( calls > 0. ) {
-	   std::cout << GridLogMessage << " Stencil calls "<<calls<<std::endl;
-	   PRINTIT(halogtime);
-	   PRINTIT(gathertime);
-	   PRINTIT(gathermtime);
-	   PRINTIT(mergetime);
-	   if(comms_bytes>1.0){
-	     PRINTIT(comms_bytes);
-	     PRINTIT(commtime);
-	     std::cout << GridLogMessage << " Stencil " << comms_bytes/commtime/1000. << " GB/s "<<std::endl;
-	   }
-	   PRINTIT(jointime);
-	   PRINTIT(spintime);
-	   PRINTIT(splicetime);
-	   PRINTIT(nosplicetime);
-	   PRINTIT(t_table);
+    if ( calls > 0. ) {
+      std::cout << GridLogMessage << " Stencil calls "<<calls<<std::endl;
+      PRINTIT(halogtime);
+      PRINTIT(gathertime);
+      PRINTIT(gathermtime);
+      PRINTIT(mergetime);
+      if(comms_bytes>1.0){
+	PRINTIT(comms_bytes);
+	PRINTIT(commtime);
+	std::cout << GridLogMessage << " Stencil " << comms_bytes/commtime/1000. << " GB/s "<<std::endl;
+      }
+      PRINTIT(jointime);
+      PRINTIT(spintime);
+      PRINTIT(splicetime);
+      PRINTIT(nosplicetime);
+      PRINTIT(t_table);
 	   PRINTIT(t_data);
-	 }
-       };
+    }
+  };
  #endif
 
-   CartesianStencil(GridBase *grid,
-				      int npoints,
-				      int checkerboard,
-				      const std::vector<int> &directions,
-				      const std::vector<int> &distances) 
-     :   _permute_type(npoints), _comm_buf_size(npoints)
-     {
-       face_table_computed=0;
-       _npoints = npoints;
-       _grid    = grid;
-       _directions = directions;
-       _distances  = distances;
-       _unified_buffer_size=0;
-
-       int osites  = _grid->oSites();
-
-       _entries.resize(_npoints* osites);
-       for(int ii=0;ii<npoints;ii++){
-
-	 int i = ii; // reverse direction to get SIMD comms done first
-	 int point = i;
-
-
-	 int dimension    = directions[i];
-	 int displacement = distances[i];
-	 int shift = displacement;
-
-	 int fd = _grid->_fdimensions[dimension];
-	 int rd = _grid->_rdimensions[dimension];
-	 _permute_type[point]=_grid->PermuteType(dimension);
-
-	 _checkerboard = checkerboard;
-
-	 // the permute type
-	 int simd_layout     = _grid->_simd_layout[dimension];
-	 int comm_dim        = _grid->_processors[dimension] >1 ;
-	 int splice_dim      = _grid->_simd_layout[dimension]>1 && (comm_dim);
-	 int rotate_dim      = _grid->_simd_layout[dimension]>2;
-
-	 assert ( (rotate_dim && comm_dim) == false) ; // Do not think spread out is supported
-
-	 int sshift[2];
-
-	 // Underlying approach. For each local site build
-	 // up a table containing the npoint "neighbours" and whether they 
-	 // live in lattice or a comms buffer.
-	 if ( !comm_dim ) {
-	   sshift[0] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Even);
-	   sshift[1] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Odd);
-
-	   if ( sshift[0] == sshift[1] ) {
-	     Local(point,dimension,shift,0x3);
-	   } else {
-	     Local(point,dimension,shift,0x1);// if checkerboard is unfavourable take two passes
-	     Local(point,dimension,shift,0x2);// both with block stride loop iteration
-	   }
-	 } else { // All permute extract done in comms phase prior to Stencil application
-	   //        So tables are the same whether comm_dim or splice_dim
-	   sshift[0] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Even);
-	   sshift[1] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Odd);
-
-	   if ( sshift[0] == sshift[1] ) {
-	     Comms(point,dimension,shift,0x3);
-	   } else {
-	     Comms(point,dimension,shift,0x1);// if checkerboard is unfavourable take two passes
-	     Comms(point,dimension,shift,0x2);// both with block stride loop iteration
-	   }
-	 }
-       }
-       u_send_buf.resize(_unified_buffer_size);
-         comm_buf.resize(_unified_buffer_size);
-
-       PrecomputeByteOffsets();
-
-       const int Nsimd = grid->Nsimd();
-       u_simd_send_buf.resize(Nsimd);
-       u_simd_recv_buf.resize(Nsimd);
-       for(int l=0;l<Nsimd;l++){
-	 u_simd_send_buf[l].resize(_unified_buffer_size);
-	 u_simd_recv_buf[l].resize(_unified_buffer_size);
-       }
-     }
-
-     void Local     (int point, int dimension,int shiftpm,int cbmask)
-     {
-       int fd = _grid->_fdimensions[dimension];
-       int rd = _grid->_rdimensions[dimension];
-       int ld = _grid->_ldimensions[dimension];
-       int gd = _grid->_gdimensions[dimension];
-       int ly = _grid->_simd_layout[dimension];
-
-       // Map to always positive shift modulo global full dimension.
-       int shift = (shiftpm+fd)%fd;
-
-       // the permute type
-       int permute_dim =_grid->PermuteDim(dimension);
-
-       for(int x=0;x<rd;x++){       
-
-	 int o   = 0;
-	 int bo  = x * _grid->_ostride[dimension];
-
-	 int cb= (cbmask==0x2)? Odd : Even;
-
-	 int sshift = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,cb);
-	 int sx     = (x+sshift)%rd;
-
-	 int wraparound=0;
-	 if ( (shiftpm==-1) && (sx>x)  ) {
-	   wraparound = 1;
-	 }
-	 if ( (shiftpm== 1) && (sx<x)  ) {
-	   wraparound = 1;
-	 }
-
-	 int permute_slice=0;
-	 if(permute_dim){
-	   int wrap = sshift/rd;
-	   int  num = sshift%rd;
-	   if ( x< rd-num ) permute_slice=wrap;
-	   else permute_slice = (wrap+1)%ly;
-	 }
-
-	 CopyPlane(point,dimension,x,sx,cbmask,permute_slice,wraparound);
-
-       }
-     }
-
-     void Comms     (int point,int dimension,int shiftpm,int cbmask)
-     {
-       GridBase *grid=_grid;
-       const int Nsimd = grid->Nsimd();
-
-       int fd              = _grid->_fdimensions[dimension];
-       int ld              = _grid->_ldimensions[dimension];
-       int rd              = _grid->_rdimensions[dimension];
-       int pd              = _grid->_processors[dimension];
-       int simd_layout     = _grid->_simd_layout[dimension];
-       int comm_dim        = _grid->_processors[dimension] >1 ;
-
-       assert(comm_dim==1);
-       int shift = (shiftpm + fd) %fd;
-       assert(shift>=0);
-       assert(shift<fd);
-
-       int buffer_size = _grid->_slice_nblock[dimension]*_grid->_slice_block[dimension]; // done in reduced dims, so SIMD factored
-
-       _comm_buf_size[point] = buffer_size; // Size of _one_ plane. Multiple planes may be gathered and
-					    // send to one or more remote nodes.
-
-       int cb= (cbmask==0x2)? Odd : Even;
-       int sshift= _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,cb);
-
-       for(int x=0;x<rd;x++){       
-
-	 int permute_type=grid->PermuteType(dimension);
-
-	 int sx        =  (x+sshift)%rd;
-
-	 int offnode = 0;
-	 if ( simd_layout > 1 ) {
-
-	   for(int i=0;i<Nsimd;i++){
-
-	     int inner_bit = (Nsimd>>(permute_type+1));
-	     int ic= (i&inner_bit)? 1:0;
-	     int my_coor          = rd*ic + x;
-	     int nbr_coor         = my_coor+sshift;
-	     int nbr_proc = ((nbr_coor)/ld) % pd;// relative shift in processors
-
-	     if ( nbr_proc ) { 
-	       offnode =1;
-	     }
-	   }
-
-	 } else { 
-	   int comm_proc = ((x+sshift)/rd)%pd;
-	   offnode = (comm_proc!= 0);
-	 }
-
-
-	 int wraparound=0;
-	 if ( (shiftpm==-1) && (sx>x) && (grid->_processor_coor[dimension]==0) ) {
-	   wraparound = 1;
-	 }
-	 if ( (shiftpm== 1) && (sx<x) && (grid->_processor_coor[dimension]==grid->_processors[dimension]-1) ) {
-	   wraparound = 1;
-	 }
-	 if (!offnode) {
-
-	   int permute_slice=0;
-	   CopyPlane(point,dimension,x,sx,cbmask,permute_slice,wraparound); 
-
-	 } else {
-
-	   int words = buffer_size;
-	   if (cbmask != 0x3) words=words>>1;
-
-	   int rank           = grid->_processor;
-	   int recv_from_rank;
-	   int xmit_to_rank;
-
-	   int unified_buffer_offset = _unified_buffer_size;
-	   _unified_buffer_size    += words;
-
-	   ScatterPlane(point,dimension,x,cbmask,unified_buffer_offset,wraparound); // permute/extract/merge is done in comms phase
-
-	 }
-       }
-     }
-   // Routine builds up integer table for each site in _offsets, _is_local, _permute
-   void CopyPlane(int point, int dimension,int lplane,int rplane,int cbmask,int permute,int wrap)
-     {
-       int rd = _grid->_rdimensions[dimension];
-
-       if ( !_grid->CheckerBoarded(dimension) ) {
-
-	 int o   = 0;                                     // relative offset to base within plane
-	 int ro  = rplane*_grid->_ostride[dimension]; // base offset for start of plane 
-	 int lo  = lplane*_grid->_ostride[dimension]; // offset in buffer
-
-	 // Simple block stride gather of SIMD objects
-	 for(int n=0;n<_grid->_slice_nblock[dimension];n++){
-	   for(int b=0;b<_grid->_slice_block[dimension];b++){
-	     int idx=point+(lo+o+b)*_npoints;
-	     _entries[idx]._offset  =ro+o+b;
-	     _entries[idx]._permute=permute;
-	     _entries[idx]._is_local=1;
-	     _entries[idx]._around_the_world=wrap;
-	   }
-	   o +=_grid->_slice_stride[dimension];
-	 }
-
-       } else {
-
-	 int ro  = rplane*_grid->_ostride[dimension]; // base offset for start of plane 
-	 int lo  = lplane*_grid->_ostride[dimension]; // base offset for start of plane 
-	 int o   = 0;                                     // relative offset to base within plane
-
-	 for(int n=0;n<_grid->_slice_nblock[dimension];n++){
-	   for(int b=0;b<_grid->_slice_block[dimension];b++){
-
-	     int ocb=1<<_grid->CheckerBoardFromOindex(o+b);
-
-	     if ( ocb&cbmask ) {
-	       int idx = point+(lo+o+b)*_npoints;
-	       _entries[idx]._offset =ro+o+b;
-	       _entries[idx]._is_local=1;
-	       _entries[idx]._permute=permute;
-	       _entries[idx]._around_the_world=wrap;
-	     }
-
-	   }
-	   o +=_grid->_slice_stride[dimension];
-	 }
-
-       }
-     }
-   // Routine builds up integer table for each site in _offsets, _is_local, _permute
-    void ScatterPlane (int point,int dimension,int plane,int cbmask,int offset, int wrap)
-     {
-       int rd = _grid->_rdimensions[dimension];
-
-       if ( !_grid->CheckerBoarded(dimension) ) {
-
-	 int so  = plane*_grid->_ostride[dimension]; // base offset for start of plane 
-	 int o   = 0;                                    // relative offset to base within plane
-	 int bo  = 0;                                    // offset in buffer
-
-	 // Simple block stride gather of SIMD objects
-	 for(int n=0;n<_grid->_slice_nblock[dimension];n++){
-	   for(int b=0;b<_grid->_slice_block[dimension];b++){
-	     int idx=point+(so+o+b)*_npoints;
-	     _entries[idx]._offset  =offset+(bo++);
-	     _entries[idx]._is_local=0;
-	     _entries[idx]._permute=0;
-	     _entries[idx]._around_the_world=wrap;
-	   }
-	   o +=_grid->_slice_stride[dimension];
-	 }
-
-       } else { 
-
-	 int so  = plane*_grid->_ostride[dimension]; // base offset for start of plane 
-	 int o   = 0;                                      // relative offset to base within plane
-	 int bo  = 0;                                      // offset in buffer
-
-	 for(int n=0;n<_grid->_slice_nblock[dimension];n++){
-	   for(int b=0;b<_grid->_slice_block[dimension];b++){
-
-	     int ocb=1<<_grid->CheckerBoardFromOindex(o+b);// Could easily be a table lookup
-	     if ( ocb & cbmask ) {
-	       int idx = point+(so+o+b)*_npoints;
-	       _entries[idx]._offset  =offset+(bo++);
-	       _entries[idx]._is_local=0;
-	       _entries[idx]._permute =0;
-	       _entries[idx]._around_the_world=wrap;
-	     }
-	   }
-	   o +=_grid->_slice_stride[dimension];
-	 }
-       }
-     }
-
-
-
-       template<class compressor>
-       void HaloExchange(const Lattice<vobj> &source,compressor &compress) 
-       {
-	 std::vector<std::vector<CommsRequest_t> > reqs;
-	 calls++;
-	 Mergers.resize(0);
-         Packets.resize(0);
-         HaloGather(source,compress);
-	 this->CommunicateBegin(reqs);
-	 this->CommunicateComplete(reqs);
-	 CommsMerge(); // spins
-       }
-
-       template<class compressor>
-       void HaloGatherDir(const Lattice<vobj> &source,compressor &compress,int point,int & face_idx)
-       {
-	   int dimension    = _directions[point];
-	   int displacement = _distances[point];
-
-	   int fd = _grid->_fdimensions[dimension];
-	   int rd = _grid->_rdimensions[dimension];
-
-
-	   // Map to always positive shift modulo global full dimension.
-	   int shift = (displacement+fd)%fd;
-
-	   //     	  int checkerboard = _grid->CheckerBoardDestination(source.checkerboard,shift);
-	   assert (source.checkerboard== _checkerboard);
-
-	   // the permute type
-	   int simd_layout     = _grid->_simd_layout[dimension];
-	   int comm_dim        = _grid->_processors[dimension] >1 ;
-	   int splice_dim      = _grid->_simd_layout[dimension]>1 && (comm_dim);
-
-	   // Gather phase
-	   int sshift [2];
-	   if ( comm_dim ) {
-	     sshift[0] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Even);
-	     sshift[1] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Odd);
-	     if ( sshift[0] == sshift[1] ) {
-	       if (splice_dim) {
-		 splicetime-=usecond();
-		 GatherSimd(source,dimension,shift,0x3,compress,face_idx);
-		 splicetime+=usecond();
-	       } else { 
-		 nosplicetime-=usecond();
-		 Gather(source,dimension,shift,0x3,compress,face_idx);
-		 nosplicetime+=usecond();
-	       }
-	     } else {
-	       if(splice_dim){
-		 splicetime-=usecond();
-		 GatherSimd(source,dimension,shift,0x1,compress,face_idx);// if checkerboard is unfavourable take two passes
-		 GatherSimd(source,dimension,shift,0x2,compress,face_idx);// both with block stride loop iteration
-		 splicetime+=usecond();
-	       } else {
-		 nosplicetime-=usecond();
-		 Gather(source,dimension,shift,0x1,compress,face_idx);
-		 Gather(source,dimension,shift,0x2,compress,face_idx);
-		 nosplicetime+=usecond();
-	       }
-	     }
-	   }
-       }
-
-       template<class compressor>
-       void HaloGather(const Lattice<vobj> &source,compressor &compress)
-       {
-	 // conformable(source._grid,_grid);
-	 assert(source._grid==_grid);
-	 halogtime-=usecond();
-
-	 assert (comm_buf.size() == _unified_buffer_size );
-	 u_comm_offset=0;
-
-	 // Gather all comms buffers
-	 int face_idx=0;
-	 for(int point = 0 ; point < _npoints; point++) {
-	   compress.Point(point);
-	   HaloGatherDir(source,compress,point,face_idx);
-	 }
-	 face_table_computed=1;
-
-	 assert(u_comm_offset==_unified_buffer_size);
-	 halogtime+=usecond();
-       }
-
-       template<class compressor>
-	 void Gather(const Lattice<vobj> &rhs,int dimension,int shift,int cbmask,compressor & compress,int &face_idx)
-	 {
-	   typedef typename cobj::vector_type vector_type;
-	   typedef typename cobj::scalar_type scalar_type;
-
-	   GridBase *grid=_grid;
-	   assert(rhs._grid==_grid);
-	   //	  conformable(_grid,rhs._grid);
-
-	   int fd              = _grid->_fdimensions[dimension];
-	   int rd              = _grid->_rdimensions[dimension];
-	   int pd              = _grid->_processors[dimension];
-	   int simd_layout     = _grid->_simd_layout[dimension];
-	   int comm_dim        = _grid->_processors[dimension] >1 ;
-	   assert(simd_layout==1);
-	   assert(comm_dim==1);
-	   assert(shift>=0);
-	   assert(shift<fd);
-
-	   int buffer_size = _grid->_slice_nblock[dimension]*_grid->_slice_block[dimension];
-
-	   int cb= (cbmask==0x2)? Odd : Even;
-	   int sshift= _grid->CheckerBoardShiftForCB(rhs.checkerboard,dimension,shift,cb);
-
-	   for(int x=0;x<rd;x++){       
-
-	     int sx        = (x+sshift)%rd;
-	     int comm_proc = ((x+sshift)/rd)%pd;
-
-	     cobj *u_send_buf_p;
-	     cobj   *comm_buf_p;
-
-	     if (comm_proc) {
-
-	       int words = buffer_size;
-	       if (cbmask != 0x3) words=words>>1;
-
-	       int bytes = words * sizeof(cobj);
-
-	       gathertime-=usecond();
-	       int so  = sx*rhs._grid->_ostride[dimension]; // base offset for start of plane 
-	       if ( !face_table_computed ) {
-		 t_table-=usecond();
-		 face_table.resize(face_idx+1);
-		 cobj *ptr; ptr = &u_send_buf[0];
-		 Gather_plane_simple_table_compute ((GridBase *)_grid,dimension,sx,cbmask,u_comm_offset,
-						    face_table[face_idx]);
-		 t_table+=usecond();
-	       }
-	       t_data-=usecond();
-	       Gather_plane_simple_table         (face_table[face_idx],rhs,&u_send_buf[0],compress,u_comm_offset,so);  face_idx++;
-	       t_data+=usecond();
-	       gathertime+=usecond();
-
-	       int rank           = _grid->_processor;
-	       int recv_from_rank;
-	       int xmit_to_rank;
-	       _grid->ShiftedRanks(dimension,comm_proc,xmit_to_rank,recv_from_rank);
-	       assert (xmit_to_rank   != _grid->ThisRank());
-	       assert (recv_from_rank != _grid->ThisRank());
-
-	       //      FIXME Implement asynchronous send & also avoid buffer copy
-	       AddPacket((void *)&u_send_buf[u_comm_offset],
-			 (void *)  &comm_buf[u_comm_offset],
-			 xmit_to_rank,
-			 recv_from_rank,
-			 bytes);
-
-	       u_comm_offset+=words;
-	     }
-	   }
-	 }
-
-
-       template<class compressor>
-	 void  GatherSimd(const Lattice<vobj> &rhs,int dimension,int shift,int cbmask,compressor &compress,int & face_idx)
-	 {
-	   const int Nsimd = _grid->Nsimd();
-
-	   int fd = _grid->_fdimensions[dimension];
-	   int rd = _grid->_rdimensions[dimension];
-	   int ld = _grid->_ldimensions[dimension];
-	   int pd              = _grid->_processors[dimension];
-	   int simd_layout     = _grid->_simd_layout[dimension];
-	   int comm_dim        = _grid->_processors[dimension] >1 ;
-
-	   assert(comm_dim==1);
-	   // This will not work with a rotate dim
-	   assert(simd_layout==2);
-	   assert(shift>=0);
-	   assert(shift<fd);
-
-	   int permute_type=_grid->PermuteType(dimension);
-
-	   ///////////////////////////////////////////////
-	   // Simd direction uses an extract/merge pair
-	   ///////////////////////////////////////////////
-	   int buffer_size = _grid->_slice_nblock[dimension]*_grid->_slice_block[dimension];
-	   int words = sizeof(cobj)/sizeof(vector_type);
-
-	   assert(cbmask==0x3); // Fixme think there is a latent bug if not true
-
-	   int bytes = buffer_size*sizeof(scalar_object);
-
-	   std::vector<scalar_object *> rpointers(Nsimd);
-	   std::vector<scalar_object *> spointers(Nsimd);
-
-	   ///////////////////////////////////////////
-	   // Work out what to send where
-	   ///////////////////////////////////////////
-
-	   int cb    = (cbmask==0x2)? Odd : Even;
-	   int sshift= _grid->CheckerBoardShiftForCB(rhs.checkerboard,dimension,shift,cb);
-
-	   // loop over outer coord planes orthog to dim
-	   for(int x=0;x<rd;x++){       
-
-	     int any_offnode = ( ((x+sshift)%fd) >= rd );
-
-	     if ( any_offnode ) {
-
-	       for(int i=0;i<Nsimd;i++){       
-		 spointers[i] = &u_simd_send_buf[i][u_comm_offset];
-	       }
-
-	       int sx   = (x+sshift)%rd;
-
-	       gathermtime-=usecond();
-	       Gather_plane_extract<cobj>(rhs,spointers,dimension,sx,cbmask,compress);
-	       gathermtime+=usecond();
-
-	       for(int i=0;i<Nsimd;i++){
-
-		 // FIXME 
-		 // This logic is hard coded to simd_layout ==2 and not allowing >2
-		 //		std::cout << "GatherSimd : lane 1st elem " << i << u_simd_send_buf[i ][u_comm_offset]<<std::endl;
-
-		 int inner_bit = (Nsimd>>(permute_type+1));
-		 int ic= (i&inner_bit)? 1:0;
-
-		 int my_coor          = rd*ic + x;
-		 int nbr_coor         = my_coor+sshift;
-		 int nbr_proc = ((nbr_coor)/ld) % pd;// relative shift in processors
-		 int nbr_lcoor= (nbr_coor%ld);
-		 int nbr_ic   = (nbr_lcoor)/rd;    // inner coord of peer
-		 int nbr_ox   = (nbr_lcoor%rd);    // outer coord of peer
-		 int nbr_lane = (i&(~inner_bit));
-
-		 if (nbr_ic) nbr_lane|=inner_bit;
-		 assert (sx == nbr_ox);
-
-		 auto rp = &u_simd_recv_buf[i       ][u_comm_offset];
-		 auto sp = &u_simd_send_buf[nbr_lane][u_comm_offset];
-
-		 void *vrp = (void *)rp;
-		 void *vsp = (void *)sp;
-
-
-		 if(nbr_proc){
-
-		   int recv_from_rank;
-		   int xmit_to_rank;
-
-		   _grid->ShiftedRanks(dimension,nbr_proc,xmit_to_rank,recv_from_rank); 
-
-		   AddPacket( vsp,vrp,xmit_to_rank,recv_from_rank,bytes);
-
-		   rpointers[i] = rp;
-
-		 } else { 
-
-		   rpointers[i] = sp;
-
-		 }
-	       }
-
-	       AddMerge(&comm_buf[u_comm_offset],rpointers,buffer_size,Packets.size()-1);
-
-	       u_comm_offset     +=buffer_size;
-	     }
-	   }
-	 }
-
-   };
- }
+ CartesianStencil(GridBase *grid,
+		  int npoints,
+		  int checkerboard,
+		  const std::vector<int> &directions,
+		  const std::vector<int> &distances) 
+   :   _permute_type(npoints), _comm_buf_size(npoints)
+  {
+    face_table_computed=0;
+    _npoints = npoints;
+    _grid    = grid;
+    _directions = directions;
+    _distances  = distances;
+    _unified_buffer_size=0;
+
+    int osites  = _grid->oSites();
+    
+    _entries.resize(_npoints* osites);
+    for(int ii=0;ii<npoints;ii++){
+      
+      int i = ii; // reverse direction to get SIMD comms done first
+      int point = i;
+      
+      int dimension    = directions[i];
+      int displacement = distances[i];
+      int shift = displacement;
+      
+      int fd = _grid->_fdimensions[dimension];
+      int rd = _grid->_rdimensions[dimension];
+      _permute_type[point]=_grid->PermuteType(dimension);
+      
+      _checkerboard = checkerboard;
+      
+      // the permute type
+      int simd_layout     = _grid->_simd_layout[dimension];
+      int comm_dim        = _grid->_processors[dimension] >1 ;
+      int splice_dim      = _grid->_simd_layout[dimension]>1 && (comm_dim);
+      int rotate_dim      = _grid->_simd_layout[dimension]>2;
+
+      assert ( (rotate_dim && comm_dim) == false) ; // Do not think spread out is supported
+      
+      int sshift[2];
+      
+      // Underlying approach. For each local site build
+      // up a table containing the npoint "neighbours" and whether they 
+      // live in lattice or a comms buffer.
+      if ( !comm_dim ) {
+	sshift[0] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Even);
+	sshift[1] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Odd);
+	
+	if ( sshift[0] == sshift[1] ) {
+	  Local(point,dimension,shift,0x3);
+	} else {
+	  Local(point,dimension,shift,0x1);// if checkerboard is unfavourable take two passes
+	  Local(point,dimension,shift,0x2);// both with block stride loop iteration
+	}
+      } else { // All permute extract done in comms phase prior to Stencil application
+	//        So tables are the same whether comm_dim or splice_dim
+	sshift[0] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Even);
+	sshift[1] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Odd);
+	
+	if ( sshift[0] == sshift[1] ) {
+	  Comms(point,dimension,shift,0x3);
+	} else {
+	  Comms(point,dimension,shift,0x1);// if checkerboard is unfavourable take two passes
+	  Comms(point,dimension,shift,0x2);// both with block stride loop iteration
+	}
+      }
+    }
+    u_send_buf.resize(_unified_buffer_size);
+
+    /////////////////////////////////////////////////////////////////////////////////
+    // Try to allocate for receiving in a shared memory region, fall back to buffer
+    /////////////////////////////////////////////////////////////////////////////////
+    if( ShmDirectCopy ) {
+
+      u_recv_buf_p=(cobj *)_grid->ShmBufferSelf();
+      if ( u_recv_buf_p == NULL ) {
+	u_recv_buf_hide.resize(_unified_buffer_size);
+	u_recv_buf_p=&u_recv_buf_hide[0];
+      }
+    } else {
+      u_recv_buf_hide.resize(_unified_buffer_size);
+      u_recv_buf_p=&u_recv_buf_hide[0];
+    }
+
+    PrecomputeByteOffsets();
+
+    const int Nsimd = grid->Nsimd();
+    u_simd_send_buf.resize(Nsimd);
+    u_simd_recv_buf.resize(Nsimd);
+    for(int l=0;l<Nsimd;l++){
+      u_simd_send_buf[l].resize(_unified_buffer_size);
+      u_simd_recv_buf[l].resize(_unified_buffer_size);
+    }
+  }
+
+  void Local     (int point, int dimension,int shiftpm,int cbmask)
+  {
+    int fd = _grid->_fdimensions[dimension];
+    int rd = _grid->_rdimensions[dimension];
+    int ld = _grid->_ldimensions[dimension];
+    int gd = _grid->_gdimensions[dimension];
+    int ly = _grid->_simd_layout[dimension];
+    
+    // Map to always positive shift modulo global full dimension.
+    int shift = (shiftpm+fd)%fd;
+
+    // the permute type
+    int permute_dim =_grid->PermuteDim(dimension);
+    
+    for(int x=0;x<rd;x++){       
+      
+      int o   = 0;
+      int bo  = x * _grid->_ostride[dimension];
+      
+      int cb= (cbmask==0x2)? Odd : Even;
+      
+      int sshift = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,cb);
+      int sx     = (x+sshift)%rd;
+      
+      int wraparound=0;
+      if ( (shiftpm==-1) && (sx>x)  ) {
+	wraparound = 1;
+      }
+      if ( (shiftpm== 1) && (sx<x)  ) {
+	wraparound = 1;
+      }
+      
+      int permute_slice=0;
+      if(permute_dim){
+	int wrap = sshift/rd;
+	int  num = sshift%rd;
+	if ( x< rd-num ) permute_slice=wrap;
+	else permute_slice = (wrap+1)%ly;
+      }
+      
+      CopyPlane(point,dimension,x,sx,cbmask,permute_slice,wraparound);
+      
+    }
+  }
+  
+  void Comms     (int point,int dimension,int shiftpm,int cbmask)
+  {
+    GridBase *grid=_grid;
+    const int Nsimd = grid->Nsimd();
+    
+    int fd              = _grid->_fdimensions[dimension];
+    int ld              = _grid->_ldimensions[dimension];
+    int rd              = _grid->_rdimensions[dimension];
+    int pd              = _grid->_processors[dimension];
+    int simd_layout     = _grid->_simd_layout[dimension];
+    int comm_dim        = _grid->_processors[dimension] >1 ;
+    
+    assert(comm_dim==1);
+    int shift = (shiftpm + fd) %fd;
+    assert(shift>=0);
+    assert(shift<fd);
+    
+    int buffer_size = _grid->_slice_nblock[dimension]*_grid->_slice_block[dimension]; // done in reduced dims, so SIMD factored
+    
+    _comm_buf_size[point] = buffer_size; // Size of _one_ plane. Multiple planes may be gathered and
+    // send to one or more remote nodes.
+    
+    int cb= (cbmask==0x2)? Odd : Even;
+    int sshift= _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,cb);
+    
+    for(int x=0;x<rd;x++){       
+      
+      int permute_type=grid->PermuteType(dimension);
+      
+      int sx        =  (x+sshift)%rd;
+      
+      int offnode = 0;
+      if ( simd_layout > 1 ) {
+	
+	for(int i=0;i<Nsimd;i++){
+	  
+	  int inner_bit = (Nsimd>>(permute_type+1));
+	  int ic= (i&inner_bit)? 1:0;
+	  int my_coor          = rd*ic + x;
+	  int nbr_coor         = my_coor+sshift;
+	  int nbr_proc = ((nbr_coor)/ld) % pd;// relative shift in processors
+	  
+	  if ( nbr_proc ) { 
+	    offnode =1;
+	  }
+	}
+	
+      } else { 
+	int comm_proc = ((x+sshift)/rd)%pd;
+	offnode = (comm_proc!= 0);
+      }
+      
+      
+      int wraparound=0;
+      if ( (shiftpm==-1) && (sx>x) && (grid->_processor_coor[dimension]==0) ) {
+	wraparound = 1;
+      }
+      if ( (shiftpm== 1) && (sx<x) && (grid->_processor_coor[dimension]==grid->_processors[dimension]-1) ) {
+	wraparound = 1;
+      }
+      if (!offnode) {
+	
+	int permute_slice=0;
+	CopyPlane(point,dimension,x,sx,cbmask,permute_slice,wraparound); 
+	
+      } else {
+
+	int words = buffer_size;
+	if (cbmask != 0x3) words=words>>1;
+	
+	int rank           = grid->_processor;
+	int recv_from_rank;
+	int xmit_to_rank;
+	
+	int unified_buffer_offset = _unified_buffer_size;
+	_unified_buffer_size    += words;
+	
+	ScatterPlane(point,dimension,x,cbmask,unified_buffer_offset,wraparound); // permute/extract/merge is done in comms phase
+	
+      }
+    }
+  }
+  // Routine builds up integer table for each site in _offsets, _is_local, _permute
+  void CopyPlane(int point, int dimension,int lplane,int rplane,int cbmask,int permute,int wrap)
+  {
+    int rd = _grid->_rdimensions[dimension];
+    
+    if ( !_grid->CheckerBoarded(dimension) ) {
+      
+      int o   = 0;                                     // relative offset to base within plane
+      int ro  = rplane*_grid->_ostride[dimension]; // base offset for start of plane 
+      int lo  = lplane*_grid->_ostride[dimension]; // offset in buffer
+      
+      // Simple block stride gather of SIMD objects
+      for(int n=0;n<_grid->_slice_nblock[dimension];n++){
+	for(int b=0;b<_grid->_slice_block[dimension];b++){
+	  int idx=point+(lo+o+b)*_npoints;
+	  _entries[idx]._offset  =ro+o+b;
+	  _entries[idx]._permute=permute;
+	  _entries[idx]._is_local=1;
+	  _entries[idx]._around_the_world=wrap;
+	}
+	o +=_grid->_slice_stride[dimension];
+      }
+      
+    } else {
+      
+      int ro  = rplane*_grid->_ostride[dimension]; // base offset for start of plane 
+      int lo  = lplane*_grid->_ostride[dimension]; // base offset for start of plane 
+      int o   = 0;                                     // relative offset to base within plane
+      
+      for(int n=0;n<_grid->_slice_nblock[dimension];n++){
+	for(int b=0;b<_grid->_slice_block[dimension];b++){
+	  
+	  int ocb=1<<_grid->CheckerBoardFromOindex(o+b);
+	  
+	  if ( ocb&cbmask ) {
+	    int idx = point+(lo+o+b)*_npoints;
+	    _entries[idx]._offset =ro+o+b;
+	    _entries[idx]._is_local=1;
+	    _entries[idx]._permute=permute;
+	    _entries[idx]._around_the_world=wrap;
+	  }
+	  
+	}
+	o +=_grid->_slice_stride[dimension];
+      }
+      
+    }
+  }
+  // Routine builds up integer table for each site in _offsets, _is_local, _permute
+  void ScatterPlane (int point,int dimension,int plane,int cbmask,int offset, int wrap)
+  {
+    int rd = _grid->_rdimensions[dimension];
+    
+    if ( !_grid->CheckerBoarded(dimension) ) {
+      
+      int so  = plane*_grid->_ostride[dimension]; // base offset for start of plane 
+      int o   = 0;                                    // relative offset to base within plane
+      int bo  = 0;                                    // offset in buffer
+      
+      // Simple block stride gather of SIMD objects
+      for(int n=0;n<_grid->_slice_nblock[dimension];n++){
+	for(int b=0;b<_grid->_slice_block[dimension];b++){
+	  int idx=point+(so+o+b)*_npoints;
+	  _entries[idx]._offset  =offset+(bo++);
+	  _entries[idx]._is_local=0;
+	  _entries[idx]._permute=0;
+	  _entries[idx]._around_the_world=wrap;
+	}
+	o +=_grid->_slice_stride[dimension];
+      }
+      
+    } else { 
+      
+      int so  = plane*_grid->_ostride[dimension]; // base offset for start of plane 
+      int o   = 0;                                      // relative offset to base within plane
+      int bo  = 0;                                      // offset in buffer
+      
+      for(int n=0;n<_grid->_slice_nblock[dimension];n++){
+	for(int b=0;b<_grid->_slice_block[dimension];b++){
+	  
+	  int ocb=1<<_grid->CheckerBoardFromOindex(o+b);// Could easily be a table lookup
+	  if ( ocb & cbmask ) {
+	    int idx = point+(so+o+b)*_npoints;
+	    _entries[idx]._offset  =offset+(bo++);
+	    _entries[idx]._is_local=0;
+	    _entries[idx]._permute =0;
+	    _entries[idx]._around_the_world=wrap;
+	  }
+	}
+	o +=_grid->_slice_stride[dimension];
+      }
+    }
+  }
+  
+  template<class compressor> void HaloExchange(const Lattice<vobj> &source,compressor &compress) 
+  {
+    std::vector<std::vector<CommsRequest_t> > reqs;
+    calls++;
+    Mergers.resize(0);
+    Packets.resize(0);
+    HaloGather(source,compress);
+    this->CommunicateBegin(reqs);
+    this->CommunicateComplete(reqs);
+    CommsMerge(); // spins
+  }
+  
+  template<class compressor> void HaloGatherDir(const Lattice<vobj> &source,compressor &compress,int point,int & face_idx)
+  {
+    int dimension    = _directions[point];
+    int displacement = _distances[point];
+
+    int fd = _grid->_fdimensions[dimension];
+    int rd = _grid->_rdimensions[dimension];
+    
+    
+    // Map to always positive shift modulo global full dimension.
+    int shift = (displacement+fd)%fd;
+    
+    //     	  int checkerboard = _grid->CheckerBoardDestination(source.checkerboard,shift);
+    assert (source.checkerboard== _checkerboard);
+    
+    // the permute type
+    int simd_layout     = _grid->_simd_layout[dimension];
+    int comm_dim        = _grid->_processors[dimension] >1 ;
+    int splice_dim      = _grid->_simd_layout[dimension]>1 && (comm_dim);
+    
+    // Gather phase
+    int sshift [2];
+    if ( comm_dim ) {
+      sshift[0] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Even);
+      sshift[1] = _grid->CheckerBoardShiftForCB(_checkerboard,dimension,shift,Odd);
+      if ( sshift[0] == sshift[1] ) {
+	if (splice_dim) {
+	  splicetime-=usecond();
+	  GatherSimd(source,dimension,shift,0x3,compress,face_idx);
+	  splicetime+=usecond();
+	} else { 
+	  nosplicetime-=usecond();
+	  Gather(source,dimension,shift,0x3,compress,face_idx);
+	  nosplicetime+=usecond();
+	}
+      } else {
+	if(splice_dim){
+	  splicetime-=usecond();
+	  GatherSimd(source,dimension,shift,0x1,compress,face_idx);// if checkerboard is unfavourable take two passes
+	  GatherSimd(source,dimension,shift,0x2,compress,face_idx);// both with block stride loop iteration
+	  splicetime+=usecond();
+	} else {
+	  nosplicetime-=usecond();
+	  Gather(source,dimension,shift,0x1,compress,face_idx);
+	  Gather(source,dimension,shift,0x2,compress,face_idx);
+	  nosplicetime+=usecond();
+	}
+      }
+    }
+  }
+  
+  template<class compressor>
+  void HaloGather(const Lattice<vobj> &source,compressor &compress)
+  {
+    // conformable(source._grid,_grid);
+    assert(source._grid==_grid);
+    halogtime-=usecond();
+    
+    u_comm_offset=0;
+    
+    // Gather all comms buffers
+    int face_idx=0;
+    for(int point = 0 ; point < _npoints; point++) {
+      compress.Point(point);
+      HaloGatherDir(source,compress,point,face_idx);
+    }
+    face_table_computed=1;
+    
+    assert(u_comm_offset==_unified_buffer_size);
+    halogtime+=usecond();
+  }
+  
+  template<class compressor>
+  void Gather(const Lattice<vobj> &rhs,int dimension,int shift,int cbmask,compressor & compress,int &face_idx)
+  {
+    typedef typename cobj::vector_type vector_type;
+    typedef typename cobj::scalar_type scalar_type;
+    
+    GridBase *grid=_grid;
+    assert(rhs._grid==_grid);
+    //	  conformable(_grid,rhs._grid);
+    
+    int fd              = _grid->_fdimensions[dimension];
+    int rd              = _grid->_rdimensions[dimension];
+    int pd              = _grid->_processors[dimension];
+    int simd_layout     = _grid->_simd_layout[dimension];
+    int comm_dim        = _grid->_processors[dimension] >1 ;
+    assert(simd_layout==1);
+    assert(comm_dim==1);
+    assert(shift>=0);
+    assert(shift<fd);
+    
+    int buffer_size = _grid->_slice_nblock[dimension]*_grid->_slice_block[dimension];
+    
+    int cb= (cbmask==0x2)? Odd : Even;
+    int sshift= _grid->CheckerBoardShiftForCB(rhs.checkerboard,dimension,shift,cb);
+    
+    for(int x=0;x<rd;x++){       
+      
+      int sx        = (x+sshift)%rd;
+      int comm_proc = ((x+sshift)/rd)%pd;
+      
+      if (comm_proc) {
+
+	int words = buffer_size;
+	if (cbmask != 0x3) words=words>>1;
+	
+	int bytes = words * sizeof(cobj);
+	
+	gathertime-=usecond();
+	int so  = sx*rhs._grid->_ostride[dimension]; // base offset for start of plane 
+	if ( !face_table_computed ) {
+	  t_table-=usecond();
+	  face_table.resize(face_idx+1);
+	  Gather_plane_simple_table_compute ((GridBase *)_grid,dimension,sx,cbmask,u_comm_offset,
+					     face_table[face_idx]);
+	  t_table+=usecond();
+	}
+	
+	
+	int rank           = _grid->_processor;
+	int recv_from_rank;
+	int xmit_to_rank;
+	_grid->ShiftedRanks(dimension,comm_proc,xmit_to_rank,recv_from_rank);
+	
+	assert (xmit_to_rank   != _grid->ThisRank());
+	assert (recv_from_rank != _grid->ThisRank());
+	
+	/////////////////////////////////////////////////////////
+	// try the direct copy if possible
+	/////////////////////////////////////////////////////////
+
+	cobj *u_send_buf_p = &u_send_buf[0];
+	if (ShmDirectCopy) { 
+	  cobj *shm = (cobj *) _grid->ShmBuffer(xmit_to_rank);
+	  if ( shm!=NULL) { 
+	    u_send_buf_p = shm;
+	  }
+	}
+	
+	t_data-=usecond();
+	Gather_plane_simple_table         (face_table[face_idx],rhs,u_send_buf_p,compress,u_comm_offset,so);  face_idx++;
+	t_data+=usecond();
+	
+	AddPacket((void *)&u_send_buf_p[u_comm_offset],
+		  (void *)&u_recv_buf_p[u_comm_offset],
+		  xmit_to_rank,
+		  recv_from_rank,
+		  bytes);
+
+	gathertime+=usecond();
+	u_comm_offset+=words;
+      }
+    }
+  }
+  
+  template<class compressor>
+  void  GatherSimd(const Lattice<vobj> &rhs,int dimension,int shift,int cbmask,compressor &compress,int & face_idx)
+  {
+    const int Nsimd = _grid->Nsimd();
+
+    int fd = _grid->_fdimensions[dimension];
+    int rd = _grid->_rdimensions[dimension];
+    int ld = _grid->_ldimensions[dimension];
+    int pd              = _grid->_processors[dimension];
+    int simd_layout     = _grid->_simd_layout[dimension];
+    int comm_dim        = _grid->_processors[dimension] >1 ;
+    
+    assert(comm_dim==1);
+    // This will not work with a rotate dim
+    assert(simd_layout==2);
+    assert(shift>=0);
+    assert(shift<fd);
+    
+    int permute_type=_grid->PermuteType(dimension);
+    
+    ///////////////////////////////////////////////
+    // Simd direction uses an extract/merge pair
+    ///////////////////////////////////////////////
+    int buffer_size = _grid->_slice_nblock[dimension]*_grid->_slice_block[dimension];
+    int words = sizeof(cobj)/sizeof(vector_type);
+    
+    assert(cbmask==0x3); // Fixme think there is a latent bug if not true
+    
+    int bytes = buffer_size*sizeof(scalar_object);
+    
+    std::vector<scalar_object *> rpointers(Nsimd);
+    std::vector<scalar_object *> spointers(Nsimd);
+    
+    ///////////////////////////////////////////
+    // Work out what to send where
+    ///////////////////////////////////////////
+    
+    int cb    = (cbmask==0x2)? Odd : Even;
+    int sshift= _grid->CheckerBoardShiftForCB(rhs.checkerboard,dimension,shift,cb);
+    
+    // loop over outer coord planes orthog to dim
+    for(int x=0;x<rd;x++){       
+      
+      int any_offnode = ( ((x+sshift)%fd) >= rd );
+      
+      if ( any_offnode ) {
+	
+	for(int i=0;i<Nsimd;i++){       
+	  spointers[i] = &u_simd_send_buf[i][u_comm_offset];
+	}
+	
+	int sx   = (x+sshift)%rd;
+	
+	gathermtime-=usecond();
+	Gather_plane_extract<cobj>(rhs,spointers,dimension,sx,cbmask,compress);
+	gathermtime+=usecond();
+
+	for(int i=0;i<Nsimd;i++){
+	  
+	  // FIXME 
+	  // This logic is hard coded to simd_layout ==2 and not allowing >2
+	  //		std::cout << "GatherSimd : lane 1st elem " << i << u_simd_send_buf[i ][u_comm_offset]<<std::endl;
+	  
+	  int inner_bit = (Nsimd>>(permute_type+1));
+	  int ic= (i&inner_bit)? 1:0;
+	  
+	  int my_coor          = rd*ic + x;
+	  int nbr_coor         = my_coor+sshift;
+	  int nbr_proc = ((nbr_coor)/ld) % pd;// relative shift in processors
+	  int nbr_lcoor= (nbr_coor%ld);
+	  int nbr_ic   = (nbr_lcoor)/rd;    // inner coord of peer
+	  int nbr_ox   = (nbr_lcoor%rd);    // outer coord of peer
+	  int nbr_lane = (i&(~inner_bit));
+	  
+	  if (nbr_ic) nbr_lane|=inner_bit;
+	  assert (sx == nbr_ox);
+	  
+	  auto rp = &u_simd_recv_buf[i       ][u_comm_offset];
+	  auto sp = &u_simd_send_buf[nbr_lane][u_comm_offset];
+	  
+	  if(nbr_proc){
+	    
+	    int recv_from_rank;
+	    int xmit_to_rank;
+	    
+	    _grid->ShiftedRanks(dimension,nbr_proc,xmit_to_rank,recv_from_rank); 
+	    
+	    AddPacket((void *)sp,(void *)rp,xmit_to_rank,recv_from_rank,bytes);
+	    
+	    rpointers[i] = rp;
+	    
+	  } else { 
+	    
+	    rpointers[i] = sp;
+	    
+	  }
+	}
+
+	assert(0);
+	AddMerge(&u_recv_buf_p[u_comm_offset],rpointers,buffer_size,Packets.size()-1);
+	
+	u_comm_offset     +=buffer_size;
+      }
+    }
+  }
+  
+};
+}
 #endif
diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index f2a6bf00..4139f72a 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -80,7 +80,6 @@ class CartesianCommunicator {
 
     void * ShmCommBuf;
     std::vector<void *> ShmCommBufs;
-    std::vector<void *> ShmStencilBufs;
 
     int WorldRank;
     int WorldSize;
@@ -105,6 +104,10 @@ class CartesianCommunicator {
     int  RankFromProcessorCoor(std::vector<int> &coor);
     void ProcessorCoorFromRank(int rank,std::vector<int> &coor);
 
+    // Helper function for SHM Windows in MPI3
+    void *ShmBufferSelf(void);
+    void *ShmBuffer(int rank);
+
     /////////////////////////////////
     // Grid information queries
     /////////////////////////////////
@@ -173,6 +176,16 @@ class CartesianCommunicator {
 			 int recv_from_rank,
 			 int bytes);
     void SendToRecvFromComplete(std::vector<CommsRequest_t> &waitall);
+    void StencilSendToRecvFromBegin(std::vector<CommsRequest_t> &list,
+			 void *xmit,
+			 int xmit_to_rank,
+			 void *recv,
+			 int recv_from_rank,
+			 int bytes);
+    void StencilSendToRecvFromComplete(std::vector<CommsRequest_t> &waitall)
+    {
+      SendToRecvFromComplete(waitall);
+    }
 
     ////////////////////////////////////////////////////////////
     // Barrier
diff --git a/lib/communicator/Communicator_mpi.cc b/lib/communicator/Communicator_mpi.cc
index 9c66202f..4291b319 100644
--- a/lib/communicator/Communicator_mpi.cc
+++ b/lib/communicator/Communicator_mpi.cc
@@ -67,6 +67,14 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   
   assert(Size==_Nprocessors);
 }
+void *CartesianCommunicator::ShmBufferSelf(void)
+{
+  return NULL;
+}
+void *CartesianCommunicator::ShmBuffer(int rank)
+{
+  return NULL;
+}
 
 void CartesianCommunicator::GlobalSum(uint32_t &u){
   int ierr=MPI_Allreduce(MPI_IN_PLACE,&u,1,MPI_UINT32_T,MPI_SUM,communicator);
diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index be4e66a9..f5bbdbda 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -197,10 +197,10 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     // Verbose for now
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    std::cout<< "Ranks per node "<< ShmSize << std::endl;
-    std::cout<< "Nodes          "<< GroupSize << std::endl;
-    std::cout<< "Ranks          "<< WorldSize << std::endl;
-    std::cout<< "Shm CommBuf "<< ShmCommBuf << std::endl;
+    std::cout<<GridLogMessage<< "MPI-3 configuration: Ranks per node "<< ShmSize ;
+    std::cout<< " Nodes "<< GroupSize;
+    std::cout<< " Ranks "<< WorldSize;
+    std::cout<< " Shm CommBuf address"<< std::hex <<ShmCommBuf << std::dec<<std::endl;
 
     // Done
     ShmSetup=1;
@@ -208,12 +208,10 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   }
 
   ShmCommBufs.resize(ShmSize);
-  ShmStencilBufs.resize(ShmSize);
   for(int r=0;r<ShmSize;r++){
     MPI_Aint sz;
     int dsp_unit;
     MPI_Win_shared_query (ShmWindow, r, &sz, &dsp_unit, &ShmCommBufs[r]);
-    ShmStencilBufs[r] = (void *) ((uint64_t)ShmCommBufs[r]+MAX_MPI_SHM_BYTES/4);
   }
   
   ////////////////////////////////////////////////////////////////
@@ -240,6 +238,7 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   ShmCoor.resize(_ndimension);
   GroupCoor.resize(_ndimension);
   WorldCoor.resize(_ndimension);
+
   for(int l2=0;l2<log2size;l2++){
     while ( WorldDims[dim] / ShmDims[dim] <= 1 ) dim=(dim+1)%_ndimension;
     ShmDims[dim]*=2;
@@ -347,6 +346,21 @@ void CartesianCommunicator::SendRecvPacket(void *xmit,
   }
 }
 
+
+void *CartesianCommunicator::ShmBufferSelf(void)
+{
+  return ShmCommBufs[ShmRank];
+}
+void *CartesianCommunicator::ShmBuffer(int rank)
+{
+  int gpeer = GroupRanks[rank];
+  if (gpeer == MPI_UNDEFINED){
+    return NULL;
+  } else { 
+    return ShmCommBufs[gpeer];
+  }
+}
+
 // Basic Halo comms primitive
 void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
 						void *xmit,
@@ -355,13 +369,11 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 						int from,
 						int bytes)
 {
-#undef SHM_USE_BCOPY
   MPI_Request xrq;
   MPI_Request rrq;
   
   static int sequence;
 
-  int rank = _processor;
   int ierr;
   int tag;
   int check;
@@ -370,6 +382,7 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
   assert(from != _processor);
   
   int gdest = GroupRanks[dest];
+  int gfrom = GroupRanks[from];
   int gme   = GroupRanks[_processor];
 
   sequence++;
@@ -379,30 +392,23 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 
   int small = (bytes<MAX_MPI_SHM_BYTES);
 
-#ifndef SHM_USE_BCOPY
   typedef vRealD T;
   int words = bytes/sizeof(T);
-  assert(((size_t)bytes &(sizeof(T)-1))==0);
-  //  assert(((size_t)xmit  &(sizeof(T)-1))==0);
-  //  assert(((size_t)recv  &(sizeof(T)-1))==0);
-#endif
 
+  assert(((size_t)bytes &(sizeof(T)-1))==0);
   assert(gme == ShmRank);
 
-  //  std::cerr << "proc dest from gme  gdest "<<_processor<<" "<<dest <<" "<< from <<" "<<gme<<" "<< gdest<<std::endl; Barrier();
-  if ( small && (dest !=MPI_UNDEFINED) ) {
+  if ( small && (gdest !=MPI_UNDEFINED) ) {
+
     assert(gme != gdest);
 
-#ifdef SHM_USE_BCOPY
-    bcopy(xmit,to_ptr,bytes);
-#else
     T *ip = (T *)xmit;
     T *op = (T *)to_ptr;
-    PARALLEL_FOR_LOOP 
+PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
       vstream(op[w],ip[w]);
     }
-#endif
+
     bcopy(&_processor,&to_ptr[bytes],sizeof(_processor));
     bcopy(&  sequence,&to_ptr[bytes+4],sizeof(sequence));
   } else { 
@@ -411,24 +417,17 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
     list.push_back(xrq);
   }
   
-  //  std::cout << "Syncing "<<std::endl; Barrier();
   MPI_Win_sync (ShmWindow);   
   MPI_Barrier  (ShmComm);
   MPI_Win_sync (ShmWindow);   
 
-  //  std::cout << "Receiving "<<std::endl; Barrier();
-  
-  if (small && (from !=MPI_UNDEFINED) ) {
-#ifdef SHM_USE_BCOPY
-    bcopy(from_ptr,recv,bytes);
-#else
+  if (small && (gfrom !=MPI_UNDEFINED) ) {
     T *ip = (T *)from_ptr;
     T *op = (T *)recv;
-    PARALLEL_FOR_LOOP 
+PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
       vstream(op[w],ip[w]);
     }
-#endif
     bcopy(&from_ptr[bytes]  ,&tag  ,sizeof(tag));
     bcopy(&from_ptr[bytes+4],&check,sizeof(check));
     assert(check==sequence);
@@ -438,28 +437,52 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
     assert(ierr==0);
     list.push_back(rrq);
   }
-  
-  //  std::cout << "Syncing"<<std::endl; Barrier();
 
   MPI_Win_sync (ShmWindow);   
   MPI_Barrier  (ShmComm);
   MPI_Win_sync (ShmWindow);   
+}
 
-#if 0
+void CartesianCommunicator::StencilSendToRecvFromBegin(std::vector<CommsRequest_t> &list,
+						       void *xmit,
+						       int dest,
+						       void *recv,
+						       int from,
+						       int bytes)
+{
   MPI_Request xrq;
   MPI_Request rrq;
-  int rank = _processor;
-  int ierr;
-  ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
-  ierr|=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
-  
-  assert(ierr==0);
 
-  list.push_back(xrq);
-  list.push_back(rrq);
-#endif
+  int ierr;
+
+  assert(dest != _processor);
+  assert(from != _processor);
+  
+  int gdest = GroupRanks[dest];
+  int gfrom = GroupRanks[from];
+  int gme   = GroupRanks[_processor];
+
+  assert(gme == ShmRank);
+
+  if ( gdest == MPI_UNDEFINED ) {
+    ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
+    assert(ierr==0);
+    list.push_back(xrq);
+  }
+  
+  if ( gfrom ==MPI_UNDEFINED) {
+    ierr=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
+    assert(ierr==0);
+    list.push_back(rrq);
+  }
+
+  MPI_Win_sync (ShmWindow);   
+  MPI_Barrier  (ShmComm);
+  MPI_Win_sync (ShmWindow);   
+  
 }
 
+
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {
   int nreq=list.size();
diff --git a/lib/communicator/Communicator_none.cc b/lib/communicator/Communicator_none.cc
index 8601255a..80b8fb90 100644
--- a/lib/communicator/Communicator_none.cc
+++ b/lib/communicator/Communicator_none.cc
@@ -33,6 +33,14 @@ void CartesianCommunicator::Init(int *argc, char *** arv)
 }
 
 int Rank(void ){ return 0; };
+void *CartesianCommunicator::ShmBufferSelf(void)
+{
+  return NULL;
+}
+void *CartesianCommunicator::ShmBuffer(int rank)
+{
+  return NULL;
+}
 
 CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
 {
diff --git a/lib/communicator/Communicator_shmem.cc b/lib/communicator/Communicator_shmem.cc
index 091e266e..4af719b0 100644
--- a/lib/communicator/Communicator_shmem.cc
+++ b/lib/communicator/Communicator_shmem.cc
@@ -50,6 +50,14 @@ typedef struct HandShake_t {
 static Vector< HandShake > XConnections;
 static Vector< HandShake > RConnections;
 
+void *CartesianCommunicator::ShmBufferSelf(void)
+{
+  return NULL;
+}
+void *CartesianCommunicator::ShmBuffer(int rank)
+{
+  return NULL;
+}
 void CartesianCommunicator::Init(int *argc, char ***argv) {
   shmem_init();
   XConnections.resize(shmem_n_pes());
diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h
index 4248ec4c..0800dea6 100644
--- a/lib/qcd/action/fermion/FermionOperatorImpl.h
+++ b/lib/qcd/action/fermion/FermionOperatorImpl.h
@@ -33,511 +33,500 @@ directory
 #define GRID_QCD_FERMION_OPERATOR_IMPL_H
 
 namespace Grid {
-
-  namespace QCD {
+namespace QCD {
 
 
-    //////////////////////////////////////////////
-    // Template parameter class constructs to package
-    // externally control Fermion implementations
-    // in orthogonal directions
-    //
-    // Ultimately need Impl to always define types where XXX is opaque
-    //
-    //    typedef typename XXX               Simd;
-    //    typedef typename XXX     GaugeLinkField;	
-    //    typedef typename XXX         GaugeField;
-    //    typedef typename XXX      GaugeActField;
-    //    typedef typename XXX       FermionField;
-    //    typedef typename XXX  DoubledGaugeField;
-    //    typedef typename XXX         SiteSpinor;
-    //    typedef typename XXX     SiteHalfSpinor;	
-    //    typedef typename XXX         Compressor;	
-    //
-    // and Methods:
-    //    void ImportGauge(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
-    //    void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
-    //    void multLink(SiteHalfSpinor &phi,const SiteDoubledGaugeField &U,const SiteHalfSpinor &chi,int mu,StencilEntry *SE,StencilImpl &St)
-    //    void InsertForce4D(GaugeField &mat,const FermionField &Btilde,const FermionField &A,int mu)
-    //    void InsertForce5D(GaugeField &mat,const FermionField &Btilde,const FermionField &A,int mu)
-    //
-    //
-    // To acquire the typedefs from "Base" (either a base class or template param) use:
-    //
-    // INHERIT_GIMPL_TYPES(Base)
-    // INHERIT_FIMPL_TYPES(Base)
-    // INHERIT_IMPL_TYPES(Base)
-    //
-    // The Fermion operators will do the following:
-    //
-    // struct MyOpParams { 
-    //   RealD mass;
-    // };
-    //
-    //
-    // template<class Impl>
-    // class MyOp : public<Impl> { 
-    // public:
-    //
-    //    INHERIT_ALL_IMPL_TYPES(Impl);
-    //
-    //    MyOp(MyOpParams Myparm, ImplParams &ImplParam) :  Impl(ImplParam)
-    //    {
-    //
-    //    };
-    //    
-    //  }
-    //////////////////////////////////////////////
-
-
-    ////////////////////////////////////////////////////////////////////////
-    // Implementation dependent fermion types
-    ////////////////////////////////////////////////////////////////////////
+  //////////////////////////////////////////////
+  // Template parameter class constructs to package
+  // externally control Fermion implementations
+  // in orthogonal directions
+  //
+  // Ultimately need Impl to always define types where XXX is opaque
+  //
+  //    typedef typename XXX               Simd;
+  //    typedef typename XXX     GaugeLinkField;	
+  //    typedef typename XXX         GaugeField;
+  //    typedef typename XXX      GaugeActField;
+  //    typedef typename XXX       FermionField;
+  //    typedef typename XXX  DoubledGaugeField;
+  //    typedef typename XXX         SiteSpinor;
+  //    typedef typename XXX     SiteHalfSpinor;	
+  //    typedef typename XXX         Compressor;	
+  //
+  // and Methods:
+  //    void ImportGauge(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
+  //    void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
+  //    void multLink(SiteHalfSpinor &phi,const SiteDoubledGaugeField &U,const SiteHalfSpinor &chi,int mu,StencilEntry *SE,StencilImpl &St)
+  //    void InsertForce4D(GaugeField &mat,const FermionField &Btilde,const FermionField &A,int mu)
+  //    void InsertForce5D(GaugeField &mat,const FermionField &Btilde,const FermionField &A,int mu)
+  //
+  //
+  // To acquire the typedefs from "Base" (either a base class or template param) use:
+  //
+  // INHERIT_GIMPL_TYPES(Base)
+  // INHERIT_FIMPL_TYPES(Base)
+  // INHERIT_IMPL_TYPES(Base)
+  //
+  // The Fermion operators will do the following:
+  //
+  // struct MyOpParams { 
+  //   RealD mass;
+  // };
+  //
+  //
+  // template<class Impl>
+  // class MyOp : public<Impl> { 
+  // public:
+  //
+  //    INHERIT_ALL_IMPL_TYPES(Impl);
+  //
+  //    MyOp(MyOpParams Myparm, ImplParams &ImplParam) :  Impl(ImplParam)
+  //    {
+  //
+  //    };
+  //    
+  //  }
+  //////////////////////////////////////////////
+  
 
+  ////////////////////////////////////////////////////////////////////////
+  // Implementation dependent fermion types
+  ////////////////////////////////////////////////////////////////////////
+  
 #define INHERIT_FIMPL_TYPES(Impl)\
-    typedef typename Impl::FermionField           FermionField;		\
-    typedef typename Impl::DoubledGaugeField DoubledGaugeField;		\
-    typedef typename Impl::SiteSpinor               SiteSpinor;		\
-    typedef typename Impl::SiteHalfSpinor       SiteHalfSpinor;		\
-    typedef typename Impl::Compressor               Compressor;		\
-    typedef typename Impl::StencilImpl             StencilImpl;		\
-    typedef typename Impl::ImplParams ImplParams;			\
-    typedef typename Impl::Coeff_t       Coeff_t;
-
+  typedef typename Impl::FermionField           FermionField;		\
+  typedef typename Impl::DoubledGaugeField DoubledGaugeField;		\
+  typedef typename Impl::SiteSpinor               SiteSpinor;		\
+  typedef typename Impl::SiteHalfSpinor       SiteHalfSpinor;		\
+  typedef typename Impl::Compressor               Compressor;		\
+  typedef typename Impl::StencilImpl             StencilImpl;		\
+  typedef typename Impl::ImplParams ImplParams;				\
+  typedef typename Impl::Coeff_t       Coeff_t;
+  
 #define INHERIT_IMPL_TYPES(Base) \
-    INHERIT_GIMPL_TYPES(Base)	 \
-    INHERIT_FIMPL_TYPES(Base)
+  INHERIT_GIMPL_TYPES(Base)	 \
+  INHERIT_FIMPL_TYPES(Base)
+  
+  /////////////////////////////////////////////////////////////////////////////
+  // Single flavour four spinors with colour index
+  /////////////////////////////////////////////////////////////////////////////
+  template <class S, class Representation = FundamentalRepresentation,class _Coeff_t = RealD >
+  class WilsonImpl : public PeriodicGaugeImpl<GaugeImplTypes<S, Representation::Dimension > > {
+
+    public:
+
+    static const int Dimension = Representation::Dimension;
+    typedef PeriodicGaugeImpl<GaugeImplTypes<S, Dimension > > Gimpl;
+      
+    //Necessary?
+    constexpr bool is_fundamental() const{return Dimension == Nc ? 1 : 0;}
     
-    ///////
-    // Single flavour four spinors with colour index
-    ///////
-    template <class S, class Representation = FundamentalRepresentation,class _Coeff_t = RealD >
-    class WilsonImpl
-      : public PeriodicGaugeImpl<GaugeImplTypes<S, Representation::Dimension > > {
-    public:
-      static const int Dimension = Representation::Dimension;
-      typedef PeriodicGaugeImpl<GaugeImplTypes<S, Dimension > > Gimpl;
-      
-      //Necessary?
-      constexpr bool is_fundamental() const{return Dimension == Nc ? 1 : 0;}
+    const bool LsVectorised=false;
+    typedef _Coeff_t Coeff_t;
 
-      const bool LsVectorised=false;
-      typedef _Coeff_t Coeff_t;
-
-
-      INHERIT_GIMPL_TYPES(Gimpl);
+    INHERIT_GIMPL_TYPES(Gimpl);
       
-      template <typename vtype> using iImplSpinor            = iScalar<iVector<iVector<vtype, Dimension>, Ns> >;
-      template <typename vtype> using iImplHalfSpinor        = iScalar<iVector<iVector<vtype, Dimension>, Nhs> >;
-      template <typename vtype> using iImplDoubledGaugeField = iVector<iScalar<iMatrix<vtype, Dimension> >, Nds>;
+    template <typename vtype> using iImplSpinor            = iScalar<iVector<iVector<vtype, Dimension>, Ns> >;
+    template <typename vtype> using iImplHalfSpinor        = iScalar<iVector<iVector<vtype, Dimension>, Nhs> >;
+    template <typename vtype> using iImplDoubledGaugeField = iVector<iScalar<iMatrix<vtype, Dimension> >, Nds>;
+    
+    typedef iImplSpinor<Simd>            SiteSpinor;
+    typedef iImplHalfSpinor<Simd>        SiteHalfSpinor;
+    typedef iImplDoubledGaugeField<Simd> SiteDoubledGaugeField;
+    
+    typedef Lattice<SiteSpinor>            FermionField;
+    typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
+    
+    typedef WilsonCompressor<SiteHalfSpinor, SiteSpinor> Compressor;
+    typedef WilsonImplParams ImplParams;
+    typedef WilsonStencil<SiteSpinor, SiteHalfSpinor> StencilImpl;
+    
+    ImplParams Params;
+    
+    WilsonImpl(const ImplParams &p = ImplParams()) : Params(p){};
       
-      typedef iImplSpinor<Simd>            SiteSpinor;
-      typedef iImplHalfSpinor<Simd>        SiteHalfSpinor;
-      typedef iImplDoubledGaugeField<Simd> SiteDoubledGaugeField;
+    bool overlapCommsCompute(void) { return Params.overlapCommsCompute; };
       
-      typedef Lattice<SiteSpinor>            FermionField;
-      typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
+    inline void multLink(SiteHalfSpinor &phi,
+			 const SiteDoubledGaugeField &U,
+			 const SiteHalfSpinor &chi,
+			 int mu,
+			 StencilEntry *SE,
+			 StencilImpl &St) {
+      mult(&phi(), &U(mu), &chi());
+    }
       
-      typedef WilsonCompressor<SiteHalfSpinor, SiteSpinor> Compressor;
-      typedef WilsonImplParams ImplParams;
-      typedef WilsonStencil<SiteSpinor, SiteHalfSpinor> StencilImpl;
+    template <class ref>
+    inline void loadLinkElement(Simd &reg, ref &memory) {
+      reg = memory;
+    }
       
-      ImplParams Params;
-      
-      WilsonImpl(const ImplParams &p = ImplParams()) : Params(p){};
-      
-      bool overlapCommsCompute(void) { return Params.overlapCommsCompute; };
-      
-      inline void multLink(SiteHalfSpinor &phi,
-			   const SiteDoubledGaugeField &U,
-			   const SiteHalfSpinor &chi,
-			   int mu,
-			   StencilEntry *SE,
-			   StencilImpl &St) {
-	mult(&phi(), &U(mu), &chi());
+    inline void DoubleStore(GridBase *GaugeGrid,
+			    DoubledGaugeField &Uds,
+			    const GaugeField &Umu) {
+      conformable(Uds._grid, GaugeGrid);
+      conformable(Umu._grid, GaugeGrid);
+      GaugeLinkField U(GaugeGrid);
+      for (int mu = 0; mu < Nd; mu++) {
+	U = PeekIndex<LorentzIndex>(Umu, mu);
+	PokeIndex<LorentzIndex>(Uds, U, mu);
+	U = adj(Cshift(U, mu, -1));
+	PokeIndex<LorentzIndex>(Uds, U, mu + 4);
       }
+    }
+
+    inline void InsertForce4D(GaugeField &mat, FermionField &Btilde, FermionField &A,int mu){
+      GaugeLinkField link(mat._grid);
+      link = TraceIndex<SpinIndex>(outerProduct(Btilde,A)); 
+      PokeIndex<LorentzIndex>(mat,link,mu);
+    }   
       
-      template <class ref>
-      inline void loadLinkElement(Simd &reg,
-				  ref &memory) {
-	reg = memory;
-      }
+    inline void InsertForce5D(GaugeField &mat, FermionField &Btilde, FermionField &Atilde,int mu){
       
-      inline void DoubleStore(GridBase *GaugeGrid,
-			      DoubledGaugeField &Uds,
-			      const GaugeField &Umu) {
-	conformable(Uds._grid, GaugeGrid);
-	conformable(Umu._grid, GaugeGrid);
-	GaugeLinkField U(GaugeGrid);
-	for (int mu = 0; mu < Nd; mu++) {
-	  U = PeekIndex<LorentzIndex>(Umu, mu);
-	  PokeIndex<LorentzIndex>(Uds, U, mu);
-	  U = adj(Cshift(U, mu, -1));
-	  PokeIndex<LorentzIndex>(Uds, U, mu + 4);
+      int Ls=Btilde._grid->_fdimensions[0];
+      GaugeLinkField tmp(mat._grid);
+      tmp = zero;
+      
+      PARALLEL_FOR_LOOP
+      for(int sss=0;sss<tmp._grid->oSites();sss++){
+	int sU=sss;
+	for(int s=0;s<Ls;s++){
+	  int sF = s+Ls*sU;
+	  tmp[sU] = tmp[sU]+ traceIndex<SpinIndex>(outerProduct(Btilde[sF],Atilde[sF])); // ordering here
 	}
       }
-
-      inline void InsertForce4D(GaugeField &mat, FermionField &Btilde, FermionField &A,int mu){
-	GaugeLinkField link(mat._grid);
-	link = TraceIndex<SpinIndex>(outerProduct(Btilde,A)); 
-	PokeIndex<LorentzIndex>(mat,link,mu);
-      }   
+      PokeIndex<LorentzIndex>(mat,tmp,mu);
       
-      inline void InsertForce5D(GaugeField &mat, FermionField &Btilde, FermionField &Atilde,int mu){
-	
-	int Ls=Btilde._grid->_fdimensions[0];
-	GaugeLinkField tmp(mat._grid);
-	tmp = zero;
+    }
+  };
 
-        PARALLEL_FOR_LOOP
-	  for(int sss=0;sss<tmp._grid->oSites();sss++){
-	    int sU=sss;
-	    for(int s=0;s<Ls;s++){
-	      int sF = s+Ls*sU;
-	      tmp[sU] = tmp[sU]+ traceIndex<SpinIndex>(outerProduct(Btilde[sF],Atilde[sF])); // ordering here
-	    }
-	  }
-	PokeIndex<LorentzIndex>(mat,tmp,mu);
+  ////////////////////////////////////////////////////////////////////////////////////
+  // Single flavour four spinors with colour index, 5d redblack
+  ////////////////////////////////////////////////////////////////////////////////////
 
+template<class S,int Nrepresentation=Nc,class _Coeff_t = RealD>
+class DomainWallVec5dImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { 
+  public:
+      
+  static const int Dimension = Nrepresentation;
+  const bool LsVectorised=true;
+  typedef _Coeff_t Coeff_t;      
+  typedef PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > Gimpl;
+  
+  INHERIT_GIMPL_TYPES(Gimpl);
+  
+  template <typename vtype> using iImplSpinor            = iScalar<iVector<iVector<vtype, Nrepresentation>, Ns> >;
+  template <typename vtype> using iImplHalfSpinor        = iScalar<iVector<iVector<vtype, Nrepresentation>, Nhs> >;
+  template <typename vtype> using iImplDoubledGaugeField = iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds>;
+  template <typename vtype> using iImplGaugeField        = iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nd>;
+  template <typename vtype> using iImplGaugeLink         = iScalar<iScalar<iMatrix<vtype, Nrepresentation> > >;
+  
+  typedef iImplSpinor<Simd> SiteSpinor;
+  typedef iImplHalfSpinor<Simd> SiteHalfSpinor;
+  typedef Lattice<SiteSpinor> FermionField;
+  
+  // Make the doubled gauge field a *scalar*
+  typedef iImplDoubledGaugeField<typename Simd::scalar_type>  SiteDoubledGaugeField;  // This is a scalar
+  typedef iImplGaugeField<typename Simd::scalar_type>         SiteScalarGaugeField;  // scalar
+  typedef iImplGaugeLink<typename Simd::scalar_type>          SiteScalarGaugeLink;  // scalar
+      
+  typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
+      
+  typedef WilsonCompressor<SiteHalfSpinor, SiteSpinor> Compressor;
+  typedef WilsonImplParams ImplParams;
+  typedef WilsonStencil<SiteSpinor, SiteHalfSpinor> StencilImpl;
+  
+  ImplParams Params;
+  
+  DomainWallVec5dImpl(const ImplParams &p = ImplParams()) : Params(p){};
+      
+  bool overlapCommsCompute(void) { return false; };
+      
+  template <class ref>
+  inline void loadLinkElement(Simd &reg, ref &memory) {
+    vsplat(reg, memory);
+  }
+
+  inline void multLink(SiteHalfSpinor &phi, const SiteDoubledGaugeField &U,
+		       const SiteHalfSpinor &chi, int mu, StencilEntry *SE,
+		       StencilImpl &St) {
+    SiteGaugeLink UU;
+    for (int i = 0; i < Nrepresentation; i++) {
+      for (int j = 0; j < Nrepresentation; j++) {
+	vsplat(UU()()(i, j), U(mu)()(i, j));
       }
-    };
-
-    ///////
-    // Single flavour four spinors with colour index, 5d redblack
-    ///////
-    template<class S,int Nrepresentation=Nc,class _Coeff_t = RealD>
-    class DomainWallVec5dImpl :  public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { 
-    public:
+    }
+    mult(&phi(), &UU(), &chi());
+  }
       
-      static const int Dimension = Nrepresentation;
-      const bool LsVectorised=true;
-      typedef _Coeff_t Coeff_t;      
-      typedef PeriodicGaugeImpl<GaugeImplTypes<S, Nrepresentation> > Gimpl;
-
-      INHERIT_GIMPL_TYPES(Gimpl);
+  inline void DoubleStore(GridBase *GaugeGrid, DoubledGaugeField &Uds,const GaugeField &Umu) 
+  {
+    SiteScalarGaugeField ScalarUmu;
+    SiteDoubledGaugeField ScalarUds;
+    
+    GaugeLinkField U(Umu._grid);
+    GaugeField Uadj(Umu._grid);
+    for (int mu = 0; mu < Nd; mu++) {
+      U = PeekIndex<LorentzIndex>(Umu, mu);
+      U = adj(Cshift(U, mu, -1));
+      PokeIndex<LorentzIndex>(Uadj, U, mu);
+    }
+    
+    for (int lidx = 0; lidx < GaugeGrid->lSites(); lidx++) {
+      std::vector<int> lcoor;
+      GaugeGrid->LocalIndexToLocalCoor(lidx, lcoor);
       
-      template <typename vtype> using iImplSpinor            = iScalar<iVector<iVector<vtype, Nrepresentation>, Ns> >;
-      template <typename vtype> using iImplHalfSpinor        = iScalar<iVector<iVector<vtype, Nrepresentation>, Nhs> >;
-      template <typename vtype> using iImplDoubledGaugeField = iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds>;
-      template <typename vtype> using iImplGaugeField        = iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nd>;
-      template <typename vtype> using iImplGaugeLink         = iScalar<iScalar<iMatrix<vtype, Nrepresentation> > >;
+      peekLocalSite(ScalarUmu, Umu, lcoor);
+      for (int mu = 0; mu < 4; mu++) ScalarUds(mu) = ScalarUmu(mu);
       
-      typedef iImplSpinor<Simd> SiteSpinor;
-      typedef iImplHalfSpinor<Simd> SiteHalfSpinor;
-      typedef Lattice<SiteSpinor> FermionField;
+      peekLocalSite(ScalarUmu, Uadj, lcoor);
+      for (int mu = 0; mu < 4; mu++) ScalarUds(mu + 4) = ScalarUmu(mu);
       
-      // Make the doubled gauge field a *scalar*
-      typedef iImplDoubledGaugeField<typename Simd::scalar_type>
-      SiteDoubledGaugeField;  // This is a scalar
-      typedef iImplGaugeField<typename Simd::scalar_type>
-      SiteScalarGaugeField;  // scalar
-      typedef iImplGaugeLink<typename Simd::scalar_type>
-      SiteScalarGaugeLink;  // scalar
+      pokeLocalSite(ScalarUds, Uds, lcoor);
+    }
+  }
       
-      typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
+  inline void InsertForce4D(GaugeField &mat, FermionField &Btilde,FermionField &A, int mu) 
+  {
+    assert(0);
+  }
       
-      typedef WilsonCompressor<SiteHalfSpinor, SiteSpinor> Compressor;
-      typedef WilsonImplParams ImplParams;
-      typedef WilsonStencil<SiteSpinor, SiteHalfSpinor> StencilImpl;
-      
-      ImplParams Params;
-      
-      DomainWallVec5dImpl(const ImplParams &p = ImplParams()) : Params(p){};
-      
-      bool overlapCommsCompute(void) { return false; };
-      
-      template <class ref>
-      inline void loadLinkElement(Simd &reg, ref &memory) {
-	vsplat(reg, memory);
-      }
-      inline void multLink(SiteHalfSpinor &phi, const SiteDoubledGaugeField &U,
-			   const SiteHalfSpinor &chi, int mu, StencilEntry *SE,
-			   StencilImpl &St) {
-	SiteGaugeLink UU;
-	for (int i = 0; i < Nrepresentation; i++) {
-	  for (int j = 0; j < Nrepresentation; j++) {
-	    vsplat(UU()()(i, j), U(mu)()(i, j));
-	  }
-	}
-	mult(&phi(), &UU(), &chi());
-      }
-      
-      inline void DoubleStore(GridBase *GaugeGrid, DoubledGaugeField &Uds,
-			      const GaugeField &Umu) {
-	SiteScalarGaugeField ScalarUmu;
-	SiteDoubledGaugeField ScalarUds;
-	
-	GaugeLinkField U(Umu._grid);
-	GaugeField Uadj(Umu._grid);
-	for (int mu = 0; mu < Nd; mu++) {
-	  U = PeekIndex<LorentzIndex>(Umu, mu);
-	  U = adj(Cshift(U, mu, -1));
-	  PokeIndex<LorentzIndex>(Uadj, U, mu);
-	}
-	
-	for (int lidx = 0; lidx < GaugeGrid->lSites(); lidx++) {
-	  std::vector<int> lcoor;
-	  GaugeGrid->LocalIndexToLocalCoor(lidx, lcoor);
-	  
-	  peekLocalSite(ScalarUmu, Umu, lcoor);
-	  for (int mu = 0; mu < 4; mu++) ScalarUds(mu) = ScalarUmu(mu);
-	  
-	  peekLocalSite(ScalarUmu, Uadj, lcoor);
-	  for (int mu = 0; mu < 4; mu++) ScalarUds(mu + 4) = ScalarUmu(mu);
-	  
-	  pokeLocalSite(ScalarUds, Uds, lcoor);
-	}
-      }
-      
-      inline void InsertForce4D(GaugeField &mat, FermionField &Btilde,
-				FermionField &A, int mu) {
+  inline void InsertForce5D(GaugeField &mat, FermionField &Btilde,FermionField &Atilde, int mu) 
+  {
 	assert(0);
-      }
-      
-      inline void InsertForce5D(GaugeField &mat, FermionField &Btilde,
-				FermionField &Atilde, int mu) {
-	assert(0);
-      }
-    };
+  }
+};
     
     ////////////////////////////////////////////////////////////////////////////////////////
     // Flavour doubled spinors; is Gparity the only? what about C*?
     ////////////////////////////////////////////////////////////////////////////////////////
     
-    template <class S, int Nrepresentation,class _Coeff_t = RealD>
-    class GparityWilsonImpl
-      : public ConjugateGaugeImpl<GaugeImplTypes<S, Nrepresentation> > {
-    public:
-      static const int Dimension = Nrepresentation;
+template <class S, int Nrepresentation,class _Coeff_t = RealD>
+class GparityWilsonImpl : public ConjugateGaugeImpl<GaugeImplTypes<S, Nrepresentation> > {
+ public:
 
-      const bool LsVectorised=false;
+ static const int Dimension = Nrepresentation;
 
-      typedef _Coeff_t Coeff_t;
-      typedef ConjugateGaugeImpl< GaugeImplTypes<S,Nrepresentation> > Gimpl;
+ const bool LsVectorised=false;
+
+ typedef _Coeff_t Coeff_t;
+ typedef ConjugateGaugeImpl< GaugeImplTypes<S,Nrepresentation> > Gimpl;
+ 
+ INHERIT_GIMPL_TYPES(Gimpl);
       
-      INHERIT_GIMPL_TYPES(Gimpl);
+ template <typename vtype> using iImplSpinor            = iVector<iVector<iVector<vtype, Nrepresentation>, Ns>, Ngp>;
+ template <typename vtype> using iImplHalfSpinor        = iVector<iVector<iVector<vtype, Nrepresentation>, Nhs>, Ngp>;
+ template <typename vtype> using iImplDoubledGaugeField = iVector<iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds>, Ngp>;
       
-      template <typename vtype>
-      using iImplSpinor =
-      iVector<iVector<iVector<vtype, Nrepresentation>, Ns>, Ngp>;
-      template <typename vtype>
-      using iImplHalfSpinor =
-	iVector<iVector<iVector<vtype, Nrepresentation>, Nhs>, Ngp>;
-      template <typename vtype>
-      using iImplDoubledGaugeField =
-	iVector<iVector<iScalar<iMatrix<vtype, Nrepresentation> >, Nds>, Ngp>;
+ typedef iImplSpinor<Simd> SiteSpinor;
+ typedef iImplHalfSpinor<Simd> SiteHalfSpinor;
+ typedef iImplDoubledGaugeField<Simd> SiteDoubledGaugeField;
+ 
+ typedef Lattice<SiteSpinor> FermionField;
+ typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
+ 
+ typedef WilsonCompressor<SiteHalfSpinor, SiteSpinor> Compressor;
+ typedef WilsonStencil<SiteSpinor, SiteHalfSpinor> StencilImpl;
+ 
+ typedef GparityWilsonImplParams ImplParams;
       
-      typedef iImplSpinor<Simd> SiteSpinor;
-      typedef iImplHalfSpinor<Simd> SiteHalfSpinor;
-      typedef iImplDoubledGaugeField<Simd> SiteDoubledGaugeField;
-      
-      typedef Lattice<SiteSpinor> FermionField;
-      typedef Lattice<SiteDoubledGaugeField> DoubledGaugeField;
-      
-      typedef WilsonCompressor<SiteHalfSpinor, SiteSpinor> Compressor;
-      typedef WilsonStencil<SiteSpinor, SiteHalfSpinor> StencilImpl;
+ ImplParams Params;
 
-      typedef GparityWilsonImplParams ImplParams;
-      
-      ImplParams Params;
+ GparityWilsonImpl(const ImplParams &p = ImplParams()) : Params(p){};
 
+ bool overlapCommsCompute(void) { return Params.overlapCommsCompute; };
 
-      GparityWilsonImpl(const ImplParams &p = ImplParams()) : Params(p){};
+ // provide the multiply by link that is differentiated between Gparity (with
+ // flavour index) and non-Gparity
+ inline void multLink(SiteHalfSpinor &phi, const SiteDoubledGaugeField &U,
+		      const SiteHalfSpinor &chi, int mu, StencilEntry *SE,
+		      StencilImpl &St) {
 
-      bool overlapCommsCompute(void) { return Params.overlapCommsCompute; };
-
-      // provide the multiply by link that is differentiated between Gparity (with
-      // flavour index) and non-Gparity
-      inline void multLink(SiteHalfSpinor &phi, const SiteDoubledGaugeField &U,
-			   const SiteHalfSpinor &chi, int mu, StencilEntry *SE,
-			   StencilImpl &St) {
-	typedef SiteHalfSpinor vobj;
-	typedef typename SiteHalfSpinor::scalar_object sobj;
+  typedef SiteHalfSpinor vobj;
+   typedef typename SiteHalfSpinor::scalar_object sobj;
 	
-	vobj vtmp;
-	sobj stmp;
+   vobj vtmp;
+   sobj stmp;
 	
-	GridBase *grid = St._grid;
+   GridBase *grid = St._grid;
 	
-	const int Nsimd = grid->Nsimd();
+   const int Nsimd = grid->Nsimd();
 	
-	int direction = St._directions[mu];
-	int distance = St._distances[mu];
-	int ptype = St._permute_type[mu];
-	int sl = St._grid->_simd_layout[direction];
+   int direction = St._directions[mu];
+   int distance = St._distances[mu];
+   int ptype = St._permute_type[mu];
+   int sl = St._grid->_simd_layout[direction];
+   
+   // Fixme X.Y.Z.T hardcode in stencil
+   int mmu = mu % Nd;
 	
-	// Fixme X.Y.Z.T hardcode in stencil
-	int mmu = mu % Nd;
+   // assert our assumptions
+   assert((distance == 1) || (distance == -1));  // nearest neighbour stencil hard code
+   assert((sl == 1) || (sl == 2));
+   
+   std::vector<int> icoor;
 	
-	// assert our assumptions
-	assert((distance == 1) || (distance == -1));  // nearest neighbour stencil hard code
-	assert((sl == 1) || (sl == 2));
-	
-	std::vector<int> icoor;
-	
-	if ( SE->_around_the_world && Params.twists[mmu] ) {
+   if ( SE->_around_the_world && Params.twists[mmu] ) {
 
-	  if ( sl == 2 ) {
+     if ( sl == 2 ) {
+       
+       std::vector<sobj> vals(Nsimd);
 
-	    std::vector<sobj> vals(Nsimd);
+       extract(chi,vals);
+       for(int s=0;s<Nsimd;s++){
 
-	    extract(chi,vals);
-	    for(int s=0;s<Nsimd;s++){
-
-	      grid->iCoorFromIindex(icoor,s);
+	 grid->iCoorFromIindex(icoor,s);
 	      
-	      assert((icoor[direction]==0)||(icoor[direction]==1));
+	 assert((icoor[direction]==0)||(icoor[direction]==1));
 	      
-	      int permute_lane;
-	      if ( distance == 1) {
-		permute_lane = icoor[direction]?1:0;
-	      } else {
-		permute_lane = icoor[direction]?0:1;
+	 int permute_lane;
+	 if ( distance == 1) {
+	   permute_lane = icoor[direction]?1:0;
+	 } else {
+	   permute_lane = icoor[direction]?0:1;
+	 }
+	      
+	 if ( permute_lane ) { 
+	   stmp(0) = vals[s](1);
+	   stmp(1) = vals[s](0);
+	   vals[s] = stmp;
 	      }
-	      
-	      if ( permute_lane ) { 
-		stmp(0) = vals[s](1);
-		stmp(1) = vals[s](0);
-		vals[s] = stmp;
-	      }
-	    }
-	    merge(vtmp,vals);
+       }
+       merge(vtmp,vals);
+	    
+     } else { 
+       vtmp(0) = chi(1);
+       vtmp(1) = chi(0);
+     }
+     mult(&phi(0),&U(0)(mu),&vtmp(0));
+     mult(&phi(1),&U(1)(mu),&vtmp(1));
+     
+   } else { 
+     mult(&phi(0),&U(0)(mu),&chi(0));
+     mult(&phi(1),&U(1)(mu),&chi(1));
+   }
+   
+ }
 
-	  } else { 
-	    vtmp(0) = chi(1);
-	    vtmp(1) = chi(0);
-	  }
-	  mult(&phi(0),&U(0)(mu),&vtmp(0));
-	  mult(&phi(1),&U(1)(mu),&vtmp(1));
-	  
-	} else { 
-	  mult(&phi(0),&U(0)(mu),&chi(0));
-	  mult(&phi(1),&U(1)(mu),&chi(1));
-	}
+ inline void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
+ {
+   conformable(Uds._grid,GaugeGrid);
+   conformable(Umu._grid,GaugeGrid);
+   
+   GaugeLinkField Utmp (GaugeGrid);
+   GaugeLinkField U    (GaugeGrid);
+   GaugeLinkField Uconj(GaugeGrid);
+   
+   Lattice<iScalar<vInteger> > coor(GaugeGrid);
 	
-  }
-
-      inline void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu)
-      {
-	
-	conformable(Uds._grid,GaugeGrid);
-	conformable(Umu._grid,GaugeGrid);
-	
-	GaugeLinkField Utmp (GaugeGrid);
-	GaugeLinkField U    (GaugeGrid);
-	GaugeLinkField Uconj(GaugeGrid);
-	
-	Lattice<iScalar<vInteger> > coor(GaugeGrid);
-	
-	
-	for(int mu=0;mu<Nd;mu++){
+   for(int mu=0;mu<Nd;mu++){
 	  
-	  LatticeCoordinate(coor,mu);
+     LatticeCoordinate(coor,mu);
 	  
-	  U     = PeekIndex<LorentzIndex>(Umu,mu);
-	  Uconj = conjugate(U);
+     U     = PeekIndex<LorentzIndex>(Umu,mu);
+     Uconj = conjugate(U);
+     
+     // This phase could come from a simple bc 1,1,-1,1 ..
+     int neglink = GaugeGrid->GlobalDimensions()[mu]-1;
+     if ( Params.twists[mu] ) { 
+       Uconj = where(coor==neglink,-Uconj,Uconj);
+     }
 	  
-	  // This phase could come from a simple bc 1,1,-1,1 ..
-	  int neglink = GaugeGrid->GlobalDimensions()[mu]-1;
-	  if ( Params.twists[mu] ) { 
-	    Uconj = where(coor==neglink,-Uconj,Uconj);
-	  }
+PARALLEL_FOR_LOOP
+     for(auto ss=U.begin();ss<U.end();ss++){
+       Uds[ss](0)(mu) = U[ss]();
+       Uds[ss](1)(mu) = Uconj[ss]();
+     }
 	  
+     U     = adj(Cshift(U    ,mu,-1));      // correct except for spanning the boundary
+     Uconj = adj(Cshift(Uconj,mu,-1));
+ 
+     Utmp = U;
+     if ( Params.twists[mu] ) { 
+       Utmp = where(coor==0,Uconj,Utmp);
+     }
 	  
-	  PARALLEL_FOR_LOOP
-	    for(auto ss=U.begin();ss<U.end();ss++){
-	      Uds[ss](0)(mu) = U[ss]();
-	      Uds[ss](1)(mu) = Uconj[ss]();
-	    }
+PARALLEL_FOR_LOOP
+     for(auto ss=U.begin();ss<U.end();ss++){
+       Uds[ss](0)(mu+4) = Utmp[ss]();
+     }
 	  
-	  U     = adj(Cshift(U    ,mu,-1));      // correct except for spanning the boundary
-	  Uconj = adj(Cshift(Uconj,mu,-1));
+     Utmp = Uconj;
+     if ( Params.twists[mu] ) { 
+       Utmp = where(coor==0,U,Utmp);
+     }
 	  
-	  Utmp = U;
-	  if ( Params.twists[mu] ) { 
-	    Utmp = where(coor==0,Uconj,Utmp);
-	  }
+PARALLEL_FOR_LOOP
+     for(auto ss=U.begin();ss<U.end();ss++){
+       Uds[ss](1)(mu+4) = Utmp[ss]();
+     }
 	  
-	  PARALLEL_FOR_LOOP
-	    for(auto ss=U.begin();ss<U.end();ss++){
-	      Uds[ss](0)(mu+4) = Utmp[ss]();
-	    }
-	  
-	  Utmp = Uconj;
-	  if ( Params.twists[mu] ) { 
-	    Utmp = where(coor==0,U,Utmp);
-	  }
-	  
-	  PARALLEL_FOR_LOOP
-	    for(auto ss=U.begin();ss<U.end();ss++){
-	      Uds[ss](1)(mu+4) = Utmp[ss]();
-	    }
-	  
-	}
-      }
+   }
+ }
       
       
-      inline void InsertForce4D(GaugeField &mat, FermionField &Btilde,
-				FermionField &A, int mu) {
-	// DhopDir provides U or Uconj depending on coor/flavour.
-	GaugeLinkField link(mat._grid);
-	// use lorentz for flavour as hack.
-	auto tmp = TraceIndex<SpinIndex>(outerProduct(Btilde, A));
-	PARALLEL_FOR_LOOP
-	  for (auto ss = tmp.begin(); ss < tmp.end(); ss++) {
-	    link[ss]() = tmp[ss](0, 0) - conjugate(tmp[ss](1, 1));
-	  }
-	PokeIndex<LorentzIndex>(mat, link, mu);
-	return;
-      }
+ inline void InsertForce4D(GaugeField &mat, FermionField &Btilde, FermionField &A, int mu) {
+
+   // DhopDir provides U or Uconj depending on coor/flavour.
+   GaugeLinkField link(mat._grid);
+   // use lorentz for flavour as hack.
+   auto tmp = TraceIndex<SpinIndex>(outerProduct(Btilde, A));
+PARALLEL_FOR_LOOP
+   for (auto ss = tmp.begin(); ss < tmp.end(); ss++) {
+     link[ss]() = tmp[ss](0, 0) - conjugate(tmp[ss](1, 1));
+   }
+   PokeIndex<LorentzIndex>(mat, link, mu);
+   return;
+ }
       
-      inline void InsertForce5D(GaugeField &mat, FermionField &Btilde,
-				FermionField &Atilde, int mu) {
-	int Ls = Btilde._grid->_fdimensions[0];
+ inline void InsertForce5D(GaugeField &mat, FermionField &Btilde, FermionField &Atilde, int mu) {
+
+   int Ls = Btilde._grid->_fdimensions[0];
 	
-	GaugeLinkField tmp(mat._grid);
-	tmp = zero;
-	PARALLEL_FOR_LOOP
-	  for (int ss = 0; ss < tmp._grid->oSites(); ss++) {
-	    for (int s = 0; s < Ls; s++) {
-	      int sF = s + Ls * ss;
-	      auto ttmp = traceIndex<SpinIndex>(outerProduct(Btilde[sF], Atilde[sF]));
-	      tmp[ss]() = tmp[ss]() + ttmp(0, 0) + conjugate(ttmp(1, 1));
-	    }
-	  }
-	PokeIndex<LorentzIndex>(mat, tmp, mu);
-	return;
-      }
-    };
+   GaugeLinkField tmp(mat._grid);
+   tmp = zero;
+PARALLEL_FOR_LOOP
+   for (int ss = 0; ss < tmp._grid->oSites(); ss++) {
+     for (int s = 0; s < Ls; s++) {
+       int sF = s + Ls * ss;
+       auto ttmp = traceIndex<SpinIndex>(outerProduct(Btilde[sF], Atilde[sF]));
+       tmp[ss]() = tmp[ss]() + ttmp(0, 0) + conjugate(ttmp(1, 1));
+     }
+   }
+   PokeIndex<LorentzIndex>(mat, tmp, mu);
+   return;
+ }
 
-    typedef WilsonImpl<vComplex,  FundamentalRepresentation > WilsonImplR;   // Real.. whichever prec
-    typedef WilsonImpl<vComplexF, FundamentalRepresentation > WilsonImplF;  // Float
-    typedef WilsonImpl<vComplexD, FundamentalRepresentation > WilsonImplD;  // Double
+};
 
+ typedef WilsonImpl<vComplex,  FundamentalRepresentation > WilsonImplR;   // Real.. whichever prec
+ typedef WilsonImpl<vComplexF, FundamentalRepresentation > WilsonImplF;  // Float
+ typedef WilsonImpl<vComplexD, FundamentalRepresentation > WilsonImplD;  // Double
 
-    typedef WilsonImpl<vComplex,  FundamentalRepresentation, ComplexD > ZWilsonImplR; // Real.. whichever prec
-    typedef WilsonImpl<vComplexF, FundamentalRepresentation, ComplexD > ZWilsonImplF; // Float
-    typedef WilsonImpl<vComplexD, FundamentalRepresentation, ComplexD > ZWilsonImplD; // Double
+ typedef WilsonImpl<vComplex,  FundamentalRepresentation, ComplexD > ZWilsonImplR; // Real.. whichever prec
+ typedef WilsonImpl<vComplexF, FundamentalRepresentation, ComplexD > ZWilsonImplF; // Float
+ typedef WilsonImpl<vComplexD, FundamentalRepresentation, ComplexD > ZWilsonImplD; // Double
+ 
+ typedef WilsonImpl<vComplex,  AdjointRepresentation > WilsonAdjImplR;   // Real.. whichever prec
+ typedef WilsonImpl<vComplexF, AdjointRepresentation > WilsonAdjImplF;  // Float
+ typedef WilsonImpl<vComplexD, AdjointRepresentation > WilsonAdjImplD;  // Double
+ 
+ typedef WilsonImpl<vComplex,  TwoIndexSymmetricRepresentation > WilsonTwoIndexSymmetricImplR;   // Real.. whichever prec
+ typedef WilsonImpl<vComplexF, TwoIndexSymmetricRepresentation > WilsonTwoIndexSymmetricImplF;  // Float
+ typedef WilsonImpl<vComplexD, TwoIndexSymmetricRepresentation > WilsonTwoIndexSymmetricImplD;  // Double
+ 
+ typedef DomainWallVec5dImpl<vComplex ,Nc> DomainWallVec5dImplR; // Real.. whichever prec
+ typedef DomainWallVec5dImpl<vComplexF,Nc> DomainWallVec5dImplF; // Float
+ typedef DomainWallVec5dImpl<vComplexD,Nc> DomainWallVec5dImplD; // Double
+ 
+ typedef DomainWallVec5dImpl<vComplex ,Nc,ComplexD> ZDomainWallVec5dImplR; // Real.. whichever prec
+ typedef DomainWallVec5dImpl<vComplexF,Nc,ComplexD> ZDomainWallVec5dImplF; // Float
+ typedef DomainWallVec5dImpl<vComplexD,Nc,ComplexD> ZDomainWallVec5dImplD; // Double
+ 
+ typedef GparityWilsonImpl<vComplex , Nc> GparityWilsonImplR;  // Real.. whichever prec
+ typedef GparityWilsonImpl<vComplexF, Nc> GparityWilsonImplF;  // Float
+ typedef GparityWilsonImpl<vComplexD, Nc> GparityWilsonImplD;  // Double
 
-    typedef WilsonImpl<vComplex,  AdjointRepresentation > WilsonAdjImplR;   // Real.. whichever prec
-    typedef WilsonImpl<vComplexF, AdjointRepresentation > WilsonAdjImplF;  // Float
-    typedef WilsonImpl<vComplexD, AdjointRepresentation > WilsonAdjImplD;  // Double
+}}
 
-    typedef WilsonImpl<vComplex,  TwoIndexSymmetricRepresentation > WilsonTwoIndexSymmetricImplR;   // Real.. whichever prec
-    typedef WilsonImpl<vComplexF, TwoIndexSymmetricRepresentation > WilsonTwoIndexSymmetricImplF;  // Float
-    typedef WilsonImpl<vComplexD, TwoIndexSymmetricRepresentation > WilsonTwoIndexSymmetricImplD;  // Double
-
-    typedef DomainWallVec5dImpl<vComplex ,Nc> DomainWallVec5dImplR; // Real.. whichever prec
-    typedef DomainWallVec5dImpl<vComplexF,Nc> DomainWallVec5dImplF; // Float
-    typedef DomainWallVec5dImpl<vComplexD,Nc> DomainWallVec5dImplD; // Double
-    
-    typedef DomainWallVec5dImpl<vComplex ,Nc,ComplexD> ZDomainWallVec5dImplR; // Real.. whichever prec
-    typedef DomainWallVec5dImpl<vComplexF,Nc,ComplexD> ZDomainWallVec5dImplF; // Float
-    typedef DomainWallVec5dImpl<vComplexD,Nc,ComplexD> ZDomainWallVec5dImplD; // Double
-
-    typedef GparityWilsonImpl<vComplex, Nc>  GparityWilsonImplR;  // Real.. whichever prec
-    typedef GparityWilsonImpl<vComplexF, Nc> GparityWilsonImplF;  // Float
-    typedef GparityWilsonImpl<vComplexD, Nc> GparityWilsonImplD;  // Double
-}
-}
 #endif
diff --git a/lib/qcd/action/fermion/WilsonFermion.cc b/lib/qcd/action/fermion/WilsonFermion.cc
index d887e05b..4bc28bc7 100644
--- a/lib/qcd/action/fermion/WilsonFermion.cc
+++ b/lib/qcd/action/fermion/WilsonFermion.cc
@@ -166,7 +166,7 @@ void WilsonFermion<Impl>::DerivInternal(StencilImpl &st, DoubledGaugeField &U,
     ////////////////////////
     PARALLEL_FOR_LOOP
     for (int sss = 0; sss < B._grid->oSites(); sss++) {
-      Kernels::DiracOptDhopDir(st, U, st.comm_buf, sss, sss, B, Btilde, mu,
+      Kernels::DiracOptDhopDir(st, U, st.CommBuf(), sss, sss, B, Btilde, mu,
                                gamma);
     }
 
@@ -277,7 +277,7 @@ void WilsonFermion<Impl>::DhopDirDisp(const FermionField &in, FermionField &out,
 
   PARALLEL_FOR_LOOP
   for (int sss = 0; sss < in._grid->oSites(); sss++) {
-    Kernels::DiracOptDhopDir(Stencil, Umu, Stencil.comm_buf, sss, sss, in, out,
+    Kernels::DiracOptDhopDir(Stencil, Umu, Stencil.CommBuf(), sss, sss, in, out,
                              dirdisp, gamma);
   }
 };
@@ -295,13 +295,13 @@ void WilsonFermion<Impl>::DhopInternal(StencilImpl &st, LebesgueOrder &lo,
   if (dag == DaggerYes) {
     PARALLEL_FOR_LOOP
     for (int sss = 0; sss < in._grid->oSites(); sss++) {
-      Kernels::DiracOptDhopSiteDag(st, lo, U, st.comm_buf, sss, sss, 1, 1, in,
+      Kernels::DiracOptDhopSiteDag(st, lo, U, st.CommBuf(), sss, sss, 1, 1, in,
                                    out);
     }
   } else {
     PARALLEL_FOR_LOOP
     for (int sss = 0; sss < in._grid->oSites(); sss++) {
-      Kernels::DiracOptDhopSite(st, lo, U, st.comm_buf, sss, sss, 1, 1, in,
+      Kernels::DiracOptDhopSite(st, lo, U, st.CommBuf(), sss, sss, 1, 1, in,
                                 out);
     }
   }
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.cc b/lib/qcd/action/fermion/WilsonFermion5D.cc
index 7c4fafff..8c059667 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.cc
+++ b/lib/qcd/action/fermion/WilsonFermion5D.cc
@@ -184,44 +184,37 @@ void WilsonFermion5D<Impl>::Report(void)
 
   if ( DhopCalls > 0 ) {
     std::cout << GridLogMessage << "#### Dhop calls report " << std::endl;
-    std::cout << GridLogMessage << "WilsonFermion5D Number of Dhop Calls     : " << DhopCalls  << std::endl;
-    std::cout << GridLogMessage << "WilsonFermion5D Total Communication time : " << DhopCommTime
-              << " us" << std::endl;
-    std::cout << GridLogMessage << "WilsonFermion5D CommTime/Calls           : "
-              << DhopCommTime / DhopCalls << " us" << std::endl;
-    std::cout << GridLogMessage << "WilsonFermion5D Total Compute time       : "
-              << DhopComputeTime << " us" << std::endl;
-    std::cout << GridLogMessage << "WilsonFermion5D ComputeTime/Calls        : "
-              << DhopComputeTime / DhopCalls << " us" << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Number of Dhop Calls     : " << DhopCalls   << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Total Communication time : " << DhopCommTime<< " us" << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D CommTime/Calls           : " << DhopCommTime / DhopCalls << " us" << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Total Compute time       : " << DhopComputeTime << " us" << std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D ComputeTime/Calls        : " << DhopComputeTime / DhopCalls << " us" << std::endl;
 
     RealD mflops = 1344*volume*DhopCalls/DhopComputeTime/2; // 2 for red black counting
     std::cout << GridLogMessage << "Average mflops/s per call                : " << mflops << std::endl;
-    std::cout << GridLogMessage << "Average mflops/s per call per node       : " << mflops/NP << std::endl;
+    std::cout << GridLogMessage << "Average mflops/s per call per rank       : " << mflops/NP << std::endl;
 
    }
 
   if ( DerivCalls > 0 ) {
-  std::cout << GridLogMessage << "#### Deriv calls report "<< std::endl;
-  std::cout << GridLogMessage << "WilsonFermion5D Number of Deriv Calls    : " <<DerivCalls <<std::endl;
-  std::cout << GridLogMessage << "WilsonFermion5D Total Communication time : " <<DerivCommTime <<" us"<<std::endl;
-  std::cout << GridLogMessage << "WilsonFermion5D CommTime/Calls           : " <<DerivCommTime/DerivCalls<<" us" <<std::endl;
-  std::cout << GridLogMessage << "WilsonFermion5D Total Compute time       : " <<DerivComputeTime <<" us"<<std::endl;
-  std::cout << GridLogMessage << "WilsonFermion5D ComputeTime/Calls        : " <<DerivComputeTime/DerivCalls<<" us" <<std::endl;
-  std::cout << GridLogMessage << "WilsonFermion5D Total Dhop Compute time  : " <<DerivDhopComputeTime <<" us"<<std::endl;
-  std::cout << GridLogMessage << "WilsonFermion5D Dhop ComputeTime/Calls   : " <<DerivDhopComputeTime/DerivCalls<<" us" <<std::endl;
-
-
-
-  RealD mflops = 144*volume*DerivCalls/DerivDhopComputeTime;
-  std::cout << GridLogMessage << "Average mflops/s per call                : " << mflops << std::endl;
-  std::cout << GridLogMessage << "Average mflops/s per call per node       : " << mflops/NP << std::endl;
-
+    std::cout << GridLogMessage << "#### Deriv calls report "<< std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Number of Deriv Calls    : " <<DerivCalls <<std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Total Communication time : " <<DerivCommTime <<" us"<<std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D CommTime/Calls           : " <<DerivCommTime/DerivCalls<<" us" <<std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Total Compute time       : " <<DerivComputeTime <<" us"<<std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D ComputeTime/Calls        : " <<DerivComputeTime/DerivCalls<<" us" <<std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Total Dhop Compute time  : " <<DerivDhopComputeTime <<" us"<<std::endl;
+    std::cout << GridLogMessage << "WilsonFermion5D Dhop ComputeTime/Calls   : " <<DerivDhopComputeTime/DerivCalls<<" us" <<std::endl;
+    
+    RealD mflops = 144*volume*DerivCalls/DerivDhopComputeTime;
+    std::cout << GridLogMessage << "Average mflops/s per call                : " << mflops << std::endl;
+    std::cout << GridLogMessage << "Average mflops/s per call per node       : " << mflops/NP << std::endl;
   }
 
   if (DerivCalls > 0 || DhopCalls > 0){
-  std::cout << GridLogMessage << "WilsonFermion5D Stencil"<<std::endl;  Stencil.Report();
-  std::cout << GridLogMessage << "WilsonFermion5D StencilEven"<<std::endl;  StencilEven.Report();
-  std::cout << GridLogMessage << "WilsonFermion5D StencilOdd"<<std::endl;  StencilOdd.Report();
+    std::cout << GridLogMessage << "WilsonFermion5D Stencil"<<std::endl;  Stencil.Report();
+    std::cout << GridLogMessage << "WilsonFermion5D StencilEven"<<std::endl;  StencilEven.Report();
+    std::cout << GridLogMessage << "WilsonFermion5D StencilOdd"<<std::endl;  StencilOdd.Report();
   }
 }
 
@@ -275,7 +268,7 @@ PARALLEL_FOR_LOOP
     for(int s=0;s<Ls;s++){
       int sU=ss;
       int sF = s+Ls*sU; 
-      Kernels::DiracOptDhopDir(Stencil,Umu,Stencil.comm_buf,sF,sU,in,out,dirdisp,gamma);
+      Kernels::DiracOptDhopDir(Stencil,Umu,Stencil.CommBuf(),sF,sU,in,out,dirdisp,gamma);
     }
   }
 };
@@ -327,8 +320,7 @@ void WilsonFermion5D<Impl>::DerivInternal(StencilImpl & st,
         assert(sF < B._grid->oSites());
         assert(sU < U._grid->oSites());
 
-        Kernels::DiracOptDhopDir(st, U, st.comm_buf, sF, sU, B, Btilde, mu,
-                                 gamma);
+        Kernels::DiracOptDhopDir(st, U, st.CommBuf(), sF, sU, B, Btilde, mu, gamma);
 
         ////////////////////////////
         // spin trace outer product
@@ -342,10 +334,10 @@ void WilsonFermion5D<Impl>::DerivInternal(StencilImpl & st,
 }
 
 template<class Impl>
-void WilsonFermion5D<Impl>::DhopDeriv(      GaugeField &mat,
-              const FermionField &A,
-              const FermionField &B,
-              int dag)
+void WilsonFermion5D<Impl>::DhopDeriv(GaugeField &mat,
+				      const FermionField &A,
+				      const FermionField &B,
+				      int dag)
 {
   conformable(A._grid,FermionGrid());  
   conformable(A._grid,B._grid);
@@ -358,9 +350,9 @@ void WilsonFermion5D<Impl>::DhopDeriv(      GaugeField &mat,
 
 template<class Impl>
 void WilsonFermion5D<Impl>::DhopDerivEO(GaugeField &mat,
-          const FermionField &A,
-          const FermionField &B,
-          int dag)
+					const FermionField &A,
+					const FermionField &B,
+					int dag)
 {
   conformable(A._grid,FermionRedBlackGrid());
   conformable(GaugeRedBlackGrid(),mat._grid);
@@ -376,9 +368,9 @@ void WilsonFermion5D<Impl>::DhopDerivEO(GaugeField &mat,
 
 template<class Impl>
 void WilsonFermion5D<Impl>::DhopDerivOE(GaugeField &mat,
-          const FermionField &A,
-          const FermionField &B,
-          int dag)
+					const FermionField &A,
+					const FermionField &B,
+					int dag)
 {
   conformable(A._grid,FermionRedBlackGrid());
   conformable(GaugeRedBlackGrid(),mat._grid);
@@ -393,8 +385,8 @@ void WilsonFermion5D<Impl>::DhopDerivOE(GaugeField &mat,
 
 template<class Impl>
 void WilsonFermion5D<Impl>::DhopInternal(StencilImpl & st, LebesgueOrder &lo,
-           DoubledGaugeField & U,
-           const FermionField &in, FermionField &out,int dag)
+					 DoubledGaugeField & U,
+					 const FermionField &in, FermionField &out,int dag)
 {
   //  assert((dag==DaggerNo) ||(dag==DaggerYes));
   Compressor compressor(dag);
@@ -412,27 +404,25 @@ void WilsonFermion5D<Impl>::DhopInternal(StencilImpl & st, LebesgueOrder &lo,
     for (int ss = 0; ss < U._grid->oSites(); ss++) {
       int sU = ss;
       int sF = LLs * sU;
-      Kernels::DiracOptDhopSiteDag(st, lo, U, st.comm_buf, sF, sU, LLs, 1, in,
-                                   out);
+      Kernels::DiracOptDhopSiteDag(st, lo, U, st.CommBuf(), sF, sU, LLs, 1, in, out);
     }
 #ifdef AVX512
   } else if (stat.is_init() ) {
 
     int nthreads;
     stat.start();
-    #pragma omp parallel
+#pragma omp parallel
     {
-    #pragma omp master
+#pragma omp master
     nthreads = omp_get_num_threads();
     int mythread = omp_get_thread_num();
     stat.enter(mythread);
-    #pragma omp for nowait
-   for(int ss=0;ss<U._grid->oSites();ss++)
-    {
-       int sU=ss;
-       int sF=LLs*sU;
-       Kernels::DiracOptDhopSite(st,lo,U,st.comm_buf,sF,sU,LLs,1,in,out);
-     }
+#pragma omp for nowait
+    for(int ss=0;ss<U._grid->oSites();ss++) {
+      int sU=ss;
+      int sF=LLs*sU;
+      Kernels::DiracOptDhopSite(st,lo,U,st.CommBuf(),sF,sU,LLs,1,in,out);
+    }
     stat.exit(mythread);
     }
     stat.accum(nthreads);
@@ -442,8 +432,7 @@ void WilsonFermion5D<Impl>::DhopInternal(StencilImpl & st, LebesgueOrder &lo,
     for (int ss = 0; ss < U._grid->oSites(); ss++) {
       int sU = ss;
       int sF = LLs * sU;
-      Kernels::DiracOptDhopSite(st, lo, U, st.comm_buf, sF, sU, LLs, 1, in,
-                                out);
+      Kernels::DiracOptDhopSite(st,lo,U,st.CommBuf(),sF,sU,LLs,1,in,out);
     }
   }
   DhopComputeTime+=usecond();
diff --git a/lib/qcd/action/fermion/WilsonFermion5D.h b/lib/qcd/action/fermion/WilsonFermion5D.h
index bc7ec543..295e2997 100644
--- a/lib/qcd/action/fermion/WilsonFermion5D.h
+++ b/lib/qcd/action/fermion/WilsonFermion5D.h
@@ -34,155 +34,154 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #include <Grid/Stat.h>
 
 namespace Grid {
+namespace QCD {
 
-  namespace QCD {
+  ////////////////////////////////////////////////////////////////////////////////
+  // This is the 4d red black case appropriate to support
+  //
+  // parity = (x+y+z+t)|2;
+  // generalised five dim fermions like mobius, zolotarev etc..	
+  //
+  // i.e. even even contains fifth dim hopping term.
+  //
+  // [DIFFERS from original CPS red black implementation parity = (x+y+z+t+s)|2 ]
+  ////////////////////////////////////////////////////////////////////////////////
 
-    ////////////////////////////////////////////////////////////////////////////////
-    // This is the 4d red black case appropriate to support
-    //
-    // parity = (x+y+z+t)|2;
-    // generalised five dim fermions like mobius, zolotarev etc..	
-    //
-    // i.e. even even contains fifth dim hopping term.
-    //
-    // [DIFFERS from original CPS red black implementation parity = (x+y+z+t+s)|2 ]
-    ////////////////////////////////////////////////////////////////////////////////
-
-    class WilsonFermion5DStatic { 
-    public:
-      // S-direction is INNERMOST and takes no part in the parity.
-      static const std::vector<int> directions;
-      static const std::vector<int> displacements;
-      const int npoint = 8;
-    };
-
-    template<class Impl>
-    class WilsonFermion5D : public WilsonKernels<Impl>, public WilsonFermion5DStatic
-    {
-    public:
-     INHERIT_IMPL_TYPES(Impl);
-     typedef WilsonKernels<Impl> Kernels;
-     PmuStat stat;
-
-     void Report(void);
-     void ZeroCounters(void);
-     double DhopCalls;
-     double DhopCommTime;
-     double DhopComputeTime;
-
-     double DerivCalls;
-     double DerivCommTime;
-     double DerivComputeTime;
-     double DerivDhopComputeTime;
-
-      ///////////////////////////////////////////////////////////////
-      // Implement the abstract base
-      ///////////////////////////////////////////////////////////////
-      GridBase *GaugeGrid(void)              { return _FourDimGrid ;}
-      GridBase *GaugeRedBlackGrid(void)      { return _FourDimRedBlackGrid ;}
-      GridBase *FermionGrid(void)            { return _FiveDimGrid;}
-      GridBase *FermionRedBlackGrid(void)    { return _FiveDimRedBlackGrid;}
-
-      // full checkerboard operations; leave unimplemented as abstract for now
-      virtual RealD  M    (const FermionField &in, FermionField &out){assert(0); return 0.0;};
-      virtual RealD  Mdag (const FermionField &in, FermionField &out){assert(0); return 0.0;};
-
-      // half checkerboard operations; leave unimplemented as abstract for now
-      virtual void   Meooe       (const FermionField &in, FermionField &out){assert(0);};
-      virtual void   Mooee       (const FermionField &in, FermionField &out){assert(0);};
-      virtual void   MooeeInv    (const FermionField &in, FermionField &out){assert(0);};
-
-      virtual void   MeooeDag    (const FermionField &in, FermionField &out){assert(0);};
-      virtual void   MooeeDag    (const FermionField &in, FermionField &out){assert(0);};
-      virtual void   MooeeInvDag (const FermionField &in, FermionField &out){assert(0);};
-      virtual void   Mdir   (const FermionField &in, FermionField &out,int dir,int disp){assert(0);};   // case by case Wilson, Clover, Cayley, ContFrac, PartFrac
-
-      // These can be overridden by fancy 5d chiral action
-      virtual void DhopDeriv  (GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
-      virtual void DhopDerivEO(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
-      virtual void DhopDerivOE(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
-
-      // Implement hopping term non-hermitian hopping term; half cb or both
-      // Implement s-diagonal DW
-      void DW    (const FermionField &in, FermionField &out,int dag);
-      void Dhop  (const FermionField &in, FermionField &out,int dag);
-      void DhopOE(const FermionField &in, FermionField &out,int dag);
-      void DhopEO(const FermionField &in, FermionField &out,int dag);
-
-      // add a DhopComm
+  class WilsonFermion5DStatic { 
+  public:
+    // S-direction is INNERMOST and takes no part in the parity.
+    static const std::vector<int> directions;
+    static const std::vector<int> displacements;
+    const int npoint = 8;
+  };
+  
+  template<class Impl>
+  class WilsonFermion5D : public WilsonKernels<Impl>, public WilsonFermion5DStatic
+  {
+  public:
+    INHERIT_IMPL_TYPES(Impl);
+    typedef WilsonKernels<Impl> Kernels;
+    PmuStat stat;
+    
+    void Report(void);
+    void ZeroCounters(void);
+    double DhopCalls;
+    double DhopCommTime;
+    double DhopComputeTime;
+    
+    double DerivCalls;
+    double DerivCommTime;
+    double DerivComputeTime;
+    double DerivDhopComputeTime;
+    
+    ///////////////////////////////////////////////////////////////
+    // Implement the abstract base
+    ///////////////////////////////////////////////////////////////
+    GridBase *GaugeGrid(void)              { return _FourDimGrid ;}
+    GridBase *GaugeRedBlackGrid(void)      { return _FourDimRedBlackGrid ;}
+    GridBase *FermionGrid(void)            { return _FiveDimGrid;}
+    GridBase *FermionRedBlackGrid(void)    { return _FiveDimRedBlackGrid;}
+    
+    // full checkerboard operations; leave unimplemented as abstract for now
+    virtual RealD  M    (const FermionField &in, FermionField &out){assert(0); return 0.0;};
+    virtual RealD  Mdag (const FermionField &in, FermionField &out){assert(0); return 0.0;};
+    
+    // half checkerboard operations; leave unimplemented as abstract for now
+    virtual void   Meooe       (const FermionField &in, FermionField &out){assert(0);};
+    virtual void   Mooee       (const FermionField &in, FermionField &out){assert(0);};
+    virtual void   MooeeInv    (const FermionField &in, FermionField &out){assert(0);};
+    
+    virtual void   MeooeDag    (const FermionField &in, FermionField &out){assert(0);};
+    virtual void   MooeeDag    (const FermionField &in, FermionField &out){assert(0);};
+    virtual void   MooeeInvDag (const FermionField &in, FermionField &out){assert(0);};
+    virtual void   Mdir   (const FermionField &in, FermionField &out,int dir,int disp){assert(0);};   // case by case Wilson, Clover, Cayley, ContFrac, PartFrac
+    
+    // These can be overridden by fancy 5d chiral action
+    virtual void DhopDeriv  (GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
+    virtual void DhopDerivEO(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
+    virtual void DhopDerivOE(GaugeField &mat,const FermionField &U,const FermionField &V,int dag);
+    
+    // Implement hopping term non-hermitian hopping term; half cb or both
+    // Implement s-diagonal DW
+    void DW    (const FermionField &in, FermionField &out,int dag);
+    void Dhop  (const FermionField &in, FermionField &out,int dag);
+    void DhopOE(const FermionField &in, FermionField &out,int dag);
+    void DhopEO(const FermionField &in, FermionField &out,int dag);
+    
+    // add a DhopComm
       // -- suboptimal interface will presently trigger multiple comms.
-      void DhopDir(const FermionField &in, FermionField &out,int dir,int disp);
-
-      ///////////////////////////////////////////////////////////////
-      // New methods added 
-      ///////////////////////////////////////////////////////////////
-      void DerivInternal(StencilImpl & st,
-			 DoubledGaugeField & U,
-			 GaugeField &mat,
-			 const FermionField &A,
-			 const FermionField &B,
-			 int dag);
-
-      void DhopInternal(StencilImpl & st,
-			LebesgueOrder &lo,
-			DoubledGaugeField &U,
-			const FermionField &in, 
-			FermionField &out,
-			int dag);
-
-      // Constructors
-      WilsonFermion5D(GaugeField &_Umu,
-		      GridCartesian         &FiveDimGrid,
-		      GridRedBlackCartesian &FiveDimRedBlackGrid,
-		      GridCartesian         &FourDimGrid,
-		      GridRedBlackCartesian &FourDimRedBlackGrid,
-		      double _M5,const ImplParams &p= ImplParams());
-
-      // Constructors
-      /*
+    void DhopDir(const FermionField &in, FermionField &out,int dir,int disp);
+    
+    ///////////////////////////////////////////////////////////////
+    // New methods added 
+    ///////////////////////////////////////////////////////////////
+    void DerivInternal(StencilImpl & st,
+		       DoubledGaugeField & U,
+		       GaugeField &mat,
+		       const FermionField &A,
+		       const FermionField &B,
+		       int dag);
+    
+    void DhopInternal(StencilImpl & st,
+		      LebesgueOrder &lo,
+		      DoubledGaugeField &U,
+		      const FermionField &in, 
+		      FermionField &out,
+		      int dag);
+    
+    // Constructors
+    WilsonFermion5D(GaugeField &_Umu,
+		    GridCartesian         &FiveDimGrid,
+		    GridRedBlackCartesian &FiveDimRedBlackGrid,
+		    GridCartesian         &FourDimGrid,
+		    GridRedBlackCartesian &FourDimRedBlackGrid,
+		    double _M5,const ImplParams &p= ImplParams());
+    
+    // Constructors
+    /*
       WilsonFermion5D(int simd, 
-		      GaugeField &_Umu,
-		      GridCartesian         &FiveDimGrid,
-		      GridRedBlackCartesian &FiveDimRedBlackGrid,
-		      GridCartesian         &FourDimGrid,
-		      double _M5,const ImplParams &p= ImplParams());
-      */
+      GaugeField &_Umu,
+      GridCartesian         &FiveDimGrid,
+      GridRedBlackCartesian &FiveDimRedBlackGrid,
+      GridCartesian         &FourDimGrid,
+      double _M5,const ImplParams &p= ImplParams());
+    */
+    
+    // DoubleStore
+    void ImportGauge(const GaugeField &_Umu);
+    
+    ///////////////////////////////////////////////////////////////
+    // Data members require to support the functionality
+    ///////////////////////////////////////////////////////////////
+  public:
+    
+    // Add these to the support from Wilson
+    GridBase *_FourDimGrid;
+    GridBase *_FourDimRedBlackGrid;
+    GridBase *_FiveDimGrid;
+    GridBase *_FiveDimRedBlackGrid;
+    
+    double                        M5;
+    int Ls;
+    
+    //Defines the stencils for even and odd
+    StencilImpl Stencil; 
+    StencilImpl StencilEven; 
+    StencilImpl StencilOdd; 
+    
+    // Copy of the gauge field , with even and odd subsets
+    DoubledGaugeField Umu;
+    DoubledGaugeField UmuEven;
+    DoubledGaugeField UmuOdd;
+    
+    LebesgueOrder Lebesgue;
+    LebesgueOrder LebesgueEvenOdd;
+    
+    // Comms buffer
+    std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  comm_buf;
+    
+  };
 
-      // DoubleStore
-      void ImportGauge(const GaugeField &_Umu);
-
-      ///////////////////////////////////////////////////////////////
-      // Data members require to support the functionality
-      ///////////////////////////////////////////////////////////////
-    public:
-
-      // Add these to the support from Wilson
-      GridBase *_FourDimGrid;
-      GridBase *_FourDimRedBlackGrid;
-      GridBase *_FiveDimGrid;
-      GridBase *_FiveDimRedBlackGrid;
-
-      double                        M5;
-      int Ls;
-
-      //Defines the stencils for even and odd
-      StencilImpl Stencil; 
-      StencilImpl StencilEven; 
-      StencilImpl StencilOdd; 
-
-      // Copy of the gauge field , with even and odd subsets
-      DoubledGaugeField Umu;
-      DoubledGaugeField UmuEven;
-      DoubledGaugeField UmuOdd;
-
-      LebesgueOrder Lebesgue;
-      LebesgueOrder LebesgueEvenOdd;
-
-      // Comms buffer
-      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  comm_buf;
-      
-    };
-  }
-}
+}}
 
 #endif
diff --git a/lib/qcd/action/fermion/WilsonKernels.cc b/lib/qcd/action/fermion/WilsonKernels.cc
index 58e62cc8..52ee8704 100644
--- a/lib/qcd/action/fermion/WilsonKernels.cc
+++ b/lib/qcd/action/fermion/WilsonKernels.cc
@@ -43,10 +43,9 @@ WilsonKernels<Impl>::WilsonKernels(const ImplParams &p) : Base(p){};
 ////////////////////////////////////////////
 
 template <class Impl>
-void WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(
-    StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-    commVector<SiteHalfSpinor> &buf, int sF,
-    int sU, const FermionField &in, FermionField &out) {
+void WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+						     SiteHalfSpinor *buf, int sF,
+						     int sU, const FermionField &in, FermionField &out) {
   SiteHalfSpinor tmp;
   SiteHalfSpinor chi;
   SiteHalfSpinor *chi_p;
@@ -220,10 +219,9 @@ void WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(
 
 // Need controls to do interior, exterior, or both
 template <class Impl>
-void WilsonKernels<Impl>::DiracOptGenericDhopSite(
-    StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-    commVector<SiteHalfSpinor> &buf, int sF,
-    int sU, const FermionField &in, FermionField &out) {
+void WilsonKernels<Impl>::DiracOptGenericDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
+						  SiteHalfSpinor *buf, int sF,
+						  int sU, const FermionField &in, FermionField &out) {
   SiteHalfSpinor tmp;
   SiteHalfSpinor chi;
   SiteHalfSpinor *chi_p;
@@ -396,10 +394,9 @@ void WilsonKernels<Impl>::DiracOptGenericDhopSite(
 };
 
 template <class Impl>
-void WilsonKernels<Impl>::DiracOptDhopDir(
-    StencilImpl &st, DoubledGaugeField &U,
-    commVector<SiteHalfSpinor> &buf, int sF,
-    int sU, const FermionField &in, FermionField &out, int dir, int gamma) {
+void WilsonKernels<Impl>::DiracOptDhopDir( StencilImpl &st, DoubledGaugeField &U,SiteHalfSpinor *buf, int sF,
+					   int sU, const FermionField &in, FermionField &out, int dir, int gamma) {
+
   SiteHalfSpinor tmp;
   SiteHalfSpinor chi;
   SiteSpinor result;
diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index 66770c3c..669ee4be 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -32,175 +32,132 @@ directory
 #define GRID_QCD_DHOP_H
 
 namespace Grid {
+namespace QCD {
 
-  namespace QCD {
-
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Helper routines that implement Wilson stencil for a single site.
-    // Common to both the WilsonFermion and WilsonFermion5D
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    class WilsonKernelsStatic { 
-    public:
-      // S-direction is INNERMOST and takes no part in the parity.
-      static int AsmOpt;  // these are a temporary hack
-      static int HandOpt; // these are a temporary hack
-    };
-
-    template<class Impl> class WilsonKernels : public FermionOperator<Impl> , public WilsonKernelsStatic { 
-    public:
-
-      INHERIT_IMPL_TYPES(Impl);
-      typedef FermionOperator<Impl> Base;
-     
-    public:
-
-      template <bool EnableBool = true>
-      typename std::enable_if<Impl::Dimension == 3 && Nc == 3 &&EnableBool, void>::type
-	DiracOptDhopSite(
-			 StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-			 commVector<SiteHalfSpinor> &buf,
-			 int sF, int sU, int Ls, int Ns, const FermionField &in,
-			 FermionField &out) {
+  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // Helper routines that implement Wilson stencil for a single site.
+  // Common to both the WilsonFermion and WilsonFermion5D
+  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+class WilsonKernelsStatic { 
+ public:
+  // S-direction is INNERMOST and takes no part in the parity.
+  static int AsmOpt;  // these are a temporary hack
+  static int HandOpt; // these are a temporary hack
+};
+ 
+template<class Impl> class WilsonKernels : public FermionOperator<Impl> , public WilsonKernelsStatic { 
+ public:
+   
+  INHERIT_IMPL_TYPES(Impl);
+  typedef FermionOperator<Impl> Base;
+   
+public:
+   
+  template <bool EnableBool = true>
+  typename std::enable_if<Impl::Dimension == 3 && Nc == 3 &&EnableBool, void>::type
+  DiracOptDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
+		   int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
 #ifdef AVX512
-	if (AsmOpt) {
-	  WilsonKernels<Impl>::DiracOptAsmDhopSite(st, lo, U, buf, sF, sU, Ls, Ns,
-						   in, out);
-
-	} else {
+    if (AsmOpt) {
+      WilsonKernels<Impl>::DiracOptAsmDhopSite(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
+    } else {
 #else
-	  {
+    {
 #endif
-	    for (int site = 0; site < Ns; site++) {
-	      for (int s = 0; s < Ls; s++) {
-		if (HandOpt)
-		  WilsonKernels<Impl>::DiracOptHandDhopSite(st, lo, U, buf, sF, sU,
-							    in, out);
-		else
-		  WilsonKernels<Impl>::DiracOptGenericDhopSite(st, lo, U, buf, sF, sU,
-							       in, out);
-		sF++;
-	      }
-	      sU++;
-	    }
-	  }
+      for (int site = 0; site < Ns; site++) {
+	for (int s = 0; s < Ls; s++) {
+	  if (HandOpt)
+	    WilsonKernels<Impl>::DiracOptHandDhopSite(st,lo,U,buf,sF,sU,in,out);
+	  else
+	    WilsonKernels<Impl>::DiracOptGenericDhopSite(st,lo,U,buf,sF,sU,in,out);
+	  sF++;
 	}
-
-	template <bool EnableBool = true>
-	  typename std::enable_if<(Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool, void>::type
-	  DiracOptDhopSite(
-			   StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-			   commVector<SiteHalfSpinor> &buf,
-			   int sF, int sU, int Ls, int Ns, const FermionField &in,
-			   FermionField &out) {
-	  for (int site = 0; site < Ns; site++) {
-	    for (int s = 0; s < Ls; s++) {
-	      WilsonKernels<Impl>::DiracOptGenericDhopSite(st, lo, U, buf, sF, sU, in,
-							   out);
-	      sF++;
-	    }
-	    sU++;
-	  }
-	}
-
-	template <bool EnableBool = true>
-	  typename std::enable_if<Impl::Dimension == 3 && Nc == 3 && EnableBool,
-				  void>::type
-	  DiracOptDhopSiteDag(
-			      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-			      commVector<SiteHalfSpinor> &buf,
-			      int sF, int sU, int Ls, int Ns, const FermionField &in,
-			      FermionField &out) {
-#ifdef AVX512
-				    if (AsmOpt) {
-				      WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st, lo, U, buf, sF, sU, Ls,
-										  Ns, in, out);
-				    } else {
-#else
-				      {
-#endif
-					for (int site = 0; site < Ns; site++) {
-					  for (int s = 0; s < Ls; s++) {
-					    if (HandOpt)
-					      WilsonKernels<Impl>::DiracOptHandDhopSiteDag(st, lo, U, buf, sF, sU,
-											   in, out);
-					    else
-					      WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st, lo, U, buf, sF,
-											      sU, in, out);
-					    sF++;
-					  }
-					  sU++;
-					}
-				      }
-				    }
-
-				    template <bool EnableBool = true>
-				      typename std::enable_if<
-				      (Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool,
-				      void>::type
-				      DiracOptDhopSiteDag(
-							  StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-							  commVector<SiteHalfSpinor> &buf,
-							  int sF, int sU, int Ls, int Ns, const FermionField &in,
-							  FermionField &out) {
-					for (int site = 0; site < Ns; site++) {
-					  for (int s = 0; s < Ls; s++) {
-					    WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st, lo, U, buf, sF, sU,
-											    in, out);
-					    sF++;
-					  }
-					  sU++;
-					}
-				      }
-
-				    void DiracOptDhopDir(
-							 StencilImpl &st, DoubledGaugeField &U,
-							 commVector<SiteHalfSpinor> &buf,
-							 int sF, int sU, const FermionField &in, FermionField &out, int dirdisp,
-							 int gamma);
-
-	private:
-				    // Specialised variants
-				    void DiracOptGenericDhopSite(
-								 StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-								 commVector<SiteHalfSpinor> &buf,
-								 int sF, int sU, const FermionField &in, FermionField &out);
-
-				    void DiracOptGenericDhopSiteDag(
-								    StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-								    commVector<SiteHalfSpinor> &buf,
-								    int sF, int sU, const FermionField &in, FermionField &out);
-
-				    void DiracOptAsmDhopSite(
-							     StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-							     commVector<SiteHalfSpinor> &buf,
-							     int sF, int sU, int Ls, int Ns, const FermionField &in,
-							     FermionField &out);
-
-				    void DiracOptAsmDhopSiteDag(
-								StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-								commVector<SiteHalfSpinor> &buf,
-								int sF, int sU, int Ls, int Ns, const FermionField &in,
-								FermionField &out);
-
-				    void DiracOptHandDhopSite(
-							      StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-							      commVector<SiteHalfSpinor> &buf,
-							      int sF, int sU, const FermionField &in, FermionField &out);
-
-				    void DiracOptHandDhopSiteDag(
-								 StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,
-								 commVector<SiteHalfSpinor> &buf,
-								 int sF, int sU, const FermionField &in, FermionField &out);
-
-	public:
-				    WilsonKernels(const ImplParams &p = ImplParams());
-				  };
-    
+	sU++;
       }
     }
+  }
+     
+  template <bool EnableBool = true>
+  typename std::enable_if<(Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool, void>::type
+  DiracOptDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
+		   int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
+     
+    for (int site = 0; site < Ns; site++) {
+      for (int s = 0; s < Ls; s++) {
+	WilsonKernels<Impl>::DiracOptGenericDhopSite(st, lo, U, buf, sF, sU, in, out);
+	sF++;
+      }
+      sU++;
+    }
+  }
+     
+  template <bool EnableBool = true>
+  typename std::enable_if<Impl::Dimension == 3 && Nc == 3 && EnableBool,void>::type
+  DiracOptDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
+		      int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
+#ifdef AVX512
+    if (AsmOpt) {
+      WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
+    } else {
+#else
+    {
+#endif
+      for (int site = 0; site < Ns; site++) {
+	for (int s = 0; s < Ls; s++) {
+	  if (HandOpt)
+	    WilsonKernels<Impl>::DiracOptHandDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
+	  else
+	    WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
+	  sF++;
+	}
+	sU++;
+      }
+    }
+  }
 
+  template <bool EnableBool = true>
+  typename std::enable_if<(Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool,void>::type
+  DiracOptDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U,SiteHalfSpinor * buf,
+		      int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
 
+    for (int site = 0; site < Ns; site++) {
+      for (int s = 0; s < Ls; s++) {
+	WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
+	sF++;
+      }
+      sU++;
+    }
+  }
 
+  void DiracOptDhopDir(StencilImpl &st, DoubledGaugeField &U,SiteHalfSpinor * buf,
+		       int sF, int sU, const FermionField &in, FermionField &out, int dirdisp, int gamma);
+      
+private:
+     // Specialised variants
+  void DiracOptGenericDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
+			       int sF, int sU, const FermionField &in, FermionField &out);
+      
+  void DiracOptGenericDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
+				  int sF, int sU, const FermionField &in, FermionField &out);
 
+  void DiracOptAsmDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
+			   int sF, int sU, int Ls, int Ns, const FermionField &in,FermionField &out);
+
+  void DiracOptAsmDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
+			      int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out);
+
+  void DiracOptHandDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
+			    int sF, int sU, const FermionField &in, FermionField &out);
+
+  void DiracOptHandDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
+			       int sF, int sU, const FermionField &in, FermionField &out);
+      
+public:
+
+  WilsonKernels(const ImplParams &p = ImplParams());
+
+};
+    
+}}
 
 #endif
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index 7857e89a..74862400 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -33,31 +33,27 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 
 namespace Grid {
-  namespace QCD {
+namespace QCD {
     
-    ///////////////////////////////////////////////////////////
-    // Default to no assembler implementation
-    ///////////////////////////////////////////////////////////
-    template<class Impl>
-      void WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-                             commVector<SiteHalfSpinor>  &buf,
-                             int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
-    {
-      assert(0);
-    }
-    template<class Impl>
-      void WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-                                commVector<SiteHalfSpinor>  &buf,
-                                int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
-    {
-      assert(0);
-    }
-
+///////////////////////////////////////////////////////////
+// Default to no assembler implementation
+///////////////////////////////////////////////////////////
+template<class Impl> void 
+WilsonKernels<Impl >::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
+					  int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+{
+  assert(0);
+}
 
+template<class Impl> void 
+WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
+					     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+{
+  assert(0);
+}
 
 #if defined(AVX512) 
     
-    
     ///////////////////////////////////////////////////////////
     // If we are AVX512 specialise the single precision routine
     ///////////////////////////////////////////////////////////
@@ -65,16 +61,16 @@ namespace Grid {
 #include <simd/Intel512wilson.h>
 #include <simd/Intel512single.h>
     
-    static Vector<vComplexF> signs;
+static Vector<vComplexF> signs;
     
-    int setupSigns(void ){
-      Vector<vComplexF> bother(2);
-      signs = bother;
-      vrsign(signs[0]);
-      visign(signs[1]);
-      return 1;
-    }
-    static int signInit = setupSigns();
+  int setupSigns(void ){
+    Vector<vComplexF> bother(2);
+    signs = bother;
+    vrsign(signs[0]);
+    visign(signs[1]);
+    return 1;
+  }
+  static int signInit = setupSigns();
   
 #define label(A)  ilabel(A)
 #define ilabel(A) ".globl\n"  #A ":\n" 
@@ -84,17 +80,15 @@ namespace Grid {
 #define FX(A) WILSONASM_ ##A
   
 #undef KERNEL_DAG
-    template<>
-    void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-							 commVector<SiteHalfSpinor>  &buf,
-							 int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+template<> void 
+WilsonKernels<WilsonImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf,
+						int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
       
 #define KERNEL_DAG
-    template<>
-    void WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-							    commVector<SiteHalfSpinor>  &buf,
-							    int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+template<> void 
+WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
+						   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 				    
 #undef VMOVIDUP
@@ -109,31 +103,26 @@ namespace Grid {
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
 				    
 #undef KERNEL_DAG
-    template<>
-    void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-								  commVector<SiteHalfSpinor>  &buf,
-								  int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+template<> void 
+WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf,
+							 int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 				    
 #define KERNEL_DAG
-    template<>
-    void WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,
-								     commVector<SiteHalfSpinor>  &buf,
-								     int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+template<> void 
+WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
+							    int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 				    
 #endif
 
-
 #define INSTANTIATE_ASM(A)\
-template void WilsonKernels<A>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,\
-                                   commVector<SiteHalfSpinor>  &buf,\
+template void WilsonKernels<A>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf,\
                                   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);\
-template void WilsonKernels<A>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,\
-                                   commVector<SiteHalfSpinor>  &buf,\
+ \
+template void WilsonKernels<A>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf,\
                                   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out);\
 
-
 INSTANTIATE_ASM(WilsonImplF);
 INSTANTIATE_ASM(WilsonImplD);
 INSTANTIATE_ASM(ZWilsonImplF);
@@ -144,6 +133,6 @@ INSTANTIATE_ASM(DomainWallVec5dImplF);
 INSTANTIATE_ASM(DomainWallVec5dImplD);
 INSTANTIATE_ASM(ZDomainWallVec5dImplF);
 INSTANTIATE_ASM(ZDomainWallVec5dImplD);
-  }
-}
+
+}}
 
diff --git a/lib/qcd/action/fermion/WilsonKernelsHand.cc b/lib/qcd/action/fermion/WilsonKernelsHand.cc
index 9d7eac23..f5900832 100644
--- a/lib/qcd/action/fermion/WilsonKernelsHand.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsHand.cc
@@ -311,10 +311,9 @@ namespace Grid {
 namespace QCD {
 
 
-  template<class Impl>
-  void WilsonKernels<Impl>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-					       commVector<SiteHalfSpinor>  &buf,
-					       int ss,int sU,const FermionField &in, FermionField &out)
+template<class Impl> void 
+WilsonKernels<Impl>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,SiteHalfSpinor  *buf,
+					  int ss,int sU,const FermionField &in, FermionField &out)
 {
   typedef typename Simd::scalar_type S;
   typedef typename Simd::vector_type V;
@@ -554,10 +553,9 @@ namespace QCD {
   }
 }
 
-  template<class Impl>
-  void WilsonKernels<Impl>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-					       commVector<SiteHalfSpinor>  &buf,
-					       int ss,int sU,const FermionField &in, FermionField &out)
+template<class Impl>
+void WilsonKernels<Impl>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
+						  int ss,int sU,const FermionField &in, FermionField &out)
 {
   //  std::cout << "Hand op Dhop "<<std::endl;
   typedef typename Simd::scalar_type S;
@@ -798,38 +796,35 @@ namespace QCD {
   }
 }
 
-
   ////////////////////////////////////////////////
   // Specialise Gparity to simple implementation
   ////////////////////////////////////////////////
-template<>
-void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-							     commVector<SiteHalfSpinor>  &buf,
-							     int sF,int sU,const FermionField &in, FermionField &out)
+template<> void 
+WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
+							SiteHalfSpinor *buf,
+							int sF,int sU,const FermionField &in, FermionField &out)
 {
   assert(0);
 }
 
-template<>
-void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								commVector<SiteHalfSpinor>  &buf,
-								int sF,int sU,const FermionField &in, FermionField &out)
+template<> void 
+WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
+							   SiteHalfSpinor *buf,
+							   int sF,int sU,const FermionField &in, FermionField &out)
 {
   assert(0);
 }
 
-template<>
-void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-							     commVector<SiteHalfSpinor>  &buf,
-							     int sF,int sU,const FermionField &in, FermionField &out)
+template<> void 
+WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
+							int sF,int sU,const FermionField &in, FermionField &out)
 {
   assert(0);
 }
 
-template<>
-void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
-								commVector<SiteHalfSpinor>  &buf,
-								int sF,int sU,const FermionField &in, FermionField &out)
+template<> void 
+WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
+							   int sF,int sU,const FermionField &in, FermionField &out)
 {
   assert(0);
 }
@@ -840,12 +835,10 @@ void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,
 // Need Nc=3 though //
 
 #define INSTANTIATE_THEM(A) \
-template void WilsonKernels<A>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,\
-							       commVector<SiteHalfSpinor>  &buf,\
-							       int ss,int sU,const FermionField &in, FermionField &out);\
-template void WilsonKernels<A>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,\
-								  commVector<SiteHalfSpinor>  &buf,\
-								  int ss,int sU,const FermionField &in, FermionField &out);
+template void WilsonKernels<A>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,SiteHalfSpinor *buf,\
+						     int ss,int sU,const FermionField &in, FermionField &out); \
+template void WilsonKernels<A>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,SiteHalfSpinor *buf,\
+							int ss,int sU,const FermionField &in, FermionField &out);
 
 INSTANTIATE_THEM(WilsonImplF);
 INSTANTIATE_THEM(WilsonImplD);
diff --git a/tests/Test_stencil.cc b/tests/Test_stencil.cc
index 0e35a414..1b71b8a5 100644
--- a/tests/Test_stencil.cc
+++ b/tests/Test_stencil.cc
@@ -116,7 +116,7 @@ int main (int argc, char ** argv)
 	  else if (SE->_is_local)
 	    Check._odata[i] = Foo._odata[SE->_offset];
 	  else 
-	    Check._odata[i] = myStencil.comm_buf[SE->_offset];
+	    Check._odata[i] = myStencil.CommBuf()[SE->_offset];
 	}
 
 	Real nrmC = norm2(Check);
@@ -207,7 +207,7 @@ int main (int argc, char ** argv)
 	  else if (SE->_is_local)
 	    OCheck._odata[i] = EFoo._odata[SE->_offset];
 	  else 
-	    OCheck._odata[i] = EStencil.comm_buf[SE->_offset];
+	    OCheck._odata[i] = EStencil.CommBuf()[SE->_offset];
 	}
 	for(int i=0;i<ECheck._grid->oSites();i++){
 	  int permute_type;
@@ -220,7 +220,7 @@ int main (int argc, char ** argv)
 	  else if (SE->_is_local)
 	    ECheck._odata[i] = OFoo._odata[SE->_offset];
 	  else 
-	    ECheck._odata[i] = OStencil.comm_buf[SE->_offset];
+	    ECheck._odata[i] = OStencil.CommBuf()[SE->_offset];
 	}
 	
 	setCheckerboard(Check,ECheck);

From ea25a4d9ac9d07f223a0c362d9ed7ec5fff998a8 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Sun, 23 Oct 2016 06:10:05 +0100
Subject: [PATCH 237/295] Works

---
 lib/Stencil.h | 60 +++++++++++++++++++++++++++++++++++----------------
 1 file changed, 42 insertions(+), 18 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index 6b942539..f5fa1f8b 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -289,11 +289,17 @@ PARALLEL_FOR_LOOP
   ///////////////////////////////////////////////////////////
   // Unified Comms buffers for all directions
   ///////////////////////////////////////////////////////////
-  std::vector<commVector<scalar_object> > u_simd_send_buf;
-  std::vector<commVector<scalar_object> > u_simd_recv_buf;
+  // Vectors that live on the symmetric heap in case of SHMEM
+  std::vector<commVector<scalar_object> > u_simd_send_buf_hide;
+  std::vector<commVector<scalar_object> > u_simd_recv_buf_hide;
   commVector<cobj>          u_send_buf;
   commVector<cobj>          u_recv_buf_hide;
+  // These are used; either SHM objects or refs to the above symmetric heap vectors
+  // depending on comms target
   cobj* u_recv_buf_p;
+  cobj* u_send_buf_p;
+  std::vector<scalar_object *> u_simd_send_buf;
+  std::vector<scalar_object *> u_simd_recv_buf;
 
   int u_comm_offset;
   int _unified_buffer_size;
@@ -427,32 +433,42 @@ PARALLEL_FOR_LOOP
 	}
       }
     }
-    u_send_buf.resize(_unified_buffer_size);
 
     /////////////////////////////////////////////////////////////////////////////////
     // Try to allocate for receiving in a shared memory region, fall back to buffer
     /////////////////////////////////////////////////////////////////////////////////
-    if( ShmDirectCopy ) {
+    const int Nsimd = grid->Nsimd();
 
-      u_recv_buf_p=(cobj *)_grid->ShmBufferSelf();
-      if ( u_recv_buf_p == NULL ) {
-	u_recv_buf_hide.resize(_unified_buffer_size);
-	u_recv_buf_p=&u_recv_buf_hide[0];
+    uint8_t *shm_ptr   = (uint8_t *)_grid->ShmBufferSelf();
+
+    u_simd_send_buf.resize(Nsimd);
+    u_simd_recv_buf.resize(Nsimd);
+
+    u_send_buf.resize(_unified_buffer_size);
+
+    if( ShmDirectCopy && shm_ptr != NULL ) {
+
+      u_recv_buf_p=(cobj *)shm_ptr; shm_ptr+= _unified_buffer_size*sizeof(cobj);
+      for(int l=0;l<Nsimd;l++){
+	u_simd_send_buf[l] = (scalar_object *)shm_ptr; shm_ptr += _unified_buffer_size*sizeof(scalar_object);
+	u_simd_recv_buf[l] = (scalar_object *)shm_ptr; shm_ptr += _unified_buffer_size*sizeof(scalar_object);
       }
+
     } else {
+
       u_recv_buf_hide.resize(_unified_buffer_size);
+      u_simd_send_buf_hide.resize(Nsimd,commVector<scalar_object>(_unified_buffer_size));
+      u_simd_recv_buf_hide.resize(Nsimd,commVector<scalar_object>(_unified_buffer_size));
+
       u_recv_buf_p=&u_recv_buf_hide[0];
+      for(int l=0;l<Nsimd;l++){
+	u_simd_send_buf[l] = & u_simd_send_buf_hide[l][0];
+	u_simd_recv_buf[l] = & u_simd_recv_buf_hide[l][0];
+      }
     }
 
     PrecomputeByteOffsets();
 
-    const int Nsimd = grid->Nsimd();
-    u_simd_send_buf.resize(Nsimd);
-    u_simd_recv_buf.resize(Nsimd);
-    for(int l=0;l<Nsimd;l++){
-      u_simd_send_buf[l].resize(_unified_buffer_size);
-      u_simd_recv_buf[l].resize(_unified_buffer_size);
-    }
   }
 
   void Local     (int point, int dimension,int shiftpm,int cbmask)
@@ -930,10 +946,19 @@ PARALLEL_FOR_LOOP
 	    int xmit_to_rank;
 	    
 	    _grid->ShiftedRanks(dimension,nbr_proc,xmit_to_rank,recv_from_rank); 
-	    
+ 
+
 	    AddPacket((void *)sp,(void *)rp,xmit_to_rank,recv_from_rank,bytes);
+
+	    auto shm_or_rp = rp;
+	    if (ShmDirectCopy) { 
+	      scalar_object *shm = (scalar_object *) _grid->ShmBufferTranslate(xmit_to_rank,sp);
+	      if ( shm!=NULL) { 
+		shm_or_rp = shm;
+	      }
+	    }
 	    
-	    rpointers[i] = rp;
+	    rpointers[i] = shm_or_rp;
 	    
 	  } else { 
 	    
@@ -942,7 +967,6 @@ PARALLEL_FOR_LOOP
 	  }
 	}
 
-	assert(0);
 	AddMerge(&u_recv_buf_p[u_comm_offset],rpointers,buffer_size,Packets.size()-1);
 	
 	u_comm_offset     +=buffer_size;

From b6a65059a21f00c2d9f2a01f10f550996d6acb02 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Mon, 24 Oct 2016 17:30:43 +0100
Subject: [PATCH 238/295] Update to use shared memory to contain the stencil
 comms buffers Tested on 2.1.1.1 1.2.1.1 4.1.1.1 1.4.1.1 2.2.1.1 subnode
 decompositions

---
 benchmarks/Benchmark_dwf.cc            |  21 +-
 lib/Init.cc                            |  14 +-
 lib/Init.h                             |   2 +
 lib/Log.cc                             |   5 +
 lib/Log.h                              |  59 ++--
 lib/Makefile.am                        |   4 +
 lib/Stencil.h                          |  73 ++---
 lib/communicator/Communicator_base.cc  | 132 +++++++++
 lib/communicator/Communicator_base.h   | 313 ++++++++++----------
 lib/communicator/Communicator_mpi.cc   |  41 +--
 lib/communicator/Communicator_mpi3.cc  | 388 ++++++++++++++-----------
 lib/communicator/Communicator_none.cc  |  55 ++--
 lib/communicator/Communicator_shmem.cc |  57 ++--
 13 files changed, 706 insertions(+), 458 deletions(-)
 create mode 100644 lib/communicator/Communicator_base.cc

diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index f75f0385..c9e2fa22 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -156,6 +156,7 @@ int main (int argc, char ** argv)
     std::cout<<GridLogMessage << "mflop/s per rank =  "<< flops/(t1-t0)/NP<<std::endl;
     err = ref-result; 
     std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<<std::endl;
+    assert (norm2(err)< 1.0e-5 );
     Dw.Report();
   }
 
@@ -208,7 +209,7 @@ int main (int argc, char ** argv)
 
     std::cout<<GridLogMessage<< "res norms "<< norm2(result)<<" " <<norm2(sresult)<<std::endl;
 
-    RealF sum=0;
+    RealD sum=0;
     for(int x=0;x<latt4[0];x++){
     for(int y=0;y<latt4[1];y++){
     for(int z=0;z<latt4[2];z++){
@@ -226,12 +227,12 @@ int main (int argc, char ** argv)
       }
     }}}}}
     std::cout<<GridLogMessage<<" difference between normal and simd is "<<sum<<std::endl;
+    assert (sum< 1.0e-5 );
 
 
     if (1) {
 
       LatticeFermion sr_eo(sFGrid);
-      LatticeFermion serr(sFGrid);
 
       LatticeFermion ssrc_e (sFrbGrid);
       LatticeFermion ssrc_o (sFrbGrid);
@@ -243,8 +244,6 @@ int main (int argc, char ** argv)
 
       setCheckerboard(sr_eo,ssrc_o);
       setCheckerboard(sr_eo,ssrc_e);
-      serr = sr_eo-ssrc; 
-      std::cout<<GridLogMessage << "EO src norm diff   "<< norm2(serr)<<std::endl;
 
       sr_e = zero;
       sr_o = zero;
@@ -272,9 +271,18 @@ int main (int argc, char ** argv)
       pickCheckerboard(Even,ssrc_e,sresult);
       pickCheckerboard(Odd ,ssrc_o,sresult);
       ssrc_e = ssrc_e - sr_e;
+      RealD error = norm2(ssrc_e);
+
       std::cout<<GridLogMessage << "sE norm diff   "<< norm2(ssrc_e)<< "  vec nrm"<<norm2(sr_e) <<std::endl;
       ssrc_o = ssrc_o - sr_o;
+
+      error+= norm2(ssrc_o);
       std::cout<<GridLogMessage << "sO norm diff   "<< norm2(ssrc_o)<< "  vec nrm"<<norm2(sr_o) <<std::endl;
+      if(error>1.0e-5) { 
+	setCheckerboard(ssrc,ssrc_o);
+	setCheckerboard(ssrc,ssrc_e);
+	std::cout<< ssrc << std::endl;
+      }
     }
 
 
@@ -306,7 +314,7 @@ int main (int argc, char ** argv)
   std::cout<<GridLogMessage << "norm ref    "<< norm2(ref)<<std::endl;
   err = ref-result; 
   std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<<std::endl;
-
+  assert(norm2(err)<1.0e-5);
   LatticeFermion src_e (FrbGrid);
   LatticeFermion src_o (FrbGrid);
   LatticeFermion r_e   (FrbGrid);
@@ -349,11 +357,14 @@ int main (int argc, char ** argv)
 
   err = r_eo-result; 
   std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<<std::endl;
+  assert(norm2(err)<1.0e-5);
 
   pickCheckerboard(Even,src_e,err);
   pickCheckerboard(Odd,src_o,err);
   std::cout<<GridLogMessage << "norm diff even  "<< norm2(src_e)<<std::endl;
   std::cout<<GridLogMessage << "norm diff odd   "<< norm2(src_o)<<std::endl;
+  assert(norm2(src_e)<1.0e-5);
+  assert(norm2(src_o)<1.0e-5);
 
 
   }
diff --git a/lib/Init.cc b/lib/Init.cc
index a21cbce0..a2a8526a 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -171,14 +171,17 @@ std::string GridCmdVectorIntToString(const std::vector<int> & vec){
 /////////////////////////////////////////////////////////
 //
 /////////////////////////////////////////////////////////
+static int Grid_is_initialised = 0;
+
+
 void Grid_init(int *argc,char ***argv)
 {
+  GridLogger::StopWatch.Start();
+
   CartesianCommunicator::Init(argc,argv);
 
   // Parse command line args.
 
-  GridLogger::StopWatch.Start();
-
   std::string arg;
   std::vector<std::string> logstreams;
   std::string defaultLog("Error,Warning,Message,Performance");
@@ -216,11 +219,14 @@ void Grid_init(int *argc,char ***argv)
   if( GridCmdOptionExists(*argv,*argv+*argc,"--lebesgue") ){
     LebesgueOrder::UseLebesgueOrder=1;
   }
-
   if( GridCmdOptionExists(*argv,*argv+*argc,"--cacheblocking") ){
     arg= GridCmdOptionPayload(*argv,*argv+*argc,"--cacheblocking");
     GridCmdOptionIntVector(arg,LebesgueOrder::Block);
   }
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--timestamp") ){
+    GridLogTimestamp(1);
+  }
+
   GridParseLayout(*argv,*argc,
 		  Grid_default_latt,
 		  Grid_default_mpi);
@@ -274,6 +280,8 @@ void Grid_init(int *argc,char ***argv)
   std::cout << "GNU General Public License for more details."<<std::endl;
   std::cout << COL_BACKGROUND <<std::endl;
   std::cout << std::endl;
+
+  Grid_is_initialised = 1;
 }
 
   
diff --git a/lib/Init.h b/lib/Init.h
index 25fda569..d68cee37 100644
--- a/lib/Init.h
+++ b/lib/Init.h
@@ -33,6 +33,7 @@ namespace Grid {
 
   void Grid_init(int *argc,char ***argv);
   void Grid_finalize(void);
+
   // internal, controled with --handle
   void Grid_sa_signal_handler(int sig,siginfo_t *si,void * ptr);
   void Grid_debug_handler_init(void);
@@ -44,6 +45,7 @@ namespace Grid {
   const std::vector<int> &GridDefaultMpi(void);
   const int              &GridThreads(void)  ;
   void                    GridSetThreads(int t) ;
+  void GridLogTimestamp(int);
 
   // Common parsing chores
   std::string GridCmdOptionPayload(char ** begin, char ** end, const std::string & option);
diff --git a/lib/Log.cc b/lib/Log.cc
index a55a1c9e..d4ac42ee 100644
--- a/lib/Log.cc
+++ b/lib/Log.cc
@@ -34,8 +34,13 @@ directory
 namespace Grid {
 
 GridStopWatch Logger::StopWatch;
+int Logger::timestamp;
 std::ostream Logger::devnull(0);
 
+void GridLogTimestamp(int on){
+  Logger::Timestamp(on);
+}
+
 Colours GridLogColours(0);
 GridLogger GridLogError(1, "Error", GridLogColours, "RED");
 GridLogger GridLogWarning(1, "Warning", GridLogColours, "YELLOW");
diff --git a/lib/Log.h b/lib/Log.h
index 156f52ee..dd3fe927 100644
--- a/lib/Log.h
+++ b/lib/Log.h
@@ -37,10 +37,11 @@
 #include <execinfo.h>
 #endif
 
-    namespace Grid {
+namespace Grid {
 
+//////////////////////////////////////////////////////////////////////////////////////////////////
 // Dress the output; use std::chrono for time stamping via the StopWatch class
-int Rank(void); // used for early stage debug before library init
+//////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 class Colours{
@@ -55,7 +56,6 @@ public:
 
   void Active(bool activate){
     is_active=activate;
-
     if (is_active){
      colour["BLACK"]  ="\033[30m";
      colour["RED"]    ="\033[31m";
@@ -66,21 +66,18 @@ public:
      colour["CYAN"]   ="\033[36m";
      colour["WHITE"]  ="\033[37m";
      colour["NORMAL"] ="\033[0;39m";
-   } else {
-    colour["BLACK"] ="";
-    colour["RED"]   ="";
-    colour["GREEN"] ="";
-    colour["YELLOW"]="";
-    colour["BLUE"]  ="";
-    colour["PURPLE"]="";
-    colour["CYAN"]  ="";
-    colour["WHITE"] ="";
-    colour["NORMAL"]="";
-  }
-
-
-};
-
+    } else {
+      colour["BLACK"] ="";
+      colour["RED"]   ="";
+      colour["GREEN"] ="";
+      colour["YELLOW"]="";
+      colour["BLUE"]  ="";
+      colour["PURPLE"]="";
+      colour["CYAN"]  ="";
+      colour["WHITE"] ="";
+      colour["NORMAL"]="";
+    }
+  };
 };
 
 
@@ -88,6 +85,7 @@ class Logger {
 protected:
   Colours &Painter;
   int active;
+  static int timestamp;
   std::string name, topName;
   std::string COLOUR;
 
@@ -99,25 +97,28 @@ public:
   std::string evidence() {return Painter.colour["YELLOW"];}
   std::string colour() {return Painter.colour[COLOUR];}
 
-  Logger(std::string topNm, int on, std::string nm, Colours& col_class, std::string col)
-  : active(on),
-  name(nm),
-  topName(topNm),
-  Painter(col_class),
-  COLOUR(col){} ;
+  Logger(std::string topNm, int on, std::string nm, Colours& col_class, std::string col)  : active(on),
+    name(nm),
+    topName(topNm),
+    Painter(col_class),
+    COLOUR(col) {} ;
   
   void Active(int on) {active = on;};
   int  isActive(void) {return active;};
+  static void Timestamp(int on) {timestamp = on;};
   
   friend std::ostream& operator<< (std::ostream& stream, Logger& log){
 
     if ( log.active ) {
-      StopWatch.Stop();
-      GridTime now = StopWatch.Elapsed();
-      StopWatch.Start();
       stream << log.background()<< log.topName << log.background()<< " : ";
       stream << log.colour() <<std::setw(14) << std::left << log.name << log.background() << " : ";
-      stream << log.evidence()<< now << log.background() << " : " << log.colour();
+      if ( log.timestamp ) {
+	StopWatch.Stop();
+	GridTime now = StopWatch.Elapsed();
+	StopWatch.Start();
+	stream << log.evidence()<< now << log.background() << " : " ;
+      }
+      stream << log.colour();
       return stream;
     } else { 
       return devnull;
@@ -149,7 +150,7 @@ extern void * Grid_backtrace_buffer[_NBACKTRACE];
 
 #define BACKTRACEFILE() {\
 char string[20];					\
-std::sprintf(string,"backtrace.%d",Rank());				\
+std::sprintf(string,"backtrace.%d",CartesianCommunicator::RankWorld()); \
 std::FILE * fp = std::fopen(string,"w");				\
 BACKTRACEFP(fp)\
 std::fclose(fp);	    \
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 35e76cc8..3285a545 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,18 +1,22 @@
 extra_sources=
 if BUILD_COMMS_MPI
   extra_sources+=communicator/Communicator_mpi.cc
+  extra_sources+=communicator/Communicator_base.cc
 endif
 
 if BUILD_COMMS_MPI3
   extra_sources+=communicator/Communicator_mpi3.cc
+  extra_sources+=communicator/Communicator_base.cc
 endif
 
 if BUILD_COMMS_SHMEM
   extra_sources+=communicator/Communicator_shmem.cc
+  extra_sources+=communicator/Communicator_base.cc
 endif
 
 if BUILD_COMMS_NONE
   extra_sources+=communicator/Communicator_none.cc
+  extra_sources+=communicator/Communicator_base.cc
 endif
 
 #
diff --git a/lib/Stencil.h b/lib/Stencil.h
index f5fa1f8b..f22acb6f 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -290,10 +290,11 @@ PARALLEL_FOR_LOOP
   // Unified Comms buffers for all directions
   ///////////////////////////////////////////////////////////
   // Vectors that live on the symmetric heap in case of SHMEM
-  std::vector<commVector<scalar_object> > u_simd_send_buf_hide;
-  std::vector<commVector<scalar_object> > u_simd_recv_buf_hide;
-  commVector<cobj>          u_send_buf;
-  commVector<cobj>          u_recv_buf_hide;
+  //  std::vector<commVector<scalar_object> > u_simd_send_buf_hide;
+  //  std::vector<commVector<scalar_object> > u_simd_recv_buf_hide;
+  //  commVector<cobj>          u_send_buf_hide;
+  //  commVector<cobj>          u_recv_buf_hide;
+
   // These are used; either SHM objects or refs to the above symmetric heap vectors
   // depending on comms target
   cobj* u_recv_buf_p;
@@ -439,36 +440,19 @@ PARALLEL_FOR_LOOP
     /////////////////////////////////////////////////////////////////////////////////
     const int Nsimd = grid->Nsimd();
 
-    uint8_t *shm_ptr   = (uint8_t *)_grid->ShmBufferSelf();
+    _grid->ShmBufferFreeAll();
 
     u_simd_send_buf.resize(Nsimd);
     u_simd_recv_buf.resize(Nsimd);
 
-    u_send_buf.resize(_unified_buffer_size);
-
-    if( ShmDirectCopy && shm_ptr != NULL ) {
-
-      u_recv_buf_p=(cobj *)shm_ptr; shm_ptr+= _unified_buffer_size*sizeof(cobj);
-      for(int l=0;l<Nsimd;l++){
-	u_simd_send_buf[l] = (scalar_object *)shm_ptr; shm_ptr += _unified_buffer_size*sizeof(scalar_object);
-	u_simd_recv_buf[l] = (scalar_object *)shm_ptr; shm_ptr += _unified_buffer_size*sizeof(scalar_object);
-      }
-
-    } else {
-
-      u_recv_buf_hide.resize(_unified_buffer_size);
-      u_simd_send_buf_hide.resize(Nsimd,commVector<scalar_object>(_unified_buffer_size));
-      u_simd_recv_buf_hide.resize(Nsimd,commVector<scalar_object>(_unified_buffer_size));
-
-      u_recv_buf_p=&u_recv_buf_hide[0];
-      for(int l=0;l<Nsimd;l++){
-	u_simd_send_buf[l] = & u_simd_send_buf_hide[l][0];
-	u_simd_recv_buf[l] = & u_simd_recv_buf_hide[l][0];
-      }
+    u_send_buf_p=(cobj *)_grid->ShmBufferMalloc(_unified_buffer_size*sizeof(cobj));
+    u_recv_buf_p=(cobj *)_grid->ShmBufferMalloc(_unified_buffer_size*sizeof(cobj));
+    for(int l=0;l<Nsimd;l++){
+      u_simd_recv_buf[l] = (scalar_object *)_grid->ShmBufferMalloc(_unified_buffer_size*sizeof(scalar_object));
+      u_simd_send_buf[l] = (scalar_object *)_grid->ShmBufferMalloc(_unified_buffer_size*sizeof(scalar_object));
     }
 
     PrecomputeByteOffsets();
-
   }
 
   void Local     (int point, int dimension,int shiftpm,int cbmask)
@@ -698,6 +682,7 @@ PARALLEL_FOR_LOOP
     calls++;
     Mergers.resize(0);
     Packets.resize(0);
+    _grid->StencilBarrier();
     HaloGather(source,compress);
     this->CommunicateBegin(reqs);
     this->CommunicateComplete(reqs);
@@ -836,19 +821,17 @@ PARALLEL_FOR_LOOP
 	// try the direct copy if possible
 	/////////////////////////////////////////////////////////
 
-	cobj *u_send_buf_p = &u_send_buf[0];
-	if (ShmDirectCopy) { 
-	  cobj *shm = (cobj *) _grid->ShmBuffer(xmit_to_rank);
-	  if ( shm!=NULL) { 
-	    u_send_buf_p = shm;
-	  }
+
+	cobj *send_buf = (cobj *)_grid->ShmBufferTranslate(xmit_to_rank,u_recv_buf_p);
+	if ( (ShmDirectCopy==0)||send_buf==NULL ) { 
+	  cobj *send_buf = u_send_buf_p;
 	}
 	
 	t_data-=usecond();
-	Gather_plane_simple_table         (face_table[face_idx],rhs,u_send_buf_p,compress,u_comm_offset,so);  face_idx++;
+	Gather_plane_simple_table         (face_table[face_idx],rhs,send_buf,compress,u_comm_offset,so);  face_idx++;
 	t_data+=usecond();
 	
-	AddPacket((void *)&u_send_buf_p[u_comm_offset],
+	AddPacket((void *)&send_buf[u_comm_offset],
 		  (void *)&u_recv_buf_p[u_comm_offset],
 		  xmit_to_rank,
 		  recv_from_rank,
@@ -947,18 +930,16 @@ PARALLEL_FOR_LOOP
 	    
 	    _grid->ShiftedRanks(dimension,nbr_proc,xmit_to_rank,recv_from_rank); 
  
-
-	    AddPacket((void *)sp,(void *)rp,xmit_to_rank,recv_from_rank,bytes);
-
-	    auto shm_or_rp = rp;
-	    if (ShmDirectCopy) { 
-	      scalar_object *shm = (scalar_object *) _grid->ShmBufferTranslate(xmit_to_rank,sp);
-	      if ( shm!=NULL) { 
-		shm_or_rp = shm;
-	      }
-	    }
+	    scalar_object *shm = (scalar_object *) _grid->ShmBufferTranslate(recv_from_rank,sp);
+	    if ((ShmDirectCopy==0)||(shm==NULL)) { 
+	      shm = rp;
+	    } 
 	    
-	    rpointers[i] = shm_or_rp;
+	    // if Direct, StencilSendToRecvFrom will suppress copy to a peer on node
+	    // assuming above pointer flip
+	    AddPacket((void *)sp,(void *)rp,xmit_to_rank,recv_from_rank,bytes);
+	    
+	    rpointers[i] = shm;
 	    
 	  } else { 
 	    
diff --git a/lib/communicator/Communicator_base.cc b/lib/communicator/Communicator_base.cc
new file mode 100644
index 00000000..1272b6a2
--- /dev/null
+++ b/lib/communicator/Communicator_base.cc
@@ -0,0 +1,132 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/communicator/Communicator_none.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include "Grid.h"
+namespace Grid {
+
+///////////////////////////////////////////////////////////////
+// Info that is setup once and indept of cartesian layout
+///////////////////////////////////////////////////////////////
+int CartesianCommunicator::ShmRank;
+int CartesianCommunicator::ShmSize;
+int CartesianCommunicator::GroupRank;
+int CartesianCommunicator::GroupSize;
+int CartesianCommunicator::WorldRank;
+int CartesianCommunicator::WorldSize;
+int CartesianCommunicator::Slave;
+void *              CartesianCommunicator::ShmCommBuf;
+
+/////////////////////////////////
+// Alloc, free shmem region
+/////////////////////////////////
+void *CartesianCommunicator::ShmBufferMalloc(size_t bytes){
+  //  bytes = (bytes+sizeof(vRealD))&(~(sizeof(vRealD)-1));// align up bytes
+  void *ptr = (void *)heap_top;
+  heap_top  += bytes;
+  heap_bytes+= bytes;
+  assert(heap_bytes < MAX_MPI_SHM_BYTES);
+  return ptr;
+}
+void *CartesianCommunicator::ShmBufferFreeAll(void) { 
+  heap_top  =(size_t)ShmBufferSelf();
+  heap_bytes=0;
+}
+
+/////////////////////////////////
+// Grid information queries
+/////////////////////////////////
+int                      CartesianCommunicator::IsBoss(void)            { return _processor==0; };
+int                      CartesianCommunicator::BossRank(void)          { return 0; };
+int                      CartesianCommunicator::ThisRank(void)          { return _processor; };
+const std::vector<int> & CartesianCommunicator::ThisProcessorCoor(void) { return _processor_coor; };
+const std::vector<int> & CartesianCommunicator::ProcessorGrid(void)     { return _processors; };
+int                      CartesianCommunicator::ProcessorCount(void)    { return _Nprocessors; };
+
+////////////////////////////////////////////////////////////////////////////////
+// very VERY rarely (Log, serial RNG) we need world without a grid
+////////////////////////////////////////////////////////////////////////////////
+int  CartesianCommunicator::RankWorld(void) { return WorldRank; };
+int CartesianCommunicator::Ranks    (void) { return WorldSize; };
+int CartesianCommunicator::Nodes    (void) { return GroupSize; };
+int CartesianCommunicator::Cores    (void) { return ShmSize;   };
+int CartesianCommunicator::NodeRank (void) { return GroupRank; };
+int CartesianCommunicator::CoreRank (void) { return ShmRank;   };
+
+void CartesianCommunicator::GlobalSum(ComplexF &c)
+{
+  GlobalSumVector((float *)&c,2);
+}
+void CartesianCommunicator::GlobalSumVector(ComplexF *c,int N)
+{
+  GlobalSumVector((float *)c,2*N);
+}
+void CartesianCommunicator::GlobalSum(ComplexD &c)
+{
+  GlobalSumVector((double *)&c,2);
+}
+void CartesianCommunicator::GlobalSumVector(ComplexD *c,int N)
+{
+  GlobalSumVector((double *)c,2*N);
+}
+
+#ifndef GRID_COMMS_MPI3
+
+void CartesianCommunicator::StencilSendToRecvFromBegin(std::vector<CommsRequest_t> &list,
+						       void *xmit,
+						       int xmit_to_rank,
+						       void *recv,
+						       int recv_from_rank,
+						       int bytes)
+{
+  SendToRecvFromBegin(list,xmit,xmit_to_rank,recv,recv_from_rank,bytes);
+}
+void CartesianCommunicator::StencilSendToRecvFromComplete(std::vector<CommsRequest_t> &waitall)
+{
+  SendToRecvFromComplete(waitall);
+}
+void StencilBarrier(void){};
+
+commVector<uint8_t> CartesianCommunicator::ShmBufStorageVector;
+
+void *CartesianCommunicator::ShmBufferSelf(void) { return ShmCommBuf; }
+void *CartesianCommunicator::ShmBuffer(int rank) {
+  if (rank != ShmRank ) return NULL;
+  else                  return ShmCommBuf;
+}
+void *CartesianCommunicator::ShmBufferTranslate(int rank,void * local_p) { 
+  if (rank != ShmRank ) return NULL;
+  else                  return local_p;
+}
+void CartesianCommunicator::ShmInitGeneric(void){
+  ShmBufStorageVector.resize(MAX_MPI_SHM_BYTES);
+  ShmCommBuf=(void *)&ShmBufStorageVector[0];
+}
+
+#endif
+  
+}
+
diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index 4139f72a..576c749e 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -40,169 +40,188 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifdef GRID_COMMS_SHMEM
 #include <mpp/shmem.h>
 #endif
+
 namespace Grid {
+
 class CartesianCommunicator {
   public:    
 
+  // 65536 ranks per node adequate for now
+  // 128MB shared memory for comms enought for 48^4 local vol comms
+  // Give external control (command line override?) of this
+
+  static const int      MAXLOG2RANKSPERNODE = 16;            
+  static const uint64_t MAX_MPI_SHM_BYTES   = 128*1024*1024; 
+
   // Communicator should know nothing of the physics grid, only processor grid.
-  
-    int              _Nprocessors;     // How many in all
-    std::vector<int> _processors;      // Which dimensions get relayed out over processors lanes.
-    int              _processor;       // linear processor rank
-    std::vector<int> _processor_coor;  // linear processor coordinate
-    unsigned long _ndimension;
+  int              _Nprocessors;     // How many in all
+  std::vector<int> _processors;      // Which dimensions get relayed out over processors lanes.
+  int              _processor;       // linear processor rank
+  std::vector<int> _processor_coor;  // linear processor coordinate
+  unsigned long _ndimension;
 
-#ifdef GRID_COMMS_MPI
-    MPI_Comm communicator;
-    typedef MPI_Request CommsRequest_t;
-#elif  GRID_COMMS_MPI3
-    int shm_mode;
-
-    MPI_Comm communicator;
-    typedef MPI_Request CommsRequest_t;
-
-    const int MAXLOG2RANKSPERNODE = 16;     // 65536 ranks per node adequate for now
-    const uint64_t MAX_MPI_SHM_BYTES = 256*1024*1024; // 256MB shared memory for comms enought for 48^4 local vol comms
-
-    std::vector<int>  WorldDims;
-    std::vector<int>  GroupDims;
-    std::vector<int>  ShmDims;
-
-    std::vector<int> GroupCoor;
-    std::vector<int> ShmCoor;
-    std::vector<int> WorldCoor;
-
-    static std::vector<int> GroupRanks; 
-    static std::vector<int> MyGroup;
-    static int ShmSetup;
-    static MPI_Win ShmWindow; 
-    static MPI_Comm ShmComm;
-
-    void * ShmCommBuf;
-    std::vector<void *> ShmCommBufs;
-
-    int WorldRank;
-    int WorldSize;
-
-    static int ShmRank;
-    static int ShmSize;
-    static int GroupSize;
-    static int GroupRank;
-
-    std::vector<int>  LexicographicToWorldRank;
+#if defined (GRID_COMMS_MPI) || defined (GRID_COMMS_MPI3)
+  MPI_Comm communicator;
+  static MPI_Comm communicator_world;
+  typedef MPI_Request CommsRequest_t;
 #else 
-    typedef int CommsRequest_t;
+  typedef int CommsRequest_t;
 #endif
 
-    static void Init(int *argc, char ***argv);
+  ////////////////////////////////////////////////////////////////////
+  // Helper functionality for SHM Windows common to all other impls
+  ////////////////////////////////////////////////////////////////////
+  // Longer term; drop this in favour of a master / slave model with 
+  // cartesian communicator on a subset of ranks, slave ranks controlled
+  // by group leader with data xfer via shared memory
+  ////////////////////////////////////////////////////////////////////
+#ifdef  GRID_COMMS_MPI3
+  std::vector<int>  WorldDims;
+  std::vector<int>  GroupDims;
+  std::vector<int>  ShmDims;
+  
+  std::vector<int> GroupCoor;
+  std::vector<int> ShmCoor;
+  std::vector<int> WorldCoor;
+  
+  static std::vector<int> GroupRanks; 
+  static std::vector<int> MyGroup;
+  static int ShmSetup;
+  static MPI_Win ShmWindow; 
+  static MPI_Comm ShmComm;
+  
+  std::vector<int>  LexicographicToWorldRank;
+  
+  static std::vector<void *> ShmCommBufs;
+#else 
+  static void ShmInitGeneric(void);
+  static commVector<uint8_t> ShmBufStorageVector;
+#endif 
+  static void * ShmCommBuf;
+  size_t heap_top;
+  size_t heap_bytes;
+  void *ShmBufferSelf(void);
+  void *ShmBuffer(int rank);
+  void *ShmBufferTranslate(int rank,void * local_p);
+  void *ShmBufferMalloc(size_t bytes);
+  void *ShmBufferFreeAll(void) ;
+  
+  ////////////////////////////////////////////////
+  // Must call in Grid startup
+  ////////////////////////////////////////////////
+  static void Init(int *argc, char ***argv);
+  
+  ////////////////////////////////////////////////
+  // Constructor of any given grid
+  ////////////////////////////////////////////////
+  CartesianCommunicator(const std::vector<int> &pdimensions_in);
+  
+  ////////////////////////////////////////////////////////////////////////////////////////
+  // Wraps MPI_Cart routines, or implements equivalent on other impls
+  ////////////////////////////////////////////////////////////////////////////////////////
+  void ShiftedRanks(int dim,int shift,int & source, int & dest);
+  int  RankFromProcessorCoor(std::vector<int> &coor);
+  void ProcessorCoorFromRank(int rank,std::vector<int> &coor);
+  
+  /////////////////////////////////
+  // Grid information and queries
+  /////////////////////////////////
+  static int ShmRank;
+  static int ShmSize;
+  static int GroupSize;
+  static int GroupRank;
+  static int WorldRank;
+  static int WorldSize;
+  static int Slave;
+  
+  int                      IsBoss(void)            ;
+  int                      BossRank(void)          ;
+  int                      ThisRank(void)          ;
+  const std::vector<int> & ThisProcessorCoor(void) ;
+  const std::vector<int> & ProcessorGrid(void)     ;
+  int                      ProcessorCount(void)    ;
+  static int Ranks    (void);
+  static int Nodes    (void);
+  static int Cores    (void);
+  static int NodeRank (void);
+  static int CoreRank (void);
 
-    // Constructor
-    CartesianCommunicator(const std::vector<int> &pdimensions_in);
+  ////////////////////////////////////////////////////////////////////////////////
+  // very VERY rarely (Log, serial RNG) we need world without a grid
+  ////////////////////////////////////////////////////////////////////////////////
+  static int  RankWorld(void) ;
+  static void BroadcastWorld(int root,void* data, int bytes);
+  
+  ////////////////////////////////////////////////////////////
+  // Reduction
+  ////////////////////////////////////////////////////////////
+  void GlobalSum(RealF &);
+  void GlobalSumVector(RealF *,int N);
+  void GlobalSum(RealD &);
+  void GlobalSumVector(RealD *,int N);
+  void GlobalSum(uint32_t &);
+  void GlobalSum(uint64_t &);
+  void GlobalSum(ComplexF &c);
+  void GlobalSumVector(ComplexF *c,int N);
+  void GlobalSum(ComplexD &c);
+  void GlobalSumVector(ComplexD *c,int N);
+  
+  template<class obj> void GlobalSum(obj &o){
+    typedef typename obj::scalar_type scalar_type;
+    int words = sizeof(obj)/sizeof(scalar_type);
+    scalar_type * ptr = (scalar_type *)& o;
+    GlobalSumVector(ptr,words);
+  }
+  
+  ////////////////////////////////////////////////////////////
+  // Face exchange, buffer swap in translational invariant way
+  ////////////////////////////////////////////////////////////
+  void SendToRecvFrom(void *xmit,
+		      int xmit_to_rank,
+		      void *recv,
+		      int recv_from_rank,
+		      int bytes);
+  
+  void SendRecvPacket(void *xmit,
+		      void *recv,
+		      int xmit_to_rank,
+		      int recv_from_rank,
+		      int bytes);
+  
+  void SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
+			   void *xmit,
+			   int xmit_to_rank,
+			   void *recv,
+			   int recv_from_rank,
+			   int bytes);
+  
+  void SendToRecvFromComplete(std::vector<CommsRequest_t> &waitall);
 
-    // Wraps MPI_Cart routines
-    void ShiftedRanks(int dim,int shift,int & source, int & dest);
-    int  RankFromProcessorCoor(std::vector<int> &coor);
-    void ProcessorCoorFromRank(int rank,std::vector<int> &coor);
+  void StencilSendToRecvFromBegin(std::vector<CommsRequest_t> &list,
+				  void *xmit,
+				  int xmit_to_rank,
+				  void *recv,
+				  int recv_from_rank,
+				  int bytes);
+  
+  void StencilSendToRecvFromComplete(std::vector<CommsRequest_t> &waitall);
+  void StencilBarrier(void);
 
-    // Helper function for SHM Windows in MPI3
-    void *ShmBufferSelf(void);
-    void *ShmBuffer(int rank);
-
-    /////////////////////////////////
-    // Grid information queries
-    /////////////////////////////////
-    int                      IsBoss(void)            { return _processor==0; };
-    int                      BossRank(void)          { return 0; };
-    int                      ThisRank(void)          { return _processor; };
-    const std::vector<int> & ThisProcessorCoor(void) { return _processor_coor; };
-    const std::vector<int> & ProcessorGrid(void)     { return _processors; };
-    int                      ProcessorCount(void)    { return _Nprocessors; };
-
-    ////////////////////////////////////////////////////////////
-    // Reduction
-    ////////////////////////////////////////////////////////////
-    void GlobalSum(RealF &);
-    void GlobalSumVector(RealF *,int N);
-
-    void GlobalSum(RealD &);
-    void GlobalSumVector(RealD *,int N);
-
-    void GlobalSum(uint32_t &);
-    void GlobalSum(uint64_t &);
-
-    void GlobalSum(ComplexF &c)
-    {
-      GlobalSumVector((float *)&c,2);
-    }
-    void GlobalSumVector(ComplexF *c,int N)
-    {
-      GlobalSumVector((float *)c,2*N);
-    }
-
-    void GlobalSum(ComplexD &c)
-    {
-      GlobalSumVector((double *)&c,2);
-    }
-    void GlobalSumVector(ComplexD *c,int N)
-    {
-      GlobalSumVector((double *)c,2*N);
-    }
-    
-    template<class obj> void GlobalSum(obj &o){
-      typedef typename obj::scalar_type scalar_type;
-      int words = sizeof(obj)/sizeof(scalar_type);
-      scalar_type * ptr = (scalar_type *)& o;
-      GlobalSumVector(ptr,words);
-    }
-    ////////////////////////////////////////////////////////////
-    // Face exchange, buffer swap in translational invariant way
-    ////////////////////////////////////////////////////////////
-    void SendToRecvFrom(void *xmit,
-			int xmit_to_rank,
-			void *recv,
-			int recv_from_rank,
-			int bytes);
-
-    void SendRecvPacket(void *xmit,
-			void *recv,
-			int xmit_to_rank,
-			int recv_from_rank,
-			int bytes);
-
-    void SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
-			 void *xmit,
-			 int xmit_to_rank,
-			 void *recv,
-			 int recv_from_rank,
-			 int bytes);
-    void SendToRecvFromComplete(std::vector<CommsRequest_t> &waitall);
-    void StencilSendToRecvFromBegin(std::vector<CommsRequest_t> &list,
-			 void *xmit,
-			 int xmit_to_rank,
-			 void *recv,
-			 int recv_from_rank,
-			 int bytes);
-    void StencilSendToRecvFromComplete(std::vector<CommsRequest_t> &waitall)
-    {
-      SendToRecvFromComplete(waitall);
-    }
-
-    ////////////////////////////////////////////////////////////
-    // Barrier
-    ////////////////////////////////////////////////////////////
-    void Barrier(void);
-
-    ////////////////////////////////////////////////////////////
-    // Broadcast a buffer and composite larger
-    ////////////////////////////////////////////////////////////
-    void Broadcast(int root,void* data, int bytes);
-    template<class obj> void Broadcast(int root,obj &data)
+  ////////////////////////////////////////////////////////////
+  // Barrier
+  ////////////////////////////////////////////////////////////
+  void Barrier(void);
+  
+  ////////////////////////////////////////////////////////////
+  // Broadcast a buffer and composite larger
+  ////////////////////////////////////////////////////////////
+  void Broadcast(int root,void* data, int bytes);
+  
+  template<class obj> void Broadcast(int root,obj &data)
     {
       Broadcast(root,(void *)&data,sizeof(data));
     };
 
-    static void BroadcastWorld(int root,void* data, int bytes);
-
 }; 
 }
 
diff --git a/lib/communicator/Communicator_mpi.cc b/lib/communicator/Communicator_mpi.cc
index 4291b319..a638eebb 100644
--- a/lib/communicator/Communicator_mpi.cc
+++ b/lib/communicator/Communicator_mpi.cc
@@ -30,19 +30,28 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
 namespace Grid {
 
-  // Should error check all MPI calls.
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Info that is setup once and indept of cartesian layout
+///////////////////////////////////////////////////////////////////////////////////////////////////
+MPI_Comm CartesianCommunicator::communicator_world;
+
+// Should error check all MPI calls.
 void CartesianCommunicator::Init(int *argc, char ***argv) {
   int flag;
   MPI_Initialized(&flag); // needed to coexist with other libs apparently
   if ( !flag ) {
     MPI_Init(argc,argv);
   }
-}
-
-int Rank(void) {
-  int pe;
-  MPI_Comm_rank(MPI_COMM_WORLD,&pe);
-  return pe;
+  MPI_Comm_dup (MPI_COMM_WORLD,&communicator_world);
+  MPI_Comm_rank(communicator_world,&WorldRank);
+  MPI_Comm_size(communicator_world,&WorldSize);
+  ShmRank=0;
+  ShmSize=1;
+  GroupRank=WorldRank;
+  GroupSize=WorldSize;
+  Slave    =0;
+  ShmInitGeneric();
 }
 
 CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
@@ -54,7 +63,7 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   _processors = processors;
   _processor_coor.resize(_ndimension);
   
-  MPI_Cart_create(MPI_COMM_WORLD, _ndimension,&_processors[0],&periodic[0],1,&communicator);
+  MPI_Cart_create(communicator_world, _ndimension,&_processors[0],&periodic[0],1,&communicator);
   MPI_Comm_rank(communicator,&_processor);
   MPI_Cart_coords(communicator,_processor,_ndimension,&_processor_coor[0]);
 
@@ -67,15 +76,6 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   
   assert(Size==_Nprocessors);
 }
-void *CartesianCommunicator::ShmBufferSelf(void)
-{
-  return NULL;
-}
-void *CartesianCommunicator::ShmBuffer(int rank)
-{
-  return NULL;
-}
-
 void CartesianCommunicator::GlobalSum(uint32_t &u){
   int ierr=MPI_Allreduce(MPI_IN_PLACE,&u,1,MPI_UINT32_T,MPI_SUM,communicator);
   assert(ierr==0);
@@ -194,14 +194,17 @@ void CartesianCommunicator::Broadcast(int root,void* data, int bytes)
 		     communicator);
   assert(ierr==0);
 }
-
+  ///////////////////////////////////////////////////////
+  // Should only be used prior to Grid Init finished.
+  // Check for this?
+  ///////////////////////////////////////////////////////
 void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes)
 {
   int ierr= MPI_Bcast(data,
 		      bytes,
 		      MPI_BYTE,
 		      root,
-		      MPI_COMM_WORLD);
+		      communicator_world);
   assert(ierr==0);
 }
 
diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index f5bbdbda..00b0ca11 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -1,4 +1,3 @@
-
     /*************************************************************************************
 
     Grid physics library, www.github.com/paboyle/Grid 
@@ -33,26 +32,197 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 namespace Grid {
 
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Info that is setup once and indept of cartesian layout
+///////////////////////////////////////////////////////////////////////////////////////////////////
+int CartesianCommunicator::ShmSetup = 0;
 
-// Global used by Init and nowhere else. How to hide?
-int Rank(void) {
-  int pe;
-  MPI_Comm_rank(MPI_COMM_WORLD,&pe);
-  return pe;
+MPI_Comm CartesianCommunicator::communicator_world;
+MPI_Comm CartesianCommunicator::ShmComm;
+MPI_Win  CartesianCommunicator::ShmWindow;
+
+std::vector<int> CartesianCommunicator::GroupRanks;  
+std::vector<int> CartesianCommunicator::MyGroup;
+std::vector<void *> CartesianCommunicator::ShmCommBufs;
+
+void *CartesianCommunicator::ShmBufferSelf(void)
+{
+  return ShmCommBufs[ShmRank];
 }
-  // Should error check all MPI calls.
+void *CartesianCommunicator::ShmBuffer(int rank)
+{
+  int gpeer = GroupRanks[rank];
+  if (gpeer == MPI_UNDEFINED){
+    return NULL;
+  } else { 
+    return ShmCommBufs[gpeer];
+  }
+}
+void *CartesianCommunicator::ShmBufferTranslate(int rank,void * local_p)
+{
+  int gpeer = GroupRanks[rank];
+  if (gpeer == MPI_UNDEFINED){
+    return NULL;
+  } else { 
+    uint64_t offset = (uint64_t)local_p - (uint64_t)ShmCommBufs[ShmRank];
+    uint64_t remote = (uint64_t)ShmCommBufs[gpeer]+offset;
+    return (void *) remote;
+  }
+}
+
 void CartesianCommunicator::Init(int *argc, char ***argv) {
   int flag;
   MPI_Initialized(&flag); // needed to coexist with other libs apparently
   if ( !flag ) {
     MPI_Init(argc,argv);
   }
-}
-  ////////////////////////////////////////////////////////////////////////////////////////////////////////////
-  // Want to implement some magic ... Group sub-cubes into those on same node
-  //
-  ////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
+  MPI_Comm_dup (MPI_COMM_WORLD,&communicator_world);
+  MPI_Comm_rank(communicator_world,&WorldRank);
+  MPI_Comm_size(communicator_world,&WorldSize);
+
+  /////////////////////////////////////////////////////////////////////
+  // Split into groups that can share memory
+  /////////////////////////////////////////////////////////////////////
+  MPI_Comm_split_type(communicator_world, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL,&ShmComm);
+  MPI_Comm_rank(ShmComm     ,&ShmRank);
+  MPI_Comm_size(ShmComm     ,&ShmSize);
+  GroupSize = WorldSize/ShmSize;
+
+  /////////////////////////////////////////////////////////////////////
+  // find world ranks in our SHM group (i.e. which ranks are on our node)
+  /////////////////////////////////////////////////////////////////////
+  MPI_Group WorldGroup, ShmGroup;
+  MPI_Comm_group (communicator_world, &WorldGroup); 
+  MPI_Comm_group (ShmComm, &ShmGroup);
+  
+  std::vector<int> world_ranks(WorldSize); 
+  GroupRanks.resize(WorldSize); 
+  MyGroup.resize(ShmSize);
+  for(int r=0;r<WorldSize;r++) world_ranks[r]=r;
+  
+  MPI_Group_translate_ranks (WorldGroup,WorldSize,&world_ranks[0],ShmGroup, &GroupRanks[0]); 
+
+  ///////////////////////////////////////////////////////////////////
+  // Identify who is in my group and noninate the leader
+    ///////////////////////////////////////////////////////////////////
+  int g=0;
+  for(int rank=0;rank<WorldSize;rank++){
+    if(GroupRanks[rank]!=MPI_UNDEFINED){
+      assert(g<ShmSize);
+      MyGroup[g++] = rank;
+    }
+  }
+  
+  std::sort(MyGroup.begin(),MyGroup.end(),std::less<int>());
+  int myleader = MyGroup[0];
+  
+  std::vector<int> leaders_1hot(WorldSize,0);
+  std::vector<int> leaders_group(GroupSize,0);
+  leaders_1hot [ myleader ] = 1;
+    
+  ///////////////////////////////////////////////////////////////////
+  // global sum leaders over comm world
+  ///////////////////////////////////////////////////////////////////
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,&leaders_1hot[0],WorldSize,MPI_INT,MPI_SUM,communicator_world);
+  assert(ierr==0);
+  
+  ///////////////////////////////////////////////////////////////////
+  // find the group leaders world rank
+  ///////////////////////////////////////////////////////////////////
+  int group=0;
+  for(int l=0;l<WorldSize;l++){
+    if(leaders_1hot[l]){
+      leaders_group[group++] = l;
+    }
+  }
+  
+  ///////////////////////////////////////////////////////////////////
+  // Identify the rank of the group in which I (and my leader) live
+  ///////////////////////////////////////////////////////////////////
+  GroupRank=-1;
+  for(int g=0;g<GroupSize;g++){
+    if (myleader == leaders_group[g]){
+      GroupRank=g;
+    }
+  }
+  assert(GroupRank!=-1);
+  
+  //////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // allocate the shared window for our group
+  //////////////////////////////////////////////////////////////////////////////////////////////////////////
+  
+  ShmCommBuf = 0;
+  ierr = MPI_Win_allocate_shared(MAX_MPI_SHM_BYTES,1,MPI_INFO_NULL,ShmComm,&ShmCommBuf,&ShmWindow);
+  assert(ierr==0);
+  // KNL hack -- force to numa-domain 1 in flat
+#if 0
+  for(uint64_t page=0;page<MAX_MPI_SHM_BYTES;page+=4096){
+    void *pages = (void *) ( page + ShmCommBuf );
+    int status;
+    int flags=MPOL_MF_MOVE_ALL;
+    int nodes=1; // numa domain == MCDRAM
+    unsigned long count=1;
+    ierr= move_pages(0,count, &pages,&nodes,&status,flags);
+    if (ierr && (page==0)) perror("numa relocate command failed");
+  }
+#endif
+  MPI_Win_lock_all (MPI_MODE_NOCHECK, ShmWindow);
+  
+  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // Plan: allocate a fixed SHM region. Scratch that is just used via some scheme during stencil comms, with no allocate free.
+  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+  ShmCommBufs.resize(ShmSize);
+  for(int r=0;r<ShmSize;r++){
+    MPI_Aint sz;
+    int dsp_unit;
+    MPI_Win_shared_query (ShmWindow, r, &sz, &dsp_unit, &ShmCommBufs[r]);
+  }
+
+  //////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // Verbose for now
+  //////////////////////////////////////////////////////////////////////////////////////////////////////////
+  if (WorldRank == 0){
+    std::cout<<GridLogMessage<< "Grid MPI-3 configuration: detected ";
+    std::cout<< WorldSize << " Ranks " ;
+    std::cout<< GroupSize << " Nodes " ;
+    std::cout<<  ShmSize  << " with ranks-per-node "<<std::endl;
+    
+    std::cout<<GridLogMessage     <<"Grid MPI-3 configuration: allocated shared memory region of size ";
+    std::cout<<std::hex << MAX_MPI_SHM_BYTES <<" ShmCommBuf address = "<<ShmCommBuf << std::dec<<std::endl;
+
+    for(int g=0;g<GroupSize;g++){
+      std::cout<<GridLogMessage<<" Node "<<g<<" led by MPI rank "<<leaders_group[g]<<std::endl;
+    }
+
+    std::cout<<GridLogMessage<<" Boss Node Shm Pointers are {";
+    for(int g=0;g<ShmSize;g++){
+      std::cout<<std::hex<<ShmCommBufs[g]<<std::dec;
+      if(g!=ShmSize-1) std::cout<<",";
+      else std::cout<<"}"<<std::endl;
+    }
+
+  }
+  
+  for(int g=0;g<GroupSize;g++){
+    if ( (ShmRank == 0) && (GroupRank==g) )  std::cout<<GridLogMessage<<"["<<g<<"] Node Group "<<g<<" is ranks {";
+    for(int r=0;r<ShmSize;r++){
+      if ( (ShmRank == 0) && (GroupRank==g) ) {
+	std::cout<<MyGroup[r];
+	if(r<ShmSize-1) std::cout<<",";
+	else std::cout<<"}"<<std::endl;
+      }
+      MPI_Barrier(communicator_world);
+    }
+  }
+  
+  assert(ShmSetup==0);  ShmSetup=1;
+}
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Want to implement some magic ... Group sub-cubes into those on same node
+////////////////////////////////////////////////////////////////////////////////////////////////////////////
 void CartesianCommunicator::ShiftedRanks(int dim,int shift,int &source,int &dest)
 {
   std::vector<int> coor = _processor_coor;
@@ -80,139 +250,13 @@ void  CartesianCommunicator::ProcessorCoorFromRank(int rank, std::vector<int> &c
   rank = LexicographicToWorldRank[rank];
 }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// Info that is setup once and indept of cartesian layout
-///////////////////////////////////////////////////////////////////////////////////////////////////
-int CartesianCommunicator::ShmSetup = 0;
-int CartesianCommunicator::ShmRank;
-int CartesianCommunicator::ShmSize;
-int CartesianCommunicator::GroupRank;
-int CartesianCommunicator::GroupSize;
-MPI_Comm CartesianCommunicator::ShmComm;
-MPI_Win  CartesianCommunicator::ShmWindow;
-std::vector<int> CartesianCommunicator::GroupRanks; 
-std::vector<int> CartesianCommunicator::MyGroup;
-
 CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
 { 
-
-  _ndimension = processors.size();
-
-  WorldDims = processors;
-
-  communicator = MPI_COMM_WORLD;
-  MPI_Comm_rank(communicator,&WorldRank);
-  MPI_Comm_size(communicator,&WorldSize);
-
-  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-  // Plan: allocate a fixed SHM region. Scratch that is just used via some scheme during stencil comms, with no allocate free.
-  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-  // Does every grid need one, or could we share across all grids via a singleton/guard?
   int ierr;
 
-  if ( !ShmSetup ) { 
+  communicator=communicator_world;
 
-    MPI_Comm_split_type(communicator, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL,&ShmComm);
-    MPI_Comm_rank(ShmComm     ,&ShmRank);
-    MPI_Comm_size(ShmComm     ,&ShmSize);
-    GroupSize = WorldSize/ShmSize;
-
-    /////////////////////////////////////////////////////////////////////
-    // find world ranks in our SHM group (i.e. which ranks are on our node)
-    /////////////////////////////////////////////////////////////////////
-    MPI_Group WorldGroup, ShmGroup;
-    MPI_Comm_group (communicator, &WorldGroup); 
-    MPI_Comm_group (ShmComm, &ShmGroup);
-
-    std::vector<int> world_ranks(WorldSize); 
-    GroupRanks.resize(WorldSize); 
-    MyGroup.resize(ShmSize);
-    for(int r=0;r<WorldSize;r++) world_ranks[r]=r;
-  
-    MPI_Group_translate_ranks (WorldGroup,WorldSize,&world_ranks[0],ShmGroup, &GroupRanks[0]); 
-
-    ///////////////////////////////////////////////////////////////////
-    // Identify who is in my group and noninate the leader
-    ///////////////////////////////////////////////////////////////////
-    int g=0;
-    for(int rank=0;rank<WorldSize;rank++){
-      if(GroupRanks[rank]!=MPI_UNDEFINED){
-	assert(g<ShmSize);
-	MyGroup[g++] = rank;
-      }
-    }
-  
-    std::sort(MyGroup.begin(),MyGroup.end(),std::greater<int>());
-    int myleader = MyGroup[0];
-    
-    std::vector<int> leaders_1hot(WorldSize,0);
-    std::vector<int> leaders_group(GroupSize,0);
-    leaders_1hot [ myleader ] = 1;
-    
-    ///////////////////////////////////////////////////////////////////
-    // global sum leaders over comm world
-    ///////////////////////////////////////////////////////////////////
-    ierr=MPI_Allreduce(MPI_IN_PLACE,&leaders_1hot[0],WorldSize,MPI_INT,MPI_SUM,communicator);
-    assert(ierr==0);
-  
-    ///////////////////////////////////////////////////////////////////
-    // find the group leaders world rank
-    ///////////////////////////////////////////////////////////////////
-    int group=0;
-    for(int l=0;l<WorldSize;l++){
-      if(leaders_1hot[l]){
-	leaders_group[group++] = l;
-      }
-    }
-  
-    ///////////////////////////////////////////////////////////////////
-    // Identify the rank of the group in which I (and my leader) live
-    ///////////////////////////////////////////////////////////////////
-    GroupRank=-1;
-    for(int g=0;g<GroupSize;g++){
-      if (myleader == leaders_group[g]){
-	GroupRank=g;
-      }
-    }
-    assert(GroupRank!=-1);
-    
-    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // allocate the shared window for our group
-    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    
-    ShmCommBuf = 0;
-    ierr = MPI_Win_allocate_shared(MAX_MPI_SHM_BYTES,1,MPI_INFO_NULL,ShmComm,&ShmCommBuf,&ShmWindow);
-    assert(ierr==0);
-    for(uint64_t page=0;page<MAX_MPI_SHM_BYTES;page+=4096){
-      void *pages = (void *) ( page + ShmCommBuf );
-      int status;
-      int flags=MPOL_MF_MOVE_ALL;
-      int nodes=1; // numa domain == MCDRAM
-      unsigned long count=1;
-      ierr= move_pages(0,count, &pages,&nodes,&status,flags);
-      if (ierr && (page==0)) perror("numa relocate command failed");
-    }
-    MPI_Win_lock_all (MPI_MODE_NOCHECK, ShmWindow);
-
-    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Verbose for now
-    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    std::cout<<GridLogMessage<< "MPI-3 configuration: Ranks per node "<< ShmSize ;
-    std::cout<< " Nodes "<< GroupSize;
-    std::cout<< " Ranks "<< WorldSize;
-    std::cout<< " Shm CommBuf address"<< std::hex <<ShmCommBuf << std::dec<<std::endl;
-
-    // Done
-    ShmSetup=1;
-
-  }
-
-  ShmCommBufs.resize(ShmSize);
-  for(int r=0;r<ShmSize;r++){
-    MPI_Aint sz;
-    int dsp_unit;
-    MPI_Win_shared_query (ShmWindow, r, &sz, &dsp_unit, &ShmCommBufs[r]);
-  }
+  _ndimension = processors.size();
   
   ////////////////////////////////////////////////////////////////
   // Assert power of two shm_size.
@@ -232,6 +276,8 @@ CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
   ////////////////////////////////////////////////////////////////
   int dim = 0;
   
+  std::vector<int> WorldDims = processors;
+
   ShmDims.resize(_ndimension,1);
   GroupDims.resize(_ndimension);
     
@@ -346,21 +392,6 @@ void CartesianCommunicator::SendRecvPacket(void *xmit,
   }
 }
 
-
-void *CartesianCommunicator::ShmBufferSelf(void)
-{
-  return ShmCommBufs[ShmRank];
-}
-void *CartesianCommunicator::ShmBuffer(int rank)
-{
-  int gpeer = GroupRanks[rank];
-  if (gpeer == MPI_UNDEFINED){
-    return NULL;
-  } else { 
-    return ShmCommBufs[gpeer];
-  }
-}
-
 // Basic Halo comms primitive
 void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
 						void *xmit,
@@ -369,6 +400,7 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 						int from,
 						int bytes)
 {
+#if 1
   MPI_Request xrq;
   MPI_Request rrq;
   
@@ -387,12 +419,11 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 
   sequence++;
   
-  char *to_ptr   = (char *)ShmCommBufs[gdest];
   char *from_ptr = (char *)ShmCommBufs[ShmRank];
 
   int small = (bytes<MAX_MPI_SHM_BYTES);
 
-  typedef vRealD T;
+  typedef uint64_t T;
   int words = bytes/sizeof(T);
 
   assert(((size_t)bytes &(sizeof(T)-1))==0);
@@ -400,13 +431,18 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 
   if ( small && (gdest !=MPI_UNDEFINED) ) {
 
+    char *to_ptr   = (char *)ShmCommBufs[gdest];
+
     assert(gme != gdest);
 
     T *ip = (T *)xmit;
     T *op = (T *)to_ptr;
 PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
-      vstream(op[w],ip[w]);
+      op[w]=ip[w];
+      if ( w == 0 ) { 
+	//	std::cout << " xmit "<< ShmRank <<" -> "<< gdest<<" " <<std::hex<<op[w]<<std::dec<<std::endl;
+      }
     }
 
     bcopy(&_processor,&to_ptr[bytes],sizeof(_processor));
@@ -426,7 +462,10 @@ PARALLEL_FOR_LOOP
     T *op = (T *)recv;
 PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
-      vstream(op[w],ip[w]);
+      op[w]=ip[w];
+      if ( w == 0 ) { 
+	//	std::cout << " recv "<< ShmRank <<" <- "<< gfrom<<" " <<std::hex<<op[w]<<std::dec<<std::endl;
+      }
     }
     bcopy(&from_ptr[bytes]  ,&tag  ,sizeof(tag));
     bcopy(&from_ptr[bytes+4],&check,sizeof(check));
@@ -441,6 +480,19 @@ PARALLEL_FOR_LOOP
   MPI_Win_sync (ShmWindow);   
   MPI_Barrier  (ShmComm);
   MPI_Win_sync (ShmWindow);   
+#else
+  MPI_Request xrq;
+  MPI_Request rrq;
+  int rank = _processor;
+  int ierr;
+  ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
+  ierr|=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
+  
+  assert(ierr==0);
+
+  list.push_back(xrq);
+  list.push_back(rrq);
+#endif
 }
 
 void CartesianCommunicator::StencilSendToRecvFromBegin(std::vector<CommsRequest_t> &list,
@@ -476,19 +528,29 @@ void CartesianCommunicator::StencilSendToRecvFromBegin(std::vector<CommsRequest_
     list.push_back(rrq);
   }
 
+
+  StencilBarrier();
+
+}
+
+
+void CartesianCommunicator::StencilSendToRecvFromComplete(std::vector<CommsRequest_t> &list)
+{
+  SendToRecvFromComplete(list);
+}
+
+void CartesianCommunicator::StencilBarrier(void)
+{
   MPI_Win_sync (ShmWindow);   
   MPI_Barrier  (ShmComm);
   MPI_Win_sync (ShmWindow);   
-  
 }
 
-
 void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
 {
   int nreq=list.size();
   std::vector<MPI_Status> status(nreq);
   int ierr = MPI_Waitall(nreq,&list[0],&status[0]);
-
   assert(ierr==0);
 }
 
@@ -514,7 +576,7 @@ void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes)
 		      bytes,
 		      MPI_BYTE,
 		      root,
-		      MPI_COMM_WORLD);
+		      communicator_world);
   assert(ierr==0);
 }
 
diff --git a/lib/communicator/Communicator_none.cc b/lib/communicator/Communicator_none.cc
index 80b8fb90..d32fe4fa 100644
--- a/lib/communicator/Communicator_none.cc
+++ b/lib/communicator/Communicator_none.cc
@@ -28,18 +28,29 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #include "Grid.h"
 namespace Grid {
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Info that is setup once and indept of cartesian layout
+///////////////////////////////////////////////////////////////////////////////////////////////////
+int CartesianCommunicator::ShmRank;
+int CartesianCommunicator::ShmSize;
+int CartesianCommunicator::GroupRank;
+int CartesianCommunicator::GroupSize;
+int CartesianCommunicator::WorldRank;
+int CartesianCommunicator::WorldSize;
+int CartesianCommunicator::Slave;
+void *              CartesianCommunicator::ShmCommBuf;
+commVector<uint8_t> CartesianCommunicator::ShmBufStorageVector;
+
 void CartesianCommunicator::Init(int *argc, char *** arv)
 {
-}
-
-int Rank(void ){ return 0; };
-void *CartesianCommunicator::ShmBufferSelf(void)
-{
-  return NULL;
-}
-void *CartesianCommunicator::ShmBuffer(int rank)
-{
-  return NULL;
+  WorldRank = 0;
+  WorldSize = 1;
+  ShmRank=0;
+  ShmSize=1;
+  GroupRank=_WorldRank;
+  GroupSize=_WorldSize;
+  Slave    =0;
+  ShmInitGeneric();
 }
 
 CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
@@ -97,30 +108,16 @@ void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &
   assert(0);
 }
 
-void CartesianCommunicator::Barrier(void)
-{
-}
-
-void CartesianCommunicator::Broadcast(int root,void* data, int bytes)
-{
-}
-void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes)
-{
-}
-
-
+void CartesianCommunicator::Barrier(void){}
+void CartesianCommunicator::Broadcast(int root,void* data, int bytes) {}
+void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes) { }
+int  CartesianCommunicator::RankFromProcessorCoor(std::vector<int> &coor) {  return 0;}
+void CartesianCommunicator::ProcessorCoorFromRank(int rank, std::vector<int> &coor){  assert(0);}
 void CartesianCommunicator::ShiftedRanks(int dim,int shift,int &source,int &dest)
 {
   source =0;
   dest=0;
 }
-int CartesianCommunicator::RankFromProcessorCoor(std::vector<int> &coor)
-{
-  return 0;
-}
-void  CartesianCommunicator::ProcessorCoorFromRank(int rank, std::vector<int> &coor)
-{
-}
 
 
 }
diff --git a/lib/communicator/Communicator_shmem.cc b/lib/communicator/Communicator_shmem.cc
index 4af719b0..544b37c7 100644
--- a/lib/communicator/Communicator_shmem.cc
+++ b/lib/communicator/Communicator_shmem.cc
@@ -39,25 +39,19 @@ namespace Grid {
     BACKTRACEFILE();		   \
   }\
 }
-int Rank(void) {
-  return shmem_my_pe();
-}
-typedef struct HandShake_t { 
-  uint64_t seq_local;
-  uint64_t seq_remote;
-} HandShake;
 
-static Vector< HandShake > XConnections;
-static Vector< HandShake > RConnections;
 
-void *CartesianCommunicator::ShmBufferSelf(void)
-{
-  return NULL;
-}
-void *CartesianCommunicator::ShmBuffer(int rank)
-{
-  return NULL;
-}
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Info that is setup once and indept of cartesian layout
+///////////////////////////////////////////////////////////////////////////////////////////////////
+int CartesianCommunicator::ShmRank;
+int CartesianCommunicator::ShmSize;
+int CartesianCommunicator::GroupRank;
+int CartesianCommunicator::GroupSize;
+int CartesianCommunicator::WorldRank;
+int CartesianCommunicator::WorldSize;
+int CartesianCommunicator::Slave;
+
 void CartesianCommunicator::Init(int *argc, char ***argv) {
   shmem_init();
   XConnections.resize(shmem_n_pes());
@@ -69,7 +63,36 @@ void CartesianCommunicator::Init(int *argc, char ***argv) {
     RConnections[pe].seq_remote= 0;
   }
   shmem_barrier_all();
+  ShmInitGeneric();
 }
+
+
+// Should error check all MPI calls.
+void CartesianCommunicator::Init(int *argc, char ***argv) {
+  int flag;
+  MPI_Initialized(&flag); // needed to coexist with other libs apparently
+  if ( !flag ) {
+    MPI_Init(argc,argv);
+    MPI_Comm_dup (MPI_COMM_WORLD,&communicator_world);
+    MPI_Comm_rank(communicator_world,&_WorldRank);
+    MPI_Comm_size(communicator_world,&_WorldSize);
+    _ShmRank=0;
+    _ShmSize=1;
+    _GroupRank=_WorldRank;
+    _GroupSize=_WorldSize;
+    _Slave    =0;
+  }
+}
+
+
+typedef struct HandShake_t { 
+  uint64_t seq_local;
+  uint64_t seq_remote;
+} HandShake;
+
+static Vector< HandShake > XConnections;
+static Vector< HandShake > RConnections;
+
 CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
 {
   _ndimension = processors.size();

From 392e0645137a988dea02f74e27ba2a8ad8182328 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Mon, 24 Oct 2016 19:24:21 +0100
Subject: [PATCH 239/295] fast local peek-poke

---
 lib/lattice/Lattice_peekpoke.h | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/lib/lattice/Lattice_peekpoke.h b/lib/lattice/Lattice_peekpoke.h
index 9bece943..19d349c4 100644
--- a/lib/lattice/Lattice_peekpoke.h
+++ b/lib/lattice/Lattice_peekpoke.h
@@ -154,7 +154,7 @@ PARALLEL_FOR_LOOP
     template<class vobj,class sobj>
     void peekLocalSite(sobj &s,const Lattice<vobj> &l,std::vector<int> &site){
         
-      GridBase *grid=l._grid;
+      GridBase *grid = l._grid;
 
       typedef typename vobj::scalar_type scalar_type;
       typedef typename vobj::vector_type vector_type;
@@ -164,16 +164,18 @@ PARALLEL_FOR_LOOP
       assert( l.checkerboard== l._grid->CheckerBoard(site));
       assert( sizeof(sobj)*Nsimd == sizeof(vobj));
 
+      static const int words=sizeof(vobj)/sizeof(vector_type);
       int odx,idx;
       idx= grid->iIndex(site);
       odx= grid->oIndex(site);
 
-      std::vector<sobj> buf(Nsimd);
-
-      extract(l._odata[odx],buf);
+      scalar_type * vp = (scalar_type *)&l._odata[odx];
+      scalar_type * pt = (scalar_type *)&s;
+      
+      for(int w=0;w<words;w++){
+        pt[w] = vp[idx+w*Nsimd];
+      }
       
-      s = buf[idx];
-
       return;
     };
 
@@ -190,18 +192,17 @@ PARALLEL_FOR_LOOP
       assert( l.checkerboard== l._grid->CheckerBoard(site));
       assert( sizeof(sobj)*Nsimd == sizeof(vobj));
 
+      static const int words=sizeof(vobj)/sizeof(vector_type);
       int odx,idx;
       idx= grid->iIndex(site);
       odx= grid->oIndex(site);
 
-      std::vector<sobj> buf(Nsimd);
-
-      // extract-modify-merge cycle is easiest way and this is not perf critical
-      extract(l._odata[odx],buf);
+      scalar_type * vp = (scalar_type *)&l._odata[odx];
+      scalar_type * pt = (scalar_type *)&s;
       
-      buf[idx] = s;
-
-      merge(l._odata[odx],buf);
+      for(int w=0;w<words;w++){
+        vp[idx+w*Nsimd] = pt[w];
+      }
 
       return;
     };

From a795b5705e8ab938fcfd244d022bb2a9ce396810 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Mon, 24 Oct 2016 19:25:15 +0100
Subject: [PATCH 240/295] memory optimisation

---
 lib/cartesian/Cartesian_base.h      | 2 +-
 lib/cartesian/Cartesian_full.h      | 2 +-
 lib/cartesian/Cartesian_red_black.h | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/cartesian/Cartesian_base.h b/lib/cartesian/Cartesian_base.h
index 8a24c87b..72b21ee3 100644
--- a/lib/cartesian/Cartesian_base.h
+++ b/lib/cartesian/Cartesian_base.h
@@ -77,7 +77,7 @@ public:
     // GridCartesian / GridRedBlackCartesian
     ////////////////////////////////////////////////////////////////
     virtual int CheckerBoarded(int dim)=0;
-    virtual int CheckerBoard(std::vector<int> site)=0;
+    virtual int CheckerBoard(std::vector<int> &site)=0;
     virtual int CheckerBoardDestination(int source_cb,int shift,int dim)=0;
     virtual int CheckerBoardShift(int source_cb,int dim,int shift,int osite)=0;
     virtual int CheckerBoardShiftForCB(int source_cb,int dim,int shift,int cb)=0;
diff --git a/lib/cartesian/Cartesian_full.h b/lib/cartesian/Cartesian_full.h
index 14ab8b55..b0d20441 100644
--- a/lib/cartesian/Cartesian_full.h
+++ b/lib/cartesian/Cartesian_full.h
@@ -49,7 +49,7 @@ public:
     virtual int CheckerBoarded(int dim){
       return 0;
     }
-    virtual int CheckerBoard(std::vector<int> site){
+    virtual int CheckerBoard(std::vector<int> &site){
         return 0;
     }
     virtual int CheckerBoardDestination(int cb,int shift,int dim){
diff --git a/lib/cartesian/Cartesian_red_black.h b/lib/cartesian/Cartesian_red_black.h
index db0508d5..6a4300d7 100644
--- a/lib/cartesian/Cartesian_red_black.h
+++ b/lib/cartesian/Cartesian_red_black.h
@@ -49,7 +49,7 @@ public:
       if( dim==_checker_dim) return 1;
       else return 0;
     }
-    virtual int CheckerBoard(std::vector<int> site){
+    virtual int CheckerBoard(std::vector<int> &site){
       int linear=0;
       assert(site.size()==_ndimension);
       for(int d=0;d<_ndimension;d++){ 

From 13bf0482e3165514feeccf626d60add2aa91910c Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Mon, 24 Oct 2016 19:25:40 +0100
Subject: [PATCH 241/295] FFT optimisation

---
 lib/FFT.h | 31 +++++++++++++------------------
 1 file changed, 13 insertions(+), 18 deletions(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index 4cda6483..17060dc3 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -200,18 +200,14 @@ namespace Grid {
 					       sign,FFTW_ESTIMATE);
 	}
 
-	double add,mul,fma;
-	FFTW<scalar>::fftw_flops(p,&add,&mul,&fma);
-	flops_call = add+mul+2.0*fma;
-
-	GridStopWatch timer;
+    std::vector<int> lcoor(Nd), gcoor(Nd);
 
 	// Barrel shift and collect global pencil
 	for(int p=0;p<processors[dim];p++) { 
 
 	  for(int idx=0;idx<sgrid->lSites();idx++) { 
 
-	    std::vector<int> lcoor(Nd);
+	    
     	    sgrid->LocalIndexToLocalCoor(idx,lcoor);
 
 	    sobj s;
@@ -228,14 +224,11 @@ namespace Grid {
 	
 	// Loop over orthog coords
 	int NN=pencil_g.lSites();
-
-	GridStopWatch Timer;
-	Timer.Start();
+	GridStopWatch timer;
+	timer.Start();
 
 PARALLEL_FOR_LOOP
-	for(int idx=0;idx<NN;idx++) { 
-
-	  std::vector<int> lcoor(Nd);
+	for(int idx=0;idx<NN;idx++) {
 	  pencil_g.LocalIndexToLocalCoor(idx,lcoor);
 
 	  if ( lcoor[dim] == 0 ) {  // restricts loop to plane at lcoor[dim]==0
@@ -245,15 +238,17 @@ PARALLEL_FOR_LOOP
 	  }
 	}
 
-        Timer.Stop();
-	usec += Timer.useconds();
-	flops+= flops_call*NN;
+        timer.Stop();
 
+          double add,mul,fma;
+          FFTW<scalar>::fftw_flops(p,&add,&mul,&fma);
+          flops_call = add+mul+2.0*fma;
+          usec += timer.useconds();
+          flops+= flops_call*NN;
         int pc = processor_coor[dim];
-        for(int idx=0;idx<sgrid->lSites();idx++) { 
-	  std::vector<int> lcoor(Nd);
+        for(int idx=0;idx<sgrid->lSites();idx++) {
 	  sgrid->LocalIndexToLocalCoor(idx,lcoor);
-	  std::vector<int> gcoor = lcoor;
+	  gcoor = lcoor;
 	  // extract the result
 	  sobj s;
 	  gcoor[dim] = lcoor[dim]+L*pc;

From b94478fa51c46039bfc6beda741790b65dd2c46e Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Mon, 24 Oct 2016 23:45:31 +0100
Subject: [PATCH 242/295] mpi, mpi3, shmem all compile. mpi, mpi3 pass single
 node multi-rank

---
 lib/AlignedAllocator.h                 |  2 +-
 lib/Stencil.h                          | 31 ++++++-------
 lib/communicator/Communicator_base.cc  | 12 ++---
 lib/communicator/Communicator_mpi3.cc  | 24 +++-------
 lib/communicator/Communicator_none.cc  |  4 +-
 lib/communicator/Communicator_shmem.cc | 61 +++++++-------------------
 6 files changed, 49 insertions(+), 85 deletions(-)

diff --git a/lib/AlignedAllocator.h b/lib/AlignedAllocator.h
index 44929ca8..fa001adc 100644
--- a/lib/AlignedAllocator.h
+++ b/lib/AlignedAllocator.h
@@ -141,7 +141,7 @@ public:
 
     if ( bcast != ptr ) {
       std::printf("inconsistent alloc pe %d %lx %lx \n",shmem_my_pe(),bcast,ptr);std::fflush(stdout);
-      BACKTRACEFILE();
+      //      BACKTRACEFILE();
       exit(0);
     }
     assert( bcast == (void *) ptr);
diff --git a/lib/Stencil.h b/lib/Stencil.h
index f22acb6f..221785b4 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -32,8 +32,6 @@
 
  #include <Grid/stencil/Lebesgue.h>   // subdir aggregate
 
-const int ShmDirectCopy = 1;
-
  //////////////////////////////////////////////////////////////////////////////////////////
  // Must not lose sight that goal is to be able to construct really efficient
  // gather to a point stencil code. CSHIFT is not the best way, so need
@@ -170,13 +168,13 @@ class CartesianStencil { // Stencil runs along coordinate axes only; NO diagonal
     reqs.resize(Packets.size());
     commtime-=usecond();
     for(int i=0;i<Packets.size();i++){
-      if( ShmDirectCopy ) {
 	_grid->StencilSendToRecvFromBegin(reqs[i],
 					  Packets[i].send_buf,
 					  Packets[i].to_rank,
 					  Packets[i].recv_buf,
 					  Packets[i].from_rank,
 					  Packets[i].bytes);
+	/*
       }else{
 	_grid->SendToRecvFromBegin(reqs[i],
 				   Packets[i].send_buf,
@@ -185,17 +183,19 @@ class CartesianStencil { // Stencil runs along coordinate axes only; NO diagonal
 				   Packets[i].from_rank,
 				   Packets[i].bytes);
       }
+	*/
     }
     commtime+=usecond();
   }
   void CommunicateComplete(std::vector<std::vector<CommsRequest_t> > &reqs)
   {
     commtime-=usecond();
+
     for(int i=0;i<Packets.size();i++){
-      if( ShmDirectCopy ) 
+      //      if( ShmDirectCopy ) 
 	_grid->StencilSendToRecvFromComplete(reqs[i]);
-      else 
-	_grid->SendToRecvFromComplete(reqs[i]);
+	//      else 
+	//	_grid->SendToRecvFromComplete(reqs[i]);
     }
     commtime+=usecond();
   }
@@ -253,8 +253,6 @@ PARALLEL_FOR_LOOP
   // Flat vector, change layout for cache friendly.
   Vector<StencilEntry>  _entries;
   
-  inline StencilEntry * GetEntry(int &ptype,int point,int osite) { ptype = _permute_type[point]; return & _entries[point+_npoints*osite]; }
-  
   void PrecomputeByteOffsets(void){
     for(int i=0;i<_entries.size();i++){
       if( _entries[i]._is_local ) {
@@ -265,9 +263,7 @@ PARALLEL_FOR_LOOP
     }
   };
 
-  inline uint64_t Touch(int ent) {
-    //	 _mm_prefetch((char *)&_entries[ent],_MM_HINT_T0);
-  }
+  inline StencilEntry * GetEntry(int &ptype,int point,int osite) { ptype = _permute_type[point]; return & _entries[point+_npoints*osite]; }
   inline uint64_t GetInfo(int &ptype,int &local,int &perm,int point,int ent,uint64_t base) {
     uint64_t cbase = (uint64_t)&u_recv_buf_p[0];
     local = _entries[ent]._is_local;
@@ -685,7 +681,9 @@ PARALLEL_FOR_LOOP
     _grid->StencilBarrier();
     HaloGather(source,compress);
     this->CommunicateBegin(reqs);
+    _grid->StencilBarrier();
     this->CommunicateComplete(reqs);
+    _grid->StencilBarrier();
     CommsMerge(); // spins
   }
   
@@ -823,11 +821,13 @@ PARALLEL_FOR_LOOP
 
 
 	cobj *send_buf = (cobj *)_grid->ShmBufferTranslate(xmit_to_rank,u_recv_buf_p);
-	if ( (ShmDirectCopy==0)||send_buf==NULL ) { 
-	  cobj *send_buf = u_send_buf_p;
+	if ( (send_buf==NULL) ) { 
+	  send_buf = u_send_buf_p;
 	}
-	
+	//	std::cout << " send_bufs  "<<std::hex<< send_buf <<" ubp "<<u_send_buf_p <<std::dec<<std::endl;
 	t_data-=usecond();
+	assert(u_send_buf_p!=NULL);
+	assert(send_buf!=NULL);
 	Gather_plane_simple_table         (face_table[face_idx],rhs,send_buf,compress,u_comm_offset,so);  face_idx++;
 	t_data+=usecond();
 	
@@ -931,7 +931,8 @@ PARALLEL_FOR_LOOP
 	    _grid->ShiftedRanks(dimension,nbr_proc,xmit_to_rank,recv_from_rank); 
  
 	    scalar_object *shm = (scalar_object *) _grid->ShmBufferTranslate(recv_from_rank,sp);
-	    if ((ShmDirectCopy==0)||(shm==NULL)) { 
+	    //	    if ((ShmDirectCopy==0)||(shm==NULL)) { 
+	    if (shm==NULL) { 
 	      shm = rp;
 	    } 
 	    
diff --git a/lib/communicator/Communicator_base.cc b/lib/communicator/Communicator_base.cc
index 1272b6a2..91e9cf9b 100644
--- a/lib/communicator/Communicator_base.cc
+++ b/lib/communicator/Communicator_base.cc
@@ -69,7 +69,7 @@ int                      CartesianCommunicator::ProcessorCount(void)    { return
 ////////////////////////////////////////////////////////////////////////////////
 // very VERY rarely (Log, serial RNG) we need world without a grid
 ////////////////////////////////////////////////////////////////////////////////
-int  CartesianCommunicator::RankWorld(void) { return WorldRank; };
+int  CartesianCommunicator::RankWorld(void){ return WorldRank; };
 int CartesianCommunicator::Ranks    (void) { return WorldSize; };
 int CartesianCommunicator::Nodes    (void) { return GroupSize; };
 int CartesianCommunicator::Cores    (void) { return ShmSize;   };
@@ -108,22 +108,22 @@ void CartesianCommunicator::StencilSendToRecvFromComplete(std::vector<CommsReque
 {
   SendToRecvFromComplete(waitall);
 }
-void StencilBarrier(void){};
+void CartesianCommunicator::StencilBarrier(void){};
 
 commVector<uint8_t> CartesianCommunicator::ShmBufStorageVector;
 
 void *CartesianCommunicator::ShmBufferSelf(void) { return ShmCommBuf; }
+
 void *CartesianCommunicator::ShmBuffer(int rank) {
-  if (rank != ShmRank ) return NULL;
-  else                  return ShmCommBuf;
+  return NULL;
 }
 void *CartesianCommunicator::ShmBufferTranslate(int rank,void * local_p) { 
-  if (rank != ShmRank ) return NULL;
-  else                  return local_p;
+  return NULL;
 }
 void CartesianCommunicator::ShmInitGeneric(void){
   ShmBufStorageVector.resize(MAX_MPI_SHM_BYTES);
   ShmCommBuf=(void *)&ShmBufStorageVector[0];
+  std::cout << "allocated persistent buffer"<<std::hex << ShmCommBuf << std::dec<<std::endl;
 }
 
 #endif
diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index 00b0ca11..61e5e06b 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -400,7 +400,9 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 						int from,
 						int bytes)
 {
-#if 1
+#if 0
+  this->StencilBarrier();
+
   MPI_Request xrq;
   MPI_Request rrq;
   
@@ -440,9 +442,6 @@ void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &lis
 PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
       op[w]=ip[w];
-      if ( w == 0 ) { 
-	//	std::cout << " xmit "<< ShmRank <<" -> "<< gdest<<" " <<std::hex<<op[w]<<std::dec<<std::endl;
-      }
     }
 
     bcopy(&_processor,&to_ptr[bytes],sizeof(_processor));
@@ -452,20 +451,15 @@ PARALLEL_FOR_LOOP
     assert(ierr==0);
     list.push_back(xrq);
   }
-  
-  MPI_Win_sync (ShmWindow);   
-  MPI_Barrier  (ShmComm);
-  MPI_Win_sync (ShmWindow);   
 
+  this->StencilBarrier();
+  
   if (small && (gfrom !=MPI_UNDEFINED) ) {
     T *ip = (T *)from_ptr;
     T *op = (T *)recv;
 PARALLEL_FOR_LOOP 
     for(int w=0;w<words;w++) {
       op[w]=ip[w];
-      if ( w == 0 ) { 
-	//	std::cout << " recv "<< ShmRank <<" <- "<< gfrom<<" " <<std::hex<<op[w]<<std::dec<<std::endl;
-      }
     }
     bcopy(&from_ptr[bytes]  ,&tag  ,sizeof(tag));
     bcopy(&from_ptr[bytes+4],&check,sizeof(check));
@@ -477,9 +471,8 @@ PARALLEL_FOR_LOOP
     list.push_back(rrq);
   }
 
-  MPI_Win_sync (ShmWindow);   
-  MPI_Barrier  (ShmComm);
-  MPI_Win_sync (ShmWindow);   
+  this->StencilBarrier();
+
 #else
   MPI_Request xrq;
   MPI_Request rrq;
@@ -528,9 +521,6 @@ void CartesianCommunicator::StencilSendToRecvFromBegin(std::vector<CommsRequest_
     list.push_back(rrq);
   }
 
-
-  StencilBarrier();
-
 }
 
 
diff --git a/lib/communicator/Communicator_none.cc b/lib/communicator/Communicator_none.cc
index d32fe4fa..f4e4c575 100644
--- a/lib/communicator/Communicator_none.cc
+++ b/lib/communicator/Communicator_none.cc
@@ -47,8 +47,8 @@ void CartesianCommunicator::Init(int *argc, char *** arv)
   WorldSize = 1;
   ShmRank=0;
   ShmSize=1;
-  GroupRank=_WorldRank;
-  GroupSize=_WorldSize;
+  GroupRank=WorldRank;
+  GroupSize=WorldSize;
   Slave    =0;
   ShmInitGeneric();
 }
diff --git a/lib/communicator/Communicator_shmem.cc b/lib/communicator/Communicator_shmem.cc
index 544b37c7..d5f3ed76 100644
--- a/lib/communicator/Communicator_shmem.cc
+++ b/lib/communicator/Communicator_shmem.cc
@@ -44,13 +44,16 @@ namespace Grid {
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // Info that is setup once and indept of cartesian layout
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-int CartesianCommunicator::ShmRank;
-int CartesianCommunicator::ShmSize;
-int CartesianCommunicator::GroupRank;
-int CartesianCommunicator::GroupSize;
-int CartesianCommunicator::WorldRank;
-int CartesianCommunicator::WorldSize;
-int CartesianCommunicator::Slave;
+
+typedef struct HandShake_t { 
+  uint64_t seq_local;
+  uint64_t seq_remote;
+} HandShake;
+
+
+static Vector< HandShake > XConnections;
+static Vector< HandShake > RConnections;
+
 
 void CartesianCommunicator::Init(int *argc, char ***argv) {
   shmem_init();
@@ -62,37 +65,17 @@ void CartesianCommunicator::Init(int *argc, char ***argv) {
     RConnections[pe].seq_local = 0;
     RConnections[pe].seq_remote= 0;
   }
+  WorldSize = shmem_n_pes();
+  WorldRank = shmem_my_pe();
+  ShmRank=0;
+  ShmSize=1;
+  GroupRank=WorldRank;
+  GroupSize=WorldSize;
+  Slave    =0;
   shmem_barrier_all();
   ShmInitGeneric();
 }
 
-
-// Should error check all MPI calls.
-void CartesianCommunicator::Init(int *argc, char ***argv) {
-  int flag;
-  MPI_Initialized(&flag); // needed to coexist with other libs apparently
-  if ( !flag ) {
-    MPI_Init(argc,argv);
-    MPI_Comm_dup (MPI_COMM_WORLD,&communicator_world);
-    MPI_Comm_rank(communicator_world,&_WorldRank);
-    MPI_Comm_size(communicator_world,&_WorldSize);
-    _ShmRank=0;
-    _ShmSize=1;
-    _GroupRank=_WorldRank;
-    _GroupSize=_WorldSize;
-    _Slave    =0;
-  }
-}
-
-
-typedef struct HandShake_t { 
-  uint64_t seq_local;
-  uint64_t seq_remote;
-} HandShake;
-
-static Vector< HandShake > XConnections;
-static Vector< HandShake > RConnections;
-
 CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
 {
   _ndimension = processors.size();
@@ -261,12 +244,9 @@ void CartesianCommunicator::SendRecvPacket(void *xmit,
 
   if ( _processor == sender ) {
 
-    printf("Sender SHMEM pt2pt %d -> %d\n",sender,receiver);
     // Check he has posted a receive
     while(SendSeq->seq_remote == SendSeq->seq_local);
 
-    printf("Sender receive %d posted\n",sender,receiver);
-
     // Advance our send count
     seq = ++(SendSeq->seq_local);
     
@@ -275,26 +255,19 @@ void CartesianCommunicator::SendRecvPacket(void *xmit,
     shmem_putmem(recv,xmit,bytes,receiver);
     shmem_fence();
 
-    printf("Sender sent payload %d\n",seq);
     //Notify him we're done
     shmem_putmem((void *)&(RecvSeq->seq_remote),&seq,sizeof(seq),receiver);
     shmem_fence();
-    printf("Sender ringing door bell  %d\n",seq);
   }
   if ( _processor == receiver ) {
 
-    printf("Receiver SHMEM pt2pt %d->%d\n",sender,receiver);
     // Post a receive
     seq = ++(RecvSeq->seq_local);
     shmem_putmem((void *)&(SendSeq->seq_remote),&seq,sizeof(seq),sender);
 
-    printf("Receiver Opening letter box %d\n",seq);
-
-    
     // Now wait until he has advanced our reception counter
     while(RecvSeq->seq_remote != RecvSeq->seq_local);
 
-    printf("Receiver Got the mail %d\n",seq);
   }
 }
 

From 7c3363b91ecbdb06de96842a610f73697a3de873 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Tue, 25 Oct 2016 00:04:17 +0100
Subject: [PATCH 243/295] Compiles all comms targets

---
 lib/communicator/Communicator_none.cc | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/lib/communicator/Communicator_none.cc b/lib/communicator/Communicator_none.cc
index f4e4c575..198c1add 100644
--- a/lib/communicator/Communicator_none.cc
+++ b/lib/communicator/Communicator_none.cc
@@ -31,15 +31,6 @@ namespace Grid {
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // Info that is setup once and indept of cartesian layout
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-int CartesianCommunicator::ShmRank;
-int CartesianCommunicator::ShmSize;
-int CartesianCommunicator::GroupRank;
-int CartesianCommunicator::GroupSize;
-int CartesianCommunicator::WorldRank;
-int CartesianCommunicator::WorldSize;
-int CartesianCommunicator::Slave;
-void *              CartesianCommunicator::ShmCommBuf;
-commVector<uint8_t> CartesianCommunicator::ShmBufStorageVector;
 
 void CartesianCommunicator::Init(int *argc, char *** arv)
 {

From d97a27f4833c6827dc3d344a5186f0a3e4d2d972 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Tue, 25 Oct 2016 01:05:31 +0100
Subject: [PATCH 244/295] Verbose

---
 lib/communicator/Communicator_base.cc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/communicator/Communicator_base.cc b/lib/communicator/Communicator_base.cc
index 91e9cf9b..bccba6be 100644
--- a/lib/communicator/Communicator_base.cc
+++ b/lib/communicator/Communicator_base.cc
@@ -123,7 +123,6 @@ void *CartesianCommunicator::ShmBufferTranslate(int rank,void * local_p) {
 void CartesianCommunicator::ShmInitGeneric(void){
   ShmBufStorageVector.resize(MAX_MPI_SHM_BYTES);
   ShmCommBuf=(void *)&ShmBufStorageVector[0];
-  std::cout << "allocated persistent buffer"<<std::hex << ShmCommBuf << std::dec<<std::endl;
 }
 
 #endif

From 8f8058f8a54e81a26b29a718170d6a8f85d4166e Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Tue, 25 Oct 2016 01:05:52 +0100
Subject: [PATCH 245/295] More random bits on parallel seeding

---
 lib/lattice/Lattice_rng.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/lattice/Lattice_rng.h b/lib/lattice/Lattice_rng.h
index 3254af30..2df5e2d1 100644
--- a/lib/lattice/Lattice_rng.h
+++ b/lib/lattice/Lattice_rng.h
@@ -296,9 +296,10 @@ namespace Grid {
 	_grid->GlobalCoorToRankIndex(rank,o_idx,i_idx,gcoor);
 
 	int l_idx=generator_idx(o_idx,i_idx);
-	
-	std::vector<int> site_seeds(4);
-	for(int i=0;i<4;i++){
+
+	const int num_rand_seed=16;
+	std::vector<int> site_seeds(num_rand_seed);
+	for(int i=0;i<site_seeds.size();i++){
 	  site_seeds[i]= ui(pseeder);
 	}
 

From d7d92af09db80132959ebd9fdb5ca39516520d20 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Tue, 25 Oct 2016 01:45:53 +0100
Subject: [PATCH 246/295] Travis fail fix attempt

---
 lib/Stencil.h                         | 2 +-
 lib/communicator/Communicator_base.cc | 3 ++-
 lib/communicator/Communicator_base.h  | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/Stencil.h b/lib/Stencil.h
index 221785b4..5c3a5ef9 100644
--- a/lib/Stencil.h
+++ b/lib/Stencil.h
@@ -821,7 +821,7 @@ PARALLEL_FOR_LOOP
 
 
 	cobj *send_buf = (cobj *)_grid->ShmBufferTranslate(xmit_to_rank,u_recv_buf_p);
-	if ( (send_buf==NULL) ) { 
+	if ( send_buf==NULL ) { 
 	  send_buf = u_send_buf_p;
 	}
 	//	std::cout << " send_bufs  "<<std::hex<< send_buf <<" ubp "<<u_send_buf_p <<std::dec<<std::endl;
diff --git a/lib/communicator/Communicator_base.cc b/lib/communicator/Communicator_base.cc
index bccba6be..9810987d 100644
--- a/lib/communicator/Communicator_base.cc
+++ b/lib/communicator/Communicator_base.cc
@@ -48,10 +48,11 @@ void *CartesianCommunicator::ShmBufferMalloc(size_t bytes){
   void *ptr = (void *)heap_top;
   heap_top  += bytes;
   heap_bytes+= bytes;
+  std::cout <<"Shm alloc "<<ptr<<std::endl;
   assert(heap_bytes < MAX_MPI_SHM_BYTES);
   return ptr;
 }
-void *CartesianCommunicator::ShmBufferFreeAll(void) { 
+void CartesianCommunicator::ShmBufferFreeAll(void) { 
   heap_top  =(size_t)ShmBufferSelf();
   heap_bytes=0;
 }
diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index 576c749e..9a15d2b0 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -104,7 +104,7 @@ class CartesianCommunicator {
   void *ShmBuffer(int rank);
   void *ShmBufferTranslate(int rank,void * local_p);
   void *ShmBufferMalloc(size_t bytes);
-  void *ShmBufferFreeAll(void) ;
+  void ShmBufferFreeAll(void) ;
   
   ////////////////////////////////////////////////
   // Must call in Grid startup

From 09f66100d3fe9a363d43d8da4e241116b4a8e103 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Tue, 25 Oct 2016 06:01:12 +0100
Subject: [PATCH 247/295] MPI 3 compile on non-linux

---
 lib/communicator/Communicator_mpi3.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index 61e5e06b..14a152ab 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -27,7 +27,6 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     /*  END LEGAL */
 #include "Grid.h"
 #include <mpi.h>
-#include <numaif.h>
 
 namespace Grid {
 
@@ -157,6 +156,7 @@ void CartesianCommunicator::Init(int *argc, char ***argv) {
   assert(ierr==0);
   // KNL hack -- force to numa-domain 1 in flat
 #if 0
+  //#include <numaif.h>
   for(uint64_t page=0;page<MAX_MPI_SHM_BYTES;page+=4096){
     void *pages = (void *) ( page + ShmCommBuf );
     int status;

From 93896ce59ede4bc2d4085f3b97c1b02647a8dc3a Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Tue, 25 Oct 2016 06:12:49 +0100
Subject: [PATCH 248/295] Roll version number

---
 VERSION | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/VERSION b/VERSION
index c12f9497..e7abbba7 100644
--- a/VERSION
+++ b/VERSION
@@ -1,4 +1,6 @@
-Version : 0.5.0
+Version : 0.6.0
 
 - AVX512, AVX2, AVX, SSE good
 - Clang 3.5 and above, ICPC v16 and above, GCC 4.9 and above
+- MPI and MPI3
+- HiRep, Smearing, Generic gauge group

From 33d199a0ad3d1be0d583961911c2766d8f8874e4 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 25 Oct 2016 12:56:40 +0100
Subject: [PATCH 249/295] temporary thread safety in FFT

---
 lib/FFT.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index 17060dc3..9a59ed01 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -227,7 +227,7 @@ namespace Grid {
 	GridStopWatch timer;
 	timer.Start();
 
-PARALLEL_FOR_LOOP
+//PARALLEL_FOR_LOOP
 	for(int idx=0;idx<NN;idx++) {
 	  pencil_g.LocalIndexToLocalCoor(idx,lcoor);
 

From bca861e112a0473f8215e66310489a9216b7870a Mon Sep 17 00:00:00 2001
From: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Tue, 25 Oct 2016 14:21:48 +0100
Subject: [PATCH 250/295] Note:FFT shoud be GridFFT (Not change yet).

Gauge fix with FFt is added (tests/core)
---
 lib/qcd/utils/SUn.h         |  31 ++++
 lib/qcd/utils/WilsonLoops.h |   2 +-
 tests/core/Test_fft.cc      |   3 +
 tests/core/Test_fft_gfix.cc | 301 ++++++++++++++++++++++++++++++++++++
 4 files changed, 336 insertions(+), 1 deletion(-)
 create mode 100644 tests/core/Test_fft_gfix.cc

diff --git a/lib/qcd/utils/SUn.h b/lib/qcd/utils/SUn.h
index 3240098a..914c3bad 100644
--- a/lib/qcd/utils/SUn.h
+++ b/lib/qcd/utils/SUn.h
@@ -674,6 +674,37 @@ class SU {
       out += la;
     }
   }
+/*
+ add GaugeTrans
+*/
+
+template<typename GaugeField,typename GaugeMat>
+  static void GaugeTransform( GaugeField &Umu, GaugeMat &g){
+    GridBase *grid = Umu._grid;
+    conformable(grid,g._grid);
+
+    GaugeMat U(grid);
+    GaugeMat ag(grid); ag = adj(g);
+
+    for(int mu=0;mu<Nd;mu++){
+      U= PeekIndex<LorentzIndex>(Umu,mu);
+      U = g*U*Cshift(ag, mu, 1);
+      PokeIndex<LorentzIndex>(Umu,U,mu);
+    }
+  }
+  template<typename GaugeMat>
+    static void GaugeTransform( std::vector<GaugeMat> &U, GaugeMat &g){
+    GridBase *grid = g._grid;
+    GaugeMat ag(grid); ag = adj(g);
+    for(int mu=0;mu<Nd;mu++){
+      U[mu] = g*U[mu]*Cshift(ag, mu, 1);
+    }
+  }
+  template<typename GaugeField,typename GaugeMat>
+  static void RandomGaugeTransform(GridParallelRNG &pRNG, GaugeField &Umu, GaugeMat &g){
+    LieRandomize(pRNG,g,1.0);
+    GaugeTransform(Umu,g);
+  }
 
   // Projects the algebra components a lattice matrix (of dimension ncol*ncol -1 )
   // inverse operation: FundamentalLieAlgebraMatrix
diff --git a/lib/qcd/utils/WilsonLoops.h b/lib/qcd/utils/WilsonLoops.h
index 10022f50..03d45c07 100644
--- a/lib/qcd/utils/WilsonLoops.h
+++ b/lib/qcd/utils/WilsonLoops.h
@@ -522,4 +522,4 @@ typedef WilsonLoops<PeriodicGimplR> SU3WilsonLoops;
 }
 }
 
-#endif
\ No newline at end of file
+#endif
diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
index 562a53a1..512d6e62 100644
--- a/tests/core/Test_fft.cc
+++ b/tests/core/Test_fft.cc
@@ -441,6 +441,8 @@ int main (int argc, char ** argv)
   }
 
   {
+    /*
+     * 
     typedef GaugeImplTypes<vComplexD, 1> QEDGimplTypesD;
     typedef Photon<QEDGimplTypesD>       QEDGaction;
 
@@ -450,6 +452,7 @@ int main (int argc, char ** argv)
 
     Maxwell.FreePropagator (Source,Prop);
     std::cout << " MaxwellFree propagator\n";
+    */
   }
   Grid_finalize();
 }
diff --git a/tests/core/Test_fft_gfix.cc b/tests/core/Test_fft_gfix.cc
new file mode 100644
index 00000000..1eda9a67
--- /dev/null
+++ b/tests/core/Test_fft_gfix.cc
@@ -0,0 +1,301 @@
+    /*************************************************************************************
+
+    grid` physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./tests/Test_cshift.cc
+
+    Copyright (C) 2015
+
+Author: Azusa Yamaguchi <ayamaguc@staffmail.ed.ac.uk>
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include <Grid/Grid.h>
+#include <Grid/qcd/action/gauge/Photon.h>
+
+using namespace Grid;
+using namespace Grid::QCD;
+
+template <class Gimpl> 
+class FourierAcceleratedGaugeFixer  : public Gimpl {
+  public:
+  INHERIT_GIMPL_TYPES(Gimpl);
+
+  typedef typename Gimpl::GaugeLinkField GaugeMat;
+  typedef typename Gimpl::GaugeField GaugeLorentz;
+
+  static void GaugeLinkToLieAlgebraField(const std::vector<GaugeMat> &U,std::vector<GaugeMat> &A) {
+    for(int mu=0;mu<Nd;mu++){
+//      ImplComplex cmi(0.0,-1.0);
+      ComplexD cmi(0.0,-1.0);
+      A[mu] = Ta(U[mu]) * cmi;
+    }
+  }
+  static void DmuAmu(const std::vector<GaugeMat> &A,GaugeMat &dmuAmu) {
+    dmuAmu=zero;
+    for(int mu=0;mu<Nd;mu++){
+      dmuAmu = dmuAmu + A[mu] - Cshift(A[mu],mu,-1);
+    }
+  }  
+  static void SteepestDescentGaugeFix(GaugeLorentz &Umu,RealD & alpha,int maxiter,RealD Omega_tol, RealD Phi_tol) {
+    GridBase *grid = Umu._grid;
+
+    RealD org_plaq      =WilsonLoops<Gimpl>::avgPlaquette(Umu);
+    RealD org_link_trace=WilsonLoops<Gimpl>::linkTrace(Umu); 
+    RealD old_trace = org_link_trace;
+    RealD trG;
+
+    std::vector<GaugeMat> U(Nd,grid);
+                 GaugeMat dmuAmu(grid);
+
+    for(int i=0;i<maxiter;i++){
+      for(int mu=0;mu<Nd;mu++) U[mu]= PeekIndex<LorentzIndex>(Umu,mu);
+      //trG = SteepestDescentStep(U,alpha,dmuAmu);
+      trG = FourierAccelSteepestDescentStep(U,alpha,dmuAmu);
+      for(int mu=0;mu<Nd;mu++) PokeIndex<LorentzIndex>(Umu,U[mu],mu);
+      // Monitor progress and convergence test 
+      // infrequently to minimise cost overhead
+      if ( i %20 == 0 ) { 
+	RealD plaq      =WilsonLoops<Gimpl>::avgPlaquette(Umu);
+	RealD link_trace=WilsonLoops<Gimpl>::linkTrace(Umu); 
+
+	std::cout << GridLogMessage << " Iteration "<<i<< " plaq= "<<plaq<< " dmuAmu " << norm2(dmuAmu)<< std::endl;
+	
+	RealD Phi  = 1.0 - old_trace / link_trace ;
+	RealD Omega= 1.0 - trG;
+
+
+	std::cout << GridLogMessage << " Iteration "<<i<< " Phi= "<<Phi<< " Omega= " << Omega<< " trG " << trG <<std::endl;
+	if ( (Omega < Omega_tol) && ( ::fabs(Phi) < Phi_tol) ) {
+	  std::cout << GridLogMessage << "Converged ! "<<std::endl;
+	  return;
+	}
+
+	old_trace = link_trace;
+
+      }
+    }
+  };
+  static RealD SteepestDescentStep(std::vector<GaugeMat> &U,RealD & alpha, GaugeMat & dmuAmu) {
+    GridBase *grid = U[0]._grid;
+
+    std::vector<GaugeMat> A(Nd,grid);
+    GaugeMat g(grid);
+
+    GaugeLinkToLieAlgebraField(U,A);
+    ExpiAlphaDmuAmu(A,g,alpha,dmuAmu);
+
+
+    RealD vol = grid->gSites();
+    RealD trG = TensorRemove(sum(trace(g))).real()/vol/Nc;
+
+    SU<Nc>::GaugeTransform(U,g);
+
+    return trG;
+  }
+
+  static RealD FourierAccelSteepestDescentStep(std::vector<GaugeMat> &U,RealD & alpha, GaugeMat & dmuAmu) {
+
+    GridBase *grid = U[0]._grid;
+
+    RealD vol = grid->gSites();
+
+    FFT theFFT((GridCartesian *)grid);
+
+    LatticeComplex  Fp(grid);
+    LatticeComplex  psq(grid); psq=zero;
+    LatticeComplex  pmu(grid); 
+    LatticeComplex   one(grid); one = ComplexD(1.0,0.0);
+
+    GaugeMat g(grid);
+    GaugeMat dmuAmu_p(grid);
+    std::vector<GaugeMat> A(Nd,grid);
+
+    GaugeLinkToLieAlgebraField(U,A);
+
+    DmuAmu(A,dmuAmu);
+
+    theFFT.FFT_all_dim(dmuAmu_p,dmuAmu,FFT::forward);
+
+    //////////////////////////////////
+    // Work out Fp = psq_max/ psq...
+    //////////////////////////////////
+    std::vector<int> latt_size = grid->GlobalDimensions();
+    std::vector<int> coor(grid->_ndimension,0);
+    for(int mu=0;mu<Nd;mu++) {
+
+      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+      LatticeCoordinate(pmu,mu);
+      pmu = TwoPiL * pmu ;
+      psq = psq + 4.0*sin(pmu*0.5)*sin(pmu*0.5); 
+    }
+
+    ComplexD psqMax(16.0);
+    Fp =  psqMax*one/psq;
+
+    static int once;
+    if ( once == 0 ) { 
+      std::cout << " Fp " << Fp <<std::endl;
+      once ++;
+    }
+    pokeSite(TComplex(1.0),Fp,coor);
+
+    dmuAmu_p  = dmuAmu_p * Fp; 
+
+    theFFT.FFT_all_dim(dmuAmu,dmuAmu_p,FFT::backward);
+
+    GaugeMat ciadmam(grid);
+    ComplexD cialpha(0.0,-alpha);
+    ciadmam = dmuAmu*cialpha;
+    SU<Nc>::taExp(ciadmam,g);
+
+    RealD trG = TensorRemove(sum(trace(g))).real()/vol/Nc;
+
+    SU<Nc>::GaugeTransform(U,g);
+
+    return trG;
+  }
+
+  static void ExpiAlphaDmuAmu(const std::vector<GaugeMat> &A,GaugeMat &g,RealD & alpha, GaugeMat &dmuAmu) {
+    GridBase *grid = g._grid;
+    ComplexD cialpha(0.0,-alpha);
+    GaugeMat ciadmam(grid);
+    DmuAmu(A,dmuAmu);
+    ciadmam = dmuAmu*cialpha;
+    SU<Nc>::taExp(ciadmam,g);
+  }  
+/*
+  ////////////////////////////////////////////////////////////////
+  // NB The FT for fields living on links has an extra phase in it
+  // Could add these to the FFT class as a later task since this code
+  // might be reused elsewhere ????
+  ////////////////////////////////////////////////////////////////
+  static void InverseFourierTransformAmu(FFT &theFFT,const std::vector<GaugeMat> &Ap,std::vector<GaugeMat> &Ax) {
+    GridBase * grid = theFFT.Grid();
+    std::vector<int> latt_size = grid->GlobalDimensions();
+
+    ComplexField  pmu(grid);
+    ComplexField  pha(grid);
+    GaugeMat      Apha(grid);
+
+    ComplexD ci(0.0,1.0);
+
+    for(int mu=0;mu<Nd;mu++){
+
+      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+      LatticeCoordinate(pmu,mu);
+      pmu = TwoPiL * pmu ;
+      pha = exp(pmu *  (0.5 *ci)); // e(ipmu/2) since Amu(x+mu/2)
+
+      Apha = Ap[mu] * pha;
+
+      theFFT.FFT_all_dim(Apha,Ax[mu],FFT::backward);
+    }
+  }
+  static void FourierTransformAmu(FFT & theFFT,const std::vector<GaugeMat> &Ax,std::vector<GaugeMat> &Ap) {
+    GridBase * grid = theFFT.Grid();
+    std::vector<int> latt_size = grid->GlobalDimensions();
+
+    ComplexField  pmu(grid);
+    ComplexField  pha(grid);
+    ComplexD ci(0.0,1.0);
+    
+    // Sign convention for FFTW calls:
+    // A(x)= Sum_p e^ipx A(p) / V
+    // A(p)= Sum_p e^-ipx A(x)
+
+    for(int mu=0;mu<Nd;mu++){
+      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+      LatticeCoordinate(pmu,mu);
+      pmu = TwoPiL * pmu ;
+      pha = exp(-pmu *  (0.5 *ci)); // e(+ipmu/2) since Amu(x+mu/2)
+
+      theFFT.FFT_all_dim(Ax[mu],Ap[mu],FFT::backward);
+      Ap[mu] = Ap[mu] * pha;
+    }
+  }
+*/
+};
+
+int main (int argc, char ** argv)
+{
+  std::vector<int> seeds({1,2,3,4});
+
+  Grid_init(&argc,&argv);
+
+  int threads = GridThread::GetThreads();
+
+  std::vector<int> latt_size   = GridDefaultLatt();
+  std::vector<int> simd_layout( { vComplexD::Nsimd(),1,1,1});
+  std::vector<int> mpi_layout  = GridDefaultMpi();
+
+  int vol = 1;
+  for(int d=0;d<latt_size.size();d++){
+    vol = vol * latt_size[d];
+  }
+
+  GridCartesian         GRID(latt_size,simd_layout,mpi_layout);
+  GridSerialRNG          sRNG;  sRNG.SeedFixedIntegers(seeds); // naughty seeding
+  GridParallelRNG          pRNG(&GRID);   pRNG.SeedFixedIntegers(seeds);
+
+  FFT theFFT(&GRID);
+
+  std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
+
+  std::cout<< "*****************************************************************" <<std::endl;
+  std::cout<< "* Testing we can gauge fix steep descent a RGT of Unit gauge    *" <<std::endl;
+  std::cout<< "*****************************************************************" <<std::endl;
+
+  LatticeGaugeFieldD   Umu(&GRID);
+  LatticeGaugeFieldD   Uorg(&GRID);
+  LatticeColourMatrixD   g(&GRID); // Gauge xform
+
+  
+  SU3::ColdConfiguration(pRNG,Umu); // Unit gauge
+  Uorg=Umu;
+
+  SU3::RandomGaugeTransform(pRNG,Umu,g); // Unit gauge
+  RealD plaq=WilsonLoops<PeriodicGimplD>::avgPlaquette(Umu);
+  std::cout << " Initial plaquette "<<plaq << std::endl;
+
+
+
+  RealD alpha=0.1;
+  FourierAcceleratedGaugeFixer<PeriodicGimplD>::SteepestDescentGaugeFix(Umu,alpha,10000,1.0e-10, 1.0e-10);
+
+
+  plaq=WilsonLoops<PeriodicGimplD>::avgPlaquette(Umu);
+  std::cout << " Final plaquette "<<plaq << std::endl;
+
+  Uorg = Uorg - Umu;
+  std::cout << " Norm Difference "<< norm2(Uorg) << std::endl;
+
+
+  //  std::cout<< "*****************************************************************" <<std::endl;
+  //  std::cout<< "* Testing Fourier accelerated fixing                            *" <<std::endl;
+  //  std::cout<< "*****************************************************************" <<std::endl;
+
+  //  std::cout<< "*****************************************************************" <<std::endl;
+  //  std::cout<< "* Testing non-unit configuration                                *" <<std::endl;
+  //  std::cout<< "*****************************************************************" <<std::endl;
+
+
+
+  Grid_finalize();
+}

From 14ddf2c234eda6f62bc8e28bf28d6395a77920d3 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 26 Oct 2016 17:36:26 +0100
Subject: [PATCH 251/295] more FFT optimisations

---
 lib/FFT.h              | 233 +++++++++++++++++++----------------------
 tests/core/Test_fft.cc |  24 +++--
 2 files changed, 121 insertions(+), 136 deletions(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index 9a59ed01..71cf8a3e 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -98,174 +98,157 @@ namespace Grid {
 #define FFTW_BACKWARD (+1)
 #endif
 
-  class FFT { 
+  class FFT {
   private:
-
+    
     GridCartesian *vgrid;
     GridCartesian *sgrid;
-
+    
     int Nd;
     double flops;
     double flops_call;
     uint64_t usec;
-
+    
     std::vector<int> dimensions;
     std::vector<int> processors;
     std::vector<int> processor_coor;
-
+    
   public:
-
+    
     static const int forward=FFTW_FORWARD;
     static const int backward=FFTW_BACKWARD;
-
+    
     double Flops(void) {return flops;}
     double MFlops(void) {return flops/usec;}
-
-    FFT ( GridCartesian * grid ) : 
-      vgrid(grid),
-      Nd(grid->_ndimension),
-      dimensions(grid->_fdimensions),
-      processors(grid->_processors),
-      processor_coor(grid->_processor_coor)
+    
+    FFT ( GridCartesian * grid ) :
+    vgrid(grid),
+    Nd(grid->_ndimension),
+    dimensions(grid->_fdimensions),
+    processors(grid->_processors),
+    processor_coor(grid->_processor_coor)
     {
       flops=0;
       usec =0;
       std::vector<int> layout(Nd,1);
       sgrid = new GridCartesian(dimensions,layout,processors);
     };
-
-    ~FFT ( void)  { 
-      delete sgrid; 
+    
+    ~FFT ( void)  {
+      delete sgrid;
     }
     
     template<class vobj>
     void FFT_dim(Lattice<vobj> &result,const Lattice<vobj> &source,int dim, int inverse){
-
+#ifndef HAVE_FFTW
+      assert(0);
+#else
       conformable(result._grid,vgrid);
       conformable(source._grid,vgrid);
-
+      
       int L = vgrid->_ldimensions[dim];
       int G = vgrid->_fdimensions[dim];
-
+      
       std::vector<int> layout(Nd,1);
       std::vector<int> pencil_gd(vgrid->_fdimensions);
-
-      pencil_gd[dim] = G*processors[dim];    
-
+      
+      pencil_gd[dim] = G*processors[dim];
+      
       // Pencil global vol LxLxGxLxL per node
       GridCartesian pencil_g(pencil_gd,layout,processors);
-
+      
       // Construct pencils
       typedef typename vobj::scalar_object sobj;
       typedef typename sobj::scalar_type   scalar;
+      
+      Lattice<sobj> pgbuf(&pencil_g);
+      
 
-      Lattice<vobj> ssource(vgrid); ssource =source;
-      Lattice<sobj> pgsource(&pencil_g);
-      Lattice<sobj> pgresult(&pencil_g); pgresult=zero;
-
-#ifndef HAVE_FFTW	
-      assert(0);
-#else 
       typedef typename FFTW<scalar>::FFTW_scalar FFTW_scalar;
       typedef typename FFTW<scalar>::FFTW_plan   FFTW_plan;
-
-      {
-	int Ncomp = sizeof(sobj)/sizeof(scalar);
-	int Nlow  = 1;
-	for(int d=0;d<dim;d++){
-	  Nlow*=vgrid->_ldimensions[d];
-	}
-
-	int rank = 1;  /* 1d transforms */
-	int n[] = {G}; /* 1d transforms of length G */
-	int howmany = Ncomp;
-	int odist,idist,istride,ostride;
-	idist   = odist   = 1;          /* Distance between consecutive FT's */
-	istride = ostride = Ncomp*Nlow; /* distance between two elements in the same FT */
-	int *inembed = n, *onembed = n;
-
-	
-	int sign = FFTW_FORWARD;
-	if (inverse) sign = FFTW_BACKWARD;
-
-	FFTW_plan p;
-	{
-	  FFTW_scalar *in = (FFTW_scalar *)&pgsource._odata[0];
-	  FFTW_scalar *out= (FFTW_scalar *)&pgresult._odata[0];
-	  p = FFTW<scalar>::fftw_plan_many_dft(rank,n,howmany,
-					       in,inembed,
-					       istride,idist,
-					       out,onembed,
-					       ostride, odist,
-					       sign,FFTW_ESTIMATE);
-	}
-
-    std::vector<int> lcoor(Nd), gcoor(Nd);
-
-	// Barrel shift and collect global pencil
-	for(int p=0;p<processors[dim];p++) { 
-
-	  for(int idx=0;idx<sgrid->lSites();idx++) { 
-
-	    
-    	    sgrid->LocalIndexToLocalCoor(idx,lcoor);
-
-	    sobj s;
-
-	    peekLocalSite(s,ssource,lcoor);
-
-	    lcoor[dim]+=p*L;
-	   
-	    pokeLocalSite(s,pgsource,lcoor);
-	  }
-
-	  ssource = Cshift(ssource,dim,L);
-	}
-	
-	// Loop over orthog coords
-	int NN=pencil_g.lSites();
-	GridStopWatch timer;
-	timer.Start();
-
-//PARALLEL_FOR_LOOP
-	for(int idx=0;idx<NN;idx++) {
-	  pencil_g.LocalIndexToLocalCoor(idx,lcoor);
-
-	  if ( lcoor[dim] == 0 ) {  // restricts loop to plane at lcoor[dim]==0
-	    FFTW_scalar *in = (FFTW_scalar *)&pgsource._odata[idx];
-	    FFTW_scalar *out= (FFTW_scalar *)&pgresult._odata[idx];
-	    FFTW<scalar>::fftw_execute_dft(p,in,out);
-	  }
-	}
-
-        timer.Stop();
-
-          double add,mul,fma;
-          FFTW<scalar>::fftw_flops(p,&add,&mul,&fma);
-          flops_call = add+mul+2.0*fma;
-          usec += timer.useconds();
-          flops+= flops_call*NN;
-        int pc = processor_coor[dim];
-        for(int idx=0;idx<sgrid->lSites();idx++) {
-	  sgrid->LocalIndexToLocalCoor(idx,lcoor);
-	  gcoor = lcoor;
-	  // extract the result
-	  sobj s;
-	  gcoor[dim] = lcoor[dim]+L*pc;
-	  peekLocalSite(s,pgresult,gcoor);
-	  pokeLocalSite(s,result,lcoor);
-	}
-      	  
-	FFTW<scalar>::fftw_destroy_plan(p);
+      
+      int Ncomp = sizeof(sobj)/sizeof(scalar);
+      int Nlow  = 1;
+      for(int d=0;d<dim;d++){
+        Nlow*=vgrid->_ldimensions[d];
       }
+      
+      int rank = 1;  /* 1d transforms */
+      int n[] = {G}; /* 1d transforms of length G */
+      int howmany = Ncomp;
+      int odist,idist,istride,ostride;
+      idist   = odist   = 1;          /* Distance between consecutive FT's */
+      istride = ostride = Ncomp*Nlow; /* distance between two elements in the same FT */
+      int *inembed = n, *onembed = n;
+      
+      int sign = FFTW_FORWARD;
+      if (inverse) sign = FFTW_BACKWARD;
+      
+      FFTW_plan p;
+      {
+        FFTW_scalar *in = (FFTW_scalar *)&pgbuf._odata[0];
+        FFTW_scalar *out= (FFTW_scalar *)&pgbuf._odata[0];
+        p = FFTW<scalar>::fftw_plan_many_dft(rank,n,howmany,
+                                             in,inembed,
+                                             istride,idist,
+                                             out,onembed,
+                                             ostride, odist,
+                                             sign,FFTW_ESTIMATE);
+      }
+      
+      // Barrel shift and collect global pencil
+      std::vector<int> lcoor(Nd), gcoor(Nd);
+      result = source;
+      for(int p=0;p<processors[dim];p++) {
+        for(int idx=0;idx<sgrid->lSites();idx++) {
+          sgrid->LocalIndexToLocalCoor(idx,lcoor);
+          sobj s;
+          peekLocalSite(s,result,lcoor);
+          lcoor[dim]+=p*L;
+          pokeLocalSite(s,pgbuf,lcoor);
+        }
+        result = Cshift(result,dim,L);
+      }
+      
+      // Loop over orthog coords
+      int NN=pencil_g.lSites();
+      GridStopWatch timer;
+      timer.Start();
+      //PARALLEL_FOR_LOOP
+      for(int idx=0;idx<NN;idx++) {
+        pencil_g.LocalIndexToLocalCoor(idx,lcoor);
+        
+        if ( lcoor[dim] == 0 ) {  // restricts loop to plane at lcoor[dim]==0
+          FFTW_scalar *in = (FFTW_scalar *)&pgbuf._odata[idx];
+          FFTW_scalar *out= (FFTW_scalar *)&pgbuf._odata[idx];
+          FFTW<scalar>::fftw_execute_dft(p,in,out);
+        }
+      }
+      timer.Stop();
+      
+      // performance counting
+      double add,mul,fma;
+      FFTW<scalar>::fftw_flops(p,&add,&mul,&fma);
+      flops_call = add+mul+2.0*fma;
+      usec += timer.useconds();
+      flops+= flops_call*NN;
+      
+      // writing out result
+      int pc = processor_coor[dim];
+      for(int idx=0;idx<sgrid->lSites();idx++) {
+        sgrid->LocalIndexToLocalCoor(idx,lcoor);
+        gcoor = lcoor;
+        sobj s;
+        gcoor[dim] = lcoor[dim]+L*pc;
+        peekLocalSite(s,pgbuf,gcoor);
+        pokeLocalSite(s,result,lcoor);
+      }
+      
+      // destroying plan
+      FFTW<scalar>::fftw_destroy_plan(p);
 #endif
-
-
     }
-
   };
-
-
 }
 
 #endif
diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
index 2fdaeed2..d5b60752 100644
--- a/tests/core/Test_fft.cc
+++ b/tests/core/Test_fft.cc
@@ -76,13 +76,14 @@ int main (int argc, char ** argv)
   S=zero;
   S = S+C;
 
+  Ctilde = C;
   FFT theFFT(&Fine);
 
-  theFFT.FFT_dim(Ctilde,C,0,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Ctilde,C,1,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Ctilde,C,2,FFT::forward);  C=Ctilde; std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Ctilde,C,3,FFT::forward);  std::cout << theFFT.MFlops()<<std::endl;
-
+  theFFT.FFT_dim(Ctilde,Ctilde,0,FFT::forward); std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Ctilde,Ctilde,1,FFT::forward); std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Ctilde,Ctilde,2,FFT::forward); std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Ctilde,Ctilde,3,FFT::forward); std::cout << theFFT.MFlops()<<std::endl;
+  
   //  C=zero;
   //  Ctilde = where(abs(Ctilde)<1.0e-10,C,Ctilde);
   TComplexD cVol;
@@ -92,12 +93,13 @@ int main (int argc, char ** argv)
   pokeSite(cVol,C,p);
   C=C-Ctilde;
   std::cout << "diff scalar "<<norm2(C) << std::endl;
-
-  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde; std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Stilde,S,3,FFT::forward);std::cout << theFFT.MFlops()<<std::endl;
-
+  Stilde = S;
+  
+  theFFT.FFT_dim(Stilde,Stilde,0,FFT::forward); std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,Stilde,1,FFT::forward); std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,Stilde,2,FFT::forward); std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,Stilde,3,FFT::forward); std::cout << theFFT.MFlops()<<std::endl;
+  
   SpinMatrixD Sp; 
   Sp = zero; Sp = Sp+cVol;
 

From a1705a8d53f85e730681d5f90f973d09b15f1b25 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 26 Oct 2016 18:50:07 +0100
Subject: [PATCH 252/295] debug message removed

---
 lib/communicator/Communicator_base.cc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/communicator/Communicator_base.cc b/lib/communicator/Communicator_base.cc
index 9810987d..8b789f4b 100644
--- a/lib/communicator/Communicator_base.cc
+++ b/lib/communicator/Communicator_base.cc
@@ -48,7 +48,6 @@ void *CartesianCommunicator::ShmBufferMalloc(size_t bytes){
   void *ptr = (void *)heap_top;
   heap_top  += bytes;
   heap_bytes+= bytes;
-  std::cout <<"Shm alloc "<<ptr<<std::endl;
   assert(heap_bytes < MAX_MPI_SHM_BYTES);
   return ptr;
 }

From b4d2af8c899fc78290ed1b1f2b821eef36157831 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Wed, 26 Oct 2016 19:46:36 +0100
Subject: [PATCH 253/295] threaded FFT

---
 lib/FFT.h     | 52 +++++++++++++++++++++++++++++++++------------------
 lib/Threads.h | 11 ++++++++---
 2 files changed, 42 insertions(+), 21 deletions(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index 71cf8a3e..bb4dcf7c 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -200,12 +200,18 @@ namespace Grid {
       std::vector<int> lcoor(Nd), gcoor(Nd);
       result = source;
       for(int p=0;p<processors[dim];p++) {
-        for(int idx=0;idx<sgrid->lSites();idx++) {
-          sgrid->LocalIndexToLocalCoor(idx,lcoor);
+        PARALLEL_REGION
+        {
+          std::vector<int> cbuf(Nd);
           sobj s;
-          peekLocalSite(s,result,lcoor);
-          lcoor[dim]+=p*L;
-          pokeLocalSite(s,pgbuf,lcoor);
+          
+          PARALLEL_FOR_LOOP_INTERN
+          for(int idx=0;idx<sgrid->lSites();idx++) {
+            sgrid->LocalIndexToLocalCoor(idx,cbuf);
+            peekLocalSite(s,result,cbuf);
+            cbuf[dim]+=p*L;
+            pokeLocalSite(s,pgbuf,cbuf);
+          }
         }
         result = Cshift(result,dim,L);
       }
@@ -214,14 +220,18 @@ namespace Grid {
       int NN=pencil_g.lSites();
       GridStopWatch timer;
       timer.Start();
-      //PARALLEL_FOR_LOOP
-      for(int idx=0;idx<NN;idx++) {
-        pencil_g.LocalIndexToLocalCoor(idx,lcoor);
+      PARALLEL_REGION
+      {
+        std::vector<int> cbuf(Nd);
         
-        if ( lcoor[dim] == 0 ) {  // restricts loop to plane at lcoor[dim]==0
-          FFTW_scalar *in = (FFTW_scalar *)&pgbuf._odata[idx];
-          FFTW_scalar *out= (FFTW_scalar *)&pgbuf._odata[idx];
-          FFTW<scalar>::fftw_execute_dft(p,in,out);
+        PARALLEL_FOR_LOOP_INTERN
+        for(int idx=0;idx<NN;idx++) {
+          pencil_g.LocalIndexToLocalCoor(idx, cbuf);
+          if ( cbuf[dim] == 0 ) {  // restricts loop to plane at lcoor[dim]==0
+            FFTW_scalar *in = (FFTW_scalar *)&pgbuf._odata[idx];
+            FFTW_scalar *out= (FFTW_scalar *)&pgbuf._odata[idx];
+            FFTW<scalar>::fftw_execute_dft(p,in,out);
+          }
         }
       }
       timer.Stop();
@@ -235,13 +245,19 @@ namespace Grid {
       
       // writing out result
       int pc = processor_coor[dim];
-      for(int idx=0;idx<sgrid->lSites();idx++) {
-        sgrid->LocalIndexToLocalCoor(idx,lcoor);
-        gcoor = lcoor;
+      PARALLEL_REGION
+      {
+        std::vector<int> clbuf(Nd), cgbuf(Nd);
         sobj s;
-        gcoor[dim] = lcoor[dim]+L*pc;
-        peekLocalSite(s,pgbuf,gcoor);
-        pokeLocalSite(s,result,lcoor);
+        
+        PARALLEL_FOR_LOOP_INTERN
+        for(int idx=0;idx<sgrid->lSites();idx++) {
+          sgrid->LocalIndexToLocalCoor(idx,clbuf);
+          cgbuf = clbuf;
+          cgbuf[dim] = clbuf[dim]+L*pc;
+          peekLocalSite(s,pgbuf,cgbuf);
+          pokeLocalSite(s,result,clbuf);
+        }
       }
       
       // destroying plan
diff --git a/lib/Threads.h b/lib/Threads.h
index 08e5d545..2f270b73 100644
--- a/lib/Threads.h
+++ b/lib/Threads.h
@@ -38,14 +38,19 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #ifdef GRID_OMP
 #include <omp.h>
 #ifdef GRID_NUMA
-#define PARALLEL_FOR_LOOP _Pragma("omp parallel for schedule(static)")
+#define PARALLEL_FOR_LOOP        _Pragma("omp parallel for schedule(static)")
+#define PARALLEL_FOR_LOOP_INTERN _Pragma("omp for schedule(static)")
 #else
-#define PARALLEL_FOR_LOOP _Pragma("omp parallel for schedule(runtime)")
+#define PARALLEL_FOR_LOOP        _Pragma("omp parallel for schedule(runtime)")
+#define PARALLEL_FOR_LOOP_INTERN _Pragma("omp for schedule(runtime)")
 #endif
 #define PARALLEL_NESTED_LOOP2 _Pragma("omp parallel for collapse(2)")
+#define PARALLEL_REGION       _Pragma("omp parallel")
 #else
-#define PARALLEL_FOR_LOOP 
+#define PARALLEL_FOR_LOOP
+#define PARALLEL_FOR_LOOP_INTERN
 #define PARALLEL_NESTED_LOOP2
+#define PARALLEL_REGION
 #endif
 
 namespace Grid {

From aa6a839c6069ba32cf9a9d8d1a22ec395b19de49 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Fri, 28 Oct 2016 09:13:09 +0100
Subject: [PATCH 254/295] avx512 build fix; detect clang/gcc intrinsics  vs.
 ICPC

---
 lib/simd/Grid_avx512.h | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/lib/simd/Grid_avx512.h b/lib/simd/Grid_avx512.h
index 62789462..521f804c 100644
--- a/lib/simd/Grid_avx512.h
+++ b/lib/simd/Grid_avx512.h
@@ -371,14 +371,9 @@ namespace Optimization {
   // Some Template specialization
 
   // Hack for CLANG until mm512_reduce_add_ps etc... are implemented in GCC and Clang releases
-<<<<<<< HEAD
-#define GNU_CLANG_COMPILER 
-#ifdef GNU_CLANG_COMPILER
-=======
 
 #ifndef __INTEL_COMPILER
 #warning "Slow reduction due to incomplete reduce intrinsics"
->>>>>>> develop
   //Complex float Reduce
   template<>
     inline Grid::ComplexF Reduce<Grid::ComplexF, __m512>::operator()(__m512 in){

From e1042aef77f70f2c4ab44d9066fd4c6d093f6e50 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Fri, 28 Oct 2016 17:20:04 +0100
Subject: [PATCH 255/295] First version of the doube prec for testing purposes

It does not compile single and double version at the same time
---
 lib/qcd/action/fermion/WilsonKernelsAsm.cc    | 81 ++++++++++++++++++-
 lib/qcd/action/fermion/WilsonKernelsAsmBody.h |  4 +-
 lib/simd/Grid_avx512.h                        |  6 --
 3 files changed, 80 insertions(+), 11 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index 74862400..2fc9b035 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -53,12 +53,13 @@ WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,
 }
 
 #if defined(AVX512) 
-    
+#include <simd/Intel512wilson.h>
+
+#if defined(GRID_DEFAULT_PRECISION_SINGLE)    
     ///////////////////////////////////////////////////////////
     // If we are AVX512 specialise the single precision routine
     ///////////////////////////////////////////////////////////
-    
-#include <simd/Intel512wilson.h>
+
 #include <simd/Intel512single.h>
     
 static Vector<vComplexF> signs;
@@ -78,6 +79,7 @@ static Vector<vComplexF> signs;
 #define MAYBEPERM(A,perm) if (perm) { A ; }
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf)
 #define FX(A) WILSONASM_ ##A
+#define COMPLEX_TYPE vComplexF
   
 #undef KERNEL_DAG
 template<> void 
@@ -113,8 +115,79 @@ template<> void
 WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
 							    int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
+#undef COMPLEX_TYPE
+	
+#endif //Single precision			    
+
+#if defined(GRID_DEFAULT_PRECISION_DOUBLE)    
+//temporary separating the two sections
+//for debug in isolation
+//can be unified
+
+    ///////////////////////////////////////////////////////////
+    // If we are AVX512 specialise the double precision routine
+    ///////////////////////////////////////////////////////////
+
+#include <simd/Intel512double.h>
+    
+static Vector<vComplexD> signs;
+    
+  int setupSigns(void ){
+    Vector<vComplexD> bother(2);
+    signs = bother;
+    vrsign(signs[0]);
+    visign(signs[1]);
+    return 1;
+  }
+  static int signInit = setupSigns();
+  
+#define label(A)  ilabel(A)
+#define ilabel(A) ".globl\n"  #A ":\n" 
+  
+#define MAYBEPERM(A,perm) if (perm) { A ; }
+#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf)
+#define FX(A) WILSONASM_ ##A
+#define COMPLEX_TYPE vComplexD
+  
+#undef KERNEL_DAG
+template<> void 
+WilsonKernels<WilsonImplD>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf,
+						int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+#include <qcd/action/fermion/WilsonKernelsAsmBody.h>
+      
+#define KERNEL_DAG
+template<> void 
+WilsonKernels<WilsonImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
+						   int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+#include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 				    
-#endif
+#undef VMOVIDUP
+#undef VMOVRDUP
+#undef MAYBEPERM
+#undef MULT_2SPIN
+#undef FX 
+#define FX(A) DWFASM_ ## A
+#define MAYBEPERM(A,B) 
+#define VMOVIDUP(A,B,C)                                  VBCASTIDUPf(A,B,C)
+#define VMOVRDUP(A,B,C)                                  VBCASTRDUPf(A,B,C)
+#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
+				    
+#undef KERNEL_DAG
+template<> void 
+WilsonKernels<DomainWallVec5dImplD>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf,
+							 int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+#include <qcd/action/fermion/WilsonKernelsAsmBody.h>
+				    
+#define KERNEL_DAG
+template<> void 
+WilsonKernels<DomainWallVec5dImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf,
+							    int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
+#include <qcd/action/fermion/WilsonKernelsAsmBody.h>
+	
+#undef COMPLEX_TYPE
+#endif //Double precision			    
+
+#endif //AVX512
 
 #define INSTANTIATE_ASM(A)\
 template void WilsonKernels<A>::DiracOptAsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf,\
diff --git a/lib/qcd/action/fermion/WilsonKernelsAsmBody.h b/lib/qcd/action/fermion/WilsonKernelsAsmBody.h
index 12579d8c..72e13754 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsmBody.h
+++ b/lib/qcd/action/fermion/WilsonKernelsAsmBody.h
@@ -5,7 +5,9 @@
   const uint64_t plocal =(uint64_t) & in._odata[0];
 
   //  vComplexF isigns[2] = { signs[0], signs[1] };
-  vComplexF *isigns = &signs[0];
+  //COMPLEX_TYPE is vComplexF of vComplexD depending 
+  //on the chosen precision
+  COMPLEX_TYPE *isigns = &signs[0];
 
   MASK_REGS;
   int nmax=U._grid->oSites();
diff --git a/lib/simd/Grid_avx512.h b/lib/simd/Grid_avx512.h
index 62789462..136c940e 100644
--- a/lib/simd/Grid_avx512.h
+++ b/lib/simd/Grid_avx512.h
@@ -371,14 +371,8 @@ namespace Optimization {
   // Some Template specialization
 
   // Hack for CLANG until mm512_reduce_add_ps etc... are implemented in GCC and Clang releases
-<<<<<<< HEAD
-#define GNU_CLANG_COMPILER 
-#ifdef GNU_CLANG_COMPILER
-=======
-
 #ifndef __INTEL_COMPILER
 #warning "Slow reduction due to incomplete reduce intrinsics"
->>>>>>> develop
   //Complex float Reduce
   template<>
     inline Grid::ComplexF Reduce<Grid::ComplexF, __m512>::operator()(__m512 in){

From 618abdf302813e38921c506282d559296dcfd7b5 Mon Sep 17 00:00:00 2001
From: James Harrison <jch1g10@soton.ac.uk>
Date: Sat, 29 Oct 2016 11:04:02 +0100
Subject: [PATCH 256/295] Add missing volume factor in stochastic QED field

---
 lib/qcd/action/gauge/Photon.h | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/qcd/action/gauge/Photon.h b/lib/qcd/action/gauge/Photon.h
index 0dd5a9dc..409569d8 100644
--- a/lib/qcd/action/gauge/Photon.h
+++ b/lib/qcd/action/gauge/Photon.h
@@ -151,12 +151,19 @@ namespace QCD{
   {
     auto               *grid = dynamic_cast<GridCartesian *>(out._grid);
     const unsigned int nd = grid->_ndimension;
+    std::vector<int> latt_size   = grid->_fdimensions;
     GaugeLinkField     sqrtK2Inv(grid), r(grid);
     GaugeField         aTilde(grid);
     FFT                fft(grid);
     
+    Integer vol = 1;
+    for(int d = 0; d < nd; d++)
+    {
+      vol = vol * latt_size[d];
+    }
+
     invKHatSquared(sqrtK2Inv);
-    sqrtK2Inv = sqrt(real(sqrtK2Inv));
+    sqrtK2Inv = sqrt(vol*real(sqrtK2Inv));
     zmSub(sqrtK2Inv);
     for(int mu = 0; mu < nd; mu++)
     {

From 9b066e94d00c7190d9bf0531caa8964a4e79cf1f Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Sun, 30 Oct 2016 12:04:06 +0000
Subject: [PATCH 257/295] Compilation with both single and double precision

---
 lib/qcd/action/fermion/WilsonKernelsAsm.cc | 55 ++++++++++------------
 1 file changed, 25 insertions(+), 30 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index 2fc9b035..8bd55d61 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -10,6 +10,7 @@
 
 Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 Author: paboyle <paboyle@ph.ed.ac.uk>
+Author: Guido Cossu <guido.cossu@ed.ac.uk>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -55,23 +56,24 @@ WilsonKernels<Impl >::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,
 #if defined(AVX512) 
 #include <simd/Intel512wilson.h>
 
-#if defined(GRID_DEFAULT_PRECISION_SINGLE)    
     ///////////////////////////////////////////////////////////
     // If we are AVX512 specialise the single precision routine
     ///////////////////////////////////////////////////////////
 
 #include <simd/Intel512single.h>
     
-static Vector<vComplexF> signs;
-    
-  int setupSigns(void ){
-    Vector<vComplexF> bother(2);
+static Vector<vComplexF> signsF;
+
+  template<typename vtype>    
+  int setupSigns(Vector<vtype>& signs ){
+    Vector<vtype> bother(2);
     signs = bother;
     vrsign(signs[0]);
     visign(signs[1]);
     return 1;
   }
-  static int signInit = setupSigns();
+
+  static int signInitF = setupSigns(signsF);
   
 #define label(A)  ilabel(A)
 #define ilabel(A) ".globl\n"  #A ":\n" 
@@ -80,6 +82,7 @@ static Vector<vComplexF> signs;
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf)
 #define FX(A) WILSONASM_ ##A
 #define COMPLEX_TYPE vComplexF
+#define signs signsF
   
 #undef KERNEL_DAG
 template<> void 
@@ -116,34 +119,22 @@ WilsonKernels<DomainWallVec5dImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,Lebe
 							    int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out)
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 #undef COMPLEX_TYPE
+#undef signs
+#undef VMOVRDUP
+#undef MAYBEPERM
+#undef MULT_2SPIN
+#undef FX 
 	
-#endif //Single precision			    
-
-#if defined(GRID_DEFAULT_PRECISION_DOUBLE)    
-//temporary separating the two sections
-//for debug in isolation
-//can be unified
-
-    ///////////////////////////////////////////////////////////
-    // If we are AVX512 specialise the double precision routine
-    ///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+// If we are AVX512 specialise the double precision routine
+///////////////////////////////////////////////////////////
 
 #include <simd/Intel512double.h>
     
-static Vector<vComplexD> signs;
+static Vector<vComplexD> signsD;
+#define signs signsD
+static int signInitD = setupSigns(signsD);
     
-  int setupSigns(void ){
-    Vector<vComplexD> bother(2);
-    signs = bother;
-    vrsign(signs[0]);
-    visign(signs[1]);
-    return 1;
-  }
-  static int signInit = setupSigns();
-  
-#define label(A)  ilabel(A)
-#define ilabel(A) ".globl\n"  #A ":\n" 
-  
 #define MAYBEPERM(A,perm) if (perm) { A ; }
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf)
 #define FX(A) WILSONASM_ ##A
@@ -185,7 +176,11 @@ WilsonKernels<DomainWallVec5dImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,Lebe
 #include <qcd/action/fermion/WilsonKernelsAsmBody.h>
 	
 #undef COMPLEX_TYPE
-#endif //Double precision			    
+#undef signs
+#undef VMOVRDUP
+#undef MAYBEPERM
+#undef MULT_2SPIN
+#undef FX 
 
 #endif //AVX512
 

From e8c3174ae28746c8f24377ac7a4fbddc7d9a3831 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Sun, 30 Oct 2016 12:23:11 +0000
Subject: [PATCH 258/295] Small change in the defines

---
 lib/qcd/action/fermion/WilsonKernelsAsm.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index 8bd55d61..83124d1a 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -159,8 +159,8 @@ WilsonKernels<WilsonImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder
 #undef FX 
 #define FX(A) DWFASM_ ## A
 #define MAYBEPERM(A,B) 
-#define VMOVIDUP(A,B,C)                                  VBCASTIDUPf(A,B,C)
-#define VMOVRDUP(A,B,C)                                  VBCASTRDUPf(A,B,C)
+#define VMOVIDUP(A,B,C)                                  VBCASTIDUPd(A,B,C)
+#define VMOVRDUP(A,B,C)                                  VBCASTRDUPd(A,B,C)
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
 				    
 #undef KERNEL_DAG

From e74417ca12b4e416d151f06081fe70dd5f1e6651 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Mon, 31 Oct 2016 16:31:27 +0000
Subject: [PATCH 259/295] big build system polish

---
 configure.ac                                  | 266 ++++++++++--------
 lib/FFT.h                                     |   2 +-
 .../iterative/ImplicitlyRestartedLanczos.h    |   6 +-
 3 files changed, 155 insertions(+), 119 deletions(-)

diff --git a/configure.ac b/configure.ac
index d6340a71..9fb35e78 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ([2.63])
-AC_INIT([Grid], [0.5.1-dev], [https://github.com/paboyle/Grid], [Grid])
+AC_INIT([Grid], [0.6.0], [https://github.com/paboyle/Grid], [Grid])
 AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 AC_CANONICAL_TARGET
@@ -9,22 +9,33 @@ AC_CONFIG_SRCDIR([lib/Grid.h])
 AC_CONFIG_HEADERS([lib/Config.h])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
-
 ############### Checks for programs
-AC_LANG(C++)
 CXXFLAGS="-O3 $CXXFLAGS"
 AC_PROG_CXX
 AC_PROG_RANLIB
 
-############ openmp  ###############
+############### Get compiler informations
+AC_LANG([C++])
+AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
+AX_COMPILER_VENDOR
+AC_DEFINE_UNQUOTED([CXX_COMP_VENDOR],["$ax_cv_cxx_compiler_vendor"],
+      [vendor of C++ compiler that will compile the code])
+AX_GXX_VERSION
+AC_DEFINE_UNQUOTED([GXX_VERSION],["$GXX_VERSION"],
+      [version of g++ that will compile the code])
+
+############### Checks for typedefs, structures, and compiler characteristics
+AC_TYPE_SIZE_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT64_T
+
+############### OpenMP 
 AC_OPENMP
-
 ac_openmp=no
-
 if test "${OPENMP_CXXFLAGS}X" != "X"; then
-ac_openmp=yes
-AM_CXXFLAGS="$OPENMP_CXXFLAGS $AM_CXXFLAGS"
-AM_LDFLAGS="$OPENMP_CXXFLAGS $AM_LDFLAGS"
+  ac_openmp=yes
+  AM_CXXFLAGS="$OPENMP_CXXFLAGS $AM_CXXFLAGS"
+  AM_LDFLAGS="$OPENMP_CXXFLAGS $AM_LDFLAGS"
 fi
 
 ############### Checks for header files
@@ -37,12 +48,7 @@ AC_CHECK_HEADERS(execinfo.h)
 AC_CHECK_DECLS([ntohll],[], [], [[#include <arpa/inet.h>]])
 AC_CHECK_DECLS([be64toh],[], [], [[#include <arpa/inet.h>]])
 
-############### Checks for typedefs, structures, and compiler characteristics
-AC_TYPE_SIZE_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-
-############### GMP and MPFR #################
+############### GMP and MPFR
 AC_ARG_WITH([gmp],
     [AS_HELP_STRING([--with-gmp=prefix],
     [try this for a non-standard install prefix of the GMP library])],
@@ -54,10 +60,17 @@ AC_ARG_WITH([mpfr],
     [AM_CXXFLAGS="-I$with_mpfr/include $AM_CXXFLAGS"]
     [AM_LDFLAGS="-L$with_mpfr/lib $AM_LDFLAGS"])
 
-################## lapack ####################
+############### FFTW3 
+AC_ARG_WITH([fftw],    
+            [AS_HELP_STRING([--with-fftw=prefix],
+            [try this for a non-standard install prefix of the FFTW3 library])],
+            [AM_CXXFLAGS="-I$with_fftw/include $AM_CXXFLAGS"]
+            [AM_LDFLAGS="-L$with_fftw/lib $AM_LDFLAGS"])
+
+############### lapack 
 AC_ARG_ENABLE([lapack],
     [AC_HELP_STRING([--enable-lapack=yes|no|prefix], [enable LAPACK])], 
-    [ac_LAPACK=${enable_lapack}],[ac_LAPACK=no])
+    [ac_LAPACK=${enable_lapack}], [ac_LAPACK=no])
 
 case ${ac_LAPACK} in
     no)
@@ -67,10 +80,26 @@ case ${ac_LAPACK} in
     *)
         AM_CXXFLAGS="-I$ac_LAPACK/include $AM_CXXFLAGS"
         AM_LDFLAGS="-L$ac_LAPACK/lib $AM_LDFLAGS"
-        AC_DEFINE([USE_LAPACK],[1],[use LAPACK])
+        AC_DEFINE([USE_LAPACK],[1],[use LAPACK]);;
 esac
 
-################## first-touch ####################
+############### MKL
+AC_ARG_ENABLE([mkl],
+    [AC_HELP_STRING([--enable-mkl=yes|no|prefix], [enable Intel MKL for LAPACK & FFTW])],
+    [ac_MKL=${enable_mkl}], [ac_MKL=no])
+
+case ${ac_MKL} in
+    no)
+        ;;
+    yes)
+        AC_DEFINE([USE_MKL], [1], [Define to 1 if you use the Intel MKL]);;
+    *)
+        AM_CXXFLAGS="-I$ac_MKL/include $AM_CXXFLAGS"
+        AM_LDFLAGS="-L$ac_MKL/lib $AM_LDFLAGS"
+        AC_DEFINE([USE_MKL], [1], [Define to 1 if you use the Intel MKL]);;
+esac
+
+############### first-touch
 AC_ARG_ENABLE([numa],
     [AC_HELP_STRING([--enable-numa=yes|no|prefix], [enable first touch numa opt])], 
     [ac_NUMA=${enable_NUMA}],[ac_NUMA=no])
@@ -84,56 +113,44 @@ case ${ac_NUMA} in
         AC_DEFINE([GRID_NUMA],[1],[First touch numa locality]);;
 esac
 
-################## FFTW3 ####################
-AC_ARG_WITH([fftw],    
-            [AS_HELP_STRING([--with-fftw=prefix],
-            [try this for a non-standard install prefix of the FFTW3 library])],
-            [AM_CXXFLAGS="-I$with_fftw/include $AM_CXXFLAGS"]
-            [AM_LDFLAGS="-L$with_fftw/lib $AM_LDFLAGS"])
-
-################ Get compiler informations
-AC_LANG([C++])
-AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
-AX_COMPILER_VENDOR
-AC_DEFINE_UNQUOTED([CXX_COMP_VENDOR],["$ax_cv_cxx_compiler_vendor"],
-      [vendor of C++ compiler that will compile the code])
-AX_GXX_VERSION
-AC_DEFINE_UNQUOTED([GXX_VERSION],["$GXX_VERSION"],
-      [version of g++ that will compile the code])
-
 ############### Checks for library functions
 CXXFLAGS_CPY=$CXXFLAGS
 LDFLAGS_CPY=$LDFLAGS
 CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS"
 LDFLAGS="$AM_LDFLAGS $LDFLAGS"
+
 AC_CHECK_FUNCS([gettimeofday])
-AC_CHECK_LIB([gmp],[__gmpf_init],
-             [AC_CHECK_LIB([mpfr],[mpfr_init],
-                 [AC_DEFINE([HAVE_LIBMPFR], [1], [Define to 1 if you have the `MPFR' library (-lmpfr).])]
-                 [have_mpfr=true]
-                 [LIBS="$LIBS -lmpfr"],
-                 [AC_MSG_ERROR([MPFR library not found])])]
-   	     [AC_DEFINE([HAVE_LIBGMP], [1], [Define to 1 if you have the `GMP' library (-lgmp).])]
-             [have_gmp=true]
-             [LIBS="$LIBS -lgmp"],
-             [AC_MSG_WARN([**** GMP library not found, Grid can still compile but RHMC will not work ****])])
+
+if test "${ac_MKL}x" != "nox"; then
+    AC_SEARCH_LIBS([mkl_set_interface_layer], [mkl_rt], [],
+                   [AC_MSG_ERROR("MKL enabled but library not found")])
+fi
+
+AC_SEARCH_LIBS([__gmpf_init], [gmp],
+               [AC_SEARCH_LIBS([mpfr_init], [mpfr], 
+                               [AC_DEFINE([HAVE_LIBMPFR], [1], 
+                                          [Define to 1 if you have the `MPFR' library])]
+                               [have_mpfr=true], [AC_MSG_ERROR([MPFR library not found])])]
+               [AC_DEFINE([HAVE_LIBGMP], [1], [Define to 1 if you have the `GMP' library])]
+               [have_gmp=true])
 
 if test "${ac_LAPACK}x" != "nox"; then
-    AC_CHECK_LIB([lapack],[LAPACKE_sbdsdc],[],
-                 [AC_MSG_ERROR("LAPACK enabled but library not found")])
-fi
-AC_CHECK_LIB([fftw3],[fftw_execute],
-  [AC_DEFINE([HAVE_FFTW],[1],[Define to 1 if you have the `FFTW' library (-lfftw3).])]
-  [have_fftw=true]
-  [LIBS="$LIBS -lfftw3 -lfftw3f"],
-  [AC_MSG_WARN([**** FFTW library not found, Grid can still compile but FFT-based routines will not work ****])])
+    AC_SEARCH_LIBS([LAPACKE_sbdsdc], [lapack], [],
+                   [AC_MSG_ERROR("LAPACK enabled but library not found")])
+fi   
+
+AC_SEARCH_LIBS([fftw_execute], [fftw3],
+               [AC_SEARCH_LIBS([fftwf_execute], [fftw3f], [],
+                               [AC_MSG_ERROR("single precision FFTW library not found")])]
+               [AC_DEFINE([HAVE_FFTW], [1], [Define to 1 if you have the `FFTW' library])]
+               [have_fftw=true])
+
 CXXFLAGS=$CXXFLAGS_CPY
 LDFLAGS=$LDFLAGS_CPY
 
 ############### SIMD instruction selection
-AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE4|AVX|AVXFMA4|AVXFMA|AVX2|AVX512|AVX512MIC|IMCI|KNL|KNC],\
-	[Select instructions to be SSE4.0, AVX 1.0, AVX 2.0+FMA, AVX 512, IMCI])],\
-	[ac_SIMD=${enable_simd}],[ac_SIMD=GEN])
+AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=<code>],
+	            [select SIMD target (cf. README.md)])], [ac_SIMD=${enable_simd}], [ac_SIMD=GEN])
 
 case ${ax_cv_cxx_compiler_vendor} in
   clang|gnu)
@@ -153,12 +170,15 @@ case ${ax_cv_cxx_compiler_vendor} in
       AVX2)
         AC_DEFINE([AVX2],[1],[AVX2 intrinsics])
         SIMD_FLAGS='-mavx2 -mfma';;
-      AVX512|AVX512MIC|KNL)
+      AVX512)
         AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
         SIMD_FLAGS='-mavx512f -mavx512pf -mavx512er -mavx512cd';;
-      IMCI|KNC)
+      KNC)
         AC_DEFINE([IMCI],[1],[IMCI intrinsics for Knights Corner])
         SIMD_FLAGS='';;
+      KNL)
+        AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
+        SIMD_FLAGS='-march=knl';;
       GEN)
         AC_DEFINE([GENERIC_VEC],[1],[generic vector code])
         SIMD_FLAGS='';;
@@ -176,9 +196,6 @@ case ${ax_cv_cxx_compiler_vendor} in
       AVX)
         AC_DEFINE([AVX1],[1],[AVX intrinsics])
         SIMD_FLAGS='-mavx -xavx';;
-      AVXFMA4)
-        AC_DEFINE([AVXFMA4],[1],[AVX intrinsics with FMA4])
-        SIMD_FLAGS='-mavx -mfma';;
       AVXFMA)
         AC_DEFINE([AVXFMA],[1],[AVX intrinsics with FMA4])
         SIMD_FLAGS='-mavx -mfma';;
@@ -188,12 +205,12 @@ case ${ax_cv_cxx_compiler_vendor} in
       AVX512)
         AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
         SIMD_FLAGS='-xcore-avx512';;
-      AVX512MIC|KNL)
-        AC_DEFINE([AVX512],[1],[AVX512 intrinsics for Knights Landing])
-        SIMD_FLAGS='-xmic-avx512';;
-      IMCI|KNC)
+      KNC)
         AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner])
         SIMD_FLAGS='';;
+      KNL)
+        AC_DEFINE([AVX512],[1],[AVX512 intrinsics for Knights Landing])
+        SIMD_FLAGS='-xmic-avx512';;
       GEN)
         AC_DEFINE([GENERIC_VEC],[1],[generic vector code])
         SIMD_FLAGS='';;
@@ -208,14 +225,18 @@ AM_CXXFLAGS="$SIMD_FLAGS $AM_CXXFLAGS"
 AM_CFLAGS="$SIMD_FLAGS $AM_CFLAGS"
 
 case ${ac_SIMD} in
-  AVX512|AVX512MIC|KNL)
+  AVX512|KNL)
     AC_DEFINE([TEST_ZMM],[1],[compile ZMM test]);;
   *)
 	;;
 esac
 
-############### precision selection
-AC_ARG_ENABLE([precision],[AC_HELP_STRING([--enable-precision=single|double],[Select default word size of Real])],[ac_PRECISION=${enable_precision}],[ac_PRECISION=double])
+############### Precision selection
+AC_ARG_ENABLE([precision],
+              [AC_HELP_STRING([--enable-precision=single|double],
+                              [Select default word size of Real])],
+              [ac_PRECISION=${enable_precision}],[ac_PRECISION=double])
+
 case ${ac_PRECISION} in
      single)
        AC_DEFINE([GRID_DEFAULT_PRECISION_SINGLE],[1],[GRID_DEFAULT_PRECISION is SINGLE] )
@@ -226,43 +247,49 @@ case ${ac_PRECISION} in
 esac
 
 ############### communication type selection
-AC_ARG_ENABLE([comms],[AC_HELP_STRING([--enable-comms=none|mpi|mpi-auto|shmem],[Select communications])],[ac_COMMS=${enable_comms}],[ac_COMMS=none])
+AC_ARG_ENABLE([comms],[AC_HELP_STRING([--enable-comms=none|mpi|mpi-auto|mpi3|mpi3-auto|shmem],
+              [Select communications])],[ac_COMMS=${enable_comms}],[ac_COMMS=none])
 
 case ${ac_COMMS} in
      none)
-       AC_DEFINE([GRID_COMMS_NONE],[1],[GRID_COMMS_NONE] )
+        AC_DEFINE([GRID_COMMS_NONE],[1],[GRID_COMMS_NONE] )
      ;;
-     mpi-auto)
-       AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
-       LX_FIND_MPI
-       if test "x$have_CXX_mpi" = 'xno'; then AC_MSG_ERROR(["MPI not found"]); fi
-       AM_CXXFLAGS="$MPI_CXXFLAGS $AM_CXXFLAGS"
-       AM_CFLAGS="$MPI_CFLAGS $AM_CFLAGS"
-       AM_LDFLAGS="`echo $MPI_CXXLDFLAGS | sed -E 's/-l@<:@^ @:>@+//g'` $AM_LDFLAGS"
-       LIBS="`echo $MPI_CXXLDFLAGS | sed -E 's/-L@<:@^ @:>@+//g'` $LIBS"
+     mpi|mpi-auto)
+        AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
      ;;
-     mpi)
-       AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
-     ;;
-     mpi3)
-       AC_DEFINE([GRID_COMMS_MPI3],[1],[GRID_COMMS_MPI3] )
+     mpi3|mpi3-auto)
+        AC_DEFINE([GRID_COMMS_MPI3],[1],[GRID_COMMS_MPI3] )
      ;;
      shmem)
-       AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
+        AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
      ;;
      *)
-     AC_MSG_ERROR([${ac_COMMS} unsupported --enable-comms option]); 
+        AC_MSG_ERROR([${ac_COMMS} unsupported --enable-comms option]); 
      ;;
 esac
+case ${ac_COMMS} in
+    *-auto)
+        LX_FIND_MPI
+        if test "x$have_CXX_mpi" = 'xno'; then AC_MSG_ERROR(["MPI not found"]); fi
+        AM_CXXFLAGS="$MPI_CXXFLAGS $AM_CXXFLAGS"
+        AM_CFLAGS="$MPI_CFLAGS $AM_CFLAGS"
+        AM_LDFLAGS="`echo $MPI_CXXLDFLAGS | sed -E 's/-l@<:@^ @:>@+//g'` $AM_LDFLAGS"
+        LIBS="`echo $MPI_CXXLDFLAGS | sed -E 's/-L@<:@^ @:>@+//g'` $LIBS";;
+    *)
+        ;;
+esac
+
 AM_CONDITIONAL(BUILD_COMMS_SHMEM,[ test "X${ac_COMMS}X" == "XshmemX" ])
-AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" || test "X${ac_COMMS}X" == "Xmpi-autoX" ])
-AM_CONDITIONAL(BUILD_COMMS_MPI3,[ test "X${ac_COMMS}X" == "Xmpi3X"] )
+AM_CONDITIONAL(BUILD_COMMS_MPI,
+               [ test "X${ac_COMMS}X" == "XmpiX" || test "X${ac_COMMS}X" == "Xmpi-autoX" ])
+AM_CONDITIONAL(BUILD_COMMS_MPI3,
+               [ test "X${ac_COMMS}X" == "Xmpi3X" || test "X${ac_COMMS}X" == "Xmpi3-autoX" ])
 AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
 
 ############### RNG selection
 AC_ARG_ENABLE([rng],[AC_HELP_STRING([--enable-rng=ranlux48|mt19937],\
-	[Select Random Number Generator to be used])],\
-	[ac_RNG=${enable_rng}],[ac_RNG=ranlux48])
+	            [Select Random Number Generator to be used])],\
+	            [ac_RNG=${enable_rng}],[ac_RNG=ranlux48])
 
 case ${ac_RNG} in
      ranlux48)
@@ -276,10 +303,11 @@ case ${ac_RNG} in
      ;;
 esac
 
-############### timer option
+############### Timer option
 AC_ARG_ENABLE([timers],[AC_HELP_STRING([--enable-timers],\
-	[Enable system dependent high res timers])],\
-	[ac_TIMERS=${enable_timers}],[ac_TIMERS=yes])
+	            [Enable system dependent high res timers])],\
+	            [ac_TIMERS=${enable_timers}],[ac_TIMERS=yes])
+
 case ${ac_TIMERS} in
      yes)
       AC_DEFINE([TIMERS_ON],[1],[TIMERS_ON] )
@@ -293,7 +321,9 @@ case ${ac_TIMERS} in
 esac
 
 ############### Chroma regression test
-AC_ARG_ENABLE([chroma],[AC_HELP_STRING([--enable-chroma],[Expect chroma compiled under c++11 ])],ac_CHROMA=yes,ac_CHROMA=no)
+AC_ARG_ENABLE([chroma],[AC_HELP_STRING([--enable-chroma],
+              [Expect chroma compiled under c++11 ])],ac_CHROMA=yes,ac_CHROMA=no)
+
 case ${ac_CHROMA} in
      yes|no)
      ;;
@@ -301,6 +331,7 @@ case ${ac_CHROMA} in
        AC_MSG_ERROR([${ac_CHROMA} unsupported --enable-chroma option]); 
      ;;
 esac
+
 AM_CONDITIONAL(BUILD_CHROMA_REGRESSION,[ test "X${ac_CHROMA}X" == "XyesX" ])
 
 ############### Doxygen
@@ -332,35 +363,36 @@ AC_CONFIG_FILES(tests/qdpxx/Makefile)
 AC_CONFIG_FILES(benchmarks/Makefile)
 AC_OUTPUT
 
-echo "
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Summary of configuration for $PACKAGE v$VERSION
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 ----- PLATFORM ----------------------------------------
-- architecture (build)          : $build_cpu
-- os (build)                    : $build_os
-- architecture (target)         : $target_cpu
-- os (target)                   : $target_os
-- compiler vendor               : ${ax_cv_cxx_compiler_vendor}
-- compiler version              : ${ax_cv_gxx_version}
+architecture (build)        : $build_cpu
+os (build)                  : $build_os
+architecture (target)       : $target_cpu
+os (target)                 : $target_os
+compiler vendor             : ${ax_cv_cxx_compiler_vendor}
+compiler version            : ${ax_cv_gxx_version}
 ----- BUILD OPTIONS -----------------------------------
-- SIMD                          : ${ac_SIMD}
-- Threading                     : ${ac_openmp} 
-- Communications type           : ${ac_COMMS}
-- Default precision             : ${ac_PRECISION}
-- RNG choice                    : ${ac_RNG} 
-- GMP                           : `if test "x$have_gmp" = xtrue; then echo yes; else echo no; fi`
-- LAPACK                        : ${ac_LAPACK}
-- FFTW                          : `if test "x$have_fftw" = xtrue; then echo yes; else echo no; fi`
-- build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
-- graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
+SIMD                        : ${ac_SIMD}
+Threading                   : ${ac_openmp} 
+Communications type         : ${ac_COMMS}
+Default precision           : ${ac_PRECISION}
+RNG choice                  : ${ac_RNG} 
+GMP                         : `if test "x$have_gmp" = xtrue; then echo yes; else echo no; fi`
+LAPACK                      : ${ac_LAPACK}
+FFTW                        : `if test "x$have_fftw" = xtrue; then echo yes; else echo no; fi`
+build DOXYGEN documentation : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
+graphs and diagrams         : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
 ----- BUILD FLAGS -------------------------------------
-- CXXFLAGS:
+CXXFLAGS:
 `echo ${AM_CXXFLAGS} ${CXXFLAGS} | tr ' ' '\n' | sed 's/^-/    -/g'`
-- LDFLAGS:
+LDFLAGS:
 `echo ${AM_LDFLAGS} ${LDFLAGS} | tr ' ' '\n' | sed 's/^-/    -/g'`
-- LIBS:
+LIBS:
 `echo ${LIBS} | tr ' ' '\n' | sed 's/^-/    -/g'`
--------------------------------------------------------
-"
+-------------------------------------------------------" > config.summary
+echo ""
+cat config.summary
+echo ""
diff --git a/lib/FFT.h b/lib/FFT.h
index 9a59ed01..8d359cba 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -30,7 +30,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #define _GRID_FFT_H_
 
 #ifdef HAVE_FFTW	
-#include <fftw3.h>
+#include <fftw/fftw3.h>
 #endif
 namespace Grid {
 
diff --git a/lib/algorithms/iterative/ImplicitlyRestartedLanczos.h b/lib/algorithms/iterative/ImplicitlyRestartedLanczos.h
index 1a1a0a16..5d6deae0 100644
--- a/lib/algorithms/iterative/ImplicitlyRestartedLanczos.h
+++ b/lib/algorithms/iterative/ImplicitlyRestartedLanczos.h
@@ -31,7 +31,11 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 
 #include <string.h> //memset
 #ifdef USE_LAPACK
-#include <lapacke.h>
+void LAPACK_dstegr(char *jobz, char *range, int *n, double *d, double *e,
+                   double *vl, double *vu, int *il, int *iu, double *abstol,
+                   int *m, double *w, double *z, int *ldz, int *isuppz,
+                   double *work, int *lwork, int *iwork, int *liwork,
+                   int *info);
 #endif
 #include "DenseMatrix.h"
 #include "EigenSort.h"

From 66d832c7339444799452fd8d3510b1d46b88978c Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Mon, 31 Oct 2016 16:39:29 +0000
Subject: [PATCH 260/295] FFTW header fix

---
 lib/FFT.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index 8d359cba..f9f91ea6 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -30,7 +30,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #define _GRID_FFT_H_
 
 #ifdef HAVE_FFTW	
-#include <fftw/fftw3.h>
+#include <Grid/fftw/fftw3.h>
 #endif
 namespace Grid {
 

From 07416e4567140655a7153914b8d5f9d69e51598f Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Mon, 31 Oct 2016 18:21:52 +0000
Subject: [PATCH 261/295] README update

---
 README.md | 112 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 94 insertions(+), 18 deletions(-)

diff --git a/README.md b/README.md
index 2a0acad6..faf86faf 100644
--- a/README.md
+++ b/README.md
@@ -16,11 +16,27 @@
 
 **Data parallel C++ mathematical object library.**
 
-Please send all pull requests to the `develop` branch.
-
 License: GPL v2.
 
-Last update 2016/08/03.
+Last update Nov 2016.
+
+_Please send all pull requests to the `develop` branch._
+
+### Bug report
+
+_To help us tracking and solving more efficiently issues with Grid, please report problems using the issue system of GitHub rather than sending emails to Grid developers._
+
+When you file an issue, please go though the following checklist:
+
+1. Check that the code is pointing to the `HEAD` of `develop` or any commit in `master` which is tagged with a version number. 
+2. Give a description of the target platform (CPU, network, compiler).
+3. Give the exact `configure` command used.
+4. Attach `config.log`.
+5. Attach `config.summary`.
+6. Attach the output of `make V=1`.
+7. Describe the issue and any previous attempt to solve it. If relevant, show how to reproduce the issue using a minimal working example.
+
+
 
 ### Description
 This library provides data parallel C++ container classes with internal memory layout
@@ -42,7 +58,7 @@ optimally use MPI, OpenMP and SIMD parallelism under the hood. This is a signifi
 for most programmers.
 
 The layout transformations are parametrised by the SIMD vector length. This adapts according to the architecture.
-Presently SSE4 (128 bit) AVX, AVX2 (256 bit) and IMCI and AVX512 (512 bit) targets are supported (ARM NEON and BG/Q QPX on the way).
+Presently SSE4 (128 bit) AVX, AVX2, QPX (256 bit), IMCI, and AVX512 (512 bit) targets are supported (ARM NEON on the way).
 
 These are presented as `vRealF`, `vRealD`, `vComplexF`, and `vComplexD` internal vector data types. These may be useful in themselves for other programmers.
 The corresponding scalar types are named `RealF`, `RealD`, `ComplexF` and `ComplexD`.
@@ -50,7 +66,7 @@ The corresponding scalar types are named `RealF`, `RealD`, `ComplexF` and `Compl
 MPI, OpenMP, and SIMD parallelism are present in the library.
 Please see https://arxiv.org/abs/1512.03487 for more detail.
 
-### Installation
+### Quick start
 First, start by cloning the repository:
 
 ``` bash
@@ -71,12 +87,10 @@ mkdir build; cd build
 ../configure --enable-precision=double --enable-simd=AVX --enable-comms=mpi-auto --prefix=<path>
 ```
 
-where `--enable-precision=` set the default precision (`single` or `double`),
-`--enable-simd=` set the SIMD type (see possible values below), `--enable-
-comms=` set the protocol used for communications (`none`, `mpi`, `mpi-auto` or
-`shmem`), and `<path>` should be replaced by the prefix path where you want to
-install Grid. The `mpi-auto` communication option set `configure` to determine
-automatically how to link to MPI. Other options are available, use `configure
+where `--enable-precision=` set the default precision,
+`--enable-simd=` set the SIMD type, `--enable-
+comms=`, and `<path>` should be replaced by the prefix path where you want to
+install Grid. Other options are detailed in the next section, you can also use `configure
 --help` to display them. Like with any other program using GNU autotool, the
 `CXX`, `CXXFLAGS`, `LDFLAGS`, ... environment variables can be modified to
 customise the build.
@@ -93,24 +107,86 @@ To minimise the build time, only the tests at the root of the `tests` directory
 make -C tests/<subdir> tests
 ```
 
+### Build configuration options
+
+- `--prefix=<path>`: installation prefix for Grid.
+- `--with-gmp=<path>`: look for GMP in the UNIX prefix `<path>`
+- `--with-mpfr=<path>`: look for MPFR in the UNIX prefix `<path>`
+- `--with-fftw=<path>`: look for FFTW in the UNIX prefix `<path>`
+- `--enable-lapack[=<path>]`: enable LAPACK support in Lanczos eigensolver. A UNIX prefix containing the library can be specified (optional).
+- `--enable-mkl[=<path>]`: use Intel MKL for FFT (and LAPACK if enabled) routines. A UNIX prefix containing the library can be specified (optional).
+- `--enable-numa`: ???
+- `--enable-simd=<code>`: setup Grid for the SIMD target `<code>` (default: `GEN`). A list of possible SIMD targets is detailed in a section below.
+- `--enable-precision={single|double}`: set the default precision (default: `double`).
+- `--enable-precision=<comm>`: Use `<comm>` for message passing (default: `none`). A list of possible SIMD targets is detailed in a section below.
+- `--enable-rng={ranlux48|mt19937}`: choose the RNG (default: `ranlux48 `).
+- `--disable-timers`: disable system dependent high-resolution timers.
+- `--enable-chroma`: enable Chroma regression tests.
+
+### Possible communication interfaces
+
+The following options can be use with the `--enable-simd=` option to target different communication interfaces:
+
+| `<comm>`      | Description                                  |
+| ------------- | -------------------------------------------- |
+| `none`        | no communications                            |
+| `mpi[-auto]`  | MPI communications                           |
+| `mpi3[-auto]` | MPI communications using MPI 3 shared memory |
+| `shmem `      | Cray SHMEM communications                    |
+
+For `mpi` and `mpi3` the optional `-auto` suffix instructs the `configure` scripts to determine all the necessary compilation and linking flags. This is done by extracting the informations from the MPI wrapper specified in the environment variable `MPICXX` (if not specified `configure` will scan though a list of default names).
+
 ### Possible SIMD types
 
 The following options can be use with the `--enable-simd=` option to target different SIMD instruction sets:
 
-| String      | Description                            |
+| `<code>`    | Description                            |
 | ----------- | -------------------------------------- |
 | `GEN`       | generic portable vector code           |
 | `SSE4`      | SSE 4.2 (128 bit)                      |
 | `AVX`       | AVX (256 bit)                          |
-| `AVXFMA4`   | AVX (256 bit) + FMA                    |
+| `AVXFMA`    | AVX (256 bit) + FMA                    |
+| `AVXFMA4`   | AVX (256 bit) + FMA4                   |
 | `AVX2`      | AVX 2 (256 bit)                        |
 | `AVX512`    | AVX 512 bit                            |
-| `AVX512MIC` | AVX 512 bit for Intel MIC architecture |
-| `ICMI`      | Intel ICMI instructions (512 bit)      |
+| `QPX`       | QPX (256 bit)                          |
 
 Alternatively, some CPU codenames can be directly used:
 
-| String      | Description                            |
+| `<code>`    | Description                            |
 | ----------- | -------------------------------------- |
-| `KNC`       | [Intel Knights Corner](http://ark.intel.com/products/codename/57721/Knights-Corner) |
-| `KNL`       | [Intel Knights Landing](http://ark.intel.com/products/codename/48999/Knights-Landing) |
\ No newline at end of file
+| `KNC`       | [Intel Xeon Phi codename Knights Corner](http://ark.intel.com/products/codename/57721/Knights-Corner) |
+| `KNL`       | [Intel Xeon Phi codename Knights Landing](http://ark.intel.com/products/codename/48999/Knights-Landing) |
+| `BGQ`       | Blue Gene/Q                            |
+
+#### Notes:
+- We currently support AVX512 only for the Intel compiler. Support for GCC and clang will appear in future versions.
+- For BG/Q only [bgclang](http://trac.alcf.anl.gov/projects/llvm-bgq) is supported. We do not presently plan to support more compilers for this platform.
+- BG/Q performances are currently rather poor. This is being investigated for future versions.
+
+### Build setup for Intel Knights Landing platform
+
+The following configuration is recommended for the Intel Knights Landing platform:
+
+``` bash
+../configure --enable-precision=double\
+             --enable-simd=KNL        \
+             --enable-comms=mpi3-auto \
+             --with-gmp=<path>        \
+             --with-mpfr=<path>       \
+             --enable-mkl             \
+             CXX=icpc MPICXX=mpiicpc
+```
+
+where `<path>` is the UNIX prefix where GMP and MPFR are installed. If you are working on a Cray machine that does not use the `mpiicpc` wrapper, please use:
+
+``` bash
+../configure --enable-precision=double\
+             --enable-simd=KNL        \
+             --enable-comms=mpi3      \
+             --with-gmp=<path>        \
+             --with-mpfr=<path>       \
+             --enable-mkl             \
+             CXX=CC CC=cc
+```
+

From 791cb050c8e79bd0994e474044da5f055a9c05e8 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Tue, 1 Nov 2016 11:35:43 +0000
Subject: [PATCH 262/295] Comms improvements

---
 benchmarks/Benchmark_comms.cc                |  86 ++-
 bootstrap.sh                                 |   6 -
 configure.ac                                 |   4 +
 lib/Cshift.h                                 |   4 +
 lib/Makefile.am                              |   5 +
 lib/communicator/Communicator_base.cc        |  15 +-
 lib/communicator/Communicator_base.h         |  43 +-
 lib/communicator/Communicator_mpi.cc         |  12 +-
 lib/communicator/Communicator_mpi3.cc        |  12 +-
 lib/communicator/Communicator_mpi3_leader.cc | 733 +++++++++++++++++++
 lib/communicator/Communicator_none.cc        |   8 +-
 lib/communicator/Communicator_shmem.cc       |  31 +-
 scripts/arm_configure.experimental           |   1 -
 scripts/arm_configure.experimental_cortex57  |   3 -
 scripts/bench_wilson.sh                      |   9 -
 scripts/build-all                            |  46 --
 scripts/configure-all                        |  11 -
 scripts/configure-commands                   |  89 ---
 scripts/configure-cray                       |  10 -
 scripts/configure-mic                        |  10 -
 scripts/copyright                            |  16 +-
 scripts/cray-modules                         |   2 -
 scripts/reconfigure_script                   |   4 -
 scripts/update_fftw.sh                       |  18 -
 scripts/wilson.gnu                           |   7 -
 25 files changed, 898 insertions(+), 287 deletions(-)
 create mode 100644 lib/communicator/Communicator_mpi3_leader.cc
 delete mode 100644 scripts/arm_configure.experimental
 delete mode 100644 scripts/arm_configure.experimental_cortex57
 delete mode 100755 scripts/bench_wilson.sh
 delete mode 100755 scripts/build-all
 delete mode 100755 scripts/configure-all
 delete mode 100755 scripts/configure-commands
 delete mode 100755 scripts/configure-cray
 delete mode 100755 scripts/configure-mic
 delete mode 100644 scripts/cray-modules
 delete mode 100755 scripts/reconfigure_script
 delete mode 100755 scripts/update_fftw.sh
 delete mode 100644 scripts/wilson.gnu

diff --git a/benchmarks/Benchmark_comms.cc b/benchmarks/Benchmark_comms.cc
index d0cd96c7..234d2fbb 100644
--- a/benchmarks/Benchmark_comms.cc
+++ b/benchmarks/Benchmark_comms.cc
@@ -42,14 +42,13 @@ int main (int argc, char ** argv)
 
   int Nloop=10;
   int nmu=0;
-  for(int mu=0;mu<4;mu++) if (mpi_layout[mu]>1) nmu++;
+  for(int mu=0;mu<Nd;mu++) if (mpi_layout[mu]>1) nmu++;
+
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
   std::cout<<GridLogMessage << "= Benchmarking concurrent halo exchange in "<<nmu<<" dimensions"<<std::endl;
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
   std::cout<<GridLogMessage << "  L  "<<"\t\t"<<" Ls  "<<"\t\t"<<"bytes"<<"\t\t"<<"MB/s uni"<<"\t\t"<<"MB/s bidi"<<std::endl;
 
-
-
   for(int lat=4;lat<=32;lat+=2){
     for(int Ls=1;Ls<=16;Ls*=2){
 
@@ -194,6 +193,87 @@ int main (int argc, char ** argv)
     }
   }  
 
+
+  std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
+  std::cout<<GridLogMessage << "= Benchmarking concurrent STENCIL halo exchange in "<<nmu<<" dimensions"<<std::endl;
+  std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
+  std::cout<<GridLogMessage << "  L  "<<"\t\t"<<" Ls  "<<"\t\t"<<"bytes"<<"\t\t"<<"MB/s uni"<<"\t\t"<<"MB/s bidi"<<std::endl;
+
+  for(int lat=4;lat<=32;lat+=2){
+    for(int Ls=1;Ls<=16;Ls*=2){
+
+      std::vector<int> latt_size  ({lat*mpi_layout[0],
+      				    lat*mpi_layout[1],
+      				    lat*mpi_layout[2],
+      				    lat*mpi_layout[3]});
+
+      GridCartesian     Grid(latt_size,simd_layout,mpi_layout);
+
+      std::vector<HalfSpinColourVectorD *> xbuf(8);
+      std::vector<HalfSpinColourVectorD *> rbuf(8);
+      Grid.ShmBufferFreeAll();
+      for(int d=0;d<8;d++){
+	xbuf[d] = (HalfSpinColourVectorD *)Grid.ShmBufferMalloc(lat*lat*lat*Ls*sizeof(HalfSpinColourVectorD));
+	rbuf[d] = (HalfSpinColourVectorD *)Grid.ShmBufferMalloc(lat*lat*lat*Ls*sizeof(HalfSpinColourVectorD));
+      }
+
+      int ncomm;
+      int bytes=lat*lat*lat*Ls*sizeof(HalfSpinColourVectorD);
+
+      double start=usecond();
+      for(int i=0;i<Nloop;i++){
+
+	std::vector<CartesianCommunicator::CommsRequest_t> requests;
+
+	ncomm=0;
+	for(int mu=0;mu<4;mu++){
+	
+	  if (mpi_layout[mu]>1 ) {
+	  
+	    ncomm++;
+	    int comm_proc=1;
+	    int xmit_to_rank;
+	    int recv_from_rank;
+	    
+	    Grid.ShiftedRanks(mu,comm_proc,xmit_to_rank,recv_from_rank);
+	    Grid.StencilSendToRecvFromBegin(requests,
+					    (void *)&xbuf[mu][0],
+					    xmit_to_rank,
+					    (void *)&rbuf[mu][0],
+					    recv_from_rank,
+					    bytes);
+	
+	    comm_proc = mpi_layout[mu]-1;
+	  
+	    Grid.ShiftedRanks(mu,comm_proc,xmit_to_rank,recv_from_rank);
+	    Grid.StencilSendToRecvFromBegin(requests,
+					    (void *)&xbuf[mu+4][0],
+					    xmit_to_rank,
+					    (void *)&rbuf[mu+4][0],
+					    recv_from_rank,
+					    bytes);
+	  
+	  }
+	}
+	Grid.StencilSendToRecvFromComplete(requests);
+	Grid.Barrier();
+
+      }
+      double stop=usecond();
+
+      double dbytes    = bytes;
+      double xbytes    = Nloop*dbytes*2.0*ncomm;
+      double rbytes    = xbytes;
+      double bidibytes = xbytes+rbytes;
+
+      double time = stop-start; // microseconds
+
+      std::cout<<GridLogMessage << lat<<"\t\t"<<Ls<<"\t\t"<<bytes<<"\t\t"<<xbytes/time<<"\t\t"<<bidibytes/time<<std::endl;
+    }
+  }    
+
+
+
 #if 0
 
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
diff --git a/bootstrap.sh b/bootstrap.sh
index f847b7ab..7361161a 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,18 +1,12 @@
 #!/usr/bin/env bash
 
 EIGEN_URL='http://bitbucket.org/eigen/eigen/get/3.2.9.tar.bz2'
-FFTW_URL=http://www.fftw.org/fftw-3.3.4.tar.gz
 
 echo "-- deploying Eigen source..."
 wget ${EIGEN_URL} --no-check-certificate
 ./scripts/update_eigen.sh `basename ${EIGEN_URL}`
 rm `basename ${EIGEN_URL}`
 
-echo "-- copying fftw prototypes..."
-wget ${FFTW_URL}
-./scripts/update_fftw.sh `basename ${FFTW_URL}`
-rm `basename ${FFTW_URL}`
-
 echo '-- generating Make.inc files...'
 ./scripts/filelist
 echo '-- generating configure script...'
diff --git a/configure.ac b/configure.ac
index d6340a71..9587d271 100644
--- a/configure.ac
+++ b/configure.ac
@@ -247,6 +247,9 @@ case ${ac_COMMS} in
      mpi3)
        AC_DEFINE([GRID_COMMS_MPI3],[1],[GRID_COMMS_MPI3] )
      ;;
+     mpi3l)
+       AC_DEFINE([GRID_COMMS_MPI3L],[1],[GRID_COMMS_MPI3L] )
+     ;;
      shmem)
        AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
      ;;
@@ -257,6 +260,7 @@ esac
 AM_CONDITIONAL(BUILD_COMMS_SHMEM,[ test "X${ac_COMMS}X" == "XshmemX" ])
 AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" || test "X${ac_COMMS}X" == "Xmpi-autoX" ])
 AM_CONDITIONAL(BUILD_COMMS_MPI3,[ test "X${ac_COMMS}X" == "Xmpi3X"] )
+AM_CONDITIONAL(BUILD_COMMS_MPI3L,[ test "X${ac_COMMS}X" == "Xmpi3lX"] )
 AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
 
 ############### RNG selection
diff --git a/lib/Cshift.h b/lib/Cshift.h
index 4eeb6cea..cd162e35 100644
--- a/lib/Cshift.h
+++ b/lib/Cshift.h
@@ -42,6 +42,10 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #include <Grid/cshift/Cshift_mpi.h>
 #endif 
 
+#ifdef GRID_COMMS_MPI3L
+#include <Grid/cshift/Cshift_mpi.h>
+#endif 
+
 #ifdef GRID_COMMS_SHMEM
 #include <Grid/cshift/Cshift_mpi.h> // uses same implementation of communicator
 #endif 
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 3285a545..a779135f 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -9,6 +9,11 @@ if BUILD_COMMS_MPI3
   extra_sources+=communicator/Communicator_base.cc
 endif
 
+if BUILD_COMMS_MPI3L
+  extra_sources+=communicator/Communicator_mpi3_leader.cc
+  extra_sources+=communicator/Communicator_base.cc
+endif
+
 if BUILD_COMMS_SHMEM
   extra_sources+=communicator/Communicator_shmem.cc
   extra_sources+=communicator/Communicator_base.cc
diff --git a/lib/communicator/Communicator_base.cc b/lib/communicator/Communicator_base.cc
index 9810987d..77b4f800 100644
--- a/lib/communicator/Communicator_base.cc
+++ b/lib/communicator/Communicator_base.cc
@@ -31,13 +31,6 @@ namespace Grid {
 ///////////////////////////////////////////////////////////////
 // Info that is setup once and indept of cartesian layout
 ///////////////////////////////////////////////////////////////
-int CartesianCommunicator::ShmRank;
-int CartesianCommunicator::ShmSize;
-int CartesianCommunicator::GroupRank;
-int CartesianCommunicator::GroupSize;
-int CartesianCommunicator::WorldRank;
-int CartesianCommunicator::WorldSize;
-int CartesianCommunicator::Slave;
 void *              CartesianCommunicator::ShmCommBuf;
 
 /////////////////////////////////
@@ -70,12 +63,6 @@ int                      CartesianCommunicator::ProcessorCount(void)    { return
 ////////////////////////////////////////////////////////////////////////////////
 // very VERY rarely (Log, serial RNG) we need world without a grid
 ////////////////////////////////////////////////////////////////////////////////
-int  CartesianCommunicator::RankWorld(void){ return WorldRank; };
-int CartesianCommunicator::Ranks    (void) { return WorldSize; };
-int CartesianCommunicator::Nodes    (void) { return GroupSize; };
-int CartesianCommunicator::Cores    (void) { return ShmSize;   };
-int CartesianCommunicator::NodeRank (void) { return GroupRank; };
-int CartesianCommunicator::CoreRank (void) { return ShmRank;   };
 
 void CartesianCommunicator::GlobalSum(ComplexF &c)
 {
@@ -94,7 +81,7 @@ void CartesianCommunicator::GlobalSumVector(ComplexD *c,int N)
   GlobalSumVector((double *)c,2*N);
 }
 
-#ifndef GRID_COMMS_MPI3
+#if !defined( GRID_COMMS_MPI3) && !defined (GRID_COMMS_MPI3L)
 
 void CartesianCommunicator::StencilSendToRecvFromBegin(std::vector<CommsRequest_t> &list,
 						       void *xmit,
diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index 9a15d2b0..d4bb50d9 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -1,3 +1,4 @@
+
     /*************************************************************************************
 
     Grid physics library, www.github.com/paboyle/Grid 
@@ -37,6 +38,9 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifdef GRID_COMMS_MPI3
 #include <mpi.h>
 #endif
+#ifdef GRID_COMMS_MPI3L
+#include <mpi.h>
+#endif
 #ifdef GRID_COMMS_SHMEM
 #include <mpp/shmem.h>
 #endif
@@ -60,9 +64,9 @@ class CartesianCommunicator {
   std::vector<int> _processor_coor;  // linear processor coordinate
   unsigned long _ndimension;
 
-#if defined (GRID_COMMS_MPI) || defined (GRID_COMMS_MPI3)
-  MPI_Comm communicator;
+#if defined (GRID_COMMS_MPI) || defined (GRID_COMMS_MPI3) || defined (GRID_COMMS_MPI3L)
   static MPI_Comm communicator_world;
+         MPI_Comm communicator;
   typedef MPI_Request CommsRequest_t;
 #else 
   typedef int CommsRequest_t;
@@ -75,7 +79,15 @@ class CartesianCommunicator {
   // cartesian communicator on a subset of ranks, slave ranks controlled
   // by group leader with data xfer via shared memory
   ////////////////////////////////////////////////////////////////////
-#ifdef  GRID_COMMS_MPI3
+#ifdef GRID_COMMS_MPI3
+
+  static int ShmRank;
+  static int ShmSize;
+  static int GroupRank;
+  static int GroupSize;
+  static int WorldRank;
+  static int WorldSize;
+
   std::vector<int>  WorldDims;
   std::vector<int>  GroupDims;
   std::vector<int>  ShmDims;
@@ -83,7 +95,7 @@ class CartesianCommunicator {
   std::vector<int> GroupCoor;
   std::vector<int> ShmCoor;
   std::vector<int> WorldCoor;
-  
+
   static std::vector<int> GroupRanks; 
   static std::vector<int> MyGroup;
   static int ShmSetup;
@@ -93,13 +105,20 @@ class CartesianCommunicator {
   std::vector<int>  LexicographicToWorldRank;
   
   static std::vector<void *> ShmCommBufs;
+
 #else 
   static void ShmInitGeneric(void);
   static commVector<uint8_t> ShmBufStorageVector;
 #endif 
+
+  /////////////////////////////////
+  // Grid information and queries
+  // Implemented in Communicator_base.C
+  /////////////////////////////////
   static void * ShmCommBuf;
   size_t heap_top;
   size_t heap_bytes;
+
   void *ShmBufferSelf(void);
   void *ShmBuffer(int rank);
   void *ShmBufferTranslate(int rank,void * local_p);
@@ -123,28 +142,12 @@ class CartesianCommunicator {
   int  RankFromProcessorCoor(std::vector<int> &coor);
   void ProcessorCoorFromRank(int rank,std::vector<int> &coor);
   
-  /////////////////////////////////
-  // Grid information and queries
-  /////////////////////////////////
-  static int ShmRank;
-  static int ShmSize;
-  static int GroupSize;
-  static int GroupRank;
-  static int WorldRank;
-  static int WorldSize;
-  static int Slave;
-  
   int                      IsBoss(void)            ;
   int                      BossRank(void)          ;
   int                      ThisRank(void)          ;
   const std::vector<int> & ThisProcessorCoor(void) ;
   const std::vector<int> & ProcessorGrid(void)     ;
   int                      ProcessorCount(void)    ;
-  static int Ranks    (void);
-  static int Nodes    (void);
-  static int Cores    (void);
-  static int NodeRank (void);
-  static int CoreRank (void);
 
   ////////////////////////////////////////////////////////////////////////////////
   // very VERY rarely (Log, serial RNG) we need world without a grid
diff --git a/lib/communicator/Communicator_mpi.cc b/lib/communicator/Communicator_mpi.cc
index a638eebb..65ced9c7 100644
--- a/lib/communicator/Communicator_mpi.cc
+++ b/lib/communicator/Communicator_mpi.cc
@@ -44,13 +44,6 @@ void CartesianCommunicator::Init(int *argc, char ***argv) {
     MPI_Init(argc,argv);
   }
   MPI_Comm_dup (MPI_COMM_WORLD,&communicator_world);
-  MPI_Comm_rank(communicator_world,&WorldRank);
-  MPI_Comm_size(communicator_world,&WorldSize);
-  ShmRank=0;
-  ShmSize=1;
-  GroupRank=WorldRank;
-  GroupSize=WorldSize;
-  Slave    =0;
   ShmInitGeneric();
 }
 
@@ -198,6 +191,11 @@ void CartesianCommunicator::Broadcast(int root,void* data, int bytes)
   // Should only be used prior to Grid Init finished.
   // Check for this?
   ///////////////////////////////////////////////////////
+int CartesianCommunicator::RankWorld(void){ 
+  int r; 
+  MPI_Comm_rank(communicator_world,&r);
+  return r;
+}
 void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes)
 {
   int ierr= MPI_Bcast(data,
diff --git a/lib/communicator/Communicator_mpi3.cc b/lib/communicator/Communicator_mpi3.cc
index 14a152ab..c707ec1f 100644
--- a/lib/communicator/Communicator_mpi3.cc
+++ b/lib/communicator/Communicator_mpi3.cc
@@ -30,12 +30,18 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 
 namespace Grid {
 
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // Info that is setup once and indept of cartesian layout
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 int CartesianCommunicator::ShmSetup = 0;
 
+int CartesianCommunicator::ShmRank;
+int CartesianCommunicator::ShmSize;
+int CartesianCommunicator::GroupRank;
+int CartesianCommunicator::GroupSize;
+int CartesianCommunicator::WorldRank;
+int CartesianCommunicator::WorldSize;
+
 MPI_Comm CartesianCommunicator::communicator_world;
 MPI_Comm CartesianCommunicator::ShmComm;
 MPI_Win  CartesianCommunicator::ShmWindow;
@@ -97,15 +103,15 @@ void CartesianCommunicator::Init(int *argc, char ***argv) {
   
   std::vector<int> world_ranks(WorldSize); 
   GroupRanks.resize(WorldSize); 
-  MyGroup.resize(ShmSize);
   for(int r=0;r<WorldSize;r++) world_ranks[r]=r;
   
   MPI_Group_translate_ranks (WorldGroup,WorldSize,&world_ranks[0],ShmGroup, &GroupRanks[0]); 
 
   ///////////////////////////////////////////////////////////////////
   // Identify who is in my group and noninate the leader
-    ///////////////////////////////////////////////////////////////////
+  ///////////////////////////////////////////////////////////////////
   int g=0;
+  MyGroup.resize(ShmSize);
   for(int rank=0;rank<WorldSize;rank++){
     if(GroupRanks[rank]!=MPI_UNDEFINED){
       assert(g<ShmSize);
diff --git a/lib/communicator/Communicator_mpi3_leader.cc b/lib/communicator/Communicator_mpi3_leader.cc
new file mode 100644
index 00000000..50e63eb7
--- /dev/null
+++ b/lib/communicator/Communicator_mpi3_leader.cc
@@ -0,0 +1,733 @@
+    /*************************************************************************************
+
+    Grid physics library, www.github.com/paboyle/Grid 
+
+    Source file: ./lib/communicator/Communicator_mpi.cc
+
+    Copyright (C) 2015
+
+Author: Peter Boyle <paboyle@ph.ed.ac.uk>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+    See the full license in the file "LICENSE" in the top level distribution directory
+    *************************************************************************************/
+    /*  END LEGAL */
+#include "Grid.h"
+#include <mpi.h>
+
+namespace Grid {
+
+enum { COMMAND_ISEND, COMMAND_IRECV, COMMAND_WAITALL };
+
+struct Descriptor {
+  uint64_t buf;
+  size_t bytes;
+  int rank;
+  int tag;
+  int command;
+  MPI_Request request;
+};
+
+const int pool = 48;
+
+class SlaveState {
+public:
+  volatile int head;
+  volatile int start;
+  volatile int tail;
+  volatile Descriptor Descrs[pool];
+};
+
+class Slave {
+public:
+  SlaveState *state;
+  MPI_Comm squadron;
+  uint64_t     base;
+  ////////////////////////////////////////////////////////////
+  // Descriptor circular pointers
+  ////////////////////////////////////////////////////////////
+  Slave() {};
+
+  void Init(SlaveState * _state,MPI_Comm _squadron);
+  
+  void EventLoop (void) {
+    std::cerr<< " Entering even loop "<<std::endl;
+    while(1) {
+      Event();
+    }
+  }
+
+  void Event (void) ;
+
+  uint64_t QueueCommand(int command,void *buf, int bytes, int hashtag, MPI_Comm comm,int rank) ;
+
+  void WaitAll() {
+    QueueCommand(COMMAND_WAITALL,0,0,0,squadron,0);
+    std::cerr<< " Waiting on FIFO drain "<<std::endl;
+    while ( state->tail != state->head );
+    std::cerr<< " FIFO drained "<< state->tail <<std::endl;
+  }
+};
+
+////////////////////////////////////////////////////////////////////////
+// One instance of a data mover.
+// Master and Slave must agree on location in shared memory
+////////////////////////////////////////////////////////////////////////
+
+class MPIoffloadEngine { 
+public:
+
+  static std::vector<Slave> Slaves;
+
+  static int ShmSetup;
+  
+  static int UniverseRank;
+  static int UniverseSize;
+  
+  static MPI_Comm communicator_universe;
+  static MPI_Comm communicator_cached;
+
+  static MPI_Comm HorizontalComm;
+  static int HorizontalRank;
+  static int HorizontalSize;
+  
+  static MPI_Comm VerticalComm;
+  static MPI_Win  VerticalWindow; 
+  static int VerticalSize;
+  static int VerticalRank;
+  
+  static std::vector<void *> VerticalShmBufs;
+  static std::vector<std::vector<int> > UniverseRanks;
+  static std::vector<int> UserCommunicatorToWorldRanks; 
+  
+  static MPI_Group WorldGroup, CachedGroup;
+  
+  static void CommunicatorInit (MPI_Comm &communicator_world,
+				MPI_Comm &ShmComm,
+				void * &ShmCommBuf);
+
+  static void MapCommRankToWorldRank(int &hashtag, int & comm_world_peer,int tag, MPI_Comm comm,int rank);
+
+  /////////////////////////////////////////////////////////
+  // routines for master proc must handle any communicator
+  /////////////////////////////////////////////////////////
+
+  static uint64_t QueueSend(int slave,void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
+    std::cerr<< " Queueing send  "<< bytes<<std::endl;
+    return Slaves[slave].QueueCommand(COMMAND_ISEND,buf,bytes,tag,comm,rank);
+  };
+
+  static uint64_t QueueRecv(int slave, void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
+    std::cerr<< " Queueing receive  "<< bytes<<std::endl;
+    return Slaves[slave].QueueCommand(COMMAND_IRECV,buf,bytes,tag,comm,rank);
+  };
+
+  static void WaitAll() {
+    for(int s=1;s<VerticalSize;s++) {
+      Slaves[s].WaitAll();
+    }
+  };
+
+  static void GetWork(int nwork, int me, int & mywork, int & myoff,int units){
+    int basework = nwork/units;
+    int backfill = units-(nwork%units);
+    if ( me >= units ) { 
+      mywork = myoff = 0;
+    } else { 
+      mywork = (nwork+me)/units;
+      myoff  = basework * me;
+      if ( me > backfill ) 
+	myoff+= (me-backfill);
+    }
+    return;
+  };
+
+  static void QueueMultiplexedSend(void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
+    uint8_t * cbuf = (uint8_t *) buf;
+    int mywork, myoff, procs;
+    procs = VerticalSize-1;
+    for(int s=0;s<procs;s++) {
+      GetWork(bytes,s,mywork,myoff,procs);
+      QueueSend(s+1,&cbuf[myoff],mywork,tag,comm,rank);
+    }
+  };
+
+  static void QueueMultiplexedRecv(void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
+    uint8_t * cbuf = (uint8_t *) buf;
+    int mywork, myoff, procs;
+    procs = VerticalSize-1;
+    for(int s=0;s<procs;s++) {
+      GetWork(bytes,s,mywork,myoff,procs);
+      QueueRecv(s+1,&cbuf[myoff],mywork,tag,comm,rank);
+    }
+  };
+
+};
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Info that is setup once and indept of cartesian layout
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+std::vector<Slave> MPIoffloadEngine::Slaves;
+    
+int MPIoffloadEngine::UniverseRank;
+int MPIoffloadEngine::UniverseSize;
+
+MPI_Comm  MPIoffloadEngine::communicator_universe;
+MPI_Comm  MPIoffloadEngine::communicator_cached;
+MPI_Group MPIoffloadEngine::WorldGroup;
+MPI_Group MPIoffloadEngine::CachedGroup;
+
+MPI_Comm MPIoffloadEngine::HorizontalComm;
+int      MPIoffloadEngine::HorizontalRank;
+int      MPIoffloadEngine::HorizontalSize;
+
+MPI_Comm MPIoffloadEngine::VerticalComm;
+MPI_Win  MPIoffloadEngine::VerticalWindow; 
+int      MPIoffloadEngine::VerticalSize;
+int      MPIoffloadEngine::VerticalRank;
+
+std::vector<void *>            MPIoffloadEngine::VerticalShmBufs;
+std::vector<std::vector<int> > MPIoffloadEngine::UniverseRanks;
+std::vector<int>               MPIoffloadEngine::UserCommunicatorToWorldRanks; 
+
+int MPIoffloadEngine::ShmSetup = 0;
+
+void MPIoffloadEngine::CommunicatorInit (MPI_Comm &communicator_world,
+					 MPI_Comm &ShmComm,
+					 void * &ShmCommBuf)
+{      
+  int flag;
+  assert(ShmSetup==0);  
+  
+  //////////////////////////////////////////////////////////////////////
+  // Universe is all nodes prior to squadron grouping
+  //////////////////////////////////////////////////////////////////////
+  MPI_Comm_dup (MPI_COMM_WORLD,&communicator_universe);
+  MPI_Comm_rank(communicator_universe,&UniverseRank);
+  MPI_Comm_size(communicator_universe,&UniverseSize);
+  
+  /////////////////////////////////////////////////////////////////////
+  // Split into groups that can share memory (Verticals)
+  /////////////////////////////////////////////////////////////////////
+  //  MPI_Comm_split_type(communicator_universe, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL,&VerticalComm);
+  MPI_Comm_split(communicator_universe,(UniverseRank&0x1),UniverseRank,&VerticalComm);
+  MPI_Comm_rank(VerticalComm     ,&VerticalRank);
+  MPI_Comm_size(VerticalComm     ,&VerticalSize);
+  
+  //////////////////////////////////////////////////////////////////////
+  // Split into horizontal groups by rank in squadron
+  //////////////////////////////////////////////////////////////////////
+  MPI_Comm_split(communicator_universe,VerticalRank,UniverseRank,&HorizontalComm);
+  MPI_Comm_rank(HorizontalComm,&HorizontalRank);
+  MPI_Comm_size(HorizontalComm,&HorizontalSize);
+  assert(HorizontalSize*VerticalSize==UniverseSize);
+  
+  ////////////////////////////////////////////////////////////////////////////////
+  // What is my place in the world
+  ////////////////////////////////////////////////////////////////////////////////
+  int WorldRank=0;
+  if(VerticalRank==0) WorldRank = HorizontalRank;
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,&WorldRank,1,MPI_INT,MPI_SUM,VerticalComm);
+  assert(ierr==0);
+  
+  ////////////////////////////////////////////////////////////////////////////////
+  // Where is the world in the universe?
+  ////////////////////////////////////////////////////////////////////////////////
+  UniverseRanks = std::vector<std::vector<int> >(HorizontalSize,std::vector<int>(VerticalSize,0));
+  UniverseRanks[WorldRank][VerticalRank] = UniverseRank;
+  for(int w=0;w<HorizontalSize;w++){
+    ierr=MPI_Allreduce(MPI_IN_PLACE,&UniverseRanks[w][0],VerticalSize,MPI_INT,MPI_SUM,communicator_universe);
+    assert(ierr==0);
+  }
+  
+  //////////////////////////////////////////////////////////////////////////////////////////////////////////
+  // allocate the shared window for our group, pass back Shm info to CartesianCommunicator
+  //////////////////////////////////////////////////////////////////////////////////////////////////////////
+  ierr = MPI_Win_allocate_shared(CartesianCommunicator::MAX_MPI_SHM_BYTES,1,MPI_INFO_NULL,VerticalComm,&ShmCommBuf,&VerticalWindow);
+  ierr|= MPI_Win_lock_all (MPI_MODE_NOCHECK, VerticalWindow);
+  assert(ierr==0);
+  
+  std::cerr<<"SHM "<<ShmCommBuf<<std::endl;
+
+  VerticalShmBufs.resize(VerticalSize);
+  for(int r=0;r<VerticalSize;r++){
+    MPI_Aint sz;
+    int dsp_unit;
+    MPI_Win_shared_query (VerticalWindow, r, &sz, &dsp_unit, &VerticalShmBufs[r]);
+    std::cerr<<"SHM "<<r<<" " <<VerticalShmBufs[r]<<std::endl;
+  }
+
+  //////////////////////////////////////////////////////////////////////
+  // Map rank of leader on node in their in new world, to the
+  // rank in this vertical plane's horizontal communicator
+  //////////////////////////////////////////////////////////////////////
+  communicator_world = HorizontalComm;
+  ShmComm            = VerticalComm;
+  ShmCommBuf         = VerticalShmBufs[0];
+  MPI_Comm_group (communicator_world, &WorldGroup); 
+  
+  ///////////////////////////////////////////////////////////
+  // Start the slave data movers
+  ///////////////////////////////////////////////////////////
+  if ( VerticalRank != 0 ) {
+    Slave indentured;
+    indentured.Init( (SlaveState *) VerticalShmBufs[VerticalRank], VerticalComm);
+    indentured.EventLoop();
+    assert(0);
+  } else {
+    Slaves.resize(VerticalSize);
+    for(int i=1;i<VerticalSize;i++){
+      Slaves[i].Init((SlaveState *)VerticalShmBufs[i],VerticalComm);
+    }
+  }
+  
+  ///////////////////////////////////////////////////////////
+  // Verbose for now
+  ///////////////////////////////////////////////////////////
+  
+  ShmSetup=1;
+  
+  if (UniverseRank == 0){
+      
+    std::cout<<GridLogMessage << "Grid MPI-3 configuration: detected ";
+    std::cout<<UniverseSize   << " Ranks " ;
+    std::cout<<HorizontalSize << " Nodes " ;
+    std::cout<<VerticalSize   << " with ranks-per-node "<<std::endl;
+    
+    std::cout<<GridLogMessage << "Grid MPI-3 configuration: using one lead process per node " << std::endl;
+    std::cout<<GridLogMessage << "Grid MPI-3 configuration: reduced communicator has size " << HorizontalSize << std::endl;
+    
+    for(int g=0;g<HorizontalSize;g++){
+      std::cout<<GridLogMessage<<" Node "<<g<<" led by MPI rank "<< UniverseRanks[g][0]<<std::endl;
+    }
+    
+    for(int g=0;g<HorizontalSize;g++){
+      std::cout<<GridLogMessage<<" { ";
+      for(int s=0;s<VerticalSize;s++){
+	std::cout<< UniverseRanks[g][s];
+	if ( s<VerticalSize-1 ) {
+	  std::cout<<",";
+	}
+      }
+      std::cout<<" } "<<std::endl;
+    }
+  }
+};
+
+  ///////////////////////////////////////////////////////////////////////////////////////////////
+  // Map the communicator into communicator_world, and find the neighbour.
+  // Cache the mappings; cache size is 1.
+  ///////////////////////////////////////////////////////////////////////////////////////////////
+void MPIoffloadEngine::MapCommRankToWorldRank(int &hashtag, int & comm_world_peer,int tag, MPI_Comm comm,int rank) {
+
+  if ( comm == HorizontalComm ) {
+    comm_world_peer = rank;
+  } else if ( comm == communicator_cached ) {
+    comm_world_peer = UserCommunicatorToWorldRanks[rank];
+  } else { 
+    
+    int size;
+
+    MPI_Comm_size(comm,&size);
+
+    UserCommunicatorToWorldRanks.resize(size);
+
+    std::vector<int> cached_ranks(size); 
+
+    for(int r=0;r<size;r++) {
+      cached_ranks[r]=r;
+    }
+
+    communicator_cached=comm;
+    
+    MPI_Comm_group(communicator_cached, &CachedGroup);
+    
+    MPI_Group_translate_ranks(CachedGroup,size,&cached_ranks[0],WorldGroup, &UserCommunicatorToWorldRanks[0]); 
+    
+    comm_world_peer = UserCommunicatorToWorldRanks[rank];
+    
+    assert(comm_world_peer != MPI_UNDEFINED);
+  }
+
+  assert( (tag & (~0xFFFFL)) ==0); 
+  
+  uint64_t icomm = (uint64_t)comm;
+  int comm_hash = ((icomm>>0 )&0xFFFF)^((icomm>>16)&0xFFFF)
+                ^ ((icomm>>32)&0xFFFF)^((icomm>>48)&0xFFFF);
+  
+  hashtag = (comm_hash<<15) | tag;      
+
+};
+
+void Slave::Init(SlaveState * _state,MPI_Comm _squadron)
+{
+  squadron=_squadron;
+  state   =_state;
+  state->head = state->tail = state->start = 0;
+  MPI_Barrier(squadron);
+  base = (uint64_t)MPIoffloadEngine::VerticalShmBufs[0];
+  int rank; MPI_Comm_rank(_squadron,&rank);
+}
+#define PERI_PLUS(A) ( (A+1)%pool )
+void Slave::Event (void) {
+
+  static int tail_last;
+  static int head_last;
+  static int start_last;
+  int ierr;
+
+  if (   (state->tail != tail_last)
+       ||(state->head != head_last)
+       ||(state->start != start_last)
+       ) { 
+    std::cerr<< " Event loop "<< state->tail << " "<< state->start<< " "<< state->head <<std::endl;
+  }
+
+  ////////////////////////////////////////////////////
+  // Try to advance the tail pointers
+  ////////////////////////////////////////////////////
+  /*
+  int t=state->tail;
+  if ( t != state->start ) {
+    int flag=0;
+    
+    std::cerr<< " Testing tail "<< t<<" "<< (void *)&state->Descrs[t].request
+	     << " "<<state->Descrs[t].request<<std::endl;
+    //    ierr=MPI_Test((MPI_Request *)&state->Descrs[t].request,&flag,MPI_STATUS_IGNORE);
+    //    ierr=MPI_Test((MPI_Request *)&state->Descrs[t].request,&flag,MPI_STATUS_IGNORE);
+    assert(ierr==0);
+    if ( flag ) {
+      state->tail = PERI_PLUS(t);
+      std::cerr<< " Tail advanced from "<< t<<std::endl;
+      return;
+    }
+  }
+  */
+
+  ////////////////////////////////////////////////////
+  // Try to advance the start pointers
+  ////////////////////////////////////////////////////
+  int s=state->start;
+  if ( s != state->head ) {
+    switch ( state->Descrs[s].command ) {
+    case COMMAND_ISEND:
+      std::cerr<< " Send "<<s << " ptr "<< state<<" "<< state->Descrs[s].buf<< "["<<state->Descrs[s].bytes<<"]"
+	       << " to " << state->Descrs[s].rank<< " tag" << state->Descrs[s].tag
+	       << " Comm " << MPIoffloadEngine::communicator_universe<< std::endl;
+
+      std::cerr<< " Request was "<<state->Descrs[s].request<<std::endl;
+      ierr = MPI_Isend((void *)(state->Descrs[s].buf+base), 
+		       state->Descrs[s].bytes, 
+		       MPI_CHAR,
+		       state->Descrs[s].rank,
+		       state->Descrs[s].tag,
+		       MPIoffloadEngine::communicator_universe,
+		       (MPI_Request *)&state->Descrs[s].request);
+      std::cerr<< " Request is "<<state->Descrs[s].request<<std::endl;
+      std::cerr<< " Request0 is "<<state->Descrs[0].request<<std::endl;
+      assert(ierr==0);
+      state->start = PERI_PLUS(s);
+      break;
+
+    case COMMAND_IRECV:
+      std::cerr<< " Recv "<<s << " ptr "<< state<<" "<< state->Descrs[s].buf<< "["<<state->Descrs[s].bytes<<"]"
+	       << " to " << state->Descrs[s].rank<< " tag" << state->Descrs[s].tag
+	       << " Comm " << MPIoffloadEngine::communicator_universe<< std::endl;
+
+      std::cerr<< " Request was "<<state->Descrs[s].request<<std::endl;
+      ierr=MPI_Irecv((void *)(state->Descrs[s].buf+base), 
+		     state->Descrs[s].bytes, 
+		     MPI_CHAR,
+		     state->Descrs[s].rank,
+		     state->Descrs[s].tag,
+		     MPIoffloadEngine::communicator_universe,
+		     (MPI_Request *)&state->Descrs[s].request);
+      std::cerr<< " Request is "<<state->Descrs[s].request<<std::endl;
+      std::cerr<< " Request0 is "<<state->Descrs[0].request<<std::endl;
+      assert(ierr==0);
+      state->start = PERI_PLUS(s);
+      break;
+
+    case COMMAND_WAITALL:
+      std::cerr<< " Wait all "<<std::endl;
+      for(int t=state->tail;t!=s; t=PERI_PLUS(t) ){
+	std::cerr<< " Wait ["<<t<<"] "<<state->Descrs[t].request <<std::endl;
+	std::cerr<< " Request0 is "<<state->Descrs[0].request<<std::endl;
+	MPI_Wait((MPI_Request *)&state->Descrs[t].request,MPI_STATUS_IGNORE);
+      };
+      s=PERI_PLUS(s);
+      state->start = s;
+      state->tail  = s;
+      break;
+
+    default:
+      assert(0);
+      break;
+    }
+    return;
+  }
+}
+  //////////////////////////////////////////////////////////////////////////////
+  // External interaction with the queue
+  //////////////////////////////////////////////////////////////////////////////
+  
+uint64_t Slave::QueueCommand(int command,void *buf, int bytes, int tag, MPI_Comm comm,int commrank) 
+{
+  /////////////////////////////////////////
+  // Spin; if FIFO is full until not full
+  /////////////////////////////////////////
+  int head =state->head;
+  int next = PERI_PLUS(head);
+    
+  // Set up descriptor
+  int worldrank;
+  int hashtag;
+  MPI_Comm    communicator;
+  MPI_Request request;
+  
+  MPIoffloadEngine::MapCommRankToWorldRank(hashtag,commrank,tag,comm,worldrank);
+
+  int VerticalRank = MPIoffloadEngine::VerticalRank;
+  uint64_t relative= (uint64_t)buf - base;
+  state->Descrs[head].buf    = relative;
+  state->Descrs[head].bytes  = bytes;
+  state->Descrs[head].rank   = MPIoffloadEngine::UniverseRanks[worldrank][VerticalRank];
+  state->Descrs[head].tag    = hashtag;
+  state->Descrs[head].command= command;
+  std::cerr<< " QueueCommand "<<buf<<"["<<bytes<<"]" << std::endl;
+
+  // Block until FIFO has space
+  while( state->tail==next );
+
+  // Msync on weak order architectures
+  // Advance pointer
+  state->head = next;
+
+  return 0;
+}
+  
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Info that is setup once and indept of cartesian layout
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+MPI_Comm CartesianCommunicator::communicator_world;
+
+void CartesianCommunicator::Init(int *argc, char ***argv) 
+{
+  int flag;
+  MPI_Initialized(&flag); // needed to coexist with other libs apparently
+  if ( !flag ) {
+    MPI_Init(argc,argv);
+  }
+  communicator_world = MPI_COMM_WORLD;
+  MPI_Comm ShmComm;
+  MPIoffloadEngine::CommunicatorInit (communicator_world,ShmComm,ShmCommBuf);
+}
+void CartesianCommunicator::ShiftedRanks(int dim,int shift,int &source,int &dest)
+{
+  int ierr=MPI_Cart_shift(communicator,dim,shift,&source,&dest);
+  assert(ierr==0);
+}
+int CartesianCommunicator::RankFromProcessorCoor(std::vector<int> &coor)
+{
+  int rank;
+  int ierr=MPI_Cart_rank  (communicator, &coor[0], &rank);
+  assert(ierr==0);
+  return rank;
+}
+void  CartesianCommunicator::ProcessorCoorFromRank(int rank, std::vector<int> &coor)
+{
+  coor.resize(_ndimension);
+  int ierr=MPI_Cart_coords  (communicator, rank, _ndimension,&coor[0]);
+  assert(ierr==0);
+}
+
+CartesianCommunicator::CartesianCommunicator(const std::vector<int> &processors)
+{ 
+  _ndimension = processors.size();
+  std::vector<int> periodic(_ndimension,1);
+
+  _Nprocessors=1;
+  _processors = processors;
+
+  for(int i=0;i<_ndimension;i++){
+    _Nprocessors*=_processors[i];
+  }
+
+  int Size; 
+  MPI_Comm_size(communicator_world,&Size);
+  assert(Size==_Nprocessors);
+
+  _processor_coor.resize(_ndimension);
+  MPI_Cart_create(communicator_world, _ndimension,&_processors[0],&periodic[0],1,&communicator);
+  MPI_Comm_rank  (communicator,&_processor);
+  MPI_Cart_coords(communicator,_processor,_ndimension,&_processor_coor[0]);
+};
+
+void CartesianCommunicator::GlobalSum(uint32_t &u){
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,&u,1,MPI_UINT32_T,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSum(uint64_t &u){
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,&u,1,MPI_UINT64_T,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSum(float &f){
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,&f,1,MPI_FLOAT,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSumVector(float *f,int N)
+{
+  int ierr=MPI_Allreduce(MPI_IN_PLACE,f,N,MPI_FLOAT,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSum(double &d)
+{
+  int ierr = MPI_Allreduce(MPI_IN_PLACE,&d,1,MPI_DOUBLE,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+void CartesianCommunicator::GlobalSumVector(double *d,int N)
+{
+  int ierr = MPI_Allreduce(MPI_IN_PLACE,d,N,MPI_DOUBLE,MPI_SUM,communicator);
+  assert(ierr==0);
+}
+
+// Basic Halo comms primitive
+void CartesianCommunicator::SendToRecvFrom(void *xmit,
+					   int dest,
+					   void *recv,
+					   int from,
+					   int bytes)
+{
+  std::vector<CommsRequest_t> reqs(0);
+  SendToRecvFromBegin(reqs,xmit,dest,recv,from,bytes);
+  SendToRecvFromComplete(reqs);
+}
+
+void CartesianCommunicator::SendRecvPacket(void *xmit,
+					   void *recv,
+					   int sender,
+					   int receiver,
+					   int bytes)
+{
+  MPI_Status stat;
+  assert(sender != receiver);
+  int tag = sender;
+  if ( _processor == sender ) {
+    MPI_Send(xmit, bytes, MPI_CHAR,receiver,tag,communicator);
+  }
+  if ( _processor == receiver ) { 
+    MPI_Recv(recv, bytes, MPI_CHAR,sender,tag,communicator,&stat);
+  }
+}
+
+// Basic Halo comms primitive
+void CartesianCommunicator::SendToRecvFromBegin(std::vector<CommsRequest_t> &list,
+						void *xmit,
+						int dest,
+						void *recv,
+						int from,
+						int bytes)
+{
+  MPI_Request xrq;
+  MPI_Request rrq;
+  int rank = _processor;
+  int ierr;
+  ierr =MPI_Isend(xmit, bytes, MPI_CHAR,dest,_processor,communicator,&xrq);
+  ierr|=MPI_Irecv(recv, bytes, MPI_CHAR,from,from,communicator,&rrq);
+  
+  assert(ierr==0);
+
+  list.push_back(xrq);
+  list.push_back(rrq);
+}
+
+void CartesianCommunicator::StencilSendToRecvFromBegin(std::vector<CommsRequest_t> &list,
+						       void *xmit,
+						       int dest,
+						       void *recv,
+						       int from,
+						       int bytes)
+{
+  uint64_t xmit_i = (uint64_t) xmit;
+  uint64_t recv_i = (uint64_t) recv;
+  uint64_t shm    = (uint64_t) ShmCommBuf;
+  // assert xmit and recv lie in shared memory region
+  assert( (xmit_i >= shm) && (xmit_i+bytes <= shm+MAX_MPI_SHM_BYTES) );
+  assert( (recv_i >= shm) && (recv_i+bytes <= shm+MAX_MPI_SHM_BYTES) );
+  MPIoffloadEngine::QueueMultiplexedSend(xmit,bytes,_processor,communicator,dest);
+  MPIoffloadEngine::QueueMultiplexedRecv(recv,bytes,from,communicator,from);
+}
+
+
+void CartesianCommunicator::StencilSendToRecvFromComplete(std::vector<CommsRequest_t> &list)
+{
+  MPIoffloadEngine::WaitAll();
+}
+
+void CartesianCommunicator::StencilBarrier(void)
+{
+}
+
+void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &list)
+{
+  int nreq=list.size();
+  std::vector<MPI_Status> status(nreq);
+  int ierr = MPI_Waitall(nreq,&list[0],&status[0]);
+  assert(ierr==0);
+}
+
+void CartesianCommunicator::Barrier(void)
+{
+  int ierr = MPI_Barrier(communicator);
+  assert(ierr==0);
+}
+
+void CartesianCommunicator::Broadcast(int root,void* data, int bytes)
+{
+  int ierr=MPI_Bcast(data,
+		     bytes,
+		     MPI_BYTE,
+		     root,
+		     communicator);
+  assert(ierr==0);
+}
+
+void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes)
+{
+  int ierr= MPI_Bcast(data,
+		      bytes,
+		      MPI_BYTE,
+		      root,
+		      communicator_world);
+  assert(ierr==0);
+}
+
+void *CartesianCommunicator::ShmBufferSelf(void) { return ShmCommBuf; }
+
+void *CartesianCommunicator::ShmBuffer(int rank) {
+  return NULL;
+}
+void *CartesianCommunicator::ShmBufferTranslate(int rank,void * local_p) { 
+  return NULL;
+}
+
+
+};
+
diff --git a/lib/communicator/Communicator_none.cc b/lib/communicator/Communicator_none.cc
index 198c1add..0f43f1f5 100644
--- a/lib/communicator/Communicator_none.cc
+++ b/lib/communicator/Communicator_none.cc
@@ -34,13 +34,6 @@ namespace Grid {
 
 void CartesianCommunicator::Init(int *argc, char *** arv)
 {
-  WorldRank = 0;
-  WorldSize = 1;
-  ShmRank=0;
-  ShmSize=1;
-  GroupRank=WorldRank;
-  GroupSize=WorldSize;
-  Slave    =0;
   ShmInitGeneric();
 }
 
@@ -99,6 +92,7 @@ void CartesianCommunicator::SendToRecvFromComplete(std::vector<CommsRequest_t> &
   assert(0);
 }
 
+int  CartesianCommunicator::RankWorld(void){return 0;}
 void CartesianCommunicator::Barrier(void){}
 void CartesianCommunicator::Broadcast(int root,void* data, int bytes) {}
 void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes) { }
diff --git a/lib/communicator/Communicator_shmem.cc b/lib/communicator/Communicator_shmem.cc
index d5f3ed76..56e03224 100644
--- a/lib/communicator/Communicator_shmem.cc
+++ b/lib/communicator/Communicator_shmem.cc
@@ -50,11 +50,16 @@ typedef struct HandShake_t {
   uint64_t seq_remote;
 } HandShake;
 
+std::array<long,_SHMEM_REDUCE_SYNC_SIZE> make_psync_init(void) {
+  array<long,_SHMEM_REDUCE_SYNC_SIZE> ret;
+  ret.fill(SHMEM_SYNC_VALUE);
+  return ret;
+}
+static std::array<long,_SHMEM_REDUCE_SYNC_SIZE> psync_init = make_psync_init();
 
 static Vector< HandShake > XConnections;
 static Vector< HandShake > RConnections;
 
-
 void CartesianCommunicator::Init(int *argc, char ***argv) {
   shmem_init();
   XConnections.resize(shmem_n_pes());
@@ -65,13 +70,6 @@ void CartesianCommunicator::Init(int *argc, char ***argv) {
     RConnections[pe].seq_local = 0;
     RConnections[pe].seq_remote= 0;
   }
-  WorldSize = shmem_n_pes();
-  WorldRank = shmem_my_pe();
-  ShmRank=0;
-  ShmSize=1;
-  GroupRank=WorldRank;
-  GroupSize=WorldSize;
-  Slave    =0;
   shmem_barrier_all();
   ShmInitGeneric();
 }
@@ -103,7 +101,7 @@ void CartesianCommunicator::GlobalSum(uint32_t &u){
   static long long source ;
   static long long dest   ;
   static long long llwrk[_SHMEM_REDUCE_MIN_WRKDATA_SIZE];
-  static long      psync[_SHMEM_REDUCE_SYNC_SIZE];
+  static std::array<long,_SHMEM_REDUCE_SYNC_SIZE> psync =  psync_init;
 
   //  int nreduce=1;
   //  int pestart=0;
@@ -119,7 +117,7 @@ void CartesianCommunicator::GlobalSum(uint64_t &u){
   static long long source ;
   static long long dest   ;
   static long long llwrk[_SHMEM_REDUCE_MIN_WRKDATA_SIZE];
-  static long      psync[_SHMEM_REDUCE_SYNC_SIZE];
+  static std::array<long,_SHMEM_REDUCE_SYNC_SIZE> psync =  psync_init;
 
   //  int nreduce=1;
   //  int pestart=0;
@@ -135,7 +133,7 @@ void CartesianCommunicator::GlobalSum(float &f){
   static float source ;
   static float dest   ;
   static float llwrk[_SHMEM_REDUCE_MIN_WRKDATA_SIZE];
-  static long  psync[_SHMEM_REDUCE_SYNC_SIZE];
+  static std::array<long,_SHMEM_REDUCE_SYNC_SIZE> psync =  psync_init;
 
   source = f;
   dest   =0.0;
@@ -147,7 +145,7 @@ void CartesianCommunicator::GlobalSumVector(float *f,int N)
   static float source ;
   static float dest   = 0 ;
   static float llwrk[_SHMEM_REDUCE_MIN_WRKDATA_SIZE];
-  static long  psync[_SHMEM_REDUCE_SYNC_SIZE];
+  static std::array<long,_SHMEM_REDUCE_SYNC_SIZE> psync =  psync_init;
 
   if ( shmem_addr_accessible(f,_processor)  ){
     shmem_float_sum_to_all(f,f,N,0,0,_Nprocessors,llwrk,psync);
@@ -166,7 +164,7 @@ void CartesianCommunicator::GlobalSum(double &d)
   static double source;
   static double dest  ;
   static double llwrk[_SHMEM_REDUCE_MIN_WRKDATA_SIZE];
-  static long  psync[_SHMEM_REDUCE_SYNC_SIZE];
+  static std::array<long,_SHMEM_REDUCE_SYNC_SIZE> psync =  psync_init;
 
   source = d;
   dest   = 0;
@@ -178,7 +176,8 @@ void CartesianCommunicator::GlobalSumVector(double *d,int N)
   static double source ;
   static double dest   ;
   static double llwrk[_SHMEM_REDUCE_MIN_WRKDATA_SIZE];
-  static long  psync[_SHMEM_REDUCE_SYNC_SIZE];
+  static std::array<long,_SHMEM_REDUCE_SYNC_SIZE> psync =  psync_init;
+
 
   if ( shmem_addr_accessible(d,_processor)  ){
     shmem_double_sum_to_all(d,d,N,0,0,_Nprocessors,llwrk,psync);
@@ -295,7 +294,7 @@ void CartesianCommunicator::Barrier(void)
 }
 void CartesianCommunicator::Broadcast(int root,void* data, int bytes)
 {
-  static long  psync[_SHMEM_REDUCE_SYNC_SIZE];
+  static std::array<long,_SHMEM_REDUCE_SYNC_SIZE> psync =  psync_init;
   static uint32_t word;
   uint32_t *array = (uint32_t *) data;
   assert( (bytes % 4)==0);
@@ -318,7 +317,7 @@ void CartesianCommunicator::Broadcast(int root,void* data, int bytes)
 }
 void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes)
 {
-  static long  psync[_SHMEM_REDUCE_SYNC_SIZE];
+  static std::array<long,_SHMEM_REDUCE_SYNC_SIZE> psync =  psync_init;
   static uint32_t word;
   uint32_t *array = (uint32_t *) data;
   assert( (bytes % 4)==0);
diff --git a/scripts/arm_configure.experimental b/scripts/arm_configure.experimental
deleted file mode 100644
index fbad84a5..00000000
--- a/scripts/arm_configure.experimental
+++ /dev/null
@@ -1 +0,0 @@
-./configure --host=arm-linux-gnueabihf  CXX=clang++-3.5 CXXFLAGS='-std=c++11 -O3 -target arm-linux-gnueabihf -I/usr/arm-linux-gnueabihf/include/ -I/home/neo/Codes/gmp6.0/gmp-arm/include/ -I/usr/arm-linux-gnueabihf/include/c++/4.8.2/arm-linux-gnueabihf/ -L/home/neo/Codes/gmp6.0/gmp-arm/lib/ -I/home/neo/Codes/mpfr3.1.2/mpfr-arm/include/ -L/home/neo/Codes/mpfr3.1.2/mpfr-arm/lib/ -static -mcpu=cortex-a7' --enable-simd=NEONv7
diff --git a/scripts/arm_configure.experimental_cortex57 b/scripts/arm_configure.experimental_cortex57
deleted file mode 100644
index d229763e..00000000
--- a/scripts/arm_configure.experimental_cortex57
+++ /dev/null
@@ -1,3 +0,0 @@
-#./configure --host=arm-linux-gnueabihf  CXX=clang++-3.5 CXXFLAGS='-std=c++11 -O3 -target arm-linux-gnueabihf -I/usr/arm-linux-gnueabihf/include/ -I/home/neo/Codes/gmp6.0/gmp-arm/include/ -I/usr/lib/llvm-3.5/lib/clang/3.5.0/include/ -L/home/neo/Codes/gmp6.0/gmp-arm/lib/ -I/home/neo/Codes/mpfr3.1.2/mpfr-arm/include/ -L/home/neo/Codes/mpfr3.1.2/mpfr-arm/lib/ -static -mcpu=cortex-a57' --enable-simd=NEONv7
-
-./configure --host=aarch64-linux-gnu  CXX=clang++-3.5 CXXFLAGS='-std=c++11 -O3 -target aarch64-linux-gnu -static -I/home/neo/Codes/gmp6.0/gmp-armv8/include/ -L/home/neo/Codes/gmp6.0/gmp-armv8/lib/ -I/home/neo/Codes/mpfr3.1.2/mpfr-armv8/include/ -L/home/neo/Codes/mpfr3.1.2/mpfr-armv8/lib/ -I/usr/aarch64-linux-gnu/include/ -I/usr/aarch64-linux-gnu/include/c++/4.8.2/aarch64-linux-gnu/' --enable-simd=NEONv7
diff --git a/scripts/bench_wilson.sh b/scripts/bench_wilson.sh
deleted file mode 100755
index af73d591..00000000
--- a/scripts/bench_wilson.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-for omp in 1 2 4
-do
-echo > wilson.t$omp
-for vol in 4.4.4.4 4.4.4.8 4.4.8.8  4.8.8.8  8.8.8.8   8.8.8.16 8.8.16.16  8.16.16.16
-do   
-perf=` ./benchmarks/Grid_wilson --grid $vol --omp $omp  | grep mflop | awk '{print $3}'`
-echo $vol $perf >> wilson.t$omp
-done
-done
\ No newline at end of file
diff --git a/scripts/build-all b/scripts/build-all
deleted file mode 100755
index b97dca19..00000000
--- a/scripts/build-all
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash  -e
-
-DIRS="clang-avx clang-avx-openmp clang-avx-openmp-mpi clang-avx-mpi clang-avx2 clang-avx2-openmp clang-avx2-openmp-mpi clang-avx2-mpi clang-sse"
-EXTRADIRS="g++-avx g++-sse4 icpc-avx icpc-avx2 icpc-avx512"
-BLACK="\033[30m"
-RED="\033[31m"
-GREEN="\033[32m"
-YELLOW="\033[33m"
-BLUE="\033[34m"
-PINK="\033[35m"
-CYAN="\033[36m"
-WHITE="\033[37m"
-NORMAL="\033[0;39m"
-
-for D in $DIRS
-do
-
-echo
-echo -e $RED ==============================
-echo -e $GREEN $D
-echo -e $RED ==============================
-echo -e $BLUE
-
-  cd builds/$D
-  make clean all -j 8
-  cd ../../
-echo -e $NORMAL
-done
-
-if [ "X$1" == "Xextra" ]
-then
-for D in $EXTRADIRS
-do
-
-echo
-echo -e $RED ==============================
-echo -e $RED $D
-echo -e $RED ==============================
-echo -e $BLUE
-
-  cd builds/$D
-  make clean all -j 8
-  cd ../../
-echo -e $NORMAL
-done
-fi
\ No newline at end of file
diff --git a/scripts/configure-all b/scripts/configure-all
deleted file mode 100755
index ad91034d..00000000
--- a/scripts/configure-all
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-DIRS="clang-avx clang-avx-openmp clang-avx-openmp-mpi clang-avx-mpi clang-avx2 clang-avx2-openmp clang-avx2-openmp-mpi clang-avx2-mpi icpc-avx icpc-avx2 icpc-avx512 g++-sse4 g++-avx clang-sse icpc-avx-openmp-mpi icpc-avx-openmp"
-
-for D in $DIRS
-do
-  mkdir -p builds/$D
-  cd builds/$D
-  ../../scripts/configure-commands $D
-  cd ../..
-done
diff --git a/scripts/configure-commands b/scripts/configure-commands
deleted file mode 100755
index a3599d1f..00000000
--- a/scripts/configure-commands
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/bash
-WD=$1
-BLACK="\033[30m"
-RED="\033[31m"
-GREEN="\033[32m"
-YELLOW="\033[33m"
-BLUE="\033[34m"
-PINK="\033[35m"
-CYAN="\033[36m"
-WHITE="\033[37m"
-NORMAL="\033[0;39m"
-echo
-echo -e $RED ==============================
-echo -e $GREEN $WD
-echo -e $RED ==============================
-echo -e $YELLOW
-
-case $WD in
-g++-avx)
-  CXX=g++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-g++-avx-openmp)
-  CXX=g++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -std=c++11" LIBS="-fopenmp -lgmp -lmpfr" --enable-comms=none
-  ;;
-g++5-sse4)
-  CXX=g++-5 ../../configure --enable-simd=SSE4 CXXFLAGS="-msse4 -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-g++5-avx)
-  CXX=g++-5 ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-icpc-avx)
-  CXX=icpc ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-icpc-avx-openmp-mpi)
-CXX=icpc ../../configure --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -fopenmp -lgmp -lmpfr" --enable-comms=mpi
-;;
-icpc-avx-openmp)
-CXX=icpc ../../configure --enable-precision=single --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -std=c++11" LIBS="-fopenmp -lgmp -lmpfr" --enable-comms=mpi
-;;
-icpc-avx2)
-  CXX=icpc ../../configure --enable-simd=AVX2 CXXFLAGS="-march=core-avx2 -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-icpc-avx512)
-  CXX=icpc ../../configure --enable-simd=AVX512 CXXFLAGS="-xCOMMON-AVX512 -O3  -std=c++11" --host=none  LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-icpc-mic)
-  CXX=icpc ../../configure --host=none --enable-simd=IMCI CXXFLAGS="-mmic -O3  -std=c++11" LDFLAGS=-mmic LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-icpc-mic-avx512)
-  CXX=icpc ../../configure --host=none --enable-simd=IMCI CXXFLAGS="-xCOMMON_AVX512 -O3  -std=c++11" LDFLAGS=-xCOMMON_AVX512 LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-clang-sse)
-CXX=clang++ ../../configure --enable-precision=single --enable-simd=SSE4 CXXFLAGS="-msse4 -O3 -std=c++11"  LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-clang-avx)
-CXX=clang++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11"  LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-clang-avx2)
-CXX=clang++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -O3 -std=c++11"  LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-clang-avx-openmp)
-CXX=clang-omp++ ../../configure --enable-precision=double --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -std=c++11" LDFLAGS="-fopenmp"  LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-clang-xc30)
-CXX=$HOME/Clang/install/bin/clang++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11 -I/opt/gcc/4.9.2/snos/include/g++/x86_64-suse-linux/ -I/opt/gcc/4.9.2/snos/include/g++/ " LDFLAGS=""  LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-clang-xc30-openmp)
-CXX=$HOME/Clang/install/bin/clang++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -std=c++11 -I/opt/gcc/4.9.2/snos/include/g++/x86_64-suse-linux/ -I/opt/gcc/4.9.2/snos/include/g++/ " LDFLAGS="-fopenmp"  LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-clang-avx2-openmp)
-CXX=clang-omp++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -fopenmp -O3 -std=c++11" LDFLAGS="-fopenmp"  LIBS="-lgmp -lmpfr" --enable-comms=none
-  ;;
-clang-avx-openmp-mpi)
-CXX=clang-omp++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -fopenmp -lgmp -lmpfr" --enable-comms=mpi
-;;
-clang-avx2-openmp-mpi)
-CXX=clang-omp++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -fopenmp -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -fopenmp -lgmp -lmpfr" --enable-comms=mpi
-;;
-clang-avx-mpi)
-CXX=clang++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -lgmp -lmpfr" --enable-comms=mpi
-;;
-clang-avx2-mpi)
-CXX=clang++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -lgmp -lmpfr" --enable-comms=mpi
-;;
-clang-avx2)
-CXX=clang++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -O3 -std=c++11" LDFLAGS="-L/usr/local/lib/" LIBS="-lgmp -lmpfr" --enable-comms=none
-;;
-esac
-echo -e $NORMAL
diff --git a/scripts/configure-cray b/scripts/configure-cray
deleted file mode 100755
index db581493..00000000
--- a/scripts/configure-cray
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-DIRS="g++-avx-openmp g++-avx clang-xc30 clang-xc30-openmp"
-
-for D in $DIRS
-do
-  mkdir -p builds/$D
-  cd builds/$D
-  ../../scripts/configure-commands $D
-  cd ../..
-done
diff --git a/scripts/configure-mic b/scripts/configure-mic
deleted file mode 100755
index 668845fe..00000000
--- a/scripts/configure-mic
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-DIRS="build-icpc-mic"
-
-for D in $DIRS
-do
-  mkdir -p $D
- cd $D
-  ../configure-commands
-  cd ..
-done
diff --git a/scripts/copyright b/scripts/copyright
index 92772f16..cc9ed6e5 100755
--- a/scripts/copyright
+++ b/scripts/copyright
@@ -12,6 +12,7 @@ Grid physics library, www.github.com/paboyle/Grid
 Source file: $1
 
 Copyright (C) 2015
+Copyright (C) 2016
 
 EOF
 
@@ -38,8 +39,21 @@ See the full license in the file "LICENSE" in the top level distribution directo
 /*  END LEGAL */
 EOF
 
+
 cat message > tmp.fil
-cat $1 >> tmp.fil
+
+NOTICE=`grep -n "END LEGAL" $1 | awk '{ print $1 }'  `
+
+if [ "X$NOTICE" != "X" ]
+then
+    echo "found notice ending on line $NOTICE"
+    awk 'BEGIN { P=0 } { if ( P ) print } /END LEGAL/{P=1} ' $1 >> tmp.fil
+else
+    cat $1 >> tmp.fil
+      
+fi
+
+
 cp tmp.fil $1
 
 shift
diff --git a/scripts/cray-modules b/scripts/cray-modules
deleted file mode 100644
index 95de2b0b..00000000
--- a/scripts/cray-modules
+++ /dev/null
@@ -1,2 +0,0 @@
-module swap PrgEnv-cray PrgEnv-intel
-module swap intel/14.0.4.211 intel/15.0.2.164
diff --git a/scripts/reconfigure_script b/scripts/reconfigure_script
deleted file mode 100755
index d8d7212d..00000000
--- a/scripts/reconfigure_script
+++ /dev/null
@@ -1,4 +0,0 @@
-aclocal -I m4
-autoheader -f
-automake -f --add-missing
-autoconf -f
diff --git a/scripts/update_fftw.sh b/scripts/update_fftw.sh
deleted file mode 100755
index 20e42080..00000000
--- a/scripts/update_fftw.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env bash
-
-if (( $# != 1 )); then
-    echo "usage: `basename $0` <archive>" 1>&2
-    exit 1
-fi
-ARC=$1
-
-INITDIR=`pwd`
-rm -rf lib/fftw
-mkdir lib/fftw
-
-ARCDIR=`tar -tf ${ARC} | head -n1 | sed -e 's@/.*@@'`
-tar -xf ${ARC}
-cp ${ARCDIR}/api/fftw3.h lib/fftw/
-
-cd ${INITDIR}
-rm -rf ${ARCDIR}
diff --git a/scripts/wilson.gnu b/scripts/wilson.gnu
deleted file mode 100644
index 69bca5b5..00000000
--- a/scripts/wilson.gnu
+++ /dev/null
@@ -1,7 +0,0 @@
-plot 'wilson.t1' u 2 w l t "AVX1-OMP=1"
-replot 'wilson.t2' u 2 w l t "AVX1-OMP=2"
-replot 'wilson.t4' u 2 w l t "AVX1-OMP=4"
-set terminal 'pdf'
-set output 'wilson_clang.pdf'
-replot
-quit

From 7f0fc0eff5ee11e218462bab1b64a28de71c837e Mon Sep 17 00:00:00 2001
From: James Harrison <jch1g10@soton.ac.uk>
Date: Tue, 1 Nov 2016 16:02:35 +0000
Subject: [PATCH 263/295] Remove explicit use of double-precision types in
 photon.h

---
 lib/qcd/action/gauge/Photon.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/qcd/action/gauge/Photon.h b/lib/qcd/action/gauge/Photon.h
index 409569d8..852ecb3e 100644
--- a/lib/qcd/action/gauge/Photon.h
+++ b/lib/qcd/action/gauge/Photon.h
@@ -78,14 +78,14 @@ namespace QCD{
     const unsigned int nd    = grid->_ndimension;
     std::vector<int>   &l    = grid->_fdimensions;
     std::vector<int>   zm(nd,0);
-    TComplexD          Tone = ComplexD(1.0,0.0);
-    TComplexD          Tzero= ComplexD(0.0,0.0);
+    TComplex           Tone = Complex(1.0,0.0);
+    TComplex           Tzero= Complex(0.0,0.0);
     
-    one = ComplexD(1.0,0.0);
+    one = Complex(1.0,0.0);
     out = zero;
     for(int mu = 0; mu < nd; mu++)
     {
-      RealD twoPiL = M_PI*2./l[mu];
+      Real twoPiL = M_PI*2./l[mu];
       
       LatticeCoordinate(kmu,mu);
       kmu = 2.*sin(.5*twoPiL*kmu);
@@ -93,7 +93,7 @@ namespace QCD{
     }
     pokeSite(Tone, out, zm);
     out = one/out;
-    pokeSite(Tzero, out,zm);
+    pokeSite(Tzero, out, zm);
   }
   
   template<class Gimpl>
@@ -107,7 +107,7 @@ namespace QCD{
       case ZmScheme::QedTL:
       {
         std::vector<int> zm(nd,0);
-        TComplexD        Tzero = ComplexD(0.0,0.0);
+        TComplex         Tzero = Complex(0.0,0.0);
         
         pokeSite(Tzero, out, zm);
         

From bb94ddd0ebca02fb7c82b47e1befd411fafe0283 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 2 Nov 2016 08:07:09 +0000
Subject: [PATCH 264/295] Tidy up of mpi3; also some cleaning of the dslash
 controls.

---
 benchmarks/Benchmark_comms.cc                | 134 +-------------
 benchmarks/Benchmark_dwf.cc                  |  63 +++++--
 benchmarks/Benchmark_dwf_ntpf.cc             | 153 ----------------
 benchmarks/Benchmark_dwf_sweep.cc            |  16 +-
 benchmarks/Benchmark_wilson_sweep.cc         |  13 ++
 benchmarks/Benchmark_zmm.cc                  | 175 -------------------
 lib/Init.cc                                  | 156 +++++++++++------
 lib/communicator/Communicator_base.cc        |   9 +-
 lib/communicator/Communicator_base.h         |   2 +-
 lib/communicator/Communicator_mpi3_leader.cc | 147 ++++++++--------
 lib/qcd/action/fermion/WilsonKernels.cc      |   3 +-
 lib/qcd/action/fermion/WilsonKernels.h       |  80 ++++++---
 lib/stencil/Lebesgue.cc                      |   2 +-
 13 files changed, 321 insertions(+), 632 deletions(-)
 delete mode 100644 benchmarks/Benchmark_dwf_ntpf.cc
 delete mode 100644 benchmarks/Benchmark_zmm.cc

diff --git a/benchmarks/Benchmark_comms.cc b/benchmarks/Benchmark_comms.cc
index 234d2fbb..eab9b9b9 100644
--- a/benchmarks/Benchmark_comms.cc
+++ b/benchmarks/Benchmark_comms.cc
@@ -48,8 +48,8 @@ int main (int argc, char ** argv)
   std::cout<<GridLogMessage << "= Benchmarking concurrent halo exchange in "<<nmu<<" dimensions"<<std::endl;
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
   std::cout<<GridLogMessage << "  L  "<<"\t\t"<<" Ls  "<<"\t\t"<<"bytes"<<"\t\t"<<"MB/s uni"<<"\t\t"<<"MB/s bidi"<<std::endl;
-
-  for(int lat=4;lat<=32;lat+=2){
+  int maxlat=32;
+  for(int lat=4;lat<=maxlat;lat+=2){
     for(int Ls=1;Ls<=16;Ls*=2){
 
       std::vector<int> latt_size  ({lat*mpi_layout[0],
@@ -124,7 +124,7 @@ int main (int argc, char ** argv)
   std::cout<<GridLogMessage << "  L  "<<"\t\t"<<" Ls  "<<"\t\t"<<"bytes"<<"\t\t"<<"MB/s uni"<<"\t\t"<<"MB/s bidi"<<std::endl;
 
 
-  for(int lat=4;lat<=32;lat+=2){
+  for(int lat=4;lat<=maxlat;lat+=2){
     for(int Ls=1;Ls<=16;Ls*=2){
 
       std::vector<int> latt_size  ({lat,lat,lat,lat});
@@ -199,7 +199,7 @@ int main (int argc, char ** argv)
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
   std::cout<<GridLogMessage << "  L  "<<"\t\t"<<" Ls  "<<"\t\t"<<"bytes"<<"\t\t"<<"MB/s uni"<<"\t\t"<<"MB/s bidi"<<std::endl;
 
-  for(int lat=4;lat<=32;lat+=2){
+  for(int lat=4;lat<=maxlat;lat+=2){
     for(int Ls=1;Ls<=16;Ls*=2){
 
       std::vector<int> latt_size  ({lat*mpi_layout[0],
@@ -271,131 +271,5 @@ int main (int argc, char ** argv)
       std::cout<<GridLogMessage << lat<<"\t\t"<<Ls<<"\t\t"<<bytes<<"\t\t"<<xbytes/time<<"\t\t"<<bidibytes/time<<std::endl;
     }
   }    
-
-
-
-#if 0
-
-  std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
-  std::cout<<GridLogMessage << "= Benchmarking sequential persistent halo exchange in "<<nmu<<" dimensions"<<std::endl;
-  std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
-  std::cout<<GridLogMessage << "  L  "<<"\t\t"<<" Ls  "<<"\t\t"<<"bytes"<<"\t\t"<<"MB/s uni"<<"\t\t"<<"MB/s bidi"<<std::endl;
-
-
-  for(int lat=4;lat<=32;lat+=2){
-    for(int Ls=1;Ls<=16;Ls*=2){
-
-      std::vector<int> latt_size  ({lat,lat,lat,lat});
-
-      GridCartesian     Grid(latt_size,simd_layout,mpi_layout);
-
-      std::vector<std::vector<HalfSpinColourVectorD> > xbuf(8,std::vector<HalfSpinColourVectorD>(lat*lat*lat*Ls));
-      std::vector<std::vector<HalfSpinColourVectorD> > rbuf(8,std::vector<HalfSpinColourVectorD>(lat*lat*lat*Ls));
-
-
-      int ncomm;
-      int bytes=lat*lat*lat*Ls*sizeof(HalfSpinColourVectorD);
-
-
-      std::vector<CartesianCommunicator::CommsRequest_t> empty;
-      std::vector<std::vector<CartesianCommunicator::CommsRequest_t> > requests_fwd(Nd,empty);
-      std::vector<std::vector<CartesianCommunicator::CommsRequest_t> > requests_bwd(Nd,empty);
-
-      for(int mu=0;mu<4;mu++){
-	ncomm=0;
-	if (mpi_layout[mu]>1 ) {
-	  ncomm++;
-
-	  int comm_proc;
-	  int xmit_to_rank;
-	  int recv_from_rank;
-
-	  comm_proc=1;
-	  Grid.ShiftedRanks(mu,comm_proc,xmit_to_rank,recv_from_rank);
-	  Grid.SendToRecvFromInit(requests_fwd[mu],
-				  (void *)&xbuf[mu][0],
-				  xmit_to_rank,
-				  (void *)&rbuf[mu][0],
-				  recv_from_rank,
-				  bytes);
-
-	  comm_proc = mpi_layout[mu]-1;
-	  Grid.ShiftedRanks(mu,comm_proc,xmit_to_rank,recv_from_rank);
-	  Grid.SendToRecvFromInit(requests_bwd[mu],
-				  (void *)&xbuf[mu+4][0],
-				  xmit_to_rank,
-				  (void *)&rbuf[mu+4][0],
-				  recv_from_rank,
-				  bytes);
-
-	}
-      }
-
-      {
-	double start=usecond();
-	for(int i=0;i<Nloop;i++){
-	  
-	  for(int mu=0;mu<4;mu++){
-	    
-	    if (mpi_layout[mu]>1 ) {
-	      
-	      Grid.SendToRecvFromBegin(requests_fwd[mu]);
-	      Grid.SendToRecvFromComplete(requests_fwd[mu]);
-	      Grid.SendToRecvFromBegin(requests_bwd[mu]);
-	      Grid.SendToRecvFromComplete(requests_bwd[mu]);
-	    }
-	  }
-	  Grid.Barrier();
-	}
-	
-	double stop=usecond();
-	
-	double dbytes    = bytes;
-	double xbytes    = Nloop*dbytes*2.0*ncomm;
-	double rbytes    = xbytes;
-	double bidibytes = xbytes+rbytes;
-	
-	double time = stop-start;
-	
-	std::cout<<GridLogMessage << lat<<"\t\t"<<Ls<<"\t\t"<<bytes<<"\t\t"<<xbytes/time<<"\t\t"<<bidibytes/time<<std::endl;
-
-      }
-
-
-      {
-	double start=usecond();
-	for(int i=0;i<Nloop;i++){
-	  
-	  for(int mu=0;mu<4;mu++){
-	    
-	    if (mpi_layout[mu]>1 ) {
-	      
-	      Grid.SendToRecvFromBegin(requests_fwd[mu]);
-	      Grid.SendToRecvFromBegin(requests_bwd[mu]);
-	      Grid.SendToRecvFromComplete(requests_fwd[mu]);
-	      Grid.SendToRecvFromComplete(requests_bwd[mu]);
-	    }
-	  }
-	  Grid.Barrier();
-	}
-	
-	double stop=usecond();
-	
-	double dbytes    = bytes;
-	double xbytes    = Nloop*dbytes*2.0*ncomm;
-	double rbytes    = xbytes;
-	double bidibytes = xbytes+rbytes;
-	
-	double time = stop-start;
-	
-	std::cout<<GridLogMessage << lat<<"\t\t"<<Ls<<"\t\t"<<bytes<<"\t\t"<<xbytes/time<<"\t\t"<<bidibytes/time<<std::endl;
-
-      }
-
-    }
-  }
-
-#endif
-
   Grid_finalize();
 }
diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index c9e2fa22..5d42a1f9 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -44,7 +44,6 @@ struct scal {
     Gamma::GammaT
   };
 
-bool overlapComms = false;
 typedef WilsonFermion5D<DomainWallVec5dImplR> WilsonFermion5DR;
 typedef WilsonFermion5D<DomainWallVec5dImplF> WilsonFermion5DF;
 typedef WilsonFermion5D<DomainWallVec5dImplD> WilsonFermion5DD;
@@ -54,10 +53,6 @@ int main (int argc, char ** argv)
 {
   Grid_init(&argc,&argv);
 
-  if( GridCmdOptionExists(argv,argv+argc,"--asynch") ){
-    overlapComms = true;
-  }
-
   int threads = GridThread::GetThreads();
   std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
 
@@ -126,14 +121,21 @@ int main (int argc, char ** argv)
 
   RealD NP = UGrid->_Nprocessors;
 
-  for(int doasm=1;doasm<2;doasm++){
-
-    QCD::WilsonKernelsStatic::AsmOpt=doasm;
-
   DomainWallFermionR Dw(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
-  
-  std::cout<<GridLogMessage << "Naive wilson implementation "<<std::endl;
-  std::cout << GridLogMessage<< "Calling Dw"<<std::endl;
+
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+  std::cout << GridLogMessage<< "* Kernel options --dslash-generic, --dslash-unroll, --dslash-asm" <<std::endl;
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+  std::cout << GridLogMessage<< "* Benchmarking DomainWallFermionR::Dhop                  "<<std::endl;
+  std::cout << GridLogMessage<< "* Vectorising space-time by "<<vComplex::Nsimd()<<std::endl;
+  if ( sizeof(Real)==4 )   std::cout << GridLogMessage<< "* SINGLE precision "<<std::endl;
+  if ( sizeof(Real)==8 )   std::cout << GridLogMessage<< "* DOUBLE precision "<<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptGeneric   ) std::cout << GridLogMessage<< "* Using GENERIC Nc WilsonKernels" <<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptHandUnroll) std::cout << GridLogMessage<< "* Using Nc=3       WilsonKernels" <<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptInlineAsm ) std::cout << GridLogMessage<< "* Using Asm Nc=3   WilsonKernels" <<std::endl;
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+
   int ncall =100;
   if (1) {
 
@@ -162,6 +164,17 @@ int main (int argc, char ** argv)
 
   if (1)
   {
+
+    std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
+    std::cout << GridLogMessage<< "* Benchmarking WilsonFermion5D<DomainWallVec5dImplR>::Dhop "<<std::endl;
+    std::cout << GridLogMessage<< "* Vectorising fifth dimension by "<<vComplex::Nsimd()<<std::endl;
+    if ( sizeof(Real)==4 )   std::cout << GridLogMessage<< "* SINGLE precision "<<std::endl;
+    if ( sizeof(Real)==8 )   std::cout << GridLogMessage<< "* DOUBLE precision "<<std::endl;
+    if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptGeneric   ) std::cout << GridLogMessage<< "* Using GENERIC Nc WilsonKernels" <<std::endl;
+    if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptHandUnroll) std::cout << GridLogMessage<< "* Using Nc=3       WilsonKernels" <<std::endl;
+    if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptInlineAsm ) std::cout << GridLogMessage<< "* Using Asm Nc=3   WilsonKernels" <<std::endl;
+    std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
+
     typedef WilsonFermion5D<DomainWallVec5dImplR> WilsonFermion5DR;
     LatticeFermion ssrc(sFGrid);
     LatticeFermion sref(sFGrid);
@@ -248,6 +261,16 @@ int main (int argc, char ** argv)
       sr_e = zero;
       sr_o = zero;
 
+      std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
+      std::cout << GridLogMessage<< "* Benchmarking WilsonFermion5D<DomainWallVec5dImplR>::DhopEO "<<std::endl;
+      std::cout << GridLogMessage<< "* Vectorising fifth dimension by "<<vComplex::Nsimd()<<std::endl;
+      if ( sizeof(Real)==4 )   std::cout << GridLogMessage<< "* SINGLE precision "<<std::endl;
+      if ( sizeof(Real)==8 )   std::cout << GridLogMessage<< "* DOUBLE precision "<<std::endl;
+      if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptGeneric   ) std::cout << GridLogMessage<< "* Using GENERIC Nc WilsonKernels" <<std::endl;
+      if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptHandUnroll) std::cout << GridLogMessage<< "* Using Nc=3       WilsonKernels" <<std::endl;
+      if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptInlineAsm ) std::cout << GridLogMessage<< "* Using Asm Nc=3   WilsonKernels" <<std::endl;
+      std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
+
       sDw.ZeroCounters();
       sDw.stat.init("DhopEO");
       double t0=usecond();
@@ -308,7 +331,7 @@ int main (int argc, char ** argv)
     ref = -0.5*ref;
   }
   Dw.Dhop(src,result,1);
-  std::cout << GridLogMessage << "Naive wilson implementation Dag" << std::endl;
+  std::cout << GridLogMessage << "Compare to naive wilson implementation Dag to verify correctness" << std::endl;
   std::cout<<GridLogMessage << "Called DwDag"<<std::endl;
   std::cout<<GridLogMessage << "norm result "<< norm2(result)<<std::endl;
   std::cout<<GridLogMessage << "norm ref    "<< norm2(ref)<<std::endl;
@@ -322,13 +345,22 @@ int main (int argc, char ** argv)
   LatticeFermion r_eo  (FGrid);
 
 
-  std::cout<<GridLogMessage << "Calling Deo and Doe"<<std::endl;
+  std::cout<<GridLogMessage << "Calling Deo and Doe and assert Deo+Doe == Dunprec"<<std::endl;
   pickCheckerboard(Even,src_e,src);
   pickCheckerboard(Odd,src_o,src);
 
   std::cout<<GridLogMessage << "src_e"<<norm2(src_e)<<std::endl;
   std::cout<<GridLogMessage << "src_o"<<norm2(src_o)<<std::endl;
 
+  std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
+  std::cout << GridLogMessage<< "* Benchmarking DomainWallFermionR::DhopEO                "<<std::endl;
+  std::cout << GridLogMessage<< "* Vectorising space-time by "<<vComplex::Nsimd()<<std::endl;
+  if ( sizeof(Real)==4 )   std::cout << GridLogMessage<< "* SINGLE precision "<<std::endl;
+  if ( sizeof(Real)==8 )   std::cout << GridLogMessage<< "* DOUBLE precision "<<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptGeneric   ) std::cout << GridLogMessage<< "* Using GENERIC Nc WilsonKernels" <<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptHandUnroll) std::cout << GridLogMessage<< "* Using Nc=3       WilsonKernels" <<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptInlineAsm ) std::cout << GridLogMessage<< "* Using Asm Nc=3   WilsonKernels" <<std::endl;
+  std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
   {
     Dw.ZeroCounters();
     double t0=usecond();
@@ -366,8 +398,5 @@ int main (int argc, char ** argv)
   assert(norm2(src_e)<1.0e-5);
   assert(norm2(src_o)<1.0e-5);
 
-
-  }
-
   Grid_finalize();
 }
diff --git a/benchmarks/Benchmark_dwf_ntpf.cc b/benchmarks/Benchmark_dwf_ntpf.cc
deleted file mode 100644
index 0d1e322f..00000000
--- a/benchmarks/Benchmark_dwf_ntpf.cc
+++ /dev/null
@@ -1,153 +0,0 @@
-    /*************************************************************************************
-
-    Grid physics library, www.github.com/paboyle/Grid 
-
-    Source file: ./benchmarks/Benchmark_dwf.cc
-
-    Copyright (C) 2015
-
-Author: Peter Boyle <paboyle@ph.ed.ac.uk>
-Author: paboyle <paboyle@ph.ed.ac.uk>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
-#include <Grid/Grid.h>
-
-using namespace std;
-using namespace Grid;
-using namespace Grid::QCD;
-
-template<class d>
-struct scal {
-  d internal;
-};
-
-  Gamma::GammaMatrix Gmu [] = {
-    Gamma::GammaX,
-    Gamma::GammaY,
-    Gamma::GammaZ,
-    Gamma::GammaT
-  };
-
-bool overlapComms = false;
-
-
-int main (int argc, char ** argv)
-{
-  Grid_init(&argc,&argv);
-
-  if( GridCmdOptionExists(argv,argv+argc,"--asynch") ){
-    overlapComms = true;
-  }
-
-  int threads = GridThread::GetThreads();
-  std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
-
-  std::vector<int> latt4 = GridDefaultLatt();
-  const int Ls=16;
-  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
-  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
-  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
-  GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid);
-
-  std::vector<int> seeds4({1,2,3,4});
-  std::vector<int> seeds5({5,6,7,8});
-
-  GridParallelRNG          RNG4(UGrid);  RNG4.SeedFixedIntegers(seeds4);
-  GridParallelRNG          RNG5(FGrid);  RNG5.SeedFixedIntegers(seeds5);
-
-  LatticeFermion src   (FGrid); random(RNG5,src);
-  LatticeFermion result(FGrid); result=zero;
-  LatticeFermion    ref(FGrid);    ref=zero;
-  LatticeFermion    tmp(FGrid);
-  LatticeFermion    err(FGrid);
-
-  ColourMatrix cm = Complex(1.0,0.0);
-
-  LatticeGaugeField Umu(UGrid); 
-  random(RNG4,Umu);
-
-  LatticeGaugeField Umu5d(FGrid); 
-
-  // replicate across fifth dimension
-  for(int ss=0;ss<Umu._grid->oSites();ss++){
-    for(int s=0;s<Ls;s++){
-      Umu5d._odata[Ls*ss+s] = Umu._odata[ss];
-    }
-  }
-
-  ////////////////////////////////////
-  // Naive wilson implementation
-  ////////////////////////////////////
-  std::vector<LatticeColourMatrix> U(4,FGrid);
-  for(int mu=0;mu<Nd;mu++){
-    U[mu] = PeekIndex<LorentzIndex>(Umu5d,mu);
-  }
-
-  if (1)
-  {
-    ref = zero;
-    for(int mu=0;mu<Nd;mu++){
-
-      tmp = U[mu]*Cshift(src,mu+1,1);
-      ref=ref + tmp - Gamma(Gmu[mu])*tmp;
-
-      tmp =adj(U[mu])*src;
-      tmp =Cshift(tmp,mu+1,-1);
-      ref=ref + tmp + Gamma(Gmu[mu])*tmp;
-    }
-    ref = -0.5*ref;
-  }
-
-  RealD mass=0.1;
-  RealD M5  =1.8;
-
-  typename DomainWallFermionR::ImplParams params; 
-  params.overlapCommsCompute = overlapComms;
-  
-  RealD NP = UGrid->_Nprocessors;
-
-
-  QCD::WilsonKernelsStatic::AsmOpt=1;
-
-  DomainWallFermionR Dw(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,params);
-  
-  std::cout<<GridLogMessage << "Calling Dw"<<std::endl;
-  int ncall =50;
-  if (1) {
-
-    double t0=usecond();
-    for(int i=0;i<ncall;i++){
-      Dw.Dhop(src,result,0);
-    }
-    double t1=usecond();
-    
-    double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
-    double flops=1344*volume*ncall;
-
-    std::cout<<GridLogMessage << "Called Dw "<<ncall<<" times in "<<t1-t0<<" us"<<std::endl;
-    std::cout<<GridLogMessage << "norm result "<< norm2(result)<<std::endl;
-    std::cout<<GridLogMessage << "norm ref    "<< norm2(ref)<<std::endl;
-    std::cout<<GridLogMessage << "mflop/s =   "<< flops/(t1-t0)<<std::endl;
-    std::cout<<GridLogMessage << "mflop/s per node =  "<< flops/(t1-t0)/NP<<std::endl;
-    err = ref-result; 
-    std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<<std::endl;
-    //    Dw.Report();
-  }
-  Grid_finalize();
-}
diff --git a/benchmarks/Benchmark_dwf_sweep.cc b/benchmarks/Benchmark_dwf_sweep.cc
index ee78a33d..a3803b87 100644
--- a/benchmarks/Benchmark_dwf_sweep.cc
+++ b/benchmarks/Benchmark_dwf_sweep.cc
@@ -51,16 +51,18 @@ int main (int argc, char ** argv)
 {
   Grid_init(&argc,&argv);
 
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+  std::cout << GridLogMessage<< "* Kernel options --dslash-generic, --dslash-unroll, --dslash-asm" <<std::endl;
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptGeneric   ) std::cout << GridLogMessage<< "* Using GENERIC Nc WilsonKernels" <<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptHandUnroll) std::cout << GridLogMessage<< "* Using Nc=3       WilsonKernels" <<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptInlineAsm ) std::cout << GridLogMessage<< "* Using Asm Nc=3   WilsonKernels" <<std::endl;
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+
   const int Ls=8;
   int threads = GridThread::GetThreads();
   std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
-
-  if ( getenv("ASMOPT") )  {
-    QCD::WilsonKernelsStatic::AsmOpt=1;
-  } else { 
-    QCD::WilsonKernelsStatic::AsmOpt=0;
-  }
-
   std::cout<<GridLogMessage << "=========================================================================="<<std::endl;
   std::cout<<GridLogMessage << "= Benchmarking DWF"<<std::endl;
   std::cout<<GridLogMessage << "=========================================================================="<<std::endl;
diff --git a/benchmarks/Benchmark_wilson_sweep.cc b/benchmarks/Benchmark_wilson_sweep.cc
index d7c712d3..96e5b5e4 100644
--- a/benchmarks/Benchmark_wilson_sweep.cc
+++ b/benchmarks/Benchmark_wilson_sweep.cc
@@ -58,6 +58,19 @@ int main (int argc, char ** argv)
   std::vector<int> seeds({1,2,3,4});
   RealD mass = 0.1;
 
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+  std::cout << GridLogMessage<< "* Kernel options --dslash-generic, --dslash-unroll, --dslash-asm" <<std::endl;
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+  std::cout << GridLogMessage<< "* Benchmarking WilsonFermionR::Dhop                  "<<std::endl;
+  std::cout << GridLogMessage<< "* Vectorising space-time by "<<vComplex::Nsimd()<<std::endl;
+  if ( sizeof(Real)==4 )   std::cout << GridLogMessage<< "* SINGLE precision "<<std::endl;
+  if ( sizeof(Real)==8 )   std::cout << GridLogMessage<< "* DOUBLE precision "<<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptGeneric   ) std::cout << GridLogMessage<< "* Using GENERIC Nc WilsonKernels" <<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptHandUnroll) std::cout << GridLogMessage<< "* Using Nc=3       WilsonKernels" <<std::endl;
+  if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptInlineAsm ) std::cout << GridLogMessage<< "* Using Asm Nc=3   WilsonKernels" <<std::endl;
+  std::cout << GridLogMessage<< "*****************************************************************" <<std::endl;
+
   std::cout<<GridLogMessage << "============================================================================="<< std::endl;
   std::cout<<GridLogMessage << "= Benchmarking Wilson" << std::endl;
   std::cout<<GridLogMessage << "============================================================================="<< std::endl;
diff --git a/benchmarks/Benchmark_zmm.cc b/benchmarks/Benchmark_zmm.cc
deleted file mode 100644
index c8ece12c..00000000
--- a/benchmarks/Benchmark_zmm.cc
+++ /dev/null
@@ -1,175 +0,0 @@
-    /*************************************************************************************
-
-    Grid physics library, www.github.com/paboyle/Grid 
-
-    Source file: ./tests/Test_zmm.cc
-
-    Copyright (C) 2015
-
-Author: paboyle <paboyle@ph.ed.ac.uk>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-    See the full license in the file "LICENSE" in the top level distribution directory
-    *************************************************************************************/
-    /*  END LEGAL */
-#include <Grid/Grid.h>
-
-
-using namespace Grid;
-using namespace Grid::QCD;
-
-
-int bench(std::ofstream &os, std::vector<int> &latt4,int Ls);
-
-int main(int argc,char **argv)
-{
-  Grid_init(&argc,&argv);
-  std::ofstream os("zmm.dat");
-
-  os << "#V Ls Lxy Lzt C++ Asm OMP L1 " <<std::endl;
-  std::cout<<GridLogMessage << "====================================================================="<<std::endl;
-  std::cout<<GridLogMessage << "= Benchmarking ZMM"<<std::endl;
-  std::cout<<GridLogMessage << "====================================================================="<<std::endl;
-  std::cout<<GridLogMessage << "Volume \t\t\t\tC++DW/MFLOPs\tASM-DW/MFLOPs\tdiff"<<std::endl;
-  std::cout<<GridLogMessage << "====================================================================="<<std::endl;
-  for(int L=4;L<=32;L+=4){
-    for(int m=1;m<=2;m++){
-      for(int Ls=8;Ls<=16;Ls+=8){
-	std::vector<int> grid({L,L,m*L,m*L});
-  std::cout << GridLogMessage <<"\t";
-	for(int i=0;i<4;i++) { 
-	  std::cout << grid[i]<<"x";
-	}
-	std::cout << Ls<<"\t\t";
-	bench(os,grid,Ls);
-      }
-    }
-  }
-}
-
-int bench(std::ofstream &os, std::vector<int> &latt4,int Ls)
-{
-
-  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(latt4, GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
-  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
-  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
-  GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid);
-
-  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
-  std::vector<int> mpi_layout  = GridDefaultMpi();
-  int threads = GridThread::GetThreads();
-
-  std::vector<int> seeds4({1,2,3,4});
-  std::vector<int> seeds5({5,6,7,8});
-
-  GridSerialRNG sRNG; sRNG.SeedFixedIntegers(seeds4);
-
-  LatticeFermion src (FGrid);
-  LatticeFermion tmp (FGrid);
-  LatticeFermion srce(FrbGrid);
-
-  LatticeFermion resulto(FrbGrid); resulto=zero;
-  LatticeFermion resulta(FrbGrid); resulta=zero;
-  LatticeFermion junk(FrbGrid); junk=zero;
-  LatticeFermion diff(FrbGrid); 
-  LatticeGaugeField Umu(UGrid);
-
-  double mfc, mfa, mfo, mfl1;
-
-  GridParallelRNG          RNG4(UGrid);  RNG4.SeedFixedIntegers(seeds4);
-  GridParallelRNG          RNG5(FGrid);  RNG5.SeedFixedIntegers(seeds5);
-  random(RNG5,src);
-#if 1
-  random(RNG4,Umu);
-#else
-  int mmu=2;
-  std::vector<LatticeColourMatrix> U(4,UGrid);
-  for(int mu=0;mu<Nd;mu++){
-    U[mu] = PeekIndex<LorentzIndex>(Umu,mu);
-    if ( mu!=mmu ) U[mu] = zero;
-    if ( mu==mmu ) U[mu] = 1.0;
-    PokeIndex<LorentzIndex>(Umu,U[mu],mu);
-  }
-#endif
- pickCheckerboard(Even,srce,src);
-
-  RealD mass=0.1;
-  RealD M5  =1.8;
-  DomainWallFermionR Dw(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
-
-  int ncall=50;
-  double t0=usecond();
-  for(int i=0;i<ncall;i++){
-    Dw.DhopOE(srce,resulto,0);
-  }
-  double t1=usecond();
-
-  double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
-  double flops=1344*volume/2;
-
-  mfc = flops*ncall/(t1-t0);
-  std::cout<<mfc<<"\t\t";
-
-  QCD::WilsonKernelsStatic::AsmOpt=1;
-  t0=usecond();
-  for(int i=0;i<ncall;i++){
-    Dw.DhopOE(srce,resulta,0);
-  }
-  t1=usecond();
-  mfa = flops*ncall/(t1-t0);
-  std::cout<<mfa<<"\t\t";
-  /*
-  int dag=DaggerNo;
-  t0=usecond();
-  for(int i=0;i<1;i++){
-    Dw.DhopInternalOMPbench(Dw.StencilEven,Dw.LebesgueEvenOdd,Dw.UmuOdd,srce,resulta,dag);
-  }
-  t1=usecond();
-  mfo = flops*100/(t1-t0);
-  std::cout<<GridLogMessage << "Called ASM-OMP Dw"<< " mflop/s =   "<< mfo<<std::endl;
-
-  t0=usecond();
-  for(int i=0;i<1;i++){
-    Dw.DhopInternalL1bench(Dw.StencilEven,Dw.LebesgueEvenOdd,Dw.UmuOdd,srce,resulta,dag);
-  }
-  t1=usecond();
-  mfl1= flops*100/(t1-t0);
-  std::cout<<GridLogMessage << "Called ASM-L1 Dw"<< " mflop/s =   "<< mfl1<<std::endl;
-  os << latt4[0]*latt4[1]*latt4[2]*latt4[3]<< " "<<Ls<<" "<< latt4[0] <<" " <<latt4[2]<< " "
-     << mfc<<" "
-     << mfa<<" "
-     << mfo<<" "
-     << mfl1<<std::endl;
-  */
-
-#if 0
-  for(int i=0;i< PerformanceCounter::NumTypes(); i++ ){
-    Dw.DhopOE(srce,resulta,0);
-    PerformanceCounter Counter(i);
-    Counter.Start();
-    Dw.DhopOE(srce,resulta,0);
-    Counter.Stop();
-    Counter.Report();
-  }
-#endif
-  //resulta = (-0.5) * resulta;
-
-  diff = resulto-resulta;
-  std::cout<<norm2(diff)<<std::endl;
-  return 0;
-}
-
-
diff --git a/lib/Init.cc b/lib/Init.cc
index a2a8526a..d15e4bd1 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -123,6 +123,13 @@ void GridCmdOptionIntVector(std::string &str,std::vector<int> & vec)
   return;
 }
 
+void GridCmdOptionInt(std::string &str,int & val)
+{
+  std::stringstream ss(str);
+  ss>>val;
+  return;
+}
+
 
 void GridParseLayout(char **argv,int argc,
 		     std::vector<int> &latt,
@@ -153,14 +160,12 @@ void GridParseLayout(char **argv,int argc,
     assert(ompthreads.size()==1);
     GridThread::SetThreads(ompthreads[0]);
   }
-
   if( GridCmdOptionExists(argv,argv+argc,"--cores") ){
-    std::vector<int> cores(0);
+    int cores;
     arg= GridCmdOptionPayload(argv,argv+argc,"--cores");
-    GridCmdOptionIntVector(arg,cores);
-    GridThread::SetCores(cores[0]);
+    GridCmdOptionInt(arg,cores);
+    GridThread::SetCores(cores);
   }
-
 }
 
 std::string GridCmdVectorIntToString(const std::vector<int> & vec){
@@ -169,7 +174,7 @@ std::string GridCmdVectorIntToString(const std::vector<int> & vec){
   return oss.str();
 }
 /////////////////////////////////////////////////////////
-//
+// Reinit guard
 /////////////////////////////////////////////////////////
 static int Grid_is_initialised = 0;
 
@@ -178,27 +183,31 @@ void Grid_init(int *argc,char ***argv)
 {
   GridLogger::StopWatch.Start();
 
+  std::string arg;
+
+  ////////////////////////////////////
+  // Shared memory block size
+  ////////////////////////////////////
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--shm") ){
+    int MB;
+    arg= GridCmdOptionPayload(*argv,*argv+*argc,"--shm");
+    GridCmdOptionInt(arg,MB);
+    CartesianCommunicator::MAX_MPI_SHM_BYTES = MB*1024*1024;
+  }
+
   CartesianCommunicator::Init(argc,argv);
 
-  // Parse command line args.
+  ////////////////////////////////////
+  // Logging
+  ////////////////////////////////////
 
-  std::string arg;
   std::vector<std::string> logstreams;
   std::string defaultLog("Error,Warning,Message,Performance");
-
   GridCmdOptionCSL(defaultLog,logstreams);
   GridLogConfigure(logstreams);
 
-  if( GridCmdOptionExists(*argv,*argv+*argc,"--help") ){
-    std::cout<<GridLogMessage<<"--help : this message"<<std::endl;
-    std::cout<<GridLogMessage<<"--debug-signals : catch sigsegv and print a blame report"<<std::endl;
-    std::cout<<GridLogMessage<<"--debug-stdout  : print stdout from EVERY node"<<std::endl;    
-    std::cout<<GridLogMessage<<"--decomposition : report on default omp,mpi and simd decomposition"<<std::endl;    
-    std::cout<<GridLogMessage<<"--mpi n.n.n.n   : default MPI decomposition"<<std::endl;    
-    std::cout<<GridLogMessage<<"--threads n     : default number of OMP threads"<<std::endl;
-    std::cout<<GridLogMessage<<"--grid n.n.n.n  : default Grid size"<<std::endl;    
-    std::cout<<GridLogMessage<<"--log list      : comma separted list of streams from Error,Warning,Message,Performance,Iterative,Integrator,Debug,Colours"<<std::endl;
-    exit(EXIT_SUCCESS);
+  if( !GridCmdOptionExists(*argv,*argv+*argc,"--debug-stdout") ){
+    Grid_quiesce_nodes();
   }
 
   if( GridCmdOptionExists(*argv,*argv+*argc,"--log") ){
@@ -207,38 +216,39 @@ void Grid_init(int *argc,char ***argv)
     GridLogConfigure(logstreams);
   }
 
-  if( GridCmdOptionExists(*argv,*argv+*argc,"--debug-signals") ){
-    Grid_debug_handler_init();
-  }
-  if( !GridCmdOptionExists(*argv,*argv+*argc,"--debug-stdout") ){
-    Grid_quiesce_nodes();
-  }
-  if( GridCmdOptionExists(*argv,*argv+*argc,"--dslash-opt") ){
-    QCD::WilsonKernelsStatic::HandOpt=1;
-  }
-  if( GridCmdOptionExists(*argv,*argv+*argc,"--lebesgue") ){
-    LebesgueOrder::UseLebesgueOrder=1;
-  }
-  if( GridCmdOptionExists(*argv,*argv+*argc,"--cacheblocking") ){
-    arg= GridCmdOptionPayload(*argv,*argv+*argc,"--cacheblocking");
-    GridCmdOptionIntVector(arg,LebesgueOrder::Block);
-  }
-  if( GridCmdOptionExists(*argv,*argv+*argc,"--timestamp") ){
-    GridLogTimestamp(1);
+  ////////////////////////////////////
+  // Help message
+  ////////////////////////////////////
+
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--help") ){
+    std::cout<<GridLogMessage<<"  --help : this message"<<std::endl;
+    std::cout<<GridLogMessage<<std::endl;
+    std::cout<<GridLogMessage<<"Geometry:"<<std::endl;
+    std::cout<<GridLogMessage<<"  --mpi n.n.n.n   : default MPI decomposition"<<std::endl;    
+    std::cout<<GridLogMessage<<"  --threads n     : default number of OMP threads"<<std::endl;
+    std::cout<<GridLogMessage<<"  --grid n.n.n.n  : default Grid size"<<std::endl;    
+    std::cout<<GridLogMessage<<"  --shm  M        : allocate M megabytes of shared memory for comms"<<std::endl;    
+    std::cout<<GridLogMessage<<std::endl;
+    std::cout<<GridLogMessage<<"Verbose and debug:"<<std::endl;
+    std::cout<<GridLogMessage<<"  --log list      : comma separted list of streams from Error,Warning,Message,Performance,Iterative,Integrator,Debug,Colours"<<std::endl;
+    std::cout<<GridLogMessage<<"  --decomposition : report on default omp,mpi and simd decomposition"<<std::endl;    
+    std::cout<<GridLogMessage<<"  --debug-signals : catch sigsegv and print a blame report"<<std::endl;
+    std::cout<<GridLogMessage<<"  --debug-stdout  : print stdout from EVERY node"<<std::endl;    
+    std::cout<<GridLogMessage<<"  --timestamp     : tag with millisecond resolution stamps"<<std::endl;    
+    std::cout<<GridLogMessage<<std::endl;
+    std::cout<<GridLogMessage<<"Performance:"<<std::endl;
+    std::cout<<GridLogMessage<<"  --dslash-generic: Wilson kernel for generic Nc"<<std::endl;    
+    std::cout<<GridLogMessage<<"  --dslash-unroll : Wilson kernel for Nc=3"<<std::endl;    
+    std::cout<<GridLogMessage<<"  --dslash-asm    : Wilson kernel for AVX512"<<std::endl;    
+    std::cout<<GridLogMessage<<"  --lebesgue      : Cache oblivious Lebesgue curve/Morton order/Z-graph stencil looping"<<std::endl;    
+    std::cout<<GridLogMessage<<"  --cacheblocking n.m.o.p : Hypercuboidal cache blocking"<<std::endl;    
+    std::cout<<GridLogMessage<<std::endl;
+    exit(EXIT_SUCCESS);
   }
 
-  GridParseLayout(*argv,*argc,
-		  Grid_default_latt,
-		  Grid_default_mpi);
-  if( GridCmdOptionExists(*argv,*argv+*argc,"--decomposition") ){
-    std::cout<<GridLogMessage<<"Grid Decomposition\n";
-    std::cout<<GridLogMessage<<"\tOpenMP threads : "<<GridThread::GetThreads()<<std::endl;
-    std::cout<<GridLogMessage<<"\tMPI tasks      : "<<GridCmdVectorIntToString(GridDefaultMpi())<<std::endl;
-    std::cout<<GridLogMessage<<"\tvRealF         : "<<sizeof(vRealF)*8    <<"bits ; " <<GridCmdVectorIntToString(GridDefaultSimd(4,vRealF::Nsimd()))<<std::endl;
-    std::cout<<GridLogMessage<<"\tvRealD         : "<<sizeof(vRealD)*8    <<"bits ; " <<GridCmdVectorIntToString(GridDefaultSimd(4,vRealD::Nsimd()))<<std::endl;
-    std::cout<<GridLogMessage<<"\tvComplexF      : "<<sizeof(vComplexF)*8 <<"bits ; " <<GridCmdVectorIntToString(GridDefaultSimd(4,vComplexF::Nsimd()))<<std::endl;
-    std::cout<<GridLogMessage<<"\tvComplexD      : "<<sizeof(vComplexD)*8 <<"bits ; " <<GridCmdVectorIntToString(GridDefaultSimd(4,vComplexD::Nsimd()))<<std::endl;
-  }
+  ////////////////////////////////////
+  // Banner
+  ////////////////////////////////////
 
   std::string COL_RED    = GridLogColours.colour["RED"];
   std::string COL_PURPLE = GridLogColours.colour["PURPLE"];
@@ -247,7 +257,6 @@ void Grid_init(int *argc,char ***argv)
   std::string COL_BLUE   = GridLogColours.colour["BLUE"];
   std::string COL_YELLOW = GridLogColours.colour["YELLOW"];
   std::string COL_BACKGROUND = GridLogColours.colour["NORMAL"];
-
   
   std::cout <<std::endl;
   std::cout <<COL_RED  << "__|__|__|__|__"<<             "|__|__|_"<<COL_PURPLE<<"_|__|__|"<<                "__|__|__|__|__"<<std::endl; 
@@ -281,6 +290,53 @@ void Grid_init(int *argc,char ***argv)
   std::cout << COL_BACKGROUND <<std::endl;
   std::cout << std::endl;
 
+  ////////////////////////////////////
+  // Debug and performance options
+  ////////////////////////////////////
+
+
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--debug-signals") ){
+    Grid_debug_handler_init();
+  }
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--dslash-unroll") ){
+    QCD::WilsonKernelsStatic::Opt=QCD::WilsonKernelsStatic::OptHandUnroll;
+  }
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--dslash-asm") ){
+    QCD::WilsonKernelsStatic::Opt=QCD::WilsonKernelsStatic::OptInlineAsm;
+  }
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--dslash-generic") ){
+    QCD::WilsonKernelsStatic::Opt=QCD::WilsonKernelsStatic::OptGeneric;
+  }
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--lebesgue") ){
+    LebesgueOrder::UseLebesgueOrder=1;
+  }
+
+
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--cacheblocking") ){
+    arg= GridCmdOptionPayload(*argv,*argv+*argc,"--cacheblocking");
+    GridCmdOptionIntVector(arg,LebesgueOrder::Block);
+  }
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--timestamp") ){
+    GridLogTimestamp(1);
+  }
+
+  GridParseLayout(*argv,*argc,
+		  Grid_default_latt,
+		  Grid_default_mpi);
+
+  std::cout << GridLogMessage << "Requesting "<< CartesianCommunicator::MAX_MPI_SHM_BYTES <<" byte stencil comms buffers "<<std::endl;
+
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--decomposition") ){
+    std::cout<<GridLogMessage<<"Grid Decomposition\n";
+    std::cout<<GridLogMessage<<"\tOpenMP threads : "<<GridThread::GetThreads()<<std::endl;
+    std::cout<<GridLogMessage<<"\tMPI tasks      : "<<GridCmdVectorIntToString(GridDefaultMpi())<<std::endl;
+    std::cout<<GridLogMessage<<"\tvRealF         : "<<sizeof(vRealF)*8    <<"bits ; " <<GridCmdVectorIntToString(GridDefaultSimd(4,vRealF::Nsimd()))<<std::endl;
+    std::cout<<GridLogMessage<<"\tvRealD         : "<<sizeof(vRealD)*8    <<"bits ; " <<GridCmdVectorIntToString(GridDefaultSimd(4,vRealD::Nsimd()))<<std::endl;
+    std::cout<<GridLogMessage<<"\tvComplexF      : "<<sizeof(vComplexF)*8 <<"bits ; " <<GridCmdVectorIntToString(GridDefaultSimd(4,vComplexF::Nsimd()))<<std::endl;
+    std::cout<<GridLogMessage<<"\tvComplexD      : "<<sizeof(vComplexD)*8 <<"bits ; " <<GridCmdVectorIntToString(GridDefaultSimd(4,vComplexD::Nsimd()))<<std::endl;
+  }
+
+
   Grid_is_initialised = 1;
 }
 
diff --git a/lib/communicator/Communicator_base.cc b/lib/communicator/Communicator_base.cc
index 77b4f800..b003d867 100644
--- a/lib/communicator/Communicator_base.cc
+++ b/lib/communicator/Communicator_base.cc
@@ -32,6 +32,7 @@ namespace Grid {
 // Info that is setup once and indept of cartesian layout
 ///////////////////////////////////////////////////////////////
 void *              CartesianCommunicator::ShmCommBuf;
+uint64_t            CartesianCommunicator::MAX_MPI_SHM_BYTES   = 128*1024*1024; 
 
 /////////////////////////////////
 // Alloc, free shmem region
@@ -41,8 +42,12 @@ void *CartesianCommunicator::ShmBufferMalloc(size_t bytes){
   void *ptr = (void *)heap_top;
   heap_top  += bytes;
   heap_bytes+= bytes;
-  std::cout <<"Shm alloc "<<ptr<<std::endl;
-  assert(heap_bytes < MAX_MPI_SHM_BYTES);
+  if (heap_bytes >= MAX_MPI_SHM_BYTES) {
+    std::cout<< " ShmBufferMalloc exceeded shared heap size -- try increasing with --shm <MB> flag" <<std::endl;
+    std::cout<< " Parameter specified in units of MB (megabytes) " <<std::endl;
+    std::cout<< " Current value is " << (MAX_MPI_SHM_BYTES/(1024*1024)) <<std::endl;
+    assert(heap_bytes<MAX_MPI_SHM_BYTES);
+  }
   return ptr;
 }
 void CartesianCommunicator::ShmBufferFreeAll(void) { 
diff --git a/lib/communicator/Communicator_base.h b/lib/communicator/Communicator_base.h
index d4bb50d9..94ad1093 100644
--- a/lib/communicator/Communicator_base.h
+++ b/lib/communicator/Communicator_base.h
@@ -55,7 +55,7 @@ class CartesianCommunicator {
   // Give external control (command line override?) of this
 
   static const int      MAXLOG2RANKSPERNODE = 16;            
-  static const uint64_t MAX_MPI_SHM_BYTES   = 128*1024*1024; 
+  static uint64_t MAX_MPI_SHM_BYTES;
 
   // Communicator should know nothing of the physics grid, only processor grid.
   int              _Nprocessors;     // How many in all
diff --git a/lib/communicator/Communicator_mpi3_leader.cc b/lib/communicator/Communicator_mpi3_leader.cc
index 50e63eb7..db0638da 100644
--- a/lib/communicator/Communicator_mpi3_leader.cc
+++ b/lib/communicator/Communicator_mpi3_leader.cc
@@ -27,6 +27,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     /*  END LEGAL */
 #include "Grid.h"
 #include <mpi.h>
+#include <semaphore.h>
 
 namespace Grid {
 
@@ -45,6 +46,7 @@ const int pool = 48;
 
 class SlaveState {
 public:
+  sem_t    sem;
   volatile int head;
   volatile int start;
   volatile int tail;
@@ -56,29 +58,32 @@ public:
   SlaveState *state;
   MPI_Comm squadron;
   uint64_t     base;
+  int universe_rank;
+  int vertical_rank;
   ////////////////////////////////////////////////////////////
   // Descriptor circular pointers
   ////////////////////////////////////////////////////////////
   Slave() {};
 
-  void Init(SlaveState * _state,MPI_Comm _squadron);
+  void Init(SlaveState * _state,MPI_Comm _squadron,int _universe_rank,int _vertical_rank);
   
   void EventLoop (void) {
-    std::cerr<< " Entering even loop "<<std::endl;
-    while(1) {
+    std::cout<< " Entering event loop "<<std::endl;
+    while(1){
       Event();
+      MPI_Barrier(squadron);
     }
   }
 
-  void Event (void) ;
+  int Event (void) ;
 
-  uint64_t QueueCommand(int command,void *buf, int bytes, int hashtag, MPI_Comm comm,int rank) ;
+  uint64_t QueueCommand(int command,void *buf, int bytes, int hashtag, MPI_Comm comm,int u_rank) ;
 
-  void WaitAll() {
+  void QueueWaitAll() {
     QueueCommand(COMMAND_WAITALL,0,0,0,squadron,0);
-    std::cerr<< " Waiting on FIFO drain "<<std::endl;
+  }
+  void WaitAll() {
     while ( state->tail != state->head );
-    std::cerr<< " FIFO drained "<< state->tail <<std::endl;
   }
 };
 
@@ -119,26 +124,31 @@ public:
 				MPI_Comm &ShmComm,
 				void * &ShmCommBuf);
 
-  static void MapCommRankToWorldRank(int &hashtag, int & comm_world_peer,int tag, MPI_Comm comm,int rank);
+  static void MapCommRankToWorldRank(int &hashtag, int & comm_world_peer,int tag, MPI_Comm comm,int commrank);
 
   /////////////////////////////////////////////////////////
   // routines for master proc must handle any communicator
   /////////////////////////////////////////////////////////
 
   static uint64_t QueueSend(int slave,void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
-    std::cerr<< " Queueing send  "<< bytes<<std::endl;
+     //    std::cout<< " Queueing send  "<< bytes<< " slave "<< slave << " to comm "<<rank  <<std::endl;
     return Slaves[slave].QueueCommand(COMMAND_ISEND,buf,bytes,tag,comm,rank);
   };
 
   static uint64_t QueueRecv(int slave, void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
-    std::cerr<< " Queueing receive  "<< bytes<<std::endl;
+    //    std::cout<< " Queueing recv "<< bytes<< " slave "<< slave << " from comm "<<rank  <<std::endl;
     return Slaves[slave].QueueCommand(COMMAND_IRECV,buf,bytes,tag,comm,rank);
   };
 
   static void WaitAll() {
+    for(int s=1;s<VerticalSize;s++) {
+      Slaves[s].QueueWaitAll();
+    }
+    MPI_Barrier(VerticalComm);
     for(int s=1;s<VerticalSize;s++) {
       Slaves[s].WaitAll();
     }
+    MPI_Barrier(VerticalComm);
   };
 
   static void GetWork(int nwork, int me, int & mywork, int & myoff,int units){
@@ -163,6 +173,7 @@ public:
       GetWork(bytes,s,mywork,myoff,procs);
       QueueSend(s+1,&cbuf[myoff],mywork,tag,comm,rank);
     }
+    MPI_Barrier(VerticalComm);
   };
 
   static void QueueMultiplexedRecv(void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
@@ -173,6 +184,7 @@ public:
       GetWork(bytes,s,mywork,myoff,procs);
       QueueRecv(s+1,&cbuf[myoff],mywork,tag,comm,rank);
     }
+    MPI_Barrier(VerticalComm);
   };
 
 };
@@ -225,7 +237,7 @@ void MPIoffloadEngine::CommunicatorInit (MPI_Comm &communicator_world,
   // Split into groups that can share memory (Verticals)
   /////////////////////////////////////////////////////////////////////
   //  MPI_Comm_split_type(communicator_universe, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL,&VerticalComm);
-  MPI_Comm_split(communicator_universe,(UniverseRank&0x1),UniverseRank,&VerticalComm);
+  MPI_Comm_split(communicator_universe,(UniverseRank/2),UniverseRank,&VerticalComm);
   MPI_Comm_rank(VerticalComm     ,&VerticalRank);
   MPI_Comm_size(VerticalComm     ,&VerticalSize);
   
@@ -262,14 +274,14 @@ void MPIoffloadEngine::CommunicatorInit (MPI_Comm &communicator_world,
   ierr|= MPI_Win_lock_all (MPI_MODE_NOCHECK, VerticalWindow);
   assert(ierr==0);
   
-  std::cerr<<"SHM "<<ShmCommBuf<<std::endl;
+  std::cout<<"SHM "<<ShmCommBuf<<std::endl;
 
   VerticalShmBufs.resize(VerticalSize);
   for(int r=0;r<VerticalSize;r++){
     MPI_Aint sz;
     int dsp_unit;
     MPI_Win_shared_query (VerticalWindow, r, &sz, &dsp_unit, &VerticalShmBufs[r]);
-    std::cerr<<"SHM "<<r<<" " <<VerticalShmBufs[r]<<std::endl;
+    std::cout<<"SHM "<<r<<" " <<VerticalShmBufs[r]<<std::endl;
   }
 
   //////////////////////////////////////////////////////////////////////
@@ -286,14 +298,16 @@ void MPIoffloadEngine::CommunicatorInit (MPI_Comm &communicator_world,
   ///////////////////////////////////////////////////////////
   if ( VerticalRank != 0 ) {
     Slave indentured;
-    indentured.Init( (SlaveState *) VerticalShmBufs[VerticalRank], VerticalComm);
+    indentured.Init( (SlaveState *) VerticalShmBufs[VerticalRank], VerticalComm, UniverseRank,VerticalRank);
+    MPI_Barrier(VerticalComm);
     indentured.EventLoop();
     assert(0);
   } else {
     Slaves.resize(VerticalSize);
     for(int i=1;i<VerticalSize;i++){
-      Slaves[i].Init((SlaveState *)VerticalShmBufs[i],VerticalComm);
+      Slaves[i].Init((SlaveState *)VerticalShmBufs[i],VerticalComm, UniverseRanks[HorizontalRank][i],i);
     }
+    MPI_Barrier(VerticalComm);
   }
   
   ///////////////////////////////////////////////////////////
@@ -337,8 +351,10 @@ void MPIoffloadEngine::MapCommRankToWorldRank(int &hashtag, int & comm_world_pee
 
   if ( comm == HorizontalComm ) {
     comm_world_peer = rank;
+    //    std::cout << " MapCommRankToWorldRank  horiz " <<rank<<"->"<<comm_world_peer<<std::endl;
   } else if ( comm == communicator_cached ) {
     comm_world_peer = UserCommunicatorToWorldRanks[rank];
+    //    std::cout << " MapCommRankToWorldRank  cached " <<rank<<"->"<<comm_world_peer<<std::endl;
   } else { 
     
     int size;
@@ -360,6 +376,7 @@ void MPIoffloadEngine::MapCommRankToWorldRank(int &hashtag, int & comm_world_pee
     MPI_Group_translate_ranks(CachedGroup,size,&cached_ranks[0],WorldGroup, &UserCommunicatorToWorldRanks[0]); 
     
     comm_world_peer = UserCommunicatorToWorldRanks[rank];
+    //    std::cout << " MapCommRankToWorldRank  cache miss " <<rank<<"->"<<comm_world_peer<<std::endl;
     
     assert(comm_world_peer != MPI_UNDEFINED);
   }
@@ -370,55 +387,30 @@ void MPIoffloadEngine::MapCommRankToWorldRank(int &hashtag, int & comm_world_pee
   int comm_hash = ((icomm>>0 )&0xFFFF)^((icomm>>16)&0xFFFF)
                 ^ ((icomm>>32)&0xFFFF)^((icomm>>48)&0xFFFF);
   
-  hashtag = (comm_hash<<15) | tag;      
+  //  hashtag = (comm_hash<<15) | tag;      
+  hashtag = tag;      
 
 };
 
-void Slave::Init(SlaveState * _state,MPI_Comm _squadron)
+void Slave::Init(SlaveState * _state,MPI_Comm _squadron,int _universe_rank,int _vertical_rank)
 {
   squadron=_squadron;
+  universe_rank=_universe_rank;
+  vertical_rank=_vertical_rank;
   state   =_state;
+  std::cout << "state "<<_state<<" comm "<<_squadron<<" universe_rank"<<universe_rank <<std::endl;
   state->head = state->tail = state->start = 0;
-  MPI_Barrier(squadron);
   base = (uint64_t)MPIoffloadEngine::VerticalShmBufs[0];
   int rank; MPI_Comm_rank(_squadron,&rank);
 }
 #define PERI_PLUS(A) ( (A+1)%pool )
-void Slave::Event (void) {
+int Slave::Event (void) {
 
   static int tail_last;
   static int head_last;
   static int start_last;
   int ierr;
 
-  if (   (state->tail != tail_last)
-       ||(state->head != head_last)
-       ||(state->start != start_last)
-       ) { 
-    std::cerr<< " Event loop "<< state->tail << " "<< state->start<< " "<< state->head <<std::endl;
-  }
-
-  ////////////////////////////////////////////////////
-  // Try to advance the tail pointers
-  ////////////////////////////////////////////////////
-  /*
-  int t=state->tail;
-  if ( t != state->start ) {
-    int flag=0;
-    
-    std::cerr<< " Testing tail "<< t<<" "<< (void *)&state->Descrs[t].request
-	     << " "<<state->Descrs[t].request<<std::endl;
-    //    ierr=MPI_Test((MPI_Request *)&state->Descrs[t].request,&flag,MPI_STATUS_IGNORE);
-    //    ierr=MPI_Test((MPI_Request *)&state->Descrs[t].request,&flag,MPI_STATUS_IGNORE);
-    assert(ierr==0);
-    if ( flag ) {
-      state->tail = PERI_PLUS(t);
-      std::cerr<< " Tail advanced from "<< t<<std::endl;
-      return;
-    }
-  }
-  */
-
   ////////////////////////////////////////////////////
   // Try to advance the start pointers
   ////////////////////////////////////////////////////
@@ -426,11 +418,11 @@ void Slave::Event (void) {
   if ( s != state->head ) {
     switch ( state->Descrs[s].command ) {
     case COMMAND_ISEND:
-      std::cerr<< " Send "<<s << " ptr "<< state<<" "<< state->Descrs[s].buf<< "["<<state->Descrs[s].bytes<<"]"
-	       << " to " << state->Descrs[s].rank<< " tag" << state->Descrs[s].tag
-	       << " Comm " << MPIoffloadEngine::communicator_universe<< std::endl;
-
-      std::cerr<< " Request was "<<state->Descrs[s].request<<std::endl;
+      /*
+            std::cout<< " Send "<<s << " ptr "<< state<<" "<< state->Descrs[s].buf<< "["<<state->Descrs[s].bytes<<"]"
+      	       << " to " << state->Descrs[s].rank<< " tag" << state->Descrs[s].tag
+       << " Comm " << MPIoffloadEngine::communicator_universe<< " me " <<universe_rank<< std::endl;
+      */
       ierr = MPI_Isend((void *)(state->Descrs[s].buf+base), 
 		       state->Descrs[s].bytes, 
 		       MPI_CHAR,
@@ -438,18 +430,17 @@ void Slave::Event (void) {
 		       state->Descrs[s].tag,
 		       MPIoffloadEngine::communicator_universe,
 		       (MPI_Request *)&state->Descrs[s].request);
-      std::cerr<< " Request is "<<state->Descrs[s].request<<std::endl;
-      std::cerr<< " Request0 is "<<state->Descrs[0].request<<std::endl;
       assert(ierr==0);
       state->start = PERI_PLUS(s);
+      return 1;
       break;
 
     case COMMAND_IRECV:
-      std::cerr<< " Recv "<<s << " ptr "<< state<<" "<< state->Descrs[s].buf<< "["<<state->Descrs[s].bytes<<"]"
-	       << " to " << state->Descrs[s].rank<< " tag" << state->Descrs[s].tag
-	       << " Comm " << MPIoffloadEngine::communicator_universe<< std::endl;
-
-      std::cerr<< " Request was "<<state->Descrs[s].request<<std::endl;
+      /*
+      std::cout<< " Recv "<<s << " ptr "<< state<<" "<< state->Descrs[s].buf<< "["<<state->Descrs[s].bytes<<"]"
+	       << " from " << state->Descrs[s].rank<< " tag" << state->Descrs[s].tag
+	       << " Comm " << MPIoffloadEngine::communicator_universe<< " me "<< universe_rank<< std::endl;
+      */
       ierr=MPI_Irecv((void *)(state->Descrs[s].buf+base), 
 		     state->Descrs[s].bytes, 
 		     MPI_CHAR,
@@ -457,30 +448,32 @@ void Slave::Event (void) {
 		     state->Descrs[s].tag,
 		     MPIoffloadEngine::communicator_universe,
 		     (MPI_Request *)&state->Descrs[s].request);
-      std::cerr<< " Request is "<<state->Descrs[s].request<<std::endl;
-      std::cerr<< " Request0 is "<<state->Descrs[0].request<<std::endl;
+
+      //      std::cout<< " Request is "<<state->Descrs[s].request<<std::endl;
+      //      std::cout<< " Request0 is "<<state->Descrs[0].request<<std::endl;
       assert(ierr==0);
       state->start = PERI_PLUS(s);
+      return 1;
       break;
 
     case COMMAND_WAITALL:
-      std::cerr<< " Wait all "<<std::endl;
+
       for(int t=state->tail;t!=s; t=PERI_PLUS(t) ){
-	std::cerr<< " Wait ["<<t<<"] "<<state->Descrs[t].request <<std::endl;
-	std::cerr<< " Request0 is "<<state->Descrs[0].request<<std::endl;
 	MPI_Wait((MPI_Request *)&state->Descrs[t].request,MPI_STATUS_IGNORE);
       };
       s=PERI_PLUS(s);
       state->start = s;
       state->tail  = s;
+      MPI_Barrier(squadron);
+      return 1;
       break;
 
     default:
       assert(0);
       break;
     }
-    return;
   }
+  return 0;
 }
   //////////////////////////////////////////////////////////////////////////////
   // External interaction with the queue
@@ -500,17 +493,29 @@ uint64_t Slave::QueueCommand(int command,void *buf, int bytes, int tag, MPI_Comm
   MPI_Comm    communicator;
   MPI_Request request;
   
-  MPIoffloadEngine::MapCommRankToWorldRank(hashtag,commrank,tag,comm,worldrank);
+  MPIoffloadEngine::MapCommRankToWorldRank(hashtag,worldrank,tag,comm,commrank);
 
-  int VerticalRank = MPIoffloadEngine::VerticalRank;
   uint64_t relative= (uint64_t)buf - base;
   state->Descrs[head].buf    = relative;
   state->Descrs[head].bytes  = bytes;
-  state->Descrs[head].rank   = MPIoffloadEngine::UniverseRanks[worldrank][VerticalRank];
+  state->Descrs[head].rank   = MPIoffloadEngine::UniverseRanks[worldrank][vertical_rank];
   state->Descrs[head].tag    = hashtag;
   state->Descrs[head].command= command;
-  std::cerr<< " QueueCommand "<<buf<<"["<<bytes<<"]" << std::endl;
 
+  /*  
+  if ( command == COMMAND_ISEND ) { 
+  std::cout << "QueueSend from "<< universe_rank <<" to commrank " << commrank 
+            << " to worldrank " << worldrank <<std::endl;
+  std::cout << " via VerticalRank "<< vertical_rank <<" to universerank " << MPIoffloadEngine::UniverseRanks[worldrank][vertical_rank]<<std::endl;
+  std::cout << " QueueCommand "<<buf<<"["<<bytes<<"]" << std::endl;
+  } 
+  if ( command == COMMAND_IRECV ) { 
+  std::cout << "QueueRecv on "<< universe_rank <<" from commrank " << commrank 
+            << " from worldrank " << worldrank <<std::endl;
+  std::cout << " via VerticalRank "<< vertical_rank <<" from universerank " << MPIoffloadEngine::UniverseRanks[worldrank][vertical_rank]<<std::endl;
+  std::cout << " QueueSend "<<buf<<"["<<bytes<<"]" << std::endl;
+  } 
+  */
   // Block until FIFO has space
   while( state->tail==next );
 
@@ -671,6 +676,8 @@ void CartesianCommunicator::StencilSendToRecvFromBegin(std::vector<CommsRequest_
   // assert xmit and recv lie in shared memory region
   assert( (xmit_i >= shm) && (xmit_i+bytes <= shm+MAX_MPI_SHM_BYTES) );
   assert( (recv_i >= shm) && (recv_i+bytes <= shm+MAX_MPI_SHM_BYTES) );
+  assert(from!=_processor);
+  assert(dest!=_processor);
   MPIoffloadEngine::QueueMultiplexedSend(xmit,bytes,_processor,communicator,dest);
   MPIoffloadEngine::QueueMultiplexedRecv(recv,bytes,from,communicator,from);
 }
diff --git a/lib/qcd/action/fermion/WilsonKernels.cc b/lib/qcd/action/fermion/WilsonKernels.cc
index 52ee8704..43776c86 100644
--- a/lib/qcd/action/fermion/WilsonKernels.cc
+++ b/lib/qcd/action/fermion/WilsonKernels.cc
@@ -32,8 +32,7 @@ directory
 namespace Grid {
 namespace QCD {
 
-int WilsonKernelsStatic::HandOpt;
-int WilsonKernelsStatic::AsmOpt;
+int WilsonKernelsStatic::Opt;
 
 template <class Impl>
 WilsonKernels<Impl>::WilsonKernels(const ImplParams &p) : Base(p){};
diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index 669ee4be..919f7540 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -40,9 +40,9 @@ namespace QCD {
   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 class WilsonKernelsStatic { 
  public:
+  enum { OptGeneric, OptHandUnroll, OptInlineAsm };
   // S-direction is INNERMOST and takes no part in the parity.
-  static int AsmOpt;  // these are a temporary hack
-  static int HandOpt; // these are a temporary hack
+  static int Opt;  // these are a temporary hack
 };
  
 template<class Impl> class WilsonKernels : public FermionOperator<Impl> , public WilsonKernelsStatic { 
@@ -56,24 +56,40 @@ public:
   template <bool EnableBool = true>
   typename std::enable_if<Impl::Dimension == 3 && Nc == 3 &&EnableBool, void>::type
   DiracOptDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
-		   int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
+		   int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) 
+  {
+    switch(Opt) {
 #ifdef AVX512
-    if (AsmOpt) {
-      WilsonKernels<Impl>::DiracOptAsmDhopSite(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
-    } else {
-#else
-    {
-#endif
+    case OptInlineAsm:
       for (int site = 0; site < Ns; site++) {
 	for (int s = 0; s < Ls; s++) {
-	  if (HandOpt)
-	    WilsonKernels<Impl>::DiracOptHandDhopSite(st,lo,U,buf,sF,sU,in,out);
-	  else
-	    WilsonKernels<Impl>::DiracOptGenericDhopSite(st,lo,U,buf,sF,sU,in,out);
+	  WilsonKernels<Impl>::DiracOptAsmDhopSite(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
 	  sF++;
 	}
 	sU++;
       }
+      break;
+#endif
+    case OptHandUnroll:
+      for (int site = 0; site < Ns; site++) {
+	for (int s = 0; s < Ls; s++) {
+	  WilsonKernels<Impl>::DiracOptHandDhopSite(st,lo,U,buf,sF,sU,in,out);
+	  sF++;
+	}
+	sU++;
+      }
+      break;
+    case OptGeneric:
+      for (int site = 0; site < Ns; site++) {
+	for (int s = 0; s < Ls; s++) {
+	  WilsonKernels<Impl>::DiracOptGenericDhopSite(st,lo,U,buf,sF,sU,in,out);
+	  sF++;
+	}
+	sU++;
+      }
+      break;
+    default:
+      assert(0);
     }
   }
      
@@ -81,7 +97,7 @@ public:
   typename std::enable_if<(Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool, void>::type
   DiracOptDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
 		   int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
-     
+    // no kernel choice  
     for (int site = 0; site < Ns; site++) {
       for (int s = 0; s < Ls; s++) {
 	WilsonKernels<Impl>::DiracOptGenericDhopSite(st, lo, U, buf, sF, sU, in, out);
@@ -95,23 +111,39 @@ public:
   typename std::enable_if<Impl::Dimension == 3 && Nc == 3 && EnableBool,void>::type
   DiracOptDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeField &U, SiteHalfSpinor * buf,
 		      int sF, int sU, int Ls, int Ns, const FermionField &in, FermionField &out) {
+
+    switch(Opt) {
 #ifdef AVX512
-    if (AsmOpt) {
-      WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
-    } else {
-#else
-    {
-#endif
+    case OptInlineAsm:
       for (int site = 0; site < Ns; site++) {
 	for (int s = 0; s < Ls; s++) {
-	  if (HandOpt)
-	    WilsonKernels<Impl>::DiracOptHandDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
-	  else
-	    WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
+	  WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
 	  sF++;
 	}
 	sU++;
       }
+      break;
+#endif
+    case OptHandUnroll:
+      for (int site = 0; site < Ns; site++) {
+	for (int s = 0; s < Ls; s++) {
+	  WilsonKernels<Impl>::DiracOptHandDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
+	  sF++;
+	}
+	sU++;
+      }
+      break;
+    case OptGeneric:
+      for (int site = 0; site < Ns; site++) {
+	for (int s = 0; s < Ls; s++) {
+	  WilsonKernels<Impl>::DiracOptGenericDhopSiteDag(st,lo,U,buf,sF,sU,in,out);
+	  sF++;
+	}
+	sU++;
+      }
+      break;
+    default:
+      assert(0);
     }
   }
 
diff --git a/lib/stencil/Lebesgue.cc b/lib/stencil/Lebesgue.cc
index c34b5c96..c30c14c7 100644
--- a/lib/stencil/Lebesgue.cc
+++ b/lib/stencil/Lebesgue.cc
@@ -32,7 +32,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 namespace Grid {
 
 int LebesgueOrder::UseLebesgueOrder;
-std::vector<int> LebesgueOrder::Block({2,2,2,2});
+std::vector<int> LebesgueOrder::Block({8,2,2,2});
 
 LebesgueOrder::IndexInteger LebesgueOrder::alignup(IndexInteger n){
   n--;           // 1000 0011 --> 1000 0010

From 32375aca657c87674c321ce5e8fc2a82b48dcec2 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 2 Nov 2016 09:27:20 +0000
Subject: [PATCH 265/295] Semaphore sleep/wake up on remote processes.

---
 lib/communicator/Communicator_mpi3_leader.cc | 84 +++++++++++++++-----
 1 file changed, 65 insertions(+), 19 deletions(-)

diff --git a/lib/communicator/Communicator_mpi3_leader.cc b/lib/communicator/Communicator_mpi3_leader.cc
index db0638da..f160c681 100644
--- a/lib/communicator/Communicator_mpi3_leader.cc
+++ b/lib/communicator/Communicator_mpi3_leader.cc
@@ -27,7 +27,24 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     /*  END LEGAL */
 #include "Grid.h"
 #include <mpi.h>
+
+/// bloody mac os doesn't implement unnamed semaphores since it is "optional" posix.
+/// darwin dispatch semaphores don't seem to be multiprocess.
+//#ifdef __APPLE__
 #include <semaphore.h>
+typedef sem_t *Grid_semaphore;
+#define SEM_INIT(S)      S = sem_open(sem_name,0,00777,0);
+#define SEM_INIT_EXCL(S) sem_unlink(sem_name); S = sem_open(sem_name,O_CREAT|O_EXCL,00777,0);
+#define SEM_POST(S) sem_post(S);
+#define SEM_WAIT(S) sem_wait(S);
+//#else
+//#include <semaphore.h>
+//typedef sem_t Grid_semaphore;
+//#define SEM_INIT(S)      
+//#define SEM_INIT_EXCL(S) sem_init(&S,0);
+//#define SEM_POST(S) sem_post(&S);
+//#define SEM_WAIT(S) sem_wait(&S);
+//#endif
 
 namespace Grid {
 
@@ -46,7 +63,8 @@ const int pool = 48;
 
 class SlaveState {
 public:
-  sem_t    sem;
+  Grid_semaphore  sem_head;
+  Grid_semaphore  sem_tail;
   volatile int head;
   volatile int start;
   volatile int tail;
@@ -60,18 +78,43 @@ public:
   uint64_t     base;
   int universe_rank;
   int vertical_rank;
+  char sem_name [NAME_MAX];
   ////////////////////////////////////////////////////////////
   // Descriptor circular pointers
   ////////////////////////////////////////////////////////////
   Slave() {};
 
   void Init(SlaveState * _state,MPI_Comm _squadron,int _universe_rank,int _vertical_rank);
-  
+
+  void SemInit(void) {
+    sprintf(sem_name,"/Grid_mpi3_head_%d",universe_rank);
+    SEM_INIT(state->sem_head);
+    sprintf(sem_name,"/Grid_mpi3_tail_%d",universe_rank);
+    SEM_INIT(state->sem_tail);
+  }  
+  void SemInitExcl(void) {
+    sprintf(sem_name,"/Grid_mpi3_head_%d",universe_rank);
+    SEM_INIT_EXCL(state->sem_head);
+    sprintf(sem_name,"/Grid_mpi3_tail_%d",universe_rank);
+    SEM_INIT_EXCL(state->sem_tail);
+  }  
+  void WakeUpDMA(void) { 
+    SEM_POST(state->sem_head);
+  };
+  void WakeUpCompute(void) { 
+    SEM_POST(state->sem_tail);
+  };
+  void WaitForCommand(void) { 
+    SEM_WAIT(state->sem_head);
+  };
+  void WaitForComplete(void) { 
+    SEM_WAIT(state->sem_tail);
+  };
   void EventLoop (void) {
     std::cout<< " Entering event loop "<<std::endl;
     while(1){
+      WaitForCommand();
       Event();
-      MPI_Barrier(squadron);
     }
   }
 
@@ -79,11 +122,11 @@ public:
 
   uint64_t QueueCommand(int command,void *buf, int bytes, int hashtag, MPI_Comm comm,int u_rank) ;
 
-  void QueueWaitAll() {
-    QueueCommand(COMMAND_WAITALL,0,0,0,squadron,0);
-  }
   void WaitAll() {
-    while ( state->tail != state->head );
+    QueueCommand(COMMAND_WAITALL,0,0,0,squadron,0);
+    WakeUpDMA();
+    WaitForComplete();
+    assert ( state->tail == state->head );
   }
 };
 
@@ -130,25 +173,22 @@ public:
   // routines for master proc must handle any communicator
   /////////////////////////////////////////////////////////
 
-  static uint64_t QueueSend(int slave,void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
+  static void QueueSend(int slave,void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
      //    std::cout<< " Queueing send  "<< bytes<< " slave "<< slave << " to comm "<<rank  <<std::endl;
-    return Slaves[slave].QueueCommand(COMMAND_ISEND,buf,bytes,tag,comm,rank);
+    Slaves[slave].QueueCommand(COMMAND_ISEND,buf,bytes,tag,comm,rank);
+    Slaves[slave].WakeUpDMA();
   };
 
-  static uint64_t QueueRecv(int slave, void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
+  static void QueueRecv(int slave, void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
     //    std::cout<< " Queueing recv "<< bytes<< " slave "<< slave << " from comm "<<rank  <<std::endl;
-    return Slaves[slave].QueueCommand(COMMAND_IRECV,buf,bytes,tag,comm,rank);
+    Slaves[slave].QueueCommand(COMMAND_IRECV,buf,bytes,tag,comm,rank);
+    Slaves[slave].WakeUpDMA();
   };
 
   static void WaitAll() {
-    for(int s=1;s<VerticalSize;s++) {
-      Slaves[s].QueueWaitAll();
-    }
-    MPI_Barrier(VerticalComm);
     for(int s=1;s<VerticalSize;s++) {
       Slaves[s].WaitAll();
     }
-    MPI_Barrier(VerticalComm);
   };
 
   static void GetWork(int nwork, int me, int & mywork, int & myoff,int units){
@@ -173,7 +213,6 @@ public:
       GetWork(bytes,s,mywork,myoff,procs);
       QueueSend(s+1,&cbuf[myoff],mywork,tag,comm,rank);
     }
-    MPI_Barrier(VerticalComm);
   };
 
   static void QueueMultiplexedRecv(void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
@@ -184,7 +223,6 @@ public:
       GetWork(bytes,s,mywork,myoff,procs);
       QueueRecv(s+1,&cbuf[myoff],mywork,tag,comm,rank);
     }
-    MPI_Barrier(VerticalComm);
   };
 
 };
@@ -299,6 +337,8 @@ void MPIoffloadEngine::CommunicatorInit (MPI_Comm &communicator_world,
   if ( VerticalRank != 0 ) {
     Slave indentured;
     indentured.Init( (SlaveState *) VerticalShmBufs[VerticalRank], VerticalComm, UniverseRank,VerticalRank);
+    indentured.SemInitExcl();// init semaphore in shared memory
+    MPI_Barrier(VerticalComm);
     MPI_Barrier(VerticalComm);
     indentured.EventLoop();
     assert(0);
@@ -308,6 +348,10 @@ void MPIoffloadEngine::CommunicatorInit (MPI_Comm &communicator_world,
       Slaves[i].Init((SlaveState *)VerticalShmBufs[i],VerticalComm, UniverseRanks[HorizontalRank][i],i);
     }
     MPI_Barrier(VerticalComm);
+    for(int i=1;i<VerticalSize;i++){
+      Slaves[i].SemInit();// init semaphore in shared memory
+    }
+    MPI_Barrier(VerticalComm);
   }
   
   ///////////////////////////////////////////////////////////
@@ -464,7 +508,9 @@ int Slave::Event (void) {
       s=PERI_PLUS(s);
       state->start = s;
       state->tail  = s;
-      MPI_Barrier(squadron);
+
+      WakeUpCompute();
+
       return 1;
       break;
 

From ae8561892ef8e6763454a552d9aba45fa33074c6 Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Wed, 2 Nov 2016 10:21:06 +0000
Subject: [PATCH 266/295] Eliminating useless defines

---
 lib/qcd/action/fermion/WilsonKernelsAsm.cc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
index 83124d1a..d7a9edd3 100644
--- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc
+++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc
@@ -103,8 +103,8 @@ WilsonKernels<WilsonImplF>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder
 #undef FX 
 #define FX(A) DWFASM_ ## A
 #define MAYBEPERM(A,B) 
-#define VMOVIDUP(A,B,C)                                  VBCASTIDUPf(A,B,C)
-#define VMOVRDUP(A,B,C)                                  VBCASTRDUPf(A,B,C)
+//#define VMOVIDUP(A,B,C)                                  VBCASTIDUPf(A,B,C)
+//#define VMOVRDUP(A,B,C)                                  VBCASTRDUPf(A,B,C)
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
 				    
 #undef KERNEL_DAG
@@ -159,8 +159,8 @@ WilsonKernels<WilsonImplD>::DiracOptAsmDhopSiteDag(StencilImpl &st,LebesgueOrder
 #undef FX 
 #define FX(A) DWFASM_ ## A
 #define MAYBEPERM(A,B) 
-#define VMOVIDUP(A,B,C)                                  VBCASTIDUPd(A,B,C)
-#define VMOVRDUP(A,B,C)                                  VBCASTRDUPd(A,B,C)
+//#define VMOVIDUP(A,B,C)                                  VBCASTIDUPd(A,B,C)
+//#define VMOVRDUP(A,B,C)                                  VBCASTRDUPd(A,B,C)
 #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf)
 				    
 #undef KERNEL_DAG

From 757a928f9a70c0f2448cc6844f1112bab9cdf7d9 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 2 Nov 2016 12:37:46 +0000
Subject: [PATCH 267/295] Improvement to use own SHM_OPEN call to avoid openmpi
 bug.

---
 benchmarks/Benchmark_comms.cc                |   4 +-
 lib/communicator/Communicator_mpi3_leader.cc | 159 ++++++++++++++-----
 2 files changed, 124 insertions(+), 39 deletions(-)

diff --git a/benchmarks/Benchmark_comms.cc b/benchmarks/Benchmark_comms.cc
index eab9b9b9..de73bc81 100644
--- a/benchmarks/Benchmark_comms.cc
+++ b/benchmarks/Benchmark_comms.cc
@@ -48,7 +48,7 @@ int main (int argc, char ** argv)
   std::cout<<GridLogMessage << "= Benchmarking concurrent halo exchange in "<<nmu<<" dimensions"<<std::endl;
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
   std::cout<<GridLogMessage << "  L  "<<"\t\t"<<" Ls  "<<"\t\t"<<"bytes"<<"\t\t"<<"MB/s uni"<<"\t\t"<<"MB/s bidi"<<std::endl;
-  int maxlat=32;
+  int maxlat=16;
   for(int lat=4;lat<=maxlat;lat+=2){
     for(int Ls=1;Ls<=16;Ls*=2){
 
@@ -193,7 +193,7 @@ int main (int argc, char ** argv)
     }
   }  
 
-
+  Nloop=100;
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
   std::cout<<GridLogMessage << "= Benchmarking concurrent STENCIL halo exchange in "<<nmu<<" dimensions"<<std::endl;
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
diff --git a/lib/communicator/Communicator_mpi3_leader.cc b/lib/communicator/Communicator_mpi3_leader.cc
index f160c681..b6995a44 100644
--- a/lib/communicator/Communicator_mpi3_leader.cc
+++ b/lib/communicator/Communicator_mpi3_leader.cc
@@ -28,23 +28,26 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #include "Grid.h"
 #include <mpi.h>
 
-/// bloody mac os doesn't implement unnamed semaphores since it is "optional" posix.
-/// darwin dispatch semaphores don't seem to be multiprocess.
-//#ifdef __APPLE__
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/// Workarounds:
+/// i) bloody mac os doesn't implement unnamed semaphores since it is "optional" posix.
+///    darwin dispatch semaphores don't seem to be multiprocess.
+///
+/// ii) openmpi under --mca shmem posix works with two squadrons per node; 
+///     openmpi under default mca settings (I think --mca shmem mmap) on MacOS makes two squadrons map the SAME
+///     memory as each other, despite their living on different communicators. This appears to be a bug in OpenMPI.
+///
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 #include <semaphore.h>
 typedef sem_t *Grid_semaphore;
-#define SEM_INIT(S)      S = sem_open(sem_name,0,00777,0);
-#define SEM_INIT_EXCL(S) sem_unlink(sem_name); S = sem_open(sem_name,O_CREAT|O_EXCL,00777,0);
-#define SEM_POST(S) sem_post(S);
-#define SEM_WAIT(S) sem_wait(S);
-//#else
-//#include <semaphore.h>
-//typedef sem_t Grid_semaphore;
-//#define SEM_INIT(S)      
-//#define SEM_INIT_EXCL(S) sem_init(&S,0);
-//#define SEM_POST(S) sem_post(&S);
-//#define SEM_WAIT(S) sem_wait(&S);
-//#endif
+
+#define SEM_INIT(S)      S = sem_open(sem_name,0,0600,0); assert ( S != SEM_FAILED );
+#define SEM_INIT_EXCL(S) sem_unlink(sem_name); S = sem_open(sem_name,O_CREAT|O_EXCL,0600,0); assert ( S != SEM_FAILED );
+#define SEM_POST(S) assert ( sem_post(S) == 0 ); 
+#define SEM_WAIT(S) assert ( sem_wait(S) == 0 );
+
+#include <sys/mman.h>
+
 
 namespace Grid {
 
@@ -63,8 +66,6 @@ const int pool = 48;
 
 class SlaveState {
 public:
-  Grid_semaphore  sem_head;
-  Grid_semaphore  sem_tail;
   volatile int head;
   volatile int start;
   volatile int tail;
@@ -73,6 +74,8 @@ public:
 
 class Slave {
 public:
+  Grid_semaphore  sem_head;
+  Grid_semaphore  sem_tail;
   SlaveState *state;
   MPI_Comm squadron;
   uint64_t     base;
@@ -87,33 +90,38 @@ public:
   void Init(SlaveState * _state,MPI_Comm _squadron,int _universe_rank,int _vertical_rank);
 
   void SemInit(void) {
-    sprintf(sem_name,"/Grid_mpi3_head_%d",universe_rank);
-    SEM_INIT(state->sem_head);
-    sprintf(sem_name,"/Grid_mpi3_tail_%d",universe_rank);
-    SEM_INIT(state->sem_tail);
+    sprintf(sem_name,"/Grid_mpi3_sem_head_%d",universe_rank);
+    printf("SEM_NAME: %s \n",sem_name);
+    SEM_INIT(sem_head);
+    sprintf(sem_name,"/Grid_mpi3_sem_tail_%d",universe_rank);
+    printf("SEM_NAME: %s \n",sem_name);
+    SEM_INIT(sem_tail);
   }  
   void SemInitExcl(void) {
-    sprintf(sem_name,"/Grid_mpi3_head_%d",universe_rank);
-    SEM_INIT_EXCL(state->sem_head);
-    sprintf(sem_name,"/Grid_mpi3_tail_%d",universe_rank);
-    SEM_INIT_EXCL(state->sem_tail);
+    sprintf(sem_name,"/Grid_mpi3_sem_head_%d",universe_rank);
+    printf("SEM_INIT_EXCL: %s \n",sem_name);
+    SEM_INIT_EXCL(sem_head);
+    sprintf(sem_name,"/Grid_mpi3_sem_tail_%d",universe_rank);
+    printf("SEM_INIT_EXCL: %s \n",sem_name);
+    SEM_INIT_EXCL(sem_tail);
   }  
   void WakeUpDMA(void) { 
-    SEM_POST(state->sem_head);
+    SEM_POST(sem_head);
   };
   void WakeUpCompute(void) { 
-    SEM_POST(state->sem_tail);
+    SEM_POST(sem_tail);
   };
   void WaitForCommand(void) { 
-    SEM_WAIT(state->sem_head);
+    SEM_WAIT(sem_head);
   };
   void WaitForComplete(void) { 
-    SEM_WAIT(state->sem_tail);
+    SEM_WAIT(sem_tail);
   };
   void EventLoop (void) {
     std::cout<< " Entering event loop "<<std::endl;
     while(1){
       WaitForCommand();
+      //      std::cout << "Getting command "<<std::endl;
       Event();
     }
   }
@@ -123,9 +131,13 @@ public:
   uint64_t QueueCommand(int command,void *buf, int bytes, int hashtag, MPI_Comm comm,int u_rank) ;
 
   void WaitAll() {
+    //    std::cout << "Queueing WAIT command  "<<std::endl;
     QueueCommand(COMMAND_WAITALL,0,0,0,squadron,0);
+    //    std::cout << "Waking up DMA "<<std::endl;
     WakeUpDMA();
+    //    std::cout << "Waiting from semaphore "<<std::endl;
     WaitForComplete();
+    //    std::cout << "Checking FIFO is empty "<<std::endl;
     assert ( state->tail == state->head );
   }
 };
@@ -176,19 +188,25 @@ public:
   static void QueueSend(int slave,void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
      //    std::cout<< " Queueing send  "<< bytes<< " slave "<< slave << " to comm "<<rank  <<std::endl;
     Slaves[slave].QueueCommand(COMMAND_ISEND,buf,bytes,tag,comm,rank);
+    //    std::cout << "Queued send command to rank "<< rank<< " via "<<slave <<std::endl;
     Slaves[slave].WakeUpDMA();
+    //    std::cout << "Waking up DMA "<< slave<<std::endl;
   };
 
   static void QueueRecv(int slave, void *buf, int bytes, int tag, MPI_Comm comm,int rank) {
     //    std::cout<< " Queueing recv "<< bytes<< " slave "<< slave << " from comm "<<rank  <<std::endl;
     Slaves[slave].QueueCommand(COMMAND_IRECV,buf,bytes,tag,comm,rank);
+    //    std::cout << "Queued recv command from rank "<< rank<< " via "<<slave <<std::endl;
     Slaves[slave].WakeUpDMA();
+    //    std::cout << "Waking up DMA "<< slave<<std::endl;
   };
 
   static void WaitAll() {
     for(int s=1;s<VerticalSize;s++) {
+      //      std::cout << "Waiting for slave "<< s<<std::endl;
       Slaves[s].WaitAll();
     }
+    //    std::cout << " Wait all Complete "<<std::endl;
   };
 
   static void GetWork(int nwork, int me, int & mywork, int & myoff,int units){
@@ -247,10 +265,9 @@ int      MPIoffloadEngine::HorizontalRank;
 int      MPIoffloadEngine::HorizontalSize;
 
 MPI_Comm MPIoffloadEngine::VerticalComm;
-MPI_Win  MPIoffloadEngine::VerticalWindow; 
 int      MPIoffloadEngine::VerticalSize;
 int      MPIoffloadEngine::VerticalRank;
-
+MPI_Win  MPIoffloadEngine::VerticalWindow; 
 std::vector<void *>            MPIoffloadEngine::VerticalShmBufs;
 std::vector<std::vector<int> > MPIoffloadEngine::UniverseRanks;
 std::vector<int>               MPIoffloadEngine::UserCommunicatorToWorldRanks; 
@@ -274,8 +291,12 @@ void MPIoffloadEngine::CommunicatorInit (MPI_Comm &communicator_world,
   /////////////////////////////////////////////////////////////////////
   // Split into groups that can share memory (Verticals)
   /////////////////////////////////////////////////////////////////////
-  //  MPI_Comm_split_type(communicator_universe, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL,&VerticalComm);
-  MPI_Comm_split(communicator_universe,(UniverseRank/2),UniverseRank,&VerticalComm);
+#define MPI_SHARED_MEM_DEBUG
+#ifdef  MPI_SHARED_MEM_DEBUG
+  MPI_Comm_split(communicator_universe,(UniverseRank/4),UniverseRank,&VerticalComm);
+#else 
+  MPI_Comm_split_type(communicator_universe, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL,&VerticalComm);
+#endif
   MPI_Comm_rank(VerticalComm     ,&VerticalRank);
   MPI_Comm_size(VerticalComm     ,&VerticalSize);
   
@@ -308,19 +329,83 @@ void MPIoffloadEngine::CommunicatorInit (MPI_Comm &communicator_world,
   //////////////////////////////////////////////////////////////////////////////////////////////////////////
   // allocate the shared window for our group, pass back Shm info to CartesianCommunicator
   //////////////////////////////////////////////////////////////////////////////////////////////////////////
+  VerticalShmBufs.resize(VerticalSize);
+
+#undef MPI_SHARED_MEM
+#ifdef MPI_SHARED_MEM
   ierr = MPI_Win_allocate_shared(CartesianCommunicator::MAX_MPI_SHM_BYTES,1,MPI_INFO_NULL,VerticalComm,&ShmCommBuf,&VerticalWindow);
   ierr|= MPI_Win_lock_all (MPI_MODE_NOCHECK, VerticalWindow);
   assert(ierr==0);
-  
-  std::cout<<"SHM "<<ShmCommBuf<<std::endl;
+  //  std::cout<<"SHM "<<ShmCommBuf<<std::endl;
 
-  VerticalShmBufs.resize(VerticalSize);
   for(int r=0;r<VerticalSize;r++){
     MPI_Aint sz;
     int dsp_unit;
     MPI_Win_shared_query (VerticalWindow, r, &sz, &dsp_unit, &VerticalShmBufs[r]);
-    std::cout<<"SHM "<<r<<" " <<VerticalShmBufs[r]<<std::endl;
+    //    std::cout<<"SHM "<<r<<" " <<VerticalShmBufs[r]<<std::endl;
   }
+#else 
+  char shm_name [NAME_MAX];
+  MPI_Barrier(VerticalComm);
+
+  if ( VerticalRank == 0 ) {
+    for(int r=0;r<VerticalSize;r++){
+
+      size_t size = CartesianCommunicator::MAX_MPI_SHM_BYTES;
+      if ( r>0 ) size = sizeof(SlaveState);
+
+      sprintf(shm_name,"/Grid_mpi3_shm_%d_%d",WorldRank,r);
+      
+      shm_unlink(shm_name);
+
+      int fd=shm_open(shm_name,O_RDWR|O_CREAT,0600);
+      if ( fd < 0 ) {
+	perror("failed shm_open");
+	assert(0);
+      }
+
+      ftruncate(fd, size);
+
+      VerticalShmBufs[r] = mmap(NULL,size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+
+      if ( VerticalShmBufs[r] == MAP_FAILED ) { 
+	perror("failed mmap");
+	assert(0);
+      }
+
+      uint64_t * check = (uint64_t *) VerticalShmBufs[r];
+      check[0] = WorldRank;
+      check[1] = r;
+
+      //      std::cout<<"SHM "<<r<<" " <<VerticalShmBufs[r]<<std::endl;
+    }
+  }
+
+  MPI_Barrier(VerticalComm);
+
+  if ( VerticalRank != 0 ) { 
+  for(int r=0;r<VerticalSize;r++){
+
+    size_t size = CartesianCommunicator::MAX_MPI_SHM_BYTES ;
+    if ( r>0 ) size = sizeof(SlaveState);
+    
+    sprintf(shm_name,"/Grid_mpi3_shm_%d_%d",WorldRank,r);
+    
+    int fd=shm_open(shm_name,O_RDWR|O_CREAT,0600);
+    if ( fd<0 ) {
+      perror("failed shm_open");
+      assert(0);
+    }
+    VerticalShmBufs[r] = mmap(NULL,size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+
+    uint64_t * check = (uint64_t *) VerticalShmBufs[r];
+    assert(check[0]== WorldRank);
+    assert(check[1]== r);
+    std::cerr<<"SHM "<<r<<" " <<VerticalShmBufs[r]<<std::endl;
+  }
+  }
+#endif
+  MPI_Barrier(VerticalComm);
 
   //////////////////////////////////////////////////////////////////////
   // Map rank of leader on node in their in new world, to the

From f41a230b32cba75c9730aa4a5ebdf1d5e6760508 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 2 Nov 2016 19:54:03 +0000
Subject: [PATCH 268/295] Decrease mpi3l verbose

---
 lib/communicator/Communicator_mpi3_leader.cc | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/lib/communicator/Communicator_mpi3_leader.cc b/lib/communicator/Communicator_mpi3_leader.cc
index b6995a44..49a3e948 100644
--- a/lib/communicator/Communicator_mpi3_leader.cc
+++ b/lib/communicator/Communicator_mpi3_leader.cc
@@ -48,7 +48,6 @@ typedef sem_t *Grid_semaphore;
 
 #include <sys/mman.h>
 
-
 namespace Grid {
 
 enum { COMMAND_ISEND, COMMAND_IRECV, COMMAND_WAITALL };
@@ -91,18 +90,18 @@ public:
 
   void SemInit(void) {
     sprintf(sem_name,"/Grid_mpi3_sem_head_%d",universe_rank);
-    printf("SEM_NAME: %s \n",sem_name);
+    //    printf("SEM_NAME: %s \n",sem_name);
     SEM_INIT(sem_head);
     sprintf(sem_name,"/Grid_mpi3_sem_tail_%d",universe_rank);
-    printf("SEM_NAME: %s \n",sem_name);
+    //    printf("SEM_NAME: %s \n",sem_name);
     SEM_INIT(sem_tail);
   }  
   void SemInitExcl(void) {
     sprintf(sem_name,"/Grid_mpi3_sem_head_%d",universe_rank);
-    printf("SEM_INIT_EXCL: %s \n",sem_name);
+    //    printf("SEM_INIT_EXCL: %s \n",sem_name);
     SEM_INIT_EXCL(sem_head);
     sprintf(sem_name,"/Grid_mpi3_sem_tail_%d",universe_rank);
-    printf("SEM_INIT_EXCL: %s \n",sem_name);
+    //    printf("SEM_INIT_EXCL: %s \n",sem_name);
     SEM_INIT_EXCL(sem_tail);
   }  
   void WakeUpDMA(void) { 
@@ -118,7 +117,7 @@ public:
     SEM_WAIT(sem_tail);
   };
   void EventLoop (void) {
-    std::cout<< " Entering event loop "<<std::endl;
+    //    std::cout<< " Entering event loop "<<std::endl;
     while(1){
       WaitForCommand();
       //      std::cout << "Getting command "<<std::endl;
@@ -291,7 +290,7 @@ void MPIoffloadEngine::CommunicatorInit (MPI_Comm &communicator_world,
   /////////////////////////////////////////////////////////////////////
   // Split into groups that can share memory (Verticals)
   /////////////////////////////////////////////////////////////////////
-#define MPI_SHARED_MEM_DEBUG
+#undef MPI_SHARED_MEM_DEBUG
 #ifdef  MPI_SHARED_MEM_DEBUG
   MPI_Comm_split(communicator_universe,(UniverseRank/4),UniverseRank,&VerticalComm);
 #else 
@@ -527,7 +526,7 @@ void Slave::Init(SlaveState * _state,MPI_Comm _squadron,int _universe_rank,int _
   universe_rank=_universe_rank;
   vertical_rank=_vertical_rank;
   state   =_state;
-  std::cout << "state "<<_state<<" comm "<<_squadron<<" universe_rank"<<universe_rank <<std::endl;
+  //  std::cout << "state "<<_state<<" comm "<<_squadron<<" universe_rank"<<universe_rank <<std::endl;
   state->head = state->tail = state->start = 0;
   base = (uint64_t)MPIoffloadEngine::VerticalShmBufs[0];
   int rank; MPI_Comm_rank(_squadron,&rank);

From 111bfbc6bc60b4edcb696f21c2edff4606fdb5f0 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Thu, 3 Nov 2016 11:40:26 +0000
Subject: [PATCH 269/295] notimestamp by default

---
 lib/Init.cc                       |  6 ++++--
 tests/forces/Test_wilson_force.cc | 18 ++++++++----------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/lib/Init.cc b/lib/Init.cc
index d15e4bd1..695bb01b 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -234,7 +234,7 @@ void Grid_init(int *argc,char ***argv)
     std::cout<<GridLogMessage<<"  --decomposition : report on default omp,mpi and simd decomposition"<<std::endl;    
     std::cout<<GridLogMessage<<"  --debug-signals : catch sigsegv and print a blame report"<<std::endl;
     std::cout<<GridLogMessage<<"  --debug-stdout  : print stdout from EVERY node"<<std::endl;    
-    std::cout<<GridLogMessage<<"  --timestamp     : tag with millisecond resolution stamps"<<std::endl;    
+    std::cout<<GridLogMessage<<"  --notimestamp   : suppress millisecond resolution stamps"<<std::endl;    
     std::cout<<GridLogMessage<<std::endl;
     std::cout<<GridLogMessage<<"Performance:"<<std::endl;
     std::cout<<GridLogMessage<<"  --dslash-generic: Wilson kernel for generic Nc"<<std::endl;    
@@ -316,7 +316,9 @@ void Grid_init(int *argc,char ***argv)
     arg= GridCmdOptionPayload(*argv,*argv+*argc,"--cacheblocking");
     GridCmdOptionIntVector(arg,LebesgueOrder::Block);
   }
-  if( GridCmdOptionExists(*argv,*argv+*argc,"--timestamp") ){
+  if( GridCmdOptionExists(*argv,*argv+*argc,"--notimestamp") ){
+    GridLogTimestamp(0);
+  } else { 
     GridLogTimestamp(1);
   }
 
diff --git a/tests/forces/Test_wilson_force.cc b/tests/forces/Test_wilson_force.cc
index 540a2ffa..1af156cc 100644
--- a/tests/forces/Test_wilson_force.cc
+++ b/tests/forces/Test_wilson_force.cc
@@ -102,16 +102,14 @@ int main (int argc, char ** argv)
     PokeIndex<LorentzIndex>(mom,mommu,mu);
 
     // fourth order exponential approx
-    parallel_for(auto i=mom.begin();i<mom.end();i++){
-      Uprime[i](mu) =
-	  U[i](mu)
-	+ mom[i](mu)*U[i](mu)*dt 
-	+ mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt/2.0)
-	+ mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt/6.0)
-	+ mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt*dt/24.0)
-	+ mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt*dt*dt/120.0)
-	+ mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt*dt*dt*dt/720.0)
-	;
+    parallel_for(auto i=mom.begin();i<mom.end();i++) {
+      Uprime[i](mu)  =	  U[i](mu);
+      Uprime[i](mu) += mom[i](mu)*U[i](mu)*dt ;
+      Uprime[i](mu) += mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt/2.0);
+      Uprime[i](mu) += mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt/6.0);
+      Uprime[i](mu) += mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt*dt/24.0);
+      Uprime[i](mu) += mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt*dt*dt/120.0);
+      Uprime[i](mu) += mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *mom[i](mu) *U[i](mu)*(dt*dt*dt*dt*dt*dt/720.0);
     }
 
   }

From 92cd797636f628ab721ab5666e6ee42cc8470956 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Thu, 3 Nov 2016 13:48:07 +0000
Subject: [PATCH 270/295] MPI auto configure fix

---
 configure.ac | 31 ++++++++++++++++++-------------
 1 file changed, 18 insertions(+), 13 deletions(-)

diff --git a/configure.ac b/configure.ac
index a8ad40dd..9178a11d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -253,18 +253,23 @@ AC_ARG_ENABLE([comms],[AC_HELP_STRING([--enable-comms=none|mpi|mpi-auto|mpi3|mpi
 case ${ac_COMMS} in
      none)
         AC_DEFINE([GRID_COMMS_NONE],[1],[GRID_COMMS_NONE] )
+        comms_type='none'
      ;;
-     mpi|mpi-auto)
-        AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
-     ;;
-     mpi3|mpi3-auto)
-        AC_DEFINE([GRID_COMMS_MPI3],[1],[GRID_COMMS_MPI3] )
-     ;;
-     mpi3l)
+     mpi3l*)
        AC_DEFINE([GRID_COMMS_MPI3L],[1],[GRID_COMMS_MPI3L] )
+       comms_type='mpi3l'
+     ;;
+     mpi3*)
+        AC_DEFINE([GRID_COMMS_MPI3],[1],[GRID_COMMS_MPI3] )
+        comms_type='mpi3'
+     ;;
+     mpi*)
+        AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
+        comms_type='mpi'
      ;;
      shmem)
         AC_DEFINE([GRID_COMMS_SHMEM],[1],[GRID_COMMS_SHMEM] )
+        comms_type='shmem'
      ;;
      *)
         AC_MSG_ERROR([${ac_COMMS} unsupported --enable-comms option]); 
@@ -282,11 +287,11 @@ case ${ac_COMMS} in
         ;;
 esac
 
-AM_CONDITIONAL(BUILD_COMMS_SHMEM,[ test "X${ac_COMMS}X" == "XshmemX" ])
-AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" || test "X${ac_COMMS}X" == "Xmpi-autoX" ])
-AM_CONDITIONAL(BUILD_COMMS_MPI3,[ test "X${ac_COMMS}X" == "Xmpi3X"] )
-AM_CONDITIONAL(BUILD_COMMS_MPI3L,[ test "X${ac_COMMS}X" == "Xmpi3lX"] )
-AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
+AM_CONDITIONAL(BUILD_COMMS_SHMEM, [ test "${comms_type}X" == "shmemX" ])
+AM_CONDITIONAL(BUILD_COMMS_MPI,   [ test "${comms_type}X" == "mpiX" ])
+AM_CONDITIONAL(BUILD_COMMS_MPI3,  [ test "${comms_type}X" == "mpi3X" ] )
+AM_CONDITIONAL(BUILD_COMMS_MPI3L, [ test "${comms_type}X" == "mpi3lX" ] )
+AM_CONDITIONAL(BUILD_COMMS_NONE,  [ test "${comms_type}X" == "noneX" ])
 
 ############### RNG selection
 AC_ARG_ENABLE([rng],[AC_HELP_STRING([--enable-rng=ranlux48|mt19937],\
@@ -379,7 +384,7 @@ compiler version            : ${ax_cv_gxx_version}
 ----- BUILD OPTIONS -----------------------------------
 SIMD                        : ${ac_SIMD}
 Threading                   : ${ac_openmp} 
-Communications type         : ${ac_COMMS}
+Communications type         : ${comms_type}
 Default precision           : ${ac_PRECISION}
 RNG choice                  : ${ac_RNG} 
 GMP                         : `if test "x$have_gmp" = xtrue; then echo yes; else echo no; fi`

From c65d23935a4e30d8c3a501772c5afd270a27fccc Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Thu, 3 Nov 2016 13:48:20 +0000
Subject: [PATCH 271/295] README update

---
 README.md | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/README.md b/README.md
index faf86faf..c7461368 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ License: GPL v2.
 
 Last update Nov 2016.
 
-_Please send all pull requests to the `develop` branch._
+_Please do not send pull requests to the `master` branch which is reserved for releases._
 
 ### Bug report
 
@@ -29,7 +29,7 @@ _To help us tracking and solving more efficiently issues with Grid, please repor
 When you file an issue, please go though the following checklist:
 
 1. Check that the code is pointing to the `HEAD` of `develop` or any commit in `master` which is tagged with a version number. 
-2. Give a description of the target platform (CPU, network, compiler).
+2. Give a description of the target platform (CPU, network, compiler). Please give the full CPU part description, using for example `cat /proc/cpuinfo | grep 'model name' | uniq` (Linux) or `sysctl machdep.cpu.brand_string` (macOS) and the full output the `--version` option of your compiler.
 3. Give the exact `configure` command used.
 4. Attach `config.log`.
 5. Attach `config.summary`.
@@ -45,7 +45,7 @@ are provided, similar to HPF and cmfortran, and user control is given over the m
 array indices to both MPI tasks and SIMD processing elements.
 
 * Identically shaped arrays then be processed with perfect data parallelisation.
-* Such identically shapped arrays are called conformable arrays.
+* Such identically shaped arrays are called conformable arrays.
 
 The transformation is based on the observation that Cartesian array processing involves
 identical processing to be performed on different regions of the Cartesian array.
@@ -127,14 +127,15 @@ make -C tests/<subdir> tests
 
 The following options can be use with the `--enable-simd=` option to target different communication interfaces:
 
-| `<comm>`      | Description                                  |
-| ------------- | -------------------------------------------- |
-| `none`        | no communications                            |
-| `mpi[-auto]`  | MPI communications                           |
-| `mpi3[-auto]` | MPI communications using MPI 3 shared memory |
-| `shmem `      | Cray SHMEM communications                    |
+| `<comm>`       | Description                                                   |
+| -------------- | ------------------------------------------------------------- |
+| `none`         | no communications                                             |
+| `mpi[-auto]`   | MPI communications                                            |
+| `mpi3[-auto]`  | MPI communications using MPI 3 shared memory                  |
+| `mpi3l[-auto]` | MPI communications using MPI 3 shared memory and leader model |
+| `shmem `       | Cray SHMEM communications                                     |
 
-For `mpi` and `mpi3` the optional `-auto` suffix instructs the `configure` scripts to determine all the necessary compilation and linking flags. This is done by extracting the informations from the MPI wrapper specified in the environment variable `MPICXX` (if not specified `configure` will scan though a list of default names).
+For the MPI interfaces the optional `-auto` suffix instructs the `configure` scripts to determine all the necessary compilation and linking flags. This is done by extracting the informations from the MPI wrapper specified in the environment variable `MPICXX` (if not specified `configure` will scan though a list of default names).
 
 ### Possible SIMD types
 
@@ -160,7 +161,7 @@ Alternatively, some CPU codenames can be directly used:
 | `BGQ`       | Blue Gene/Q                            |
 
 #### Notes:
-- We currently support AVX512 only for the Intel compiler. Support for GCC and clang will appear in future versions.
+- We currently support AVX512 only for the Intel compiler. Support for GCC and clang will appear in future versions of Grid when the AVX512 support within GCC and clang will be more advanced.
 - For BG/Q only [bgclang](http://trac.alcf.anl.gov/projects/llvm-bgq) is supported. We do not presently plan to support more compilers for this platform.
 - BG/Q performances are currently rather poor. This is being investigated for future versions.
 
@@ -171,7 +172,7 @@ The following configuration is recommended for the Intel Knights Landing platfor
 ``` bash
 ../configure --enable-precision=double\
              --enable-simd=KNL        \
-             --enable-comms=mpi3-auto \
+             --enable-comms=mpi-auto \
              --with-gmp=<path>        \
              --with-mpfr=<path>       \
              --enable-mkl             \
@@ -183,10 +184,9 @@ where `<path>` is the UNIX prefix where GMP and MPFR are installed. If you are w
 ``` bash
 ../configure --enable-precision=double\
              --enable-simd=KNL        \
-             --enable-comms=mpi3      \
+             --enable-comms=mpi       \
              --with-gmp=<path>        \
              --with-mpfr=<path>       \
              --enable-mkl             \
              CXX=CC CC=cc
-```
-
+```
\ No newline at end of file

From aee44dc69472e610cf2b3041ac203e99459d5276 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Thu, 3 Nov 2016 13:54:15 +0000
Subject: [PATCH 272/295] Photon.h removed from develop branch

---
 lib/qcd/action/gauge/Photon.h | 240 ----------------------------------
 1 file changed, 240 deletions(-)
 delete mode 100644 lib/qcd/action/gauge/Photon.h

diff --git a/lib/qcd/action/gauge/Photon.h b/lib/qcd/action/gauge/Photon.h
deleted file mode 100644
index 852ecb3e..00000000
--- a/lib/qcd/action/gauge/Photon.h
+++ /dev/null
@@ -1,240 +0,0 @@
-/*************************************************************************************
- 
- Grid physics library, www.github.com/paboyle/Grid
- 
- Source file: ./lib/qcd/action/gauge/Photon.h
- 
- Copyright (C) 2015
- 
- Author: Peter Boyle <paboyle@ph.ed.ac.uk>
- 
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- 
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
- 
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- 
- See the full license in the file "LICENSE" in the top level distribution directory
- *************************************************************************************/
-/*  END LEGAL */
-#ifndef QCD_PHOTON_ACTION_H
-#define QCD_PHOTON_ACTION_H
-
-namespace Grid{
-namespace QCD{
-  
-  template<class Gimpl>
-  class Photon
-  {
-  public:
-    INHERIT_GIMPL_TYPES(Gimpl);
-    enum class Gauge    {Feynman, Coulomb, Landau};
-    enum class ZmScheme {QedL, QedTL};
-  public:
-    Photon(Gauge gauge, ZmScheme zmScheme);
-    virtual ~Photon(void) = default;
-    void FreePropagator(const GaugeField &in, GaugeField &out);
-    void MomentumSpacePropagator(const GaugeField &in, GaugeField &out);
-    void StochasticField(GaugeField &out, GridParallelRNG &rng);
-  private:
-    void invKHatSquared(GaugeLinkField &out);
-    void zmSub(GaugeLinkField &out);
-  private:
-    Gauge    gauge_;
-    ZmScheme zmScheme_;
-  };
-
-  template<class Gimpl>
-  Photon<Gimpl>::Photon(Gauge gauge, ZmScheme zmScheme)
-  : gauge_(gauge), zmScheme_(zmScheme)
-  {}
-  
-  template<class Gimpl>
-  void Photon<Gimpl>::FreePropagator (const GaugeField &in,GaugeField &out)
-  {
-    FFT theFFT(in._grid);
-    
-    GaugeField in_k(in._grid);
-    GaugeField prop_k(in._grid);
-    
-    theFFT.FFT_all_dim(in_k,in,FFT::forward);
-    MomentumSpacePropagator(prop_k,in_k);
-    theFFT.FFT_all_dim(out,prop_k,FFT::backward);
-  }
-  
-  template<class Gimpl>
-  void Photon<Gimpl>::invKHatSquared(GaugeLinkField &out)
-  {
-    GridBase           *grid = out._grid;
-    GaugeLinkField     kmu(grid), one(grid);
-    const unsigned int nd    = grid->_ndimension;
-    std::vector<int>   &l    = grid->_fdimensions;
-    std::vector<int>   zm(nd,0);
-    TComplex           Tone = Complex(1.0,0.0);
-    TComplex           Tzero= Complex(0.0,0.0);
-    
-    one = Complex(1.0,0.0);
-    out = zero;
-    for(int mu = 0; mu < nd; mu++)
-    {
-      Real twoPiL = M_PI*2./l[mu];
-      
-      LatticeCoordinate(kmu,mu);
-      kmu = 2.*sin(.5*twoPiL*kmu);
-      out = out + kmu*kmu;
-    }
-    pokeSite(Tone, out, zm);
-    out = one/out;
-    pokeSite(Tzero, out, zm);
-  }
-  
-  template<class Gimpl>
-  void Photon<Gimpl>::zmSub(GaugeLinkField &out)
-  {
-    GridBase           *grid = out._grid;
-    const unsigned int nd    = grid->_ndimension;
-    
-    switch (zmScheme_)
-    {
-      case ZmScheme::QedTL:
-      {
-        std::vector<int> zm(nd,0);
-        TComplex         Tzero = Complex(0.0,0.0);
-        
-        pokeSite(Tzero, out, zm);
-        
-        break;
-      }
-      case ZmScheme::QedL:
-      {
-        LatticeInteger spNrm(grid), coor(grid);
-        GaugeLinkField z(grid);
-        
-        spNrm = zero;
-        for(int d = 0; d < grid->_ndimension - 1; d++)
-        {
-          LatticeCoordinate(coor,d);
-          spNrm = spNrm + coor*coor;
-        }
-        out = where(spNrm == Integer(0), 0.*out, out);
-        
-        break;
-      }
-      default:
-        break;
-    }
-  }
-  
-  template<class Gimpl>
-  void Photon<Gimpl>::MomentumSpacePropagator(const GaugeField &in,
-                                               GaugeField &out)
-  {
-    GridBase           *grid = out._grid;
-    LatticeComplex     k2Inv(grid);
-    
-    invKHatSquared(k2Inv);
-    zmSub(k2Inv);
-    
-    out = in*k2Inv;
-  }
-  
-  template<class Gimpl>
-  void Photon<Gimpl>::StochasticField(GaugeField &out, GridParallelRNG &rng)
-  {
-    auto               *grid = dynamic_cast<GridCartesian *>(out._grid);
-    const unsigned int nd = grid->_ndimension;
-    std::vector<int> latt_size   = grid->_fdimensions;
-    GaugeLinkField     sqrtK2Inv(grid), r(grid);
-    GaugeField         aTilde(grid);
-    FFT                fft(grid);
-    
-    Integer vol = 1;
-    for(int d = 0; d < nd; d++)
-    {
-      vol = vol * latt_size[d];
-    }
-
-    invKHatSquared(sqrtK2Inv);
-    sqrtK2Inv = sqrt(vol*real(sqrtK2Inv));
-    zmSub(sqrtK2Inv);
-    for(int mu = 0; mu < nd; mu++)
-    {
-      gaussian(rng, r);
-      r = sqrtK2Inv*r;
-      pokeLorentz(aTilde, r, mu);
-    }
-    fft.FFT_all_dim(out, aTilde, FFT::backward);
-  }
-//  template<class Gimpl>
-//  void Photon<Gimpl>::FeynmanGaugeMomentumSpacePropagator_L(GaugeField &out,
-//                                                            const GaugeField &in)
-//  {
-//    
-//    FeynmanGaugeMomentumSpacePropagator_TL(out,in);
-//    
-//    GridBase *grid = out._grid;
-//    LatticeInteger     coor(grid);
-//    GaugeField zz(grid); zz=zero;
-//    
-//    // xyzt
-//    for(int d = 0; d < grid->_ndimension-1;d++){
-//      LatticeCoordinate(coor,d);
-//      out = where(coor==Integer(0),zz,out);
-//    }
-//  }
-//  
-//  template<class Gimpl>
-//  void Photon<Gimpl>::FeynmanGaugeMomentumSpacePropagator_TL(GaugeField &out,
-//                                                             const GaugeField &in)
-//  {
-//    
-//    // what type LatticeComplex
-//    GridBase *grid = out._grid;
-//    int nd = grid->_ndimension;
-//    
-//    typedef typename GaugeField::vector_type vector_type;
-//    typedef typename GaugeField::scalar_type ScalComplex;
-//    typedef Lattice<iSinglet<vector_type> > LatComplex;
-//    
-//    std::vector<int> latt_size   = grid->_fdimensions;
-//    
-//    LatComplex denom(grid); denom= zero;
-//    LatComplex   one(grid); one = ScalComplex(1.0,0.0);
-//    LatComplex   kmu(grid);
-//    
-//    ScalComplex ci(0.0,1.0);
-//    // momphase = n * 2pi / L
-//    for(int mu=0;mu<Nd;mu++) {
-//      
-//      LatticeCoordinate(kmu,mu);
-//      
-//      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
-//      
-//      kmu = TwoPiL * kmu ;
-//      
-//      denom = denom + 4.0*sin(kmu*0.5)*sin(kmu*0.5); // Wilson term
-//    }
-//    std::vector<int> zero_mode(nd,0);
-//    TComplexD Tone = ComplexD(1.0,0.0);
-//    TComplexD Tzero= ComplexD(0.0,0.0);
-//    
-//    pokeSite(Tone,denom,zero_mode);
-//    
-//    denom= one/denom;
-//    
-//    pokeSite(Tzero,denom,zero_mode);
-//    
-//    out = zero;
-//    out = in*denom;
-//  };
-  
-}}
-#endif

From 2854e601e6b1720da5b0ae3dbc9bec9906667bb4 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Thu, 3 Nov 2016 14:09:47 +0000
Subject: [PATCH 273/295] FFT test typo

---
 tests/core/Test_fft.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
index 6872f0e1..93596066 100644
--- a/tests/core/Test_fft.cc
+++ b/tests/core/Test_fft.cc
@@ -70,7 +70,7 @@ int main (int argc, char ** argv)
 
 
   std::cout<<"*************************************************"<<std::endl;
-  std::cout<<"Testing Fourier xfrom of known plane wave        "<<std::endl;
+  std::cout<<"Testing Fourier from of known plane wave         "<<std::endl;
   std::cout<<"*************************************************"<<std::endl;
   C=zero;
   for(int mu=0;mu<4;mu++){

From ec232af8518f36b6e2581ffefc2cda797898e214 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Thu, 3 Nov 2016 14:34:16 +0000
Subject: [PATCH 274/295] Photon.h references removed

---
 lib/qcd/action/Actions.h    | 1 -
 tests/core/Test_fft.cc      | 1 -
 tests/core/Test_fft_gfix.cc | 1 -
 3 files changed, 3 deletions(-)

diff --git a/lib/qcd/action/Actions.h b/lib/qcd/action/Actions.h
index a23c6495..ba6e577d 100644
--- a/lib/qcd/action/Actions.h
+++ b/lib/qcd/action/Actions.h
@@ -57,7 +57,6 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 ////////////////////////////////////////////
 // Gauge Actions
 ////////////////////////////////////////////
-#include <Grid/qcd/action/gauge/Photon.h>
 #include <Grid/qcd/action/gauge/WilsonGaugeAction.h>
 #include <Grid/qcd/action/gauge/PlaqPlusRectangleAction.h>
 
diff --git a/tests/core/Test_fft.cc b/tests/core/Test_fft.cc
index 93596066..03c8bc52 100644
--- a/tests/core/Test_fft.cc
+++ b/tests/core/Test_fft.cc
@@ -27,7 +27,6 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     *************************************************************************************/
     /*  END LEGAL */
 #include <Grid/Grid.h>
-#include <Grid/qcd/action/gauge/Photon.h>
 
 using namespace Grid;
 using namespace Grid::QCD;
diff --git a/tests/core/Test_fft_gfix.cc b/tests/core/Test_fft_gfix.cc
index 1eda9a67..6a2868b0 100644
--- a/tests/core/Test_fft_gfix.cc
+++ b/tests/core/Test_fft_gfix.cc
@@ -27,7 +27,6 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
     *************************************************************************************/
     /*  END LEGAL */
 #include <Grid/Grid.h>
-#include <Grid/qcd/action/gauge/Photon.h>
 
 using namespace Grid;
 using namespace Grid::QCD;

From 6e548a8ad5641db9421db435d68ee6f6d3b9dba1 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 4 Nov 2016 11:34:16 +0000
Subject: [PATCH 275/295] Linux compile needed

---
 lib/communicator/Communicator_mpi3_leader.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/communicator/Communicator_mpi3_leader.cc b/lib/communicator/Communicator_mpi3_leader.cc
index 49a3e948..71f1a913 100644
--- a/lib/communicator/Communicator_mpi3_leader.cc
+++ b/lib/communicator/Communicator_mpi3_leader.cc
@@ -39,6 +39,10 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 ///
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 #include <semaphore.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <limits.h>
+
 typedef sem_t *Grid_semaphore;
 
 #define SEM_INIT(S)      S = sem_open(sem_name,0,0600,0); assert ( S != SEM_FAILED );

From b7d55f7dfb4c6b11f0daf573aebfa3a5755aab96 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 4 Nov 2016 11:35:08 +0000
Subject: [PATCH 276/295] Fix a typo in reorg of the --dslash-asm

---
 lib/qcd/action/fermion/WilsonKernels.h | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h
index 919f7540..47da2b14 100644
--- a/lib/qcd/action/fermion/WilsonKernels.h
+++ b/lib/qcd/action/fermion/WilsonKernels.h
@@ -61,14 +61,8 @@ public:
     switch(Opt) {
 #ifdef AVX512
     case OptInlineAsm:
-      for (int site = 0; site < Ns; site++) {
-	for (int s = 0; s < Ls; s++) {
-	  WilsonKernels<Impl>::DiracOptAsmDhopSite(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
-	  sF++;
-	}
-	sU++;
-      }
-      break;
+       WilsonKernels<Impl>::DiracOptAsmDhopSite(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
+       break;
 #endif
     case OptHandUnroll:
       for (int site = 0; site < Ns; site++) {
@@ -115,13 +109,7 @@ public:
     switch(Opt) {
 #ifdef AVX512
     case OptInlineAsm:
-      for (int site = 0; site < Ns; site++) {
-	for (int s = 0; s < Ls; s++) {
-	  WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
-	  sF++;
-	}
-	sU++;
-      }
+      WilsonKernels<Impl>::DiracOptAsmDhopSiteDag(st,lo,U,buf,sF,sU,Ls,Ns,in,out);
       break;
 #endif
     case OptHandUnroll:

From f2f16eb972011081680d1805981d3809ada0449a Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 4 Nov 2016 13:11:05 +0000
Subject: [PATCH 277/295] fftw3.h removed, please don't commit this file back

---
 lib/fftw/fftw3.h | 412 -----------------------------------------------
 1 file changed, 412 deletions(-)
 delete mode 100644 lib/fftw/fftw3.h

diff --git a/lib/fftw/fftw3.h b/lib/fftw/fftw3.h
deleted file mode 100644
index 1bf34396..00000000
--- a/lib/fftw/fftw3.h
+++ /dev/null
@@ -1,412 +0,0 @@
-/*
- * Copyright (c) 2003, 2007-14 Matteo Frigo
- * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
- *
- * The following statement of license applies *only* to this header file,
- * and *not* to the other files distributed with FFTW or derived therefrom:
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/***************************** NOTE TO USERS *********************************
- *
- *                 THIS IS A HEADER FILE, NOT A MANUAL
- *
- *    If you want to know how to use FFTW, please read the manual,
- *    online at http://www.fftw.org/doc/ and also included with FFTW.
- *    For a quick start, see the manual's tutorial section.
- *
- *   (Reading header files to learn how to use a library is a habit
- *    stemming from code lacking a proper manual.  Arguably, it's a
- *    *bad* habit in most cases, because header files can contain
- *    interfaces that are not part of the public, stable API.)
- *
- ****************************************************************************/
-
-#ifndef FFTW3_H
-#define FFTW3_H
-
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-
-/* If <complex.h> is included, use the C99 complex type.  Otherwise
-   define a type bit-compatible with C99 complex */
-#if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I)
-#  define FFTW_DEFINE_COMPLEX(R, C) typedef R _Complex C
-#else
-#  define FFTW_DEFINE_COMPLEX(R, C) typedef R C[2]
-#endif
-
-#define FFTW_CONCAT(prefix, name) prefix ## name
-#define FFTW_MANGLE_DOUBLE(name) FFTW_CONCAT(fftw_, name)
-#define FFTW_MANGLE_FLOAT(name) FFTW_CONCAT(fftwf_, name)
-#define FFTW_MANGLE_LONG_DOUBLE(name) FFTW_CONCAT(fftwl_, name)
-#define FFTW_MANGLE_QUAD(name) FFTW_CONCAT(fftwq_, name)
-
-/* IMPORTANT: for Windows compilers, you should add a line
-        #define FFTW_DLL
-   here and in kernel/ifftw.h if you are compiling/using FFTW as a
-   DLL, in order to do the proper importing/exporting, or
-   alternatively compile with -DFFTW_DLL or the equivalent
-   command-line flag.  This is not necessary under MinGW/Cygwin, where
-   libtool does the imports/exports automatically. */
-#if defined(FFTW_DLL) && (defined(_WIN32) || defined(__WIN32__))
-   /* annoying Windows syntax for shared-library declarations */
-#  if defined(COMPILING_FFTW) /* defined in api.h when compiling FFTW */
-#    define FFTW_EXTERN extern __declspec(dllexport) 
-#  else /* user is calling FFTW; import symbol */
-#    define FFTW_EXTERN extern __declspec(dllimport) 
-#  endif
-#else
-#  define FFTW_EXTERN extern
-#endif
-
-enum fftw_r2r_kind_do_not_use_me {
-     FFTW_R2HC=0, FFTW_HC2R=1, FFTW_DHT=2,
-     FFTW_REDFT00=3, FFTW_REDFT01=4, FFTW_REDFT10=5, FFTW_REDFT11=6,
-     FFTW_RODFT00=7, FFTW_RODFT01=8, FFTW_RODFT10=9, FFTW_RODFT11=10
-};
-
-struct fftw_iodim_do_not_use_me {
-     int n;                     /* dimension size */
-     int is;			/* input stride */
-     int os;			/* output stride */
-};
-
-#include <stddef.h> /* for ptrdiff_t */
-struct fftw_iodim64_do_not_use_me {
-     ptrdiff_t n;                     /* dimension size */
-     ptrdiff_t is;			/* input stride */
-     ptrdiff_t os;			/* output stride */
-};
-
-typedef void (*fftw_write_char_func_do_not_use_me)(char c, void *);
-typedef int (*fftw_read_char_func_do_not_use_me)(void *);
-
-/*
-  huge second-order macro that defines prototypes for all API
-  functions.  We expand this macro for each supported precision
- 
-  X: name-mangling macro
-  R: real data type
-  C: complex data type
-*/
-
-#define FFTW_DEFINE_API(X, R, C)					   \
-									   \
-FFTW_DEFINE_COMPLEX(R, C);						   \
-									   \
-typedef struct X(plan_s) *X(plan);					   \
-									   \
-typedef struct fftw_iodim_do_not_use_me X(iodim);			   \
-typedef struct fftw_iodim64_do_not_use_me X(iodim64);			   \
-									   \
-typedef enum fftw_r2r_kind_do_not_use_me X(r2r_kind);			   \
-									   \
-typedef fftw_write_char_func_do_not_use_me X(write_char_func);		   \
-typedef fftw_read_char_func_do_not_use_me X(read_char_func);		   \
-									   \
-FFTW_EXTERN void X(execute)(const X(plan) p);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft)(int rank, const int *n,			   \
-		    C *in, C *out, int sign, unsigned flags);		   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_1d)(int n, C *in, C *out, int sign,	   \
-		       unsigned flags);					   \
-FFTW_EXTERN X(plan) X(plan_dft_2d)(int n0, int n1,			   \
-		       C *in, C *out, int sign, unsigned flags);	   \
-FFTW_EXTERN X(plan) X(plan_dft_3d)(int n0, int n1, int n2,		   \
-		       C *in, C *out, int sign, unsigned flags);	   \
-									   \
-FFTW_EXTERN X(plan) X(plan_many_dft)(int rank, const int *n,		   \
-                         int howmany,					   \
-                         C *in, const int *inembed,			   \
-                         int istride, int idist,			   \
-                         C *out, const int *onembed,			   \
-                         int ostride, int odist,			   \
-                         int sign, unsigned flags);			   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru_dft)(int rank, const X(iodim) *dims,	   \
-			 int howmany_rank,				   \
-			 const X(iodim) *howmany_dims,			   \
-			 C *in, C *out,					   \
-			 int sign, unsigned flags);			   \
-FFTW_EXTERN X(plan) X(plan_guru_split_dft)(int rank, const X(iodim) *dims, \
-			 int howmany_rank,				   \
-			 const X(iodim) *howmany_dims,			   \
-			 R *ri, R *ii, R *ro, R *io,			   \
-			 unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru64_dft)(int rank,			   \
-                         const X(iodim64) *dims,			   \
-			 int howmany_rank,				   \
-			 const X(iodim64) *howmany_dims,		   \
-			 C *in, C *out,					   \
-			 int sign, unsigned flags);			   \
-FFTW_EXTERN X(plan) X(plan_guru64_split_dft)(int rank,			   \
-                         const X(iodim64) *dims,			   \
-			 int howmany_rank,				   \
-			 const X(iodim64) *howmany_dims,		   \
-			 R *ri, R *ii, R *ro, R *io,			   \
-			 unsigned flags);				   \
-									   \
-FFTW_EXTERN void X(execute_dft)(const X(plan) p, C *in, C *out);	   \
-FFTW_EXTERN void X(execute_split_dft)(const X(plan) p, R *ri, R *ii,	   \
-                                      R *ro, R *io);			   \
-									   \
-FFTW_EXTERN X(plan) X(plan_many_dft_r2c)(int rank, const int *n,	   \
-                             int howmany,				   \
-                             R *in, const int *inembed,			   \
-                             int istride, int idist,			   \
-                             C *out, const int *onembed,		   \
-                             int ostride, int odist,			   \
-                             unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_r2c)(int rank, const int *n,		   \
-                        R *in, C *out, unsigned flags);			   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_r2c_1d)(int n,R *in,C *out,unsigned flags); \
-FFTW_EXTERN X(plan) X(plan_dft_r2c_2d)(int n0, int n1,			   \
-			   R *in, C *out, unsigned flags);		   \
-FFTW_EXTERN X(plan) X(plan_dft_r2c_3d)(int n0, int n1,			   \
-			   int n2,					   \
-			   R *in, C *out, unsigned flags);		   \
-									   \
-									   \
-FFTW_EXTERN X(plan) X(plan_many_dft_c2r)(int rank, const int *n,	   \
-			     int howmany,				   \
-			     C *in, const int *inembed,			   \
-			     int istride, int idist,			   \
-			     R *out, const int *onembed,		   \
-			     int ostride, int odist,			   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_c2r)(int rank, const int *n,		   \
-                        C *in, R *out, unsigned flags);			   \
-									   \
-FFTW_EXTERN X(plan) X(plan_dft_c2r_1d)(int n,C *in,R *out,unsigned flags); \
-FFTW_EXTERN X(plan) X(plan_dft_c2r_2d)(int n0, int n1,			   \
-			   C *in, R *out, unsigned flags);		   \
-FFTW_EXTERN X(plan) X(plan_dft_c2r_3d)(int n0, int n1,			   \
-			   int n2,					   \
-			   C *in, R *out, unsigned flags);		   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru_dft_r2c)(int rank, const X(iodim) *dims,   \
-			     int howmany_rank,				   \
-			     const X(iodim) *howmany_dims,		   \
-			     R *in, C *out,				   \
-			     unsigned flags);				   \
-FFTW_EXTERN X(plan) X(plan_guru_dft_c2r)(int rank, const X(iodim) *dims,   \
-			     int howmany_rank,				   \
-			     const X(iodim) *howmany_dims,		   \
-			     C *in, R *out,				   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru_split_dft_r2c)(				   \
-                             int rank, const X(iodim) *dims,		   \
-			     int howmany_rank,				   \
-			     const X(iodim) *howmany_dims,		   \
-			     R *in, R *ro, R *io,			   \
-			     unsigned flags);				   \
-FFTW_EXTERN X(plan) X(plan_guru_split_dft_c2r)(				   \
-                             int rank, const X(iodim) *dims,		   \
-			     int howmany_rank,				   \
-			     const X(iodim) *howmany_dims,		   \
-			     R *ri, R *ii, R *out,			   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru64_dft_r2c)(int rank,			   \
-                             const X(iodim64) *dims,			   \
-			     int howmany_rank,				   \
-			     const X(iodim64) *howmany_dims,		   \
-			     R *in, C *out,				   \
-			     unsigned flags);				   \
-FFTW_EXTERN X(plan) X(plan_guru64_dft_c2r)(int rank,			   \
-                             const X(iodim64) *dims,			   \
-			     int howmany_rank,				   \
-			     const X(iodim64) *howmany_dims,		   \
-			     C *in, R *out,				   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru64_split_dft_r2c)(			   \
-                             int rank, const X(iodim64) *dims,		   \
-			     int howmany_rank,				   \
-			     const X(iodim64) *howmany_dims,		   \
-			     R *in, R *ro, R *io,			   \
-			     unsigned flags);				   \
-FFTW_EXTERN X(plan) X(plan_guru64_split_dft_c2r)(			   \
-                             int rank, const X(iodim64) *dims,		   \
-			     int howmany_rank,				   \
-			     const X(iodim64) *howmany_dims,		   \
-			     R *ri, R *ii, R *out,			   \
-			     unsigned flags);				   \
-									   \
-FFTW_EXTERN void X(execute_dft_r2c)(const X(plan) p, R *in, C *out);	   \
-FFTW_EXTERN void X(execute_dft_c2r)(const X(plan) p, C *in, R *out);	   \
-									   \
-FFTW_EXTERN void X(execute_split_dft_r2c)(const X(plan) p,		   \
-                                          R *in, R *ro, R *io);		   \
-FFTW_EXTERN void X(execute_split_dft_c2r)(const X(plan) p,		   \
-                                          R *ri, R *ii, R *out);	   \
-									   \
-FFTW_EXTERN X(plan) X(plan_many_r2r)(int rank, const int *n,		   \
-                         int howmany,					   \
-                         R *in, const int *inembed,			   \
-                         int istride, int idist,			   \
-                         R *out, const int *onembed,			   \
-                         int ostride, int odist,			   \
-                         const X(r2r_kind) *kind, unsigned flags);	   \
-									   \
-FFTW_EXTERN X(plan) X(plan_r2r)(int rank, const int *n, R *in, R *out,	   \
-                    const X(r2r_kind) *kind, unsigned flags);		   \
-									   \
-FFTW_EXTERN X(plan) X(plan_r2r_1d)(int n, R *in, R *out,		   \
-                       X(r2r_kind) kind, unsigned flags);		   \
-FFTW_EXTERN X(plan) X(plan_r2r_2d)(int n0, int n1, R *in, R *out,	   \
-                       X(r2r_kind) kind0, X(r2r_kind) kind1,		   \
-                       unsigned flags);					   \
-FFTW_EXTERN X(plan) X(plan_r2r_3d)(int n0, int n1, int n2,		   \
-                       R *in, R *out, X(r2r_kind) kind0,		   \
-                       X(r2r_kind) kind1, X(r2r_kind) kind2,		   \
-                       unsigned flags);					   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru_r2r)(int rank, const X(iodim) *dims,	   \
-                         int howmany_rank,				   \
-                         const X(iodim) *howmany_dims,			   \
-                         R *in, R *out,					   \
-                         const X(r2r_kind) *kind, unsigned flags);	   \
-									   \
-FFTW_EXTERN X(plan) X(plan_guru64_r2r)(int rank, const X(iodim64) *dims,   \
-                         int howmany_rank,				   \
-                         const X(iodim64) *howmany_dims,		   \
-                         R *in, R *out,					   \
-                         const X(r2r_kind) *kind, unsigned flags);	   \
-									   \
-FFTW_EXTERN void X(execute_r2r)(const X(plan) p, R *in, R *out);	   \
-									   \
-FFTW_EXTERN void X(destroy_plan)(X(plan) p);				   \
-FFTW_EXTERN void X(forget_wisdom)(void);				   \
-FFTW_EXTERN void X(cleanup)(void);					   \
-									   \
-FFTW_EXTERN void X(set_timelimit)(double t);				   \
-									   \
-FFTW_EXTERN void X(plan_with_nthreads)(int nthreads);			   \
-FFTW_EXTERN int X(init_threads)(void);					   \
-FFTW_EXTERN void X(cleanup_threads)(void);				   \
-									   \
-FFTW_EXTERN int X(export_wisdom_to_filename)(const char *filename);	   \
-FFTW_EXTERN void X(export_wisdom_to_file)(FILE *output_file);		   \
-FFTW_EXTERN char *X(export_wisdom_to_string)(void);			   \
-FFTW_EXTERN void X(export_wisdom)(X(write_char_func) write_char,   	   \
-                                  void *data);				   \
-FFTW_EXTERN int X(import_system_wisdom)(void);				   \
-FFTW_EXTERN int X(import_wisdom_from_filename)(const char *filename);	   \
-FFTW_EXTERN int X(import_wisdom_from_file)(FILE *input_file);		   \
-FFTW_EXTERN int X(import_wisdom_from_string)(const char *input_string);	   \
-FFTW_EXTERN int X(import_wisdom)(X(read_char_func) read_char, void *data); \
-									   \
-FFTW_EXTERN void X(fprint_plan)(const X(plan) p, FILE *output_file);	   \
-FFTW_EXTERN void X(print_plan)(const X(plan) p);			   \
-FFTW_EXTERN char *X(sprint_plan)(const X(plan) p);			   \
-									   \
-FFTW_EXTERN void *X(malloc)(size_t n);					   \
-FFTW_EXTERN R *X(alloc_real)(size_t n);					   \
-FFTW_EXTERN C *X(alloc_complex)(size_t n);				   \
-FFTW_EXTERN void X(free)(void *p);					   \
-									   \
-FFTW_EXTERN void X(flops)(const X(plan) p,				   \
-                          double *add, double *mul, double *fmas);	   \
-FFTW_EXTERN double X(estimate_cost)(const X(plan) p);			   \
-FFTW_EXTERN double X(cost)(const X(plan) p);				   \
-									   \
-FFTW_EXTERN int X(alignment_of)(R *p);                                     \
-FFTW_EXTERN const char X(version)[];                                       \
-FFTW_EXTERN const char X(cc)[];						   \
-FFTW_EXTERN const char X(codelet_optim)[];
-
-
-/* end of FFTW_DEFINE_API macro */
-
-FFTW_DEFINE_API(FFTW_MANGLE_DOUBLE, double, fftw_complex)
-FFTW_DEFINE_API(FFTW_MANGLE_FLOAT, float, fftwf_complex)
-FFTW_DEFINE_API(FFTW_MANGLE_LONG_DOUBLE, long double, fftwl_complex)
-
-/* __float128 (quad precision) is a gcc extension on i386, x86_64, and ia64
-   for gcc >= 4.6 (compiled in FFTW with --enable-quad-precision) */
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) \
- && !(defined(__ICC) || defined(__INTEL_COMPILER)) \
- && (defined(__i386__) || defined(__x86_64__) || defined(__ia64__))
-#  if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I)
-/* note: __float128 is a typedef, which is not supported with the _Complex
-         keyword in gcc, so instead we use this ugly __attribute__ version.
-         However, we can't simply pass the __attribute__ version to
-         FFTW_DEFINE_API because the __attribute__ confuses gcc in pointer
-         types.  Hence redefining FFTW_DEFINE_COMPLEX.  Ugh. */
-#    undef FFTW_DEFINE_COMPLEX
-#    define FFTW_DEFINE_COMPLEX(R, C) typedef _Complex float __attribute__((mode(TC))) C
-#  endif
-FFTW_DEFINE_API(FFTW_MANGLE_QUAD, __float128, fftwq_complex)
-#endif
-
-#define FFTW_FORWARD (-1)
-#define FFTW_BACKWARD (+1)
-
-#define FFTW_NO_TIMELIMIT (-1.0)
-
-/* documented flags */
-#define FFTW_MEASURE (0U)
-#define FFTW_DESTROY_INPUT (1U << 0)
-#define FFTW_UNALIGNED (1U << 1)
-#define FFTW_CONSERVE_MEMORY (1U << 2)
-#define FFTW_EXHAUSTIVE (1U << 3) /* NO_EXHAUSTIVE is default */
-#define FFTW_PRESERVE_INPUT (1U << 4) /* cancels FFTW_DESTROY_INPUT */
-#define FFTW_PATIENT (1U << 5) /* IMPATIENT is default */
-#define FFTW_ESTIMATE (1U << 6)
-#define FFTW_WISDOM_ONLY (1U << 21)
-
-/* undocumented beyond-guru flags */
-#define FFTW_ESTIMATE_PATIENT (1U << 7)
-#define FFTW_BELIEVE_PCOST (1U << 8)
-#define FFTW_NO_DFT_R2HC (1U << 9)
-#define FFTW_NO_NONTHREADED (1U << 10)
-#define FFTW_NO_BUFFERING (1U << 11)
-#define FFTW_NO_INDIRECT_OP (1U << 12)
-#define FFTW_ALLOW_LARGE_GENERIC (1U << 13) /* NO_LARGE_GENERIC is default */
-#define FFTW_NO_RANK_SPLITS (1U << 14)
-#define FFTW_NO_VRANK_SPLITS (1U << 15)
-#define FFTW_NO_VRECURSE (1U << 16)
-#define FFTW_NO_SIMD (1U << 17)
-#define FFTW_NO_SLOW (1U << 18)
-#define FFTW_NO_FIXED_RADIX_LARGE_N (1U << 19)
-#define FFTW_ALLOW_PRUNING (1U << 20)
-
-#ifdef __cplusplus
-}  /* extern "C" */
-#endif /* __cplusplus */
-
-#endif /* FFTW3_H */

From ad971ca07beead6482c69f656e5cb80eb4ed1c73 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 4 Nov 2016 13:12:35 +0000
Subject: [PATCH 278/295] fftw3.h is now expected to be an external header

---
 lib/FFT.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index a16e775b..fda43eb8 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -30,7 +30,7 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #define _GRID_FFT_H_
 
 #ifdef HAVE_FFTW	
-#include <Grid/fftw/fftw3.h>
+#include <fftw3.h>
 #endif
 
 

From 6592078feffb83e01e82dcb9144ebd551900201b Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 4 Nov 2016 13:43:40 +0000
Subject: [PATCH 279/295] Make.inc removed, once again don't commit it!

---
 tests/hmc/Make.inc | 63 ----------------------------------------------
 1 file changed, 63 deletions(-)
 delete mode 100644 tests/hmc/Make.inc

diff --git a/tests/hmc/Make.inc b/tests/hmc/Make.inc
deleted file mode 100644
index f6f9c6b5..00000000
--- a/tests/hmc/Make.inc
+++ /dev/null
@@ -1,63 +0,0 @@
-tests: Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonAdjointFermionGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonMixedRepresentationsFermionGauge Test_hmc_WilsonRatio Test_hmc_WilsonTwoIndexSymmetricFermionGauge Test_multishift_sqrt Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio
-EXTRA_PROGRAMS = Test_hmc_EODWFRatio Test_hmc_EODWFRatio_Gparity Test_hmc_EOWilsonFermionGauge Test_hmc_EOWilsonRatio Test_hmc_GparityIwasakiGauge Test_hmc_GparityWilsonGauge Test_hmc_IwasakiGauge Test_hmc_RectGauge Test_hmc_WilsonAdjointFermionGauge Test_hmc_WilsonFermionGauge Test_hmc_WilsonGauge Test_hmc_WilsonMixedRepresentationsFermionGauge Test_hmc_WilsonRatio Test_hmc_WilsonTwoIndexSymmetricFermionGauge Test_multishift_sqrt Test_remez Test_rhmc_EOWilson1p1 Test_rhmc_EOWilsonRatio Test_rhmc_Wilson1p1 Test_rhmc_WilsonRatio
-
-Test_hmc_EODWFRatio_SOURCES=Test_hmc_EODWFRatio.cc
-Test_hmc_EODWFRatio_LDADD=-lGrid
-
-Test_hmc_EODWFRatio_Gparity_SOURCES=Test_hmc_EODWFRatio_Gparity.cc
-Test_hmc_EODWFRatio_Gparity_LDADD=-lGrid
-
-Test_hmc_EOWilsonFermionGauge_SOURCES=Test_hmc_EOWilsonFermionGauge.cc
-Test_hmc_EOWilsonFermionGauge_LDADD=-lGrid
-
-Test_hmc_EOWilsonRatio_SOURCES=Test_hmc_EOWilsonRatio.cc
-Test_hmc_EOWilsonRatio_LDADD=-lGrid
-
-Test_hmc_GparityIwasakiGauge_SOURCES=Test_hmc_GparityIwasakiGauge.cc
-Test_hmc_GparityIwasakiGauge_LDADD=-lGrid
-
-Test_hmc_GparityWilsonGauge_SOURCES=Test_hmc_GparityWilsonGauge.cc
-Test_hmc_GparityWilsonGauge_LDADD=-lGrid
-
-Test_hmc_IwasakiGauge_SOURCES=Test_hmc_IwasakiGauge.cc
-Test_hmc_IwasakiGauge_LDADD=-lGrid
-
-Test_hmc_RectGauge_SOURCES=Test_hmc_RectGauge.cc
-Test_hmc_RectGauge_LDADD=-lGrid
-
-Test_hmc_WilsonAdjointFermionGauge_SOURCES=Test_hmc_WilsonAdjointFermionGauge.cc
-Test_hmc_WilsonAdjointFermionGauge_LDADD=-lGrid
-
-Test_hmc_WilsonFermionGauge_SOURCES=Test_hmc_WilsonFermionGauge.cc
-Test_hmc_WilsonFermionGauge_LDADD=-lGrid
-
-Test_hmc_WilsonGauge_SOURCES=Test_hmc_WilsonGauge.cc
-Test_hmc_WilsonGauge_LDADD=-lGrid
-
-Test_hmc_WilsonMixedRepresentationsFermionGauge_SOURCES=Test_hmc_WilsonMixedRepresentationsFermionGauge.cc
-Test_hmc_WilsonMixedRepresentationsFermionGauge_LDADD=-lGrid
-
-Test_hmc_WilsonRatio_SOURCES=Test_hmc_WilsonRatio.cc
-Test_hmc_WilsonRatio_LDADD=-lGrid
-
-Test_hmc_WilsonTwoIndexSymmetricFermionGauge_SOURCES=Test_hmc_WilsonTwoIndexSymmetricFermionGauge.cc
-Test_hmc_WilsonTwoIndexSymmetricFermionGauge_LDADD=-lGrid
-
-Test_multishift_sqrt_SOURCES=Test_multishift_sqrt.cc
-Test_multishift_sqrt_LDADD=-lGrid
-
-Test_remez_SOURCES=Test_remez.cc
-Test_remez_LDADD=-lGrid
-
-Test_rhmc_EOWilson1p1_SOURCES=Test_rhmc_EOWilson1p1.cc
-Test_rhmc_EOWilson1p1_LDADD=-lGrid
-
-Test_rhmc_EOWilsonRatio_SOURCES=Test_rhmc_EOWilsonRatio.cc
-Test_rhmc_EOWilsonRatio_LDADD=-lGrid
-
-Test_rhmc_Wilson1p1_SOURCES=Test_rhmc_Wilson1p1.cc
-Test_rhmc_Wilson1p1_LDADD=-lGrid
-
-Test_rhmc_WilsonRatio_SOURCES=Test_rhmc_WilsonRatio.cc
-Test_rhmc_WilsonRatio_LDADD=-lGrid
-

From 8af8b047fde3aaf17ed6a19df139788c73798217 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 4 Nov 2016 13:44:21 +0000
Subject: [PATCH 280/295] tests is now a recusrsive target

---
 configure.ac     | 1 +
 scripts/filelist | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 9178a11d..2b759dde 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,6 +4,7 @@ AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 AC_CANONICAL_TARGET
 AM_INIT_AUTOMAKE(subdir-objects)
+AM_EXTRA_RECURSIVE_TARGETS([tests])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([lib/Grid.h])
 AC_CONFIG_HEADERS([lib/Config.h])
diff --git a/scripts/filelist b/scripts/filelist
index 0802c2a6..52252ca9 100755
--- a/scripts/filelist
+++ b/scripts/filelist
@@ -20,7 +20,7 @@ for subdir in $dirs; do
     TESTS=`ls T*.cc`
     TESTLIST=`echo ${TESTS} | sed s/.cc//g `
     PREF=`[ $subdir = '.' ] && echo noinst || echo EXTRA`
-    echo "tests: ${TESTLIST}" > Make.inc
+    echo "tests-local: ${TESTLIST}" > Make.inc
     echo ${PREF}_PROGRAMS = ${TESTLIST} >> Make.inc
     echo >> Make.inc
     for f in $TESTS; do

From 7df940dc3eaee162dca8a4fd81dd299d32d342b9 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Fri, 4 Nov 2016 22:32:25 +0000
Subject: [PATCH 281/295] homemade test recusrive target for old autotools
 versions

---
 Makefile.am       |  5 +++++
 README.md         |  1 +
 configure.ac      |  1 -
 scripts/filelist  | 15 ++++++++++-----
 tests/Makefile.am |  5 +++++
 5 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 90c5cd71..049220e8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,10 @@
 # additional include paths necessary to compile the C++ library
 SUBDIRS = lib benchmarks tests
 
+.PHONY: tests
+
+tests:
+	make -C tests tests
+
 AM_CXXFLAGS += -I$(top_builddir)/include
 ACLOCAL_AMFLAGS = -I m4
diff --git a/README.md b/README.md
index c7461368..49f08237 100644
--- a/README.md
+++ b/README.md
@@ -106,6 +106,7 @@ To minimise the build time, only the tests at the root of the `tests` directory
 ``` bash
 make -C tests/<subdir> tests
 ```
+If you want to build all the tests at once just use `make tests`.
 
 ### Build configuration options
 
diff --git a/configure.ac b/configure.ac
index 2b759dde..9178a11d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,6 @@ AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 AC_CANONICAL_TARGET
 AM_INIT_AUTOMAKE(subdir-objects)
-AM_EXTRA_RECURSIVE_TARGETS([tests])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([lib/Grid.h])
 AC_CONFIG_HEADERS([lib/Config.h])
diff --git a/scripts/filelist b/scripts/filelist
index 52252ca9..dddb605b 100755
--- a/scripts/filelist
+++ b/scripts/filelist
@@ -20,15 +20,20 @@ for subdir in $dirs; do
     TESTS=`ls T*.cc`
     TESTLIST=`echo ${TESTS} | sed s/.cc//g `
     PREF=`[ $subdir = '.' ] && echo noinst || echo EXTRA`
-    echo "tests-local: ${TESTLIST}" > Make.inc
+    SUB=`[ $subdir = '.' ] && echo subtests`
+    echo "tests: ${TESTLIST} ${SUB}" > Make.inc
     echo ${PREF}_PROGRAMS = ${TESTLIST} >> Make.inc
     echo >> Make.inc
     for f in $TESTS; do
-	BNAME=`basename $f .cc`
-	echo ${BNAME}_SOURCES=$f  >> Make.inc
-	echo ${BNAME}_LDADD=-lGrid>> Make.inc
-	echo >> Make.inc
+	   BNAME=`basename $f .cc`
+	   echo ${BNAME}_SOURCES=$f  >> Make.inc
+	   echo ${BNAME}_LDADD=-lGrid>> Make.inc
+	   echo >> Make.inc
     done
+    if [ $subdir != '.' ]; then
+       echo CLEANFILES = ${TESTLIST} >> Make.inc
+       echo >> Make.inc
+    fi
 done
 
 # benchmarks Make.inc
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 2b8cc2d7..c98bc2d0 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -4,4 +4,9 @@ if BUILD_CHROMA_REGRESSION
   SUBDIRS+= qdpxx
 endif
 
+.PHONY: subtests
+
 include Make.inc
+
+subtests:
+	for d in $(SUBDIRS); do make -C $${d} tests; done

From 96ba42a2976b4eed3406ddca8013030e4423f4dd Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Fri, 4 Nov 2016 22:47:25 +0000
Subject: [PATCH 282/295] omm buf

---
 lib/algorithms/CoarsenedMatrix.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/algorithms/CoarsenedMatrix.h b/lib/algorithms/CoarsenedMatrix.h
index 3ae0af75..fd9acc91 100644
--- a/lib/algorithms/CoarsenedMatrix.h
+++ b/lib/algorithms/CoarsenedMatrix.h
@@ -282,7 +282,7 @@ PARALLEL_FOR_LOOP
 	  } else if(SE->_is_local) { 
 	    nbr = in._odata[SE->_offset];
 	  } else {
-	    nbr = Stencil.comm_buf[SE->_offset];
+	    nbr = Stencil.CommBuf()[SE->_offset];
 	  }
 	  res = res + A[point]._odata[ss]*nbr;
 	}

From afc8d3e524b6ceff65c415ad05b41384fc420e2a Mon Sep 17 00:00:00 2001
From: Guido Cossu <guido.cossu@ed.ac.uk>
Date: Mon, 7 Nov 2016 11:13:43 +0000
Subject: [PATCH 283/295] Adding support for parallel recursive compilation for
 the tests

---
 Makefile.am       | 2 +-
 tests/Makefile.am | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 049220e8..2606b88c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,7 +4,7 @@ SUBDIRS = lib benchmarks tests
 .PHONY: tests
 
 tests:
-	make -C tests tests
+	$(MAKE) -C tests tests
 
 AM_CXXFLAGS += -I$(top_builddir)/include
 ACLOCAL_AMFLAGS = -I m4
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c98bc2d0..2e7c1f0a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -9,4 +9,4 @@ endif
 include Make.inc
 
 subtests:
-	for d in $(SUBDIRS); do make -C $${d} tests; done
+	for d in $(SUBDIRS); do $(MAKE) -C $${d} tests; done

From 0cff8754d1b8e2c46b972dcc02b0e80069c2bcd7 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Tue, 8 Nov 2016 11:35:41 +0000
Subject: [PATCH 284/295] Usecs

---
 lib/FFT.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index fda43eb8..52d08cbe 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -122,7 +122,8 @@ namespace Grid {
     
     double Flops(void) {return flops;}
     double MFlops(void) {return flops/usec;}
-    
+    double USec(void)   {return (double)usec;}    
+
     FFT ( GridCartesian * grid ) :
     vgrid(grid),
     Nd(grid->_ndimension),

From 3dc2e05d6edb5acd0582293017d4a7fe5753297d Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Tue, 8 Nov 2016 11:36:18 +0000
Subject: [PATCH 285/295] Time as well since MKL returns zero for Mflops

---
 tests/core/Test_fftf.cc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/core/Test_fftf.cc b/tests/core/Test_fftf.cc
index 54b1ddb3..4eb4398d 100644
--- a/tests/core/Test_fftf.cc
+++ b/tests/core/Test_fftf.cc
@@ -93,10 +93,10 @@ int main (int argc, char ** argv)
   C=C-Ctilde;
   std::cout << "diff scalar "<<norm2(C) << std::endl;
 
-  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde; std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<<std::endl;
-  theFFT.FFT_dim(Stilde,S,3,FFT::forward);std::cout << theFFT.MFlops()<<std::endl;
+  theFFT.FFT_dim(Stilde,S,0,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<< " "<<theFFT.USec() <<std::endl;
+  theFFT.FFT_dim(Stilde,S,1,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<< " "<<theFFT.USec() <<std::endl;
+  theFFT.FFT_dim(Stilde,S,2,FFT::forward);  S=Stilde;std::cout << theFFT.MFlops()<< " "<<theFFT.USec() <<std::endl;
+  theFFT.FFT_dim(Stilde,S,3,FFT::forward);std::cout << theFFT.MFlops()<<" "<<theFFT.USec() <<std::endl;
 
   SpinMatrixF Sp; 
   Sp = zero; Sp = Sp+cVol;

From f85b35314dafe12ba6a497c46d0b2c0bbbc373a2 Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Tue, 8 Nov 2016 11:49:13 +0000
Subject: [PATCH 286/295] Fix a routine for single node processor coor from
 rank

---
 lib/communicator/Communicator_none.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/communicator/Communicator_none.cc b/lib/communicator/Communicator_none.cc
index 0f43f1f5..5e91b305 100644
--- a/lib/communicator/Communicator_none.cc
+++ b/lib/communicator/Communicator_none.cc
@@ -97,7 +97,7 @@ void CartesianCommunicator::Barrier(void){}
 void CartesianCommunicator::Broadcast(int root,void* data, int bytes) {}
 void CartesianCommunicator::BroadcastWorld(int root,void* data, int bytes) { }
 int  CartesianCommunicator::RankFromProcessorCoor(std::vector<int> &coor) {  return 0;}
-void CartesianCommunicator::ProcessorCoorFromRank(int rank, std::vector<int> &coor){  assert(0);}
+void CartesianCommunicator::ProcessorCoorFromRank(int rank, std::vector<int> &coor){ coor = _processor_coor ;}
 void CartesianCommunicator::ShiftedRanks(int dim,int shift,int &source,int &dest)
 {
   source =0;

From 343f3e829f0d8cd4cb5913a150db3039bec7437d Mon Sep 17 00:00:00 2001
From: azusayamaguchi <ayamaguc@staffmail.ed.ac.uk>
Date: Tue, 8 Nov 2016 13:42:12 +0000
Subject: [PATCH 287/295] Fixes prerelease to make all tests

---
 Makefile.am                 |  2 +-
 tests/Makefile.am           |  2 +-
 tests/core/Test_fft_gfix.cc | 14 +++++++-------
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 049220e8..2606b88c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,7 +4,7 @@ SUBDIRS = lib benchmarks tests
 .PHONY: tests
 
 tests:
-	make -C tests tests
+	$(MAKE) -C tests tests
 
 AM_CXXFLAGS += -I$(top_builddir)/include
 ACLOCAL_AMFLAGS = -I m4
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c98bc2d0..2e7c1f0a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -9,4 +9,4 @@ endif
 include Make.inc
 
 subtests:
-	for d in $(SUBDIRS); do make -C $${d} tests; done
+	for d in $(SUBDIRS); do $(MAKE) -C $${d} tests; done
diff --git a/tests/core/Test_fft_gfix.cc b/tests/core/Test_fft_gfix.cc
index 6a2868b0..d5779726 100644
--- a/tests/core/Test_fft_gfix.cc
+++ b/tests/core/Test_fft_gfix.cc
@@ -120,7 +120,7 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
     LatticeComplex  Fp(grid);
     LatticeComplex  psq(grid); psq=zero;
     LatticeComplex  pmu(grid); 
-    LatticeComplex   one(grid); one = ComplexD(1.0,0.0);
+    LatticeComplex   one(grid); one = Complex(1.0,0.0);
 
     GaugeMat g(grid);
     GaugeMat dmuAmu_p(grid);
@@ -261,25 +261,25 @@ int main (int argc, char ** argv)
   std::cout<< "* Testing we can gauge fix steep descent a RGT of Unit gauge    *" <<std::endl;
   std::cout<< "*****************************************************************" <<std::endl;
 
-  LatticeGaugeFieldD   Umu(&GRID);
-  LatticeGaugeFieldD   Uorg(&GRID);
-  LatticeColourMatrixD   g(&GRID); // Gauge xform
+  LatticeGaugeField   Umu(&GRID);
+  LatticeGaugeField   Uorg(&GRID);
+  LatticeColourMatrix   g(&GRID); // Gauge xform
 
   
   SU3::ColdConfiguration(pRNG,Umu); // Unit gauge
   Uorg=Umu;
 
   SU3::RandomGaugeTransform(pRNG,Umu,g); // Unit gauge
-  RealD plaq=WilsonLoops<PeriodicGimplD>::avgPlaquette(Umu);
+  RealD plaq=WilsonLoops<PeriodicGimplF>::avgPlaquette(Umu);
   std::cout << " Initial plaquette "<<plaq << std::endl;
 
 
 
   RealD alpha=0.1;
-  FourierAcceleratedGaugeFixer<PeriodicGimplD>::SteepestDescentGaugeFix(Umu,alpha,10000,1.0e-10, 1.0e-10);
+  FourierAcceleratedGaugeFixer<PeriodicGimplF>::SteepestDescentGaugeFix(Umu,alpha,10000,1.0e-10, 1.0e-10);
 
 
-  plaq=WilsonLoops<PeriodicGimplD>::avgPlaquette(Umu);
+  plaq=WilsonLoops<PeriodicGimplF>::avgPlaquette(Umu);
   std::cout << " Final plaquette "<<plaq << std::endl;
 
   Uorg = Uorg - Umu;

From c5a025d421cb30f9ff114bf23a53b60195427ae6 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 8 Nov 2016 14:07:59 +0000
Subject: [PATCH 288/295] README typo

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 49f08237..f4a376f1 100644
--- a/README.md
+++ b/README.md
@@ -126,7 +126,7 @@ If you want to build all the tests at once just use `make tests`.
 
 ### Possible communication interfaces
 
-The following options can be use with the `--enable-simd=` option to target different communication interfaces:
+The following options can be use with the `--enable-comms=` option to target different communication interfaces:
 
 | `<comm>`       | Description                                                   |
 | -------------- | ------------------------------------------------------------- |

From f6e1a5b348a107e58e8bb9a94a2323047630a473 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 8 Nov 2016 14:08:33 +0000
Subject: [PATCH 289/295] building tests depends on building the library at the
 top level

---
 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index 2606b88c..18b3ddc3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,7 +3,7 @@ SUBDIRS = lib benchmarks tests
 
 .PHONY: tests
 
-tests:
+tests: all
 	$(MAKE) -C tests tests
 
 AM_CXXFLAGS += -I$(top_builddir)/include

From a26adfb0908ebe4c72c977b78e0b803742c06a2e Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 8 Nov 2016 14:11:18 +0000
Subject: [PATCH 290/295] README: only markdown

---
 README | 44 --------------------------------------------
 1 file changed, 44 deletions(-)
 delete mode 100644 README

diff --git a/README b/README
deleted file mode 100644
index 17e92fa0..00000000
--- a/README
+++ /dev/null
@@ -1,44 +0,0 @@
-This library provides data parallel C++ container classes with internal memory layout
-that is transformed to map efficiently to SIMD architectures. CSHIFT facilities
-are provided, similar to HPF and cmfortran, and user control is given over the mapping of
-array indices to both MPI tasks and SIMD processing elements.
-
-* Identically shaped arrays then be processed with perfect data parallelisation.
-* Such identically shapped arrays are called conformable arrays.
-
-The transformation is based on the observation that Cartesian array processing involves
-identical processing to be performed on different regions of the Cartesian array.
-
-The library will (eventually) both geometrically decompose into MPI tasks and across SIMD lanes.
-
-Data parallel array operations can then be specified with a SINGLE data parallel paradigm, but
-optimally use MPI, OpenMP and SIMD parallelism under the hood. This is a significant simplification
-for most programmers.
-
-The layout transformations are parametrised by the SIMD vector length. This adapts according to the architecture.
-Presently SSE2 (128 bit) AVX, AVX2 (256 bit) and IMCI and AVX512 (512 bit) targets are supported.
-
-These are presented as 
-
-  vRealF, vRealD, vComplexF, vComplexD 
-
-internal vector data types. These may be useful in themselves for other programmers.
-The corresponding scalar types are named
-
-  RealF, RealD, ComplexF, ComplexD
-
-MPI parallelism is UNIMPLEMENTED and for now only OpenMP and SIMD parallelism is present in the library.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is are examples:
-
-     ./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -msse4" --enable-simd=SSE4
-
-     ./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -mavx" --enable-simd=AVX1
-
-     ./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -mavx2" --enable-simd=AVX2
-
-     ./configure CXX=icpc CXXFLAGS="-std=c++11 -O3 -mmic" --enable-simd=AVX512 --host=none
-     
-     

From 3d2a22a14d9a74bf3dd7788a41d69adb3759b722 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 8 Nov 2016 15:31:47 +0000
Subject: [PATCH 291/295] include fix for MKL

---
 lib/FFT.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/FFT.h b/lib/FFT.h
index fda43eb8..c1cd1980 100644
--- a/lib/FFT.h
+++ b/lib/FFT.h
@@ -29,9 +29,13 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
 #ifndef _GRID_FFT_H_
 #define _GRID_FFT_H_
 
-#ifdef HAVE_FFTW	
+#ifdef HAVE_FFTW
+#ifdef USE_MKL
+#include <fftw/fftw3.h>
+#else
 #include <fftw3.h>
 #endif
+#endif
 
 
 namespace Grid {

From cd0be8cb24f29afe2a09010d7d87524af13aa543 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 8 Nov 2016 15:32:05 +0000
Subject: [PATCH 292/295] Test_fft_gfix.c precision fix

---
 tests/core/Test_fft_gfix.cc | 68 ++++++++++++++++++-------------------
 1 file changed, 34 insertions(+), 34 deletions(-)

diff --git a/tests/core/Test_fft_gfix.cc b/tests/core/Test_fft_gfix.cc
index 6a2868b0..c6b77a13 100644
--- a/tests/core/Test_fft_gfix.cc
+++ b/tests/core/Test_fft_gfix.cc
@@ -42,7 +42,7 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
   static void GaugeLinkToLieAlgebraField(const std::vector<GaugeMat> &U,std::vector<GaugeMat> &A) {
     for(int mu=0;mu<Nd;mu++){
 //      ImplComplex cmi(0.0,-1.0);
-      ComplexD cmi(0.0,-1.0);
+      Complex cmi(0.0,-1.0);
       A[mu] = Ta(U[mu]) * cmi;
     }
   }
@@ -52,13 +52,13 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
       dmuAmu = dmuAmu + A[mu] - Cshift(A[mu],mu,-1);
     }
   }  
-  static void SteepestDescentGaugeFix(GaugeLorentz &Umu,RealD & alpha,int maxiter,RealD Omega_tol, RealD Phi_tol) {
+  static void SteepestDescentGaugeFix(GaugeLorentz &Umu,Real & alpha,int maxiter,Real Omega_tol, Real Phi_tol) {
     GridBase *grid = Umu._grid;
 
-    RealD org_plaq      =WilsonLoops<Gimpl>::avgPlaquette(Umu);
-    RealD org_link_trace=WilsonLoops<Gimpl>::linkTrace(Umu); 
-    RealD old_trace = org_link_trace;
-    RealD trG;
+    Real org_plaq      =WilsonLoops<Gimpl>::avgPlaquette(Umu);
+    Real org_link_trace=WilsonLoops<Gimpl>::linkTrace(Umu); 
+    Real old_trace = org_link_trace;
+    Real trG;
 
     std::vector<GaugeMat> U(Nd,grid);
                  GaugeMat dmuAmu(grid);
@@ -71,13 +71,13 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
       // Monitor progress and convergence test 
       // infrequently to minimise cost overhead
       if ( i %20 == 0 ) { 
-	RealD plaq      =WilsonLoops<Gimpl>::avgPlaquette(Umu);
-	RealD link_trace=WilsonLoops<Gimpl>::linkTrace(Umu); 
+	Real plaq      =WilsonLoops<Gimpl>::avgPlaquette(Umu);
+	Real link_trace=WilsonLoops<Gimpl>::linkTrace(Umu); 
 
 	std::cout << GridLogMessage << " Iteration "<<i<< " plaq= "<<plaq<< " dmuAmu " << norm2(dmuAmu)<< std::endl;
 	
-	RealD Phi  = 1.0 - old_trace / link_trace ;
-	RealD Omega= 1.0 - trG;
+	Real Phi  = 1.0 - old_trace / link_trace ;
+	Real Omega= 1.0 - trG;
 
 
 	std::cout << GridLogMessage << " Iteration "<<i<< " Phi= "<<Phi<< " Omega= " << Omega<< " trG " << trG <<std::endl;
@@ -91,7 +91,7 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
       }
     }
   };
-  static RealD SteepestDescentStep(std::vector<GaugeMat> &U,RealD & alpha, GaugeMat & dmuAmu) {
+  static Real SteepestDescentStep(std::vector<GaugeMat> &U,Real & alpha, GaugeMat & dmuAmu) {
     GridBase *grid = U[0]._grid;
 
     std::vector<GaugeMat> A(Nd,grid);
@@ -101,26 +101,26 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
     ExpiAlphaDmuAmu(A,g,alpha,dmuAmu);
 
 
-    RealD vol = grid->gSites();
-    RealD trG = TensorRemove(sum(trace(g))).real()/vol/Nc;
+    Real vol = grid->gSites();
+    Real trG = TensorRemove(sum(trace(g))).real()/vol/Nc;
 
     SU<Nc>::GaugeTransform(U,g);
 
     return trG;
   }
 
-  static RealD FourierAccelSteepestDescentStep(std::vector<GaugeMat> &U,RealD & alpha, GaugeMat & dmuAmu) {
+  static Real FourierAccelSteepestDescentStep(std::vector<GaugeMat> &U,Real & alpha, GaugeMat & dmuAmu) {
 
     GridBase *grid = U[0]._grid;
 
-    RealD vol = grid->gSites();
+    Real vol = grid->gSites();
 
     FFT theFFT((GridCartesian *)grid);
 
     LatticeComplex  Fp(grid);
     LatticeComplex  psq(grid); psq=zero;
     LatticeComplex  pmu(grid); 
-    LatticeComplex   one(grid); one = ComplexD(1.0,0.0);
+    LatticeComplex   one(grid); one = Complex(1.0,0.0);
 
     GaugeMat g(grid);
     GaugeMat dmuAmu_p(grid);
@@ -139,13 +139,13 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
     std::vector<int> coor(grid->_ndimension,0);
     for(int mu=0;mu<Nd;mu++) {
 
-      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+      Real TwoPiL =  M_PI * 2.0/ latt_size[mu];
       LatticeCoordinate(pmu,mu);
       pmu = TwoPiL * pmu ;
       psq = psq + 4.0*sin(pmu*0.5)*sin(pmu*0.5); 
     }
 
-    ComplexD psqMax(16.0);
+    Complex psqMax(16.0);
     Fp =  psqMax*one/psq;
 
     static int once;
@@ -160,20 +160,20 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
     theFFT.FFT_all_dim(dmuAmu,dmuAmu_p,FFT::backward);
 
     GaugeMat ciadmam(grid);
-    ComplexD cialpha(0.0,-alpha);
+    Complex cialpha(0.0,-alpha);
     ciadmam = dmuAmu*cialpha;
     SU<Nc>::taExp(ciadmam,g);
 
-    RealD trG = TensorRemove(sum(trace(g))).real()/vol/Nc;
+    Real trG = TensorRemove(sum(trace(g))).real()/vol/Nc;
 
     SU<Nc>::GaugeTransform(U,g);
 
     return trG;
   }
 
-  static void ExpiAlphaDmuAmu(const std::vector<GaugeMat> &A,GaugeMat &g,RealD & alpha, GaugeMat &dmuAmu) {
+  static void ExpiAlphaDmuAmu(const std::vector<GaugeMat> &A,GaugeMat &g,Real & alpha, GaugeMat &dmuAmu) {
     GridBase *grid = g._grid;
-    ComplexD cialpha(0.0,-alpha);
+    Complex cialpha(0.0,-alpha);
     GaugeMat ciadmam(grid);
     DmuAmu(A,dmuAmu);
     ciadmam = dmuAmu*cialpha;
@@ -193,11 +193,11 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
     ComplexField  pha(grid);
     GaugeMat      Apha(grid);
 
-    ComplexD ci(0.0,1.0);
+    Complex ci(0.0,1.0);
 
     for(int mu=0;mu<Nd;mu++){
 
-      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+      Real TwoPiL =  M_PI * 2.0/ latt_size[mu];
       LatticeCoordinate(pmu,mu);
       pmu = TwoPiL * pmu ;
       pha = exp(pmu *  (0.5 *ci)); // e(ipmu/2) since Amu(x+mu/2)
@@ -213,14 +213,14 @@ class FourierAcceleratedGaugeFixer  : public Gimpl {
 
     ComplexField  pmu(grid);
     ComplexField  pha(grid);
-    ComplexD ci(0.0,1.0);
+    Complex ci(0.0,1.0);
     
     // Sign convention for FFTW calls:
     // A(x)= Sum_p e^ipx A(p) / V
     // A(p)= Sum_p e^-ipx A(x)
 
     for(int mu=0;mu<Nd;mu++){
-      RealD TwoPiL =  M_PI * 2.0/ latt_size[mu];
+      Real TwoPiL =  M_PI * 2.0/ latt_size[mu];
       LatticeCoordinate(pmu,mu);
       pmu = TwoPiL * pmu ;
       pha = exp(-pmu *  (0.5 *ci)); // e(+ipmu/2) since Amu(x+mu/2)
@@ -241,7 +241,7 @@ int main (int argc, char ** argv)
   int threads = GridThread::GetThreads();
 
   std::vector<int> latt_size   = GridDefaultLatt();
-  std::vector<int> simd_layout( { vComplexD::Nsimd(),1,1,1});
+  std::vector<int> simd_layout( { vComplex::Nsimd(),1,1,1});
   std::vector<int> mpi_layout  = GridDefaultMpi();
 
   int vol = 1;
@@ -261,25 +261,25 @@ int main (int argc, char ** argv)
   std::cout<< "* Testing we can gauge fix steep descent a RGT of Unit gauge    *" <<std::endl;
   std::cout<< "*****************************************************************" <<std::endl;
 
-  LatticeGaugeFieldD   Umu(&GRID);
-  LatticeGaugeFieldD   Uorg(&GRID);
-  LatticeColourMatrixD   g(&GRID); // Gauge xform
+  LatticeGaugeField   Umu(&GRID);
+  LatticeGaugeField   Uorg(&GRID);
+  LatticeColourMatrix   g(&GRID); // Gauge xform
 
   
   SU3::ColdConfiguration(pRNG,Umu); // Unit gauge
   Uorg=Umu;
 
   SU3::RandomGaugeTransform(pRNG,Umu,g); // Unit gauge
-  RealD plaq=WilsonLoops<PeriodicGimplD>::avgPlaquette(Umu);
+  Real plaq=WilsonLoops<PeriodicGimplR>::avgPlaquette(Umu);
   std::cout << " Initial plaquette "<<plaq << std::endl;
 
 
 
-  RealD alpha=0.1;
-  FourierAcceleratedGaugeFixer<PeriodicGimplD>::SteepestDescentGaugeFix(Umu,alpha,10000,1.0e-10, 1.0e-10);
+  Real alpha=0.1;
+  FourierAcceleratedGaugeFixer<PeriodicGimplR>::SteepestDescentGaugeFix(Umu,alpha,10000,1.0e-10, 1.0e-10);
 
 
-  plaq=WilsonLoops<PeriodicGimplD>::avgPlaquette(Umu);
+  plaq=WilsonLoops<PeriodicGimplR>::avgPlaquette(Umu);
   std::cout << " Final plaquette "<<plaq << std::endl;
 
   Uorg = Uorg - Umu;

From 34cf702b24b34379ac5aa8d355fdad83fbf7b78f Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 8 Nov 2016 17:00:38 +0000
Subject: [PATCH 293/295] README is now a symlink to README.md

---
 README | 1 +
 1 file changed, 1 insertion(+)
 create mode 120000 README

diff --git a/README b/README
new file mode 120000
index 00000000..42061c01
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+README.md
\ No newline at end of file

From 9576f0903dd0c9f3c44fbedf6fe5d14bfc22d798 Mon Sep 17 00:00:00 2001
From: Antonin Portelli <antonin.portelli@me.com>
Date: Tue, 8 Nov 2016 19:07:47 +0000
Subject: [PATCH 294/295] namespace fix

---
 lib/PerfCount.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/PerfCount.h b/lib/PerfCount.h
index 9ac58883..5ab07c02 100644
--- a/lib/PerfCount.h
+++ b/lib/PerfCount.h
@@ -43,6 +43,9 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 #else
 #include <sys/syscall.h>
 #endif
+#ifdef __x86_64__
+#include <x86intrin.h>
+#endif
 
 namespace Grid {
 
@@ -86,7 +89,6 @@ inline uint64_t cyclecount(void){
    return tmp;
 }
 #elif defined __x86_64__
-#include <x86intrin.h>
 inline uint64_t cyclecount(void){ 
   return __rdtsc();
   //  unsigned int dummy;

From 33dc1f51b51a08a0b79b65276173d8c0b03fc582 Mon Sep 17 00:00:00 2001
From: paboyle <paboyle@ph.ed.ac.uk>
Date: Wed, 9 Nov 2016 04:11:03 -0800
Subject: [PATCH 295/295] Final  sign off commits from Cori-1

---
 benchmarks/Benchmark_comms.cc                | 86 ++++++++++++++++++++
 benchmarks/Benchmark_dwf.cc                  | 37 +++++----
 benchmarks/Benchmark_dwf_sweep.cc            |  4 +-
 lib/Init.cc                                  |  2 +-
 lib/Log.cc                                   |  2 +-
 lib/algorithms/iterative/ConjugateGradient.h |  2 +-
 lib/qcd/hmc/HmcRunner.h                      |  2 +-
 tests/hmc/Test_hmc_WilsonFermionGauge.cc     |  2 +-
 8 files changed, 115 insertions(+), 22 deletions(-)

diff --git a/benchmarks/Benchmark_comms.cc b/benchmarks/Benchmark_comms.cc
index de73bc81..969a2a42 100644
--- a/benchmarks/Benchmark_comms.cc
+++ b/benchmarks/Benchmark_comms.cc
@@ -193,6 +193,7 @@ int main (int argc, char ** argv)
     }
   }  
 
+
   Nloop=100;
   std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
   std::cout<<GridLogMessage << "= Benchmarking concurrent STENCIL halo exchange in "<<nmu<<" dimensions"<<std::endl;
@@ -271,5 +272,90 @@ int main (int argc, char ** argv)
       std::cout<<GridLogMessage << lat<<"\t\t"<<Ls<<"\t\t"<<bytes<<"\t\t"<<xbytes/time<<"\t\t"<<bidibytes/time<<std::endl;
     }
   }    
+
+
+
+  Nloop=100;
+  std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
+  std::cout<<GridLogMessage << "= Benchmarking sequential STENCIL halo exchange in "<<nmu<<" dimensions"<<std::endl;
+  std::cout<<GridLogMessage << "===================================================================================================="<<std::endl;
+  std::cout<<GridLogMessage << "  L  "<<"\t\t"<<" Ls  "<<"\t\t"<<"bytes"<<"\t\t"<<"MB/s uni"<<"\t\t"<<"MB/s bidi"<<std::endl;
+
+  for(int lat=4;lat<=maxlat;lat+=2){
+    for(int Ls=1;Ls<=16;Ls*=2){
+
+      std::vector<int> latt_size  ({lat*mpi_layout[0],
+      				    lat*mpi_layout[1],
+      				    lat*mpi_layout[2],
+      				    lat*mpi_layout[3]});
+
+      GridCartesian     Grid(latt_size,simd_layout,mpi_layout);
+
+      std::vector<HalfSpinColourVectorD *> xbuf(8);
+      std::vector<HalfSpinColourVectorD *> rbuf(8);
+      Grid.ShmBufferFreeAll();
+      for(int d=0;d<8;d++){
+	xbuf[d] = (HalfSpinColourVectorD *)Grid.ShmBufferMalloc(lat*lat*lat*Ls*sizeof(HalfSpinColourVectorD));
+	rbuf[d] = (HalfSpinColourVectorD *)Grid.ShmBufferMalloc(lat*lat*lat*Ls*sizeof(HalfSpinColourVectorD));
+      }
+
+      int ncomm;
+      int bytes=lat*lat*lat*Ls*sizeof(HalfSpinColourVectorD);
+
+      double start=usecond();
+      for(int i=0;i<Nloop;i++){
+
+	std::vector<CartesianCommunicator::CommsRequest_t> requests;
+
+	ncomm=0;
+	for(int mu=0;mu<4;mu++){
+	
+	  if (mpi_layout[mu]>1 ) {
+	  
+	    ncomm++;
+	    int comm_proc=1;
+	    int xmit_to_rank;
+	    int recv_from_rank;
+	    
+	    Grid.ShiftedRanks(mu,comm_proc,xmit_to_rank,recv_from_rank);
+	    Grid.StencilSendToRecvFromBegin(requests,
+					    (void *)&xbuf[mu][0],
+					    xmit_to_rank,
+					    (void *)&rbuf[mu][0],
+					    recv_from_rank,
+					    bytes);
+	    //	    Grid.StencilSendToRecvFromComplete(requests);
+	    //	    requests.resize(0);
+
+	    comm_proc = mpi_layout[mu]-1;
+	  
+	    Grid.ShiftedRanks(mu,comm_proc,xmit_to_rank,recv_from_rank);
+	    Grid.StencilSendToRecvFromBegin(requests,
+					    (void *)&xbuf[mu+4][0],
+					    xmit_to_rank,
+					    (void *)&rbuf[mu+4][0],
+					    recv_from_rank,
+					    bytes);
+	    Grid.StencilSendToRecvFromComplete(requests);
+	    requests.resize(0);
+	  
+	  }
+	}
+	Grid.Barrier();
+
+      }
+      double stop=usecond();
+
+      double dbytes    = bytes;
+      double xbytes    = Nloop*dbytes*2.0*ncomm;
+      double rbytes    = xbytes;
+      double bidibytes = xbytes+rbytes;
+
+      double time = stop-start; // microseconds
+
+      std::cout<<GridLogMessage << lat<<"\t\t"<<Ls<<"\t\t"<<bytes<<"\t\t"<<xbytes/time<<"\t\t"<<bidibytes/time<<std::endl;
+    }
+  }    
+
   Grid_finalize();
 }
diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc
index 5d42a1f9..10e4521b 100644
--- a/benchmarks/Benchmark_dwf.cc
+++ b/benchmarks/Benchmark_dwf.cc
@@ -57,7 +57,7 @@ int main (int argc, char ** argv)
   std::cout<<GridLogMessage << "Grid is setup to use "<<threads<<" threads"<<std::endl;
 
   std::vector<int> latt4 = GridDefaultLatt();
-  const int Ls=16;
+  const int Ls=8;
   GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
   GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
   GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
@@ -138,7 +138,7 @@ int main (int argc, char ** argv)
 
   int ncall =100;
   if (1) {
-
+    FGrid->Barrier();
     Dw.ZeroCounters();
     double t0=usecond();
     for(int i=0;i<ncall;i++){
@@ -147,6 +147,7 @@ int main (int argc, char ** argv)
       __SSC_STOP;
     }
     double t1=usecond();
+    FGrid->Barrier();
     
     double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
     double flops=1344*volume*ncall;
@@ -158,7 +159,7 @@ int main (int argc, char ** argv)
     std::cout<<GridLogMessage << "mflop/s per rank =  "<< flops/(t1-t0)/NP<<std::endl;
     err = ref-result; 
     std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<<std::endl;
-    assert (norm2(err)< 1.0e-5 );
+    assert (norm2(err)< 1.0e-4 );
     Dw.Report();
   }
 
@@ -193,6 +194,7 @@ int main (int argc, char ** argv)
       pokeSite(tmp,ssrc,site);
     }}}}}
     std::cout<<GridLogMessage<< "src norms "<< norm2(src)<<" " <<norm2(ssrc)<<std::endl;
+    FGrid->Barrier();
     double t0=usecond();
     sDw.ZeroCounters();
     for(int i=0;i<ncall;i++){
@@ -201,6 +203,7 @@ int main (int argc, char ** argv)
       __SSC_STOP;
     }
     double t1=usecond();
+    FGrid->Barrier();
     double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
     double flops=1344*volume*ncall;
 
@@ -211,12 +214,12 @@ int main (int argc, char ** argv)
   
     if(0){
       for(int i=0;i< PerformanceCounter::NumTypes(); i++ ){
-  sDw.Dhop(ssrc,sresult,0);
-  PerformanceCounter Counter(i);
-  Counter.Start();
-  sDw.Dhop(ssrc,sresult,0);
-  Counter.Stop();
-  Counter.Report();
+	sDw.Dhop(ssrc,sresult,0);
+	PerformanceCounter Counter(i);
+	Counter.Start();
+	sDw.Dhop(ssrc,sresult,0);
+	Counter.Stop();
+	Counter.Report();
       }
     }
 
@@ -240,7 +243,7 @@ int main (int argc, char ** argv)
       }
     }}}}}
     std::cout<<GridLogMessage<<" difference between normal and simd is "<<sum<<std::endl;
-    assert (sum< 1.0e-5 );
+    assert (sum< 1.0e-4 );
 
 
     if (1) {
@@ -271,6 +274,7 @@ int main (int argc, char ** argv)
       if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptInlineAsm ) std::cout << GridLogMessage<< "* Using Asm Nc=3   WilsonKernels" <<std::endl;
       std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
 
+      FGrid->Barrier();
       sDw.ZeroCounters();
       sDw.stat.init("DhopEO");
       double t0=usecond();
@@ -278,6 +282,7 @@ int main (int argc, char ** argv)
         sDw.DhopEO(ssrc_o, sr_e, DaggerNo);
       }
       double t1=usecond();
+      FGrid->Barrier();
       sDw.stat.print();
 
       double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
@@ -301,7 +306,7 @@ int main (int argc, char ** argv)
 
       error+= norm2(ssrc_o);
       std::cout<<GridLogMessage << "sO norm diff   "<< norm2(ssrc_o)<< "  vec nrm"<<norm2(sr_o) <<std::endl;
-      if(error>1.0e-5) { 
+      if(error>1.0e-4) { 
 	setCheckerboard(ssrc,ssrc_o);
 	setCheckerboard(ssrc,ssrc_e);
 	std::cout<< ssrc << std::endl;
@@ -337,7 +342,7 @@ int main (int argc, char ** argv)
   std::cout<<GridLogMessage << "norm ref    "<< norm2(ref)<<std::endl;
   err = ref-result; 
   std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<<std::endl;
-  assert(norm2(err)<1.0e-5);
+  assert(norm2(err)<1.0e-4);
   LatticeFermion src_e (FrbGrid);
   LatticeFermion src_o (FrbGrid);
   LatticeFermion r_e   (FrbGrid);
@@ -363,11 +368,13 @@ int main (int argc, char ** argv)
   std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
   {
     Dw.ZeroCounters();
+    FGrid->Barrier();
     double t0=usecond();
     for(int i=0;i<ncall;i++){
       Dw.DhopEO(src_o,r_e,DaggerNo);
     }
     double t1=usecond();
+    FGrid->Barrier();
     
     double volume=Ls;  for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
     double flops=(1344.0*volume*ncall)/2;
@@ -389,14 +396,14 @@ int main (int argc, char ** argv)
 
   err = r_eo-result; 
   std::cout<<GridLogMessage << "norm diff   "<< norm2(err)<<std::endl;
-  assert(norm2(err)<1.0e-5);
+  assert(norm2(err)<1.0e-4);
 
   pickCheckerboard(Even,src_e,err);
   pickCheckerboard(Odd,src_o,err);
   std::cout<<GridLogMessage << "norm diff even  "<< norm2(src_e)<<std::endl;
   std::cout<<GridLogMessage << "norm diff odd   "<< norm2(src_o)<<std::endl;
-  assert(norm2(src_e)<1.0e-5);
-  assert(norm2(src_o)<1.0e-5);
+  assert(norm2(src_e)<1.0e-4);
+  assert(norm2(src_o)<1.0e-4);
 
   Grid_finalize();
 }
diff --git a/benchmarks/Benchmark_dwf_sweep.cc b/benchmarks/Benchmark_dwf_sweep.cc
index a3803b87..21db823d 100644
--- a/benchmarks/Benchmark_dwf_sweep.cc
+++ b/benchmarks/Benchmark_dwf_sweep.cc
@@ -69,8 +69,8 @@ int main (int argc, char ** argv)
   std::cout<<GridLogMessage << "Volume \t\t\tProcs \t Dw \t eoDw \t sDw \t eosDw (Mflop/s)  "<<std::endl;
   std::cout<<GridLogMessage << "=========================================================================="<<std::endl;
 
-  int Lmax=32;
-  int dmin=0;
+  int Lmax=16;
+  int dmin=2;
   if ( getenv("LMAX") ) Lmax=atoi(getenv("LMAX"));
   if ( getenv("DMIN") ) dmin=atoi(getenv("DMIN"));
   for (int L=8;L<=Lmax;L*=2){
diff --git a/lib/Init.cc b/lib/Init.cc
index b5ef0a95..d6d6b9f8 100644
--- a/lib/Init.cc
+++ b/lib/Init.cc
@@ -369,7 +369,7 @@ void Grid_init(int *argc,char ***argv)
   
 void Grid_finalize(void)
 {
-#if defined (GRID_COMMS_MPI) || defined (GRID_COMMS_MPI3)
+#if defined (GRID_COMMS_MPI) || defined (GRID_COMMS_MPI3) 
   MPI_Finalize();
   Grid_unquiesce_nodes();
 #endif
diff --git a/lib/Log.cc b/lib/Log.cc
index 733bfc58..7521657b 100644
--- a/lib/Log.cc
+++ b/lib/Log.cc
@@ -93,7 +93,7 @@ void GridLogConfigure(std::vector<std::string> &logstreams) {
 ////////////////////////////////////////////////////////////
 void Grid_quiesce_nodes(void) {
   int me = 0;
-#if defined(GRID_COMMS_MPI) || defined(GRID_COMMS_MPI3)
+#if defined(GRID_COMMS_MPI) || defined(GRID_COMMS_MPI3) || defined(GRID_COMMS_MPI3L)
   MPI_Comm_rank(MPI_COMM_WORLD, &me);
 #endif
 #ifdef GRID_COMMS_SHMEM
diff --git a/lib/algorithms/iterative/ConjugateGradient.h b/lib/algorithms/iterative/ConjugateGradient.h
index f340eb38..cf3872c8 100644
--- a/lib/algorithms/iterative/ConjugateGradient.h
+++ b/lib/algorithms/iterative/ConjugateGradient.h
@@ -154,7 +154,7 @@ class ConjugateGradient : public OperatorFunction<Field> {
                   << LinalgTimer.Elapsed();
         std::cout << std::endl;
 
-        if (ErrorOnNoConverge) assert(true_residual / Tolerance < 1000.0);
+        if (ErrorOnNoConverge) assert(true_residual / Tolerance < 10000.0);
 
         return;
       }
diff --git a/lib/qcd/hmc/HmcRunner.h b/lib/qcd/hmc/HmcRunner.h
index a31ba784..53b127cf 100644
--- a/lib/qcd/hmc/HmcRunner.h
+++ b/lib/qcd/hmc/HmcRunner.h
@@ -116,7 +116,7 @@ class NerscHmcRunnerTemplate {
     NoSmearing<Gimpl> SmearingPolicy;
     typedef MinimumNorm2<GaugeField, NoSmearing<Gimpl>, RepresentationsPolicy >
         IntegratorType;  // change here to change the algorithm
-    IntegratorParameters MDpar(20, 1.0);
+    IntegratorParameters MDpar(40, 1.0);
     IntegratorType MDynamics(UGrid, MDpar, TheAction, SmearingPolicy);
 
     // Checkpoint strategy
diff --git a/tests/hmc/Test_hmc_WilsonFermionGauge.cc b/tests/hmc/Test_hmc_WilsonFermionGauge.cc
index 9dcf6343..351d1e68 100644
--- a/tests/hmc/Test_hmc_WilsonFermionGauge.cc
+++ b/tests/hmc/Test_hmc_WilsonFermionGauge.cc
@@ -68,7 +68,7 @@ class HmcRunner : public NerscHmcRunner {
     TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
 
     // Set smearing (true/false), default: false
-    Nf2.is_smeared = true;
+    Nf2.is_smeared = false;
 
     // Collect actions
     ActionLevel<LatticeGaugeField> Level1(1);